SlideShare uma empresa Scribd logo
1 de 34
SOFTWARE
REQUIREMENT PATTERNS

GESSI

Cristina Palomares

Software Engineering for Information Systems Group
10/11/2010
GESSI: Software Requirement Patterns

Outline
1.
2.
3.
4.
5.
6.
7.
8.

Introduction
Example
Metamodel
SRP Catalogue
PABRE Method & Tools
Validation
Conclusions
Future work
GESSI: Software Requirement Patterns

1. INTRODUCTION
GESSI: Software Requirement Patterns

Context
Patterns
RequirementsEl
icitationStage

(less global errors)

RequirementsB
ook

Patterns
(more reqs. quality)

Requirement
(natural
language)
The system shall provide
the user interface available
in languagesSet languages.

4
GESSI: Software Requirement Patterns

What is the problem?
•
•

PROBLEM: Most of the requirements books contains ambiguous,
incomplete or incoherent requirements, and sometimes they are stated
in an unsystematic way.
SOLUTION: Software Requirement Patterns (SRP).
 Pattern
– Alexander, 1979 ‘‘each pattern describes a problem which occurs over and
over again in our environment, and then describes the core of the solution
to that problem’’
 Requirement Pattern
– Withall, 2007 ‘‘a requirement pattern is a guide to writing a particular type
of requirement’’
Patterns

•

BENEFITS
1. +↑ quality of requirements
2. −↓ time and effort spent during requirements elicitation ( economic saving).

Requirements
Elicitation Stage

(less global errors)

Requirements
Book

Patterns
(more reqs. quality)

Requirement
(natural
language)
The system shall provide
the user interface available
in languagesSet languages.

5
A Specific Organization
GESSI: Software Requirement Patterns

SSI department, Centre de Recherche Publique Henri Tudor (CRPHT)
• Helping SME with no experience in Requirements Engineering.
• Designing requirement books to conduct Call-For-Tender processes for
selecting Off-The-Shelf solutions.

1. The system must be available 22 hours
per day and 7 days per week.

2. Should be possible to use the system in English
or French.

3. The system should not stop more than 1
hour per working day. The solution’s
availability rate should be 98% minimum.

4. The solution should permit to trace all the user
actions. The data to trace are: user name, date,
accessed or modified data.

• More than 40 projects done.
• Appliedreuse: starting a new projectbyeditingthemost similar one.
• Better capitalization of requirements in a high-level manner.
• Avoiding ambiguous, incomplete or incoherent requirements.

Strategy

• Software RequirementsPatterns (SRP).

6
GESSI: Software Requirement Patterns

2. EXAMPLE
Example: Failure Alerts
GESSI: Software Requirement Patterns

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
disks closetotheircapacity
In case of a network orserver disk crash the solution should alert immediately.
networkor server disk crash,
alert
The system should alert the administrator of the resources (physical or logical)
alert
resources (physicalorlogical)
closetotheircapacity
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 …

8
Example: Failure Alerts
GESSI: Software Requirement Patterns

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.
Extended
Fixed Part
multiplicity(Alerts Types) = 0..1 and
Parts
Constraint multiplicity(Failure Types) = 0..1
Requirement
Extended Part
Form
Homogeneous Alert Types
Failure Alerts

Template
The solution shall trigger %alertsSet% alerts in case of failure
Metric
Parameter
alertsSet alertsSet: Set(AlertType) Fax | Sound ….
AlertType: SMS | Mail |

Template
The system shall trigger alerts in case of %failuresSet% failures
Metric
Extended Part Parameter
Failure Types
failuresSet failuresSet: Set(FailureType) crash …
FailureType: server crash | disk
Template

Fixed Part
Requirement
Form
Heterogeneous
Failure Alerts

Thesystemshalltriggerdifferenttypes
failure.

of

alertsdependingonthetype

Extended
Parts
Constraint

of

Multiplicity(Alerts for Failure Types) = 0..*

Thesystemshalltrigger %alertsSet% alerts in case of %failuresSet%
failures.
Metric
Parameter
alertsSet alertsSet: Set(AlertType) Fax | Sound ….
AlertType: SMS | Mail |
failuresSet failuresSet: Set(FailureType) crash …
FailureType: server crash | disk

Template
Extended Part
Alerts for
Failure Types

9
GESSI: Software Requirement Patterns

3. METAMODEL
GESSI: Software Requirement Patterns

Metamodel – SRP Structure
A patternrepresents a cluster of
requirements (a group of
interrelatedrequirements).
Example:
Failure Alerts

A requirement
pattern…

A form captures a particular context that may
be the most appropiatefor a software project.
… has several
forms …

Examples:
Homogeneous Failure Alerts
Heterogeneous Failure Alerts

