8/7/2019 Incremental lifecycle model
1/18
Experiment No.2
Incremental lifecycle modelIt is an evolution of waterfall model. The product is designed,
implemented, integrated and tested as a series of incremental
builds .It is a popular model software evolution used many
commercial software companies and system vendor.
Applications
Incremental software development model may be applicable to
projects where:
Software Requirements are well defined, but realization may
be delayed.
The basic software functionality are required early
8/7/2019 Incremental lifecycle model
2/18
8/7/2019 Incremental lifecycle model
3/18
8/7/2019 Incremental lifecycle model
4/18
Advantages
Generates working software quickly and early during the
software life cycle.
More flexible - less costly to change scope and requirements.
Easier to test and debug during a smaller iteration.
Easier to manage risk because risky pieces are identified and
handled during its iteration.
Disadvanta
ges
Each phase of an iteration is rigid and do not overlap each
other.
Problems may arise pertaining to system architecture because
not all requirements are gathered up front for the entire
software life cycle.
8/7/2019 Incremental lifecycle model
5/18
Spiral lifecycle modelSpiral model is an evolutionary version of incremental
prototyping, developed by Boehm in 1988. Each iteration of the
prototype represented as a cycle in the spiral. The Spiral
software development model is a risk-oriented.
ApplicationsSpiral software development model may be applicable to
projects where:
The projects requirements are very difficult
Where new technologies are used
8/7/2019 Incremental lifecycle model
6/18
The aim ofcustomer communication is to establish effective
communication between developer and customer.
The planning objectives are to define resources, project
alternatives, time lines and other project related information.
The purpose of the risk analysis phase is to assess both
technical and management risks.
The engineering task is to build one or more representations of
the application.
The construction and release taskto construct, test, install
and provide user support (e.g., documentation and training).
The customer evaluation task - to obtain customer feedback
8/7/2019 Incremental lifecycle model
7/18
based on the evaluation of the software representation created
during the engineering stage and implemented during the install
stage.
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.
Doesnt work well for smaller projects
8/7/2019 Incremental lifecycle model
8/18
Rapid Application Development
RAD is a linear sequential software development process model
that emphasis an extremely short development cycle using a
component based construction approach. If the requirements are
well understood and defines, and the project scope is constraint,
the RAD process enables a development team to create a fully
functional system with in very short time period.
RAD model has the following phases:
1. Business Modeling: The information flow among business
functions is defined by answering questions like what
information drives the business process, what information is
generated, who generates it, where does the information go,
who process it and so on.
2. Data Modeling: The information collected from business
modeling is refined into a set of data objects (entities) that are
needed to support the business. The attributes (character of
each entity) are identified and the relation between these data
objects (entities) is defined.
8/7/2019 Incremental lifecycle model
9/18
3. Process Modeling: The data object defined in the data
modeling phase are transformed to achieve the information
flow necessary to implement a business function. Processingdescriptions are created for adding, modifying, deleting or
retrieving a data object.
4. Application Generation: Automated tools are used to
facilitate construction of the software; even they use the 4th
GL techniques.5. Testing and Turn over: Many of the programming
components have already been tested since RAD emphasis
reuse. This reduces overall testing time. But new components
must be tested and all interfaces must be fully exercised.
8/7/2019 Incremental lifecycle model
10/18
8/7/2019 Incremental lifecycle model
11/18
Advantages
RAD reduces the development time and reusability of
components help to speed up development.
All functions are modularized so it is easy to work with.
8/7/2019 Incremental lifecycle model
12/18
Disadvantages
For large projects RAD require highly skilled engineers in the
team.
Both end customer and developer should be committed to
complete the system in a much abbreviated time frame.
If commitment is lacking RAD will fail.
RAD is based on Object Oriented approach and if it is
difficult to modularize the project the RAD may not work
well.
8/7/2019 Incremental lifecycle model
13/18
What is Requirements Elicitation?
Requirements elicitation is the process of identifying the sources
of requirements for a new system and obtaining those
requirements from those sources.
Potential sources of requirements include users, documents,
regulators and even legacy software code.
Requirements elicitation is a crucial part of the Requirements
Gathering, Documentation and Analysis Process.
It is a very challenging activity that requires focus and skill from
the business analyst.
Whatever elicitation technique you choose and however you
implement the technique, you need to do whatever it takes to
understand what the real needs of your customers are.
There are many requirements elicitation techniques that may be
used in various situations depending on the level ofrequirements as well as the type of stakeholder.
Each requirements elicitation technique has its advantages and
disadvantages.
8/7/2019 Incremental lifecycle model
14/18
It is a good idea to gain a mastery of many different elicitation
techniques so that you can use a combination of them on thejob
to successfully draw out your stakeholder needs.
Preparing to Elicit Requirements
Planning your elicitation activities ensures that you:
1. Understand your stakeholders.
2. Use the right elicitation techniques for each stakeholder or
stakeholder group.
3. Accurately prioritize the stakeholders and assign the right
level of involvement.
4. Allocate adequate time and resources to the requirements
gathering activities.
5. Adequately prepare the stakeholders for the elicitation
sessions.
6. Gain the trust and cooperation of your stakeholders.
http://www.myjobsearchcoaching.com/more-information/http://www.myjobsearchcoaching.com/more-information/8/7/2019 Incremental lifecycle model
15/18
Requirements Elicitation Techniques
Brainstorming
Brainstorming sessions are used to let the stakeholders come up
with creative ideas or new approaches to a problem
Workshops
Workshops are facilitated meetings with multiple stakeholders.
8/7/2019 Incremental lifecycle model
16/18
Interviewing
Interviews are in-person, one-on-one meetings where the
business analyst asks questions to get information from the
stakeholder.
With an interview you can quickly obtain a lot of requirements
from one person. However, you still need to examine those
requirements to make sure they do not conflict with other
stakeholder needs.
Surveys
Surveys are used to gather information anonymously from the
stakeholders.
Documentation Review
This is the process of obtaining requirements from written
documentation such as manuals.
Prototyping
This is the use of partially finished versions of the software that
have been created to help validate requirements.
http://www.myjobsearchcoaching.com/more-information/http://www.myjobsearchcoaching.com/more-information/8/7/2019 Incremental lifecycle model
17/18
Focus Groups
Focus Groups are group interviews with potential and/or actual
users where the business analyst raises issues and questions to
obtain information from the stakeholders.
Focus groups are a collaborative technique that lets you gather a
lot of information. It includes a measure of brainstorming which
is good when the users dont know what they really want or
need from the system.
Observation
Observation is when the business analyst watches the users
performing their daily tasks and asks questions about the tasks
and work. This technique gives you the advantage of actually
seeing what the users do as they work as opposed to what they
tell you they do.
Observation helps the analyst develop a real understanding of
the users on thejob issues.
A good business analyst should have excellent skills choosing
and using the right elicitation technique for each situation.
http://www.myjobsearchcoaching.com/more-information/http://www.myjobsearchcoaching.com/more-information/8/7/2019 Incremental lifecycle model
18/18
Top Related