Software development is the process of developing software through successive phases in an orderly way. This process includes not only the actual writing of code but also the preparation of requirements and objectives, the design of what is to be coded, and confirmation that what is developed has met objectives.
Before systems development methods came into being, the development of new systems or products was often carried out by using the experience and intuition of management and technical personnel. However, the complexity of modern systems and computer products long ago made the need clear for some kind of orderly development process.
Typical Phases Of Software Development:
» Identification of required software
» Analysis of the software requirements
» Detailed specification of the software requirements
» Software design
The development of commercial software is a result of demand in the marketplace, whereas enterprise software development normally rises from a need or a problem within the enterprise environment.
How Is Software Development Guided?
The software development process is almost invariably guided by some systematic software development method (SDM). Referred to by a number of terms, including process models, development, guidelines, and systems development life cycle models (SDLC), software development methods nevertheless generally include the same development phases:
» The existing system is evaluated and its deficiencies identified, usually through interviewing system users and support personnel.
» The new system requirements are defined.
» The proposed system is designed.
» The new system is developed.
» The system is put into use.
» Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up rigorously at all times.
Systems Development Life Cycle Models Include:
The waterfall model: This is the classic SDLC model, with a linear and sequential method that has goals for each development phase.
Rapid application development (RAD): It is based on the concept that better products can be developed more quickly.
Joint application development (JAD): This model involves the client or end user in the design and development of an application, through a series of collaborative workshops called JAD sessions.
The prototyping model: In this model, a prototype is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed.
Synchronize-and-stabilize: This model involves teams working in parallel on individual application modules, frequently synchronizing their code.
The spiral model: This model of development combines the features of the prototyping model and the waterfall model.