Requirements, requirements engineering and requirements engineers — 3. The composition of requirements engineering

The concept of demand is there, but how to obtain demand systematically and efficiently? What is the process for obtaining requirements, what are the steps, the corresponding methods for each step, and what are the standards? To solve these problems, it is necessary to establish a set of standard requirements acquisition methods. Requirements engineering is the method used to solve the above problems. It is the first part of the three core projects of software engineering (requirements engineering, design engineering, and development process). The results of requirements engineering are the input of subsequent design engineering. Requirements engineering is to support the systematic requirements modeling process, and provides standard definitions and constraints for the software requirements model, so that the requirements engineer and the development engineer have the same understanding of the requirement information.

1. The composition of requirements engineering

Use the three core parts of software engineering to build a framework, where the content of requirements engineering can be displayed in two dimensions according to the horizontal axis and the vertical axis, as shown in Figure 1.

Insert picture description here
Figure 1 The composition of software engineering and requirements engineering

1) Engineering decomposition-the horizontal axis
in Figure 1 shows the position of requirements engineering in software engineering, the content composition of requirements engineering, and expresses the four main phases and sequence relationships of requirements engineering in a process manner. The four phases They are: research preparation, demand research, demand analysis, and demand management. Among them, demand research and demand analysis are the key points in demand engineering and the main work stages of obtaining demand.

2) Work breakdown-the vertical axis
completes different tasks in each stage of the requirements engineering, and the vertical axis gives the main work composition in each stage of the requirements engineering. For example, the main tasks in the research preparation stage are divided into: organization plan, Background questionnaire, standard environment, etc.
The content of the horizontal axis and the vertical axis will be described below.

2. Research preparation

Investigation preparation is the first stage of requirements engineering. It focuses on the preparations that requirements engineering needs to make before entering the formal investigation. These preparations play a very important role in guiding the subsequent investigation, analysis and data management.

1) Organization plan
□ Establish a demand research team before conducting demand engineering, determine research resources, division of labor, etc.
□ The research team will plan, route, and methods for subsequent research work
□ Make a research plan based on the research content, construction period, resources, etc. , Including milestone plan, execution plan (monthly plan, weekly plan, person plan, sector plan, weekly meeting), data delivery time, results review time, etc.

2) Background questionnaire
□ background information: collect background information related to the project, including: client enterprise composition, business areas, IT status, expectations for informatization, etc. The sources of information include corporate website, information, communication with sales staff, etc.
□Questionnaire survey: Preliminary use of questionnaires to conduct "pre-survey" to collect user information in advance to lay a foundation for proactively mastering when entering the survey formally. The questionnaire allows users to have a psychological preparation in advance, what content to investigate, how to investigate, etc., and at the same time The pre-investigation data can support planning and planning.

3) Standard environment
□ Establish standards, including: unify the main terms (term dictionary) with customers, research standard process, demand record template, delivery data type, stage review time and content, etc.
□ Arrange the research environment, including offices, communication sites, and research equipment (including projectors, whiteboards, and color pens)
□ Time for the project kick-off meeting, and the content to be determined at the meeting, including: the discipline, rules, and rules to be followed by both the client and the researcher Plans, possible risks and countermeasures are very important safeguards.

3. Need research

Demand research is one of the core stages of demand engineering. The main work of this stage is to collect and record customer needs for informatization. The focus is on the "record" of the original demand, rather than the "analysis or design" of the original demand. At this time, it should be avoided because the analysis and design incorporate the personal opinions of the requirements engineer, and the data in the requirements research phase must maintain the "original nature" of its first-hand data (the use of the requirements template is to standardize and format the record content). There are three main forms of collection and recording.

Insert picture description here
Figure 2 Three recording forms of demand survey

1) Status quo composition (graphic record form), Figure 2(a)
The first thing to do a good job of demand research is to understand the current situation of the customer's business, and the best way to express the current situation of the business by means of architecture diagrams. The current situation composition diagram is not only a record of the current situation of the customer, but also an important reference for subsequent business structure, optimization, and improvement. Without this diagram, you will not know what to use as a reference object for business optimization in the subsequent design.
■Note:
The purpose of demand research is not only to obtain the "business function" of the software, but also to obtain the "business logic", both of which are indispensable basis for software design and development, and the business logic mainly depends on the architecture diagram. Way to get it.

