Lecture-03-SDLC
Lecture-03-SDLC
Design
Focus of OOAD in the core application
logic layer?
• Deals with how the data flows, how decisions are made, and
5
Inception
6
Inception
7
Requirements
User Requirements
Thisdocument will describe in detail about what is
expected outcome of the software product from the
user's perspective.
The wordings of this document will be in the same tone that
of a user
• Integration Testing
When all the individual program units are tested in the unit testing phase
and all units are clear of any known bugs, the interfaces between those
modules will be tested
• System Testing
After all the interfaces are tested between multiple modules, the
whole set of software is tested to establish that all modules work together
correctly as an application
• Acceptance Testing
11
Clients test software at their place (in real-time or simulated environment)
Release to Production and Warranty Period
• Agile Process
Incremental Model
Major problems in software developments …
The requirements The developers This is how the This is how the problem
specification was understood it in problem was is solved now
defined like this that way solved before.
19
Waterfall model phases
• Requirements analysis and definition
• System and software design
• Implementation and unit testing
• Integration and system testing
• Operation and maintenance
The drawback of the waterfall model is the difficulty of
accommodating change after the process is underway
Waterfall Model Assumptions
1. The requirements are knowable in advance of
implementation.
2. The requirements have no unresolved, high-risk
implications
e.g., risks due to choices, cost, schedule, performance,
safety, security, user interfaces, organizational impacts
3. The nature of the requirements will not change very
much
During development; during evolution
testing
Incremental Models: Incremental(CPMCD,
communication, planning, modeling, construction, deployment)
24
25
26
When to use Incremental models?
28
Business Modeling
Defines the business process and information
flow.
The information flow among business functions
is modeled in a way that answers the following
questions: What information drives the business
process? What information is generated? Who
generates it? Where does the information go?
Who processes it?
29
Data Modeling
Identifies all the data elements and their
relationships.
The information flow defined as part of the
business modeling phase is refined into a set of
data objects that are needed to support the
business. The characteristics (called attributes)
of each object are identified and the
relationships between these objects defined.
(customer data (accounts, balances, transaction history) and
how these elements interact/relationship with each other .)
30
Process Modeling
35
Drawbacks of RAD
• In Sufficient Human Resources
• Developers and customer’s commitment for rapid-
fire activities
• Modularization
• Difficult to achieve High Performance
• High user feedback dependence
36
Evolutionary Process Models
Evolutionary models are iterative. They are
characterized in a manner that enables software
engineers to develop increasingly more complete
versions of the software.
37
Prototyping
38
• The different phases of Prototyping model are:
• 1.Communication
In this phase, developer and customer meet and discuss the overall
objectives of the software.
2. Quick design
• Quick design is implemented when requirements are known.
• It includes only the important aspects like input and output format of
the software.
• It focuses on those aspects which are visible to the user rather than
the detailed plan.
• It helps to construct a prototype.
• 3. Modeling quick design
• This phase gives the clear idea about the development of software
because the software is now built.
• It allows the developer to better understand the exact requirements.
• 4. Construction of prototype
The prototype is evaluated by the customer itself. 39
• 5. Deployment, delivery, feedback
If the user is not satisfied with current prototype, then it refines according to
the requirements of the user.
• When the users are satisfied with the developed prototype then the
system is developed on the basis of final prototype.
40
41
The Spiral Model
42
The Spiral Model
43
Analysis of Spiral Model
• Strengths
Easy to test
Easy to maintain
• Weaknesses
For large-scale software only
For internal software only
44
45
Comparison of Process Models
Aspect Waterfall Agile RAD Incremental Spiral Prototype
Initial Flexible,
Defined at Evolve Can evolve Initial idea,
Requirem requirement refined in
the start, with user based on refined in
ents s, refined in each
rigid feedback feedback prototypes
increments spiral
Rapid Iterative,
Iterative Incremental Iterative
Developm Sequential, prototypin focusing
and , sequential with risk
ent Style linear g and on quick
flexible components analysis
iteration prototypes
User
Moderate to
Involvem Minimal High High High High
high
ent
Usually
Can be
lower Can vary, Moderate Higher due Higher,
higher due
upfront, typically to high to risk due to
Cost to
high if manageab depending analysis iterative
prototypin
changes le on project costs prototypes
g
needed
Moderate,
Low,
Medium to more Low,
focused on
Documen low, document focuses on
High rapid High
tation depends ation as functionali
prototypin
on project increment ty
g
s grow