... and several
constrainst(s).

… that are made of 1
fixed part …

... and several
extended part(s)…

For declaring multiplicities or dependencies
among parts.
Examples:
excludes, requires …

A fixed partcontainsthemost
abstractexpression of a requirement.

A extended part contains other ways to
express a requirement (often with parameters).

Example:
The system shall trigger an
alert in case of failure.

Examples:
The system shall trigger an alert in
case of failure.
alert: SMS | Mail | Fax | Sound | …
failure: network crash | disk crash | …

11
GESSI: Software Requirement Patterns

Metamodel - Overview
CatalogueClas
sification

/

Core: SRP

Relationship

Application

PartsRelationshipexample:
Alerts for Failure Types↔ Data Integrity by Failure
(Failure Alerts)
(Recovery Procedures)
The system shall trigger alertsSet alerts in case
of failuresSet failures

Data shall be protected in case of failuresSet
failures.

12
GESSI: Software Requirement Patterns

4. SRP CATALOGUE
GESSI: Software Requirement Patterns

SRP Catalogue
•Set of all defined SRPs.
• SRP catalogue: organizedaccording to differentClassificationSchemas:
Hierarchical classification to index SRP.
Goals:
Makeeasierunderstanding and reuse of patterns.
Improvecatalogue’susability and portability.

14
SRP Catalogue – current version
GESSI: Software Requirement Patterns

• 29 non-functional & 3 non-technical requirement patterns.
• SRP catalogue according to ISO/IEC 9126-1 classification schema.
Functionality

Reliability

Suitability

-

Maturity

Failure alerts

Accuracy

Data precision

Fault Tolerance

Alternative data storage, Availability, Downtime, Uptime

Interoperability

Data exchange,Interoperability with external systems

Recoverability

Backups, Log

Security

Authentication, Authorization, Automatic logoff, Data
transmission protection, Stored data protection

R. Compliance

-

F. Compliance

-

Analyzability

-

Changeability

-

Stability

-

Usability

Maintainablity

Understandability

Interface Language, Interface type

Learnability

Online help, Interface learnability, Documentation

Testability

-

Operability

Failure alerts, Recovery procedures, Installation
procedures, Update procedures

M. Compliance

-

Attractiveness

-

Portability

U. Compliance

-

Adaptability

Development language

Installability

Platform

Efficiency
Time Behaviour

Interface load time, Concurrent users capacity

Coexistence

-

Resource Utilisation

Data capacity, Users capacity

Replaceability

-

E. Compliance

Backups, Log

P. Compliance

-

15
GESSI: Software Requirement Patterns

SRP Catalogue - construction
7 Requirement Books
Analysis of books
Focus on Non-Functional Requirements (NFR).

48 NFR Patterns
Refinement
1. Case studies (post-mortem analysis of some
requirement books).
2. Experts review (iterations between SSI & GESSI ).
3. Literature review (GESSI).

29 NFR Patterns
3 Non-Technical Patterns
16
GESSI: Software Requirement Patterns

5. PABRE METHOD & TOOLS
GESSI: Software Requirement Patterns

PABRE Method
Knowledge of the
Reqt. pattern
catalogue

Needs
IT Consultant

Customer

•PABRE: PAtternBasedRequirementsElicitation.
Supplier

Supplier

Supplier
6

•Method to create and useSRPs.
Requirements Elicitation

•Goals:

Patterns
Exploration

Parts
Exploration

Requirem.
Extraction



Call for
tenders

Requirements
1. Generation of theneededrequirementsbook.
Book
Requirem.
2. Help in therequirementselicitationphase:
Creation
 Less time to do it.
 Less errors in theresult.

Reqt.
Patterns
Catalogue

Knowledge of
previous projects

Forms
Exploration

Catalogue
Evolution

Feedback
Repository

Requirements
Expert

OTS-based
Solution

Heavy Process
 Why don’t we
use tools?

18
GESSI: Software Requirement Patterns

PABRE Method – with Tools

19
GESSI: Software Requirement Patterns

6. VALIDATION
GESSI: Software Requirement Patterns

Validation
• During building the catalogue and metamodel:
 SSI conducted two case studies to do an initial
validation:
1. Improve the contents and the metamodel of the catalogue:
the first one (a digital library system).
2. Catalogue validation: the second one (a CRM SaaS project)
used fro validation to obtain feedback of the adequacy of the
resulting catalogue.

• All the approach:
 SSI did a small project for a company (July 2010):
• 29 NFRs stated  using 21 different SRPs.
 (only 2 reqs didn’t become from SRPs!)

21
GESSI: Software Requirement Patterns

7. CONCLUSIONS
GESSI: Software Requirement Patterns

