Please enable JavaScript.
Coggle requires JavaScript to display documents.
Elicitation techniques and types of requirements (Questionnaires…
- Elicitation techniques and types of requirements
Background study
Done when we're unfamiliar with the system-as-is and the client, to acquire knowledge about the system
-
-
-
Interviews
-
2 kinds
Structured
-
-
-
Might not know what questions to ask if don't understand the solution/industry -> cannot give extra information
Unstructured
-
Free, informal discussion
-
-
-
Guidelines
Come prepared - focus on right issues, do background research, understand business domain jargon (to communicate well with the client)
-
-
-
-
-
-
Be open-minded; be ready to follow another course of action from interesting, unexpected answers
-
Communication principles
-
-
-
If something unclear, draw a picture
Questionnaires
-
-
-
-
-
Disadvantage
Potential bias: sample of people contacted, subset of people who were willing to response (Voluntary response)
-
-
-
Brainstorming
-
-
Basic rules
-
-
Don't criticise initially - it's about free thinking, don't disrupt the flow; might stop people from contributing after
-
-
Types of requirements
Traditional
-
Non-functional
Quality (linked to quality goals): contraints on the way the software-to-be should satisfy its functional requirements; addresses 'How well'
Safety: rule out software effects that might result in accidents, degradations or losses (e.g. The controlled accelerations of trains shall always guarantee that a worst-case stopping distance is maintained between successive trains.)
-
Reliability: contrains the software to operate as expected over long periods of time (e.g. The train acceleration control software shall have a mean time between failures of the order of 100 hours.)
Performance: constrain the software's operational conditions, usch as time/space required by operations, the frequency of their activation, their throughput, the size of their input/output (e.g. Acceleration commands shall be issued to every train every 3 seconds)
Interface: input/output formmats and interaction sequences should be compatible with what the environment expects
Human interaction: usability requirements prescribe input/output formats and user dialogues to fit the abstractions, abilities and expectations of target users (e.g. To ensure smooth and comfortable train moves, the difference between the accelerations in two successive commands sent to a train should be at most X.)
-
Software interoperatibility (e.g. The meeting scheduling software should be interoperable with the WSS Agenda Manager product.)
Accuracy: constrain the state of information processed by the software to reflect the state of the corresponding physical information accurately (e.g. A copy of a book shall be stated as available by the loan software if and only if it is actually available on the library shelves.)
Compliance: prescribe software to conform to national laws, international regulations, social norms, cultural or political constraints, and standards (e.g. The value for the worst-case stopping distance between successive trains shall be compliant with international railways regulations)
Architectural
Installation: e.g. The meeting scheduling software should run on Windows version X.x and Linux version Y.y.
Distribution: e.g. The on-board train controllers shall handle the reception and proper execution of acceleration commands sent by the station computer.
Development: requirements on development costs, delivery schedules, variability of features, maintainability, reusability + portability (e.g. The overall cost of the new UWON library software should not exceed X.)
-
Non-traditional, non-functional requirements
-