Chapter 1 requirement overview and chapter 1 Overview
1.1 proposal of requirements
Five failure-related requirements: (1) incomplete requirements (2) Lack of user participation (3) unrealistic user expectations (4) frequent demand changes (5) provides unnecessary requirements
1.2 requirement view of different projects
Different software projects have different characteristics, which also affect requirements. Here, we mainly explain how to carry out relevant requirements from different perspectives, such as information systems, embedded systems, and software products.
(1) demands of Information Systems (2) demands of embedded systems (3) demands of software products
1.3 requirement definition
Software requirements refer to users' expectations for the target software system in terms of functions, behaviors, performance, and design constraints. After multiple communications with the customer and collection, negotiation, and modification of product requirements, software developers turn users' requirements into software requirements, on this basis, software developers will successfully develop software systems to adapt to the user's final requirements.
1.3.1 main requirements
1.3.2 Basic Requirements
(1) There is no clear and unambiguous term "demand". The real "demand" is actually defined in people's minds (2, instead of solving the problem (3) Defining the system, rather than project (4) distinguishing formal and informal parts (5) Avoiding resetting (6) it is a good practice to keep the size of each requirement definition in the appropriate scope.
1.3.3 features of outstanding demands
(1) Integrity (2) Correctness (3) Non-ambiguity (4) feasibility (5) priority (6) necessity (7) Verifiable
1.4 Requirements Definition practices
1.4.1 requirement definition task Overview
To establish a clear project goal, pay attention to two aspects: (1) internal root retrieval (2) External Tracing
1.4.2 five-step Problem Analysis
(1) reach consensus on the problem definition (2) analyze the problems behind the problem (3) determine the boundaries between relevant personnel and users (4) define solutions (5) determine the constraints added to the solution
1.4.3 elements of requirement definition
The problem definition elements include: goals, scopes, related personnel and users, and related facts and assumptions.
1.4.4 scope of requirement definition
1.5 requirement levels and categories
Layers of software requirements: business requirements, user requirements, and functional requirements
(1) Business Requirements: represents the highest abstraction in the demand chain. It defines the project view and scope for the software system and reflects the highest level of objective requirements of the Enterprise/Organization for the software system.
(2) user requirements: what tasks and how do users complete when they use software?
(3) functional requirements: analyze, refine, and organize user requirements, because user requirements have the characteristics of Lin San and conflict. The functional requirements must be taken into account according to user requirements, and must be consistent with the goals set by the business needs.
1.5.2 classification of software requirements: functional requirements non-functional requirements design constraints
(1) functional requirements: Define the software functions that developers must implement so that users can complete their tasks to meet business needs.
(2) non-functional requirements: the non-functional requirements supplemented by functional requirements describe the behaviors and operations performed by the system to users. Including the details, performance, and quality attributes of the external interface.
(3) Constraints on the design and construction of software products by developers and standards, specifications, and contracts that must be followed by the products. Includes technical options for non-technical factors, the expected software and hardware environment, and the expected use environment.
1.6 relationship between requirement analysis and other software project processes
1.6.1 software lifecycle
Common phases of Software Development: (1) problem definition and feasibility study (2) Development Plan (3) requirement capture (4) analysis (5) Design (6) specification (7) implementation (8) test (9) Deployment (10) Maintenance
1.6.2 relationship between requirements and other software project processes
Requirement Analysis is fundamental and important throughout the entire lifecycle of system development. Requirement analysis is used in the initial stage of a software project. The results are then used in the next stage of development, that is, the design stage.