当前位置:网站首页>Demand and business model innovation - demand 3- demand engineering process
Demand and business model innovation - demand 3- demand engineering process
2022-06-12 19:37:00 【SpriCoder】
Book3- Requirements engineering process
1. Requirements engineering process
- A process is an integration of a set of related activities , Through the implementation of these activities , Can complete a task or achieve a goal .
- Requirements engineering process is the integration of requirements development activities in system development , He takes the business problems faced by users as the starting point for analysis and various transformations , Finally, a system solution that can solve users' business problems in the user environment is generated , And document it into clear requirements
![]() | ![]() |
|---|
- Above right , Requirements engineering activities are intertwined , The whole development activity is also iterative and increasing .
- Different projects have different requirements engineering processes
- Large scale military systems will have strict requirements engineering process
- Requirements engineering for small, innovative software companies may be just some brainstorming sessions .
- From the perspective of hierarchy of requirements, requirements development
![]() | ![]() |
|---|
- Common documents :
- Project prospect and scope document : Define the business requirements of the system , Define the direction and scope of the system .
- User requirements document : Define user requirements , It expresses the expectation of the system behavior from the user's standpoint , For example, use case documents .
- Requirements specification document : The system level requirements of the system are defined , It points out the tasks that developers should complete .
- System specifications : Including the requirements of the whole system
- Software specifications : The software requirements

