当前位置:网站首页>Introduction to software engineering - Chapter 3 - Requirements Analysis
Introduction to software engineering - Chapter 3 - Requirements Analysis
2022-06-24 08:06:00 【Be humble】
Introduction to software engineering —— The third chapter —— Demand analysis
List of articles
- Introduction to software engineering —— The third chapter —— Demand analysis
- 1、 Related concepts of requirements analysis
- 2、 The task of requirement analysis
- 3、 How to communicate with users to obtain requirements
- 4、 Analytical modeling and specification
- 5、 Entity - Contact diagram
- 6、 Data normalization
- 7、 State transition diagram
- 8、 Hierarchical block diagram
- 9、 Verify software requirements
- 10、 Why do I need to do a needs analysis ? What are the general requirements for software systems ?
1、 Related concepts of requirements analysis
(1) Definition :
Requirements analysis is the last stage of the software definition period , Its basic task is to answer accurately “ What the system has to do ” This problem , That is, put forward a complete plan for the target system 、 accuracy 、 Clear 、 Specific requirements . Before the end of the requirements analysis phase , The system analyst should write Software requirements specifications , Accurately describe software requirements in writing .
(2) The need for :
In order to develop software products that really meet the needs of users , First of all, we must know the needs of users . An in-depth understanding of software requirements is a prerequisite for the success of software development , It doesn't matter how well people do their design and coding work , Programs that don't really meet users' needs will only disappoint users , Bring trouble to developers .
(3) Rules :
- The information domain of the problem must be understood and described , According to this criterion, the data model should be established
- The functions that the software must perform must be defined , This guideline requires the establishment of functional models
- The software behavior resulting from external events must be described , This rule requires behavior modeling
- Description information must be 、 Functional and behavioral models are analyzed , Show details in a hierarchical way .
2、 The task of requirement analysis
1、 Determine the comprehensive requirements of the system
- functional requirement : Functional requirement specification Services that the system must provide . Through requirement analysis, all functions that the system must complete should be divided .
- Performance requirements : Performance requirements specify The timing constraint or capacity constraint that the system must satisfy , Usually include Speed ( response time )、 Information rate 、 Main storage reserves 、 Disk capacity 、 Safety and so on The needs of
- Reliability and availability requirements : Reliability requirements quantitatively specify the reliability of the system ; Availability is closely related to sexual reliability , It quantifies the extent to which users can use the system .
- Error handling requirements : Error handling requirements description How the system should respond to environmental errors . In some cases ,“ Error handling ” It refers to the action taken by the application system when it finds that it has made a mistake . All in all , The error detection of the application system itself should be limited to the key parts of the system , And you should control as little as possible .
- Interface requirements : Interface requirements description The format of communication between the application system and its environment . Common interface requirements are : User interface requirements , Hardware interface requirements , Software interface requirements , Communication interface requirements
- constraint : Design constraints and implementation constraints describe the constraints that should be observed when designing and implementing application systems . Common constraints are : precision ; Tools and language constraints ; Design constraints ; The standard that should be used , The hardware platform that should be used
- Reverse demand : Reverse requirements usually state What software systems should not do . In theory, there are innumerable reverse requirements , Reverse requirements that clarify real requirements and eliminate misunderstandings should be selected .
- Possible future needs : The purpose is During the design process, make preparations for possible future expansion and modification of the system , So that it can be easily expanded and modified once the need is determined
2、 Data requirements of the analysis system
(1) significance : Any software system is essentially an information processing system , The information that the system must process and the information that the system should produce determine the appearance of the system to a great extent . therefore , The data requirements of the system must be analyzed , This is an important task of software requirement analysis .
(2) Tools : The method of establishing data model is usually used to analyze the data requirements of the system . Complex data consists of many basic data elements , Data structures represent logical relationships between data elements . Data dictionary can be used to define data comprehensively and accurately , But the disadvantage of the data dictionary is that it is not intuitive ,
(3) standard : Software systems often use a variety of long-term stored information , To reduce data redundancy , Avoid inserting and deleting exceptions , Simplify the process of modifying data , It is usually necessary to standardize the data structure .
3、 Export the logical model of the system
4、 Revise system development plan
3、 How to communicate with users to obtain requirements
(1) interview
Basic form :
- Formal interview : The system analyst will ask specific questions prepared in advance
- Informal interviews : Analysts will ask open questions that users are free to answer , Encourage the interviewee to say what he or she thinks
Technical methods :
- Questionnaire technology
- Scenario analysis technology :
- Concept :
- Scenario analysis is to analyze the methods and results of users using the target system to solve a problem in the future . System analysts use scenario analysis techniques , It can often obtain the specific needs of users
- effect :
- First of all , Can demonstrate the behavior of the target system to some extent , So that users can understand , It may also further reveal some requirements that analysts do not know yet
- second , Using this technology can ensure that users always play a proactive role in the process of requirements analysis .
- Concept :
(2) Data flow oriented top-down refinement
Definition :
The structural analysis method is a method of requirement analysis for data flow from top to bottom . The high-level data flow diagram of the target system has been obtained through the feasibility study , One of the goals of requirements analysis is to define data flow and data storage at the element level .
(3) Simple application specification technology
(1) Definition : Simple application specification technology is a team oriented requirement collection method . This approach encourages users to work closely with developers , Common identification problem , Propose solution elements , Discuss different solutions and specify basic requirements . It is the mainstream technology used in the field of information systems .
(2) advantage :
- Developers and users are not separated from each other , A concerted effort to , Close cooperation
- Instant discussion and refinement , There are specific steps to export specifications .
(4) Quickly build software
(1) Definition : Rapid prototyping is a kind of runnable program which is quickly established to demonstrate the main functions of the target system . The point of prototyping is , It should be able to do what the user can see , Omit the implicit functions of the target system . Rapid prototyping is the most accurate 、 Most effective 、 The most powerful requirement analysis technology .
(2) characteristic :
- Fast
The purpose of rapid prototyping is to provide users with a model of the target system that can run on the computer as soon as possible , So that users and developers can know what to do on the target system , Reach consensus on this issue as quickly as possible . therefore , Some defects of the prototype can be ignored , As long as these defects do not seriously damage the function of the prototype , It will not make users misunderstand the behavior of the product , Don't worry about them . - Easy to modify :
If the first version of the prototype is not what the user needs , It must be quickly modified according to the opinions of users , Build a second version of the prototype , To better meet the needs of users , When actually developing software products , Prototype “ Modify trial feedback ” The process may be repetitive and changeable , If modification takes too much time , It is bound to hate software development time
(3) Methods and tools used
- Fourth generation technology
- Ke Chongyang's software components
- Formal specification and prototyping environment
4、 Analytical modeling and specification
1、 Analytical modeling
(1) Model : A model is an abstraction of things to understand them , It's an unambiguous written description of something . The model consists of a set of graphical symbols and rules for organizing them .
(2) Modeling process :
Structural analysis is essentially an activity of creating models . In order to develop a complex software system , The system analyst should abstract the characteristics of the target system from different perspectives , Use precise representation to model the system , Verify whether the model meets the user's requirements for the target system , And gradually add the details related to the implementation into the model during the design process , Until the model is finally implemented programmatically
2、 Software requirements specification
The software requirements specification is the most important document obtained in the requirements analysis stage . Usually complete in natural language 、 accuracy 、 Specifically describe the data requirements of the system 、 functional requirement 、 Performance requirements 、 Reliability and availability requirements 、 Error handling requirements 、 Interface requirements 、 constraint 、 Reverse requirements and possible future requirements . Natural language specifications are easy to write 、 Easy to understand advantages .
5、 Entity - Contact diagram
1、 Data model The definition of
In order to make the user's data requirements clear 、 Describe exactly , Usually build a conceptual data model ( Information model ). Conceptual data model It is a problem oriented data model , It's a model of data from the user's point of view . It describes the data seen from the user's point of view , It reflects the user's real environment , And it has nothing to do with the implementation method in the software system .
2、 The composition of the data model
The data model contains 3 Kind of interrelated information : Data objects 、 The attributes of data objects and the relationship between data objects
(1) Data objects
Definition :
Data objects are abstractions of compound information that software must understand . Compound information It refers to something with a series of different properties or attributes , Things with only a single value are not data objects .
characteristic :
- Entities that can be defined by a set of attributes can be considered data objects
- Data objects are related to each other .
- Data objects only encapsulate data and have no references to operations imposed on data , This is also the data object and object-oriented paradigm “ class ” or “ object ” The obvious difference
(2) attribute
Attributes define the nature of the data object . One or more attributes must be defined as identifier , That is, when you want to find an instance of a data object , Use the identifier attribute as “ keyword ”. It should be based on the understanding of the problem to be solved , To determine the appropriate set of attributes for a particular data object .
(3) contact
The way data objects connect to each other is called connection , Also called relationship . Connections can also have attributes . There are three types of contacts :
- One to one contact (1:1)
- One to many connection (1:N)
- Many to many contact (M:N)
3、 Entity —— The symbol of the connection diagram
Use entity relation diagram to build data model . You can put the entity ─ The contact diagram is abbreviated as E—R chart , Make use of E—R The data model depicted in the figure is called E—R Model .
E—R The figure contains the entity ( Data objects )、 Relationships and attributes 3 Basic ingredients , Usually a rectangular box is used to represent an entity , Use a diamond box to connect related entities to represent the relationship , Use ellipses or rounded rectangles to represent entities ( Or relationship ) Properties of , And use a straight line to put the entity ( Or relationship ) Connect with its attributes .
6、 Data normalization
1、 The need for :
Software systems often use a variety of long-term stored information , This information is usually organized in a certain way and stored in a database or file , To reduce data redundancy , Avoid insert or delete exceptions , Simplify the process of modifying data , It is usually necessary to standardize the data structure .
2、 Paradigm characteristics :
① Usually use “ normal form ” Define the extent to which data redundancy is eliminated . The first normal form has the greatest data redundancy , The fifth paradigm has the least data redundancy .
② The higher the paradigm level , Storing the same data requires decomposing into more tables ,“ Store itself ” The more complicated the process is .
③ With the improvement of paradigm level , The matching degree between the storage structure of data and the structure based on problem domain also decreases , Therefore, the data stability is poor when the demand changes .
④ As the paradigm level increases, more tables need to be accessed , As a result, performance will degrade . Generally, the third paradigm is appropriate
3、 Definition of each paradigm :
① In the first normal form, each attribute value must be an atomic value , That is, it is only a simple value without internal structure .
② The second paradigm satisfies the condition of the first paradigm , Moreover, each non keyword attribute is determined by the whole keyword .
③ The third paradigm meets the conditions of the second paradigm , Each non keyword attribute is determined only by the keyword , Moreover, a non keyword attribute cannot be just a further description of another non keyword attribute , That is, a non keyword attribute value does not depend on another non keyword attribute value .
7、 State transition diagram
1、 Definition
State transition diagram ( State diagram ) By describing the state of the system and the time when the system state changes , To represent the behavior of the system , The state diagram also provides a behavior modeling mechanism , Indicates what the system will do as a result of a particular event .
2、 state
(1) Definition :
State is any system behavior pattern that can be observed , A state represents a pattern of behavior of a system . State specifies how the system responds to events . System response to events , You can make a ( Or do a series of ) action , Or just changing the state of the system itself , It can also be changing state and doing actions .
(2) classification :
The main states are : Initial state ( The initial state )、 Terminal state ( A final state ) And the intermediate state . There can only be one initial state in a state diagram , And the final state can have 0 One or more .
(3) Express :
The state diagram can not only represent the cycle operation process of the system , It can also represent the one-way life cycle of the system .
- Describe the cycle operation process : It usually doesn't matter how the loop starts
- Describe the one-way life cycle : The initial and final states need to be indicated .
3、 event
An event is something that happens at a certain time , It's about acting on the causing system or ( and ) The abstraction of an external event from one state to another . In short , Events are control information that causes the system to act or change state .
4、 Symbols of the state diagram
(1) The representation of symbols
- Initial state : Denote by a solid circle
- Terminal state : With a pair of concentric circles ( The inner circle is a solid circle ) Express
- In the middle : It's represented by a rounded rectangle , It can be divided into three parts by two horizontal lines . The above part is the name of the State , This part is necessary ; The name and value of a Wei state variable in the middle part , The following part is the activity list .
8、 Hierarchical block diagram
(1) Definition :
The hierarchical block diagram depicts the hierarchical structure of data with a series of multi-level rectangles of tree structure , The top layer of the tree structure is a separate rectangular box , It represents the complete data structure , The following layers of rectangles represent a subset of this data , The bottom boxes represent the actual data elements that make up the data .
(2) characteristic :
With the refinement of structure , The hierarchical block diagram also describes the data structure in more and more detail , This model is very suitable for the needs of the requirements analysis stage . The system analyst starts with the classification of top-level information , Refine again and again along each path in the figure , Until all the details of the data structure are determined .
9、 Verify software requirements
1、 Verify the correctness of software requirements
(1) The purpose of verifying the correctness of requirements
The work result of the requirement analysis stage is an important foundation for developing software systems . To improve software quality , Ensure successful software development , Reduce software development costs , Once a set of requirements is put forward for the target system , The correctness of these requirements must be strictly verified .
(2) Four aspects of validation
- Uniformity : All requirements must be consistent , No one requirement can contradict with other requirements .
- integrity : The requirements must be complete , The specification shall include every function or performance required by the user .
- realism : The specified requirements should be basically achievable by existing hardware and software technologies
- effectiveness : It must be proved that the requirements are correct and effective , It can solve the problems faced by users .
2、 Software tools for requirements analysis
(1) requirement
In order to ensure the correctness of software requirements more effectively , Especially to ensure the consistency of requirements , Need appropriate software tools to support requirement analysis . Such software tools should meet the following requirements .
① There must be formal grammar ( Or table ), Therefore, the computer can automatically process the content described using this syntax .
② Use this software tool to export detailed documents .
③ Analysis must be provided ( test ) Means of specification inconsistency and redundancy , And should be able to produce a set of reports indicating the results of the integrity analysis .
④ After using this software tool , It should be possible to improve communication .
10、 Why do I need to do a needs analysis ? What are the general requirements for software systems ?
The reason for demand analysis :
In order to develop software products that really meet the needs of users , Requirement analysis is a prerequisite for the success of software development , Programs that do not meet user needs will only disappoint users , Bring trouble to developers .
Requirements for software systems :
functional requirement 、 Performance requirements 、 Reliability and availability requirements 、 Error handling 、 Interface requirements 、 constraint 、 Reverse demand 、 Possible future requests .
边栏推荐
- GraphMAE----论文快速阅读
- 语料库数据处理个案实例(句子检索相关个案)
- Swift Extension NetworkUtil(网络监听)(源码)
- Moonwell Artemis is now online moonbeam network
- 2022 PMP project management examination agile knowledge points (1)
- Svn actual measurement common operation record operation
- 4-operation list (loop structure)
- Chapter 4 line operation of canvas
- Redolog and binlog
- Chrono usage notes
猜你喜欢

