The PABRE software system is composed of two tools: PABRE-MAN and PABRE-PROJ.
PABRE-MAN is a tool that can be used by the requirement manager of the catalogue to maintain and evolve the software requirement patterns (SRP) catalogue. Its main functionalities are: patterns management, browsing, importation/exportation, printing and catalogue evolution.
PABRE-PROJ is a tool that can be used by requirements analysts during the elicitation of requirements in a software development project, use of external software components, or acquisition of software systems. Its main functionalities are: project management, browsing, importation/exportation, requirements management document generation, or call for tenders document generation and patterns use statistics exportation. Currently, there is also a web version of this tool, in a way that requirements analysts can access and edit software requirements projects from everywhere.
4. Req. Patterns: PABRE-Man & PABRE-Proj
Requirement Reuse
Common problem that
occurs within the domain,
requirements and a suggested solution
in natural
language
Your Reusable
Context Requirements
Requirement
Patterns (SRPs)
Recognize which existing
Recognize which existing PABRE
requirements applythethe
patterns apply to to Method
particular context
particular context
↓ global errors
Requirements
↑quality of the individual requirements
Specifications
4
5. Req. Patterns: PABRE-Man & PABRE-Proj
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-Proj
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.
Fixed Part Extended multiplicity(Alerts Types) = 0..1 and
Parts
Constraint multiplicity(Failure Types) = 0..1
Template The solution shall trigger %alertsSet% alerts in case of failure
Requirement Parameter Metric
Form Extended Part
Homogeneous Alert Types alertsSet alertsSet: Set(AlertType) Fax | Sound ….
Failure Alerts AlertType: SMS | Mail |
Template The system shall trigger alerts in case of %failuresSet% failures
Extended Part Parameter Metric
Failure Types
failuresSet failuresSet: Set(FailureType) crash …
FailureType: server crash | disk
The system shall trigger different types of alerts depending on the type of
Template failure.
Fixed Part Extended
Parts Multiplicity(Alerts for Failure Types) = 0..*
Requirement Constraint
Form The system shall trigger %alertsSet% alerts in case of %failuresSet%
Heterogeneous Template failures.
Failure Alerts Metric
Extended Part Parameter
Alerts for alertsSet: Set(AlertType)
Failure Types alertsSet AlertType: SMS | Mail | Fax | Sound ….
failuresSet failuresSet: Set(FailureType) crash …
FailureType: server crash | disk
6
14. Req. Patterns: PABRE-Man & PABRE-Proj
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
14
15. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Man: Overview
Selecting
Classification
Schema
Browsing
Metrics
Browsing
SRP Catalogue
Creating a new
SRP or Classifier
(when U.Compliance selected)
Information of the
Selected Element
(SRP)
Information of the
Selected Element
(Domain Metric)
15
16. Req. Patterns: PABRE-Man & PABRE-Proj
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
16
17. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Man: Editing a SRP (II)
Tab of the Selected Item in the
Pattern Navigation Tree (Part)
Requirement Text
(with Parameters)
Table of Parameters
17
19. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj: 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
• Requirements Specification Generation 19
20. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj: Overview
Creating a new Project
(when Alphabetical List selected)
Options over a
Project
Information of the
Selected Element
(Project)
20
21. Req. Patterns: PABRE-Man & PABRE-Proj
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)
21
22. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj: Editing a project (II)
Current Tab: Project Creating
Requirement Overview Requirements (I)
Creating
Requirements (II)
22
23. Req. Patterns: PABRE-Man & PABRE-Proj
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)
23
24. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj: Editing a new requirement
Tabs of the Selected Item in the
Project Navigation Tree
(New Requirement)
Requirement’s
Question & Text
completely free
24
25. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj: Prioritizing SRPs
Prioritized
List of SRPs
Adding/Removing
Browsing the Selected SRP
SRP Catalogue to/from the
Prioritized List
Information of
the Selected
SRP
Information of the
Selected Element
(SRP)
25
26. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj: Browsing SRP catalogue
2 Different Creating a new associated
Types of requirement to this form
Browsing
Creating a new require-
ment applying this part
Creating a new associated
requirement to this SRP
Window to
Apply a Part
Creating a new Going to the next
requirement in the SRP in the
classifier of this SRP prioritized list
26
28. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj Web: Main Functionalities
• Project Management from everywhere
• Same functionalities as PABRE-Proj desktop tool:
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
Requirements Specification Generation 28
29. PABRE-Proj Web: Overview (I)
Req. Patterns: PABRE-Man & PABRE-Proj
New Project &
Options over a
Project (I) Information of the
Selected Project
29
30. PABRE-Proj Web: Overview (II)
Req. Patterns: PABRE-Man & PABRE-Proj
Options over a Information of the
Project (II) Selected Project
30
31. PABRE-Proj Web: Editing a project (I)
Req. Patterns: PABRE-Man & PABRE-Proj
Project Require-
ments List Tab
General Project
Information Tab Project Navigation
(Current Tab) Tree Tab
Browsing the
SRP Catalogue
31
32. Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj Web: Editing a project (II)
Project Require-
ments List Tab
(Current Tab)
Creating, Editing & Deleting
Requirements
Information of the
Selected Pattern Element
(Form)
32
33. PABRE-Proj Web: Adding a SRP Requirement
Req. Patterns: PABRE-Man & PABRE-Proj
Project Navigation
Tree Tab
(Current Tab)
Creating, Editing & Deleting
Requirements
(New Requirement pressed)
Project Navigation Tree:
Browsing
Project Requirements
Information of the
Selected Project
Requirement
Adding an SRP application
requirement:
name, type and selected
fixed/extended part
33
34. PABRE-Proj Web: Editing a SRP Requirement
Req. Patterns: PABRE-Man & PABRE-Proj
Tabs for editing the Selected
Requirement (SRP Application)
(Current Tab) Info of the applied SRP
Requirement’s Text (with parameters)
Giving value to
a parameter
(Domain)
34
35. PABRE-Proj Web: Editing a New Requirement
Req. Patterns: PABRE-Man & PABRE-Proj
Tabs for editing the Selected
Requirement (NEW Requirement)
(Current Tab)
Requirement’s
Question & Text
completely free
35
37. Req. Patterns: PABRE-Man & PABRE-Proj
How could you contribute? (1/5)
Title: Requirement Patterns Search and
Recommender System
Description: PABRE-Proj is a tool that helps
Requirement Analysts during the elicitation and
specification of requirements. This tool is based in
the use of Software Requirement Patterns (SRP),
which are collected and stored in an SRP Database.
This work consists on developing new
functionalities for the PABRE-Proj tool that allow
searching SRP in the database and developing
recommender functionalities to the RA. The
recommendations will be based on the previous
SRP applied during elicitation and relationships and
categorization of SRP that are necessary to be
added to the SRP database schema.
Technologies: Google Web Toolkit (GWT), Web
Services, Java, Hibernate, Derby
Contact: Carme Quer (cquer@essi.upc.edu)
Web: http://www.upc.edu/gessi/PABRE/index.html
37
38. Req. Patterns: PABRE-Man & PABRE-Proj
How could you contribute? (2/5)
Title: Development of web services for the PABRE-Proj
tool.
Description: PABRE-Proj is a tool that helps Requirement
Analysts during the elicitation and specification of
Interfície de Proves requirements. This tool is based on the use of Software
Requirement Patterns (SRP), which are collected and stored
in an SRP Database. This work consists on developing web
services to allow Requirement Management Tools (RMT) to
Serveis Web access data and functionality that PABRE-Proj provides.
Specifically, these RMT should be able to access the
requirements in a project and the classification schema of
PABRE-Proj these requirements, and also to search for an SRP. In order
to test the optimal behaviour of the web services, an
interface will be also developed.
Technologies: Google Web Toolkit (GWT), Web Services,
Java, Hibernate, Derby
Contact: Carme Quer (cquer@essi.upc.edu)
Web: http://www.upc.edu/gessi/PABRE/index.html
38
39. Req. Patterns: PABRE-Man & PABRE-Proj
How could you contribute? (3/5)
Title: Development of a Requirements Management
Tool on Android.
Description: This work consists on developing a simple
intelligent editor that may help a Requirements Analyst
during elicitation of requirements. During the edition of
new requirements, the editor will search in a glossary
of requirements engineering terms and in a Software
Requirements Pattern (SRP) database, and will propose
changes in the wording of the requirements in order to
improve the consistency and quality of software
requirements specification documents.
Technologies: Android, Web Services, Java, Hibernate,
Derby
Contact: Carme Quer (cquer@essi.upc.edu)
Web: http://www.upc.edu/gessi/PABRE/index.html
39
40. Req. Patterns: PABRE-Man & PABRE-Proj
How could you contribute? (4/5)
Title: Analysis and Improvement of the Usability,
Maturity and Interoperability of PABRE.
Description: The PABRE system is composed of two
tools: PABRE-Proj and PABRE-Man. This work
consists on performing a detailed and rigorous
analysis of the usability and maturity of each one
of these tools, and also the interoperability
between them. Once identified the possible
aspects to improve, they will be implemented.
Technologies: Google Web Toolkit (GWT), Java,
Hibernate, Derby
Contact: Carme Quer (cquer@essi.upc.edu)
Web: http://www.upc.edu/gessi/PABRE/index.html
40
41. Req. Patterns: PABRE-Man & PABRE-Proj
How could you contribute? (5/5)
Title: Construction of Requirement Patterns for an
Specific Domain.
Description: This work is implemented in two
phases. First, to study one software or services
domain; for instance: the Cloud Computing services
domain. Once studied, Software Requirement
Patterns (SRP) for the elicitation of products or
services on this domain will be defined.
This is a work that does not include any
implementation. The construction of SRP will be
made by analyzing information sources found in the
Internet, eventually some requirement specification
coming from real projects, and using analysis
information tools as ATLAS.TI. Once defined, the SRP
will be introduced in a SRP database through the
PABRE-Man tool.
Technologies: ATLAS.TI, PABRE-Man
Contact: Carme Quer (cquer@essi.upc.edu)
Web: http://www.upc.edu/gessi/PABRE/index.html
41