Beruflich Dokumente
Kultur Dokumente
TECHNOLOGY OBSELENCE
10
V SHAPE SDLC
MODEL
11
12
13
The V-Model
14
15
16
Software prototyping
A prototype is an initial version of a system used to
demonstrate concepts and try out design options.
A prototype can be used in:
The requirements engineering process to help with requirements
elicitation and validation;
In design processes to explore options and develop a UI design;
In the testing process to run back-to-back tests.
17
PROTOTYPING
A prototype is an initial version of a software system that
is used to demonstrate concepts, try out design options,
and find out more about the problem and its possible
solutions.
Rapid iterative development of the prototype is
essential so that costs are controlled and system
stakeholders can experiment with the prototype
early in the software process.
18
Benefits of prototyping
Improved system usability.
A closer match to users real needs.
Improved design quality.
Improved maintainability.
Reduced development effort.
19
20
Throw-away prototypes
Prototypes should be discarded after development as
they are not a good basis for a production system:
It may be impossible to tune the system to meet non-functional
requirements;
Prototypes are normally undocumented;
The prototype structure is usually degraded through rapid
change;
The prototype probably will not meet normal organisational
quality standards.
21
THROWAWAY PROTOPTYPE
22
EXPLORATORY PROTOPTYPE
23
24
25
Incremental development
26
Incremental delivery
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.
27
Incremental delivery
Deploy an increment for use by end-users;
More realistic evaluation about practical use of software;
Difficult to implement for replacement systems as increments
have less functionality than the system being replaced.
28
Incremental delivery
29
30
31
32
33
Commercial-off-the-shelf (COTS) software and services are built and delivered usually
from a third party vendor. COTS can be purchased, leased or even licensed to the general
.
Process stages
public
Component analysis;
Requirements modification;
System design with reuse;
Development and integration.
34
35
36
37
38
39
Planning
The project is reviewed and the next phase of the spiral is
planned.
40
Strengths ,Weakness
&
Applicability
Waterfall Model
Strengths
It provides structure to technically weak or
inexperienced staff .
When correctly applied, defects may be found early,
when they are relatively inexpensive to fix.
It is easy to use as development proceeds one phase
after another.
Strengths
It allows staff who have completed their phase activities
to be freed up for other projects.
It is easy to track the progress of the project using a
timeline or Gantt chart.
It provides a template into which methods for analysis
,design,code,test,and support can be placed.
Weakness
It has an inherently linear sequential nature any
attempt to go back two or more phases to correct a
problem results in major increases in cost and schedule.
Users cant see quality until the end .They cant
appreciate quality if the finished product cant be seen.
Weakness
It doesnt reflect the problem solving nature of software
development .Phases are tied rigidly to activities , not
how people or teams really work.
It isnt possible for the user to get used to the system
gradually .All training must occur at the end of the life
cycle ,when the software is running .
Weakness
Tight management and control is needed because
there is no provision for revising the requirement .
Each phase is a prerequisite for the succeeding activities
, making this method a risky choice for unprecedented
systems because it inhibits flexibility.
V-shaped Model
Strengths
The model encourages verification and validation of all
internal and external deliverables, not just the software
product.
The model encourages definition of the requirement
before designing the system , and it encourages
designing the software before building the components.
Strengths
It defines the product that the development process
should generate ; each deliverable must be testable.
It enables project management to track progress
accurately ; the progress of the project follows a timeline
, and the completion of each phase is a milestone.
Model is easy to use .
Weakness
It does not handle concurrent events .
It does not handle iterations of the phases .
The model is not equipped to handle dynamic changes
in the requirement throughout the life cycle.
The requirement are tested too late in the cycle to make
changes without affecting the schedule for the project.
Strengths
Steady , visible signs of progress are produced , making
customer secure.
Communication issues between customers and
developers are minimized.
Users tend to be more satisfied when involved
throughout the life cycle.
Risk control is provided.
Weakness
The model may not be accepted due to a reputation
among the conservatives as a quick and dirty
method.
Sometimes a system with poor performances is
produced ,especially if the tuning stage is skipped.
If the user cannot be involved during the prototype
iteration phase of the life cycle , the final product may
suffer adverse effects .
Weakness
Prototyping is habit forming and may go on too long
.Undisciplined developers may fall into a code-and fix
cycle, leading to expensive , unplanned prototype
iterations .
There may be tendency for difficult problems to be
pushed to the future , causing the initial promise of the
prototype to not be met by subsequent products.
Strengths
Constant integrations isolate problems and encourages
customer feedback.
The focus moves from documentation to code what you
see is what you get(WYSIWYG)
It reuses existing program components.
It makes effective use off the-shelf tools and
framework.
Weakness
If the users cannot be involved consistently throughout
the life cycle, the final product will be adversely affected.
Highly skilled and well-trained developers are required.
It requires a system that can be properly modularized.
Hard to use with legacy system.
Weakness
Risk of never achieving closure
It can fail if reusable components are not available.
Incremental Model
Strength
Operational product is delivered first.
The divide and conquer rule allows the problem to be
broken down into manageable pieces.
Initial delivery cost is lowered.
Risk of failure and changing requirements is reduced.
Strengths
Customer can see the most important, most useful
function early.
Risk is spread across several smaller increments instead
of concentrating in one large development.
Project momentum can be maintained
Weakness
Weakness
Formal reviews and audits are difficult to implement on
increments than on a complete system.
Use of general objectives, rather than complete
requirements, in the analysis phase can be
uncomfortable for managemnet.
Spiral Model
Strengths
The spiral model allows users to see the system early,
through the use of rapid prototyping in the development
life cycle.
It provides early indications of risk without much cost.
It splits a potentially large development effort into small
chunks.
Strengths
It provides early and frequent feedback from user to
developers, ensuring a correct product with high quality.
All the money needed for the project need not be
allocated up-front when the spiral model is adopted.
It provides productivity improvement through reuse
capabilities.
Strengths
It does not rely on the impossible task of getting the
design perfect.
Management control of quality, correctness, cost,
schedule and staffing is improved through reviews at
conclusion of each iteration.
Weakness
The time spent evaluating the risk after each spiral is
costly.
The model is complex to use.
Considerable risk assessment expertise is required.
The spiral may continue indefinitely, generated by each
of the customers response to the build initiating a new
cycle; closure may be difficult to achieve.
Weakness
The large number of intermediate stages can create
additional internal and external documentation to
process.
Use of model may be expensive and even unaffordable.
It can be hard to define objective, verifiable milestones
that include readiness to proceed through the next
iteration.
The industry has not had as much experience with the
spiral model as it has with others.
67
68
69
RUP phases
Inception
Establish the business case for the system.
Elaboration
Develop an understanding of the problem domain and the
system architecture.
Construction
System design, programming and testing.
Transition
Deploy the system in its operating environment.
70
RUP iteration
In-phase iteration
Each phase is iterative with results developed incrementally.
Cross-phase iteration
As shown by the loop in the RUP model, the whole set of phases
may be enacted incrementally.
71
Workflow
Description
Business modelling
Requirements
Implementation
72
Workflow
Description
Testing
Deployment
Configuration
and This supporting workflow managed changes to the system (see
change management
Chapter 25).
Project management
Environment
73
Manage requirements
Explicitly document customer requirements and keep track of
changes to these requirements.
74
75
76
Agile methods
Dissatisfaction with the overheads involved in software
design methods of the 1980s and 1990s led to the
creation of agile methods. These methods:
Focus on the code rather than the design
Are based on an iterative approach to software development
Are intended to deliver working software quickly and evolve this
quickly to meet changing requirements.
77
Agile manifesto
We are uncovering better ways of developing software
by doing it and helping others do it. Through this work
we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
78
Description
Customer involvement
Incremental delivery
Embrace change
Maintain simplicity
79
80
81
82
Agile development
Specification, design, implementation and testing are interleaved and the outputs from the development process are
decided through a process of negotiation during the software
development process.
Chapter 3 Agile software
development
83
84
Most S/W Projects include practices From Plan Driven and Agile Approaches.
To Decide on the Balance between Plan Driven and agile Approach
We have to Answer
85
86
87
88
89
90
91
92
93
94
95
96
97
SPIRAL MODEL
98
Spiral Model
100
Determine
Objectives
Customer
Evaluationof
Prototype
Identify&
ResolveRisks
DevelopNext
LevelofProduct
101
might hamper
102
103
104
105
106
107
108
REFERNCES
1. Fundamental of software Engineering fourth Edition
Rajib Mall
PHI 2014 Edition
2. Software Engineering : Ninth Edition 2014
Ian sommerville
Pearson Education
109