Metoda BORM

Transkript

Metoda BORM
Vojtěch Merunka
Metoda BORM
BORM – Business and Object Relation Modeling
BORM information engineering process
Práce na BORMu začaly na počátku 90. let ve výzkumném projektu
VAPPIENS Britské rady (Know-How Fund of the British Council).
Metoda je od roku 1996 vyvíjena s podporou firmy Deloitte,
kde se také používá.
Podrobný popis BORMu lze nalézt v knize Carda, Merunka, Polák:
Umění systémového návrhu - objektově orientovaná tvorba
informačních systémů pomocí původní metody BORM, Grada 2003.
Pro BORM se doposud používal CASE nástroj Metaedit® finské firmy
Metacase Ltd nebo MS Visio. Craft.CASE se používá od roku 2005.
Publikace o BORMu
Umění systémového návrhu – Objektově orientovaná tvorba informačních systémů
pomocí původní metody BORM, Grada, Praha 2003
knihy
Management of the Object-Oriented Development Process, Akron Publishing, Virgin Island 2005
Accounting Information Systems, South-Western Publishing, Mason-Ohio 2004
Využití metod umělé inteligence ve vodním hospodářství,
nakladatelství Akademie věd ČR, Praha 2004
a dalších cca 5 vysokoškolských skript
The BORM methodology: a third-generation fully object-oriented methodology,
Knowledge-Based Systems 3(10) 2003, Elsevier Science Publishing, New York.
ččasopisy
asopisy
… a další 4 články v českých vědeckých časopisech
Process Modeling for Object Oriented Analysis using BORM Object Behavioral Analysis,
in Proceedings of Fourth International Conference on Requirements Engineering,
ΙΕΕΕ Computer Society, Chicago 2000.
… a dalších cca 20 příspěvků na konferencích doma i v zahraničí
konference
BORM - kontext celé metody
business
business map
map
konceptu
ální
konceptuální
model
model
modely
ů
modely subjekt
subjektů
analýza
ávrh
analýza aa nnávrh
business
business struktur
struktur
řřešení
ešení IS
IS
aa jejich
ání
jejich chov
chování
zadání
pro IS
Filosofie BORMu:
business
business
in
ženýrství
inženýrství
softwarový
softwarový
model
model
implementace
implementace
nnávrhu
ávrhu
návrh
řešení
tvorba informačního systému pomocí
postupné transformace modelů
softwarov
é in
ženýrství
softwarové
inženýrství
((tvorba
tvorba softwaru
ání kk řřešení)
ešení)
softwaru od
od zad
zadání
řešení
BORM and MDA Approach
business engineering area
business models
participant
software engineering area
conceptual models
(platform-independent)
software models
(platform-dependent)
object
object
object
collection
collection
collection
class
class
class
activity (job positions, perf. measures, devices)
method
method
communication
message
participant
(modeling card)
states & transitions
real
world
problem
function, scenario
(CSF, goals, targets,
issues)
message
object
oriented
solution
delegation
association
(relationship
tables)
relation
is-a hierarchy
BORM
interviews
BORM
process
diagrams
data flows
message parameters & return values
has-a
has-a
composing
dependency
dependency
dependency
type hierachy
polymorphism
polymorphism
inheritance
inheritance
UML-based models
Transformation Techniques
OBJECT
OBJECT
NORMALIZATION
NORMALIZATION
DESIGN
DESIGN PATTERNS
PATTERNS
1st,
1st, 2nd,
2nd, 3rd
3rd ONF
ONF
structural
,
structural patterns
patterns,
behavioral
behavioral patterns
patterns
BEHAVIORAL
BEHAVIORAL
CONSTRAINTS
CONSTRAINTS
dependencies
dependencies
between
between successors
successors
and
and predecessors
predecessors
OBJECT
OBJECT
EVOLUTION
EVOLUTION
from
from participants
participants to
to
object
,
object classes
classes,
collections
, …
collections,
…
HIERARCHY
HIERARCHY
EVOLUTION
EVOLUTION
from
-A through
from IS
IS-A
through
type
type hierarchy
hierarchy to
to
inheritance
inheritance
RELATIONSHIP
RELATIONSHIP
EVOLUTION
EVOLUTION
from
from associations
associations to
to
composition
,
composition,
aggregations
, …
aggregations,
…
Transformation Techniques - Behavioral Constraints
object relationship
(from A to B)
behavioral
constraints
B is
dynamicaly
accessible
from A
normal
aggregation
A needs B to perform
anything
Yes
Yes
Yes
A needs to pass data
to B
Yes
Yes
A needs to get data
from B
Yes
B shares the same
behaviour as A
inheritance
B is
an instance
of a class A
No
No
No
Yes
Yes
No
No
No
Yes
Yes
Yes
No
No
No
No
No
No
No
Yes
Yes
No
No
B uses the
methods of A
No
No
No
No
Yes
No
No
values of A
have influence to
values or behav. of B
No
No
No
No
No
Yes
No
behav. (methods) of A
have influence to
values or behav. of B
No
No
No
No
Yes
No
No
values or behav. of B
have influence to
values or behav. ofA
No
No
Yes
No
No
No
No
HAS-A hierarchy
IS-A hierarchy
poly-morphism
B is
dependent
on A
Transformation Techniques - Hierarchy Evolution
Motto: do not start system modeling with software-oriented concepts.
IS-A HIERARCHY
(business objects)
POLYMORPHISM
(conceptual objects)
Collection
INHERITANCE
(software objects)
Collection
Collection
IS-A
IS-A
type
type
Dictionary
type
Bag
Set
String
Set
IS-A
Array
Array
Array
IS-A
type
IS-A
ByteArray
IS-A
type
type
Set
Bag
ByteArray
String
Bag
Dictionary
Dictionary
ByteArray
String
Business Map
Business Map
„business analysis and design method based on combination of object-oriented
approach and process modeling“
business
business
improvement
improvement
organization
organization
consulting
consulting
as
-is
&t
o -b
em
od
els
business
business map
map
ub r
s
ted avio
n
e
h
um d be
c
d o s an
t
jec
modely
ů
modely subjekt
subjektů
business
business struktur
struktur
aa jejich
ání
jejich chov
chování
software
software
engineering
engineering
req
u
nts
e
m
ire
ca
ptu
r
ed
inf
o
rm
ati
o
n
knowledge
knowledge
management
management
BORM - Business Map - framework
3.
relationships
subjects
2.
structure
components
hierarchies of
participants
participant
roles
behavior
1.
concept
functions
hierarchies
of scenarios
content of
scenarios
explanation:
4.
processes
diagrams
5.
verification
modeling
cards
simulation
& testing
phase
phase
thread
thread
task
Funkce, Scénáře, Participanti a Modelové karty
Users request new functionality
Derived from: Admin and Maintenance
Initiation:
User requests new functionality.
Action:
IT Support evaluates the requests and accumulates relevant information for future development.
Result:
Developer periodically receives requests for upgrades (accumulated, not one-by-one).
Developer
IT Support
Developer
CVDB User IT
Support
New version release
×
×
System error
×
×
User
Users request for change
×
×
Users request new
functionality
×
×
Procesní diagram
Ka
ždý objekt,
Každý
objekt,
který
který vv procesu
procesu
participuje,
á
participuje, m
má
svoje
ase
svoje vv ččase
prom
ěnlivé chov
ání
proměnlivé
chování
aa komunikuje
komunikuje ss
druhými
druhými objekty.
objekty.
Výsledný
Výsledný proces
proces je
je
ddán
án sledem
álostí
sledem ud
událostí
vyvol
ávaných
vyvolávaných
komunikacemi
komunikacemi aa
datovými
datovými toky
toky mezi
mezi
objekty.
objekty.
role objektů
tvoří proces
Transition
from Business Engineering
to Software Engineering
Conceptual Model Creation
Define software system boundary, select objects within the system
from all business objects modeled.
Document behavior of business objects outside the system boundary.
OBJECT EVOLUTION:
Decide for implementation of object types as classes or as collections.
HIERARCHY EVOLUTION:
Define object types and assemble type hierarchy.
RELATIONSHIP EVOLUTION:
Transform object associations to more concrete relations like object
composing, object dependency, polymorphism or object delegation.
Conceptual Diagrams
Object
Object A
A
BORM uses UML notation,
but has following differences:
Extra symbol for method.
Object
Object B
B
message
parameter
method A
message
method B
message
return
Extra symbol for message among methods.
collection
collection name
name
collection
collection type
type
Extra symbol for collection of objects.
NAME
attributes
Extra symbol for class object.
operations
Extra symbols for relations known from pure object languages such as
delegation, dependence, polymorphism independent in inheritance, etc.
In each modeling phase, only limited set of concepts is used.
For better expression of some modeling details, it is allowed to put together
data, behavioral and history related concepts in one diagram.
http://www.craftcase.com
Projekt Craft.CASE
je původní český modelovací a analytický CASE nástroj
podporující metodu BORM®, která je založena na kombinaci objektově
orientovaného přístupu a procesního modelování.
Nástroj vzniká ve firmě e-Fractal s.r.o.
Zadání vychází ze dvou potřeb:
1) Jednoduše ovladatelný a na prostředky počítače nenáročný.
2) Modelovací nástroj přesně šitý na míru metodě BORM, který
je částečně konfigurovatelný, dokáže procesy simulovat
a generuje výstupní dokumentaci.
Program je vyvíjen v prostředí VisualWorks/Smalltalk a je určen pro
použití ve Windows 2000 a XP.
http://www.craftcase.com
Shrnutí - projektování pomocí Craft.CASE
spole
čná datab
áze
společná
databáze
konceptu
ální model
konceptuální
model
business
business diagramy
diagramy
simul
átor
simulátor
y
zb
va
modelov
ání zad
ání pro
modelování
zadání
pro IS
IS
aa jeho
ředí
jeho prost
prostředí
transformace
pomocn
é hierarchie
pomocné
hierarchie
konceptu
ální diagramy
konceptuální
diagramy
gener
átor kkódu
ódu
generátor
va
zb
y
business
business model
model
analýza
ávrh IS
analýza aa nnávrh
IS
Business Map - Simulační záznam
D
íky simulac
ím lze
ě analyzovat
ů nebo
Díky
simulacím
lze podrobn
podrobně
analyzovat role
role jednotlivých
jednotlivých objekt
objektů
nebo skupin
skupin
objekt
ů vv modelovan
ém procesu.
objektů
modelovaném
procesu.
Business Map - Procesní diagram - Simulace
Ka
ždý objekt,
Každý
objekt,
který
který vv procesu
procesu
participuje,
á
participuje, m
má
svoje
ase
svoje vv ččase
prom
ěnlivé chov
ání
proměnlivé
chování
aa komunikuje
komunikuje ss
druhými
druhými objekty.
objekty.
Výsledný
Výsledný proces
proces je
je
ddán
án sledem
álostí
sledem ud
událostí
vyvol
ávaných
vyvolávaných
komunikacemi
komunikacemi aa
datovými
datovými toky
toky mezi
mezi
objekty.
objekty.
Business Map - Dokumentace
Prvky
Prvky všech
všech modelů
modelů jsou
jsou ukládány
ukládány do
do databáze,
databáze, se
se kterou
kterou lze
lze přímo
přímo
pracovat.
pracovat. Ve
Ve většině
většině případů
případů se
se prvky
prvky musí
musí do
do databáze
databáze předem
předem
vložit
vložit aa teprve
teprve potom
potom lze
lze ss nimi
nimi pracovat
pracovat vv diagramech.
diagramech.
Výstupní
Výstupní dokumentace
dokumentace je
je tvořena
tvořena hypertexty
hypertexty
ve
ve formátu
formátu HTML
HTML aa také
také PDF
PDF aa obsahuje:
obsahuje:
1.
1.
2.
2.
3.
3.
4.
4.
seznamy
seznamy prvků
prvků zz databáze
databáze
diagramy
diagramy
simulační
simulační záznamy
záznamy
modelové
modelové karty
karty
(=
(= tabulky
tabulky ss křížovými
křížovými referencemi)
referencemi)
MCDrive
Scénáře
Modelové karty
APPENDIX - A
Car Fleet I.S.
Participant Relationships
Process Diagram
Move to Conceptual Diagram
Conceptual Diagram
Software Diagram
- Client Side
Software Diagram
- Server Side
SW Components
SW
Implementation
relational data model
(Oracle converted via ODBC into
MS Acess)
object structure - client data model (visual modeling in VisualWorks/Smalltalk)
Car Fleet - VisualWorks/Smalltalk implementation
program
launcher
borrowed car
archive
R.P.Knott, V. Merunka, J. Polak
list of cars and
garages
database
of car users
workflow of car request from car user perspective
create
new request
request after
chief’s
evaluation
cancel
request
requests waiting
at car assign
workflow of car request from car user perspective - continued
request after car
assign
request cancel
car borrow
borrowed cars
car borrow must be
completed by physical
car return to garage. this
is why here is no button
car assign
workflow of car request
from chief perspective
request to have
assigned some car
requests to be
evaluated
car is returned
car state
(reserved, in service, ...)
request cancel
APPENDIX - B
BORM and ICT Management
BORM in the ICT Lifecycle
market conditions,
vision&mission statements
1.
1. business
business needs
needs &
&
business
business strategy
strategy
business requirements
legacy situation
(e.g. system architecture,
architecture,
bussiness processes,
processes,
applications&data)
applications&data)
(ideally all aspects of business incl.
incl. measures;
measures; usually in
description of future business processes)
processes)
2.
2. ICT
ICT strategy
strategy
-- ICT
ICT assessment
assessment
-- ICT
ICT strategic
strategic plan
plan
-- ICT
ICT implementation/tactical
implementation/tactical plan
plan
feedback
changes in legacy situation
(2(2-5 years need to update the
whole ICT strategy)
strategy)
required target ICT architecture,
architecture,
ICT organization
existing ICT systems,
user requirements
(e.g. toto-be processes including
material flows & data flows),
flows),
ICTArchitecture
3.
3. project
project initiation
initiation
-- ICT
ICT project
project goals
goals &
& objectives
objectives
-- gap
gap analysis
analysis to-be
to-be vs.
vs. as-is(processes/ICT)
as-is(processes/ICT)
-- business
business case
case (cost&benefit
(cost&benefit analysis)
analysis)
-- decision
decision on
on package
package or
or in-house
in-house devel.
devel.
project charter
(project sponsor,
sponsor, manager,
team, schedule,
schedule, budget, ...)
4.
4. in-house
in-house development
development
-- analysis
analysis &
& design
design &
& implementation
implementation
-- tests
tests
-- roll-out
roll-out
5.
5. using
using packages
packages
-- configuration
configuration
-- test
test
-- roll-out
roll-out
new or updated ICT
systems,
systems,
new or updated user
behavior
6.
6. maintenance
maintenance &
& support
support
-- user
user help
help desk
desk
-- configuration
configuration management
management
-- risk
risk management
management &
& security
security
feedback
(maintainance changes,
changes,
requests for new
features)
features)
BORM Software Development Process – inspired by
Ambler’s Approach
project
project initiation
initiation
INITIATE
INITIATE
•• well
well define
define user
user
requirements
requirements
in-house
in-house development
development
using
using packages
packages
maintenance
maintenance &
&
support
support
CONSTRUCT
CONSTRUCT
•• well
well end
end efficient
efficient
performed
analysis
performed analysis
DELIVER
DELIVER
•• start
start system
system use
use
seamless
and
efectively
seamless and efectively
MAINTAIN
MAINTAIN &
& SUPORT
SUPORT
•• to
to have
have satisfied
satisfied users
users
•• repair
repair defects
defects
•• select
select
optimal
optimal solution
solution
•• prepare
prepare all
all required
required
for
for project
project start
start success
success
.. .. ..
•• best
best system
system
assembling
assembling and
and
testing
testing
•• to
to have
have good
good
documentation
documentation
.. .. ..
development
development platform
platform
•• well
well prepare
prepare users
users
of
of the
the system
system
.. .. ..
•• to
to have
have good
good
knowledge
knowledge base
base for
for
possible
possible new
new version
version
start
start
.. .. ..
operation
operation platform
platform
Each phase has associate its key performance issues, corresponding roles, activities etc.
BORM Software Development Process – detail
project
project initiation
initiation
INITIATE
INITIATE
in-house
in-house development
development
using
using packages
packages
maintenance
maintenance &
&
support
support
CONSTRUCT
CONSTRUCT
JUSTIFY
JUSTIFY
DEFINE
DEFINE
REQUIREREQUIRE
REQUIREMENTS
MENTS
DEFINE
DEFINE
MGMT
MGMT
DOCUMENTS
DOCUMENTS
DEFINE
DEFINE
INFRAINFRA
INFRASTRUCTURE
STRUCTURE
zahajovac
zahajovacíí tým
tým
DELIVER
DELIVER
MAINTAIN
MAINTAIN &
& SUPPORT
SUPPORT
MODEL
MODEL
TESTS
TESTS
IN
IN
THE
SMALL
THE SMALL
TESTS
TESTS
IN
IN
THE
LARGE
THE LARGE
RELEASE
RELEASE
SUPPORT
SUPPORT
GENERALIZE
GENERALIZE
PROGRAM
PROGRAM
REWORK
REWORK
ASSESS
ASSESS
IDENTIFY
IDENTIFY
DEFECTS
DEFECTS
pracovn
pracovníí tým
tým
podpora
é kancel
áře
podpora týmem
týmem projektov
projektové
kanceláře
spolupr
áce zzástupců
ástupců budouc
ích uuživatelů
živatelů
spolupráce
budoucích
provozn
provozníí tým
tým
podpora
podpora týmem
týmem
„„help
help desk
“
desk“
spolupr
áce vvšech
šech budouc
ích uuživatelů
živatelů
spolupráce
budoucích
PODP
ŮRNÉ PROCESY
PODPŮRNÉ
PROCESY
zaji
štění kvality,
zajištění
kvality, people
people management,
management, risc
risc management,
management, reuse
reuse management,
management,
pr
ávní zabezpe
čení, bezpe
čnost, řřízení
ízení infrastruktury,
právní
zabezpečení,
bezpečnost,
infrastruktury, ...
...
BORM Software Development Process – Support Processes
QUALITY
QUALITY
ASSURANCE
ASSURANCE
FOLLOW
FOLLOW
ISO
ISO
STANDARDS
STANDARDS
REUSE
REUSE
MANAGEMENT
MANAGEMENT
COLLECT
COLLECT
REUSABLE
REUSABLE
ITEMS
ITEMS
RISK
RISK MANAGEMENT
MANAGEMENT
TRAINING
TRAINING &
& EDUCATION
EDUCATION
IDENTIFY
IDENTIFY
A
A RISK
RISK
ASSESS
ASSESS
THE
THE RISK
RISK
DEVELOP
DEVELOP
MITIGATION
MITIGATION
STRATEGIES
STRATEGIES
DEVELOP
DEVELOP
A
A RISK
RISK
MANAGEMENT
MANAGEMENT
PLAN
PLAN
MITIGATE
MITIGATE
THE
THE RISK
RISK
REPORT
REPORT
RISK
RISK
METRICS
METRICS
MANAGEMENT
MANAGEMENT
DEVELOP
DEVELOP
METRICS
METRICS
PLAN
PLAN
PERFORM
PERFORM
AND
AND
DISCUSS
DISCUSS
PERFORM
PERFORM
INTRO
INTRO
TRAININGS
TRAININGS
DELIVERABLES
DELIVERABLES
MANAGEMENT
MANAGEMENT
MANAGE
MANAGE
SOFTWARE
SOFTWARE
CONFI
CONFIGURATION
GURATION
PERFORM
PERFORM
DETAILED
DETAILED
TRAININGS
TRAININGS
DEVELOP
DEVELOP
A
A TRAINING
TRAINING
PLAN
PLAN
INFRA
INFRA-STRUCTURE
STRUCTURE
MANAGEMENT
MANAGEMENT
APPLY
APPLY
CMM,
CMM, …
…
TECHNIQUES
TECHNIQUES
Nasazení rolí v jednotlivých fázích je odlišné
…
model
program
generaliz
e
test in
the small
…
…
…
development
engineer
modeler
project
manager
subject matter
expert / user
technical
writer
…
INITIATE
INITIATE
CONSTRUCT
CONSTRUCT
DELIVER
DELIVER
MAINTAIN
MAINTAIN &
& SUPPORT
SUPPORT
Struktura ASDM
This is determining what needs to be built. Initial requirements are a foundation from
which modeling can begin.
allocated
maintenance
changes
DEFINE AND VALIDATE INITIAL REQUIREMENTS
from maintain & support phase
INITIATE PHASE
The main goal is to lay the foundation
for a successful project. This is hard
due to pressures by senior management
and developers to start “real work” as
soon as possible.
define
defineand
and
validate
validate
REQUIREREQUIREMENTS
MENTS
JUSTIFY
JUSTIFY
define
define
initial
initial
management
management
DOCUMENTS
DOCUMENTS
define
define
INFRAINFRAST
RUCTURE
STRUCTURE
management documents
initial req uirement
project infrastructure
project fund ing
project charter
vision
commit ment
reasib ility study
existing applications
mainten ance changes
potential roles during this phase:
project manager
standards specialist
analyst
tools specialist
subject matter expert
project sponsor
quality assurance
engineer
estimator / planner
JAD / meeting facilitator
process specialist
technical writer
infrastructure engineer
DEFINE
DEFINE
SYSTEM
SYSTEM
FUNCTIONS
FUNCTIONS
DEFINE
DEFINE
SYSTEM
SYSTEM
SCENARIOS
SCENARIOS
DRAW
DRAW
PROCES
PROCES
MAPS
MAPS
HOLD
HOLD
SESSIONS
SESSIONS
CREATE
CREATE
MODELING
MODELING
CARDS
CARDS
PRIORITIZE
PRIORITIZE
REQUIREREQUIREMENTS
MENTS
INTERVIEW
INTERVIEW
USERS
USERS
SIMULATE
SIMULATE
SCENARIOS
SCENARIOS
WALK
WALK
THROUGH
THROUGH
PROT
PROTOTYPES
OTYPES
INITIATE
entranc e c onditions checklis t
senior management support exists to initiate a new project
maintenance changes pertaining to previous version (if any) are identified
infrastructure is available
INITIATE
to be pe rformed c hec klist
the initial requirements have been defined and validated
the initial management documents have been defined
the project has been technically, economically and operationally justified
required project infrastructure has been defined
potential reusable artifacts have been identified
project team has been identified and trained where appropriate
requirement
documentation
(forms, tables, diagrams, ...)
project scop e
CONSTRUCT/model - ukázka nastavení procesu v T-Mobile
PM User / CIF
PM - IT
Business Analyst /
Vendor
Expert User
appoint business
model team
wait for
modeling finish
PM Vendor
receive
acceptance
receive
business
model and
participate in
workshop
receive
conceptual
model
accept
vendor
product
IT Project Office
provide reuse
info
gather metrics
develop business
model and provide
reuse info
wait for
business model
receive business
model and reuse
information
participate in
business
model
workshop
after business
model
workshop
model not
approved
request
for
business
model
revision
wait for
conceptual
model
receive
conceptual
model and reuse
info
has conceptual
models
conduct conceptual
model workshop
receive reuse
info
after
concept.
model
workshop
model
approved
finished
business model
consultations
participate in
business model
workshop
present
business
model
conduct business
model workshop
after
business
model
workshop
model not
approved
request
conceptual
model
revision
consult business
model
finished
business model
consultations
business
model
has business
models
model
approved
appoint
conceptual
modelling
team
consult
business
modelling
finished
business model
after business
model is
finished
after business
model
workshop
develop conc.
model and
provide reuse
info
finished
conceptual
model
present
conceptual
model
conceptual
model
start
modelling
Environment
Specialist &
Programmer & IT
Architect
consult
conceptual
model
finished
conceptual
model
consultations
participate in
conceptual
model
workshop
consult
conceptual
model
finished
conceptual
model
consultations
participate in
conceptual
model
workshop
Technical
Document Writer
gather
underlying
material and
update
models