Let you know software development in advance (50): software requirements

Source: Internet
Author: User

Part 1 software R & D work summary

Software requirements

 

What are the responsibilities of software engineers? In a wordFulfill software requirements. Every day, the software that everyone comes into contact with has evolved step by step from software requirements. So what are the software requirements? How to fulfill requirements? What should we pay attention to when fulfilling the requirements? This article will answer your questions.

1. What are software requirements?

Generally speaking, software requirements refer to the functions that require software development engineers to complete. For example, if you want a software to be able to process files, a web page to display customer information, and a mobile phone to be able to recognize fingerprints, these requirements are all software requirements.

In a more professional term, a requirement refers to the level at which the descriptive object (that is, the software) "does" (functional requirements) and "does" (non-functional requirements, such as performance requirements, quality attribute requirements, and external environment requirements ).

The relationship between requirements and development is as follows:

Figure 1 Relationship between requirements and development

 

2. Software Requirement example

If a software is required to implement the file processing function, a complete software requirement is as follows:

Background: The customer requires the software to have file processing capabilities to obtain information in the file.

Requirement: The software processes information in local files and saves the read information to the database.

Performer: This software

Priority: High

Usage Frequency: executed during software running

Prerequisites: the database and operating system are running normally.

Post condition: none.

Normal process:

Step 1: The software periodically scans the specified local file directory to find the files named as required;

Step 2: After scanning the file, the program parses the read content and writes the parsed content to the specified database.

Optional process: none.

Abnormal process: If there is no file in the local directory, the program continues to run without stopping.

Special requirements: Do not process PDF files.

Source: Carrier customers.

A software requirement includes many of the above content. The purpose is to clearly describe what needs to be done so that developers can compile programs to achieve this requirement.

 

3. Complete the division of roles in the requirement process

In the process from generation to completion of a requirement, the main personnel involved include the following:

(1)System Engineer (SE): They are responsible for writing requirements, constantly improving requirements during the development process, and answering questions from developers.

(2)Development Engineer): They are responsible for implementing the requirements using program code and communicating with SE regarding the problems in the requirements.

(3)Test Engineer): They mainly test the software developed by the development engineers and communicate with the development engineers and Se on relevant issues.

Interaction between the above three roles is shown in Figure 2:

Figure 2 interaction between three types of roles

 

4. How can developers accurately fulfill their needs?

(1) participate in the demand Review Meeting, understand the functions to be implemented by the requirement, and evaluate the rationality of the requirement to eliminate unreasonable, ambiguous, and difficult requirements.

(2) Before coding, design the software in detail and initiate a review, ensure the correctness of the software process and functional integrity, and reduce the troubles caused by subsequent modifications.

(3) carefully read the requirements during the coding process to ensure an accurate and thorough understanding of the requirements. If problems or doubts are found in the demand implementation process, communicate with Se in a timely manner (face-to-face communication is preferred ).

(4) After a function is completed, the code is tested (unit test) to ensure the correctness of the implemented function. After all functions are implemented, the entire program must be tested (integrated testing ).

(5) Before submitting the program, ensure that the code and documentation are complete, and finally check the integrity of the program version.

 

All software starts from the demand. Therefore, developers must take a highly responsible attitude towards software requirements and implement them quickly and accurately to make high-quality software products.

 

 

 

(My microblogging: http://weibo.com/zhouzxi? Topnav = 1 & WVR = 5, No.: 245924426, welcome !)

Let you know software development in advance (50): software requirements

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.