Requirements analysis In the
requirements analysis phase, the first step in the verification process, the
requirements of the system are collected by analyzing the needs of the
user(s). This phase is concerned with establishing what the ideal system has to perform. However, it does not determine how the software will be designed or built. Usually, the users are interviewed and a document called the user requirements document is generated. The user requirements document will typically describe the system's functional, interface, performance, data, security, etc. requirements as expected by the user. It is used by business analysts to communicate their understanding of the system to the users. The users carefully review this document as this document would serve as the guideline for the system designers in the system design phase. The user acceptance tests are designed in this phase. See also
Functional requirements. There are different methods for gathering requirements of both soft and hard methodologies including; interviews, questionnaires, document analysis, observation, throw-away prototypes,
use case, and static and dynamic views with users.
System design Systems design is the phase where system engineers analyze and understand the business of the proposed system by studying the user requirements document. They figure out possibilities and techniques by which the user requirements can be implemented. If any of the requirements are not feasible, the user is informed of the issue. A resolution is found and the user requirement document is edited accordingly. The software specification document which serves as a blueprint for the development phase is generated. This document contains the general system organization, menu structures,
data structures etc. It may also hold example business scenarios, sample windows, and reports to aid understanding. Other technical documentation like entity diagrams, and data dictionaries will also be produced in this phase. The documents for system testing are prepared.
Architecture design The phase of the design of
computer architecture and
software architecture can also be referred to as high-level design. The baseline in selecting the architecture is that it should realize all which typically consists of the list of modules, brief functionality of each module, their
interface relationships,
dependencies,
database tables, architecture diagrams, technology details, etc. The integration testing design is carried out in the particular phase.
Module design The
module design phase can also be referred to as low-level design. The designed system is broken up into smaller units or modules and each of them is explained so that the programmer can start coding directly. The low-level design document or program specifications will contain a detailed functional logic of the
module, in
pseudocode: • database tables, with all elements, including their type and size • all interface details with complete
API references • all dependency issues •
error message listings • complete input and outputs for a module. The unit test design is developed in this stage. == Validation phases ==