Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .
-
Upload
augustus-stanley -
Category
Documents
-
view
216 -
download
0
description
Transcript of Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .
![Page 1: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/1.jpg)
Software Engineering
Saeed Akhtar
The University of Lahore
Lecture 3Originally shared for:
mashhoood.webs.com
![Page 2: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/2.jpg)
Review of Last LectureWhat is a software process?
What are the activities of a software process?
Software specification consist of ?
Testing Stages are?
Characteristics of a Good Process are?
![Page 3: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/3.jpg)
Objectives
To introduce software Process Models and types of SDLC
To set out the answers to key questions about software Process Models
![Page 4: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/4.jpg)
Software Process Model
A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
![Page 5: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/5.jpg)
Waterfall modelRequirements
definition
System andsoftware design
Implementationand unit testing
Integration andsystem testing
Operation andmaintenance
![Page 6: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/6.jpg)
Waterfall model phases
Requirements analysis and definition
System and software design
Implementation and unit testing
Integration and system testing
Operation and maintenance
![Page 7: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/7.jpg)
Advantages of Waterfall Model
Staged development cycle enforces discipline
Every phase has a defined start and end point
Minimal wastage of time and resources
![Page 8: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/8.jpg)
Drawbacks of Waterfall ModelThe main drawback of the waterfall model is
the difficulty of accommodating change after the process is underway. One phase has to be complete before moving onto the next phase.
Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.
Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process.
![Page 9: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/9.jpg)
Drawbacks Cont’dFew business systems have stable
requirements.
The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites.
customer must have patience, not fast enough for delivery of modern internet based software
![Page 10: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/10.jpg)
Component-based software engineeringBased on systematic reuse where systems are
integrated from existing components or COTS (Commercial-off-the-shelf) systems.
![Page 11: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/11.jpg)
CBSE Process stages
Component analysis
Requirements modification
System design with reuse
Development and integration
![Page 12: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/12.jpg)
Reuse-oriented development
Requirementsspecification
Componentanalysis
Developmentand integration
System designwith reuse
Requirementsmodification
Systemvalidation
![Page 13: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/13.jpg)
CBSE Advantages
Management of Complexity
Reduce Development Time
Increased Productivity
Improved Quality
Less Expensive
![Page 14: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/14.jpg)
Disadvantages of CBSEDevelopment of Components
Lack of Components
Component Maintenance Costs
Reliability and Sensitivity to changes
Unsatisfied Requirements
![Page 15: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/15.jpg)
Incremental ModelRather than deliver the system as a single
delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality.
User requirements are prioritised and the highest priority requirements are included in early increments.
Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve.
![Page 16: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/16.jpg)
Incremental Model
Validateincrement
Develop systemincrement
Design systemarchitecture
Integrateincrement
Validatesystem
Define outline requirements
Assign requirements to increments
System incomplete
Finalsystem
![Page 17: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/17.jpg)
Incremental development advantagesCustomer value can be delivered with each
increment so system functionality is available earlier.
Early increments act as a prototype to help elicit requirements for later increments.
Lower risk of overall project failure.
The highest priority system services tend to receive the most testing.
![Page 18: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/18.jpg)
Incremental development disadvantagesEach phase of an iteration is rigid and do not overlap
each other
Common software facilities may be difficult to identify
Mapping requirements to increments may be not easy
Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle
![Page 19: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b8f7f8b9ab0599c06cd/html5/thumbnails/19.jpg)
Thank You