Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.

Similar presentations


Presentation on theme: "1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure."— Presentation transcript:

1 1 Chapter 2 The Process

2 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure it be done right?

3 3 Process  Definition It’s a set of ordered tasks involving activities, constraints, and resources that produce an intended output of some kind.

4 4 Software & Engineering  Software  Software is a set of items or objects that form a “configuration” that includes programs documents data...  Engineering is the analysis, design, construction, verification, and management of technical entities.

5 5 Software Engineering   Software engineering is the technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost constraints.   Software engineering is a discipline that integrates process, methods, and tools for the development of computer software.

6 6 Software Engineering Layers a “quality” focus process model methods tools

7 7 Software Engineering Phases  Definition Phase – What  Development Phase – How  Support / Maintenance Phase – Change Correction Correction Adaptation Adaptation Enhancement Enhancement Prevention Prevention

8 8 Process

9 9Process  Characteristics Prescribes all major process activities Prescribes all major process activities Uses resources with constraints Uses resources with constraints Produces intermediate and final products Produces intermediate and final products May be composed of subprocesses May be composed of subprocesses Has entry and exit criteria Has entry and exit criteria Are organized in a sequence Are organized in a sequence Has a set of guiding principles to Has a set of guiding principles to explain process goals explain process goals

10 10  Software Development Stages  Requirements analysis and definition  System design  Program design  Writing the program  Unit testing  Integration testing  System testing  System delivery  Maintenance Process

11 11 A Common Process Framework Framework Activities Task set Task set tasks tasks milestones & deliverables milestones & deliverables QA checkpoints QA checkpoints Umbrella Activities

12 12 Umbrella Activities  Software project management  Formal technical reviews  Software quality assurance  Software configuration management  Document preparation and production  Reusability management  Measurement  Risk management

13 13 Process Maturity  SEI establishes five process maturity levels.  CMM defines key activities required at different levels of process maturity.  KPA establish the context in which technical methods are applied, work products are produced, milestones are established, quality is ensured, and change is properly managed.

14 14 Process Maturity Levels  Level 1: Initial  Level 2: Repeatable  Level 3: Defined  Level 4: Managed  Level 5: Optimizing

15 15 Key Process Areas (KPA)  KPAs form the basis for management control of software projects.  Each KPA is described by the following characteristics:  Goals  Commitments  Abilities  Activities  Methods for monitoring implementation implementation  Methods for verifying implementation implementation

16 16 Capability Maturity Model (CMM) Process maturity level 2 (repeatable) Process maturity level 2 (repeatable)  Software configuration management  Software quality assurance  Software subcontract management  Software project tracking and oversight  Software project planning  Requirements management  Requirements management

17 17 Process maturity level 3 (defined)  Peer reviews  Intergroup coordination  Software product engineering  Integrated software management  Training program  Organization process definition  Organization process management

18 18 Process maturity level 4 (managed)  Software quality management  Quantitative process management Process maturity level 5 (optimizing)  Process change management  Technology change management  Defect prevention

19 19 The Process Model  Process Model / Software Engineering Paradigm is a development strategy that encompasses the process, methods, and tools.

20 20 The Process Model (continued)  Reasons for modeling a process:  Understand the activities, resources, and constraints involved in software development  Help the development team to find inconsistencies, redundancies, and omissions in the process.  Help the development team to Evaluate candidate activities for appropriateness in addressing these goals.  …

21 21 Process as Problem Solving

22 22 Process as Problem Solving

23 23 The Linear Model analysis designcode test System/information engineering support

24 24 The Linear Model (cont.) Problems: Real projects rarely follow the sequential flow that the model proposes. It is often difficult for the customer to state all requirements explicitly. The customer must have patience.

25 25 The Model The Prototyping Model

26 26 Models (RAD) Rapid Application Development Models (RAD)

27 27 Evolutionary Software Process Model  The Incremental Model  The Spiral Model  The Concurrent Development Model

28 28 The Incremental Model

29 29 Incremental & Iterative Development Models

30 30 A Spiral Model Customer Communication Planning Construction & Release Customer Evaluation Engineering Risk Analysis Concept development projects New product development projects Product enhancement projects Product maintenance projects Project entry point axis

31 31 Concurrent Process Model

32 32 Component Assembly Model

33 33 The Formal Methods Model Formal methods — the process to apply when a mathematical specification is to be developed.

34 34 Fourth Generation Technique (4GT)  It encompasses a broad array of software tools which automatically generate source code based on the developer’s specification.  It focuses on the ability to specify software using specialized language forms or a graphic notation.  The use of 4GT is a viable approach for many different application areas.  For small or intermediate applications, greatly reduce the coding time.  For large software development, it demands as much or more analysis, design, and testing.


Download ppt "1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure."

Similar presentations


Ads by Google