Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: mashhoood.webs.com."— Presentation transcript:

1 Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: mashhoood.webs.com

2 Review of Last Lecture What 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?

3 Objectives To introduce software Process Models and types of SDLC To set out the answers to key questions about software Process Models

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

5 Waterfall model

6 Waterfall model phases Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance

7 Advantages of Waterfall Model Staged development cycle enforces discipline Every phase has a defined start and end point Minimal wastage of time and resources

8 Drawbacks of Waterfall Model The 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.

9 Drawbacks Cont’d Few 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

10 Component-based software engineering Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems.

11 CBSE Process stages Component analysis Requirements modification System design with reuse Development and integration

12 Reuse-oriented development

13 CBSE Advantages Management of Complexity Reduce Development Time Increased Productivity Improved Quality Less Expensive

14 Disadvantages of CBSE Development of Components Lack of Components Component Maintenance Costs Reliability and Sensitivity to changes Unsatisfied Requirements

15 Incremental Model Rather 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.

16 Incremental Model

17 Incremental development advantages Customer 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.

18 Incremental development disadvantages Each 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

19 Thank You


Download ppt "Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: mashhoood.webs.com."

Similar presentations


Ads by Google