pabre framework for the construction and use of software requirement patterns
TRANSCRIPT
Requirement Patterns
PABRE-Man & PABRE-Proj
2
Outline• Requirement Reuse• Requirement Pattern Example• PABRE Method• Tools:
PABRE-Man: Requirement Pattern Management PABRE-Proj: Project Management
Req. Patterns: PABRE-Man & PABRE-Proj
3
Requirement ReuseReq. Patterns: PABRE-Man & PABRE-Cft
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
4
SRP Example: Failure AlertsReq. Patterns: PABRE-Man & PABRE-Cft
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?
5
SRP Example: Failure AlertsReq. Patterns: PABRE-Man & PABRE-Cft
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 …
6
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
7
PABRE Method: Overview (II)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
8
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: UseReq. Patterns: PABRE-Man & PABRE-Cft
9
PABRE Method: With Tools
Req. Patterns: PABRE-Man & PABRE-Cft
IT Consultant
Needs
Customer
Requirements
Bid
Supplier
Requirements
Book
Evaluation
OTS-basedsolution
AcquisitionAgreement
Bid BidRequirements Elicitation
ProjectsDB
Catalogue Evolution
Knowledge ofRequirement
Patterns
Knowledge ofRequirement
Patterns
Knowledge ofpreviousprojects
Knowledge ofpreviousprojects
Supplier Supplier
Call for tenders
RequirementPatterns
DB
RequirementsEngineeringApplication
Support
RequirementsEngineeringApplication
Support
PatternManagement Application
PatternManagement Application
Requirement Enginner
PABRE-PROJ tool
PABRE-MAN tool
10
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-Cft
11
PABRE-Man: OverviewReq. 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)
12
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)
13
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
14
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
• Requirement Books Generation
Req. Patterns: PABRE-Man & PABRE-Cft
15
PABRE-Proj: OverviewReq. Patterns: PABRE-Man & PABRE-Cft
Options over a Project
Information of the Selected Element
(Project)
Creating a new Project(when Alphabetical List selected)
16
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
17
PABRE-Proj: Editing a project (II)Req. Patterns: PABRE-Man & PABRE-Cft
Current Tab: Project Requirement Overview
Creating Requirements (I)
Creating Requirements (II)
18
PABRE-Proj: Editing a SRP requirementReq. 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
19
PABRE-Proj: Editing a new requirementReq. Patterns: PABRE-Man & PABRE-Cft
Tabs of the Selected Item in the Project Navigation Tree
(New Requirement)
Requirement’s Question & Text completely free
20
PABRE-Proj: Prioritizing SRPsReq. Patterns: PABRE-Man & PABRE-Cft
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
21
PABRE-Proj: Browsing SRP catalogueReq. Patterns: PABRE-Man & PABRE-Cft
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
Comments and Questions