SE 548 IŞIL ÖZTÜRK.  Software Development Life Cycle (SDLC ) is a framework that describes the activities performed at each stage of a software development.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Prescriptive Process models
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Software Development Life-Cycle Models
Software Development Life Cycle (SDLC)
Lecture # 2 : Process Models
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
CS487 Software Engineering Omar Aldawud
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.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
MapleLeaf, LLC SDLC Methodology. MapleLeaf, LLC, has established standard phases and processes in regards to project management methodologies for planning.
Adapted from a presentation by John Petlicki of DePaul University, USA.
Software Process Models
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Alternate Software Development Methodologies
CS 5150 Software Engineering
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Software Life Cycle Model
Software Development Life Cycle (SDLC)
CSI315 Web Technology and Applications
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 2 The process Process, Methods, and Tools
Software Process and Models
IT Systems Analysis & Design
 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Software Engineering MCS-2 Lecture # 6
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
CHAPTER ONE Problem Solving © Prepared By: Razif Razali1.
IT2005 System Analysis & Design
Software Development Life Cycle (SDLC)
Software Project Management Iterative Model & Spiral Model.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Model Process
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Development Life Cycle (SDLC)
CSE 403, Spring 2008, Alverson Software Development Lifecycle The Power of Process.
Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
By : Hisham Kahlifa Shreef Foda Khaled monir Tamer medhat Supervisor : Dr Doaa Nabil.
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Software Development - Methodologies
Software Development Life Cycle Waterfall Model
Methodologies and Algorithms
Lecture 3 Prescriptive Process Models
Software Development methodologies
INTRODUCTION TO SOFTWARE DEVELOPMENT
Software Processes (a)
V-Shaped SDLC Model Lecture-6.
Software Process Models
Chapter 2 SW Process Models
Object oriented system development life cycle
Software Development Life Cycle (SDLC)
Life Cycle Models PPT By :Dr. R. Mall.
SDLC Model A framework that describes the activities performed at each stage of a software development project.
Software life cycle models
Software Process Models
Software Processes.
Presentation transcript:

SE 548 IŞIL ÖZTÜRK

 Software Development Life Cycle (SDLC ) is a framework that describes the activities performed at each stage of a software development project.  Software Development Life Cycle (SDLC) can also be called as process model.  In order to ensure the quality of the product selecting the right process is important.

 There are varierty of soft.process models : a) Linear or Sequential Models * Waterfall Model * V shaped waterfall Model b) Incremental Models c) Evolutionary Models * Prototype Model * Spiral Model d) Agile Models * Extreme Programming

Linear or Sequential Models : Sequential approaches (e.g. waterfall model, V-model) refer to the completion of the work within one cycle. One stage needs to be completely finished before the next stage can start. a) Waterfall Model : It is the classical model of Software engineering model.In the Waterfall, the phases are carried out in sequence. Only one phase is carried out at a time and it is not possible to go back after completing the stage.

Advantages of Waterfall Model: 1)It is easy to understand, and easy to use 2)It provide structure to inexperienced staff 3) Works well on mature products and weak teams 4) It is document driven process model,based on published documentation standards. 5) Works well when quality is more important than cost or timing. 6) Sets requirements stability. 7) Identifies deliverables and milestones.

Disadvantages of Waterfall Model: 1)All requirements must be known upfront and these are stable however in evolutionary models requirements evolve over the time. 2) Software is delivered late in project, discovery of serious errors delayed. 3) Unlike to spiral model,difficult to integrate risk Management 4) Difficult and expensive to make changes to documents. 5) Due to administration, costly for small teams and projects.

6) Unlike evolutionary and incremental models there is a little opportunity for customer to preview the system. When to use the Waterfall Model ?  Requirements are very well known  Product definition is stable  Technology is understood  New version of an existing product  Porting an existing product to a new platform ROLES:all roles are needed for a software project development in waterfall model. due to sequence of activities and dependencies, some team members often have to wait for input from other team members.

b) V shaped Model:  It is the variant of the Waterfall model and it emphasizes the verification and validation of the product at each phase. This is the major difference to the Waterfall Model.  testing is emphasized in this model more than the waterfall model.

Advantages of V Model : 1)simple and easy to use 2) Each phase has specific deliverables. 3) Emphasize planning for verification and validation of the product in early stages of product development 4) Higher chance of success over the waterfall model due to the early development of test plans during the life cycle. 5)It works well for small projects where requirements are easily understood.

Disadvantages of V model : 1)Does not easily handle dynamic changes in requirements as incremental and evolutionary models does. 2) Very inflexible like the waterfall model. 3) Unlike spiral model it does not contain risk analysis activities 4) Does not handle iterations or phases 5) no early prototypes of the software are produced.

When to use the V-Shaped Model?  For systems requiring high reliability – hospital patient control applications  All requirements are known up-front  Unlike incremental models it must be used when solution and technology are known  When it can be modified to handle changing requirements beyond analysis phase  ROLES:The main roles in the V-model are project leader, quality manager, configuration management representative and controller. Other roles are the usual candidates like system analysts, programmers, etc.

Incremental models: Incremental models emphasize phased development by offering series of linked mini-projects and these are referred as increments, releases or versions.  Most of the requirements is known and so requirements for the next increment is known

 In the incremental models each release adds more functionality to the each new increment.  multiple mini-cycles running in parallel.  First increment is the core product which provides basic requirements.  It is combination of linear and parallel process flow. (Due to delivery of increments is planned as calendar time progresses)