Conclusions
Software Requirement Patterns (SRP)
↑quality

starting point

SRP Catalogue

Tools

(current version)
http://www.upc.edu/gessi/PABRE

PABRE-Man

PABRE-Cft

Initial
validation

23
GESSI: Software Requirement Patterns

8. FUTURE WORK
GESSI: Software Requirement Patterns

Future Work
•

Validation of the approach (catalogue, method, tool,
etc.):
 Call-for-tender processes: collaboration of SSI-CPRHT and
CASSIS consultants.
 Other different domains.

•

Improve and expand tools’ functionalities.
 Interoperability with other requirement engineering tools (Irqa,…).

•
•

Expand SRP catalogue with other types of requirements
(non-technical, functional).
Automatic computation of patterns from requirement
books.

25
SOFTWARE
REQUIREMENT PATTERNS

GESSI

Cristina Palomares

Software Engineering for Information Systems Group
10/11/2010
GESSI: Software Requirement Patterns

Other approaches
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]

Scope
General purpose
General purpose
Business applications
General purpose
Embedded systems
Security requirements
Security requirements
General purpose
General purpose

Notation
Natural language
Object models
Event-Use case
Semi-formal models
Logic-based
UML class diagrams
Natural language
Natural language
Problem frames + i*

Application
Req. elicitation
Variability modeling
Identify patterns
Writing req. models
From informal to formal reqs.
Security goals elicitation
Req. elicitation in SOC
Writing SRS
Knowledge management

Metamodel?
Just templates
Yes
No
Yes
No
No
No
Just template
No

Ours

General purpose

Natural language

Writing SRSs

Yes

5. A. Durán, B. Bernárdez, A. Ruíz, M. Toro. “A Requirements Elicitation Approach Based in Templates and
Patterns”. WER 1999.
6. B. Moros, C. Vicente, A. Toval. “Metamodeling Variability to Enable Requirements Reuse”. EMMSAD 2008.
7. S. Robertson. “Requirements Patterns Via Events/Use Cases”. PLoP 1996.
8. O. López, M.A. Laguna, F.J. García. “Metamodeling for Requirements Reuse”. WER 2002.
9. S. Konrad, B.H.C. Cheng. “Requirements Patterns for Embedded Systems”. RE 2002.
10. D. Matheson, I. Ray, I. Ray, S. H. Houmb. “Building Security Requirement Patterns for Increased Effectiveness
Early in the Development Process”. SREIS 2005.
11. A. Mahfouz, L. Barroca, R. C. Laney, B. Nuseibeh. Patterns for Service-Oriented Information Exchange
Requirements. PLoP, 2006.
12. J. Withall. Software Requirements Patterns. Microsoft Press, 2007.
13. J. Yang, L. Liu. “Modelling Requirements Patterns with a Goal and PF Integrated Analysis Approach”. COMPSAC
2008.

27
GESSI: Software Requirement Patterns

Metamodel - Relationships
… pattern
relationship, …

… form
relationship
and…

Implies all the forms
and all the parts of
the related patterns.

Implies all the
parts of the
related forms.

… part
relationship.
Only applying to
these 2 parts.

A general relationship
is specified in…

If A is related to B and A is applied in a project, is mandatory know
the type of this relationship: for instance, apply or avoid B.
Example:

Authorization pattern

IMPLIES

Authentication pattern

But relationship types not defined more flexibility.

28
GESSI: Software Requirement Patterns

Metamodel - Classification
… is compossed for 1 or more Root
Classifiers and each one of them…

A Classification
Schema…
Hierarchical classification to index patterns.

Example:
Usability, Portability, Efficiency …

Example:
ISO/IEC 9126-1

/

… contains 1 or more
Classifiers. A Classifier
can be…
Example:
Attractiveness, U. Compliance,
Operability, Learnability …

… a Basic Classifier or…

… a Compound Classifier.

Contains only SRP.

Again contains 2 or more classifiers.

Example:
The basic classifier Operability
contains the following patterns:
Installation Procedures, Recovery
Procedures, Failure Alerts …

Example:
The compound classifier Reliability
contains the following classifiers:
Fault Tolerance, Maturity,
Recoverability …

29
SRP Catalogue - construction
•1st phase  result: 1st version of the catalogue (48 SRPs) and
GESSI: Software Requirement Patterns

metamodel
1. Analysis req. books focus on Non-functional requirements.
2. GESSI - UPC academic experts + SSI experts knowledge.
3. GESSI - UPC knowledge: analysis structure, relationship and
organization of requirements in req. books.
4. SSI experts knowledge: feedback, suggestions, requirements
on the pattern structure.

1st catalogue

1stmetamodel

