Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2007-01-16
Abstract
This is a description of the incremental approach to develop software. Its a conceptual model that has been utilised and evolved into the more known Rational Unified
Process model or the Spiral Model that is frequently used today. This process description can be used to get an understanding for how incremental models work.
Field of Application
1 Field of Application
Phased development in incremental steps is a development process of systems used in several areas and in particular for software development processes. Incremental steps can
be used to simplify the development of the software and help the customer to be more involved in the development process. There will be a functional albeit small system early
on in the development which can be improved and extended based on customer input.
Its important to know that the incremental model is more of a concept than an entire unique model. From this incremental approach to systems development the spiral model and
the Rational Unified Process has evolved.
2 Prerequisites
To be able to use an incremental or iterative model you need to have a problem that can
be divided into subproblems. Otherwise it can be hard to divide the software into increments. The customer must be prepared to be involved more in the development cycle of
the product.
3 Realization
There are different steps in the development process. There are steps that apply to the
overall system which also is the first steps that needs to be done. After those steps the incremental steps begin. These incremental steps all consists of the same steps.
3.1 Overview
The first important steps in the incremental approach is as usual to define the requirements of the product. These first requirements should be basic and not very detailed.
From these initial requirements increments are defined and the requirements are mapped
to an increment which suits those requirements.
Figure 1.
The system architecture for the whole system is designed. After this the incremental development cycle begins and continues until the system is finished.
Results
4 Results
4.1 Products
The product of this incremental development process will be a system fulfilling the requirements stated for the whole system. Its important to note that each increment is a
product itself. When an increment has been developed this can be shipped to the customer. The customer can then use and evaluate this product and influence the rest of the development based on the experience from the first product.
Figure 2.
The system should be designed so that the first increments delivered provides very basic
functionality of the system. These increments can then be used to educate personnel early in the products life.
6 Verification of Results
The verification of these results is made exactly the same way sas in other models; you
test the product using an acceptance test to see if the product fulfills the requirements of
the product. The difference here is that you need to do an acceptance test for each of the
increments released, this is because each increment has separate requirements.
When each increment is integrated to the system it needs to go through integration testing and an acceptance test before being released. This creates alot of overhead in the testing process but also ensures a well tested system.
The customer has alot of influence in the development process with the incremental approach. The customer can very early on in the process give its input and experience of
the first basic subsystems and influence the development to get the product it desired
from the beginning. The incremental process enables real-time verification of the product by the customer.
Version
Name
Commentary
2007-01-09
0.1
Erik Axling
Document created.
2007-01-16
1.0
Erik Axling
13 References
13.1 Method Description
Sommerville, Ian (xxxx), Sofware Engineering 8, 8th edition, Frlag, ISBN
Atlee, Joanne M., Pfleeger, Shari L. (2006), Software Engineering -Theory and Practise,
3rd edition, Pearson Prentice Hall, ISBN 0-13-198461
Basili, Victor R., Larman Craig, (2003), Iterative and Incremental Development - A Brief
History, http://www2.umassd.edu/SWPI/xp/articles/r6047.pdf, 2007-01-10.
References
Brooks, Frederick P. (1986), NoSilver Bullet: Essence and Accidents of Software Engineering, www.lips.utexas.edu/ee382c-15005/Readings/Readings1/05-Broo87.pdf , 200701-10.
Basili, Victor R., Turner, Albert J. (1975), Iterative Enhancement: A Practical Technique
for Software Development, IEEE Trans. Software Eng. pp 390-396.
References