Advantages of incremental models: 1)The customer receives working software before the end of the project. 2)satisfying some of the stakeholder’s early, and this provides visible signs of progress but it is not possible in the sequential models. 3) The cost expended before some functionality is delivered to the customer is less compared to the Waterfall model

4) As functionality is incremented in steps, testing also becomes easy. 5) Risk of failure of a product is decreased as users start using the product early. Product Requirements Testing Coding Increment Design Testing Coding Increment Design Testing Coding Increment Design

Disadvantages of incremental model : 1)Requires good planning and design 2) Requires early definition of a complete and fully functional system (to allow for the definition of Increments) 3) Total cost of the complete system is not lower

4) Requires careful management to ensure quality of the each increment. 5) Resources also need to be carefully managed to ensure that each increment is delivered on time

When to use the Incremental Model ?  Risk, funding, timing, program complexity, or need for early realization of benefits.  Unlike sequential models most of the requirements are known earlier but are expected to evolve over time  A need to get basic functionality to the market early  long time development projects  Unlike sequential models it must be used on a project with new technology.

Evolutionary Process Model:Evolutionary process models produce an increasingly more complete version of the software with each iteration.  software’s requirements and design must be completed before subsequent lifecycle phases started. This is the poorness of the Waterfall model’s

 In Evolutionary Development, unlike Incremental Development, the requirements for the next increment are not known until the previous increment has gone into operation and been evaluated.

 New versions evolving requirements. ROLES:Due to continuous communication,all roles are needed in every iteration in the model. a) Structured Evolutionary Prototyping Model :  Evolutionary Prototyping is very similar to Evolutionary Development.  The stakeholder requirements for the software are uncertain at the start of the lifecycle.  Developers build a prototype during the requirements phase

 Developers refine the prototype Advantages : 1)Customers can “see” the system requirements as they are collected. 2) Developers learn from customers Requirement Analysis Quick Design Prototype Implementation Testing Deliver Final Product

3) A more correct end product 4) Allows for flexible design and development 5) Unexpected requirements accommodated Disadvantages: 1)The customer may want the prototype to be delivered. 2) Process may continue forever 3) Bad reputation for “quick-and-dirty” methods When to use Structured Evolutionary Prototyping?  Requirements are unstable  Short-lived demonstrations  New, original development  When requirements clarification stage of a waterfall model

b)Spiral Model :The Spiral model is also one of the popular evolutionary process model used by the industry.  Unlike waterfall and v-shaped models it is used for large size projects.  The model focuses on minimizing the risk through the use of prototype.  The model is divided into four quadrants, each with a specific purpose. Each spiral represents the progress made in the project.

Advantages of spiral model : 1)The model tries to resolve all possible risks involved in the project starting with the highest risk. 2)Critical high-risk functions are developed first 3) End users get a chance to see the product early in life cycle. 4)Provides early indication of important risks, without much cost 5) as product is refined for each phase, the model ensures a good quality product.

6) The design does not have to be perfect 7) Spiral model is generally used for large projects with medium to high risk Disadvantages: 1)As risk decreases, cost tends to increase 2) The model requires expertise in risk management and excellent management skills. 3) The model is not suitable for small projects as cost of risk analysis may exceed the actual cost of the project. 4) Spiral may continue indefinitely 5) Time spent for evaluating risks too large for small or low-risk projects

When to use Spiral Model?  When costs and risk evaluation is important  For medium to high-risk projects  Long-term project commitment unwise because of potential changes to economic priorities  Users are unsure of their needs  Requirements are complex  Significant changes are expected ROLES:As different activities are performed during various cycles the abilities of the people needed vary from quadrant to quadrant and from cycle to cycle.

 Agile Models : Focused on to deliver relevant working business applications quicker and cheaper.  The application is typically delivered in incremental (or evolutionary or iterative) fashion.  The delivered increments tend to be small and limited to short delivery periods to ensure rapid completion

a)Extreme Programming :  It is the most widely usage of the agile models.  collective ownership and process that avoids long working hours.  ROLES:XP teams consist of two to ten people these team members include a manager who is the team leader, programmers and always a customer representative (i.e. a future user, to answer questions and set priorities) Two programmers always work together on one computer, called pair programming.

Waterfall vs. Spiral Model Model ComplexitySimple, linear sequence of phases Complex, iterative model; many integrated tasks ManagementDocument driven Risk driven Quality ControlNatural milestone after each phase Continuous evaluation, integrated into the model Customer interaction No RiskHigh (late feedback) Low (risk analysis is integrated in the model) UsabilitySmall and/or low risk projects Large projects Waterfall ModelSpiral Model

Comparison of Software Development Life Cycles:A Multiproject Experiment – written by 2006 Oddur Benediktsson,Darren Dalcher, Helgi Thorbergsson It describes an experiment in which 55 student-developers working in fifteen software teams developed comparable software products using four different development approaches (V-model,incremental, evolutionary and Extreme Programming). And it shows time spent on project on the basis of different process models.

According to experiment they found:

 The requirements stage in the V-model consumed more time than the requirements activities in Incremental and Xp models.  XP only consumed a minor proportion of the effort during the requirements (and design) activities compared to the other models.  The effort of the Waterfall teams dominated the requirements, design and even the programming activities.  XP teams took the lead in terms of hours spent in testing and code correction.  Integration and testing required relatively little effort from the Waterfall teams (and Incremental teams),due to the level of detailed planning and additional time spent during the earlier stages of requirements and design. (indicates early discovery of errors)

THANK YOU..