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