2. Activities of requirements engineering process
2.1. Demand acquisition
- Requirements are obtained from people 、 Information or environment The process of obtaining requirements
- Requirements engineers must take advantage of Various methods and techniques Come on " Find out " demand
- Requirements acquisition and analysis are Interweave Of : The target model used in establishing the project prospect and scope in the first half of requirements acquisition can also be regarded as a typical model-based requirements analysis
2.1.1. Collect background information
In depth understanding of the need to build a knowledge framework , It is the knowledge base for communicating with users .
2.1.2. Get problems and goals , Define the prospect and scope of the project
- Generate business requirements , Define what the system needs to achieve .
- When requirements conflict between users , The project prospect can be used to guide the negotiation and resolution of requirements conflicts .
- Demand acquisition faces a wide range of information :
- Don't spend too much on irrelevant content .
- Do not omit the important contents that should be obtained .
- Business requirements of the project 、 The foreground and scope will be recorded in the foreground and scope document of the project .
- The content of the document helps strengthen investor confidence ( Project clarification )
2.1.3. Identify stakeholders , Choose the source of information
- Stakeholder analysis : Select a few users to represent all users , So we need to classify users , Find the user representative
- Hard data sampling : Forms 、 report form 、 Hard data such as memos is another important source of information that needs to be obtained : They use more clearly 、 Regulations and accurate way to describe the actual business , But we need to use appropriate methods for sampling .
- Related products 、 Documents, domain experts, etc. may also be the source of requirements .
2.1.4. Choose the acquisition method , Execute get
Interview ( questionnaire )、 Observe 、 Prototype ( It needs to go deep into )
2.1.5. Record the results ( Raw information not finished )
- The main results of the requirements acquisition phase are business requirements 、 Project prospects and scope 、 User requirements and problem domain characteristics .
- Prospect and scope documentation Business needs
- Get notes User requirements and problem domain characteristics
- The obtained records may be messy 、 Ambiguity and so on .
2.2. Demand analysis
- The main work of requirement analysis is modeling to integrate all kinds of information , So that people can better understand the problem : Refinement of information 、 Provide support for creative activities , Complete the conversion of content
- Define a for the problem Demand set , This set can define an effective solution to the problem
- Check what exists in the requirements error 、 missing 、 atypism And other defects , And amend it : Make use of the syntax and semantics of the model itself
- At the end of requirement analysis, a requirement will be generated Baseline set . It specifies the tasks that need to be completed for system development .
- Under the condition of limited resources, the baseline set is often a subset of the functions required by users .
- The requirements in the baseline set require the characteristics of excellent requirements , In particular, inconsistencies and conflicts should be resolved .
2.2.1. Background analysis
- Because the system must interact with the deployed environment to solve the user's problems , So in system development , Especially requirements development , It is important to study the environment in which the system will be deployed .
- Analysis and understanding of the environment , Help requirements engineers form a knowledge framework about user business , It is conducive to effective communication with users in the detailed requirements acquisition activities .
- Background the analyst studies part of the system environment . Complex environments require specialized analysis methods , Such as domain analysis and enterprise modeling .
2.2.2. Business analysis ( Problem analysis 、 Goal analysis 、 Stakeholder analysis ), Determine system boundary ( Business needs )
- The definition of system boundary should ensure that the system and the surrounding environment form an effective interaction , And solve the problems of users in the interaction , Meet business needs .
- System use case diagrams and context diagrams are often used to define system boundaries .
2.2.3. Software requirements modeling
- Modeling is an abstract description activity for presenting and interpreting information .
- Modeling helps requirements engineers have a deeper understanding , More convenient for information transmission .
- Requirements modeling techniques include data flow diagrams 、 Entity relation diagram 、 State transition diagram 、 Class diagram and other semi formal modeling techniques , as well as Z Models and other more rigorous formal techniques .
2.2.4. Refine requirements
- User requirements are often vague 、 Ambiguity and so on .
- Get the system level requirements according to the model
2.2.5. prioritizing
- Regular evaluation and adjustment
- In the case of limited and insufficient development resources, the priority should be dynamically adjusted .
2.2.6. Demand negotiation
- Sometimes, in the analysis, the requirements conflict between users does not occur , In this case, the respective needs of users are reasonable , But it is impossible to be involved in the system at the same time .
- Different user needs are hostile
- Insufficient system resources
- The requirements engineer should find out the conflict in time through analysis , And provide technical reference information for dealing with conflicts , Organize and guide the negotiation between users
2.3. Requirements specification
- The acquired requirements need to be documented , The main purpose is to Exchange requirements information among system stakeholders
- The business requirements are written into the project prospect and scope document
- User requirements are written into the user requirements document ( Or use case documents )
- The system requirements are written into the requirements specification
- The most important quality requirement is concise 、 accurate 、 Consistent and easy to understand .
2.3.1. Custom document templates
- Development talks about maintaining some document templates internally for documents that need to be written .
- Reference resources IEEE1998 Recommended specification documents .
- The requirements engineer needs to further customize the reference template of the organization according to the characteristics of the project .
2.3.2. Document
- Choose the most accurate expression
- Ensure good structure and legibility of documents .
- The way
- Model language ( graphics 、 Expression etc. ): Ensure the accuracy of information transmission .
- Natural language ( Text ): Ensure that the document is readable .
![]() | ![]() |
|---|---|
![]() |
2.4. Requirements validation
- Ensure that the requirements specification document can correct 、 accuracy Reflect the user's intention
- Ensure high quality standards for documentation
- In the document Each requirement All right 、 It accurately reflects the user's intention
- The documented set of requirements is in whole Have on Integrity and consistency
- The organization of documents and the writing of requirements have Readability and modifiability
2.4.1. Execution verification
- Peer review : The most commonly used
- Prototype : The cost is high
- simulation : The cost is high
2.4.2. Problem correction
Follow up after correction to ensure implementation
2.5. demand management
- Ensure that the requirements act on the whole software Product life cycle Medium continued 、 Stable and effective play
- Demand management will perform change control , Incorporate and implement reasonable change requests , Reject unreasonable change requests , Control the cost and impact scope of the change .
- In business time , Requirements change is considered to be one of the two main causes of project failure .
- CMMI(Capability Maturity Model Integration, Software capability maturity model integration ) Take it as the key process area that all level 2 maturity enterprises should have .
2.5.1. Establish and maintain requirements baseline set
- Establish good configuration management , Versioning baselines , It is the premise and foundation for effective demand management .
- Implement baseline version control , First, identify each requirement , Record its related attributes , Such as ID、 source 、 Generation date 、 Reason for 、 Priority and pre implementation cost, etc , Then create a unique version number identification for each requirement document .
- After version control is established , All changes 、 The date and reason of the change shall be recorded , And communicate it to everyone affected .
2.5.2. Establish requirements tracking information
- Starting from system level requirements .
- Backward tracking : Track the design of various system level requirements 、 Which artifacts are implemented , And go back to each design 、 What requirements does the implementation artifact exist for .
- Forward tracking : Trace back to which user and business requirements are supported by each system level requirement , And track each business requirement 、 How user requirements are translated into system level requirements .
2.5.3. Change control
- The variability of the real world , After establishing the baseline, the project should still respond to external demand change requests in a timely manner , But it must be under control ,
- To realize change control, we first need to establish a change control process and related strategies , We also need to select experienced users and developers to form a change control team , Analyze the gains and losses of interests 、 Accept or not .
- Strive to achieve semi automation
3. Concurrency and iteration of requirements engineering process
Requirements development is iterative , Its important activities demand acquisition and demand analysis are intertwined .
3.1. Analysis model complexity in requirements development

