1 Overview
1.1 Writing Purpose
This article describes the purpose of preparing the requirement specification. The following is an example:
The purpose of writing this document is to further customize the details of software development, hoping to make the software development work more specific. To give users, software developers, and analysts and testers a common understanding of the software's initial requirements, it illustrates the functional, performance, and data requirements of the software, it clearly identifies the specific meaning of each function, describes the practical background and scope, provides the conditions or capabilities required by the customer to solve the problem or achieve the goal, and provides a benchmark for measurement and compliance. Specifically, the purpose of writing a Software Requirement Description is to propose for the developed software:
A) Overall requirements of software design, as the basis for mutual understanding between software developers and Software testers.
B) functional and performance requirements, data structure and collection requirements, and important interface requirements are used as the basis for software designers to carry out the outline design.
C) basis for software validation testing.
1.2 compiling basis
Specify the basis of the requirement specification. Generally, you can write plans and plans based on xxx software.
1.3 terms and acronyms
Abbreviations, terms, and symbols |
Release |
|
|
|
|
|
|
2. Software Overview 2.1 Overall Software Description
Describes the overall situation of the software, including the form of the software (website, runtime system, plug-ins, etc.) and the main functions of the software, give readers a general understanding of the software. In either case.
2.2 software design constraints and related instructions
The constraints of software design and related descriptions are as follows.
Development Environment:
Programming Language:
Compliance: the software design and development process must be carried out in strict accordance with the contract requirements according to the software design scheme. The software development process should follow the software engineering specifications to manage and control the process and version.
Test environment: Specify the Unit for testing and the software and hardware environment used by the testing unit.
Software Delivery form:
Software Delivery Date:
Others: see the contract.
2.3 user features
Specifies the user of the software. Example:
This software is mainly used in Party A's work environment. The users include project management personnel, developers and engineers. The users have no obstacles in the application and use of computers, all of them have been trained in computer operations and usage.
3 development and running environment 3.1 hardware environment
The running environment of XXX software is personal computer. The detailed requirements are shown in Table 3.1.
Table 3. 1 hardware requirements of the software operating environment
Requirement name |
Detailed requirements |
CPU |
|
Memory |
|
Hard Disk |
|
3.2 support software environment
Requirement name |
Detailed requirements |
Operating System |
|
... |
|
... |
|
... |
|
... |
|
3.3 Interface
3.3.1 external interface
Describes the interface between the software runtime and the external environment, including the interface representation of the software. Example:
The user interface of the external interface is designed according to the user interface specification of the Windows application software. The interface design style is consistent with that of the XXX environment. the user interface is conveniently used by using XXX and dialog boxes.
3.3.2 Software Interface
Describes the interface between the software and the software environment it runs. Example:
This software runs on the xxx software and later versions. The entire environment needs to run on Windows XX and later versions with XXX (dependent on software) operating systems.
3.3.3 hardware interface
The interface that specifies the software and the running hardware environment.
Inter or other series of micro-computers, memory xxxg or above, hard disk xxxg or above.
3.3.4 Internal interface
Describes the interfaces or specifications between modules in the software, and the format of data exchange between modules. Example:
The internal interfaces of the software are exchanged through XXX. Users use XXX software ...... It can be said that each module of the software is associated mainly through XXX to transmit data and exchange information, thus reducing the degree of coupling between software modules.
3.4 control and operations
Describes the control and operation methods required to use the software. Example:
The final delivery form of XXX software is XXX. You can control the running of the software by double-clicking the mouse or starting the xxx environment with the command line, and then starting xxx with the mouse.
The xxx software provides XXX and other functions. The setting and use of each function item should conform to people's computer operation habits, keyboard Input and menus are used to start and use the software. The control signals are input by the mouse and keyboard.
4. Detailed Requirements: 4.1 Performance Requirements
4.1.1 precision requirements
Follow the strict data format input and prompt the input that meets the data format requirements.
4.1.2 time characteristics requirements
Software Start Time:
System Real-Time Response Time: During software use, the response time for user mouse clicks, keyboard input, and other operation events in each function module must be within the user's tolerable range, generally, it must be less than 1 second.
Data conversion and transmission time: For data interaction between different software modules, the data conversion and transmission time must not exceed xxx.
Data Update Time: XXX.
4.1.3 flexibility requirements
The xxx software supports multiple operation methods, such as the mouse and keyboard. The Design and Implementation of the software must take into account the changes in the runtime environment and be able to be used normally when the runtime environment changes. At the same time, the software must be compatible with the changes of other software interfaces to ensure normal use in different operating environments and different software interfaces. The specific requirements are as follows:
Changes in operating methods: the software should support multiple operating methods, such as the mouse, keyboard and menu.
Changes in the runtime environment: the design and implementation of the software must consider the changes in the runtime environment and provide support for different runtime environments. Specifically, the software should support the OS of a certain or later version of Windows and the xxx environment.
Changes with other software interfaces: when other software interfaces change, xxx software should be able to adapt to interface changes.
Changes in accuracy and validity period: flexibility requires that the software be able to easily adapt to changes in accuracy and validity period.
Planned changes or improvements: the software should be flexible enough to adapt to future changes or increases in demand.
4.2 functional requirements
After multiple demand surveys, the functional requirements of XXX software are raised. The xxx software consists of XXX, XXX, and other modules. The organizational structure of the software is shown in Figure 4.1.
Figure 4.1xxx software research content
The use case diagram of the entire software is shown in Figure 4. 2.
Figure 4.2 software use case diagram
The main functional modules of XXX software and the main functional descriptions of each module are shown in table 4. 1.
Table 4.1xxx functional modules
Xxx Software |
Module name |
Function Description |
Xxx Module |
|
Xxx Module |
|
Xxx Module |
|
Xxx Module |
|
Xxx Module |
|
Xxx Module |
|
The following sections describe each functional module of the software in detail. Each functional module occupies a section, such as 4.2.1 and 4.2.2. When introducing each function module, first give the overall description of the function of this module, and then give the use case diagram of this module. Then, within this section, divide the title into several levels, the functions of this module are described in different points.
4.3 Data Requirements
4.3.1 data collection requirements:
Input Source: manual keyboard input;
Input media and devices: keyboard and mouse;
4.3.2 data output requirements:
Output media and devices: displays and files;
5 fault handling requirements 5.1 software operation faults
In the process of using the software, when the computer is powered off, the computer memory is insufficient, and so on, xxx software will run fault. When a running fault occurs, all functional modules of the software cannot be used normally, and the related function buttons cannot be started normally.
For software operation faults caused by computer power failure, after you re-power the computer, you can restart the computer and start XXX software to restore the normal operation and use of the software. We recommend that you temporarily disable software for software faults caused by insufficient computer memory. The user shall check and solve the problem of insufficient computer memory. After the memory usage is normal, the xxx software will resume normal operation and use.
In the event of software operation faults and repair, the integrity of the XXX software functions should be ensured.
5.2 software usage faults
If a software fault occurs during the use of the software, an alarm should be reported.
1) when the files on which the software depends are damaged or lost, the software prompts in the form of a dialog box to report damaged or lost files and other related errors, so as to help users repair the normal functions of the software in a timely manner.
2) If the software requires user input items, the software should prompt in a reasonable manner in the case of missing input items, incorrect input item format, or non-compliant rules.
3) In order to prevent information loss due to the lack of timely storage, the software provides a timed storage mechanism to automatically store information at a certain time, so as to ensure the security of user data.
6. Quality Requirements
1) The functions of the software must conform to the common usage and operation habits of mainstream XX software.
2) The xxx tool must meet the simple operation requirements, so that users can use the tool for a series of development work without any obstacles.
3) high configuration is required to facilitate the use and customization of tools.
4) adopt feasible, reasonable, and efficient methods for open design and implementation.
5) The software has strong adaptability and is easy to maintain. It not only can meet the current needs well, but also should provide good interfaces for future development work.
7. Other requirements 7.1 ease of use requirements
The Design and Implementation of the XXX and XXX software follows the principle of usability, tool installation and entry, and tool User Interface layout, the operation methods of tools must comply with the design style and requirements of mainstream XX software.
1) The operation is simple and the design is reasonable.
2) during XXX, XX provides XXX and other functions to implement XXX.
3) The operation prompt information should be necessary during the use of XXX.
7.2 security requirements
To manage the software installation and use in a unified manner, after installing XXX, the tool must be authorized by the Administrator. The software uses the activation code-registration method to meet this requirement. When the software is started and used, the software's authorization information should be checked. If the software lacks authorization information, the software will be automatically disabled.
Click here to download the Requirement Specification Template