Professional Documents
Culture Documents
Manual Tester Requirement Engineering
Manual Tester Requirement Engineering
Requirement Engineering
1
Module
1. The Basics of
Requirement
Engineering
2
requirements
De nition and classi cation of requirements
Requirement
1. The condition or ability required by stakeholders to solve a given problem or achieve a certain
goal.
2. Conditions or abilities which have to be met or obtained by the system or an element of the
system for provisions of a contract, standard, speci cation or another formally imposed
document to be met.
3. A documented representation of a condition or abilities de ned in items 1. and 2.
4
5
Classi cation of requirements - limitations
Limitations are certain conditions that limit the possibilities of the process of designing, operating
or the solution, or its life-cycle.
Business limitations: Technical limitations:
nancial limitations hardware and software platforms
schedule limitations programming language and technology
resource limitations size of a database
skills and abilities of the project team the use of hardware resources 6
• production cost - how much the client is able to pay for the development of the solution.
• organization of the development process – what approach should be assumed (the client may
require a certain methodology, technology or tools to be employed).
• documentation – what scope and sort of documentation is necessary for the client's requirements
to be ful lled? Is complete documentation required or are basic artefacts su cient?
7
Examples - limitations
• The software is to be developed in Java.
• The project is to be carried out according to Prince 2 principles.
Classi cation of requirements - Product requirements
Product requirements are the characteristics of product quality.
• The system should authorize the user before granting access to the application.
Classi cation of product requirements - examples
Functional product requirements
• The system must allow the user to nd a client with the use of an ID.
• The system is to generate trend analysis reports based on data obtained from transactions.
attributes
Requirement attributes
Main attributes:
obligation - is the degree of obligation for the requirement to be ful lled.
priority - de nes the importance/urgency of the requirement towards the business.
criticality - de nes the risk/damage in case the requirement is not ful lled.
12
Requirement attributes
Attributes which should be de ned:
identi er - each requirement should be clearly identi ed.
feasibility - de nition of whether the requirement can be ful lled considering current
infrastructure, budget and time constraints, as well as available resources.
risk - risks relate to potential nancial damages, business features which potentially will not be
accepted may lead to loss of stakeholder trust.
source - indicates where the requirement originated.
13
type - helps to classify requirement.
Requirement attributes - SOLUTION
MoSCoW
M - Must have
S - Should have 14
C - Could have
W - Won't have this time but will have in the future
Requirement attributes
Example of a template of a requirement description usually used in sequential methods of software
development.
15
Problems related to requirements
The following are the most common problems related to requirements:
Unclear purpose of the project – we do not know the business value which the project is to
deliver and we do not know the role of the solution to be implemented.
Communication issues – the client is not able to precisely state their needs and true goals.
Language issues – even if international project teams use the same language, there may be
some issues with understanding resulting from such things as accents and using regional terms.
Knowledge barriers – these may result from the lack of understanding of the complexity of the
development process and the role of the client in that process. The service provider might not 16
have su cient business knowledge regarding the business domain of the client's organization.
Unclear requirements – requirements must be clear and concise. The rule of thumb here is "the
less the better". Use precisely selected words and simple phrases.
Problems related to requirements - cont.
Changing requirements – if at the initial stages of the project not all crucial requirements,
limitations and assumptions have been stated, there is a high probability that requirements will
change at further stages.
Low quality of requirements – quality of requirements directly in uences the quality of the
product.
Insu cient engagement of stakeholders – lack of engagement of stakeholders in the
engineering process may lead to creating a solution which will not ful ll the needs of the
business. Insu cient cooperation may cause some requirements to be missed during the
17
analysis phase.
Omitted classes of stakeholders – in case not all key participants of the project or their points
of view have been de ned, there is a risk that the project will not fully provide for carrying out
business processes.
Problems related to requirements - cont.
Planning errors – in some cases the high-level requirements de ned by the client in the software
product development contract are improperly analyzed and estimated by the service provider.
This may lead to a situation where the time planned for further project activities, including
requirement analysis, is insu cient.
Insu cient speci cation of requirements/solution – in some cases organizations which
develop products, especially software, do not prepare su cient product speci cation as they
focus on implementation. In other cases, speci cations include very general information, which
may lead to creating a product that will not meet the client's expectations.
18
2. Requirement 19
engineering
2.1 Identifying
requirements - (V- 20
model)
Identifying requirements
The process of identifying requirements begins with de ning the needs of the client and assessing
the vision of goals of the project.
• brainstorming,
• on-site observations,
• internship,
• requirement workshops.
FURPS
FURPS is an acronym representing the model for Functionality
classifying functional and non-functional
requirements. This approach may be used as a 1. What does the system need? – all functional
great checklist, which allows for considering all requirements of the client
of the most crucial elements of the project.
2. Administration – management panel
3. Audit – storing and reading records of all
Functionality activities performed in the system (logs)
Usability 4. Connections - connections and 23
synchronisation, protocols
Reliability
5. Reusability - dependence on a programming
Performance language, framework, environment etc.
Supportability 6. Expandability - ability to add new plugins
7. Licensing - the licensing model for the system
FURPS
Usability Reliability
1. Capacity – what level of tra c the system 1. Adaptability – how the system can be adapted
should suport to other conditions
2. Responsiveness – the time the system needs 2. Auditability – access to logs
to respond 3. Compatibility - possibility to work with
3. Scalability - how the system can be scaled previous versions of the system
4. Speed – how fast the system works 4. Con gurability - ease and means of 25
(SCRUM)
User stories
Scrum and V-model production approach requirements in two completely di erent ways. In the case
of the sequential process of development, requirements are often non-negotiable and very detailed
from the very beginning.
27
User stories
User stories
are a convenient form of expressing the expected business value. User stories are stored in a way
which allows them to be comprehended both by representatives of the business side of the project
and by engineers. They have a simple structure and they are a good basis for further conversation.
28
Source
User story - template
A proper high-level user story (non-detailed) should include:
• User Story
As ......[who?] (user)
I want to ......[what?] (feature of the product or problem which we intend do solve) 29
to...... [why?] (why does the user need such feature and what value does it bring them).
User story - examples
User registration
As [who?] an unregistered user
I want to [what?] register within the service
to [why?] have the ability to log in.
Navigation
30
As a user
I want to have access to the top menu of the application from every place in the application
to be able to easily navigate the site.
User stories - examples
Link - Price Drop/strong
As a user
I want to display only discounted products (using the "Price Drop" link),
to be able to quickly nd cheaper stock.
32
Initially user stories refer to broad scopes of business value and are not very detailed. While the
time passes, user stories are discussed numerous times by stakeholders, the product owner and
the development team, and they are broken into collections of smaller, more detailed elements of
product register. In the end, they become small and detailed enough to become part of a sprint,
where the features which they describe will be designed, built and tested.
2.3 Modelling 33
UML requirements
UML (Uni ed Modeling Language)
The UML language is a language for graphical modelling of di erent applications and systems. It is a
standardized notation for analysis and design of systems. It includes di erent types of diagrams:
Behavior diagrams Structure diagrams
• activity diagram • class diagram
• use case diagram • object diagram
• state diagram • component diagram
• sequence diagram • implementation diagram 34
UML - activity diagram
Activity diagrams are probably the most broadly used among all UML language diagrams. They can
be used to model all types of behaviors: business processes, software processes, work ows. Activity
diagrams are used to depict activities which include smaller actions.
35
Source: https://www.uml-diagrams.org/online-shopping-uml-activity-diagram-example.html?context=activity-examples
UML - activity diagram
36
Source: https://www.uml-diagrams.org/shopping-process-order-uml-activity-diagram-example.html?context=activity-examples
UML - use case diagram
In UML, use cases are used to depict system features. They include named fragments of features
(use cases), persons or things which call those features (actors) and elements responsible for
implementation of use cases (subjects).
37
Source: https://www.lucidchart.com/pages/uml-use-case-diagram
UML - class diagram
When developing software, programmers must constantly make decisions: what classes store
references to other classes, which class "holds" another class, etc. Diagrams of classes allow them to
present a physical structure of the system.
38
Exercise
Prepare at least 10 requirements which will describe a Visuality Student Book app. The
requirements are to represent your vision of what a Visuality Student Book app should look like.
Use the user story method. Remember to also assign proper obligation level to your requirements
using the MoSCoW method.
39