comparison of software engineering models
Post on 12-Apr-2017
724 Views
Preview:
TRANSCRIPT
Comparison of Software
Engineering Models
Presentad By:M.Tahir Iqbal2012-ag -743
MSC(CS)4Th Se mester
Table Of ContentIntroductionModelsWaterfall ModelIterative ModelPrototyping ModelSpiral ModelComparison TableConclusion
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
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 .
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
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.
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.
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.
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
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.
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
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
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
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
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.
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.
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
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
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
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
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
Q U E A S N T
Y I O N
?
Thank You
For Giving Your Time
top related