The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project.

Authors Avatar

Contents

What is systems development life cycle (SDLC)?        

Prototyping        

Types of Software Prototyping        

Wireframes/Paper Prototypes        

Visual Prototypes        

Wireframes/Paper        

Interactive Prototypes        

Benefits of Software Prototyping        

Disadvantages of Prototyping        

Insufficient analysis:        

User confusion of prototype and finished system:        

Developer attachment to prototype:        

Excessive development time of the prototype:        

Expense of implementing prototyping        

Best projects to use Prototyping        

When to use        

Rapid Application Development (RAD)        

Usage of RAD        

Dynamic Systems Development Method        

Critical Success Factors of DSDM        

DSDM Model Limitations        

DSDM Model Advantages        

Waterfall model        

Requirement Analysis & Definition:        

System & Software Design:        

Implementation & Unit Testing:        

Integration & System Testing:        

Limitations of the Waterfall Life Cycle Model        

Advantages        

Spiral model        

Advantages        

Limitation / Disadvantages        

What is systems development life cycle (SDLC)?

The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project.

Even though the system is small, it is better to have a proper system development plan, not only because it helps to save the time and the money, but also because it has a proper management and execution of plans and features of the system are well documented. So when regarding a complicated system, to have a system development plan is really effective.

SDLC models help in the complete development of a system, right from the conceptual stage to the customer delivery stage.

http://upload.wikimedia.org/wikipedia/en/8/84/SDLC.jpg

Prototyping

The purpose of a prototype is to allow users of the software to evaluate proposals for the design of the eventual product by actually trying them out, rather than having to interpret and evaluate the design based on descriptions. 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. Prototype typically implements only a small subset of the features of the eventual program, and the implementation may be completely different from that of the eventual product.

Link: http://qastation.files.wordpress.com/2008/04/prototype_model.jpg 

Types of Software Prototyping

There are many different approaches to prototyping, from the very simple 'sketches-on-a-post-it' to rich, fully interactive software simulations.  We can classify these into three main categories as:

Wireframes/Paper Prototypes

Wireframes and Paper Prototypes are useful early-stage techniques, though limited in as much as they are non-interactive and usually very broad. If our project were to be painting a landscape, you might think of wireframes and paper prototypes as the early sketches on a notepad, or some under-painting. In other words, suggesting the basic shape but not saying much about the details and is can be used to design application interfaces as well. Though often simpleminded, this method of prototype is useful because they can be very quick to create and don't require much technical expertise to put together.

Visual Prototypes

These often come in the form of screen mock-ups, possibly in a paper form or created using a graphics tool such as Adobe Photoshop. This method offers an opportunity to prototype the look and feel of a system design, though not normally any functionality or operational flows. They are often visual mock-ups rather than true prototypes, in as much as they represent a useful tool to demonstrate potential appearances and layouts. These typically come from a designer's viewpoint rather than a business or software expert.

Wireframes/Paper

Wireframes and Paper Prototypes are useful early-stage techniques, though limited in as much as they are non-interactive and usually very broad. If our project were to be painting a landscape, you might think of wireframes and paper prototypes as the early sketches on a notepad, or some under-painting. In other words, suggesting the basic shape but not saying much about the details and is can be used to design application interfaces as well. Though often simpleminded, this method of prototype is useful because they can be very quick to create and don't require much technical expertise to put together.

Interactive Prototypes

These are far more useful; though require an increased investment in time to create. They aim to model a system design more faithfully, and represent actual paths through that system. They generally will combine the visual aspects of a static prototype with a certain degree of interactive functionality. This might mean navigation, or the use of real web controls, or even mock data processing. As a platform for demonstrating a system, these are the richest, most useful types of prototype, although the slowest to create.

We are advocates of Interactive Prototyping, especially in combination with business analysis and user feedback sessions. However, there are times when the use of alternative approaches makes more sense.

Benefits of Software Prototyping

The main benefit of software prototyping is in obtaining feedback on a proposed design at an early stage in a project. This feedback can be used to help refine project requirements specifications, establish usability and gain stakeholder support. Used properly, prototyping provides a platform from which to base more accurate estimates for the subsequent phases of a software development project.


Visualisation of a design is another benefit. We all know how difficult it is to picture an end-product from a paper specification. By creating prototype models and simulations we can improve our understanding of what is to be developed. Once a prototype has been created for a project, it is easy for everyone to gain a 'sneak preview' of what the end system will look like and what it will do. This is a very productive process as problems with a design are usually much more obvious when a prototype is created, and can be addressed long before the costly development phase starts.

By creating sophisticated interactive prototypes, it's even possible to model use-cases and operational sequences through a design. This allows for particular operations to be tested and refined without the enormous effort that would be required if a design were to be implemented without prototyping.

Disadvantages of Prototyping

Using, or perhaps misusing, prototyping can also have disadvantages.

Insufficient analysis: 

The focus on a limited prototype can distract developers from properly analyzing the complete project. This can lead to overlooking better solutions, preparation of incomplete specifications or the conversion of limited prototypes into poorly engineered final projects that are hard to maintain. Further, since a prototype is limited in functionality it may not scale well if the prototype is used as the basis of a final deliverable, which may not be noticed if developers are too focused on building a prototype as a model.

Join now!

User confusion of prototype and finished system: 

Users can begin to think that a prototype, intended to be thrown away, is actually a final system that merely needs to be finished or polished. (They are, for example, often unaware of the effort needed to add error-checking and security features which a prototype may not have.) This can lead them to expect the prototype to accurately model the performance of the final system when this is not the intent of the developers. Users can also become attached to features that were included in a prototype for consideration and then removed from ...

This is a preview of the whole essay

Here's what a teacher thought of this essay

Avatar

*** Whilst this has some very detailed description of systems analysis methods it appears to have been collected from some very high level books or sources without explanation or evaluation.