Tuesday, December 22, 2009

Assignment 4 (SAD1)

Identify and discuss at least 3 systems development models .. discuss each phases ..

What is a system development model?

System development model specifies how the activities of development process are organized in the total system development effort.

Sample System Models

WATERFALL MODEL

The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back. The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps. The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. Alternatives to the waterfall model include joint application development (JAD), rapid application development (RAD), synch and stabilize, build and fix, and the spiral model.

Advantages
Easy to understand, easy to use
Provides structure to inexperienced staff
Sets requirements stability
Good for management control (plan, staff, track

Limitations
All requirements must be known upfront
System can be frozen before the design begins
Little opportunity for customer to preview the system (until itmay be too late)

PROTOTYPING MODEL
The Prototyping Model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. This model works best in scenarios where not all of the project requirements are known in detail ahead of time. It is an iterative, trial-and-error process that takes place between the developers and the users. There are several steps in the

Prototyping Model:
1.The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the departments or aspects of the existing system.
2.A preliminary design is created for the new system
. 3.A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.
4.The users thoroughly evaluate the first prototype, noting its strengths and weaknesses, what needs to be added, and what should to be removed. The developer collects and analyzes the remarks from the users.
5.The first prototype is modified, based on the comments supplied by the users, and a second prototype of the new system is constructed.
6.The second prototype is evaluated in the same manner as was the first prototype.
7.The preceding steps are iterated as many times as necessary, until the users are satisfied that the prototype represents the final product desired.
8.The final system is constructed, based on the final prototype.
9.The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.

Advantages
Customers can "see" the system requirements as they are being gathered
A more accurate end product
Unexpected requirements accommodated
Allows for flexible design and development
Lower overall development costs when requirements change frequently

Limitations
Prototyping can lead to false expectations.
Prototyping can lead to poorly designed systems

ITERATIVE ENHANCEMENT MODEL
The basic idea is that the software should be developed in increment. Each increment adding some functional capability to the system until the full system is implemented. At each step extension and design modification can be made. 1) Project control list: - All the tasks needed to complete final implementation of the project.2) Each step in Iterative Enhancement Model consist of removing next task from the project control list, designing the implementation for selected task, coding and testing the implementation , perform analysis of partial system that is obtained at this step, update the list as a result of the analysis.

Advantages
It combines benefits of both prototyping and waterfall model.
It can result in better testing because testing each increment is easier than testing entire system as a whole.
It can be used for product development in which developer themselves provide the specification.

Limitations
Provide incomplete system
Time consuming
High cost

Reflection:
I think based on the samples of systems development model, the most used and easily to used was the waterfall model because it is a step by step definition of activities to do by the organization.It can be easily explained to the people.
References:

http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci755441,00.html http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci519580,00.html
http://www.indiastudychannel.com/resources/40544-Iterative-Enhancement-Model.aspx

No comments:

Post a Comment