Software Testing Strategy

Software Development Life Cycle

What Is The Software Development Life Cycle?

Software Development Life Cycle

The process of software conceptualization through to software development and the systematic process and framework is know as the software development life cycle. Software developers and companies utilize software development models which comprise a set of best practice standards that articulate the stages of software development. The formalization of this process provides a known set of standards that can be followed by contributing team members to bring the project to fruition. There are a number of different models used by software development professionals to encapsulate the software development lifecycle. The contributing variables are somewhat similar but vary slightly in their execution and practical application. These models can be classified as: system development lifecycle model, prototyping model, rapid application development model and component assembly model.

The system development life cycle is essentially a six step process and one of the favored software development life cycle models. In the first phase, the functional and system requirements are defined. This system view is essential when the software must interface with other elements such as hardware, people and other resources. In the second stage, a feasibility study is undertaken to determine the software functional requirements. This is the domain of the analyst who is responsible for identifying, scoping and bounding the business case process. A formal technical document identifying the stages of project implementation should accompany the defining technical scope. The third phase encompasses system analysis and design incorporating client server setup, data structure and database design. Once the initial project foundation has been defined and put in place the fourth stage takes place. This involves code generation. The fifth stage covers the testing phase to ensure the project fulfills functional requirements and is bug free. The sixth phase is the follow up phase or ongoing maintenance phase which makes provision for ongoing process change or project improvements and bug fixes that surface.

Software Development Life Cycle

The Prototyping model is another software development life cycle process. It involves conducting initial requirements analysis, designing the application interface and the creation of the initial product for feedback. The initial model is designed to serve as a prototype for deployment to real world use and to secure customer feedback. This is the most popular method of development. The Beta testing process allows for iterative refinement and project enhancement that occurs as a result of solicited feedback.

Rapid Application Development is the shortest development methodology that uses a component based approach and seeks to reuse existing program components in the software development life cycle.. Used primarily for information systems application, it encompasses business modeling to define the business functional requirements, data modeling to determine information flow and process modeling for data and functional integration. The application generation and testing phase is the final stage of the rapid application development model.

The component assembly model encapsulates the object oriented paradigm that uses classes to capture data and an algorithm to manipulate the data throughout the software development lifecycle. The essence of this model is the speed of development time afforded from code re-usability. With many component libraries available over the internet, the systematic creation of code and integration makes it a highly favored approach.

The theoretical delineation of software models that facilitate the software development life cycle is one thing and practical real world application is another. In practice, software developers and companies often bridge techniques from all four models to create specialized frameworks that suit their real world needs of the software development project lifecycle.

Contact Us | Privacy Policy |