pabre system - software requirement patterns

26
Requirement Patterns PABRE-Man & PABRE-Cft Tools

Upload: gessi-upc

Post on 14-Jun-2015

338 views

Category:

Technology


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: PABRE System - Software Requirement Patterns

Requirement Patterns

PABRE-Man & PABRE-Cft Tools

Page 2: PABRE System - Software Requirement Patterns

2

Req. Patterns: PABRE-Man & PABRE-Cft

Outline• Requirement Reuse• Requirement Pattern Example• PABRE Method• Tools:

PABRE-Man: Requirement Pattern Management PABRE-Proj: Project Management

Page 3: PABRE System - Software Requirement Patterns

3

Req. Patterns: PABRE-Man & PABRE-Cft

REQUIREMENT REUSE

Page 4: PABRE System - Software Requirement Patterns

4

Req. Patterns: PABRE-Man & PABRE-Cft

Requirement Reuse

ReusableRequirements

Your Context

Common problem thatoccurs within the domain,and a suggested solution

Recognize which existing requirements apply to the

particular context

RequirementsBook

RequirementPatterns (SRPs)

PABREMethod

requirementsin naturallanguage

↓ global errors

↑quality of the individual requirements

Recognize which existing patterns apply to the

particular context

Page 5: PABRE System - Software Requirement Patterns

5

Req. Patterns: PABRE-Man & PABRE-Cft

SRP Example: Failure Alerts

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 System - Software Requirement Patterns

6

Req. Patterns: PABRE-Man & PABRE-Cft

SRP Example: Failure AlertsRequirement 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 System - Software Requirement Patterns

7

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE METHOD

Page 8: PABRE System - Software Requirement Patterns

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

↓ cost

Page 9: PABRE System - Software Requirement Patterns

9

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE Method: Overview (II)

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 System - Software Requirement Patterns

10

Req. Patterns: PABRE-Man & PABRE-Cft

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

PABRE Method: Use

Page 11: PABRE System - Software Requirement Patterns

11

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE Method: With Tools

Page 12: PABRE System - Software Requirement Patterns

12

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE-Man

Page 13: PABRE System - Software Requirement Patterns

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

Page 14: PABRE System - Software Requirement Patterns

14

PABRE-Man: Overview

Req. Patterns: PABRE-Man & PABRE-Cft

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 15: PABRE System - Software Requirement Patterns

15

PABRE-Man: Editing a SRP (I)

Req. Patterns: PABRE-Man & PABRE-Cft

Pattern Navigation Tree:Browsing Forms, Parts &

Parameters of the SRP

Tabs of the Selected Item in the Pattern Navigation Tree (SRP)

Page 16: PABRE System - Software Requirement Patterns

16

PABRE-Man: Editing a SRP (II)

Req. Patterns: PABRE-Man & PABRE-Cft

Tab of the Selected Item in the Pattern Navigation Tree (Part)

Requirement Text(with Parameters)

Table of Parameters

Page 17: PABRE System - Software Requirement Patterns

17

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE-Proj

Page 18: PABRE System - Software Requirement Patterns

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

Page 19: PABRE System - Software Requirement Patterns

19

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE-Proj: Overview

Options over a Project

Information of the Selected Element

(Project)

Creating a new Project(when Alphabetical List selected)

Page 20: PABRE System - Software Requirement Patterns

20

PABRE-Proj: Editing a project (I)

Req. Patterns: PABRE-Man & PABRE-Cft

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 21: PABRE System - Software Requirement Patterns

21

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE-Proj: Editing a project (II)

Current Tab: Project Requirement Overview

Creating Requirements (I)

Creating Requirements (II)

Page 22: PABRE System - Software Requirement Patterns

22

PABRE-Proj: Editing a SRP requirement

Req. Patterns: PABRE-Man & PABRE-Cft

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 23: PABRE System - Software Requirement Patterns

23

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE-Proj: Editing a new requirementTabs of the Selected Item in the

Project Navigation Tree(New Requirement)

Requirement’s Question & Text completely free

Page 24: PABRE System - Software Requirement Patterns

24

Req. Patterns: PABRE-Man & PABRE-Cft

PABRE-Proj: Prioritizing SRPs

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 25: PABRE System - Software Requirement Patterns

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 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 26: PABRE System - Software Requirement Patterns

Comments and Questions

Speaker’s name<speaker’s mail address>