Software Engineering Education

Over our three years of developing digital library products for the USC Libraries, we have been evolving an approach called Model-Based (System) Architecting and Software Engineering (MBASE). MBASE involves early reconciliation of a project's success models, product models, process models, and property models. It extends the previous spiral model in two ways:

  • Initiating each spiral cycle with a stakeholder win-win stage to determine a mutually satisfactory (win-win) set of objectives, constraints, and alternatives for the system's next elaboration during the cycle.
  • Orienting the spiral cycles to synchronize with a set of life cycle anchor points: Life Cycle Objectives (LCO), Life Cycle Architecture (LCA), and Initial Operational Capability (IOC).

The MBASE guidelines present the content and the completion criteria for the LCO and LCA milestones (which correspond to the Inception and Elaboration Phases of the Rational Unified Process) of the following system definition elements:

  • Operational Concept Description (OCD)
  • System and Software Requirements Definition (SSRD)
  • System and Software Architecture Description (SSAD)
  • Life Cycle Plan (LCP)
  • Feasibility Rationale Description (FRD)
  • Risk-driven prototypes

The guidelines also include a suggested domain taxonomy to be used as a checklist and organizing structure for the WinWin requirements negotiation. The guidelines attempt to achieve high conceptual integrity, little redundancy, and strong traceability across the various system definition elements, and are compatible with the Unified Modeling Language (UML). These guidelines were used by 20 teams of 5-6 person teams of computer science graduate students during Fall 1998, and were revised following the LCO Architecture Review Boards. Another revision is anticipated after the rebaselining of the LCA packages during Spring 99.

Relevant Publications