SecurityArena

Guide to Practical Info Security!

Who's Online

We have 5 guests online
CBK Applications and Systems Development Security (Part-1)
CBK Applications and Systems Development Security (Part-1) - System Development Process Models Print E-mail
Written by Administrator   
Thursday, 09 July 2009 08:54
Article Index
CBK Applications and Systems Development Security (Part-1)
Functionality vs Security
Database Management System
Database models
Database Interface Languages
Relational Database Components
Normalization
Integrity
Database Security Controls
Data Warehousing and Data Mining
Web Services
System Development
Functional Design Analysis and Planning
System Development Process Models
Verification vs Validation
Separation of Duties in System Development
Configuration management
All Pages

System Development Process Models

Waterfall model
The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design (validation), Construction, Testing and maintenance.
The first formal description of the waterfall model is often cited to be an article published in 1970 by Winston W. Royce (1929–1995).In Royce's original Waterfall model, the following phases are followed in order:

  • Requirements specification
  • Design
  • Construction (also termed as implementation or coding)
  • Integration
  • Testing and debugging (also termed as Validation)
  • Installation
  • Maintenance

The waterfall model is argued by many to be a bad idea in practice, mainly because of their belief that it is impossible, for any non-trivial project, to get one phase of a software product's lifecycle perfected before moving on to the next phases and learning from them.
Sashimi model
The sashimi model (so called because it features overlapping phases, like the overlapping fish of Japanese sashimi) was originated by Peter DeGrace. It is sometimes referred to as the "waterfall model with overlapping phases" or "the waterfall model with feedback".
Iterative Model
With Iterative Development, the project is divided into small parts. This allows the development team to demonstrate results earlier on in the process and obtain valuable feedback from system users. Often, each iteration is actually a mini-Waterfall process with the feedback from one phase providing vital information for the design of the next phase.
Prototyping
The Prototyping Model was developed on the assumption that it is often difficult to know all of your requirements at the beginning of a project. Typically, users know many of the objectives that they wish to address with a system, but they do not know all the nuances of the data, nor do they know the details of the system features and capabilities. The Prototyping Model allows for these conditions, and offers a development approach that yields results without first requiring all information up-front.
Prototyping is comprised of the following steps:

  • Requirements Definition/Collection
  • Design - based on initial requirements
  • Prototype Creation/Modification
  • Assessment
  • Prototype Refinement
  • System Implementation - Iterative process eventually produces a working system that can be the cornserstone for the fully functional system

The Exploratory Model
In some situations it is very difficult, if not impossible, to identify any of the requirements for a system at the beginning of the project. Theoretical areas such as Artificial Intelligence are candidates for using the Exploratory Model, because much of the research in these areas is based on guess-work, estimation, and hypothesis. In these cases, an assumption is made as to how the system might work and then rapid iterations are used to quickly incorporate suggested changes and build a usable system. A distinguishing characteristic of the Exploratory Model is the absence of precise specifications. Validation is based on adequacy of the end result and not on its adherence to pre-conceived requirements.
Spiral Model
The spiral model is actually a meta-model that incorporates a number of the software development models. The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model, it 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.



Last Updated on Friday, 28 August 2009 05:04
 
Please register or login to add your comments to this article.
 
Joomla 1.5 Templates by Joomlashack