There are two basic approaches for development of MIS :
a) System development life cycle : The system development life cycle have following steps of development :
i) Systems Planning
ii) Systems Analysis
iii) Systems Design
iv) Systems Implementation
v) Systems Operation and Support (System Maintenance)
b) Prototyping : Prototyping is the process of creating an incomplete model of the future full-featured system, which can be used to let the users have a first idea of the completed program or allow the clients to evaluate the program.
i) The designer and implementer can obtain feedback from the users early in the project development.
ii) The client and the contractor can compare that the developing system matches with the system specification, according to which the system is built.
iii) It also gives the engineer some idea about the accuracy of initial project estimates and whether the deadlines can be successfully met.
The process of prototyping involves the following steps :
i) Identify basic requirements.
ii) Develop initial prototype.
iii) Review : The customers, including end-users, examine the prototype and provide feedback for additions or changes.
iv) Revise and Enhance the Prototype : Using the feedback both the specifications and the prototype can be improved. If changes are introduced then a repetition of steps 3 and 4 may be needed.
Types of prototyping : System prototyping are of various kinds. However, all the methods are in some way based on two major types of prototyping :
- Throwaway Prototyping : Throwaway or Rapid Prototyping refers to the creation of a model that will eventually be discarded rather than becoming part of the finally delivered system. After preliminary requirements gathering is accomplished, a simple working model of the system is constructed to visually show the users what their requirements may look like when they are implemented into a finished system. The most obvious reason for using Throwaway Prototyping is that it can be done quickly.
- Evolutionary Prototyping : Evolutionary Prototyping (also known as Breadboard Prototyping) is quite different from Throwaway Prototyping. The main goal when using
Evolutionary Prototyping is to build a very good prototype in a structured manner so that we can refine it or make further changes to it. The reason for this is that the Evolutionary prototype, when built, forms the heart of the new system, and the improvements and further requirements will be built on to it. It is not discarded or removed like the Throwaway Prototype. When developing a system using Evolutionary Prototyping, the system is continually refined and rebuilt.
- Incremental Prototyping : The final product is built as separate prototypes. At the end the separate prototypes are merged in an overall design.
Advantages of Prototyping :
i) Reduced Time and Costs : Prototyping can improve the quality of requirements and specifications provided to developers. Early determination of what the user really wants can result in faster and less expensive software.
ii) Improved and Increased User Involvement : Prototyping requires user involvement and allows them to see and interact with a prototype; allowing them to provide better and more complete feedback and specifications. Since users know the problem better than anyone, the final product is more likely to satisfy the users desire for look, feel and performance.
Disadvantages of Prototyping :
i) Insufficient Analysis : Since a model has to be created, developers will not properly analyse the complete project. This may lead to a poor prototype and a final project that will not satisfy the users.
ii) User Confusion of Prototype and Finished System : Users can begin to think that a prototype, intended to be thrown away, is actually a final system that merely needs to be finished or polished. Users can also become attached to features that were included in a prototype for consideration and then removed from the specification for a final system.
iii) Excessive Development Time of the Prototype : A key property to prototyping is the fact that it is supposed to be done quickly. If the developers forget about this fact, they will develop a prototype that is too complex.
iv) Expense of Implementing Prototyping : The start up costs for building a development team focused on prototyping may be high. Many companies have to train the team for this purpose which needs extra expenses.