42
Software Requirement Patterns PABRE-Man & PABRE-Proj Tools

PABRE Tools - How Students Can Contribute

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

Page 1: PABRE Tools - How Students Can Contribute

Software Requirement Patterns

PABRE-Man & PABRE-Proj Tools

Page 2: PABRE Tools - How Students Can Contribute

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

Page 3: PABRE Tools - How Students Can Contribute

3

REQUIREMENT REUSE

Req. Patterns: PABRE-Man & PABRE-Proj

Page 4: PABRE Tools - How Students Can Contribute

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

Page 5: PABRE Tools - How Students Can Contribute

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?

Page 6: PABRE Tools - How Students Can Contribute

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 …

Page 7: PABRE Tools - How Students Can Contribute

7

PABRE METHOD

Req. Patterns: PABRE-Man & PABRE-Proj

Page 8: PABRE Tools - How Students Can Contribute

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

Page 9: PABRE Tools - How Students Can Contribute

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

Page 10: PABRE Tools - How Students Can Contribute

10

PABRE Method: With Tools

Req. Patterns: PABRE-Man & PABRE-Proj

Page 11: PABRE Tools - How Students Can Contribute

11

PABRE System

Req. Patterns: PABRE-Man & PABRE-Proj

Page 12: PABRE Tools - How Students Can Contribute

12

PABRE System

Req. Patterns: PABRE-Man & PABRE-Proj

Page 13: PABRE Tools - How Students Can Contribute

13

PABRE-Man

Req. Patterns: PABRE-Man & PABRE-Proj

Page 14: PABRE Tools - How Students Can Contribute

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

Page 15: PABRE Tools - How Students Can Contribute

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)

Page 16: PABRE Tools - How Students Can Contribute

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)

Page 17: PABRE Tools - How Students Can Contribute

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

Page 18: PABRE Tools - How Students Can Contribute

18

PABRE-Proj

Req. Patterns: PABRE-Man & PABRE-Proj

Page 19: PABRE Tools - How Students Can Contribute

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

Page 20: PABRE Tools - How Students Can Contribute

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)

Page 21: PABRE Tools - How Students Can Contribute

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

Page 22: PABRE Tools - How Students Can Contribute

22

PABRE-Proj: Editing a project (II)

Req. Patterns: PABRE-Man & PABRE-Proj

Current Tab: Project Requirement Overview

Creating Requirements (I)

Creating Requirements (II)

Page 23: PABRE Tools - How Students Can Contribute

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

Page 24: PABRE Tools - How Students Can Contribute

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

Page 25: PABRE Tools - How Students Can Contribute

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

Page 26: PABRE Tools - How Students Can Contribute

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

Page 27: PABRE Tools - How Students Can Contribute

27

PABRE-Proj Web

Req. Patterns: PABRE-Man & PABRE-Proj

Page 28: PABRE Tools - How Students Can Contribute

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

Page 29: PABRE Tools - How Students Can Contribute

29

PABRE-Proj Web: Overview (I)Req. Patterns: PABRE-Man & PABRE-Proj

New Project &Options over a

Project (I) Information of the Selected Project

Page 30: PABRE Tools - How Students Can Contribute

30

PABRE-Proj Web: Overview (II)

Req. Patterns: PABRE-Man & PABRE-Proj

Information of the Selected Project

Options over a Project (II)

Page 31: PABRE Tools - How Students Can Contribute

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

Page 32: PABRE Tools - How Students Can Contribute

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)

Page 33: PABRE Tools - How Students Can Contribute

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

Page 34: PABRE Tools - How Students Can Contribute

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)

Page 35: PABRE Tools - How Students Can Contribute

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

Page 36: PABRE Tools - How Students Can Contribute

36

How could you contribute?

Req. Patterns: PABRE-Man & PABRE-Proj

Page 37: PABRE Tools - How Students Can Contribute

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

Page 38: PABRE Tools - How Students Can Contribute

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

Page 39: PABRE Tools - How Students Can Contribute

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

Page 40: PABRE Tools - How Students Can Contribute

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

Page 41: PABRE Tools - How Students Can Contribute

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

Page 42: PABRE Tools - How Students Can Contribute

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!!!