1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.

Slides:



Advertisements
Similar presentations
Departemen Ilmu Komputer IPB
Advertisements

Prescriptive Process models
Lecture # 2 : Process Models
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
CS487 Software Engineering Omar Aldawud
SW Process Models It is a set of activities required to:
Chapter 3 Process Models
Chapter 2 Software Process Models
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
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.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Chapter 2 The process Process, Methods, and Tools
Software Process and Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Prescriptive Process Models
Software Engineering MCS-2 Lecture # 6
Chapter 4 프로세스 모델 Process Models
Software Engineering B.Tech II csE Sem-II
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
SWE311_Ch03 (071) Software & Software Engineering Slide 1 Chapter 3 Prescriptive Process Models.
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:
The principles of an object oriented software development process Week 04 1.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Model Process
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Process Models The slides and the material of this chapter is adopted from: 1. “Software Engineering”, by I. Somerville, 7th Ed., “Software.
Jaypee Institute of Information Technology, Noida.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Methodologies/Life Cycle Models
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Software Processes (a)
Rapid Application Development Model
Software Engineering (CSI 321)
Software Engineering: A Practitioner’s Approach
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.
Process Models Coming up: Prescriptive Models.
Chapter 2 Process Models
Software engineering -1
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.
Software Processes Process should be
Chapter 4 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.
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.
Presentation transcript:

1/23 Prescriptive Process Models

2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly approach to software engineering

3/23 The Waterfall Model Pro: the most widely used model; a template for use Con: inflexible to changing customer requirements This is a good model to use when requirements are well understood

4/23 Incremental Models Incremental Model: delivers software in small but usable pieces, each piece builds on pieces already delivered Rapid Application and Development (RAD) Model: makes heavy use of reusable software components with an extremely short development cycle

5/23 The Incremental Model delivers software in small but usable pieces, each piece builds on pieces already delivered

6/23 A software project has significant functionality but big pressure on short time-to-market….. How does the incremental model help to deliver this software by the business deadline? Example: A word-processing software I: basic file management, editing, document production II: more sophisticated editing and document production III: spelling and grammar checking IV: advanced page layout capability

7/23 The RAD Model The RAD model is a high-speed adaptation of the linear sequential model. Project requirements must be well understood and the project scope tightly constrained Developers can use component-based construction techniques to build a fully functional system in a short time period Pro: may shorten development time significantly Con: the system may not be modularized for use; performance issue; risk issue

8/23 The RAD Model makes heavy use of reusable software components with an extremely short development cycle

9/23 Assumptions of using RAD model for software project development: 1.A project can be modularized 2.Major functionality could be delivered in short time 3.Sufficient human resources will be available

10/23 Evolutionary Models Prototyping Model: good first step when customer has a legitimate need, but is clueless about the details, developer needs to resist pressure to extend a rough prototype into a production product Spiral Model: couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model Concurrent Development Model: similar to spiral model often used in development of client/server applications

11/23 Evolutionary Models: Prototyping communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback

12/23 The Prototyping Model This model is good to use when the customer has legitimate needs, but is not able to articulate the details at the start of the project. A small mock-up of a working system is developed and presented to the customer. Pro: evaluated by user and used to refine requirements Con: the first system built is barely usable; unrealistic expectations from the customer; the performance issue

13/23 Which software projects are easy to prototype? Human-machine interactionComputer graphics Mathematical algorithmsCommand-driven systems Control functionsReal-time applications Embedded software

14/23 Evolutionary Models: The Spiral Each loop in the spiral shows a phase of the SW process Each loop will be split into few sections, the task regions Each region conducts a set of work tasks, the task set

15/23 A Spiral Model (II) The loops in the spiral could be identified as:  concept development, product development, product enhancement and product maintenance OR  product specification, prototype development, software versions updated OR  system feasibility, requirements definition, system design, etc.

16/23 A Spiral Model (III) The task regions in each spiral loop could contain:  customer communication, planning, risk analysis, engineering, construction & release, customer evaluation OR  objective setting, risk assessment and reduction, development and validation, planning Points: when to trigger a new phase of the spiral and what to do?

17/23 A Spiral Model (IV)  It combines the iterative nature of prototyping with the systematic control found in the linear sequential model  Assessment of both management and technical risks is performed as each incremental release is completed  It demands risk assessment expertise and relies on this expertise for success.

18/23 Evolutionary Models: Concurrent different parts (stages) of a project will be performed at different places (activities) concurrently in the process

19/23 Still Other Process Models Component based development—the process to apply when reuse is a development objective Component based development—the process to apply when reuse is a development objective Formal methods—emphasizes the mathematical specification of requirements Formal methods—emphasizes the mathematical specification of requirements Unified Process—a “use-case driven, architecture- centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML) Unified Process—a “use-case driven, architecture- centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)

20/23 inception The Unified Process (UP) inception elaboration

21/23 The Unified Process (UP) Use-case driven, architecture centric, iterative, and incremental software process Phases Inception phase (customer communication and planning) Elaboration phase (communication and modeling) Construction phase Transition phase (customer delivery and feedback) Production phase (software monitoring and support)

22/23 UP Phases

23/23 UP and UML UML is a modeling notation and language to support OO software engineering practice UP is a process framework in which UML may be applied as part of software engineering activities In UP, what’s the meaning of a workflow? A task set Does the UP phase occur in a sequence? No. UP phases could be with staggered concurrency.