2) Interview record (in the form of transcript), Figure 2(b) **
Needs that cannot be expressed in graphics should be recorded in words. There are two main forms of written records: pre-questionnaire and face-to-face interview.
(1) Before the questionnaire
understands the basic situation of some users, a questionnaire that plays an inducing and enlightening role can be prepared in advance, and relevant questions will be asked, and the future research objects can be answered by filling in or choosing. In this way, some simple and basic requirements can be grasped efficiently and quickly.

(2) Face-to-face interviews.
This part has the most content and the largest workload, including the clear needs of customers for informatization, unclear questions, and expectations for the future, such as:
□Demand at the decision-making level: philosophy, purpose, Business opportunities, etc.;
□Requirements at the management level: optimization, efficiency, benefit, etc.;
□Requirements at the executive level: functions, measures, rules, etc.;
and common problems at all levels, such as the difficulty and pain points in business operations.

3) Existing forms (form record form), Figure 2(c)
Existing forms are all kinds of data that customers formally use before importing into the information system and need to be converted into system processing. Including: all kinds of vouchers, statistical reports, analysis data, etc. They can exist in the form of electronic forms and paper forms.
This is an important reference for the subsequent design of business functions. These materials provide the following information (not limited to this)
□Business functions and system interface references;
□Data definitions, data logic, data rules (calculation formulas);
□The entities corresponding to the nodes in the business process; etc.

4. Demand analysis

Requirement analysis is to conduct detailed analysis, research and judgment on the collected original requirements, accurately understand the customer’s goals, business and other requirements for informatization, and ultimately transform these requirements into accurate functional requirements definitions. Requirements analysis is the process of determining what the system must do. The requirement analysis stage is to analyze what the system needs to "achieve" in terms of function, without considering how to "achieve".
After the requirements analysis is completed, a [requirement specification] is given. This data is used for two purposes: to answer customer needs and as input for subsequent design.
□For customers: determine all the contents of the system to be developed/delivered, which is the basis for the signing/acceptance contract between the two parties;
□For design: it is the basis for planning the scope, objectives, principles, etc. of the system, and is the guidance for specific design;

The results of the requirements analysis not only affect the number of functions that need to be actually developed, but also directly affect the development cost of the software project, and even the technical capability requirements of the software vendor.

Based on the understanding of the data collected in the demand survey, we extracted, categorized, and sorted out, and at the same time supplemented the breakpoints during the survey based on the analysis, and presented it in a more standardized way. The important thing is: the demand engineer Through the analysis of high-end requirements such as target requirements and business requirements, personal understanding and valuable opinions on the improvement of enterprise informatization are added. Therefore, the results of the requirements analysis and the original records will be different. The understanding of the requirements engineer represents the software The understanding of the development team and the confirmation to the customer based on this, the final draft forms the input data for the next design link.
Therefore, the ability of the demand engineer will ultimately affect the content, technology, cost and cycle of the information system.

Insert picture description here

Figure 3 The relationship between the results of demand research and the three levels of demand analysis

The main point of the requirements analysis stage is to give specific software "functional requirements". Three types of investigation records were obtained during the demand investigation stage, as shown in Figure 3(a). The content of these original requirements is divided into three levels according to the proposer and purpose, as shown in Figure 3(b). Among them
□ target requirements: puts forward the construction direction and goals of the system, which are relatively abstract, and need to be converted into corresponding business requirements;
□ business requirements; put forward the business content to be supported by the system, which is the basis for mutual understanding from the business;
□ functional requirements : The functional content to be realized by the system is proposed, which is the basis for mutual understanding from the function; the
target requirements and business requirements must be converted into functional requirements if they are to be implemented in the system.

5. Demand Management

Mainly the management of configuration. Because the requirements management part of requirements engineering (including: record standard, record template, requirement confirmation, requirement tracking, change control, version update, etc.) is the management and maintenance of analysis and design results.

The aforementioned three blog posts explained what requirements and requirements engineering are. The following is an explanation of the capabilities required by the person in charge of the requirements work.

■ The next post in this blog post series: Requirements, Requirements Engineering, and Requirements Engineers — 4. Ability requirements for consulting

For detailed requirements engineering description, please refer to the book "Dahua Software Engineering—Requirements Analysis and Software Design".

Insert picture description here

Guess you like

Origin blog.csdn.net/lihognjun/article/details/113682128