•2nd phase  result: 2nd version of the catalogue (29 NFR & 3
Non-technical SRPs) and metamodel
1. Use req.books to validate catalogue: applying patterns for recreating
them.
2. SSI experts knowledge + requirement engineers experienced in OTS:
review first catalogue version.
3. SSI experts knowledge: 2 case studies
1) To improve the contents of the catalogue.
2) For validation: to obtain feedback about the adequacy of the
resulting catalogue.
4. Literature review (3 types of sources).
5. SSI experts knowledge + requirement engineers experienced in OTS:
review catalogue structure ( metamodel). Relevant attributes and
new elements in the pattern structure (as questions).

2nd catalogue

2ndmetamodel

30
GESSI: Software Requirement Patterns

PABRE-Man (Patterns Management Tool)
•SRP repository management. Create, update and delete:
 SRPs.
 Metrics.
 Classification schemas.

•SRP repository

exploration:

 Browsing of SRP repository according to different classification schemas.
 Browsing of all defined metrics.

•SRP use:
 Import an xml concerning to a project to update the statistics about the
use of patterns.

 Consult use of different SRPs with the aim to update the SRP catalogue.

• SRP catalogue exportation:
Pdf or rtf.

31
GESSI: Software Requirement Patterns

PABRE-Man (Patterns Management Tool)

32
GESSI: Software Requirement Patterns

PABRE-Cft(Projects Management Tool)
•Projects repository management:
 Create, copy, update and delete projects.
 Create, update and delete requirements:
a. Created as an instance of a SRP.

b. Created from scratch.

•Project and SRP repository browsing:
 Browsing of projects and their requirements.
 Browsing of SRP repository.

•Generation of call-for-tenders document.
• Exporting projects:
 Xml or pdf.

• Exporting SRPs use.

33
GESSI: Software Requirement Patterns

PABRE-Cft(Projects Management Tool)

34

Mais conteúdo relacionado

Mais procurados

Integrating Microservices with Apache Camel
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache CamelChristian Posta
 
PostgreSQL continuous backup and PITR with Barman
 PostgreSQL continuous backup and PITR with Barman PostgreSQL continuous backup and PITR with Barman
PostgreSQL continuous backup and PITR with BarmanEDB
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションdcubeio
 
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackDLT Solutions
 
PLM Implementation services
PLM Implementation servicesPLM Implementation services
PLM Implementation servicesGeometric Ltd.
 
Moving a Monolith to Kubernetes
Moving a Monolith to KubernetesMoving a Monolith to Kubernetes
Moving a Monolith to KubernetesM. Scott Ford
 
IBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonIBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonejlp12
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Nelson Calero
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containersPatrick Pierson
 
クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題
クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題
クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題Masahiro Morozumi
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜Daiki Kawanuma
 
2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to Know2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to KnowApplitools
 
Тестирование требований и документации
Тестирование требований и документацииТестирование требований и документации
Тестирование требований и документацииUladzimir Kryvenka
 
Projeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramentaProjeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramentaAécio Pires
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introductionDongwon Kim
 

Mais procurados (20)

Integrating Microservices with Apache Camel
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
 
Content search api in sitecore 8.1
Content search api in sitecore 8.1Content search api in sitecore 8.1
Content search api in sitecore 8.1
 
PostgreSQL continuous backup and PITR with Barman
 PostgreSQL continuous backup and PITR with Barman PostgreSQL continuous backup and PITR with Barman
PostgreSQL continuous backup and PITR with Barman
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
 
steeleye Replication
steeleye Replication steeleye Replication
steeleye Replication
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
 
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt Pack
 
PLM Implementation services
PLM Implementation servicesPLM Implementation services
PLM Implementation services
 
Moving a Monolith to Kubernetes
Moving a Monolith to KubernetesMoving a Monolith to Kubernetes
Moving a Monolith to Kubernetes
 
IBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonIBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparison
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containers
 
クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題
クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題
クラウドにおける責任共有モデルと クラウド利用者のセキュリティの課題
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
 
2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to Know2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to Know
 
Uyuni, the movie
Uyuni, the movieUyuni, the movie
Uyuni, the movie
 
Тестирование требований и документации
Тестирование требований и документацииТестирование требований и документации
Тестирование требований и документации
 
Projeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramentaProjeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramenta
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
 

Destaque

PABRE System - Software Requirement Patterns
PABRE System - Software Requirement PatternsPABRE System - Software Requirement Patterns
PABRE System - Software Requirement PatternsGESSI UPC
 
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...Yahoo Developer Network
 
Performance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingPerformance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingTestCampRO
 
Estimation techniques and software metrics
Estimation techniques and software metricsEstimation techniques and software metrics
Estimation techniques and software metricsMae Abigail Banquil
 
