* 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