- Theoretically, as time goes on , Get more content , The overall complexity should always increase linearly .
- The decline is due to the possible knowledge reconstruction process of knowledge accumulation to a certain extent .
- obtain 、 analysis → \rightarrow → restructure → \rightarrow → Get more 、 analysis → \rightarrow → Reconstruction
3.2. Iterative requirements development process model

Iterativeness of requirements development
3.3. Concurrency of requirements development activities

- Requirements development is more than iterative , The activities are concurrent .
- among , Classification belongs to the requirements analysis activities of this book .
4. Application of practical methods
- Personal intelligence → \rightarrow → Practice method → \rightarrow → Knowledge system
- The engineering field has been explored for quite a long time , From a large number of individual behaviors of producers, effective working methods are summarized , There is still a long way from the requirements of knowledge system , But they can help people to complete engineering practice , So it is called practical method ( principle )
- The requirements engineer needs to select... For the organization or project 、 Customize and apply some effective practices
4.1. Practice method



4.2. Management practice

5. Requirements engineering process example
5.1. Requirements development process model suitable for spiral model of software development

- Spiral model is used for requirement development of risk driven projects
- Negotiation and modeling are requirements analysis activities .
5.2. A requirements development process that relies on a prototype approach

- Domain analysis and prototype development are requirements acquisition activities .
- The development of basic and high-order models is a requirement analysis activity .
- Peer review 、 Scenario walk through and stakeholder feedback are requirements verification activities .
- characteristic : With the help of the prototype and the validation of the analytical model , Add stakeholder comments 、 feedback , Requirements verification can be completed without relying on software specification documents , Then, the verified high-quality requirements are documented .
5.3. HP The demand process of the company

- Divide requirements development into two parts
- System requirements development of system engineering
- Requirements analysis of software engineering
- It is applicable to the development of innovative products or large-scale projects .
- After the system requirements development is completed and the feasibility analysis is passed , Before the software product development stage .
5.4. Practices-Based

- Requirements development process based on requirements practice method , The requirements practice method is divided into many types to evaluate and improve the process
- Basic practice : Complete the most basic requirements development tasks , necessary .
- Advanced practice : Make some parts of requirements engineering better .
- Optimization Practice : Not necessary , It can further improve the effect of requirements engineering .
- Context dependent practices apply only to time in a particular context .
5.5. Agile RE The seven practices of
- Face to face communication is better than writing specifications (User Story)
- Iterative requirements engineering ;
- Prioritize requirements to the limit ;
- Manage demand changes through continuous planning ;
- Prototype method ;
- Test-driven development ;
- User review meeting and acceptance test .


5.6. RUP

- Emphasize best practices while giving a customizable process framework .
- Different workflows work together to complete requirements development .
6. Requirements engineering process and software engineering
6.1. Waterfall
- The problem domain of the software is mature and easy to define , And the demand is relatively stable
- It is not conducive to the effective participation of users
- Waterfall

6.2. Incremental
- The problem domain of software is complex , But the business is very mature and the demand is relatively stable
- It is not conducive to the effective participation of users
- Incremental

6.3. Spiral/Evolutional
- The problem domain is extremely complex or the requirements are unstable
- Better respond to changing needs
- Improve the effective participation of users
- It makes the coordination and management of development work difficult
- Spiral/Evolutional

6.4. Agile
- The problem domain is not mature , Business activities are still evolving and changing
- It can solve all kinds of uncertainties
- Increases the cost of the requirements engineering phase , And prone to various prototype risks
- Agile

