ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999...
-
Upload
audrey-hill -
Category
Documents
-
view
215 -
download
1
Transcript of ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999...
ICT ManagementICT Management
page 1MBA - 2005
BORMBORM© - - Business Object Relation ModelingBusiness Object Relation Modeling
1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha, Loughborough University
1996-2005 Deloitte&Touche Management & Consulting Group
ICT ManagementICT Management
page 2MBA - 2005
What is BORM?What is BORM?
BORM stresses the process modelling as the main requirement capture technique. This part of BORM can be used separately for Business Process Reengineering activities.
BORM has been developed as the method for pure object-oriented software development (such as Smalltalk programming language, object database systems Gemstone, ArtBase, ObjectStore, ...).
In each phase, BORM uses only a limited set of modelling concepts and rules. The BORM development process can be viewed as step-by step transformations of particular object-oriented models from business models into conceptual and software models.
ICT ManagementICT Management
page 3MBA - 2005
B O R M i n f o r m a t i o n e n g i n e e r i n g p r o c e s sBORM Spiral Development Life CycleBORM Spiral Development Life CycleBORM Spiral Development Life CycleBORM Spiral Development Life Cycle
basic
level
advancedlevel
applicationlevel
customers ,managers ,employees , ...
developers ,managers ,programmers , ...
real world
problem
new
application
real
world
exp
ansi
on
exp
ansi
on
con
soli
dat
ion
con
soli
dat
ion
The objective of this phase is to define, agree to The objective of this phase is to define, agree to and communicate a project scope.and communicate a project scope.
1.1 determine project objectives and CSF1.1 determine project objectives and CSF1.2 create initial set of required system functions1.2 create initial set of required system functions1.3 create initial set of system scenarios1.3 create initial set of system scenarios
The objective of this phase is to define, agree to The objective of this phase is to define, agree to and communicate a project scope.and communicate a project scope.
1.1 determine project objectives and CSF1.1 determine project objectives and CSF1.2 create initial set of required system functions1.2 create initial set of required system functions1.3 create initial set of system scenarios1.3 create initial set of system scenarios
1. STRATEGIC ANALYSIS1. STRATEGIC ANALYSIS1. STRATEGIC ANALYSIS1. STRATEGIC ANALYSIS
The objective is to identify and evaluate the The objective is to identify and evaluate the existing processes and to develop new process existing processes and to develop new process model of the system.model of the system.
2.1 find objects and their properties in existing processes2.1 find objects and their properties in existing processes using OBA and draw process diagrams (AS-IS step) using OBA and draw process diagrams (AS-IS step) 2.2 evaluate existing processes and make required updates2.2 evaluate existing processes and make required updates and changes (TO-BE step) and changes (TO-BE step)
The objective is to identify and evaluate the The objective is to identify and evaluate the existing processes and to develop new process existing processes and to develop new process model of the system.model of the system.
2.1 find objects and their properties in existing processes2.1 find objects and their properties in existing processes using OBA and draw process diagrams (AS-IS step) using OBA and draw process diagrams (AS-IS step) 2.2 evaluate existing processes and make required updates2.2 evaluate existing processes and make required updates and changes (TO-BE step) and changes (TO-BE step)
2. INITIAL ANALYSIS2. INITIAL ANALYSIS2. INITIAL ANALYSIS2. INITIAL ANALYSIS
The objective is to use the existing model in creation The objective is to use the existing model in creation of initial software specification.of initial software specification.
3.1 determine objects from software domain 3.1 determine objects from software domain 3.2 find candidate object classes and object collections3.2 find candidate object classes and object collections3.3 refine object relationships, determine object types and 3.3 refine object relationships, determine object types and draw conceptual diagrams draw conceptual diagrams
The objective is to use the existing model in creation The objective is to use the existing model in creation of initial software specification.of initial software specification.
3.1 determine objects from software domain 3.1 determine objects from software domain 3.2 find candidate object classes and object collections3.2 find candidate object classes and object collections3.3 refine object relationships, determine object types and 3.3 refine object relationships, determine object types and draw conceptual diagrams draw conceptual diagrams
3. ADVANCED ANALYSIS3. ADVANCED ANALYSIS3. ADVANCED ANALYSIS3. ADVANCED ANALYSISThe objective is to transform the existing conceptual modelThe objective is to transform the existing conceptual modeltowards its software realization.towards its software realization.
4.1 refine object relationships (delegation, dependency, ...)4.1 refine object relationships (delegation, dependency, ...)4.2 apply design patterns4.2 apply design patterns
The objective is to transform the existing conceptual modelThe objective is to transform the existing conceptual modeltowards its software realization.towards its software realization.
4.1 refine object relationships (delegation, dependency, ...)4.1 refine object relationships (delegation, dependency, ...)4.2 apply design patterns4.2 apply design patterns
4. INITIAL DESIGN4. INITIAL DESIGN4. INITIAL DESIGN4. INITIAL DESIGN
The objective is to respect the concrete software The objective is to respect the concrete software environment used and make model more detailed.environment used and make model more detailed.
5.1 include legacy components into the model5.1 include legacy components into the model5.2 solve the architecture components of the model 5.2 solve the architecture components of the model (servers, databases, network, ...) (servers, databases, network, ...)
The objective is to respect the concrete software The objective is to respect the concrete software environment used and make model more detailed.environment used and make model more detailed.
5.1 include legacy components into the model5.1 include legacy components into the model5.2 solve the architecture components of the model 5.2 solve the architecture components of the model (servers, databases, network, ...) (servers, databases, network, ...)
5. ADVANCED DESIGN5. ADVANCED DESIGN5. ADVANCED DESIGN5. ADVANCED DESIGN
The objective is to physicaly implement the system.The objective is to physicaly implement the system.
6.1 prepare and test the system prototype 6.1 prepare and test the system prototype 6.2 install system, measure progress, identify issues and 6.2 install system, measure progress, identify issues and perform activities which will facilitate success. perform activities which will facilitate success.
The objective is to physicaly implement the system.The objective is to physicaly implement the system.
6.1 prepare and test the system prototype 6.1 prepare and test the system prototype 6.2 install system, measure progress, identify issues and 6.2 install system, measure progress, identify issues and perform activities which will facilitate success. perform activities which will facilitate success.
6. IMPLEMENTATION6. IMPLEMENTATION6. IMPLEMENTATION6. IMPLEMENTATION
ICT ManagementICT Management
page 4MBA - 2005
B O R M i n f o r m a t i o n e n g i n e e r i n g p r o c e s sBORM Information Engineering ProcessBORM Information Engineering ProcessBORM Information Engineering ProcessBORM Information Engineering Process
description in description in software software environment conceptsenvironment concepts
description description in real world related conceptsin real world related concepts
businessbusiness engineering engineering
softwaresoftware engineering engineering
conceptual model(conceptual objects)
software model(software objects)
process model(business objects)
strategicstrategicanalysisanalysis
initialinitialanalysisanalysis
advancedadvancedanalysisanalysis
initialinitialdesigndesign
advancedadvanceddesigndesign
imple-imple-mentationmentation
participant
function, scenario(CSF, goals, targets, issues)
relation
communication
association (relationship tables)
activity (job positions, perf. measures, devices)
states & transitions
object
collection
class
message
data flows
type hierachy
has-a
dependency
object
collection
class
method
delegation
message parameters & return values
has-a
dependency
object
collection
class
method
dependency
composing
inheritance
participant (modeling card)
message
is-a hierarchy polymorphism polymorphism
inheritance
realworldproblem
objectorientedsolution
ICT ManagementICT Management
page 5MBA - 2005
Example - Object Hierarchy Evolution in BORMExample - Object Hierarchy Evolution in BORM
type
Array
type
ByteArray
String
type
Collection
type
Bag
Set
type type
Dictionary
Array
Bag
Set
Dictionary
ByteArray
Collection
StringByteArray
IS-A
IS-A
IS-A Set
Array
IS-A
Bag
String
IS-A
Dictionary
IS-A
Collection
IS-A HIERARCHYIS-A HIERARCHY(business objects)(business objects)
POLYMORPHISM(conceptual objects)
INHERITANCE(software objects)
Motto: do not start system modeling with software-oriented concepts.
ICT ManagementICT Management
page 6MBA - 2005
UML does not well support pure object-oriented programming environments (no dependency and no delegation, which are important for Smalltalk and OODBMS programming, for example)
Why not UMLWhy not UML
UML does not well support initial stages of system development, especially where system to be modeled and its boundary is not good defined
UML diagram notation is too complicated for use in effective workshops with domain experts
UML diagrams consist of concepts from different levels of abstraction
UML considers only an object’s life history in the design phases and separately for each class
In UML, the same concept is understood in different ways depending on the phase of development process and on the interpretation of the modelers (for example, an association as an abstract way of passing messages in initial analysis or as a physical implementation of instance variables in code design)
ICT ManagementICT Management
page 7MBA - 2005
BORM as the Domain Specific MethodBORM as the Domain Specific Method
BORM is good applicable in areas, where problem to be modeled can be interviewed, analyzed and designed as the collection of processes with mutually collaborating objects. This means areas like mobile phones telecommunication industry, e-commerce platforms, point-of-sale systems, managing information systems, workflow information systems etc.)
BORM is good applicable in areas, where problem to be modeled can be interviewed, analyzed and designed as the collection of processes with mutually collaborating objects. This means areas like mobile phones telecommunication industry, e-commerce platforms, point-of-sale systems, managing information systems, workflow information systems etc.)
The requirement analysis models in BORM are made up of represented object-oriented concepts related to the domain world and not the code world.
The requirement analysis models in BORM are made up of represented object-oriented concepts related to the domain world and not the code world.
BORM is applicable in areas, where software application requirements (problem, scope, goal, ...) are not completely specified as the begin of the modeling process
BORM is applicable in areas, where software application requirements (problem, scope, goal, ...) are not completely specified as the begin of the modeling process
ICT ManagementICT Management
page 8MBA - 2005
User Requirements in BORM,User Requirements in BORM,
Object Behavioral AnalysisObject Behavioral Analysisand ORDand ORD
ICT ManagementICT Management
page 9MBA - 2005
Is iterative.
Output of OBA is the huge collection of structured textual documentation such as forms, tables, lists, matrices, ...
Aids the recogniton of the initial objects in the system.
All concepts are derived and depend on the set of system processes.
Is easily understood by domain experts, because it does not require understanding of software-oriented concepts and is expressed in natural language-like terms.
What is OBA? What is OBA?
(Object Behavioral Analysis)
ICT ManagementICT Management
page 10MBA - 2005
1. stepa) interviewb) create list of required system functionsc) create list of system scenarios
1. stepa) interviewb) create list of required system functionsc) create list of system scenarios
2. stepa) derive participating objects from scenariosb) create modeling cards
2. stepa) derive participating objects from scenariosb) create modeling cards
3. stepa) classify objects by their propertiesb) look for other (second-order) objects
3. stepa) classify objects by their propertiesb) look for other (second-order) objects
4. stepa) identify object relations and interactions
4. stepa) identify object relations and interactions
5. stepa) simulate and evaluate scenariosb) make process diagrams
5. stepa) simulate and evaluate scenariosb) make process diagrams
5 steps of OBA method in 5 steps of OBA method in BORMBORM
listslistslistslists
formsformsformsforms
tablestablestablestables
ORDORDORDORD
simulationsimulationsimulationsimulation
CA
SE
to
ol M
ET
AE
DIT
CA
SE
to
ol M
ET
AE
DIT
ICT ManagementICT Management
page 11MBA - 2005
What is ORD? What is ORD?
ORD (Object Relation Diagram) serves in initial stages of analysis for detailed description of processes in the system.
In ORD, the process modeled is displayed as mutual communication between objects.
Each object that participates (i.e. has role) in the process is displayed as an automaton via a sequence of states and transitions.
ORD can be understood as a combination of activity,sequence, interaction and state-transition UML diagrams
ICT ManagementICT Management
page 12MBA - 2005
waits for payment
Is waiting for the menu
Is waiting fora guest
pays
selects food
comes intothe restaurant
Is waitingfor his food
eats food
wants to pay
receives food
goes out
has food
watches area
too longtime for waiting
asks theguest
food description
menu
Client
is waiting for the food
gives food
food
waits for the guest
cashes
money
knows the guestwants to pay
accetps demand for payment
Is preparing
receives food descrition
gives food
food description
food
Waiter
Kitchen
ORD ExampleORD Example
roles of participantsroles of participants
makes a processmakes a process
ICT ManagementICT Management
page 13MBA - 2005
waits for payment
Is waiting for the menu
Is waiting fora guest
pays
selects food
comes intothe restaurant
Is waitingfor his food
eats food
wants to pay
receives food
goes out
has food
watches area
too longtime for waiting
asks theguest
food description
menu
Client
is waiting for the food
gives food
food
waits for the guest
cashes
money
knows the guestwants to pay
accetps demand for payment
Is preparing
receives food descrition
gives food
food description
food
Waiter
Kitchen
ORD ExampleORD Example
ICT ManagementICT Management
page 14MBA - 2005
Practical example of Requirement Practical example of Requirement Modeling Modeling
(Processes in Regional Gas Distribution Company)(Processes in Regional Gas Distribution Company)
ICT ManagementICT Management
page 15MBA - 2005
Required System FunctionsRequired System Functions
ICT ManagementICT Management
page 16MBA - 2005
Process ScenariosProcess Scenarios
ICT ManagementICT Management
page 17MBA - 2005
Modeling Cards of ParticipantsModeling Cards of Participants
ICT ManagementICT Management
page 18MBA - 2005
Process Process Diagram Diagram ExampleExample
(one process from collection of 97 processes)
posuzuje
Investor
ceka
plneni podminek SBS
Rozvojar
ceka
vyhodnocuje navrh
pozaduje prelozku
vyrozumeni zakaznikovi a navrh smlouvy o budouci
smlouve
ceka na realizaci
vyuctovani prelozky + zprava zakaznikovi
komunikace a zjistovani stavu
dela navrh vlastni smlouvy na prelozku a
posila zakaznikovi
stanoveni technickeho reseni prijimani uhrady
prijima uhrady
registruje smlouvu o budouci smlouve
prijima potvrzeni
ceka
ceka
realizuje prelozkuceka
posuzovani
podpisovani smlouvy o budouci smlouve
zpracovani TEN
plneni podminek smlouvy
PSVnejsek
prijima zadost
poodpis smlouvy o budouci smlouve
RoZ
ceka
ceka na potvrzeni o uhrade a na splneni ostatnich podminek smlouvy o BS
posuzovani
dostane podepsanou smlouvu
splneni podminek
souhlas s technickym
resenim
vystavuje potvrzeni o uhrade
Vlastnik Nemovitosti Uctarna
ceka
prijima vyrozumeni
dopis
potvrzeni o uhrade
technicke reseni
pozadavky
navrh vlastni smlouvy
vyjadreni
pozadavky
navrh smouvy o budouci smlove,
vyrozumeni
podepsana smlouva o
BS
souhlas
podepsana vlastni
smlouva
splnil
splnil
souhlas/ nesouhlas
pozadavky
potvrzeni o uhrade
zpracovani TEN
ICT ManagementICT Management
page 19MBA - 2005
Transition from Business Model Transition from Business Model to Conceptual Model in BORMto Conceptual Model in BORM
ICT ManagementICT Management
page 20MBA - 2005
How to Create Conceptual Model?How to Create Conceptual Model?
Decide for implementation of object types as classes or as collections.
Define object types and assemble type hierarchy.
Define software system boundary, select objects within the systemfrom all business objects modeled.
„„Behavioral constraints“ are the tool for performing these transformations.Behavioral constraints“ are the tool for performing these transformations.
Transform object associations to more concrete relations like object composing, object dependency, polymorphism or object delegation.
ICT ManagementICT Management
page 21MBA - 2005
Example of Behavioral Example of Behavioral ConstraintsConstraints
IS-A hierarchy
behavioralconstraints
A needs B to performanything
A needs to pass datato B
A needs to get datafrom B
object relationship (from A to B)
B shares the samebehaviour as A
B isdynamicalyaccessiblefrom A
B isdependenton A
B isan instanceof a class Anormal
HAS-A hierarchy
poly--morphism
inheritanceaggregation
B uses themethods of A
behav. (methods) of Ahave influence to values or behav. of B
Yes
Yes
Yes
Yes
Yes
Yes
YesNo
Yes
Yes
Yes
Yes
NoNo
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
Yes
No
No
No
No
No
No
No
No
No
Yes
No
Yes
Yes
No
No
No
No
No
No
values or behav. of Bhave influence to values or behav. ofA No Yes No No No NoNo
values of Ahave influence to values or behav. of B
ICT ManagementICT Management
page 22MBA - 2005
collection namecollection type
collection namecollection type
NAME
attributes
operations
Object AObject A Object BObject B
method Bmethod Bmethod Amethod Amessage
messageparameter
messagereturn
BORM Conceptual DiagramsBORM Conceptual Diagrams
BORM uses UML notation, but has following differences:
Extra symbol for method.
Extra symbol for message among methods.
Extra symbol for collection of objects.
Extra symbol for class object.
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.
ICT ManagementICT Management
page 23MBA - 2005
Transition from Conceptual Model Transition from Conceptual Model to Software Model in BORMto Software Model in BORM
ICT ManagementICT Management
page 24MBA - 2005
How to Create Software Model?How to Create Software Model?
Define inheritance hierarchy of object classes.
Implement states and transitions via additional attributes and methods, if necessary.
Substitute object relations, if they are not supported in your target programming environments.
Solve legacy problem. (both legacy components and legacy databases)
Define reused objects and components in your model, where possible.
Apply design patterns, if possible.