0% found this document useful (0 votes)
45 views34 pages

PMP Exam Summary

pmp exam summary

Uploaded by

abdo allout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views34 pages

PMP Exam Summary

pmp exam summary

Uploaded by

abdo allout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 34

Lecture-3

Software Development Life


Cycle (SDLC)

Thepul Ginige
What is software ?

1. Software is computer programs.


2. Software products may be developed
for a particular customer or may be
developed for a general market.
3. Software products may be
a)Generic - developed to be sold to a range
of different customers.
b)Bespoke (custom) - developed for a
single customer according to their
specification.
Costs of Hardware & Software

Cost
hardware software

Time
1960 2012
What are the distinctive
characteristics of software ?
1. One cannot touch software
(Intangibility).
2.Increase use will not introduce any
defects.
3.Software is configurable (One can build
software by combining a basic set of
software components in different ways.)
4.One can change the product easily by re -
implementing it without changing the
design.
5.Custom built (Most software are made
upon order.)
Failure curve for hardware

Failure
rate
Infant
mortality

Deterioration

Time
Failure curve for software

Increase failure rates due


Failure
to side effects
rate

Actual
change curve

Idealized
curve

Time
Software development life cycle

The software development life cycle


(SDLC) (sometimes referred to as the system
development life cycle) is the process of
creating or altering software systems, and
the models and methodologies that people
use to develop these systems.

In any such lifecycle, people, process and


technology all play a role in success.
Steps of SDLC

1. Requirements capture and Analysis


2. Design
3. Implementation/ Coding
4. Testing
5. Maintenance
Software costs

1. Software costs often dominate system


costs. The costs of software on a PC are
often greater than the hardware cost.
2. Software costs more to maintain than it
does to develop. For systems with a long
life, maintenance costs may be several
times development costs.
3. Software engineering is concerned with
cost effective software development.
Distribution of software cost over life cycle

1. Requirements capture and


Analysis
40%
2. Design
3. Implementation/ Coding
4. Testing
60%
5. Maintenance
Members of a software engineering team

1. Project manager
2. Systems analyst
3. Designer
4. Programmer
5. Tester
6. Technical clerk
Software process models

1. Waterfall model - Separate and


distinct phases of specification and
development.
2. Spiral model - This model couples the
iterative nature of prototyping with
the controlled and systematic aspects
of the waterfall model.
3. Rapid Application Development (RAD) -
This is a process model that emphasizes
an extremely short development cycle.
4. V-Shaped SDLC Model- A variant of the
Waterfall that emphasizes the
verification and validation of the
product.
(1) Waterfall model

Requirement
analysis

Design

Coding

Testing

Maintain
(1) Requirement analysis and specification
1. The system services, constraints and goals
are established with the discussion with the
users.
2. This includes understanding the information
domain of the software, functionality
requirements, performance requirements,
interface requirements and security
requirements.
3. Requirements are then specified in a manner
which is understandable by both users and
the development staff.
(2) Software design
1. The design process translates requirements
into a representation of the software that
can be implemented using software
development tools.
2. The major objectives of the design process
are the identification of, the software
components, the software architecture,
interfaces and the data structures &
algorithms to be used.
(3) Coding / Implementation
The design must be translated to a machine
readable form. During this stage the software
design is realized as a set of programs.

(4)Testing
The testing process must ensure that the system
works correctly and satisfies the specified
requirements. After testing the software system
is delivered to the customer.
(5) Maintenance
Software will undoubtedly undergo changes
after it is delivered to the customer.
Errors in the system should be corrected
(corrective maintenance), the system may need
to be adapted to new technologies (adaptive
maintenance) and the system may needed to be
modified and updated to suit new user
requirements (perfective maintenance).
Some Problems with the Waterfall Model
1. It is often very difficult for the customer
to state all requirements clearly. The
Waterfall model has the difficulty of
accommodating the natural uncertainty
that exists at the beginning of many
projects.
2. The customers must have patience. A
working version of the program will not be
available until late in the project time span.
3. Inflexible partitioning of the project into
distinct stages (This makes it difficult to
respond to changing customer
requirements).
4. Thus the Waterfall model is suitable for
projects which have clear and stable
requirements.
(2) Spiral model

a) Spiral model is an evolutionary software


process model that couples the iterative
nature of prototyping with the controlled
and systematic aspects of the linear
sequential model.
b) Using the spiral model software is developed
in a series of incremental releases. During
early iterations the incremental release
might be a paper model or prototype. Each
loop in the spiral represents a phase in the
process.
Spiral model

and Test
Spiral model activities :
1.Determine objectives, alternatives and
constraints (Specific objectives for the
phase are identified).
2.Evaluate alternatives , identify, resolve risks
(Risks are assessed and activities put in
place to reduce the key risks).
3.Development and test (A development model
for the system is chosen, which can be any
of the generic models).
4.Planning (The project is reviewed and the
next phase of the spiral is planned).
(3) Rapid application development

Rapid Application Development (RAD) is an


incremental software development process
model that emphasizes an extremely short
development cycle.
If requirements are well understood and
project scope is controlled, the RAD process
enables a development team to create a fully
functional system within very short time
periods.
DEFINITION
a software development process that allows usable
systems to be built in as little as 60-90 days, often
with some compromises.

Key Objectives are:


High Speed
High Quality
Low Cost

Key Ingredients are:


Management
Tools
Methodology
High Skilled People 26
Principles behind the definition
• In certain situations, a usable 80% solution can be
produced in 20% of the time that would have been
required to produce a total solution.
• In certain situations:
– The business requirements for a system can be fully
satisfied even if some of its operational requirements are
not satisfied.
– The acceptability of a system can be assessed against the
agreed minimum useful set of requirements rather than all
requirements.

27
Problems with RAD
1. RAD requires sufficient human resources to
create right number of RAD teams.
2. RAD requires developers and customers who
are committed to the rapid fire activities
necessary to get a system completed in a
much abbreviated (shortened )time frame.
3. If a system cannot be properly modularized,
building the components necessary for RAD
will be problematic.
4. RAD is not applicable when technical risks
are high.
• This occurs when a new application
makes heavy use of new technology or
when the new software requires a high
degree of interoperability with existing
computer programs.
V-Shaped SDLC Model

• Testing of the product is planned in parallel with a corresponding


phase of development
V-Shaped Steps
• Project and Requirements • Production, operation and
Planning – allocate resources maintenance – provide for
enhancement and corrections
• Product Requirements and
• System and acceptance testing
Specification Analysis – – check the entire software
complete specification of the system in its environment
software system
• Integration and Testing – check
• Architecture or High-Level that modules interconnect
Design – defines how software correctly
functions fulfill the design
• Unit testing – check that each
• Detailed Design – develop module acts as expected
algorithms for each
architectural component • Coding – transform algorithms
into software
V-Shaped Strengths
• Emphasize planning for verification and
validation of the product in early stages of
product development
• Each deliverable must be testable
• Project management can track progress by
milestones
• Easy to use
V-Shaped Weaknesses
• Does not easily handle concurrent events
• Does not handle iterations or phases
• Does not easily handle dynamic changes in
requirements
• Does not contain risk analysis activities
When to use the V-Shaped Model
• Excellent choice for systems requiring high
reliability – hospital patient control
applications
• All requirements are known up-front
• When it can be modified to handle changing
requirements beyond analysis phase
• Solution and technology are known

You might also like