当前位置:网站首页>On software requirement analysis
On software requirement analysis
2022-06-24 17:39:00 【Software test network】
Generally speaking , The process of continuously revealing and testing the user's intention , It is necessary to make a more detailed description of the system objectives determined by the system feasibility analysis .
If you are a construction engineer , A client asked you to build a chicken nest , We need to communicate with customers at this time , To determine what kind of henhouse the customer wants . We should pay attention to three points :
1、 Accurately understand and describe the functions required by customers .
Customer said , My chicken nest needs three layers , With elevator , Drinking pool , Toilet , The drinking pool should automatically judge the water level and supply , The elevator should be able to ride at the same time 10 chicken …. The customer talked a lot , You are also very loyal in accordance with their own understanding of one another to describe the customer again , In order to confirm whether the customer's requirements are correct .
2、 Help customers to explore their needs .
Wait for the customer to finish his needs , You find that the client didn't say the chicken bedroom , therefore , You propose to the client that :“ You see , What does the chicken bedroom look like ?”, The customer clapped his forehead and said , I almost forgot , Chickens like to chat together at night , So , Need a long, big bedroom , But be comfortable .
3、 Analyze the feasibility of customer needs .
When the customer left, he said , Recently , There are many weasels , My chicken nest , There is no need to build the first floor , Just build the second and third floors ! To avoid being attacked by weasels at night . You have such an analysis , The customer asked , It can't be built according to the current technology , therefore , You propose , The first floor uses solid shelves to support the buildings on the second and third floors .
Two 、 What are the difficulties of demand analysis ?
There are several reasons why demand analysis is difficult :
(1) The customer didn't know what they wanted ;
Some customers have only a hazy sense of demand , Of course, I don't know the specific needs .
Some customers are very clear about what they want , But I can't understand .
If the customer understands software development , Be able to articulate the needs , Such demand analysis will be very easy 、 Cheerful . If the customer doesn't understand the software at all , But trust the software developers , It's easy to do . Analysts can lead customers , Start with the usual needs , Then the customer negates the unnecessary , Finally determine the real needs of customers . What I fear most is “ Don't know, pretend to know ” perhaps “ Half know how to be an expert ” The customer , They will make unrealistic demands .
(2) Demand itself is constantly changing ;
Analyze as much as possible what are the stable needs , What are the changeable needs . In order to design the system , Building the core of software on stable requirements .
It must be clearly defined in the contract or requirements specification “ What do you do ” and “ What not to do ”.
(3) The analyst or the customer misunderstood .
Requirements analysts cannot all be generalists . The needs expressed by customers , Different analysts may have different understandings . If you get it wrong , It may cause the development to waste time and energy . So after the analyst has written the requirements specification , It is better to ask the client for verification . Conditionally design prototypes to demonstrate requirements .
3、 ... and 、 Classification of requirements analysis :
Requirement analysis can be generally divided into functional requirements 、 Non functional and domain requirements
1、 functional requirement
Functional requirements mainly explain what the system should actually do . This is the most intuitive and main demand of users , Such as the input and output of the system 、 Functions that the system can complete and other related processing ;
2、 Non functional requirements
Nonfunctional requirements are also called “ constraint ”, It mainly restricts and restricts the system from all aspects . Such as response time 、 Storage efficiency 、 Report specifications and interface styles
3、 Domain needs
The source of domain requirements is not users , It's the field of system application , It mainly reflects the basic problems in this field .
Four 、 How to conduct demand analysis ?
Demand analysis is not like romance between lovers ——“ Let me touch your hair , Feel what color it is .” We need to understand the channel and process of demand analysis .

The process of requirement analysis :

