+ All Categories
Home > Documents > Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .

Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: .

Date post: 19-Jan-2018
Category:
Upload: augustus-stanley
View: 217 times
Download: 0 times
Share this document with a friend
Description:
Objectives To introduce software Process Models and types of SDLC To set out the answers to key questions about software Process Models
19
Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Orig inally shared for: mash hoood.webs.com
Transcript
Page 1: Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

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:  .

Thank You


Recommended