6.5. summary
- The requirements engineering process should be a part of the software engineering process , Rather than stand alone as a separate part
- < Requirements Engineering and Software Project Success- An Industrial Survey in Australia and the US >
- Find out whether the method is good or bad compared to the requirements method itself , The adaptability of requirements method and software development method will affect the success or failure of the project . That means , Whether the requirements development method and software development method are suitable , It can affect the success or failure of the project more than the result demand
- Compared with proficiency in the application field , The ability of a project manager to effectively manage requirements is more important ;
- There is no need to establish complete requirements at the beginning of the project , A better way is to gradually improve the requirements in the subsequent stages of the project ;
6.6. Software Process Model in Practices
- < Requirements Engineering-The State of the Practice >, 2003 – Traditional software engineering process pays more attention to requirements engineering process

7. The interaction between requirements development process and software engineering process .
- " Demand engineering " It's positive sexual activity :
- Prospect and scope definition
- Stakeholder description
- The analysis model
- Description of requirements characteristics
![]() | ![]() |
|---|
- Whether the requirements development method and software development method are suitable , It can affect the success or failure of the project more than the result demand .
- The impact of demand on follow-up :Requirements Engineering and Downstream Software Development: Findings from a Case Study, 2005
- Improve understanding of the details , Improve understanding of dependencies and complexities between features
- Save energy and waste
- Invisible benefits : Improve communication
- Invisible benefits : Help make decisions
- Estimate
- Change management
- How to Manually Trace during Process [Watkins & Neal, IEEE Software1994]

8. Summary
- Requirements engineering has its own lifecycle model , There is a requirements engineering process for requirements development
- The requirements engineering process has some common requirements engineering activities : Demand acquisition 、 Demand analysis 、 Requirements specification 、 Requirements validation and requirements management
- Requirements development activities are intertwined 、 Concurrent 、 Iterations and increments Of
- The successful implementation of the requirements engineering process requires the application of many effective practical methods
- In practice , The process of requirements engineering is very different
- Because it's in the front , The impact of requirements engineering on subsequent software development activities is very deep
边栏推荐
- 负数取余问题
- What are meta-inf and WEB-INF respectively?
- New product launch
- Storage system overview
- Download and configuration of nuitka packaging tutorial
- A journey of database full SQL analysis and audit system performance optimization
- Standard library template learning introduction original
- ISCC2022
- The component style set by uniapp takes effect in H5 and app, but does not take effect in wechat applet. The problem is solved
- 基于FPGA的VGA协议实现
猜你喜欢

基于FPGA的VGA协议实现
![[image denoising] image denoising based on anisotropic filtering with matlab code](/img/3d/ee2e36b15b5db2502e43f6945685c5.png)
[image denoising] image denoising based on anisotropic filtering with matlab code

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

Rhca memoirs -- Introduction to cl280

硬件测试之—纹波测试为什么不要使用接地夹子

How do I create my own appender in log4j- How to create my own Appender in log4j?

【生成对抗网络学习 其三】BiGAN论文阅读笔记及其原理理解

WinCC7.5 SP1调整画面尺寸以适应显示分辨率的方法

3D object detection

运算器的基本结构
随机推荐
QT -- how to get the contents of selected cells in qtableview
5g R17 standard is frozen. What does it say?
vc hacon 聯合編程 GenImage3Extern WriteImage
JDBC接口总结
Wechat e-book reading applet graduation design works (1) development outline
基于微信电子书阅读小程序毕业设计毕设作品(8)毕业设计论文模板
Reading small programs based on wechat e-book graduation design works (7) Interim inspection report
设备管理-借还模块1
[image denoising] image denoising based on anisotropic filtering with matlab code
Jenkins各配置选项介绍原创
7:00 tonight | application of PhD debate self supervised learning in Recommendation System
Leetcode topic [string]-344- reverse string
Php+flash large file breakpoint continuation function sharing
Market scale forecast and future competitive trend outlook report of China's plastic and cosmetic industry 2022-2028
Original introduction to Jenkins' configuration options
Analysis report on market demand and investment strategy of China's re guarantee industry 2022-2028
API call display, detailed API of Taobao, tmall and pinduoduo commodity pages, and return of APP side original data parameters
The execution results of i+=2 and i++ i++ under synchronized are different
Demand and business model analysis-2-business model types
BannerViewPager