Sample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library BlogSample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library BlogALATechSource
 
Example requirements specification
Example requirements specificationExample requirements specification
Example requirements specificationindrisrozas
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management SystemSoumili Sen
 

Destaque (9)

PABRE System - Software Requirement Patterns
PABRE System - Software Requirement PatternsPABRE System - Software Requirement Patterns
PABRE System - Software Requirement Patterns
 
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
 
Performance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingPerformance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profiling
 
Online News Portal
Online News PortalOnline News Portal
Online News Portal
 
Estimation techniques and software metrics
Estimation techniques and software metricsEstimation techniques and software metrics
Estimation techniques and software metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Sample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library BlogSample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library Blog
 
Example requirements specification
Example requirements specificationExample requirements specification
Example requirements specification
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
 

Semelhante a Software Requirement Patterns (SRP)

Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Softwaresvilen.ivanov
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Spark Summit
 
Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Siddhesh Bhobe
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)John Pape
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesKiran Munir
 
Presentation
PresentationPresentation
Presentationbutest
 
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema VarietyUniversity of Bologna
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceLionel Briand
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practiceswebuploader
 
Machine programming
Machine programmingMachine programming
Machine programmingDESMOND YUEN
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingSteve Feldman
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)Steve Feldman
 
A Collaborative Research Proposal To The NSF Research Accelerator For Multip...
A Collaborative Research Proposal To The NSF  Research Accelerator For Multip...A Collaborative Research Proposal To The NSF  Research Accelerator For Multip...
A Collaborative Research Proposal To The NSF Research Accelerator For Multip...Scott Donald
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8koolkampus
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototypingdrjms
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software DevelopmentJignesh Patel
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 

Semelhante a Software Requirement Patterns (SRP) (20)

SE.pdf
SE.pdfSE.pdf
SE.pdf
 
Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Software
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
 
Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)
 
Cnpm bkdn
Cnpm bkdnCnpm bkdn
Cnpm bkdn
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Presentation
PresentationPresentation
Presentation
 
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial Intelligence
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practices
 
Machine programming
Machine programmingMachine programming
Machine programming
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarking
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
 
A Collaborative Research Proposal To The NSF Research Accelerator For Multip...
A Collaborative Research Proposal To The NSF  Research Accelerator For Multip...A Collaborative Research Proposal To The NSF  Research Accelerator For Multip...
A Collaborative Research Proposal To The NSF Research Accelerator For Multip...
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Resolving problems & high availability
Resolving problems & high availabilityResolving problems & high availability
Resolving problems & high availability
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 

Mais de GESSI UPC

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* ModelsGESSI UPC
 
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 RequirementsGESSI UPC
 
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 SALMonGESSI UPC
 
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 AdoptionGESSI UPC
 
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 ConceptsGESSI UPC
 
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)GESSI UPC
 
Open expo2015 riscoss
Open expo2015 riscossOpen expo2015 riscoss
Open expo2015 riscossGESSI UPC
 
Mobility4 all
Mobility4 allMobility4 all
Mobility4 allGESSI UPC
 
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 EcosystemsGESSI UPC
 
Expert mining compsac-2014
Expert mining compsac-2014Expert mining compsac-2014
Expert mining compsac-2014GESSI UPC
 
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 ProcessesGESSI UPC
 
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* ModelsGESSI UPC
 
Applying Business Strategy Models in Organizations
Applying Business Strategy Models in OrganizationsApplying Business Strategy Models in Organizations
Applying Business Strategy Models in OrganizationsGESSI UPC
 
Slides refsq'14 ds v1
Slides refsq'14 ds v1Slides refsq'14 ds v1
Slides refsq'14 ds v1GESSI 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 ConsumptionGESSI UPC
 
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...GESSI UPC
 

Mais de 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
 

