Software Development Lifecycle includes demand, design, encoding, and testing four processes, where the demand process is the first is also one of the most important phases. Software requirements include three different levels: business needs, the benefits of providing new systems to customers and product developers, reflecting organizations or customers on systems, high-level target requirements, they will be in project views and scope The documentation is explained; user needs, describes the tasks that the user must complete, which is described in the use of instance documents or scheme scripts; functional requirements and non-functional requirements define the software features that developers must implement, make Users can successfully complete their tasks to meet business needs.
The software demand process includes five major activities: demand acquisition, demand analysis, and confirmation, write demand specifications, demand verification, and demand management.
Demand acquisition
The steps to collect, analyze, refine, and verify and organize them, and write it as a document. This activity includes writing project view and scope document, user group classification, selecting a user representative, establishing a core team, determining using an example, a joint meeting, analyzing user workflow, determining quality attributes, checking problem reports, and demand reuse 10 specific tasks The article will explain in detail later.
demand analysis
Analyze system implementation schemes based on demand documents obtained in demand acquisition. This activity needs to complete the following tasks: 1. Draw the associated map to define a simple model of boundaries and interfaces between system and system external entities;
2. Create a development prototype, develop a system prototype when developers or users cannot clearly have certain needs, so that many concepts and possible things are more intractive;
3, analyze feasibility, under the permissible cost, performance requirements, the feasibility of each demand implementation, clarify the risk of each demand implementation, including conflicts with other needs, involving various users' interest balance, Dependency and technical barriers of external factors;
4. Determine the demand priority: Analysis method to determine the priority of the use of instances, system features, or single requirements, determine which characteristics or which type of product will be included in the product version by priority.
5. Establish a model for the demand to establish a graphic analysis model for the demand for the software demand specifications, which can be used for system requirements from multiple angles;
6. Writing a data dictionary, Creating a Data Dictionary Data Dictionary is defined for all data items and structures used by the system to ensure that developers use unified data definitions;
7. Application quality function provides, link system characteristics, attributes, and importance to customers, and provides an analysis method to clarify which is the most concerned characteristics.
Write demand specifications
The final achievement of demand is that the customer and development team reached an agreement on the products that will be developed. This protocol is reflected in the demand specifications of documentation. Demand specifications include project views and scope documents illustrate the service needs of the system, and the use of instance documents illustrate user needs. This activity needs to complete the following tasks:
1. Adopt template, in your organization, to define a standard template for documents such as software requirements specifications, which provides a unified structure for recording system requirements and various other important information related to various needs;
2, indicate the source of demand, in order to let all project risk bearers understand why the demand specification provides these functional requirements, it is possible to trace the source of each demand, the source may be a use of instances or other customer requirements, or some item Higher layer system requirements, business specifications, government regulations, standards or other external sources, these sources should record in the tracking capability matrix of demand;
3, to note the label for each demand, in order to require trackability and modem-modified quality standards, must uniquely determine each software demand, to develop a convention to provide a separate independent for each requirement in the demand specification Identity label or marker;
4. Record the business specification, refers to the principle of the operation of the system, such as anyone who can take any action, write these to a separate part of the demand specification, or an independent business normative document;
5. Create a demand tracking capability matrix, establish a matrix to link each demand source, definition, implementation, testing its design and code section, which is conducive to the evaluation of the management and demand change impact.
Demand verification
Demand verification is to ensure the need for accurate, complete, expressive quality characteristics, demand will be the basis for system design and final verification, so it must ensure its correctness. Demand verification is sure to comply with completeness, correctness, flexibility, necessity, no-sense, consistency, traceability, and verifiable these good features. This activity needs to complete the following tasks:
1. Review the demand document, formally review the demand document is an effective way to ensure the quality of the software. Organize a group consisting of different representatives (such as users, analysts, designers, testers), carefully examined the demand specifications and related models;
2. Write test cases based on demand, the function test case of the product characteristics required by the user needs is based on the system test basis;
3. Write a user manual, drafting a user manual early in the development of demand development, use it as a reference and assistance demand analysis;
4. Determine the qualified standards, what kind of product described in the Demand Instructions is to meet the requirements of the user and the use of qualified tests on the use of scenario descriptions or instances.
Demand management
Demand management is a system approach for organizational, control, and documentation needs, as well as an agreement to establish and maintain users and development organizations for changing system functions. The results of demand development is verified to define the basis line of development work. This baseline considers a demand agreement between customers and developers, demand management includes the activities of maintaining demand conformity and accuracy during project progress. . Many commercial demand management tools now support demand management activities. This activity needs to complete the following tasks:
1. Determine the change control process, determine the process of change, analysis, analysis, and decision requirements, all demand changes need to follow this process;
2. Establish a Software Change Control Committee (SCCB, Software Change Control Board, organized a team consisting of project risk bearers as a change control committee, by them to assess and determine demand changes;
3. Change the impact analysis, assessment of demand changes on project progress, resources, workload, and project scope and other needs;
4. Track the product affected by changes. When a demand change is performed, refer to the requirements, design documentation, source code, and test cases to refer to the requirements, design documentation, source code, and test cases, which may also need to be modified;
5. Establish a baseline and control version, the demand document determines a baseline, which is a snapshot of consistency requirements at a specific time, and then the demand change follows the change control process;
6. Maintain changes in history, record the date of the changed demand document version and the changes made, and the reason, which is also responsible for updating and updating the new version number or the like;
7. Track the state of each requirement, where the status includes "determination", "has been implemented", "suspension", "new", "change", etc. Establish a database, each record record a requirement;
8, measure the stability of demand, record the number of baseline requirements and the number of per week or monthly changes (add, modify, delete).
Demand acquisition is the first step in erection bridges between the problem and its final solution, which is the main body of the software demand process. The purpose of a project is to commit the development of the correct system. To do this, it is necessary to describe the needs in detail, which is the condition or capabilities that the system must achieve, the user and the developer should do, what should I do? A consensus is reached. We all know that the most difficult part of the development of software systems is to accurately explain what is developed. The most difficult conceptual work is to prepare detailed technical needs, including all interfaces facing users, machines and other software systems.
Get demand is to solve these problems. It is essential to be a general understanding of the user needs described in the project. Once demand, analysts, developers, and users can explore multiple solutions to these needs. Program. Once the work in this phase, once it is wrong, it will eventually bring great damage to the system. Due to any changes to demand definitions due to demand, it will lead to a large number of rework on demand, and this The resources and time taken will greatly exceed the time and resources that carefully obtain demand. One of capturing user needs communication skills Source: yesky Author: Zhao Xi towards software development life cycle consists of requirements, design, coding and testing process four stages, in which the requirements process is the first and most important stage. Software requirements include three different levels: business needs, the benefits of providing new systems to customers and product developers, reflecting organizations or customers on systems, high-level target requirements, they will be in project views and scope The documentation is explained; user needs, describes the tasks that the user must complete, which is described in the use of instance documents or scheme scripts; functional requirements and non-functional requirements define the software features that developers must implement, make Users can successfully complete their tasks to meet business needs.
The software demand process includes five major activities: demand acquisition, demand analysis, and confirmation, write demand specifications, demand verification, and demand management.
Demand acquisition
The steps to collect, analyze, refine, and verify and organize them, and write it as a document. This activity includes writing project view and scope document, user group classification, selecting a user representative, establishing a core team, determining using an example, a joint meeting, analyzing user workflow, determining quality attributes, checking problem reports, and demand reuse 10 specific tasks The article will explain in detail later.
demand analysis
Analyze system implementation schemes based on demand documents obtained in demand acquisition. This activity needs to complete the following tasks: 1. Draw the associated map to define a simple model of boundaries and interfaces between system and system external entities;
2. Create a development prototype, develop a system prototype when developers or users cannot clearly have certain needs, so that many concepts and possible things are more intractive;
3, analyze feasibility, under the permissible cost, performance requirements, the feasibility of each demand implementation, clarify the risk of each demand implementation, including conflicts with other needs, involving various users' interest balance, Dependency and technical barriers of external factors;
4. Determine the demand priority: Analysis method to determine the priority of the use of instances, system features, or single requirements, determine which characteristics or which type of product will be included in the product version by priority.
5. Establish a model for the demand to establish a graphic analysis model for the demand for the software demand specifications, which can be used for system requirements from multiple angles;
6. Writing a data dictionary, Creating a Data Dictionary Data Dictionary is defined for all data items and structures used by the system to ensure that developers use unified data definitions;
7. Application quality function provides, link system characteristics, attributes, and importance to customers, and provides an analysis method to clarify which is the most concerned characteristics.
Write demand specifications
The final achievement of demand is that the customer and development team reached an agreement on the products that will be developed. This protocol is reflected in the demand specifications of documentation. Demand specifications include project views and scope documents illustrate the service needs of the system, and the use of instance documents illustrate user needs. This activity needs to complete the following tasks:
1. Adopt template, in your organization, to define a standard template for documents such as software requirements specifications, which provides a unified structure for recording system requirements and various other important information related to various needs;
2, indicate the source of demand, in order to let all project risk bearers understand why the demand specification provides these functional requirements, it is possible to trace the source of each demand, the source may be a use of instances or other customer requirements, or some item Higher layer system requirements, business specifications, government regulations, standards or other external sources, these sources should record in the tracking capability matrix of demand; 3, in order to note for each demand, for demandable traceability and modification The quality standard must uniquely determine each software demand, providing a separate identifiable label or marker for each requirement in the demand specification manner;
4. Record the business specification, refers to the principle of the operation of the system, such as anyone who can take any action, write these to a separate part of the demand specification, or an independent business normative document;
5. Create a demand tracking capability matrix, establish a matrix to link each demand source, definition, implementation, testing its design and code section, which is conducive to the evaluation of the management and demand change impact.
Demand verification
Demand verification is to ensure the need for accurate, complete, expressive quality characteristics, demand will be the basis for system design and final verification, so it must ensure its correctness. Demand verification is sure to comply with completeness, correctness, flexibility, necessity, no-sense, consistency, traceability, and verifiable these good features. This activity needs to complete the following tasks:
1. Review the demand document, formally review the demand document is an effective way to ensure the quality of the software. Organize a group consisting of different representatives (such as users, analysts, designers, testers), carefully examined the demand specifications and related models;
2. Write test cases based on demand, the function test case of the product characteristics required by the user needs is based on the system test basis;
3. Write a user manual, drafting a user manual early in the development of demand development, use it as a reference and assistance demand analysis;
4. Determine the qualified standards, what kind of product described in the Demand Instructions is to meet the requirements of the user and the use of qualified tests on the use of scenario descriptions or instances.
Demand management
Demand management is a system approach for organizational, control, and documentation needs, as well as an agreement to establish and maintain users and development organizations for changing system functions. The results of demand development is verified to define the basis line of development work. This baseline considers a demand agreement between customers and developers, demand management includes the activities of maintaining demand conformity and accuracy during project progress. . Many commercial demand management tools now support demand management activities. This activity needs to complete the following tasks:
1. Determine the change control process, determine the process of change, analysis, analysis, and decision requirements, all demand changes need to follow this process;
2. Establish a Software Change Control Committee (SCCB, Software Change Control Board, organized a team consisting of project risk bearers as a change control committee, by them to assess and determine demand changes;
3. Change the impact analysis, assessment of demand changes on project progress, resources, workload, and project scope and other needs;
4. Track the product affected by changes. When a demand change is performed, refer to the requirements, design documentation, source code, and test cases to refer to the requirements, design documentation, source code, and test cases, which may also need to be modified;
5. Establish a baseline and control version, the demand document determines a baseline, which is a snapshot of consistency requirements at a specific time, and then the demand change follows the change control process;
6. Maintain changes in history, record the date of the changed demand document version and the changes made, and the reason, which is also responsible for updating and updating the new version number or the like;
7. Track the state of each requirement, where the status includes "determination", "has been implemented", "suspension", "new", "change", etc. Establish a database, each record record a requirement;
8, measure the stability of demand, record the number of baseline requirements and the number of per week or monthly changes (add, modify, delete). Demand acquisition is the first step in erection bridges between the problem and its final solution, which is the main body of the software demand process. The purpose of a project is to commit the development of the correct system. To do this, it is necessary to describe the needs in detail, which is the condition or capabilities that the system must achieve, the user and the developer should do, what should I do? A consensus is reached. We all know that the most difficult part of the development of software systems is to accurately explain what is developed. The most difficult conceptual work is to prepare detailed technical needs, including all interfaces facing users, machines and other software systems.
Get demand is to solve these problems. It is essential to be a general understanding of the user needs described in the project. Once demand, analysts, developers, and users can explore multiple solutions to these needs. Program. Once the work in this phase, once it is wrong, it will eventually bring great damage to the system. Due to any changes to demand definitions due to demand, it will lead to a large number of rework on demand, and this The resources and time taken will greatly exceed the time and resources that carefully obtain demand.