Google
 

 

up previous next contents
Up: 1. Day 1: Object-Oriented Previous: 1.4 UML summary Next: 1.6 The Rational Unified   Contents

Subsections

1.5 Object Oriented Software Development

  • Larger processes/methodologies:
    • Rational Unified Process (RUP)
    • Object-Oriented Software Process (OOSP)
    • OPEN Process
  • Lightweight/agile processes:
    • XP (Extreme Programming)
    • Cockburn's Crystal Family
    • Open Source
    • Highsmith's Adaptive Software Development
    • Scrum
    • Coad's Feature Driven Development
    • DSDM (Dynamic System Development Method)

Larger/heavier processes are typically built around the Unified Modeling Language, or UML.

1.5.1 Why have a process?

  • Create a product that users want.
  • Make the process manageable and predictable.
  • Capability Maturity Model (CMM) from the Carnegie-Mellon University Software Engineering Institute defines five levels of "maturity".
  • Traditional development process: Waterfall (Analysis, Design, Code, Test).
  • Spiral process (Risk Analysis/Systems Analysis/User Feedback, Design, Code, Test/User Feedback).
  • Objectory - defines the four project phases of Inception, Elaboration, Construction, Transition.
    • Completion of each Objectory phase marks a major milestione.
    • Objectory uses iteration to make complex projects possible.
  • The process defines ways to make iterative projects manageable.
  • Model the system before developing it (in the same way an architect models a new facility before building it).

Figure 1.8: Steps of the Capability Maturity Model.
Image cmm