Chapter 2: Software Requirement Analysis

Source: Internet
Author: User

 

 

After reading the figure above, you will understand the general content of this lecture. Below I will summarize it based on the classification of this image.

 

I. first look at the task of Requirement Analysis:

To put it simply, you can use the logic model of the current system to export the logic model of the target system, that is, to solve the problem of "what to do. Let's take a look at this picture to understand:

 

 

A detailed description is as follows: 1. Describe the functions and performance of the software in depth; 2. Determine the constraints of the software design and the interface details of the software with other system elements; 3, define other validity requirements for the software. All in all, requirement analysis is to determine the system elements of the developed software system based on user requirements and construct the model we want to achieve!

 

Ii. Demand analysis process:

(1) problem identification: we need to understand the problems we are targeting. Here I will give you a few examples: 1. Functional requirements; 2. Performance requirements; 3. Environmental requirements; 4, reliability requirements; 5. security and confidentiality requirements; 6. User interface requirements; 7. resource usage requirements; 8. Cost consumption requirements; 9. Potential objectives of the system in the future are estimated, these are the problems we need to identify. Of course, another task of problem identification is to establish the communication channels required for analysis, so that we can smoothly analyze these problems.
(2) second, analysis and synthesis: Starting from the information flow and information structure, we will gradually refine all software functions and find out the connections between various elements of the system, interface features, and design constraints, analyze whether they meet functional requirements and are reasonable. In fact, it is the basis of user requirements to analyze the corresponding needs of this system. (3) prepare the document for the demand analysis phase. The document includes four aspects: Software Requirement Specification, data requirement specification, initial user manual, and modification, improve and determine the software development implementation plan. (4) Finally, the demand analysis review: Here I propose several criteria:
1. Whether the goals defined by the system are consistent with the requirements of users; 2. whether the documents provided in the system requirement analysis stage are complete; 3. Whether all the descriptions in the documents are complete and clear, accurately reflect user requirements; 4. have important interfaces with all other system components been described. This is the four stages of requirement analysis.

 

Iii. Requirements Analysis principles:

Here I will give you six ideas: 1. Understand the problem first before establishing a model; 2. Develop a prototype so that you can understand how human-computer interaction will take place; 3, record the origin and cause of each requirement; 4. Use multiple requirement views; 5. Attach the requirement to the priority; 6. Delete ambiguity.

 

4. methods for analyzing software requirements:

1. the structured analysis method is to use the abstract model concept to break down from top to bottom based on the internal data transmission and transformation relationships of the software until the software that meets the functional requirements is found! There are four tools available here. Let's take a look at the data flow chart, data dictionary, structured English language, discriminant table, and decision tree. Here I will summarize the data flow chart, because it is the most used. The data flow diagram is as follows:

 

 

Based on the three diagrams above, I propose several principles for drawing a data flow chart: 1. All the graphical symbols on the data flow chart are limited to the four basic graphic elements mentioned above; 2, the main chart must contain the preceding four basic elements, which are indispensable. 3. Each processing has at least one input data stream and one output data stream. 4. In the data flow chart, the number of the processing box needs to be numbered by layer, number indicates the parent-child relationship between the processing level and the upper and lower layers;
5. It is required that any data flow graph subgraph must correspond to a processing on the previous layer. The input data streams of the two must be consistent with the output data streams. 6. Each element in the diagram must have a name. 7. control flow is not supported in the data flow diagram. 8. trivial details can be ignored during initial painting to concentrate on the main data flow.

 

2. Prototype Method: at the early stage of development, we construct a prototype that can be different from the target system. What we need to do is to continuously run and evaluate the system, gradually move the prototype closer to the target software system. Its advantage is that designers can stay with users all the time. Let's take a look at this figure:

 

3. Dynamic Analysis Method: three diagrams are available here: Status migration diagram, sequence diagram, and Petri net.

 

Status migration Diagram: It is a graphical representation that describes how the system state goes over the corresponding external signal. You can see the following figure:

 

Petri Net graph:It is applicable to a processing system with independent description and analysis and collaborative operations, that is, a processing system for concurrent execution. You can see the two figures clearly:

 

 

In summary, there are several methods for our demand analysis. We can base on our needs and select an appropriate graph for research. Of course, interactive use will be better!

 

5. Finally, let's talk about the specification of the software requirement:Each stage requires a report, which has the same part and its own characteristics. We need to do the same thing, keep researching, and write the actual report documents:

 

All in all, the requirement is to understand what the software requires, how it is used, and what standards and requirements it has. When I think of building a house in the previous article, the actual software requirement is to analyze and study what is needed, how much is required, what kind of house is built, and what kind of standards are met.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.