Evolutionary Software Process Models

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
Chapter 3 Process Models
Chapter 2 Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Life Cycle Model
CSE-433: Software Engineering Md. Kamal Hossen
Chapter 2 The process Process, Methods, and Tools
Chapter 2 The Process.
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 Project Management Introduction to Project Management.
 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.
What is the Spiral Development Model? Lifted From
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
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.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 4 프로세스 모델 Process Models
Software Engineering B.Tech II csE Sem-II
Introduction to Software Development (Software Engineering - I)
Developed by Reneta Barneva, SUNY Fredonia The Process.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Development Life Cycle (SDLC)
Software Project Management Iterative Model & Spiral Model.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
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 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 Engineering CE 501 Prepared by : Jay Dave.
Software Engineering Process Lecture -2:. –Software development life cycle –overview of software development process models.
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.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Rekayasa Perangkat Lunak Part-6
Methodologies/Life Cycle Models
Software Engineering Rekayasa Perangkat Lunak
CS 5150 Software Engineering
SNS College of Engineering Coimbatore
TOPIC:ONLINE RAILWAY RESERVATION SYSTEM
Chapter :Software Process Model
Software Engineering (CSI 321)
Software Engineering: A Practitioner’s Approach
Software Process Models
Software Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
The V Model The V Model Damian Gordon Damian Gordon.
Introduction to Software Engineering
Chapter 2 Software Processes
Chapter 2 – Software Processes
Software life cycle models
Software engineering -1
SE-2-Session-4 Software Process and Process Models
Incremental Waterfall
Chapter 2 Process Models
SNS College of Engineering Coimbatore
Software Project Management
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Presentation transcript:

Evolutionary Software Process Models

Introduction ******software, like all complex systems, evolves over a period of time Business and product requirements often change as development proceeds, making a straight path to an end product unrealistic. 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. They are characterized in a manner that enables software engineers to develop increasingly more complete versions of the software:

1. The Incremental Model The incremental model combines elements of the linear sequential model with the iterative philosophy of prototyping

Incremental Model contd.. Each linear sequence produces a deliverable “increment” of the software For example, word-processing software developed using the incremental paradigm might deliver 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. and advanced page layout capability in the fourth increment.

Incremental Model Contd.. When an incremental model is used, the first increment is often a core product. The core product is used by the customer (or undergoes detailed review). As a result of use and/or evaluation, a plan is developed for the next increment. The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional features and functionality. This process is repeated following the delivery of each increment, until the complete product is produced.

Spiral Model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model.

Spiral Model Contd.. Using the spiral model, software is developed in a series of incremental releases. During early iterations, the incremental release might be a paper model or prototype. During later iterations, increasingly more complete versions of the engineered system are produced. A spiral model is divided into Customer communication—tasks required to establish effective communication between developer and customer. • Planning—tasks required to define resources, timelines, and other project related information. • Risk analysis—tasks required to assess both technical and management risks. • Engineering—tasks required to build one or more representations of the application. • Construction and release—tasks required to construct, test, install, and provide user support (e.g., documentation and training).o a number of framework activities, also called task regions. Customer evaluation—tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation stage.

Spiral Model the software engineering team moves around the spiral in a clockwise direction, beginning at the center. The first circuit around the spiral might result in the development of a product specification; subsequent passes around the spiral might be used to develop a prototype and then progressively more sophisticated versions of the software. Cost and schedule are adjusted based on feedback derived from customer evaluation. In addition, the project manager adjusts the planned number of iterations required to complete the software. Each cube placed along the axis can be used to represent the starting point for different types of projects. The Concept Development Project starts at the core of the spiral and will continue until concept development is complete. If the concept is to be developed into an actual product, the process proceeds through the next cube In essence, the spiral, when characterized in this way, remains operative until the software is retired.

Spiral Model The spiral model is a realistic approach to the development of large-scale systems and software. Because software evolves as the process progresses, the developer and customer better understand and react to risks at each evolutionary level. It maintains the systematic stepwise approach suggested by the classic life cycle but incorporates it into an iterative framework that more realistically reflects the real world. It may be difficult to convince customers (particularly in contract situations) that the evolutionary approach is controllable. Finally, the model has not been used as widely as the linear sequential or prototyping paradigms. It will take a number of years before efficacy of this important paradigm can be determined with absolute certainty.

The WIN WIN Spiral Model In an ideal context, the developer simply asks the customer what is required and the customer provides sufficient detail to proceed. Unfortunately, this rarely happens. The best negotiations strive for a “win-win” result. That is, the customer wins by getting the system or product that satisfies the majority of the customer’s needs and the developer wins by working to realistic and achievable budgets and deadlines.

WIN WIN Spiral Model WINWIN spiral model defines a set of negotiation activities at the beginning of each pass around the spiral. Rather than a single customer communication activity, the following activities are defined: 1. Identification of the system or subsystem’s key “stakeholders.” 2. Determination of the stakeholders’ “win conditions.” 3. Negotiation of the stakeholders’ win conditions to reconcile them into a set of win-win conditions for all concerned (including the software project team). Successful completion of these initial steps achieves a win-win result, which becomes the key criterion for proceeding to software and system definition

The Concurrent Process Model The Concurrent Process Model means that all the states are simultaneously changing. All activities exist concurrently but reside in different states. For example, early in a project the customer communication activity has completed its first iteration and exists in the awaiting changes state. The analysis activity (which existed in the none state while initial customer communication was completed) now makes a transition into the under development state. If, however, the customer indicates that changes in requirements must be made, the analysis activity moves from the under development state into the awaiting changes state.