This presentation describes the PABRE tools for the USE, MANAGEMENT AND EVOLUTION OF SOFTWARE REQUIREMENT PATTERNS FOR REQUIREMENTS ENGINEERING ELICITATION.
PABRE framework: http://www.upc.edu/gessi/PABRE/
PABRE system: http://www.upc.edu/gessi/PABRE/Tools.html
4. Req. Patterns: PABRE-Man & PABRE-Cft
Requirement Reuse
Your
Context
Common problem that
occurs within the domain,
and a suggested solution
requirements
in natural
language
Reusable
Requirements
Requirement
Patterns (SRPs)
Recognize which existing
requirements apply to the
patterns apply to the
particular context
Requirements
Book
PABRE
Method
↓ global errors
↑quality of the individual requirements
4
5. Req. Patterns: PABRE-Man & PABRE-Cft
SRP Example: Failure Alerts
Pattern’s Goal: Having system that provides alerts when system failures occur.
How do their requirements look like?
The solution should alert of disks close to their capacity .
alert
In case of a network or server disk crash the solution should alert immediately.
network or server disk crash,
alert
The system should alert the administrator of the resources (physical or logical)
alert
close to their capacity
close to their capacity.
Requirement
template
The system shall trigger alerts in case of
failuresSet failures.
failuresSet : set of possibleFailures
o possibleFailures: server crash | disk crash …
5
6. Req. Patterns: PABRE-Man & PABRE-Cft
SRP Example: Failure Alerts
Requirement Pattern Failure Alerts
Goal: Satisfy the customer need of having a system that provides alerts when system failures occur.
Template
The system shall trigger an alert in case of failure.
Extended
Fixed Part
multiplicity(Alerts Types) = 0..1 and
Parts
Constraint multiplicity(Failure Types) = 0..1
Requirement
Extended Part
Form
Homogeneous Alert Types
Failure Alerts
Template
The solution shall trigger %alertsSet% alerts in case of failure
Metric
Parameter
alertsSet alertsSet: Set(AlertType) Fax | Sound ….
AlertType: SMS | Mail |
Template
The system shall trigger alerts in case of %failuresSet% failures
Metric
Extended Part Parameter
Failure Types
failuresSet failuresSet: Set(FailureType) crash …
FailureType: server crash | disk
Template
Fixed Part
Requirement
Form
Heterogeneous
Failure Alerts
The system shall trigger different types of alerts depending on the type of
failure.
Extended
Parts
Constraint
Multiplicity(Alerts for Failure Types) = 0..*
The system shall trigger %alertsSet% alerts in case of %failuresSet%
failures.
Metric
Parameter
alertsSet: Set(AlertType)
alertsSet AlertType: SMS | Mail | Fax | Sound ….
failuresSet failuresSet: Set(FailureType) crash …
FailureType: server crash | disk
Template
Extended Part
Alerts for
Failure Types
6
13. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Man: Main functionalities
• SRP repository management
Classification Schemas
SRPs
Metrics
• SRP repository exploration
Browsing SRP catalogue according to different classification
schemas
• SRP use
Statistics about the use of patterns with the aim to update
the SRP catalogue
• SRP catalogue exportation
13
14. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Man: Overview
Selecting
Classification
Schema
Browsing
SRP Catalogue
Browsing
Metrics
Creating a new
SRP or Classifier
(when U.Compliance selected)
Information of the
Selected Element
(SRP)
Information of the
Selected Element
(Domain Metric)
14
15. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Man: Editing a SRP (I)
Tabs of the Selected Item in the
Pattern Navigation Tree (SRP)
Pattern Navigation Tree:
Browsing Forms, Parts &
Parameters of the SRP
15
16. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Man: Editing a SRP (II)
Tab of the Selected Item in the
Pattern Navigation Tree (Part)
Requirement Text
(with Parameters)
Table of Parameters
16
18. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Cft: Main Functionalities
• Projects Repository Management
Projects
Project Requirements:
• Created as an instance of a SRP
• Created from scratch
• Project and SRP Repository Browsing
Browsing of SRP Repository:
• By priorization
• By classification schema
• Requirement Books Generation
18
19. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Proj: Overview
Creating a new Project
(when Alphabetical List selected)
Options over a
Project
Information of the
Selected Element
(Project)
19
20. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Proj: Editing a project (I)
Tabs of the Selected Item in the
Project Navigation Tree (Project)
Current Tab: Project’s
General Information
Browsing
SRP Catalogue
Project Navigation Tree:
Browsing
Project Requirements
Information of the
Selected Element
(Part)
20
21. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Proj: Editing a project (II)
Current Tab: Project
Requirement Overview
Creating
Requirements (I)
Creating
Requirements (II)
21
22. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Proj: Editing a SRP requirement
Tabs of the Selected Item in the
Project Navigation Tree
(Requirement that applies an SRP)
Info of the applied SRP
Requirement’s Text
(with parameters)
Giving value to
a parameter
(Set of Domain)
22
23. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Proj: Editing a new requirement
Tabs of the Selected Item in the
Project Navigation Tree
(New Requirement)
Requirement’s
Question & Text
completely free
23
24. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Proj: Prioritizing SRPs
Prioritized
List of SRPs
Browsing
SRP Catalogue
Adding/Removing
the Selected SRP
to/from the
Prioritized List
Information of
the Selected
SRP
Information of the
Selected Element
(SRP)
24
25. Req. Patterns: PABRE-Man & PABRE-Cft
PABRE-Proj: Browsing SRP catalogue
2 Different
Types of
Browsing
Creating a new associated
requirement to this form
Creating a new requirement applying this part
Creating a new associated
requirement to this SRP
Window to
Apply a Part
Creating a new
requirement in the
classifier of this SRP
Going to the next
SRP in the
prioritized list
25