Thursday, April 4, 2019

ALL MODELS OF MIS By 124 Study


What is WaterFall Model?


The Waterfall Model was first Process Model to be introduced. It is very simple to understand and use. In a Waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases. Waterfall model is the earliest SDLC approach that was used for software development.
In “The Waterfall” approach, the whole process of software development is divided into separate phases. The outcome of one phase acts as the input for the next phase sequentially. This means that any phase in the development process begins only if the previous phase is complete. The waterfall model is a sequential design process in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.
As the Waterfall Model illustrates the software development process in a linear sequential flow; hence it is also referred to as a Linear-Sequential Life Cycle Model.


Sequential Phases in Waterfall Model

·         Requirements: The first phase involves understanding what need to be design and what is its function, purpose etc. Here, the specifications of the input and output or the final product are studied and marked.
·         System Design: The requirement specifications from first phase are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The software code to be written in the next stage is created now.
·         Implementation: With inputs from system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality which is referred to as Unit Testing.
·         Integration and Testing: All the units developed in the implementation phase are integrated into a system after testing of each unit. The software designed, needs to go through constant software testing to find out if there are any flaw or errors. Testing is done so that the client does not face any problem during the installation of the software.
·         Deployment of System: Once the functional and non-functio

nal testing is done, the product is deployed in the customer environment or released into the market.
·         Maintenance: This step occurs after installation, and involves making modifications to the system or an individual component to alter attributes or improve performance.These modifications arise either due to change requests initiated by the customer, or defects uncovered during live use of the system. Client is provided with regular maintenance and support for the developed software.
All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The next phase is started only after the defined set of goals are achieved for previous phase and it is signed off, so the name “Waterfall Model“.

Advantages of Waterfall Model

·         The advantage of waterfall development is that it allows for departmentalization and control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process model phases one by one. 
·         The waterfall model progresses through easily understandable and explainable phases and thus it is easy to use. 
·         It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
·         In this model, phases are processed and completed one at a time and they do not overlap. Waterfall model works well for smaller projects where requirements are very well understood.

Disadvantages of Waterfall Model

·         It is difficult to estimate time and cost for each phase of the development process. 
·         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. 
·         Not a good model for complex and object-oriented projects. 
·         Not suitable for the projects where requirements are at a moderate to high risk of changing.



--------------------------------------------------------------

============================

What is 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.
----------------------
-
-------------------------

What is Incremental Model or iterative enhancement model ?


The incremental model (also known as iterative enhancement model) comprises the features of waterfall model in an iterative manner. The waterfall model performs each phase for developing complete software whereas the incremental model has phases similar to the linear sequential model arid has an iterative nature of prototyping. During the implementation phase, the project is divided into small subsets known as increments that are implemented individually. This model comprises several phases where each phase produces an increment. These increments are identified in the beginning of the development process and the entire process from requirements gathering to delivery of the product is carried out for each increment.
The basic idea of this model is to start the process with requirements and iteratively enhance the requirements until the final software is implemented. In addition, as in prototyping, the increment provides feedback from the user specifying the requirements of the software. This approach is useful as it simplifies the software development process as implementation of smaller increments is easier than implementing the entire system. 
Each stage of incremental model adds some functionality to the product and passes it on to the next stage. The first increment is generally known as a core product and is used by the user for a detailed evaluation. This process results in creation of a plan for the next increment. This plan determines the modifications (features or functions) of the product in order to accomplish user requirements. The iteration process, which includes the delivery of the increments to the user, continues until the software is completely developed.
The increments result in implementations, which are assessed in order to measure the progress of the product.
                      
Various advantages and disadvantages associated with the incremental model are listed in Table.
              Table Advantages and Disadvantages of Incremental Model
Advantages
Disadvantages
1.     Avoids the problems resulting in risk driven approach in the software.
2.     Understanding increases through successive refinements.
3.     Performs cost-benefit analysis before enhancing software with capabilities
4.     Incrementally grows in effective solution after every iteration
5.     Does not involve high complexity rate
6.     Early feedback is generated because implementation occurs rapidly for a small subset of the software.
1.     Requires planning at the management and technical level
2.     Becomes invalid when there is time constraint on the project schedule or when the users cannot accept the phased deliverables.

 ------------------------
-----------------------

What is Spiral Model?

Spiral Model is a combination of a waterfall model and iterative model. Each phase in spiral model begins with a design goal and ends with the client reviewing the progress. The spiral model was first mentioned by Barry Boehm in his 1986 paper.
The development team in Spiral-SDLC model starts with a small set of requirement and goes through each development phase for those set of requirements. The software engineering team adds functionality for the additional requirement in every-increasing spirals until the application is ready for the production phase.
What is Spiral Model? When to Use? Advantages & Disadvantages

Spiral Model Phases

Spiral Model PhasesActivities performed during phase
Planning
  • It includes estimating the cost, schedule and resources for the iteration. It also involves understanding the system requirements for continuous communication between the system analyst and the customer
Risk Analysis
  • Identification of potential risk is done while risk mitigation strategy is planned and finalized
Engineering
  • It includes testing, coding and deploying software at the customer site
Evaluation
  • Evaluation of software by the customer. Also, includes identifying and monitoring risks such as schedule slippage and cost overrun

When to use Spiral Methodology?

  • When project is large
  • When releases are required to be frequent
  • When creation of a prototype is applicable
  • When risk and costs evaluation is important
  • For medium to high-risk projects
  • When requirements are unclear and complex
  • When changes may require at any time
  • When long term project commitment is not feasible due to changes in economic priorities

Advantages and Disadvantages of Spiral Model

Advantages
Disadvantages
  • Additional functionality or changes can be done at a later stage
  • Risk of not meeting the schedule or budget
  • Cost estimation becomes easy as the prototype building is done in small fragments
  • It works best for large projects only also demands risk assessment expertise
  • Continuous or repeated development helps in risk management
  • For its smooth operation spiral model protocol needs to be followed strictly
  • Development is fast and features are added in a systematic way
  • Documentation is more as it has intermediate phases
  • There is always a space for customer feedback
  • It is not advisable for smaller project, it might cost them a lot

0 comments:

Post a Comment