Coordinate transformation of graphic technology

从 jsonpath 和 xpath 到 SPL

Hongmeng OS development III

5-if语句(选择结构)

Gossip: what happened to 3aC?

Selenium IDE的安装以及使用

Introduction of model compression tool based on distiller

Swift Extension NetworkUtil(网络监听)(源码)

快速读论文----AD-GCL:Adversarial Graph Augmentation to Improve Graph Contrastive Learning

Screenshot recommendation - snipaste
随机推荐
Thread support
Moonwell Artemis is now online moonbeam network
First acquaintance with JUC - day01
uniapp uni-app H5 端如何取消 返回按钮的显示 autoBackButton不生效
Opencvsharp binary image anti color
Latest news of awtk: new usage of grid control
Practice of opengauss database on CentOS, configuration
Bit operation
Chapter 2 line graph of canvas
Pair class notes
[run the script framework in Django and store the data in the database]
力扣(LeetCode)174. 地下城游戏(2022.06.23)
Leetcode exercise - jumping game, combination summation
某问答社区App x-zse-96签名分析
3-list introduction
Screenshot recommendation - snipaste
运行npm run eject报错解决方法
Vulnhub target: boredhackerblog_ CLOUD AV
SVN实测常用操作-记录操作大全
4-操作列表(循环结构)