Академический Документы
Профессиональный Документы
Культура Документы
Todays topics
Overview of Requirements Engineering Importance of Effective Requirements Analysis Introduction to Requirements Analysis Software Requirements Requirements Document
Requirements Engineering
The process of finding out, analysing, documenting and checking services provided by the system and its operational constraints is called requirements engineering (RE).
Requirements specification
Document the requirements
5
Validation
Reviewing/check the model that the requirement suit its intended purposes.
Management
identify, control and track requirements and the changes that will be made to them.
6
Requirements document
Todays topics
Overview of Requirements Engineering Importance of Effective Requirements Analysis Introduction to Requirements Analysis Software Requirements Requirements Document
SDLC
Requirements analysis is the first activity in software development Important to make sure it is done correctly and within the development constraints
Resolution Type 2, or project challenged: The project is completed and operational but overbudget, over the time estimate, and offers fewer features and functions than originally specified.
10
SOURCE(06/2003): http://www.standishgroup.com/sample_research/chaos_1994_2.php
% of Responses
15.9% 13.9% 13.0% 9.6% 8.2%
7.7%
7.2% 5.3% 2.9% 2.4% 13.9%
SOURCE(06/2003): http://www.standishgroup.com/sample_research/chaos_1994_1.php
11
% of Responses
12.8% 12.3% 11.8%
7.5%
7.0% 6.4% 5.9% 5.3% 4.3% 3.7%
Other
23.0%
SOURCE(06/2003): http://www.standishgroup.com/sample_research/chaos_1994_2.php
12
% of Responses
13.1% 12.4% 10.6% 9.9%
9.3%
8.7% 8.1% 7.5% 6.2% 4.3% 9.9%
SOURCE(06/2003): http://www.standishgroup.com/sample_research/chaos_1994_2.php
13
SUCCESS CRITERIA
1. User Involvement 2. Executive Management Support 3. Clear Statement of Requirements 4. Proper Planning 5. Realistic Expectations
POINTS
19 16 15 11 10
9
8 6 3 3 100
SOURCE(06/2003): http://www.standishgroup.com/sample_research/chaos_1994_2.php
14
18
19
Todays topics
Overview of Requirement Engineering Importance of Effective Requirements Analysis Introduction to Requirements Analysis Software Requirements Requirements Document
21
Feasibility studies
A feasibility study decides whether or not the proposed system is worthwhile. A short focused study that checks
If the system contributes to organisational objectives. If the system can be engineered using current technology and within budget. If the system can be integrated with other systems that are used.
22
Requirements Elicitation
Not as simple as:
Define system objectives. What is to be accomplished. System and business integration. How it will be used.
24
Problem of Volatility
Changing requirements.
Problem of understanding
Customers are unsure of what is needed.
25
Requirements conflict. Complexity. Poor communication. Inadequate techniques. Tend to make short-cut; etc.
28
Homework
Based on your assignment 1s title, do a brief feasibility study on the system.
29/04/2013
Todays topics
Overview of Requirements Engineering Importance of Effective Requirements Analysis Introduction to Requirements Analysis Software Requirements Requirements Document
30
31
More on Requirements
It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification. This is inevitable as requirements may serve a dual function
May be the basis for a bid for a contract - therefore must be open to interpretation. May be the basis for the contract itself - therefore must be defined in detail. Both these statements may be called requirements.
32
Types of requirement
User requirements
Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.
System requirements
A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor.
Software specification
A detailed software description which can serve as a basis for a design or implementation. Written for developers.
33
User requirements
Should describe functional and non-functional requirements so that they are understandable by system users who dont have detailed technical knowledge. User requirements are defined using natural language, tables and diagrams. Problems with natural language?
29/04/2013
34
System requirements
More detailed specifications of user requirements. Serve as a basis for designing the system. May be used as part of the system contract. System requirements may be expressed using system models.
29/04/2013
35
Requirements readers
User requirements Client managers System end-users Client engineers Contractor managers System architects System end-users Client engineers System architects Software developers Client engineers (perhaps) System architects Software developers
37
System requirements
Non-functional requirements
constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.
Domain requirements
Requirements that come from the application domain of the system and that reflect characteristics of that domain.
38
Todays topics
Overview of Requirement Engineering Importance of Effective Requirements Analysis Introduction to Requirements Analysis Software Requirements Requirements Document
39
Requirements Document
An official statement of the system requirements for customers, end-users, stakeholders and software developers. Different names such as functional specification, the requirements definition, the software requirements specification (SRS), the safety/reliability plan. Documents containing a complete description of what the software will do without describing how it will do it.
40
Organizing Requirements
Best organized into conceptual categories. Analyst should not divert into implementation approach while organizing the requirements. Stated in operational and logistical terms, issues such as.
Operational capabilities; Physical characteristics; Performance parameters; Expected values; Interfaces and interactions with its environment; Documentation requirements; reliability requirements; logistical requirements and personnel requirements.
43
48
Correct
An SRS is correct if, and only if, every requirement stated therein is one that the software shall meet compared with any applicable superior specification, such as a system requirements specification, with other project documentation, and with other applicable standards, to ensure that it agrees customer or user can determine if the SRS correctly reflects the actual needs
50
Unambiguous
An SRS is unambiguous if, and only if, every requirement stated therein has only one interpretation Problems with NL specification
Ambiguity Over-flexibility Lack of modularisation
Alternatives to NL specification
Form-based specifications Procedure Description Language-based requirements definition Representation Tools diagrams and models (OO models @ DFD)
51
Complete
An SRS is complete if, and only if, it includes the following elements:
All significant requirements Definition of the responses to all input data Full labels and references to all figures, tables, and diagrams
Use of TBDs (
to be done
) should be accompanied by
A description of the conditions causing the TBD A description of what must be done to eliminate the TBD (who and when)
52
Consistent
Consistency refers to internal consistency
No requirements conflict
If an SRS does not agree with some higher-level document, such as a system requirements specification, then it is not correct
53
Verifiable
For each requirements, the software product can be checked whether or not it meets the requirement Requirement statements use concrete terms and measurable quantities
55
Modifiable
changes to the requirements can be made easily, completely, and consistently while retaining the structure and style of the SRS SRS should be
coherent (logically related) and easy-to-use organization. Not be redundant. Express each requirement separately.
56
Traceable
The origin of each of its requirements is clear Two types of traceability:
Backward traceability - explicitly referencing its source Forward traceability - unique name or reference number
57
58
5. SRS Evolution
SRS may need to evolve as the development of the software product progresses Additional changes may ensue as deficiencies, shortcomings, and inaccuracies are discovered in the SRS Two major considerations
Requirements should be specified as completely and thoroughly as is known at the time. The fact that they are incomplete should be noted. A formal change process should be initiated
59
6. Prototyping
Provides quick feedback Displays unanticipated aspects Less change during development
60
In special cases some requirements may severely restrict the design eg: security @ safety systems
61
The SRS should address the software product, not the process of producing the software product. Matters pertaining to production of software and thus should not be included in the SRS, such as:
Cost Delivery schedules Reporting procedures Software development methods Quality assurance Validation and verification criteria Acceptance procedures
62
Requirements Specification
Could be
a written documents a graphical model formal mathematical model usage scenarios prototypes or their combination
more consistent
29/04/2013
2. Overall description
2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 Constraints 2.5 Assumptions and dependencies
IEEE standard too general. Possible structure of organizational requirement document based on IEEE standard structure as:
Introduction Glossary User requirements definition System architecture System requirements specification System models System evolution Appendices Index
65
69