Tutorial 2 –
Pattern Representation
RJ Macasaet
R&D Dept.
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
Outline
I. Overview of a requirements-based approach
for representing micro-business patterns
II. Pattern Essentials
A.
B.
C.
D.
E.
emergence
diagrams
tabulation
modes and instantiations
custom symbols
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
Get an idea of the approach from a general perspective
OVERVIEW
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
I. Approach Overview
Identifying
Common
Requirements
Identifying
Observation
Plan, Develop,
Varying
of
Iterate
Micro-businesses
and
Requirements
Deploy
Start
Yes
Database Link
Observe Microbusinesses
Pattern Archive
Pattern Emergence
Identify Common
Requirements
Component Archive
Develop another
micro-business
software system?
Describe Pattern
Deploy System
For
common
Diagram Pattern
For
varying
Identify Varying
Requirements
Draft
Implementation
Plan
Develop
Components
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
End
No
I. Approach Overview - Observation of
Micro-businesses
1. List down goals and requirements of two or
more micro-businesses.
2. Decompose goals into requirements [sample
method: see next slide adapted from Kotonya
and Sommerville]
3. Divide requirements into: functional and
non-functional.
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
Decompose goals into requirements –
from Kotonya and Sommerville
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
I. Approach Overview - Identification
of Common and Varying Requirements
1. Group the common requirements. The
minimum number of common requirements
to constitute a pattern is 2 (If there was
nothing in common, there would be no
pattern in the first place).
2. Identify uncommon requirements.
3. Tabulating the pattern helps in organizing the
requirements (common and uncommon, to
be discussed in the next section)
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
I. Approach Overview - Emergence of
patterns in succeeding iterations
• For every succeeding micro-business, the
software developer does the same activities of
observing and listing down requirements. The
new list of requirements is compared to all other
existing requirements. Similar and varying
requirements are identified. Similar requirements
are grouped as stated in the previous slide
• If there are no similar requirements then
software components are simply developed to
satisify/satisfice the requirements.
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
I. Approach Overview - Extra
Implementation Notes
• Due to the complexity of NFRs, additional
implementation notes are normally added by
the software developer in order to satisfice
the NFRs. Refer to the source publication for
more details.
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
I. Approach
Overview –
Metamodel
• Here we have
the artefacts of
the approach
represented in a
metamodel
Goals
Sub Goals
satisfy/satisfice
Micro-business
Processes
decompose
satisfy/satisfice
decompose
Requirements
Functional
Requirements
Non-Functional
Requirements
satisfy
satisfice
Components
realize
Patterns
Specifications
Structure
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
Learn how to make patterns and use them within the approach
PATTERN ESSENTIALS
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
II. Pattern Essentials - emergence
• Common requirements are grouped
• The minimum number of common
requirements to constitute a pattern is 2
• There are as many as n!/(k!(n-k)!) subpatterns, where n is the number of common
requirements in a pattern and k is the number
of common requirements in a grouping
• The next slide illustrates how common
requirements are grouped into patterns
(note: μb stands for micro-business)
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
hypothetical μb A
hypothetical μb B
record a cash sale
record a cash sale
display total cash sales
display total cash sales
record a credit sale
record product weight
display total credit sales
display product weight
Describe and represent these common requirements as one…
Pattern “Record-Display Cash Sale”
Text Description: (for requirements “record cash sale” and
“display total cash sales”) Example: The user is able to record
a cash sale and then display cash sale totals
Diagram: (for the common requirements) Example:
[record]
record cash
sale
action:
store
action:
query
start
[query]
end
database link
query total
cash sales
display total
cash sales
end
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
II. Pattern Essentials - diagrams
• The previous slide also shows a pattern
diagram which is a visual representation of the
requirements in terms of (business) processes.
• We recommend using BPMN to illustrate the
processes but other languages and notations
such as UML, SysML, or DFDs may be used.
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
II. Pattern Essentials - tabulation
• In order to tabulate a pattern, (a)
requirement(s) must be transformed into a
non-technical form, such as a question, i.e.
Requirement:
display available products online (μb side)
Non-technical form:
does the customer shop online?
• This is done in order to group the
requirements as shown in the table on the
next slide
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
II. Pattern
Essentials tabulation
• Refer to user
guide or source
publication for
details
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
II. Pattern Essentials –
modes and instantiations
• A pattern is an abstracted concept and in
order use it, it must be [done as] a mode and
then [applied as] an instantiation.
Process Pattern:
place to shop
[done as]
Mode:
website
[applied as]
Instantiation:
www.shop.com
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
II. Pattern Essentials – labels
• “P” labels are
placed in business
process activities
corresponding to
the modes of the
requirements
pattern
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
II. Pattern Essentials – custom symbols
• The concept also applies when connecting
SIGs as well.
Start
NFR
“speed”
Other Process
Process Pattern:
place to shop
[done as]
Mode:
website
[applied as]
Instantiation:
Fast Server
{measurement:
Data Transfer Rate}
www.shop.com
19
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED
Questions?
email:
rjmacasaet@pentathlonsystems.com
© COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED