< Free Open Study > |
Analysis and Design and the SEI CMMQuality software project management is based upon three interlaced bodies of knowledge: the Project Management Institute's Body of Knowledge (PMBOK), IEEE standards and processes, and the SEI capability maturity model. Discussions of the CMM are threaded throughout the book, particularly in Chapter 4, "Selecting Software Development Life Cycles," and in Chapter 26, "Continuous Process Improvement." Software project managers are strongly urged to operate at maturity Level 2, the repeatable level, at a minimum. As an organization moves up the maturity ladder, visibility into the software process improves with each level, as does the improvement of control, predictability, and effectiveness. Level 3, the defined level, should be a goal for all software-producing organizations currently operating below it. At Level 3, integrated management and engineering processes are used across the organization. A key process area within Level 3 is software product engineering (SPE). This KPA involves performing the engineering tasks to build (and maintain) the software using the project's defined software process and appropriate methods and tools�those methods may be based on SA/SD or OOA/OOD. According to Paulk, goals of SEI CMM KPA SPE are these:
Activities performed include:
The software architecture establishes the top-level software framework with well-defined internal and external interfaces. In this chapter, we present the specific methods of functional decomposition (data flow diagrams, control flow diagrams), object-oriented decomposition (classes, objects, interaction diagrams, activity diagrams), and scenario generation (use cases). We also present structural methods (structure charts, Chapin charts), object-oriented design (classes, objects, interaction diagrams, activity diagrams, use cases), and essential systems analysis. The "bottom line" is that the PM who follows the suggestions in this chapter will satisfy the requirement for KPA software product engineering at SEI CMM Level 3. Chapter 16, "Eliciting Requirements," presented high-level generic templates for data modeling in the form of entity relationship diagrams (ERDs), process modeling in the form of data flow diagrams (DFDs and use cases), and process/data modeling (object models). These representations of software requirements are useful during interviewing, brainstorming, and JAD sessions as communication devices. They are not detailed enough, however, to serve as the blueprint for coding and implementation. There are more steps in the development-by-stepwise-refinement process to get the models to that state. The analogy of home construction is frequently used. High-level analysis models are analogous to the drawings that an architect shows to the homeowner�the "look and feel" of the structure. Should there be two bedrooms or three? Should there be one bath or two? Should the garage appear at the front or rear of the home? Lower-level analysis and design models, while available to the homeowners, are not nearly as interesting to them�these documents show where the electrical circuitry and plumbing are to be placed, analogous to the contractors working with a blueprint. In this analogy, software analysis and design transition the product from "architectural renderings" to the final, detailed electrical, structural, and mechanical blueprints. |
< Free Open Study > |
No comments:
Post a Comment