CSC 402: Software Engineering I

CSC 402: Software Engineering I


Instructor

Gene Fisher (gfisher@calpoly.edu)
Office: 14-210, 756-2416
Office Hours: MWF 12-1PM, Tu 9-11AM; other times by appointment, and whenever you can grab me

Course Objectives

Course Materials

Course materials consist of the following:

The online material is located in the master class account at www.csc.calpoly.edu/~gfisher/classes/402. The 308 material is at www.csc.calpoly.edu/~gfisher/classes/308

All enrolled students should already have accounts on the required machines. If you do not, we will fix this during the first week of class. Course directories are organized as follows:

Activities

In parallel with CSC 308, we will be working on the initial phases of the software process. You should read through the 308 syllabus to see the details of the project from their perspective.

In 402, you will be working on the production version of the same project. You will use as much of the 308 work as "makes the cut". As necessary, you will rework the 308 material.

The Role of 308 Project Teams

You will view the 308 student teams as Independent apprentice-level subcontractors. You are not the line managers of the 308 teams. As described in the project overview, the coordination will work as follows.

Each 308 team will work on its own version of the project, particular to the needs of a selected group of campus clients. The job of the 402 students will be to coordinate with the 308 teams, and conduct many other project-related tasks. As the quarter progresses, the 402 students will evaluate the work of the 308 students, and perform the following tasks:

Balancing Acts

Unknowns

Proposed Project Org Chart

Executive Project Supervisor: Fisher

  Technical Staff:
    Requirements Engineers:
      Instructor DB: fill in name here
      Course DB: fill in name here
      Room DB: fill in name here
      Prefs DB: fill in name here
      Algorithm and Editing: fill in name here
      Views: fill in name(s) here
      Campus interface and archiving: fill in name here

    Prototypes:
      Instructor DB: fill in name here
      Course DB: fill in name here
      Room DB: fill in name here
      Prefs DB: fill in name here
      Algorithm and Editing: fill in name here
      Views: fill in name(s) here
      Campus interface and archiving: fill in name here

    Modelers:
      Add exceptions list

    Infrastructure Specialists:
      SVN repository manager: fill in name here
      Public website and wiki manager: fill in name here
      Maintenance planner: fill in name here
      Marketing: fill in name here
      Aesthetics/egonomics specialist: fill in name here
      annoyingsoftware.org: fill in name here

    Apprentice-Level Independent Subcontractors (aka, 308 students):
      Team 1: fill in names here ...
      Team 2: fill in names here ...
      Team 3: fill in names here ...
      Team 4: fill in names here ...
      Team 5: fill in names here ...

  Administrative Staff:
    Project manager: fill in name here
    Product manager:  fill in name here
    Requirements lead: fill in name here
    Prototyping lead: fill in name here
    Modeling lead: fill in name here
    308 Team Coordinators:
      Team 1: fill in name here
      Team 2: fill in name here
      Team 3: fill in name here
      Team 4: fill in name here
      Team 5: fill in name here

  Clients:
    College X:
      Department Y:
        fill in names here ...

  Other Interested Parties:
    Campus Registrar's Office:
      Susan Olivas
        fill in further names here ...

Proposed Project Timeline

Week Team Activity
1 Rqmts Initial Interviews Scheduled as much as Possible
Proto Begin work on Eric's current system
Infra SVN repo set up and checked out by all; wiki tools reviewed
2 Rqmts Conduct interviews, begin scenarios
Proto Determine deployment mechanisms
Infra Wiki operational, tested by teams
3 Rqmts Pre-release to teams, Phase 1
Proto Pre-release to teams, Phase 1
Infra Wiki in full use by teams; plans for usability lab infrastructure
4 Rqmts Release to clients, Phase 1 (Friday)
Proto Release to teams for internal review, Phase 1 (Friday)
Infra Wiki in use by clients; usability lab pilot use by students
5 Rqmts Prioritization based on client feedback
Proto Prioritization based on client feedback
Infra Draft 1 of maintenance and marketing plans
Model Begin work
6 Rqmts Continued work
Proto Continued work
Infra Continued work; annoyingsoftware.org pre-release to teams
Model Core model 50%
7 Rqmts Release to clients, Phase 2 (Friday)
Proto Release to clients, Phase 2 (Friday)
Infra annoyingsoftware.org release to public; usability lab use by clients
Model Core model 75%; begin formal specs
8 Rqmts 60% complete
Proto 60% complete
Infra Initial data analysis of annoyingsoftware.org
Model Core model 100%; formal specs 30%
9 Rqmts 70% complete
Proto 70% complete
Infra 2nd draft marketing and maint plans; continued work as necessary
Model Formal specs 50%
10 Rqmts 80% complete
Proto 80% complete
Infra Continued work as necessary
Model Formal specs 70%
11 Rqmts Release to clients, Phase 3 (Monday)
Proto Release to clients, Phase 3 (Monday)
Infra Usability testing with students and clients (all week)
Model Formal specs 90%
F Rqmts 100% complete
Proto 100% of as much prototyping as we choose to do
Infra Final draft of maint plan, market plan, annoying white paper
Model Formal specs 100% (of features considered core)