CHAPTER 1: ENTERPRISE MODELLING
1. ENTERPRISE ENGINEERING
GOALS
✓ Ensuring coherence & consistency
“the harmonious + skillful arrangement and fitting together of the enterprise’s components”
✓ Ensuring manageability
Builds on a number of theories to achieve this e.g. ideological, technological, methodology, etc.
Enterprise architecture =
the continuous practice of describing the essential elements of a socio-technical organization, their
relationships to each other/the environment, in order to achieve a better operational realization of
the organizations’ strategic goals (scope can be complete enterprise of be limited to certain domains)
3 perspectives
1) Regulations: guidelines, rules, standards = prescriptions that govern the design and
focus on directing to success e.g. TOGAF architecture developm method
Business architecture = step B
→ description of how business operates ito
actors, goals, BPs, business objects
→ IT-independent (targets the owners)
Focus on the process of developing an EA
(who, what, tasks…)
FOCUS → 2) Design: comprehensive and cohesive specification of an enterprise in all its facets as a
high-level design e.g. Zachman
Focus on what kind of artefacts need
to be described
Enterprise model = 2nd row = artifact that describes the business architecture
WHAT? o Domain model = part that describes business objects + their relationships
HOW? o Business process model = part that describes activities + its executing actors
3) Patterns: collection of best practices bridges regulations and design
! SOCIO-TECHNICAL – not only IT comprises people, info, technology and business (e.g. operations)
1
,2. HOW TO DEVELOP ENTERPRISE MODEL
Modelling = anything used in any way to represent something else
- Physical models e.g. a miniature car to represent a real-world car
- Conceptual/formal/symbolic models e.g. BPMN model to describe a BP models as “plans”
Real-world models as “essential models” e.g. a bank account
= essence remains the same (deposit and withdraw money, customers, etc.)
BUT: services change through time e.g. booklet app
HOW TO DEVELOP SOFTWARE? – M. Jackson “the world and the machine”
Look into IS to see what is going on in real world
e.g. check if size 47 shoes available in the store
→ World = physical store
machine = inventory system
→ need for domain modeling, BP modeling…
4 facets of the relationship between real-world and machine
1) Models – to simulate/have info about the world
• The machine embodies a model or a simulation of some part of the world
• There are data models, object models, process models
• Provides efficient and convenient access to information about the world
→ distinction between descriptions that are true for the world, the machine or both
2) Interfaces – define what phenomena are shared between the world and the machine
e.g. what does it mean to follow a class? = physical presence >< being registered
? what to capture in IS registration must be, or it doesn’t exist to machine
! PRIVACY – what do you want to share?
→ which phenomena need to be captured/shared and which not (mainly input-part)
+ define events e.g. meaning death? person still exists in IS until invoice paid?
3) The engineer – must understand the properties of the world and manipulate and exploit
those properties to achieve the purposes of the system
→ What phenomena can be used to control what happens in the real-world?
E.g. can control ability to borrow a book >< cannot control stealing a book
4) The decomposition – is parallel, not hierarchical
→ World has certain structure 1:1 relation between elements in model and in real-world
2
, Relationship requires congruence W & M Relationship implies congruence W & M
Without 1:1 mapping Software needs to be a good mirroring
You don’t know what part of software/solution Both internally and externally of how the real-
needs to be changed if the rules change world works importance enterprise modelling
How to develop enterprise models?
Which aspects to include?
Where to start, how to go on and when to stop? – requires a modeling method
USING MODELS FOR SOFTWARE DEVELOPMENT
Modelling for requirements engineering
! General requirements engineering problem
Content:
- Gather requirements
- Obtain clarifications for correct translation
Agreement: agree on common understanding
Documentation: provides (semi) formal notation
for requirements + specifications
!! not all requirem = captured by models e.g. rules
3 perspectives
1) Looking backwards – see how people operate = capturing “what is” (descriptive)
2) Looking forward – change the modus of operandi = defining “what will be” (prescriptive)
3) Enterprise Modelling = “captures” the business as input for IS development
→ “shapes” the business as the IS shapes the virtualized enterprise
Model-driven engineering (MDE)
= Uses model as primary artefacts to create software from
! requires high-quality models in order to be machine-interpretable
Model-driven architecture (MDA): OMG set of standards to operationalize MDE
• MERODE = Modeling-driving Entity Relationship Object-oriented Development
• Platform-independent models have a lot of details but are platform independent
o Platform choosen = Java
o Automatic code generation = single transformation from PIM to CODE
= skip platform-specific model in between use Merlin tool
3