0% found this document useful (0 votes)
22 views23 pages

Lecture 5 SW

learn software engineering begineer friendly 5th part

Uploaded by

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

Lecture 5 SW

learn software engineering begineer friendly 5th part

Uploaded by

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

Lecture 5

Software Models
Evolutionary Models

• Software system evolves over time as requirements often change as development


proceeds. Thus, a straight line to a complete end product is often not possible.
However, a limited version must be delivered to meet competitive pressure.

• You need a process model that has been explicitly designed to accommodate a product
that evolved over time.

• It is iterative that enables you to develop increasingly more complete version of the
software.

• Two types are introduced, namely


1. Prototyping and
2. Spiral models.

2
Evolutionary Models: Prototyping

• When to use: Customer defines a set of general objectives but does not
identify detailed requirements for functions and features. Or Developer
may be unsure of the efficiency of an algorithm. Q u ick p lan
Quick
Com m u n ication
plan
communication
• What step: Begins with communication by meeting with stakeholders to
define the objective, identify whatever requirements are known, outline Mo d e lin g
Modeling
Q u ick d e sig n
areas where further definition is mandatory. A quick plan for prototyping Quick design
and modeling (quick design) occur. Quick design focuses on a
representation of those aspects the software that will be visible to end
users. ( interface and output). Design leads to the construction of a
prototype which will be deployed and evaluated. Stakeholderʼs comments
.
will be used to refine requirements Deployment
Deployment
De live ry
delivery &
& Fe e dback Con stru ction
feedback Construction
of
of prototype
prototype

• Both stakeholders and software engineers like the prototyping paradigm.


• Users get a feel for the actual system, and developers get to build
something immediately.

3
Evolutionary Models: The Spiral

• It couples the iterative nature of prototyping with the controlled and systematic aspects of
the waterfall model
• Two main distinguishing features: one is cyclic approach for incrementally growing a systemʼs
degree of definition and implementation while decreasing its degree of risk. The other is a
set of anchor point milestones for ensuring stakeholder commitment to feasible and
mutually satisfactory system solutions.
• The first circuit in the clockwise direction might result in the product specification;
subsequent passes around the spiral might be used to develop a prototype and then
progressively more sophisticated versions of the software. Each pass results in adjustments
to the project plan. Cost and schedule are adjusted based on feedback. Also, the number of
iterations will be adjusted by project manager.
• Good to develop large-scale system as software. Prototyping is used to reduce risk.

4
Evolutionary Models: The Spiral

planning
estimation
scheduling
The Spiral Model is the most flexible risk analysis

and agile of all traditional software communication


process models. The process begins modeling
at the center position. From there it analysis
design
moves clockwise in traversals. Each
start
traversal of the spiral usually results
in a deliverable.
deployment
construction
delivery
code
feedback test

5
When to use spiral model

• When costs and risk evaluation is important


• For medium to high-risk projects
• Users are unsure of their needs and Requirements are complex
• New product line, Significant changes are expected (research and
exploration)

6
Comparison of Evolutionary models

Spiral Model Prototype model


planning
estimation
scheduling Q u ick p lan
Quick
risk analysis Com m u n ication plan
communication

communication Mo d e lin g
Modeling
Q u ick d e sig n
Quick design
modeling
analysis
design
start
Deployment
Deployment
De live ry
delivery &
& Fe e dback Con stru ction
feedback Construction
of
of prototype
prototype

deployment
construction
delivery code
feedback test

7
omparison of Evolutionary models

• In the Prototype model we build a prototype is then we test it and then refined as per customer
needs. so sometimes an initial version is released after first iteration . We use it often when the
customers do not know the exact project. prototype is achieved which forms the basis for
developing the final product.
• However Spiral model is a risk-driven software development model and is made with features of
incremental, we keep enhancing the product for two three sprints or until it is ready for showoff
• This model is usually used when a continuous risk assessment is required and When the project
is huge. When the project is huge project requirements are complex and require continuous
clarification.
• In such a situation software also requires significant changes. So basically we use spiral model
when we have is too much time to collect and analyze end-user experience.

8
Concerns on Evolutionary Processes

• First concern is that prototyping poses a problem to project planning


because of the uncertain number of cycles required to construct the
product.

• Second, it must establish the speed of the evolution. If the evolution


occur too fast, without a period of relaxation, it is certain that the
process will fall into chaos. On the other hand if the speed is too slow
then productivity could be affected.

9
Agile Software Development

• Agile Software Development is a set of software development methods in


which requirements and solutions evolve through collaboration between
self-organizing, cross-functional teams.

• It’s a division of tasks into short phases of work and frequent reassessment
and adaptation of plans

10
Agile Software Development
Customer Interaction, collaboration and frequent meetings is the backbone of Agile
methodology. Open communication with minimum documentation are the typical features of
Agile development environment.

11
Agile methodology attributes

• A main goal of Agile is to reduce the amount of documentation created during a


project and focus on the actual code.

• The agile process requires teams who focus on the project to meet project
commitments. If team members have multiple projects, it is difficult to make
spare capacity available to help complete the sprint.

• Due to the iterative nature of agile development, multiple rounds of testing for a
project are often needed. Works best for small and medium projects.

• Agile methodologies can be very difficult for large organizations such as


governments and multinational banks to faithfully adopt

12
Unified Process (UP)
• The Unified Process (UP) is a use-case-driven process

The Unified Process divides the project into four phases:

1. Inception
2. Elaboration(milestone)
3. Construction(release)
4. Transition(final production release)

13
14
15
17
Unified Process (UP)

18
Questions; Select the best answer

Q01: What is the work product when we use software process models
to design a project

A. A Software that meets customers needs.


B. A happy team and client
C. Program, documentation and data.
D. A business concept or application of new technology

19
Q02: In an evolutionary process flow of Software development each
circuit leads to

A. A list of bugs that needs to be fixed


B. New customers requirements
C. A more complete version of the software

20
Q03: Major problems of waterfall model are

A. It is Rarely linear, iteration needed.


B. It is hard to state all requirements explicitly.
C. Blocking state.
D. Code will not be released until very late.
E. All of the above

21
Q04: Which of the following is the last phase of Unified Process model

A. Inception
B. Transition
C. Elaboration
D. Construction.

22
Q05: Which of the following is an umbrella activity

A. Communication
B. Technical reviews
C. Requirement gathering
D. All of the above

23

You might also like