introduction to software development (software engineering - i) course instructor: kashif ihsan...
TRANSCRIPT
![Page 1: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/1.jpg)
Introduction to Introduction to Software DevelopmentSoftware Development(Software Engineering - I)(Software Engineering - I)
Course Instructor:
Kashif Ihsan
1Kashif Ihsan, Lecturer CS, MIHE
![Page 2: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/2.jpg)
Chapter # 03Chapter # 03Process ModelsProcess Models
Kashif Ihsan, Lecturer CS, MIHE 2
Table of Contents: Introduction Linear Sequential Model System Development Life Cycle (SDLC) Prototyping Model
Throw Away Prototype Evolutionary Prototype
Rapid Application Development Model Evolutionary Software Model
The Incremental Model The Spiral Model
![Page 3: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/3.jpg)
Software Development Software Development ProcessProcessSoftware development process is a
coherent (logically, orderly) set of activities for specifying, designing, implementing and testing software systems.
A software process model is an abstract (theoritical) representation of a process. It presents a description of a process from some particular perspective.
Kashif Ihsan, Lecturer CS, MIHE 3
![Page 4: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/4.jpg)
Software Development Software Development ProcessProcessA software development process
model defines software development phases, their sequence, tools and methods to be used, while trying to maximize quality of software and minimize resource usage such as money and time and man-power.
Kashif Ihsan, Lecturer CS, MIHE 4
![Page 5: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/5.jpg)
Software Process ModelSoftware Process ModelThe software process model maybe
defined as a simplified description of a software process, presented from a particular perspective.
Examples of process perspectives are◦ Work-flow perspective◦ Data-flow perspective◦ Role perspective
Kashif Ihsan, Lecturer CS, MIHE 5
![Page 6: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/6.jpg)
Work-Flow PerspectiveWork-Flow PerspectiveThe work-flow model shows the
sequence of activities in the process along with their inputs, outputs and dependencies.
The activities in the model represent human actions.
Kashif Ihsan, Lecturer CS, MIHE 6
![Page 7: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/7.jpg)
Data-Flow PerspectiveData-Flow PerspectiveThe data-flow model
represents the process as a set of activities, each of which carries out some data transformation.
It shows how the input provided to the process is transformed to an output.
Kashif Ihsan, Lecturer CS, MIHE 7
![Page 8: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/8.jpg)
Role PerspectiveRole PerspectiveThe role perspective
represents the roles of people involved in the software process and the activities for which they are responsible.
It represents who does what.
Kashif Ihsan, Lecturer CS, MIHE 8
![Page 9: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/9.jpg)
Linear Sequential Model Linear Sequential Model (LSM)(LSM)It is also called Waterfall Model.
This model suggests a systematic sequential approach to software development.
Linear sequential model starts at the system level and go through analysis, design, coding and testing.
Kashif Ihsan, Lecturer CS, MIHE 9
![Page 10: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/10.jpg)
Linear Sequential ModelLinear Sequential Model
10
Analysis
design
coding
testing
implementation
Requirementgathering
![Page 11: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/11.jpg)
Advantages of LSMAdvantages of LSMThe oldest and mostly used model.
Formal review at the end of each phase allows maximum management control.
It provide a template into which method for analysis, design, coding and testing can be placed.
Kashif Ihsan, Lecturer CS, MIHE 11
![Page 12: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/12.jpg)
Disadvantages of LSMDisadvantages of LSMThe end-user does not see the solution
until the system is nearly complete.
Users get a system that meets the need as understood by the developers; this may not be what was really needed.
Often, users’ needs go unstated or are misunderstood.
Kashif Ihsan, Lecturer CS, MIHE 12
![Page 13: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/13.jpg)
Disadvantages of LSMDisadvantages of LSMUsers cannot easily review
intermediate products and evaluate whether a particular product meets their business requirements.
The activities can not be reversed back at any stage.
It is time consuming.
Kashif Ihsan, Lecturer CS, MIHE 13
![Page 14: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/14.jpg)
System Development Life System Development Life CycleCycleSDLC use the linear sequential approach toward the development of s/w. The only change that makes SDLC different from LSM is that the activities can be reversed back at any stage.
Kashif Ihsan, Lecturer CS, MIHE 14
![Page 15: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/15.jpg)
Requirementgathering
Analysis
design
coding
testing
implementation
System Development Life System Development Life CycleCycle
![Page 16: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/16.jpg)
Prototyping ModelPrototyping ModelOne of the major disadvantage of
Linear Sequential Model was that the customer can not tell all the requirements at the start.
So, in order to get all the requirements from the user efficiently, prototyping model was introduced.
Kashif Ihsan, Lecturer CS, MIHE 16
![Page 17: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/17.jpg)
PrototypePrototypeBefore designing the actual
product, a rough sketch (driving s/w) is drawn which is known as prototype.
Prototype means an early sample or model built to test a concept or process or to act as a thing to be replicated or learned from.
Kashif Ihsan, Lecturer CS, MIHE 17
![Page 18: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/18.jpg)
Stages of PrototypingStages of Prototyping
Prototyping model consist of three stages: Listen to the customer Build & revise stage Customer test stage
Kashif Ihsan, Lecturer CS, MIHE 18
![Page 19: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/19.jpg)
Stages of PrototypingStages of Prototyping
Kashif Ihsan, Lecturer CS, MIHE 19
![Page 20: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/20.jpg)
Prototyping ModelPrototyping Model
Kashif Ihsan, Lecturer CS, MIHE 20
Requirementgathering
analysis design coding testing
![Page 21: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/21.jpg)
Types of PrototypingTypes of Prototyping
Basically there are two types of prototyping:
Throw Away Prototype
Evolutionary Prototype
Kashif Ihsan, Lecturer CS, MIHE 21
![Page 22: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/22.jpg)
Throw Away PrototypeThrow Away PrototypeThis approach is also called
Closed Ended Approach.
This approach suggests that the constructed prototype should be discarded and the software should be build from the scratch.
Kashif Ihsan, Lecturer CS, MIHE 22
![Page 23: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/23.jpg)
Throw Away PrototypeThrow Away PrototypeThe objective of throw-away
prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements which are poorly understood.
Kashif Ihsan, Lecturer CS, MIHE 23
![Page 24: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/24.jpg)
Evolutionary PrototypeEvolutionary PrototypeThis is also called Open Ended
Approach.In this approach, the prototype
constructed will be finally converted into the final product.
The main goal when using Evolutionary Prototyping is to build a very robust prototype in a structured manner and constantly refine it.
Kashif Ihsan, Lecturer CS, MIHE 24
![Page 25: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/25.jpg)
Evolutionary PrototypeEvolutionary PrototypeThe objective of evolutionary
prototyping is to deliver a working system to end-users. The development starts with those requirements which are best understood.
Kashif Ihsan, Lecturer CS, MIHE 25
![Page 26: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/26.jpg)
Evolutionary PrototypingEvolutionary Prototyping
Kashif Ihsan, Lecturer CS, MIHE 26
Build prototypesystem
Develop abstractspecification
Use prototypesystem
Deliversystem
Systemadequate?
YES
N
![Page 27: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/27.jpg)
Advantages of PrototypingAdvantages of PrototypingEarly visibility of the prototype gives
users an idea of what the final system looks like.
Encourages active participation among end users and the developer/producer.
Helps to deliver the product in the best possible quality.
Kashif Ihsan, Lecturer CS, MIHE 27
![Page 28: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/28.jpg)
Disadvantages of Disadvantages of PrototypingPrototyping
As the prototype is given to the customer, the customer may realize that this is the final product.
Structure of system can be damaged since many changes could be made.
Kashif Ihsan, Lecturer CS, MIHE 28
![Page 29: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/29.jpg)
Disadvantages of Disadvantages of PrototypingPrototyping
It is not suitable for very large applications /softwares.
It may slow the development process, if there are large number of end users to satisfy.
Kashif Ihsan, Lecturer CS, MIHE 29
![Page 30: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/30.jpg)
RAD ModelRAD ModelRAD stands for “Rapid Application
Development”.It is an incremental software
development model with very short time period (development cycle).
In this model, the software engineer use the linear sequential approach using component based construction.
Kashif Ihsan, Lecturer CS, MIHE 30
![Page 31: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/31.jpg)
RAD ModelRAD ModelThe development process starts with
the development of preliminary data models and business process models.
In the next stage, requirements are verified using prototyping, eventually to refine the data and process models. These stages are repeated iteratively.
Kashif Ihsan, Lecturer CS, MIHE 31
![Page 32: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/32.jpg)
Kashif Ihsan, Lecturer CS, MIHE 32
RAD Model
![Page 33: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/33.jpg)
RAD ModelRAD ModelBusiness Modeling:
The information flow among business functions is defined by answering questions like what information drives the business process, what information is generated, who generates it, where does the information go, who process it and so on.
Kashif Ihsan, Lecturer CS, MIHE 33
![Page 34: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/34.jpg)
RAD ModelRAD ModelData Modeling:
The information collected from business modeling is refined into a set of data objects (entities) that are needed to support the business. The attributes (character of each entity) are identified and the relation between these data objects (entities) is defined.
Kashif Ihsan, Lecturer CS, MIHE 34
![Page 35: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/35.jpg)
RAD ModelRAD ModelProcess Modeling:
The data objects defined in the data modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing descriptions are created for adding, modifying, deleting or retrieving a data object.
Kashif Ihsan, Lecturer CS, MIHE 35
![Page 36: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/36.jpg)
RAD ModelRAD ModelApplication Generation:
Automated tools are used to facilitate construction of the software.
Testing:Many of the programming components have already been tested since RAD emphasizes re-use. This reduces overall testing time. But new components must be tested and all interfaces must be fully exercised.
Kashif Ihsan, Lecturer CS, MIHE 36
![Page 37: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/37.jpg)
Advantages of RAD ModelAdvantages of RAD Model
It use already existent components.
Development life cycle is very short.
Testing is reduced.
Kashif Ihsan, Lecturer CS, MIHE 37
![Page 38: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/38.jpg)
Disadvantages of RAD Disadvantages of RAD ModelModel
For large system, RAD model requires sufficient human resources.
The customer and developer should be active, because the laziness of any one may lead to failure.
Kashif Ihsan, Lecturer CS, MIHE 38
![Page 39: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/39.jpg)
Evolutionary Software Evolutionary Software ModelModelEvolutionary software model is
the combination of Linear Sequential Model and the Prototyping.
There are two main types of Evolutionary Software Models:i. The Incremental Model
ii. The Spiral Model
Kashif Ihsan, Lecturer CS, MIHE 39
![Page 40: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/40.jpg)
Incremental ModelIncremental ModelIncremental model use the linear
sequential approach with the iterative nature of prototyping.
Incremental model delivers the software in small but usable pieces called the “increment”.
First increment is called the core product in which the basic requirement are fulfilled.
Kashif Ihsan, Lecturer CS, MIHE 40
![Page 41: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/41.jpg)
Incremental ModelIncremental ModelThe core product than act as
input for further increments.
More specifically, the model is designed, implemented and tested as a series of incremental builds until the product is finished.
Kashif Ihsan, Lecturer CS, MIHE 41
![Page 42: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/42.jpg)
Incremental ModelIncremental Model
Kashif Ihsan, Lecturer CS, MIHE 42
Validateincrement
Build systemincrement
Specify systemincrement
Design systemarchitecture
Define systemdeliverables
Systemcomplete?
Integrateincrement
Validatesystem
Deliver finalsystem
YES
NO
![Page 43: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/43.jpg)
Advantages of Incremental Advantages of Incremental ModelModelIt is well suited in the case where
the staffing is unavailable at the start.
Each iteration delivers a functionally operational product and thus customers can get to see the working version of the product at each stage.
Kashif Ihsan, Lecturer CS, MIHE 43
![Page 44: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/44.jpg)
Users may experiment with delivered increments while others are being developed. therefore, these serve as a form of prototype system.
The main DISADVANTAGE is that it is too time consuming.
Kashif Ihsan, Lecturer CS, MIHE 44
Advantages of Incremental Advantages of Incremental ModelModel
![Page 45: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/45.jpg)
Spiral ModelSpiral ModelThe 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.
Kashif Ihsan, Lecturer CS, MIHE 45
![Page 46: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/46.jpg)
Spiral ModelSpiral ModelUnlike the Iteration 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.
Kashif Ihsan, Lecturer CS, MIHE 46
![Page 47: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/47.jpg)
Spiral ModelSpiral 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.
Kashif Ihsan, Lecturer CS, MIHE 47
![Page 48: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/48.jpg)
Spiral ModelSpiral ModelPlanning - 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. Kashif Ihsan, Lecturer CS, MIHE 48
![Page 49: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/49.jpg)
Spiral ModelSpiral ModelConstruction & Release - tasks
required to construct, test and support (e.g. Documentation and training)
Customer evaluation - tasks required to obtain periodic customer feedback so that there are no last minute surprises.
Kashif Ihsan, Lecturer CS, MIHE 49
![Page 50: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/50.jpg)
Kashif Ihsan, Lecturer CS, MIHE 50
![Page 51: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/51.jpg)
Advantages of Spiral Advantages of Spiral ModelModelIt is a 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.
Kashif Ihsan, Lecturer CS, MIHE 51
![Page 52: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/52.jpg)
Advantages of Spiral Advantages of Spiral ModelModelIt maintains a systematic
stepwise approach, like the classic waterfall model, and also incorporates into it an iterative framework that more reflect the real world.
Kashif Ihsan, Lecturer CS, MIHE 52
![Page 53: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/53.jpg)
Disadvantages of Spiral Disadvantages of Spiral ModelModelIf in first stages the risk are not
managed then it will create problem.
It has not been employed as much proven models and hence may prove difficult to ‘sell’ to the client.
Kashif Ihsan, Lecturer CS, MIHE 53
![Page 54: Introduction to Software Development (Software Engineering - I) Course Instructor: Kashif Ihsan 1Kashif Ihsan, Lecturer CS, MIHE](https://reader037.vdocuments.mx/reader037/viewer/2022102800/56649f455503460f94c66db7/html5/thumbnails/54.jpg)
The End
Kashif Ihsan, Lecturer CS, MIHE 54