-
CHAPTER FOUR: Requirements Engineering.
-
Functional and non-functional requirements
-
Functional requirements
- * For a system describe what the system should.
* Depend on the type of software being developed
*Written in natural language in elicitation.
*Describe funcionality or system services.
-
Requirements
- Requirements imprecision
- Requirements completeness and consistency
-
Non-functional requirements
-
Classification
- Product requirements:
Specify or constrain the runtime behavior of the software
- Usability requirements
- Efficiency requirements
- Dependability requirements
- Security requirementes
- Organizational requirements:
Are broad system requirements derived from policies and procedures in the customer's and developer's organization
- Environmental requirements
- Operational requirements
- Developments requirements
- External requirements:
This broad heading covers all requirements process.
- Regulatory requirements
- Ethical requirements
- Legislative requirements
- Implentation
- Goalds and requirements
- Metrics
-
Dominian requirements
- ??
-
Requirements engineering processes
- Elicitation and analysis:
Discovering requirements by interacting with stakeholders.
- Specification:
Converting these requirements into a standard form.
- Validation:
Checking that the requirements actually define the system that customer wants.
-
The activities are organized as an iterative process around a spiral
-
SPIRAL MODEL
- Accommodates approaches to development where the requirements are developed to different level of delail.
- The number of iterations around the spiral, can vary so that the spiral can be exited after some or all of the user requirements have been elicited.
- Agile developments can be used instead of prototyping so that the requirements and the system implementation are developed together.
-
Requirements elicitation
-
Requirements elicitation techniques
- There are two fundamental approaches to requirements elicitation:
-
1. Interviewing, where you talk to people about what they do.
- Types of interview
- Closed
- Open
- In practice
- Formal and Informal
-
2. Observation or ethnograpy, where you watch people doing their job to see what artifacts they use.
- Scope of ethnography
- identify new features that should be added to a system.
- Focused ethnography
- Combines ethnography with prototyping
-
Stories and scenarios
-
A scenario may include:
- A description of what the system and users expect when the scenario starts.
- A description of the normal flow of events in the scenario.
- A description of what can go wrong and how resulting problems can be handled.
- Information about other activities that might be going on at same time.
- A description of the system state state when the scenario ends.
-
Requirements specification
-
Writting a system requirements specification
-
Natural language specification:
It is a expressive, intuitive, and universal. It is also potentially vague and abigous, and its interpretation depents on the background of the reader.
- Probles
- Lack of clarity
- Precision is difficult without making the documnet difficult to read.
- Requirements confusion
- Fuctional and non-fuctional requirements tend to be mixed-up.
- Requirements amalgamation
- Several different requirements maybe expressed together.
- Structed natural language
- Design description languages
- Graphical notations
- Mathematical specification
-
Guidelines for writing requirements
- Invent a standar format and use it for all requirements
- Use language in a consistent way.
- Use text highting
- avoid the use of computer jargon
- Include an explanation
-
Structured specification:
Is a way of writting system requirements where requirements are written in a standar way rather than as free-form text. Included:
- 1. A description of the function or entity being specified.
- 2. A description of its inputs and the origin of these inputs.
- 3. A description of its outputs and the destination of these outputs.
- 4. Information about the information needed for the computation or other entities.
- 5. A description of the action to be taken.
- 6. A description of the side affects (if any) of the operation.
-
Tabular specification
- Subtopic 1
- Subtopic 2
- Use cases:
Are a way of describing interactions between users and a system using a graphical model and structured text. Are documented using a high-level use case diagram.
- The software requirements document (SRS):
Is an official statement of what the system developers should implements. The requirements document is likely to be long and detailed.
-
Requirements and design
- requirements should state what the system should do and the design should describe how is
-
SRS
- Scope
- Purpose
- People
- Budget
- Investigation
- Glosary
-
Requirements validation
-
Validity chacks
- These chack that the requirements reflect the real needs of system users.
-
Consistency chacks
- Requirements in the document should not conflict.
-
Completeness chacks
- The requirements document should include requirements that define all functions and the constraints intended by the user.
-
Realism checks
- These checks should also take account of the budget and schedule for the system developtent.
-
Verifiability
- To reduce the potencial for discute between customer and contractor, system requirements should always be written so that they are verificable.
-
Requirements change
-
Requirements management planning
- 1. Requirements identification:
Each requirement must be uniquely identified so that ir can be cross-referenced.
- 2. A change managements process:
This is the set od activities that assess the impact and cost of change.
- 3. Traceability policies:
These policies define the relationships between each requirement and between the requirements and the system desing that should be recorded.
- 4. Tool support:
Requirements managements involves the processiong of large amounts of information about the requirements.
-
Requirements change management
- 1. Problem analysis and change specification:
The process stats with an identified requirements problem or, sometimes, with a specific change proposal.
- 2. Change analysis and costing:
The effect of the proposed change is assessed using traceability information and general knowledge of the system requirements.
- 3. Change implementation:
The requirements document and, where necessary, the system desing and implementation, are modified.
-
Requirements
- Are a descriptions of the services that a system should provide and the constraints on its operation.
- New requirements have to be established and changes made to the system. This delays system delivery and increases COSTS.
- What is Elicitation?
- Are the description of the system services and constraints that are generated during the requirements process
-
Requirements Engineering
- Are the process of finding out, analyzing, documenting, and checking the needs of customers for a system.
-
Sistematic process. What other thing?
- Because embole diferent activities.
- -Elicitation
-Especification
-Validation
-
Types of requirements
- User requirements: High abstract requirements.
- System requirements: More precise detailed of what the system should
- The difference is the ambiguos.
-
Stackeholders
- Direct: Impact directly.
- Indirect: Need to know what is going on with the system or project.
- Are requirements that are not directly concerned with the specific services delivered by the system to its users.
- Are statements of services the system should provide. The functional requirements may also explicitly state what the system should not do.
- Floating Topic
- The problem about this tecnical is the ambiguity. Formal is Documents and Informal is only elicitation. Are not good for understanding domain requirements.
- The difference between interviewing and stories and scenarios: techniques
- Writing in a requirements document (SRS).