Prescriptive Process models

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Prescriptive Process Models Developed to bring order and structure to the software development process. To get away from the chaos of most development.
CS487 Software Engineering Omar Aldawud
CSE 436—Personal Software Processes, Software Development Models Ron K. Cytron 3 October 2005.
CSE 470 : Software Engineering The Software Process.
Chapter 3 Process Models
Chapter 2 Software Process Models
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 3 Software Processes.
CSE-433: Software Engineering Md. Kamal Hossen
Chapter 2 The process Process, Methods, and Tools
Software Process and Models
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
SOFTWARE ENGINEERING MCS-2 LECTURE # 5. RAD (RAPID APPLICATION DEVELOPMENT) MODEL  In RAD model the components or functions are developed in parallel.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Prescriptive Process Models
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering MCS-2 Lecture # 6
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
An Introduction to Software Engineering
Chapter 4 프로세스 모델 Process Models
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Development Life Cycle (SDLC)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Model Process
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
The Code and Fix model It is a simple two phase model. In first phase: code is developed In second phase: fix the code until the client is not satisfied.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Engineering CE 501 Prepared by : Jay Dave.
Jaypee Institute of Information Technology, Noida.
Software Process Models. Process model or software engineering paradigm – development strategy encompassing Process Method Tool Generic phases Chosen.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Lecture 3 Prescriptive Process Models
Software Processes (a)
Chapter :Software Process Model
CS 425/625 Software Engineering Software Processes
Software Engineering (CSI 321)
Software Process Models
Chapter 2 SW Process Models
Software Process Models
Software Life Cycle Models
Software Processes.
Introduction to Software Engineering
Chapter 2 – Software Processes
Software Process Models
Software Processes Process should be
Software Processes.
SNS College of Engineering Coimbatore
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
Presentation transcript:

Prescriptive Process models Waterfall Model. Incremental Process Model. Evolutionary Process Model. Concurrent model 1

Prescriptive Process models Waterfall Model Sometimes called the classic life-cycle. It is a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modelling, construction and deployment. The V-model provides a way of visualizing how verification and validation actions are applied to earlier engineering work. 2

Requirement gathering Communication Project initiation Requirement gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback Requirements Modeling Acceptance Testing Architectural Design System Testing Integration Testing Component Design Code Generation Unit Testing

Real projects rarely follow sequential flow. Waterfall Model Problems Real projects rarely follow sequential flow. It is often difficult for the customer to state all requirements explicitly. A customer must have patience. A working version of the program will not be available until late in the project time span. Leads to “blocking states”. Useful Where requirements are fixed and is to proceed to completion in a linear manner. 4

Prescriptive Process models Incremental Process Model Combines elements of linear and parallel process flows. It delivers a series of releases, called increments that provide progressively more functionality for the customer as each is delivered The first increment is often a core product. The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional feature and functionality. It focuses on the delivery of an operational product with each increment. 5

Incremental Process Model It is useful when staffing is unavailable for a complete implementation. Increments can be planned to manage technical risks. Communication Software functionality and features Planning Modeling (analysis, design) Construction (code, test) Deployment ( delivery, feedback) Delivery of 1st Increment 6 Project calendar Time

Evolutionary Process Model Complex systems evolve over a period of time -Business and product requirements often change as development proceeds. - tight market deadlines make completion of a comprehensive software product impossible, but a limited version must be introduced to meet competitive or business pressure - a set of core product or system requirements is well understood, but the details of product or system extensions have yet to be defined. Evolutionary models are iterative. Evolutionary Process Model produce an increasingly more complete version of the software with each iteration. Specification, development and validation are interleaved. 7

Prescriptive Process models Evolutionary Process Model Prototyping Spiral Model 8

Evolutionary Process Model Prototyping It assists you and stakeholders to better understand what is to built when requirements are fuzzy. Prototyping paradigm -begins with communication. - planned quickly and modelling occurs - quick design focuses on a representation of those aspects of the software that will be visible to end users. It serves as a mechanism for identifying software requirements. 9

Prototyping Model Problems Overall software quality or long-term maintainability is not considered. As a Software Engineer make implementation compromises in order to get a prototype working quickly. Useful The customer get feel for the actual system and developers get to build something immediately Key here is all the stakeholders should agree that the prototype is built to serve as a mechanism for defining requirements. 10

Evolutionary Process Model Spiral development Originally proposed by Barry Boehm. It couples the iterative nature of prototyping with the controlled and systematic aspects of water fall model. Process is represented as a spiral rather than as a sequence of activities with backtracking. Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. Risks are explicitly assessed and resolved throughout the process. 11

Spiral model It is a realistic approach to the development of large-scale systems and software. The software evolves as the process progresses, the developer and customer better understand and react at each evolutionary level. It uses prototyping as a risk reduction mechanism. It demands considerable risk assessment expertise and realise on this expertise for success. 12

Evolutionary development Problems Do not establish the max. speed of the evolution. Systems are often poorly structured; Special skills (e.g. in languages for rapid prototyping) may be required. Proj. mgmt. and estimation technique do not fit completely Applicability For small or medium-size interactive systems; For parts of large systems (e.g. the user interface); For short-lifetime systems. 13

Concurrent Model The concurrent development model sometimes called Concurrent Engineering. It allows team to represent iterative and concurrent elements of any of the process models. All software engineering activities exist concurrently but reside in different states. Concurrent modeling defines a series of events that will trigger transitions from state to state for each of the activities. Concurrent modeling is applicable to all types of software development and provide an accurate picture of the current state of a project. 14

One element of the concurrent process model Inactive State of a s/w eng. activity Modeling Activity Under Development Awaiting Changes Under Review Under Revision Baselined Done