24
ICT Management page 1 MBA - 2005 BORM BORM © - - Business Object Relation Modeling Business 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 Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

Embed Size (px)

Citation preview

Page 1: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 2: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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.

Page 3: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 4: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 5: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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.

Page 6: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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)

Page 7: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 8: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

ICT ManagementICT Management

page 8MBA - 2005

User Requirements in BORM,User Requirements in BORM,

Object Behavioral AnalysisObject Behavioral Analysisand ORDand ORD

Page 9: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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)

Page 10: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 11: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 12: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 13: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 14: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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)

Page 15: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

ICT ManagementICT Management

page 15MBA - 2005

Required System FunctionsRequired System Functions

Page 16: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

ICT ManagementICT Management

page 16MBA - 2005

Process ScenariosProcess Scenarios

Page 17: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

ICT ManagementICT Management

page 17MBA - 2005

Modeling Cards of ParticipantsModeling Cards of Participants

Page 18: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 19: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

ICT ManagementICT Management

page 19MBA - 2005

Transition from Business Model Transition from Business Model to Conceptual Model in BORMto Conceptual Model in BORM

Page 20: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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.

Page 21: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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

Page 22: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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.

Page 23: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

ICT ManagementICT Management

page 23MBA - 2005

Transition from Conceptual Model Transition from Conceptual Model to Software Model in BORMto Software Model in BORM

Page 24: ICT Management page 1MBA - 2005 BORM - BORM © - Business Object Relation Modeling 1993-1999 Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,

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.