Chapter 4 프로세스 모델 Process Models

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

CS487 Software Engineering Omar Aldawud
Chapter 3 Process Models
Chapter 2 Software Process Models
SE382 Software Engineering Lecture 04 Process Models (1)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering Process
Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
April 30, April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
Chapter 2 Process Models
Software Life Cycles ECE 417/617: Elements of Software Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Process: A Generic View
CSEB233: Fundamentals of Software Engineering
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
Chapter 2 The process Process, Methods, and Tools
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Prescriptive Process Models
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Chapter 4 Process Models Chapter 4 Process Models Moonzoo Kim KAIST 1.
Process: A Generic View
SWE311_Ch03 (071) Software & Software Engineering Slide 1 Chapter 3 Prescriptive Process Models.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering If prescriptive process models strive for structure.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 3 Prescriptive Process Models Discussion of the Software Process models:
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Model Process
Software Engineering CE 501 Prepared by : Jay Dave.
Software Process Models The slides and the material of this chapter is adopted from: 1. “Software Engineering”, by I. Somerville, 7th Ed., “Software.
Chapter 4 & Chapter 5 Important Concepts
Chapter 4 Process Models: Prescriptive Models vs
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
SNS College of Engineering Coimbatore
Process Models.
Software Processes (a)
Software Process Models
Software Life Cycle Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Prescriptive Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Chapter 2 – Software Processes
Process Models Coming up: Prescriptive Models.
Chapter 2 Process Models
Chapter 2 Process Models
Software Process Models
Chapter 2 Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Chapter 2 Process Models.
Chapter 4 Process Models
Chapter 2 Process Models
SNS College of Engineering Coimbatore
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Evolutionary Software Process Models
Chapter 2 Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Advanced Software Engineering Ch. 2 – SE as Engineering Science
Presentation transcript:

Chapter 4 프로세스 모델 Process Models 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book “Software Engineering: A Practitioner’s Approach, 8/e”

Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions … If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change? Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work?

The Waterfall Model

The Waterfall Model Challenges of the waterfall model Blocking states Real projects rarely follow the sequential flow Difficult to accommodate the uncertainty in requirements A working version of SW will not be available until late in the project time span Blocking states Some members must wait for other members of the team to complete dependent tasks Advantage Useful if requirements are fixed and work is to proceed to completion in a linear manner

The V-Model Describes the relationship of quality assurance actions to the actions associated with communication, modeling, and early construction activities

The Incremental Model

Example using the Incremental Model Word-processing software Develop the basic file management, editing, and document production functions in the first increment More sophisticated editing and document production capabilities in the second increment Spelling and grammar checking in the third increment

Evolutionary Models: Prototyping Evolutionary models are iterative communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback Construction of prototype

Evolutionary Models: Prototyping A prototyping paradigm is the best-fit for the following situations A customer does not identify detailed requirements for functions and features Developers are unsure of the efficiency of an algorithm, the adaptability of an operating systems, or the form of human-machine interaction, etc.

Evolutionary Models: Prototyping Advantages Prototyping paradigm helps SW engineers and other stakeholders to better understand what is to be built The quick design and implementation focuses on a representation of those aspects of the SW that will be visible to the end users Ideally, the prototype serves as a mechanism for identifying SW requirements

Evolutionary Models: Prototyping Problems In most projects, the first system built is barely usable Software engineers try to modify the prototype to use it as a working version Once stakeholders see a working prototype, they demand that a few fixes be applied to make the prototype a working product

Evolutionary Models: The Spiral

Evolutionary Models: The Spiral Characteristics Uses prototyping as a risk reduction mechanism, but more importantly, enables us to apply the prototyping approach at any stage in the evolution of the product It may be difficult to convince customers that the evolutionary approach is controllable (demands considerable risk assessment expertise)

Concurrent Models Allows a software team to represent iterative and concurrent elements of any of the process models

Other Process Models Component based development—the process to apply when reuse is a development objective Formal methods—emphasizes the mathematical specification of requirements

Other Process Models AOSD (Aspect-Oriented Software Development) provides a process and methodological approach for defining, specifying, designing, and constructing aspects (e.g., security, fault-tolerance, the application of business rules) Unified Process a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)

The Unified Process (UP) inception elaboration

UP Phases

UP Work Products

Personal Software Process (PSP) Planning. This activity isolates requirements and develops both size and resource estimates. In addition, a defect estimate (the number of defects projected for the work) is made. All metrics are recorded on worksheets or templates. Finally, development tasks are identified and a project schedule is created. High-level design. An external specification is created for each component and a component design is created. Prototypes are built when uncertainty exists. All issues are recorded and tracked.

Personal Software Process (PSP) High-level design review. Formal verification methods (Chapter 21) are applied to uncover errors in the design. Metrics are maintained for all important tasks and work results. Development. The component level design is refined and reviewed. Code is generated, reviewed, compiled, and tested. Metrics are maintained for all important tasks and work results. Postmortem. Using measures and metrics collected the effectiveness of the process is determined. (If this is a large amount of data it should be analyzed statistically.) Measures and metrics should provide guidance for modifying the process to improve its effectiveness.

Team Software Process (TSP) Build self-directed teams that plan and track their work, establish goals, and own their processes and plans. These can be pure software teams or integrated product teams (IPT) of three to about 20 engineers. Show managers how to coach and motivate their teams and how to help them sustain peak performance. Accelerate software process improvement by making CMM Level 5 behavior normal and expected. The Capability Maturity Model (CMM), a measure of the effectiveness of a software process, is discussed in Chapter 30. Provide improvement guidance to high-maturity organizations. Facilitate university teaching of industrial-grade team skills.