(1) feasibility study
It indicates existing software 、 Whether the hardware technology can meet the user's requirements for the system , From a business perspective, determine whether the system development is feasible and whether it can be developed within the budget . The result of the feasibility study is a clear answer : Whether the system is worth developing ?
(2) Requirements export and analysis
This is an analysis of existing systems 、 Discuss with potential customers 、 The process of deriving system requirements, such as task analysis , It may also be necessary to develop one or more different system prototypes , To help the analyst understand the system to be described .
(3) Requirements describe
Requirement description is to determine the information collected in the analysis activities in the form of documents after analysis . There are two types of requirements in this document : User requirements are abstract descriptions of system requirements from the perspective of customers and end users ; System requirements are detailed descriptions of the functions to be provided by the system .
(4) Validation of requirements
Mainly through review 、 A series of activities such as verification to find out the errors and omissions in the requirements document and correct them .
(5) demand management
Requirements management requirements management is a systematic approach , Available for acquisition 、 Organize and document system requirements and keep users and developers consistent on system change requirements .
5、 ... and 、 The method of requirement analysis
1、 Functional analysis method
Functional analysis functional decomposition organizes the system around the functions provided by the system . First define the various functions , Then decompose the function into sub functions , At the same time, define the interface between functions . Data structure is based on function / Subfunctions need to be designed . The basic strategy is based on the experience of analysts , Determine the processing steps or sub steps expected by the new system , then , Map problem space to functions and subfunctions .
2、 Data flow method
Data flow method is also called structural analysis , Its basic strategy is to study how the data flows in the problem domain and how to deal with it in each link , To discover data flow and processing . The problem domain is mapped as a data stream 、 Processing and documentation 、 Data flow diagram composed of endpoint and other components (DFD) , And use data dictionary to explain data flow and processing in detail . The key to this approach is to dynamically track the flow of data .
3、 Information modeling methods
The core concept of information modeling is entity and relation , The main tool is semantic data model ( Entity relation diagram ) , Its basic strategy is to find out the objects of the real world , Then we use properties to describe objects , Add the relationship between objects , Define parent and child classes , Use the type of father / Subtypes extract the commonness of attributes , Make a detailed description of the relationship between related objects , Finally, the standardization treatment is carried out . Its essence is to map the problem space directly to the objects in the model .
边栏推荐
- 视频平台如何将旧数据库导入到新数据库?
- 03. Tencent cloud IOT device side learning -- overview of mqtt control package
- How to build RTSP test URL in Intranet Environment
- Issue 39: MySQL time class partition write SQL considerations
- Memory alignment in golang
- Go collaboration and pipeline to realize asynchronous batch consumption scheduling task
- Go language GC implementation principle and source code analysis
- 电子元器件行业B2B电商市场模式、交易能力数字化趋势分析
- Do you know CMDB?
- Constantly changing the emergency dialing of harmonyos ETS during the new year
猜你喜欢

LC 300. Longest increasing subsequence

How to decompile APK files

Etching process flow for PCB fabrication
Using consistent hash algorithm in Presto to enhance the data cache locality of dynamic clusters

Mengyou Technology: tiktok current limiting? Teach you to create popular copywriting + popular background music selection
Using flex to implement common layouts

Error reported after NPM I

NVM download, installation and use
SQL basic tutorial (learning notes)

The 'ng' entry cannot be recognized as the name of a cmdlet, function, script file, or runnable program. Check the spelling of the name. If you include a path, make sure the path is correct, and then
随机推荐
Leveldb source code analysis -- version management
How to learn go language happily? Let's go!
Failure analysis | database failure MHA is not switched
Industrial security experts talk about DDoS countermeasures from the perspective of attack and defense
Design topic: MATLAB cellular automata personnel evacuation
Optimizing bloom filter: challenges, solutions, and comparisons
Install Clickhouse client code 210 connection referred (localhost:9000)
Can yangjianyun's new media operation in 2021 bear all the expectations of the enterprise's private domain traffic demand?
Will the easycvr video channel of the urban intelligent video monitoring image analysis platform occupy bandwidth after stopping playing?
Management system permission design
Use cloud development to make a login free resource navigation applet!
-Bash: wget: command not found
A set of IM architecture technology dry goods for 100 million users (Part 2): reliability, orderliness, weak network optimization, etc
Erc-721 Standard Specification
Users of the Tiktok open platform are authorized to obtain the user's fan statistics and short video data
From file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql The GPG key to retrieve the key source "MySQL 5.7 community server" is installed, but not applicable to
Go collaboration and pipeline to realize asynchronous batch consumption scheduling task
腾讯云TCS:面向应用的一站式PaaS 平台
A solution to the problem that the separator of WordPress title - is escaped as -
Snapshot management for elastic cloud enterprise