The waterfall model it is a separate and distinct phase of specification and development. Phases involved are requirements analysis and definition, system and software design, implementation and unit testing, integration and system testing, operation and maintenance. It is used for large systems where systems are developed at several sites. It has drawbacks such as difficulties in accommodating change after the process has started, difficult to respond to changing customer requirements due to the distinct stages …show more content…
It is based on implementation which in-turn results in user comments which facilitate the repair of a system until an adequate system can be developed. There are two types in the evolutionary development mode namely evolutionary programming is where the objective is to work with the customers to produce and deliver the needs of end systems to the user/customer and modeling is where the objective is identifying the user needs and developing a better definition of requirements for the system. It is mostly used in the development of intelligence systems. It is mostly used in development of small systems, for parts of large systems i.e. the user interface and for short life time systems. Its drawbacks are poor structuring of the systems, special skills may be required and there is lack of process visibility
Component based software engineering is an approach that relies on software reuse where systems are integrated from existing components. It is concerned with the assembly of pre-existing software components into larger pieces of software. The component based software engineering process involves component analysis, requirements modification, and system design with reuse, development and …show more content…
Software specification involves the establishment of the services required and the constraints on the systems operation and development. It involves the requirements engineering process which includes a feasibility study, requirements elicitation and analysis, requirements specification and requirements validation.
Software design and implementation is the process of converting a system specification into an executable system. The activities involved in the design and implementation are closely related and may be interleaved. The design process activities include architectural design, abstract specification, interface design, component design, data structure design and algorithm design.
Software validation is a process that assures that a certain system conforms to the specifications and customer/user requirements. It involves review processes and system testing. The system testing involves executing the system using test cases extracted from the specification of the real data to be processed by the system. The testing stages include unit testing, system testing and acceptance