SlideShare a Scribd company logo
1 of 42
Software Requirement
      Patterns
Req. Patterns: PABRE-Man & PABRE-Proj
                                            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?
                                                                                               2
Req. Patterns: PABRE-Man & PABRE-Proj




       REQUIREMENT REUSE


3
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
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
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
Req. Patterns: PABRE-Man & PABRE-Proj




       PABRE METHOD


7
Req. Patterns: PABRE-Man & PABRE-Proj
                                          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
                                                         ↓ cost
                                           • ↓ errors



                                                                                     8
Req. Patterns: PABRE-Man & PABRE-Proj
                                        PABRE Method: Overview (II)
                                                                 Knowledge of the
                                                                   Reqt. pattern                                          Needs
                                                                    catalogue
                                                                                           IT Consultant           Customer


                                                                                                                                            Supplier   Supplier   Supplier

                                                                                                                                                                                  6
                                                            Requirements Elicitation




                                                                                                                                      
                                                                                                                        Requirem.
                                                                        Patterns       Forms         Parts              Extraction                         Call for          OTS-based
                                                                        Exploration    Exploration   Exploration                                                              Solution
                                                                                                                                                           tenders
                                                                                                                                     Requirements
                                                                                                                        Requirem.       Book
                                                                                                                        Creation




                                                              Reqt.                   Catalogue
                                                                                                                       Feedback
                                                             Patterns                 Evolution                        Repository
                                                            Catalogue


                                          Knowledge of                                                     Requirements
                                        previous projects                                                  Expert
                                                                                                                                                                                 9
Req. Patterns: PABRE-Man & PABRE-Proj
                                     PABRE Method: With Tools




10
Req. Patterns: PABRE-Man & PABRE-Proj




        PABRE System


11
Req. Patterns: PABRE-Man & PABRE-Proj
                                     PABRE System




12
Req. Patterns: PABRE-Man & PABRE-Proj




        PABRE-Man


13
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
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
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
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
Req. Patterns: PABRE-Man & PABRE-Proj




        PABRE-Proj


18
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
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
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
Req. Patterns: PABRE-Man & PABRE-Proj
                                        PABRE-Proj: Editing a project (II)
                                                                   Current Tab: Project      Creating
                                                                  Requirement Overview    Requirements (I)




                                                  Creating
                                              Requirements (II)




                                                                                                        22
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
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
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
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
Req. Patterns: PABRE-Man & PABRE-Proj




        PABRE-Proj Web


27
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
PABRE-Proj Web: Overview (I)
Req. Patterns: PABRE-Man & PABRE-Proj




                                               New Project &
                                               Options over a
                                                 Project (I)    Information of the
                                                                 Selected Project




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




                                                    Options over a   Information of the
                                                     Project (II)     Selected Project




                                                                                          30
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
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
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
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
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
Req. Patterns: PABRE-Man & PABRE-Proj




        How could you contribute?


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

More Related Content

More from GESSI UPC

Slides refsq'14 ds v1
Slides refsq'14 ds v1Slides refsq'14 ds v1
Slides refsq'14 ds v1
GESSI UPC
 
A Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and ConsumptionA Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and Consumption
GESSI UPC
 

More from GESSI UPC (20)

iStarJSON: A Lightweight Data-Format for i* Models
iStarJSON: A Lightweight Data-Format for i* ModelsiStarJSON: A Lightweight Data-Format for i* Models
iStarJSON: A Lightweight Data-Format for i* Models
 
Towards iStarML 2.0: Closing Gaps from Evolved Requirements
Towards iStarML 2.0: Closing Gaps from Evolved RequirementsTowards iStarML 2.0: Closing Gaps from Evolved Requirements
Towards iStarML 2.0: Closing Gaps from Evolved Requirements
 
Monitoring the service-based system lifecycle with SALMon
Monitoring the service-based system lifecycle with SALMonMonitoring the service-based system lifecycle with SALMon
Monitoring the service-based system lifecycle with SALMon
 
Ossap final
Ossap finalOssap final
Ossap final
 
Aligning Business Goals and Risks in OSS Adoption
Aligning Business Goals and Risks in OSS AdoptionAligning Business Goals and Risks in OSS Adoption
Aligning Business Goals and Risks in OSS Adoption
 
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC ConceptsJcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
 
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
 
Open expo2015 riscoss
Open expo2015 riscossOpen expo2015 riscoss
Open expo2015 riscoss
 
Oss2015
Oss2015Oss2015
Oss2015
 
Mobility4 all
Mobility4 allMobility4 all
Mobility4 all
 
Er14
Er14Er14
Er14
 
QuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsQuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software Ecosystems
 
Expert mining compsac-2014
Expert mining compsac-2014Expert mining compsac-2014
Expert mining compsac-2014
 
MoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
MoDRE 2014 @ RE keynote -- NFR-Aware MDD ProcessesMoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
MoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
 
Quantifying the Impact of OSS Adoption Risks with the help of i* Models
Quantifying the Impact of OSS Adoption Risks with the help of i* ModelsQuantifying the Impact of OSS Adoption Risks with the help of i* Models
Quantifying the Impact of OSS Adoption Risks with the help of i* Models
 
Applying Business Strategy Models in Organizations
Applying Business Strategy Models in OrganizationsApplying Business Strategy Models in Organizations
Applying Business Strategy Models in Organizations
 
Slides refsq'14 ds v1
Slides refsq'14 ds v1Slides refsq'14 ds v1
Slides refsq'14 ds v1
 
A Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and ConsumptionA Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and Consumption
 
Practical Experiences in Designing and Conducting Empirical Studies in Indust...
Practical Experiences in Designing and Conducting Empirical Studies in Indust...Practical Experiences in Designing and Conducting Empirical Studies in Indust...
Practical Experiences in Designing and Conducting Empirical Studies in Indust...
 
Cesi2014
Cesi2014Cesi2014
Cesi2014
 

PABRE Tools - How Students Can Contribute

  • 2. Req. Patterns: PABRE-Man & PABRE-Proj 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? 2
  • 3. Req. Patterns: PABRE-Man & PABRE-Proj REQUIREMENT REUSE 3
  • 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
  • 7. Req. Patterns: PABRE-Man & PABRE-Proj PABRE METHOD 7
  • 8. Req. Patterns: PABRE-Man & PABRE-Proj 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 ↓ cost • ↓ errors 8
  • 9. Req. Patterns: PABRE-Man & PABRE-Proj PABRE Method: Overview (II) Knowledge of the Reqt. pattern Needs catalogue IT Consultant Customer Supplier Supplier Supplier 6 Requirements Elicitation  Requirem. Patterns Forms Parts Extraction Call for OTS-based Exploration Exploration Exploration Solution tenders Requirements Requirem. Book Creation Reqt. Catalogue Feedback Patterns Evolution Repository Catalogue Knowledge of Requirements previous projects Expert 9
  • 10. Req. Patterns: PABRE-Man & PABRE-Proj PABRE Method: With Tools 10
  • 11. Req. Patterns: PABRE-Man & PABRE-Proj PABRE System 11
  • 12. Req. Patterns: PABRE-Man & PABRE-Proj PABRE System 12
  • 13. Req. Patterns: PABRE-Man & PABRE-Proj PABRE-Man 13
  • 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
  • 18. Req. Patterns: PABRE-Man & PABRE-Proj PABRE-Proj 18
  • 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
  • 27. Req. Patterns: PABRE-Man & PABRE-Proj PABRE-Proj Web 27
  • 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
  • 36. Req. Patterns: PABRE-Man & PABRE-Proj How could you contribute? 36
  • 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