Team Projects for CSCI 577a:Software Engineering I

Fall 2000

(to be updated)

Project Objectives

Create the artifacts necessary to establish a successful life cycle architecture and plan for adding a multimedia access capability to the USC or CSE Library Information System. These artifacts are:
  1. An Operational Concept Definition
  2. A Prototype of Key System Features
  3. A System Requirements Definition
  4. A System and Software Architecture Definition
  5. A Life Cycle Plan
  6. A Feasibility Rationale, assuring the consistency and feasibility of items 1-5

Team Structure

Each of the five team members will be responsible for developing the LCO and LCA versions of one of the six project artifacts, with one exception: the Ops Concept and Requirements authors will also share authorship of the Life Cycle Plan. In addition, the team member responsible for the Feasibility Rationale will serve as Project Manager with the following primary responsibilities:
  1. Ensuring consistency among the team members’ artifacts (and documenting this in the Rationale).
  2. Leading the team’s development of plans for achieving the project results, and ensuring that project performance tracks the plans.

Project Approach

Each team will develop the project artifacts concurrently, using the WinWin Spiral approach defined in the paper "Anchoring the Software Process" in the course notes. There will be two critical project milestones: the Life Cycle Objectives (LCO) and Life Cycle Architecture (LCA) milestones summarized in Table 1.

The LCA package should be sufficiently complete to support development of an Initial Operational Capability (IOC) version of the planned multimedia access capability by a CSCI 577b student team during the Spring 2001 semester. The Life Cycle Plan should establish the appropriate size and structure of such a team.

WinWin User Negotiations

Each team will work with a representative of a community of potential users of the multimedia capability (art, cinema, engineering, business, etc.) to determine that community’s most significant multimedia access needs, and to reconcile these needs with a feasible implementation architecture and plan.

Table 1. Elements of Critical Front End Milestones
 
Milestone
Element
Life Cycle Objectives (LCO) Life Cycle Architecture (LCA)
Definition of Operational Concept
  • Top-level system objectives and scope
    • System boundary
    • Environment parameters and assumptions
    • Evolution parameters
  • Operational concept
  • Operations and maintenance scenarios and parameters
  • Organizational life-cycle responsibilities (stakeholders)
  • Elaboration of system objectives and scope by increment 
  • Elaboration of operational concept by increment
System Prototype(s)
  • Exercise key usage scenarios 
  • Resolve critical risks
  • Exercise range of usage scenarios 
  • Resolve major outstanding risks
Definition of System Requirements
  • Top-level functions, interfaces, quality attribute levels, including:
    • Growth vectors
    • Priorities
  • Stakeholders’ concurrence on essentials
  • Elaboration of functions, interfaces, quality attributes by increment 
  • Identification of TBDs (to-be-determined items) 
  • Stakeholders’ concurrence on their priority concerns
Definition of System and Software Architecture
  • Top-level definition of at least one feasible architecture 
    • Physical and logical elements and relationships
    • Choices of COTS and reusable software elements
  • Identification of infeasible architecture options
  • Choice of architecture and elaboration by increment 
    • Physical and logical components, connectors, configurations, constraints 
    • COTS, reuse choices 
    • Domain-architecture and architectural style choices 
    • Architecture evolution parameters
Definition of Life-Cycle Plan
  • Identification of life-cycle stakeholders
    • Users, customers, developers, maintainers, interfacers, general public, others
  • Identification of life-cycle process model
    • Top-level stages, increments
    • Top-level WWWWWHH* by stage
• Elaboration of WWWWWHH* for Initial Operational Capability (IOC) 

-Partial elaboration, identification of key TBDs for later increments 

 

Feasibility Rationale

 

  • Assurance of consistency among elements above 
  • Via analysis, measurement, prototyping, simulation, etc. 
  • Business case analysis for requirements, feasible architectures
    • Assurance of consistency among elements above 
    • All major risks resolved or covered by risk management plan
    * WWWWWHH: Why, What, When, Who, Where, How, How Much

    The teams will accomplish this reconciliation by using the USC WinWin groupware support system for requirements negotiation. This system provides facilities for stakeholders to express their Win Conditions for the system; to define Issues dealing with conflicts among Win Conditions; to support Options for resolving the Issues; and to consummate Agreements to adopt mutually satisfactory (win-win) Options.

    There will be three stakeholder roles:

    Major Milestones

    September 11 All teams formed
    September 29  Prototype
    September 29 WinWin Negotiation Results
    October 20 LCO Drafts on Web Site
    October 30- November 03  LCO Package Architecture Review Boards
    November 06 LCO Package Due
    November 29 LCA Drafts on Web Site
    December  04-08 LCA Package Architecture Review Boards
    December 11 LCA Package Due
    December 13 Individual Critiques Due

    Individual Project Critique

    The project critique is to be done by each individual student. It should be about 4-6 pages, and should answer the question, "If we were to do the project over again, how would we do it better – and how does that relate to the software engineering principles in the course?"

    Additional Guidelines