Question:Explain the various types of models which used in software Engineering.
There are multiple models used in software development and models are choosed based on the application requirement. For Example, in the small project waterfall method can be used and for the big size projects spiral method is preferred. We selects the model for the software Engineering on following basis:
Application and projects nature
Use of techniques and methods
Necessary control and dispatch
Details of various models are given below:
This method is very old and still trendy which is normally used because simplicity is key of success of this method. In this method every action taken is planned in a process of software development. For the small size of projects waterfall method is very suitable. The specialty of this method is that every stage has a sequence. After the end of one stage, the next stage started at that point and the output of every stage converted in input for the every next steps. So with this reason the second name of this model is Sequence Model. With the study about system the first stage started and after that analysis, design, coding, testing and controlling take place one by one. Every stage completed one by one in a sequence like waterfall so this is the reason of this name.
With the reason of simplicity and sequence system it is very easy to use it.
User can understand it quickly because simplicity is the main quality of this method.
It defines the complete information about every step.
This model is very helpful in planning and scheduling of projects.
It reduces the cost of Error correctness.
Importantly it increases the possibility that the system fulfill the customer needs.
Expectations become very quickly in this process which is not correct.
Risk factors not involved in this model which is very necessary part for every model.
In this method training sessions of user is not necessary.
We cannot find any error till time testing of software not done.
This is a working system and the objective of the model is to develop those ideas who tested regarding a new system which could be used again. Prototyping is processes of making a model for the system which can be develop. The main part of this model is before the design and coding we could not fix the need of software while we could think about the needs of customer from software system. The prototype model made on the basis of knowledge about the needs of customer. Prototype model provide the design which gives the thoughts how system did the works. The objective of prototype is to make good understanding about system needs. At the last we get that such result which will be very low variable.
The prototype after the process of development, the end user gives the chance to take the benefit of prototype and provide the important thoughts about this developer.
What is good.
Area of alteration
Requirement which is not necessary
After getting the feedback necessary alteration made in prototype model and provides it again to user for using it. This approach is suitable in that case where two below given points covered.
When a little amount of needs should know at the starting time.
When a customer wants a short area testing instead of fully software.
This model is more suitable where customer needs not cleared.
This Type of model use in that area where the size of problem are large.
It decreases the cost of maintenance. The main factor of using this model is its cost reductions.
This model is very helpful in decrease the gap of communication between those persons who use the software and that group of developed the software system.
In the comparison of final software alteration in prototyping model alteration is quickly and cheaper.
To get the quick work if may possible that it ignore the quality.
It can increase the cost of software system because most of time design and code not used.
Expectations of users increase from the software after looking the working process of prototype model.
When the result of prototyping is not according to customer needs in that case they can make negative thought about that system.
This model is combination of waterfall and prototyping model. The objective of this model is to start a system on a low level with needs which is necessary and introduces it as a trial in the form of version no. 1. After that getting the point of view of user some changes are made and software takes the shape of version no.2. Then this process repeated by developer one by one with necessary changes and every time a new version became ready for introducing in market. This step started with a low level which is called subsystem and after that step by step taken and a series of versions launched in market. This model has four steps:
Step of needs - In this step a list is made about the necessary items.
Design phase - The design should be according to requirement if it satisfied the needs then it could be new or existing one.
Implementation phase - In this phase, the process of software development is implemented.
Valuation phase - All types of valuations are done on this phase.
Spiral model is introduced in 1986 by Boehm. For the lack of risk factor many models became fail but Spiral model include risk factor because Boehm know that the future is uncertain. In this model various types of activity take place like a spiral that has many cycles. Each cycle have four steps.
Planning - This is about the objective and getting the substitutes resources.
Risk analysis - Alternate of valuation and know about the factors which solve the Risk factors.
Development - Development for the next level products.
Customer Valuation - customer evaluates the prototyping and other models.
During the 1st cycle:
To get the motive of the product and make planning for the substitution.
Various risks are analyzed.
Making of prototype model.
The valuation of prototype are done by the user.
During 2nd cycle:
Valuation by customer is the base of planning.
Reaction of customer is the base of analysis of risk factors.
Make a best prototype model.
Involving customers for accessing a new prototype model method.
The focus of third and fourth cycle is to make an error free prototype model and to make easy risk resolution with better planning. Each stage makes a better version of software with a little time consumption. The cost is representing by the radius of spiral at every point of the project.
By the evaluation of customer the each cycle of the spiral became complete.
It gives the capacity for quick development.
It has the Quality of reality and works for the both development type.