Upload
gessi-upc
View
394
Download
3
Tags:
Embed Size (px)
DESCRIPTION
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.
Citation preview
Software Requirement Patterns
PABRE-Man & PABRE-Proj Tools
2
Outline• Requirement Reuse• Requirement Pattern Example• PABRE Method• PABRE System• Tools:
PABRE-Man: Requirement Pattern Management PABRE-Proj: Project Management PABRE-Proj Web: Project Management from everywhere
• How could you contribute?
Req. Patterns: PABRE-Man & PABRE-Proj
3
REQUIREMENT REUSE
Req. Patterns: PABRE-Man & PABRE-Proj
4
Requirement Reuse
Req. Patterns: PABRE-Man & PABRE-Proj
ReusableRequirements
Your Context
Common problem thatoccurs within the domain,and a suggested solution
Recognize which existing requirements apply to the
particular context
RequirementsSpecifications
RequirementPatterns (SRPs)
PABREMethod
requirementsin naturallanguage
↓ global errors
↑quality of the individual requirements
Recognize which existing patterns apply to the
particular context
5
SRP Example: Failure Alerts
Req. Patterns: PABRE-Man & PABRE-Proj
The solution should alert of disks close to their capacity .
In case of a network or server disk crash, the solution should alert immediately.
The system should alert the administrator of the resources (physical or logical) close to their capacity.
failuresSet : set of possibleFailureso possibleFailures: server crash | disk crash …
The system shall trigger alerts in case of failuresSet failures.
alert
alert
alert
disks close to their capacity
network or server disk crash
resources (physical or logical)close to their capacity
Pattern’s Goal: Having system that provides alerts when system failures occur.
Requirement template
How do their requirements look like?
6
SRP Example: Failure Alerts
Req. Patterns: PABRE-Man & PABRE-Proj
Requirement Pattern Failure Alerts
Goal: Satisfy the customer need of having a system that provides alerts when system failures occur.
RequirementForm Homogeneous Failure Alerts
Fixed Part
Template The system shall trigger an alert in case of failure.
Extended Parts Constraint
multiplicity(Alerts Types) = 0..1 andmultiplicity(Failure Types) = 0..1
Extended Part Alert Types
Template The solution shall trigger %alertsSet% alerts in case of failure Parameter Metric
alertsSet alertsSet: Set(AlertType)AlertType: SMS | Mail | Fax | Sound ….
Extended Part Failure Types
Template The system shall trigger alerts in case of %failuresSet% failures Parameter Metric
failuresSet failuresSet: Set(FailureType)FailureType: server crash | disk crash …
RequirementForm Heterogeneous Failure Alerts
Fixed Part
TemplateThe system shall trigger different types of alerts depending on the type of failure.
Extended Parts Constraint
Multiplicity(Alerts for Failure Types) = 0..*
Extended Part Alerts for Failure Types
Template The system shall trigger %alertsSet% alerts in case of %failuresSet% failures.
Parameter Metric
alertsSet alertsSet: Set(AlertType)AlertType: SMS | Mail | Fax | Sound ….
failuresSet failuresSet: Set(FailureType)FailureType: server crash | disk crash …
7
PABRE METHOD
Req. Patterns: PABRE-Man & PABRE-Proj
8
PABRE Method: Overview (I)• PABRE: PAttern Based Requirements Elicitation
• Method to use and update Req. Patterns
• Goals: Requirements Book Generation Requirements elicitation phase easier:
• ↓ time• ↓ errors
Req. Patterns: PABRE-Man & PABRE-Proj
↓ cost
9
PABRE Method: Overview (II)
Req. Patterns: PABRE-Man & PABRE-Proj
Requirements Elicitation
IT Consultant Customer
Supplier SupplierSupplier
Requirements
Book
6
Knowledge of the Reqt. pattern
catalogue
Reqt.Patterns
Catalogue
FeedbackRepository
Call for tenders
CatalogueEvolution
RequirementsExpert
OTS-basedSolution
Needs
PatternsExploration
FormsExploration
PartsExploration
Requirem.Extraction
Requirem.Creation
Knowledge of previous projects
10
PABRE Method: With Tools
Req. Patterns: PABRE-Man & PABRE-Proj
11
PABRE System
Req. Patterns: PABRE-Man & PABRE-Proj
12
PABRE System
Req. Patterns: PABRE-Man & PABRE-Proj
13
PABRE-Man
Req. Patterns: PABRE-Man & PABRE-Proj
14
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
Req. Patterns: PABRE-Man & PABRE-Proj
15
PABRE-Man: Overview
Req. Patterns: PABRE-Man & PABRE-Proj
Selecting Classification
Schema
Information of the Selected Element
(SRP)
Browsing SRP Catalogue
Creating a new SRP or Classifier
(when U.Compliance selected)
Browsing Metrics
Information of the Selected Element(Domain Metric)
16
PABRE-Man: Editing a SRP (I)
Req. Patterns: PABRE-Man & PABRE-Proj
Pattern Navigation Tree:Browsing Forms, Parts &
Parameters of the SRP
Tabs of the Selected Item in the Pattern Navigation Tree (SRP)
17
PABRE-Man: Editing a SRP (II)
Req. Patterns: PABRE-Man & PABRE-Proj
Tab of the Selected Item in the Pattern Navigation Tree (Part)
Requirement Text(with Parameters)
Table of Parameters
18
PABRE-Proj
Req. Patterns: PABRE-Man & PABRE-Proj
19
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
Req. Patterns: PABRE-Man & PABRE-Proj
20
PABRE-Proj: Overview
Req. Patterns: PABRE-Man & PABRE-Proj
Options over a Project
Information of the Selected Element
(Project)
Creating a new Project(when Alphabetical List selected)
21
PABRE-Proj: Editing a project (I)
Req. Patterns: PABRE-Man & PABRE-Proj
Browsing SRP Catalogue
Information of the Selected Element
(Part)
Project Navigation Tree:Browsing
Project Requirements
Tabs of the Selected Item in the Project Navigation Tree (Project) Current Tab: Project’s
General Information
22
PABRE-Proj: Editing a project (II)
Req. Patterns: PABRE-Man & PABRE-Proj
Current Tab: Project Requirement Overview
Creating Requirements (I)
Creating Requirements (II)
23
PABRE-Proj: Editing a SRP requirement
Req. Patterns: PABRE-Man & PABRE-Proj
Tabs of the Selected Item in the Project Navigation Tree
(Requirement that applies an SRP)
Giving value to a parameter
(Set of Domain)
Requirement’s Text(with parameters)
Info of the applied SRP
24
PABRE-Proj: Editing a new requirement
Req. Patterns: PABRE-Man & PABRE-Proj
Tabs of the Selected Item in the Project Navigation Tree
(New Requirement)
Requirement’s Question & Text completely free
25
PABRE-Proj: Prioritizing SRPs
Req. Patterns: PABRE-Man & PABRE-Proj
Browsing SRP Catalogue
Information of the Selected Element
(SRP)
Adding/Removing the Selected SRP
to/from the Prioritized List
Prioritized List of SRPs
Information of the Selected
SRP
26
PABRE-Proj: Browsing SRP catalogue
Req. Patterns: PABRE-Man & PABRE-Proj
2 Different Types of Browsing
Creating a new associated requirement to this form
Creating a new require-ment applying this part
Window to Apply a Part
Creating a new requirement in the
classifier of this SRP
Going to the next SRP in the
prioritized list
Creating a new associated requirement to this SRP
27
PABRE-Proj Web
Req. Patterns: PABRE-Man & PABRE-Proj
28
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
Req. Patterns: PABRE-Man & PABRE-Proj
29
PABRE-Proj Web: Overview (I)Req. Patterns: PABRE-Man & PABRE-Proj
New Project &Options over a
Project (I) Information of the Selected Project
30
PABRE-Proj Web: Overview (II)
Req. Patterns: PABRE-Man & PABRE-Proj
Information of the Selected Project
Options over a Project (II)
31
PABRE-Proj Web: Editing a project (I)Req. Patterns: PABRE-Man & PABRE-Proj
Browsing the SRP Catalogue
General Project Information Tab
(Current Tab)Project Navigation
Tree Tab
Project Require-ments List Tab
32
PABRE-Proj Web: Editing a project (II)
Req. Patterns: PABRE-Man & PABRE-Proj
Project Require-ments List Tab(Current Tab)
Creating, Editing & Deleting Requirements
Information of the Selected Pattern Element
(Form)
33
PABRE-Proj Web: Adding a SRP Requirement
Req. Patterns: PABRE-Man & PABRE-Proj
Project Navigation Tree Tab
(Current Tab)
Project Navigation Tree:Browsing
Project Requirements
Information of the Selected Project
Requirement
Creating, Editing & Deleting Requirements
(New Requirement pressed)
Adding an SRP application requirement:
name, type and selected fixed/extended part
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)
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
36
How could you contribute?
Req. Patterns: PABRE-Man & PABRE-Proj
37
How could you contribute? (1/5)
Req. Patterns: PABRE-Man & PABRE-Proj
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, DerbyContact: Carme Quer ([email protected])Web: http://www.upc.edu/gessi/PABRE/index.html
38
How could you contribute? (2/5)
Req. Patterns: PABRE-Man & PABRE-Proj
PABRE-Proj
Serveis Web
Interfície de Proves
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 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 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 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, DerbyContact: Carme Quer ([email protected])Web: http://www.upc.edu/gessi/PABRE/index.html
39
How could you contribute? (3/5)
Req. Patterns: PABRE-Man & PABRE-Proj
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, DerbyContact: Carme Quer ([email protected])Web: http://www.upc.edu/gessi/PABRE/index.html
40
How could you contribute? (4/5)
Req. Patterns: PABRE-Man & PABRE-Proj
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, DerbyContact: Carme Quer ([email protected])Web: http://www.upc.edu/gessi/PABRE/index.html
41
How could you contribute? (5/5)
Req. Patterns: PABRE-Man & PABRE-Proj
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-ManContact: Carme Quer ([email protected])Web: http://www.upc.edu/gessi/PABRE/index.html
Software Requirement PatternsPABRE-Man & PABRE-Proj Tools
http://www.upc.edu/gessi/PABRE/index.html
Ask us if you are interested or have any questions!!!