Showing posts with label Model. Show all posts
Showing posts with label Model. Show all posts

Wednesday, June 29, 2011

Agile Model


> Agile Software Development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self organizing, cross-functional teams.
> Agile methods break tasks into small increments with minimal planning, and do not directly involve long-term planning.
> Iterations are short time frames (timeboxes) that typically last from one to four weeks.
> Each iteration involves a team working through a full software development cycle including planning,requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders.
> This minimizes overall risk and allows the project to adapt to changes quickly.
> Stakeholders produce documentation as required.

Prototype Model

> A prototype is a working model that is functionally equivalent to a component of the product.
> In many instances the client only has a general view of what is expected from the software product.
> In such a scenario where there is an absence of detailed information regarding the input to the system, the processing needs and the output requirements, the prototyping model may be employed.
> This model reflects an attempt to increase the flexibility of the development process by allowing the client to interact and experiment with a working representation of the product.
> The developmental process only continues once the client is satisfied with the functioning of the prototype.
> At that stage the developer determines the specifications of the client’s real needs.

Spiral Model

The spiral model, also known as the spiral lifecycle model, is a systems development
method (SDM) used in information technology (IT). This model of development
combines the features of the prototyping model and the waterfall model. The spiral
model is intended for large, expensive, and complicated projects.
The steps in the spiral model can be generalized as follows:

1. The new system requirements are defined in as much detail as possible.
2. A preliminary design is created for the new system.
3. A first prototype of the new system is constructed from the preliminary design.
4. A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3) planning and designing the second prototype; (4) constructing and testing the second prototype.
5. At the customer's option, the entire project can be aborted if the risk is deemed too great.
6. The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above.
7. The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired.
8. The final system is constructed, based on the refined 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.

V - Model



> The V-model is a software development model which can be presumed to be the extension of the waterfall model.
> Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape.
> The VModel demonstrates the relationships between each phase of the development life cycleand its associated phase of testing.

Iterative Model


> An iterative lifecycle model does not attempt to start with a full specification of requirements.
> Instead, development begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements.
> This process is then repeated, producing a new version of the software for each cycle of the model.
> Consider an iterative lifecycle model which consists of repeating the above four phases in sequence.

Waterfall Model


> Waterfall approach was first Process Model to be introduced and followed widely in
Software Engineering to ensure success of the project.
> In "The Waterfall" approach, the whole process of software development is divided into separate process phases.
> The phases in Waterfall model are: Requirement Specifications phase, Software Design, Implementation and Testing & Maintenance.
> All these phases are cascaded to each other so that second phase is started as and when defined set of goals are achieved for first phase and it is signed off, so the name "Waterfall Model".
> All the methods and processes undertaken in Waterfall Model are more visible.


SDLC(Software Development Life cycle) Models

There are various software development approaches defined and designed which are
used/employed during development process of software, these approaches are also
referred as "Software Development Process Models". Each process model follows a
particular life cycle in order to ensure success in process of software development.
Different types of SDLC Models are listed below -

1. Waterfall Model
2. Iterative Model
3. V Model
4. Spiral Model
5. The Big Bang Model
6. RAD Model
7. Prototyping Model
8. Agile Model