SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Software architecture document
Software architecture documentSoftware architecture document
Software architecture documentHaidar Arya
 
大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)
大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)
大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)Dahui Feng
 
ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사
ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사
ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사제관 이
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
Sua 정보보호관리체계 cissp_물리보안_강의교안
Sua 정보보호관리체계 cissp_물리보안_강의교안Sua 정보보호관리체계 cissp_물리보안_강의교안
Sua 정보보호관리체계 cissp_물리보안_강의교안Lee Chanwoo
 
iPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceiPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceRaveendra Babu Darsi
 
IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)InGuen Hwang
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획InGuen Hwang
 
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)
서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)
서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)ChanMin Park
 
The Myth Of Requirements
The Myth Of RequirementsThe Myth Of Requirements
The Myth Of RequirementsAlan McSweeney
 
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)Amazon Web Services Korea
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128beom kyun choi
 
Difference Between Technical And Techno Functional
Difference Between Technical And Techno FunctionalDifference Between Technical And Techno Functional
Difference Between Technical And Techno FunctionalShivmohan Purohit
 
시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...
시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...
시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...Jinwon Park
 
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기BESPIN GLOBAL
 
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話洋史 東平
 
[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SA
[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SA[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SA
[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SAAmazon Web Services Korea
 
Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)
Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)
Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)Amazon Web Services Korea
 
AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018
AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018 AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018
AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018 Amazon Web Services Korea
 

Was ist angesagt? (20)

Software architecture document
Software architecture documentSoftware architecture document
Software architecture document
 
大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)
大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)
大规模SOA系统中的分布事务处理 (DTP By Alipay Cheng Li)
 
ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사
ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사
ISMS 개발보안, 시큐어코딩을 위한 sonarqube의 활용.건국대학교병원.이제관 기술사
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
Sua 정보보호관리체계 cissp_물리보안_강의교안
Sua 정보보호관리체계 cissp_물리보안_강의교안Sua 정보보호관리체계 cissp_물리보안_강의교안
Sua 정보보호관리체계 cissp_물리보안_강의교안
 
iPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceiPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergence
 
IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획
 
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)
서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)
서버리스 기반의 프론트엔드 서버 구축(Serverless frontend web server)
 
The Myth Of Requirements
The Myth Of RequirementsThe Myth Of Requirements
The Myth Of Requirements
 
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128
 
Difference Between Technical And Techno Functional
Difference Between Technical And Techno FunctionalDifference Between Technical And Techno Functional
Difference Between Technical And Techno Functional
 
시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...
시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...
시스템공학 기본(Fundamental of systems engineering) - Day9 system analysis and contr...
 
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
 
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
 
[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SA
[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SA[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SA
[AWS Builders] AWS IAM 을 통한 클라우드에서의 권한 관리 - 신은수, AWS Security Specialist SA
 
Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)
Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)
Amazon 인공 지능(AI) 서비스 및 AWS 기반 딥러닝 활용 방법 - 윤석찬 (AWS, 테크에반젤리스트)
 
AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018
AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018 AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018
AWS를 활용한 리테일,이커머스 워크로드와 온라인 서비스 이관 사례::이동열, 임혁용:: AWS Summit Seoul 2018
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 

Ähnlich wie 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
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Kürzlich hochgeladen (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

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