• No results found

Incremental Process Models

In document Dcap405 Software Engineering (Page 49-54)

Self Assessment

CONTENTS Objectives

3.2 Incremental Process Models

3.2.1 Incremental Model

The incremental model is an intuitive approach to the waterfall model. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into

Notes smaller, more easily managed iterations. Each iteration passes through the requirements, design,

implementation and testing phases.

A working version of software is produced during the first iteration, so you have working software early on during the software life cycle. Subsequent iterations build on the initial software produced during the first iteration.

 Used when requirements are well understood

 Multiple independent deliveries are identified

 Work flow is in a linear (i.e., sequential) fashion within an increment and is staggered between increments

 Iterative in nature; focuses on an operational product with each increment

 Provides a needed set of functionality sooner while delivering optional components later

 Useful also when staffing is too short for a full-scale development

The incremental approach attempts to combine the waterfall sequence with some of the advantages of prototyping. This approach is favored by many object-oriented practitioners. It basically divides the overall project into a number of increments. Then it applies the waterfall model to each increment. The system is put into production when the first increment is delivered.

Notes The time passes additional increments are completed and added to the working system. This approach is favored by many object-oriented practitioners.

Incremental Model Phases

 Inception: During the inception phase, the purpose, business rationale, and scope of the project is determined. This is similar to the feasibility analysis that is done in other life cycles.

 Elaboration: During the elaboration phase, more detailed requirements are collected, high level analysis is performed, and a general architecture is determined. This phase divides the requirements into increments that can be built separately. As we will see, each increment consists of a subset of high level use cases that capture the user’s requirements.

Figure 3.3: Incremental Model

Software Engineering

Notes  Construction: The construction phase builds increments of the system. Each increment is developed using a waterfall approach. This includes detailed analysis and design for the use cases in the increment and coding and testing of the event processors that implement the sequence of events defined by the use cases. The result is production quality software that satisfies a subset of the requirements and is delivered to the end users. Work on different increments may be done in parallel.

 Transition: The transition phase is the last phase in the project. This may include such things a performance tuning and rollout to all users.

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.

 Each iteration is an easily managed milestone.

Disadvantages

 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.

Task Analyze the role of transition phase in incremental model.

3.2.2 RAD Model

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 (rapid application development) is a concept that products can be developed faster and of higher quality through:

 Gathering requirements using workshops or focus groups

 Prototyping and early, reiterative user testing of designs

 The re-use of software components

 A rigidly paced schedule that defers design improvements to the next product version

 Less formality in reviews and other team communication

Notes

RAD Model Phases

RAD model has the following phases:

 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.

 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.

 Process Modeling: The data object defined in the data modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing descriptions are created for adding, modifying, deleting or retrieving a data object.

 Application Generation: Automated tools are used to facilitate construction of the software;

even they use the 4th GL techniques.

 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.

Figure 3.4: RAD Model

Software Engineering

Notes

Did u know? In which programming language the RAD model is commonly use?

RAD usually embraces object-oriented programming methodology, which inherently fosters software re-use.

Advantages and Disadvantages

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.

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.

Self Assessment

Fill in the blanks:

8. A rigidly paced schedule that defers design improvements to the next ………..

version

9. The construction phase builds ……….. of the system.

10. During the inception phase, the purpose, ………. , and scope of the project is determined.

11. The incremental approach attempts to combine the waterfall sequence with some of the advantages of………...

12. The incremental model is an intuitive approach to the ………. model.

13. Cycles are divided up into smaller, more easily managed ……….

14. ………. is a concept that products can be developed faster and of higher quality.

15. ………. is easier to manage risk because risky pieces are identified and handled during its iteration.

Caselet

Indicom Software and Services

Bridging Technology, Education & Industry

We are committed to creating compelling experiences for our customers and partners. We shall inspire technology users and create achievers who would innovate and contribute back to society.

Indicom Software and Services, Chennai, is among the foremost of organizations extending high quality technology solutions to educational institutions. Its passion for excellence and its mission to bridge the gap between industry and education has helped it evolve several IT solutions and services for the benefit of the Academic community.

Contd...

Notes Its partnership with software majors including Microsoft, Borland, Adobe, Macromedia,

PTC and Epiance has been an enriching and fulfilling experience, while extending exclusive and focused technology solutions and programmes for academic institutions and corporates across India. Indicom Software and Services is a highly motivated team, with qualified, experienced and committed executives heading its marketing, support, training and administrative services.

Software and Services

We are premier partners to Microsoft, Borland, Adobe & PTC and have retained the No.1 Academic Partner position of Microsoft for the last five years. Our expertise in customizing, deploying and training on these software is our USP. We have deployed over 50 of Microsoft’s official .NET mobile computing centres in premier institutions across India.

In document Dcap405 Software Engineering (Page 49-54)