Último

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Software Requirement Patterns (SRP)

  • 1. SOFTWARE REQUIREMENT PATTERNS GESSI Cristina Palomares Software Engineering for Information Systems Group 10/11/2010
  • 2. GESSI: Software Requirement Patterns Outline 1. 2. 3. 4. 5. 6. 7. 8. Introduction Example Metamodel SRP Catalogue PABRE Method & Tools Validation Conclusions Future work
  • 3. GESSI: Software Requirement Patterns 1. INTRODUCTION
  • 4. GESSI: Software Requirement Patterns Context Patterns RequirementsEl icitationStage (less global errors) RequirementsB ook Patterns (more reqs. quality) Requirement (natural language) The system shall provide the user interface available in languagesSet languages. 4
  • 5. GESSI: Software Requirement Patterns What is the problem? • • PROBLEM: Most of the requirements books contains ambiguous, incomplete or incoherent requirements, and sometimes they are stated in an unsystematic way. SOLUTION: Software Requirement Patterns (SRP).  Pattern – Alexander, 1979 ‘‘each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem’’  Requirement Pattern – Withall, 2007 ‘‘a requirement pattern is a guide to writing a particular type of requirement’’ Patterns • BENEFITS 1. +↑ quality of requirements 2. −↓ time and effort spent during requirements elicitation ( economic saving). Requirements Elicitation Stage (less global errors) Requirements Book Patterns (more reqs. quality) Requirement (natural language) The system shall provide the user interface available in languagesSet languages. 5
  • 6. A Specific Organization GESSI: Software Requirement Patterns SSI department, Centre de Recherche Publique Henri Tudor (CRPHT) • Helping SME with no experience in Requirements Engineering. • Designing requirement books to conduct Call-For-Tender processes for selecting Off-The-Shelf solutions. 1. The system must be available 22 hours per day and 7 days per week. 2. Should be possible to use the system in English or French. 3. The system should not stop more than 1 hour per working day. The solution’s availability rate should be 98% minimum. 4. The solution should permit to trace all the user actions. The data to trace are: user name, date, accessed or modified data. • More than 40 projects done. • Appliedreuse: starting a new projectbyeditingthemost similar one. • Better capitalization of requirements in a high-level manner. • Avoiding ambiguous, incomplete or incoherent requirements. Strategy • Software RequirementsPatterns (SRP). 6
  • 7. GESSI: Software Requirement Patterns 2. EXAMPLE
  • 8. Example: Failure Alerts GESSI: Software Requirement Patterns 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 disks closetotheircapacity In case of a network orserver disk crash the solution should alert immediately. networkor server disk crash, alert The system should alert the administrator of the resources (physical or logical) alert resources (physicalorlogical) closetotheircapacity 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 … 8
  • 9. Example: Failure Alerts GESSI: Software Requirement Patterns 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. Extended Fixed Part multiplicity(Alerts Types) = 0..1 and Parts Constraint multiplicity(Failure Types) = 0..1 Requirement Extended Part Form Homogeneous Alert Types Failure Alerts Template The solution shall trigger %alertsSet% alerts in case of failure Metric Parameter alertsSet alertsSet: Set(AlertType) Fax | Sound …. AlertType: SMS | Mail | Template The system shall trigger alerts in case of %failuresSet% failures Metric Extended Part Parameter Failure Types failuresSet failuresSet: Set(FailureType) crash … FailureType: server crash | disk Template Fixed Part Requirement Form Heterogeneous Failure Alerts Thesystemshalltriggerdifferenttypes failure. of alertsdependingonthetype Extended Parts Constraint of Multiplicity(Alerts for Failure Types) = 0..* Thesystemshalltrigger %alertsSet% alerts in case of %failuresSet% failures. Metric Parameter alertsSet alertsSet: Set(AlertType) Fax | Sound …. AlertType: SMS | Mail | failuresSet failuresSet: Set(FailureType) crash … FailureType: server crash | disk Template Extended Part Alerts for Failure Types 9
  • 10. GESSI: Software Requirement Patterns 3. METAMODEL
  • 11. GESSI: Software Requirement Patterns Metamodel – SRP Structure A patternrepresents a cluster of requirements (a group of interrelatedrequirements). Example: Failure Alerts A requirement pattern… A form captures a particular context that may be the most appropiatefor a software project. … has several forms … Examples: Homogeneous Failure Alerts Heterogeneous Failure Alerts ... and several constrainst(s). … that are made of 1 fixed part … ... and several extended part(s)… For declaring multiplicities or dependencies among parts. Examples: excludes, requires … A fixed partcontainsthemost abstractexpression of a requirement. A extended part contains other ways to express a requirement (often with parameters). Example: The system shall trigger an alert in case of failure. Examples: The system shall trigger an alert in case of failure. alert: SMS | Mail | Fax | Sound | … failure: network crash | disk crash | … 11
  • 12. GESSI: Software Requirement Patterns Metamodel - Overview CatalogueClas sification / Core: SRP Relationship Application PartsRelationshipexample: Alerts for Failure Types↔ Data Integrity by Failure (Failure Alerts) (Recovery Procedures) The system shall trigger alertsSet alerts in case of failuresSet failures Data shall be protected in case of failuresSet failures. 12
  • 13. GESSI: Software Requirement Patterns 4. SRP CATALOGUE
  • 14. GESSI: Software Requirement Patterns SRP Catalogue •Set of all defined SRPs. • SRP catalogue: organizedaccording to differentClassificationSchemas: Hierarchical classification to index SRP. Goals: Makeeasierunderstanding and reuse of patterns. Improvecatalogue’susability and portability. 14
  • 15. SRP Catalogue – current version GESSI: Software Requirement Patterns • 29 non-functional & 3 non-technical requirement patterns. • SRP catalogue according to ISO/IEC 9126-1 classification schema. Functionality Reliability Suitability - Maturity Failure alerts Accuracy Data precision Fault Tolerance Alternative data storage, Availability, Downtime, Uptime Interoperability Data exchange,Interoperability with external systems Recoverability Backups, Log Security Authentication, Authorization, Automatic logoff, Data transmission protection, Stored data protection R. Compliance - F. Compliance - Analyzability - Changeability - Stability - Usability Maintainablity Understandability Interface Language, Interface type Learnability Online help, Interface learnability, Documentation Testability - Operability Failure alerts, Recovery procedures, Installation procedures, Update procedures M. Compliance - Attractiveness - Portability U. Compliance - Adaptability Development language Installability Platform Efficiency Time Behaviour Interface load time, Concurrent users capacity Coexistence - Resource Utilisation Data capacity, Users capacity Replaceability - E. Compliance Backups, Log P. Compliance - 15
  • 16. GESSI: Software Requirement Patterns SRP Catalogue - construction 7 Requirement Books Analysis of books Focus on Non-Functional Requirements (NFR). 48 NFR Patterns Refinement 1. Case studies (post-mortem analysis of some requirement books). 2. Experts review (iterations between SSI & GESSI ). 3. Literature review (GESSI). 29 NFR Patterns 3 Non-Technical Patterns 16
  • 17. GESSI: Software Requirement Patterns 5. PABRE METHOD & TOOLS
  • 18. GESSI: Software Requirement Patterns PABRE Method Knowledge of the Reqt. pattern catalogue Needs IT Consultant Customer •PABRE: PAtternBasedRequirementsElicitation. Supplier Supplier Supplier 6 •Method to create and useSRPs. Requirements Elicitation •Goals: Patterns Exploration Parts Exploration Requirem. Extraction  Call for tenders Requirements 1. Generation of theneededrequirementsbook. Book Requirem. 2. Help in therequirementselicitationphase: Creation  Less time to do it.  Less errors in theresult. Reqt. Patterns Catalogue Knowledge of previous projects Forms Exploration Catalogue Evolution Feedback Repository Requirements Expert OTS-based Solution Heavy Process  Why don’t we use tools? 18
  • 19. GESSI: Software Requirement Patterns PABRE Method – with Tools 19
  • 20. GESSI: Software Requirement Patterns 6. VALIDATION
  • 21. GESSI: Software Requirement Patterns Validation • During building the catalogue and metamodel:  SSI conducted two case studies to do an initial validation: 1. Improve the contents and the metamodel of the catalogue: the first one (a digital library system). 2. Catalogue validation: the second one (a CRM SaaS project) used fro validation to obtain feedback of the adequacy of the resulting catalogue. • All the approach:  SSI did a small project for a company (July 2010): • 29 NFRs stated  using 21 different SRPs.  (only 2 reqs didn’t become from SRPs!) 21
  • 22. GESSI: Software Requirement Patterns 7. CONCLUSIONS
  • 23. GESSI: Software Requirement Patterns Conclusions Software Requirement Patterns (SRP) ↑quality starting point SRP Catalogue Tools (current version) http://www.upc.edu/gessi/PABRE PABRE-Man PABRE-Cft Initial validation 23
  • 24. GESSI: Software Requirement Patterns 8. FUTURE WORK
  • 25. GESSI: Software Requirement Patterns Future Work • Validation of the approach (catalogue, method, tool, etc.):  Call-for-tender processes: collaboration of SSI-CPRHT and CASSIS consultants.  Other different domains. • Improve and expand tools’ functionalities.  Interoperability with other requirement engineering tools (Irqa,…). • • Expand SRP catalogue with other types of requirements (non-technical, functional). Automatic computation of patterns from requirement books. 25
  • 26. SOFTWARE REQUIREMENT PATTERNS GESSI Cristina Palomares Software Engineering for Information Systems Group 10/11/2010
  • 27. GESSI: Software Requirement Patterns Other approaches [5] [6] [7] [8] [9] [10] [11] [12] [13] Scope General purpose General purpose Business applications General purpose Embedded systems Security requirements Security requirements General purpose General purpose Notation Natural language Object models Event-Use case Semi-formal models Logic-based UML class diagrams Natural language Natural language Problem frames + i* Application Req. elicitation Variability modeling Identify patterns Writing req. models From informal to formal reqs. Security goals elicitation Req. elicitation in SOC Writing SRS Knowledge management Metamodel? Just templates Yes No Yes No No No Just template No Ours General purpose Natural language Writing SRSs Yes 5. A. Durán, B. Bernárdez, A. Ruíz, M. Toro. “A Requirements Elicitation Approach Based in Templates and Patterns”. WER 1999. 6. B. Moros, C. Vicente, A. Toval. “Metamodeling Variability to Enable Requirements Reuse”. EMMSAD 2008. 7. S. Robertson. “Requirements Patterns Via Events/Use Cases”. PLoP 1996. 8. O. López, M.A. Laguna, F.J. García. “Metamodeling for Requirements Reuse”. WER 2002. 9. S. Konrad, B.H.C. Cheng. “Requirements Patterns for Embedded Systems”. RE 2002. 10. D. Matheson, I. Ray, I. Ray, S. H. Houmb. “Building Security Requirement Patterns for Increased Effectiveness Early in the Development Process”. SREIS 2005. 11. A. Mahfouz, L. Barroca, R. C. Laney, B. Nuseibeh. Patterns for Service-Oriented Information Exchange Requirements. PLoP, 2006. 12. J. Withall. Software Requirements Patterns. Microsoft Press, 2007. 13. J. Yang, L. Liu. “Modelling Requirements Patterns with a Goal and PF Integrated Analysis Approach”. COMPSAC 2008. 27
  • 28. GESSI: Software Requirement Patterns Metamodel - Relationships … pattern relationship, … … form relationship and… Implies all the forms and all the parts of the related patterns. Implies all the parts of the related forms. … part relationship. Only applying to these 2 parts. A general relationship is specified in… If A is related to B and A is applied in a project, is mandatory know the type of this relationship: for instance, apply or avoid B. Example: Authorization pattern IMPLIES Authentication pattern But relationship types not defined more flexibility. 28
  • 29. GESSI: Software Requirement Patterns Metamodel - Classification … is compossed for 1 or more Root Classifiers and each one of them… A Classification Schema… Hierarchical classification to index patterns. Example: Usability, Portability, Efficiency … Example: ISO/IEC 9126-1 / … contains 1 or more Classifiers. A Classifier can be… Example: Attractiveness, U. Compliance, Operability, Learnability … … a Basic Classifier or… … a Compound Classifier. Contains only SRP. Again contains 2 or more classifiers. Example: The basic classifier Operability contains the following patterns: Installation Procedures, Recovery Procedures, Failure Alerts … Example: The compound classifier Reliability contains the following classifiers: Fault Tolerance, Maturity, Recoverability … 29
  • 30. SRP Catalogue - construction •1st phase  result: 1st version of the catalogue (48 SRPs) and GESSI: Software Requirement Patterns metamodel 1. Analysis req. books focus on Non-functional requirements. 2. GESSI - UPC academic experts + SSI experts knowledge. 3. GESSI - UPC knowledge: analysis structure, relationship and organization of requirements in req. books. 4. SSI experts knowledge: feedback, suggestions, requirements on the pattern structure. 1st catalogue 1stmetamodel •2nd phase  result: 2nd version of the catalogue (29 NFR & 3 Non-technical SRPs) and metamodel 1. Use req.books to validate catalogue: applying patterns for recreating them. 2. SSI experts knowledge + requirement engineers experienced in OTS: review first catalogue version. 3. SSI experts knowledge: 2 case studies 1) To improve the contents of the catalogue. 2) For validation: to obtain feedback about the adequacy of the resulting catalogue. 4. Literature review (3 types of sources). 5. SSI experts knowledge + requirement engineers experienced in OTS: review catalogue structure ( metamodel). Relevant attributes and new elements in the pattern structure (as questions). 2nd catalogue 2ndmetamodel 30
  • 31. GESSI: Software Requirement Patterns PABRE-Man (Patterns Management Tool) •SRP repository management. Create, update and delete:  SRPs.  Metrics.  Classification schemas. •SRP repository exploration:  Browsing of SRP repository according to different classification schemas.  Browsing of all defined metrics. •SRP use:  Import an xml concerning to a project to update the statistics about the use of patterns.  Consult use of different SRPs with the aim to update the SRP catalogue. • SRP catalogue exportation: Pdf or rtf. 31
  • 32. GESSI: Software Requirement Patterns PABRE-Man (Patterns Management Tool) 32
  • 33. GESSI: Software Requirement Patterns PABRE-Cft(Projects Management Tool) •Projects repository management:  Create, copy, update and delete projects.  Create, update and delete requirements: a. Created as an instance of a SRP. b. Created from scratch. •Project and SRP repository browsing:  Browsing of projects and their requirements.  Browsing of SRP repository. •Generation of call-for-tenders document. • Exporting projects:  Xml or pdf. • Exporting SRPs use. 33
  • 34. GESSI: Software Requirement Patterns PABRE-Cft(Projects Management Tool) 34