Software Engineering MCS-2 Lecture # 6

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.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Software Process Models
CS487 Software Engineering Omar Aldawud
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Chapter 3 Process Models
Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Chapter :Software Process Model
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
CS 425/625 Software Engineering Software Processes
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
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.
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 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.
Prescriptive Process Models
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
The Spiral Model Sultana & Mahmood. Systems development life-cycle The process of creating or altering computer systems The models that define the processes.
Software Process Model
Introduction to Software Development (Software Engineering - I)
Developed by Reneta Barneva, SUNY Fredonia The Process.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Project Management Iterative Model & Spiral Model.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Software Model Process
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
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.
Jaypee Institute of Information Technology, Noida.
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...
Software Lifecycle Models Place of Testing in Software Lifecycle 1.
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
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 and Algorithms
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Chapter :Software Process Model
CS 425/625 Software Engineering Software Processes
Software Engineering (CSI 321)
Software development life cycle models
Software Process Models
Chapter 2 SW Process Models
Software Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Software Engineering Lecture 18.
Software life cycle models
SE-2-Session-4 Software Process and Process Models
Software Process Models
Incremental Waterfall
CS310 Software Engineering Lecturer Dr.Doaa Sami
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
PRESENTED BY P.SANDEEP MSc,MTech
Presentation transcript:

Software Engineering MCS-2 Lecture # 6

Evolutionary Software Process Models Evolutionary software models are iterative. They are characterized in manner that enables the software engineers to develop increasingly more complete version of a software. This models are applied because as the requirements often change so the end product will be unrealistic, where a complete version is impossible due to tight market deadlines it is better to introduce a limited version to meet the pressure. Thus the software engineers can follow a process model that has been explicitly designed to accommodate a product that gradually complete over time. The Evolutionary Models take the concept of “evolution” into the engineering paradigm. Therefore Evolutionary Models are iterative. They are built in a manner that enables software engineers to develop increasingly more complex versions of the software.

Incremental Process Model The Incremental Model combines elements of the Linear Sequential Model (applied repetitively) with the iterative philosophy of prototyping. In incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle.  Cycles are divided up into smaller, more easily managed modules.  A working version of software is produced after each module. In the diagram above when we work incrementally we are adding piece by piece but expect that each piece is fully finished.

Advantages It is useful when staffing is unavailable for the complete implementation. Can be implemented with fewer staff people. If the core product is well received then the additional staff can be added. Customers can be involved at an early stage. Each iteration delivers a functionally operational product and thus customers can get to see the working version of the product at each stage. Working software is developed at an early stage of the project. It is easy to identify missing functions from the software at each stage. It supports a flexible design as changes are expected with each iteration.

Disadvantages Because requirements are expected to change the project may take much longer than would have been the case with other SDLC’s.

When to use the Incremental model? Requirements of the complete system are clearly defined and understood. Major requirements must be defined; however, some details can evolve with time. There is a need to get a product to the market early. A new technology is being used. Resources with needed skill set are not available. There are some high risk features and goals.

Spiral Process Model The 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. Using the Spiral Model the software is developed in a series of incremental releases. Unlike the Iterative Model where in the first product is a core product, in the Spiral Model the early iterations could result in a paper model or a prototype. However, during later iterations more complex functionalities could be added.

Task Regions of Spiral Process Model A Spiral Model is divided into a number of framework activities, also called task regions. These task regions could vary from 3-6 in number and they are: Customer Communication - tasks required to establish effective communication between the developer and customer. Planning - tasks required to define resources, timelines and other project related information /items. Risk Analysis - tasks required to assess the technical and management risks. Engineering - tasks required to build one or more representation of the application. Construction & Release - tasks required to construct, test and support (eg. Documentation and training) Customer evaluation - tasks required to obtain periodic customer feedback so that there are no last minute surprises.

Advantages Realistic approach to the development because the software evolves as the process progresses. In addition, the developer and the client better understand and react to risks at each evolutionary level. The model uses prototyping as a risk reduction mechanism and allows for the development of prototypes at any stage of the evolutionary development. It maintains a systematic stepwise approach, like the classic waterfall model, and also incorporates into it an iterative framework that more reflect the real world. High amount of risk analysis hence, avoidance of Risk is enhanced. Good for large and mission-critical projects. Strong approval and documentation control. Additional Functionality can be added at a later date. Software is produced early in the software life cycle.

Disadvantages One should possess considerable risk-assessment expertise. It has not been employed as much proven models (e.g. the Waterfall Model) and hence may prove difficult to ‘sell’ to the client. Can be a costly model to use. Risk analysis requires highly specific expertise. Project’s success is highly dependent on the risk analysis phase. Doesn’t work well for smaller 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 New product line Significant changes are expected (research and exploration)

Good Luck ! ☻