Top Banner
24

Comparison of Software Engineering Models

Apr 12, 2017

Download

Documents

Tahir Iqbal
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Comparison of Software Engineering  Models
Page 2: Comparison of Software Engineering  Models

Comparison of Software

Engineering Models

Presentad By:M.Tahir Iqbal2012-ag -743

MSC(CS)4Th Se mester

Page 3: Comparison of Software Engineering  Models

Table Of ContentIntroductionModelsWaterfall ModelIterative ModelPrototyping ModelSpiral ModelComparison TableConclusion

Page 4: Comparison of Software Engineering  Models

IntroductionImportance of computer in our life

Computer has become essential in today's life as it is used in many fields of life

Computer is considered a time- saving device

Page 5: Comparison of Software Engineering  Models

IntroductionA software development process also known as a Software Development Life

Cycle

Subset of System Development Life Cycle. Software Engineering (SE) is the application of a systematic, disciplined,

approach to the development, operation, and maintenance of software .

Page 6: Comparison of Software Engineering  Models

Software Process Models

A software process model is an abstract representation of a process. It presents a description of a process from some particular viewpoint as:

1. Specification.2. Design.3. Validation.4. Evolution.

General Software Process Models are

Waterfall modelPrototype modelIterative modelSpiral model

Page 7: Comparison of Software Engineering  Models

Waterfall model Classical model of software engineering

Sequential development approach

Basic Principles Project is divided into sequential phases, with some overlap and

splash back acceptable between phases.

Stretched control is maintained over the life of the project via extensive written documentation, formal reviews, and approval/signoff by the user and information technology management occurring at the end of most phases before beginning the next phase.

Page 8: Comparison of Software Engineering  Models

Waterfall modelWhen to use the waterfall model:

Requirements are very well known, clear and fixed. Product definition is stable. Technology is understood. There are no ambiguous requirements Sufficient resources with required knowledge are available freely The project is short.

Page 9: Comparison of Software Engineering  Models

Waterfall modelThe following list details the steps for using the waterfall model:

System requirements

Establishes the components for building the system

Include hardware requirements, software tools, and other necessary components.

Software requirements Requirements analysis includes determining interaction needed with other

applications and databases, performance requirements, user interface requirements, and so on.

Architectural design

Defines the major components and the interaction of those components, but it does not define the structure of each component.

Page 10: Comparison of Software Engineering  Models

Waterfall modelDetailed design

Defines the specification of each component in detailCoding

Implements the detailed design specificationTesting

Determines whether the software meets the specified requirements and finds any errors present in the code

Maintenance Addresses problems and enhancement requests after the

software releases

Page 11: Comparison of Software Engineering  Models

AdvantagesEasy to understand and

implement.Widely used and known (in

theory!).Reinforces good habits: define-

before- design, design-before-code

Works well on mature products and weak teams.

Disadvantages Idealized, doesn’t match reality

well. Software is delivered late in

project, delays discovery of serious errors.

Difficult to integrate risk management.

Difficult and expensive to make changes.

Page 12: Comparison of Software Engineering  Models

Iterative Waterfall Model Basic Principles

Iterative model, the project is divided into small parts

Allows the development team to make obvious results earlier in the process and obtain valuable feedback from system users

Each iteration is actually a mini-Waterfall process with the feedback from one phase providing critical

Information for the design of the next phase

Page 13: Comparison of Software Engineering  Models

When to use iterative model: Requirements of the complete system are clearly defined and

understood. When the project is big. Major requirements must be defined; however, some details can evolve

with time.

Iterative Waterfall Model

Page 14: Comparison of Software Engineering  Models

AdvantagesMuch better model of the

software processAllows feedback to proceeding

stagesCan be used where the

requirements are not well understood

Disadvantages Not easy to manage this model

No clear milestones in the development process

No stage is really finished

Page 15: Comparison of Software Engineering  Models

Prototyping Model Basic Principles

More traditional development methodology

User is involved throughout the development process

Increases the likelihood of user acceptance of the final implementation

Page 16: Comparison of Software Engineering  Models

Prototyping Model When to use Prototype model:  

Used when the desired system needs to have a lot of interaction with the end users

Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model

Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system.

Page 17: Comparison of Software Engineering  Models

AdvantagesGives users an idea of what the

final system looks like Encourages active participation

among users and producer

Enables a higher output for userCost effective (Development

costs reduced) Increases system development

speed

Disadvantages Possibility of causing systems to

be left unfinished Possibility of implementing

systems before they are ready

Producer might produce a system inadequate for overall organization needs

Often lack flexibility. Not suitable for large

applications Project management difficulties.

Page 18: Comparison of Software Engineering  Models

Spiral Model Combining elements of both design and prototyping-in-stagesAn effort to combine advantages of top-down and bottom up

conceptsBasic Principles

Focus is on risk assessment Minimizing project risk by breaking a project into smaller

segments Providing more relieve-of-change during the development

processEach cycle involves a progression through the same sequence of

stepsBegin each cycle with an identification of stakeholders and their

win conditions, and end each cycle with review and assurance

Page 19: Comparison of Software Engineering  Models

Spiral Model When to use Spiral model:

When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment Users are unsure of their needs Requirements are complex New product line

Page 20: Comparison of Software Engineering  Models

Advantages High amount of risk analysis

Good for large and mission-critical projects

Software is produced early in the software life cycle

Disadvantages Can be a costly model to use

Risk analysis requires highly specific expertise

Project’s success is highly dependent on the risk analysis phase

Doesn’t work well for smaller projects

Page 21: Comparison of Software Engineering  Models

Comparative Analysis of Four Models Features Water fall Iterative Prototyping Spiral

Requirement Specification

Beginning Beginning Frequently Changed

Beginning

Understanding Requirements

Well

Understood Not Well

Understood Not Well

understood Well

Understood

Cost Low Low High Expensive

Availability of reusable

component

No yes yes yes

Complexity of system

Simple Simple complex complex

Risk Analysis Only at beginning

No Risk Analysis

No Risk Analysis yes

User Involvement in all phases of

SDLC

Only at beginning Intermediate

High High

Guarantee of Success

Less High Good High

Overlapping Phases

No No Yes Yes

Cost Control Yes No No yes

Page 22: Comparison of Software Engineering  Models

ConclusionWater Fall Model is commonly Used for Software Process Modeling

Iterative water fall model overcome the drawback of original waterfall model. It allow feedback to proceeding stage

Prototype model used to develop online systems for transaction processing

Spiral model is used for development of large, complicated and expensive projects like scientific Projects

Each model has advantages and disadvantages for the development of systems , so each model tries to eliminate the disadvantages of the previous model

Page 23: Comparison of Software Engineering  Models

Q U E A S N T

Y I O N

?

Page 24: Comparison of Software Engineering  Models

Thank You

For Giving Your Time