 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Prescriptive Process models
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
1 Life Cycle Models (Lecture 2) Prof. R. Mall Dept. of CSE, IIT, Kharagpur.
Lecture # 2 : Process Models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
CSE 470 : Software Engineering The Software Process.
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,
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
CS 501: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Software Life Cycle Model
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
1 CMPT 275 Software Engineering Software life cycle.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
©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)
Software Engineering Management Lecture 1 The Software Process.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
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
Introduction to Software Engineering.  Software Characteristics  Components  Applications  Layered Technologies  Processes  Methods And Tools 
Information System Design IT60105 Lecture 19 Project Planning.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Introduction to Software Development (Software Engineering - I)
Software Engineering. Lesson 2 Explain what is a software life cycle model. Identify the different software life cycle models. – Classical Waterfall Model.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
Software Development Life Cycle (SDLC)
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.
Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: mashhoood.webs.com.
Topic:- At the end we will be able to explain:- Why it is called Meta Model ?? Spiral Model Its Advantages & Disadvantages… Phases of Spiral Model...
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.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Software Development - Methodologies
Software Engineering Management
SNS College of Engineering Coimbatore
Software Processes (a)
Iterative Waterfall Model
CS701 SOFTWARE ENGINEERING
Prototype Model Lecture-4.
Chapter :Software Process Model
Software Engineering PPT By :Dr. R. Mall.
V-Shaped SDLC Model Lecture-6.
Software Process Models
Models of Software Development Life Cycle (SDLC)
Chapter 2 SW Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Classical Waterfall Model
Requirements and the Software Lifecycle
Life Cycle Models (Lecture 2)
Software life cycle models
An Overview of Software Processes
An Overview of Software Processes
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
Software Engineering Lecture 17.
Software Development Life Cycle Models
Evolutionary Software Process Models
What is Software Engineering?
Presentation transcript:

 Software Models

 A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of identifiable stages that a software product undergoes during its lifetime. The software life-cycle is also referred to as the System Development life-cycle (SDLC ). Introduction

  Software development organizations have realised that adherence to a suitable well-defined lifecycle model helps to produce good quality products and that without time and cost overruns.  The primary advantage of adhering to a life-cycle model is that it encourages development of software in a systematic and disciplined manner. Why use a life-cycle model?

 There are five types of life-cycle models. Namely,  Classical Waterfall Model.  Iterative Waterfall Model.  Evolutionary Model.  Prototyping Model.  Spiral Model. Types of life-cycle models

  The classical waterfall model is considered to be a theoretical way of developing software and is used to appreciate and develop proper understanding of the other software models.  The diagrammatic representation of this model resembles a cascade of waterfalls and hence the name. Classical Waterfall Model

 Phases of Classical waterfall model

  The classical waterfall model, being an ideal model, assumes the phases to be flawlessly done and there’s no scope for rework at a later time.  This model assumes the phases to be sequential but in practical case it may over lap.  It is difficult to accommodate requirement changes after the development process starts. Disadvantage of this Model :

  The Iterative waterfall model is the Classical Waterfall Model with some necessary changes so that it becomes applicable to practical software development projects.  The main change made being the feedback paths from every phase to its proceeding phases to allow correction of the errors committed during a phase, as an when detected in a later phase. Iterative Waterfall Model

 Phases of Iterative waterfall model

  This model cannot be used in projects where only rough requirements are provided.  The rigid phase sequence prescribed by the waterfall model can result in wastage of resources and man- power. Disadvantage of this model

  This life-cycle model (also referred to as the successive versions model or the incremental model) first builds a simple working system, then functional improvements and additions are made until the desired system is realized. Evolutionary Model

 Phases of Evolutionary Model Maintenance Develop the next identified features using an iterative waterfall model Collect customer feedback and modify requirements Develop the core part using an iterative waterfall model Identify the core and other parts to be developed incrementally Rough requirement specifications

 PROS:  The user gets a chance to experiment with a partially developed software. Thereby helping to gain better user satisfaction.  The core modules get tested thoroughly hence reducing errors.  This module obviates the need to commit large resources in one go for development of the system. CONS:  For practical problems it is difficult to divide the problem into several versions that would be acceptable to the customer which can be incrementally implemented and delivered. Pros And Cons Of This Model :

  This type of model requires that before carrying out the development of the actual software, a working prototype of the system should be built which is a very crude version of the actual system, using inefficient, inaccurate or dummy functions or in short using short cuts. Prototyping model

 Phases Of The Prototyping Model

 PROS:  The prototype helps to gain better understanding of the customers’ needs.  For the user it becomes much easier to form opinion by experimenting with the prototype rather than trying to imagine the working of the system.  Helps to critically examine the technical issues.  Overall development cost might be lower than other models.  Minimizes the change requests from the customer. CONS:  It is a slow process.  The cost of developing the prototype is a complete waste as the prototype is ultimately thrown away. Pros And Cons Of The Prototyping Model

  The spiral model of a software appears like a spiral with many loops.  Over each loop, one or more features of the product are elaborated and analyzed and the risks at that point of time are identified and are resolved through prototyping. Based on this, the identified features are implemented. Spiral Model

 Phases of Spiral Model

 CONS:  Complex model.  Requires knowledgeable staff.  Not very suitable for development of a product as outsourced projects. PROS:  For projects having many unknown risks that might show up as the development proceeds, this would be the most appropriate model.  It is more powerful than all other software models as it subsumes all the discussed models. Pros And Cons Of This Model :

  The classical model cannot be used in practical development projects because of its lack of error correction mechanism.  The iterative waterfall model, probably the most widely used software model, is suitable only for well- understood problems and not for very large projects or projects with many types of risks. Example: a simple data processing software, or an embedded software if the development team is experienced Study Of The Different Models From Their Usage

  The prototyping model is suitable for projects for which the requirements are not well understood but all the risks can be identified. Example: especially popular for the development of user interface part of the project.  The evolutionary model is suitable for object- oriented development projects.  The spiral model, being the best of these models, is suitable for development of technically challenging and large projects prone to several kinds of risks. But this model is generally not used due to its complexity Study Of The Different Models From Their Usage(Contd.)

  During the development of any type of software product,adherence to a suitable process model has become universal. We have discussed five important life-cycle models. Different life-cycle models have their own advantages and disadvantages. Therefore, an appropriate life-cycle model should be chosen for the problem at hand. Even though organizations may follow whichever life cycle model is appropriate to a project, the final document should reflect as if the product was developed using classical waterfall model. This makes it easier for the maintainers to understand the product document. Conclusion

  SA sir’s notes.  Fundamentals Of Software Engineering by Rajib Mall.  Wikipedia References:

 Thank You…..!!