This website includes Education Information like a programming language, job interview question, general knowledge.mathematics

Education log

PageNavi Results No.

Ads

Thursday, December 26, 2019

What are different types of software development models?

types of software development models



In this article, today learn types of software development model in this tutorial. software development models-a review. so follow the types of software development model. Software engineering projects follow different lifecycle development models. These models are waterfall model, iterative model, spiral model, agile software development model, prototype model, chaos model, and rapid action development (RAD) model. These models can be used for developing software products.

Waterfall Model:

Royce (1970) proposed a waterfall model in which software development follows a sequential order of lifecycle stages. These lifecycle stages are as follows requirement specification, design, construction, integration, testing, installation, and maintenance. However, this model is flawed as in the real world of software development, there is a need for flexibility to accommodate any change in requirement and thus in following the stages sequentially such accommodation may not be possible.

Iterative Model:

Royce (1970), Boehm (1970), and Mills (1973) came up with a model called iterative model, which can be used for developing applications for customers who are not clear about their requirements. In this model, the project team goes back to an earlier stage from the present stage repeatedly until the design specifications match with changes made in the requirements by the customer. The model can be used for building large projects for which domain competency is not adequate with the customer as well as with the development team.in the types of software development model.

Agile Methodology:

 Aydin (2005), Abraham (2003), Scrum (1986), and Curt Sampson have proposed agile methodology as a model for software development. In this method, the entire project team necessary for completing the project including customers is located in the bullpen, and face-to-face communication is encouraged for discussion instead of depending on written documents. The bullpen' also includes testers, designers. managers, and technical writers. This method involves a preference for face-to-face communication is communication
Most agile teams are located in a model single open office, sometimes referred to as a bullpen. At a minimum,of this includes a programmers and their "customers" (customers define the product; they may be product managers business analysts or the clients). The office may include testers, interaction designers, technical writers, and managers. in the types of software development model.


  and very little written documentation relative to other methods. Therefore, the method is criti as lacking discipline. Also, this model is difficult to use in large projects and cannot be used when offshore development is preferred to take advantage of highly skilled and low-cost professionals. Ope of the well-known agile methodologies is extreme programming (XP) (Blanc, Cunningham, and Ron 1996; McBreen, 2003) in which software is developed in small packets and a lot of importance is given to testing and writing test cases even before coding. This method has a lacuna that it can be used only at customer site and for small applications and cannot be offshored.in the types of software development model.


Prototype Model:

In the prototype model (Haag et al., 2006), a prototype or working model is developed first to check the design and the feature aspects of the application to be developed and to get user feedback so that risk and cost associated with the final application is reduced. Prototyping is the part of the design process and after incorporating the feedback the product is ready for production. However, performance related to the stability and reliability of the final product cannot be tested in prototype, as the prototype may not be scalable at all times. This again can be used for small size to medium-size applications and is not feasible with large production requirements related to stable scalable at all times. induction requirements for the types of software development model. 


Spiral Model:

Spiral model (Belz, 1986; Boehm, 1988; Livary, 1987) combines prototype and waterfall models. This model is favored for large projects. Inspiral model, requirements are gathered in details and a prototype is developed after preliminary design. Feedback is obtained from customers on this prototype and if required a second prototype is developed, which would be an improved version of the first prototype. In this approach, risk factors would include development cost overruns, operating cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product. Hence, this is used for mission-critical applications (for defense applications) and will be overkilled for software development. for the types of software development model.


Chaos Model and RAD Model:

 There are also other development models such as the chaos model (Raccoon, 1995) and RAD model (James, 1980; McConnell, 1996;). In a chaos model, projects can be thought of in pieces. Nobody writes tens of thousands of lines of code in one sitting. They write small pieces, one line at a time, verifying that the small pieces work. Then they build up from there. The behavior of a complex system emerges from the combined behavior of the smaller building blocks. RAD projects are typically staffed with small integrated teams comprising developers, end-users, and IT technical resources, which are combined with short iterative development cycles that optimizes speed, unity of vision and purpose, effective informal communication, and simple project management. An important fundamental principle of RAD is that each iteration delivers a functional version of the final system. These models are used for developing applications where requirements are fairly stable, and the size of the application is small. Also, handling complex applications and change requests during the development lifecycle becomes difficult in both these models.
A comparative analysis of these models in the types of software development model.

No comments:

Post a Comment