Date post: | 19-Jan-2018 |
Category: |
Documents |
Upload: | augustus-stanley |
View: | 217 times |
Download: | 0 times |
Software Engineering
Saeed Akhtar
The University of Lahore
Lecture 3Originally shared for:
mashhoood.webs.com
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?
Objectives
To introduce software Process Models and types of SDLC
To set out the answers to key questions about software Process Models
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.
Waterfall modelRequirements
definition
System andsoftware design
Implementationand unit testing
Integration andsystem testing
Operation andmaintenance
Waterfall model phases
Requirements analysis and definition
System and software design
Implementation and unit testing
Integration and system testing
Operation and maintenance
Advantages of Waterfall Model
Staged development cycle enforces discipline
Every phase has a defined start and end point
Minimal wastage of time and resources
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.
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
Component-based software engineeringBased on systematic reuse where systems are
integrated from existing components or COTS (Commercial-off-the-shelf) systems.
CBSE Process stages
Component analysis
Requirements modification
System design with reuse
Development and integration
Reuse-oriented development
Requirementsspecification
Componentanalysis
Developmentand integration
System designwith reuse
Requirementsmodification
Systemvalidation
CBSE Advantages
Management of Complexity
Reduce Development Time
Increased Productivity
Improved Quality
Less Expensive
Disadvantages of CBSEDevelopment of Components
Lack of Components
Component Maintenance Costs
Reliability and Sensitivity to changes
Unsatisfied Requirements
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.
Incremental Model
Validateincrement
Develop systemincrement
Design systemarchitecture
Integrateincrement
Validatesystem
Define outline requirements
Assign requirements to increments
System incomplete
Finalsystem
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.
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
Thank You