Presentation is loading. Please wait.

Presentation is loading. Please wait.

PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.

Similar presentations


Presentation on theme: "PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools."— Presentation transcript:

1

2 PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools A road map that helps you create a timely, high-quality result. Provide technical how-to’s for building software. Computer-Aided Software Engineering

3 PART ONE – The Process The 3 generic phases of software engineering: Definition Development Support What ?  info to be processed  function and performance  system behavior  interfaces  design constrains  validation criteria How ?  data structure  function and procedure implementation  interfaces  design translation and testing Change ( also called maintenance )  corrective maintenance: correct defects  adaptive maintenance: accommodate changes to its external environment  perfective maintenance: extend the software beyond its original functional requirements  preventive maintenance (software reengineering): make the software being more easily corrected, adapted, and enhanced

4 PART ONE – The Process Common process framework Umbrella Activities  Project tracking & control  Formal technical reviews  Quality assurance  Configuration management  Documentation  Reusability management  Measurement  Risk management Framework Activities work tasks work products milestones & deliverables QA checkpoints Framework Activities work tasks work products milestones & deliverables QA checkpoints

5 PART ONE – The Process The Capability Maturity Model (CMM) —— by Software Engineering Institute (SEI) of Carnegie Mellon University (CMU) Level 1 Initial Level 2 Repeatable Level 5 Optimizing Level 4 Managed Level 3 Defined Ad hoc and chaotic  Configuration management  Quality assurance  Subcontract management  Project tracking & oversight  Project planning  Requirements management  Peer reviews  Intergroup coordination  Product engineering  Integrated software management  Training program  Organization process definition  Organization process focus  Quality management  Quantitative process management  Process change management  Technology change management  Defect prevention Key Process Area KPA Description  Goals  Commitments  Abilities  Activities  Methods for monitoring implementation  Methods for verifying implementation 能力成熟度模型 (CMM): 软件过程改进指南 The Capability Maturity Model Guidelines for Improving the Software Process SEI of CMU 编著 刘孟仁 等译 电子工业出版社 ( 2001 )

6 PART ONE – The Process  Software Process Models status quo problem definition technical development solution integration A problem solving loop

7 PART ONE – The Process Waterfall Model Definition Feasibility Study Requirements Analysis System Design Program Design Coding & Module Testing Integration & System Testing Definition Development Delivery & Maintenance Support  Real projects rarely follow the sequential flow.  Customers usually can’t state all requirements explicitly.  A working version will not be available until late in the project time- span. System Lifecycle

8 PART ONE – The Process Prototyping Model listen to customer build/revise mock-up customer test-drives mock-up The prototype must be thrown away.

9 PART ONE – The Process Rapid Application Development Model Reuse  Require sufficient human resources.  If a system cannot be properly modularized, RAD may not work.  RAD is not appropriate when technical risks are high.  Require commitment to the rapid-fire activities from both developers and customers.

10 PART ONE – The Process Incremental Model calendar time analysis designcodetest System/information engineering increment 1 delivery of 1st increment Core product analysis designcodetest increment 2 delivery of 2nd increment More features and functionality analysis designcodetest analysis designcodetest increment 3 increment 4 delivery of 3rd increment delivery of 4th increment  Makes a better use of resources.

11 PART ONE – The Process Spiral Model Review Commitment Partition Risk analy- sis Prototype 1 Simulations, models, benchmarks Requirements plan, life-cycle plan Concept of operation Prototype 2 Risk analysis Software requirements Requirements validation Develop- ment plan Risk analysis Prototype 3 Software product design Design validation and verification Integration and test plan Risk analysis Operational prototype Detailed design Unit test Code Integration and test Acceptance test Implementation Plan next phases Develop, verify next-level product Determine objectives, alternatives, constrains Evaluate alternatives, identify, resolve risks Cumulative cost Progress through steps Not yet widely used.

12 PART ONE – The Process  Concurrent development model — especially good for client/server applications; defines a network of activities instead of linear sequence of events. Still Other Process Models  Component-based model — the process to apply when reuse is a development objective.  Formal methods and clean-room software engineering — the process to apply when a formal mathematical specification is to be developed. Good at detecting ambiguity, incompleteness, and inconsistency. Unified Modeling Language  Fourth Generation Techniques (4GT) — automatically generate source code based on high-level specifications. May become the dominant approach when coupled with component-based development.


Download ppt "PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools."

Similar presentations


Ads by Google