The 4th Chapter Requirements Engineering
Software requirements are a key factor in determining the success of software development.
First, Software engineering
The concept of requirements covers the user perspective (the external behavior of the system) and the developer perspective (internal characteristics of the system), the key is that the requirements must be documented.
Software Requirements Division : Business requirements, user requirements, system requirements, functional requirements and non-functional requirements and other types.
Functional requirements describe the functions or services that a system should provide, usually involving the interaction between a user or an external system and the system, generally without regard to the implementation details of the system.
Non-functional requirements are constraints and limitations of the system from all angles, reflecting the additional requirements of the application for system quality and characteristics.
The system requirement is to describe in more detail what the system should do, usually including many analysis models. The description method of system requirement model: Structured English, visual model and formal method.
Second, the demand engineering process
Get the demand : Listen to the user's needs, analyze and organize the information obtained, and document the description.
Requirement Analysis : Define the boundary of the system, establish the software prototype, analyze the requirement feasibility, prioritize the requirement, establish the requirement analysis model, and create the data dictionary.
The Mainstream Analysis modeling method : The traditional structure analysis method, the popular object-oriented analysis method nowadays.
The software Requirements specification is the result of demand development, which accurately describes the functionality and performance that a software system must provide and the constraints it needs to consider.
The requirement verification is to determine the requirement description accurately and completely to express the necessary quality characteristics.
Requirements verification is mainly focused on the quality characteristics of the requirements specification. Quality characteristics: Correctness, no ambiguity, completeness, verifiable, consistent, modifiable and traceable.
In the software process Capability Maturity Model, demand management is one of the capabilities of CMM two, which aims to establish a baseline for software engineering and management, and to align software plans, products, and activities.
The task of requirements management is to analyze the impact of changes and control the change process, mainly including change control, version control and demand tracking activities.
Third, the demand acquisition technology
Common Requirements Acquisition techniques include interviews and questionnaires, demand symposia, observing user workflows, use case-based approaches, prototyping methodologies, and so on, depending on the type of application, the skill of the development team, the nature of the user, and so on.
"Software Engineering--theory, Method and practice"--Summary of the fourth chapter of demand Engineering