High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
Understand your Business Domain
1. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 1
Understand your Business Domain
Systems design using Metamodels
31.Oct 2014, Frank H. Ritz, ritz@ritzeng.com
2. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 2
Agenda
Foreword
What are Metamodels
What are sysML/UML Metamodels
How they are made
Why they are important
3. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 4
The Trainer
Frank H. Ritz, 57
Diploma, certifications
Electrical Engineering
Electronics, HF Communication
RUP / CE
CPRE-FL
OUCP-F
HSPTP
PMI-ACP®
Methodology & Technology
C++/Java mission critical apps
7 companies founded (1988-now)
1 Son
Sailor/Skipper, Skier, Photograph
Electrical
Engineer
Experienced
in computer
science
Requirements
Engineer
Project manager
Business consultant
Methodology & value
driven
Do the right things
right = sustainable
4. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 5
What I do when I start a business (new or change of existing)
You have e.g. already done:
Vision
Targets
Roadmap
Ideas, Mindmaps, Business Canvas, Boards with notes, etc.
You have typically not
Structure
Model behind this business
Glossary
… many other structured, reusable information (requirements, models, visuals)
I show you today
to structure
to define
to specify
d Models of
your
business
think about:
how to manage your
products and specs
more precise
5. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 7
What is a Model, what is a Metamodel
Model .vs. Metamodel
A metamodel or surrogate model is a model of a model, i.e. a simplif ied model of an actual model of a
circuit, system, or software like entity.
Metamodel can be a mathematical relation or algorithm representing input and output relations.
A model is an abstraction of phenomena in the real world; a metamodel is yet another abstraction,
highlighting properties of the model itself.
A model conforms to its metamodel in the way that a computer program conforms to the grammar of the
programming language in which it is written.
(Wikipedia EN)
Metamodel = Foundation ?
6. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 8
A small example: desk model and chair model
Desk
legs
tabletop
design attributes
Chair
legs
seat
back
design attributes
7. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 9
Templates, Design Rules: Example of a Chair design
Chair has
legs
seat
back
constraints
legs
back is also leg
Design, Rules
8. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 10
Templates, Design Rules: Example of a Desk design
Desk has
legs
tabletop
constraints
legs
Design, Rules
9. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 11
What is the common Metamodel of Desk and Chair
Desk
legs
seat
back
constraints
legs
back is also leg
Design, Rules
Chair
legs
seat
back
constraints
legs
back is also leg
Design, Rules
Common Model: Desk & Chair
10. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 12
Metamodel = Foundation for a model,
or in general: how to perceive and document Requirement essence
Traditional views of knowledge are
beeing challenged. Views are not
based on real objects behavior.
An emerging “constrictivist”
perspective, suggests that to a large
degree we construct reality (by
George Kelly).
Implementation of complex Case –
Management
Modern views of knowledge are
formal, flexible, testable, extendable,
enhanceable, verifyable, inheritable
Find the essence and look behind
the things (meta behavior / steering)
The definition (or language) that
defines about a metadefinition (or
metalanguage), is the accompanying
object definition (or language)
Design
Pattern
Design
Pattern
11. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 13
This is a Meta Pattern
It's a model for a framework
describes the Elements of
Requirements Engineering
it guides which elements to
be used and which
semantics exists (min, max).
structures Requirements
Engineering on User
Acceptance level
More details enrich only
semantics of relationsships
or
element attributes which are
relevant
It is not a metamodel
not
complete
12. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 15
What is “meta” modeling, why we are doing that
We model
to provide a structure for problem solving
to express multiple solutions graphically with specification
to furnish abstractions to manage complexity
to reduce time-to-market, costs and risks for business solving solutions
to enable graphics power, reveals text or data (s.a. RUP)
We model with metamodel
to structure complex models
to steer modeling and model construction
to define an abstract syntax and
a static semantic for models
to define a model as an instance of a metamodel
13. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 16
Basics for modeling your business domain
MOF (Meta Object Facility)
MOF defines the language for defining
meta-models
MOF concepts are meta-class, meta-
attribute, meta-association, etc.
OCL (Object Constraint Language)
OCL structures, expresses constraints
like invariant, pre-/post- conditions
UML / sysML (Unified / System
Modeling Language)
graphical language to specify, to
visualize, to construct, to document
artifacts of systems (soft-/hardware)
UML/sysML metamodel is an instance
of the MOF metamodel
14. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 17
Example:
Passenger Ticket
Excerpt part of highest
Element level of MOF
Class
Operation
Association
Package
Constraints (base for OCL)
Attribute
Attribute
15. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 18
Metamodel and the Vee-Model
CIM - Requirements Level Metamodel
PIM metamodel is the design language for
a PIM design model
PSM metamodel is the design language
for a PSM design model and implements
the transformation of PIM (that is the
software model for code generation)
16. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 21
Domainmodels are Metamodel
Domain Specific Language (DSL)
encapsulate complexity
lesser models
simpler understanding
Templates, Domains of a business
Feature- and Requirement- models
Process- and Behavior- models
Analysis- and Design- models
Machine readable, reusable
Business Glossary of Objects,
Constraints, Relationships
abstract syntax = easy to understand
static semantic = easy to guide
graphical representation = easy to use
Implicit validation options against
Models (of M1 level, e.g. for testing)
17. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 22
Business Domain Models – Build a Payment System containing
Business Domain Objects and the Pricing Template
18. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 24
Business Object Modeling - Business Domain Model
Business Object Modeling
technique to represent things of
significance to an enterprise
is a complex technique
It requires a methodology of
abstraction
A good Business Object Model
creates and establishes a common
understanding of business semantics
between all involved parties.
The resulting common "language"
and long term understandable
documentation provide the
"organizational memory" of an
enterprise.
A Business Object represent the
abstraction of real life objects, a
machine, a value, a person, a place,
a process or a concept.
A Business Object Model is a
metamodel that contains only
abstractions of objectsPhysical Model
Logical Model
Conceptual Model
Domain Model
Enterprise Model
19. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 26
UML/sysML Elements
which we
use for Metamodels I
Models are packaged, so we need
to use Package diagrams
Package diagrams are used to reflect
the organization of packages and their
elements, and provide a visualization
of their corresponding namespaces.
Partitioning
Big Picture
Namespace
20. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 27
UML/sysML Elements
which we use
for Metamodels II
Class Diagrams capture logical
structure of things
Static model, describing what
exists, what attributes and their
behavior (operations).
Relationships between classes
and interfaces.
Generalizations, aggregations,
associations
Reflecting inheritance, composition
or usage, and connections,
respectively.
Classes
Abstractions (Meta Models)
Visibility: public, protected, private
Stereotypes, Tagged Values
21. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 28
Example: GoF Design Pattern Metamodel: Packages and Classes
→ Implementation
in Backup
→ Complete in Backup
22. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 29
GOF Design
Pattern
Packages
23. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 33
24. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 34
Steering Example
Check Embargo
based on EAM-MM
What belongs to a
good interface
description of a
component
How must this
modeled
Which are relevant
Domain Objects
25. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 35
Effects in steering with Metamodels
Metamodel / Profile is a
Framework that limits
Elements you use
Modeling technique
Framework that concretes
Abstraction level
Focus on needed things
Self control in the endless space of
modeling
Framework that enables
Verify models against Metamodel
Effectiveness doing the right things
Efficiency doing the things right
Traceability to understand parentage
Lookahead modeling. Sometimes
required so as to reduce overall risk
Why is steering needed ?
Modeling without feedback is not worth
the money, because it is not
understood or accepted by the
organization
Metamodel provides Feedback from the
beginning
Reduce complexity
Provide ground for better decisions
Agile methodology, esp. Agile
Modeling is focused on “just barely
good enough (JBGE)“ artifacts
Metamodeling can help to understand
“just barely good enough”
Limits lookahead modeling
26. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 37
Business Domain Models: Example
Service, Product, Tariff – Priceable Pricing Template
Service = Payments
Product = SEPA
PriceComponent = inside EU
Tariff = Flat = 0.00 CHF
BusinessDimension =
RegularCustomer
Priceable is the application interface
Simple structure of a Service,
Product, Tariff management
Business Dimension manages the
relation between Product and Price
component
Flexibility to steer Customers prices
Flexibility to manage exceptions,
marketing events and else
27. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 39
ICT Enterprise Architecture Management (EAM): Project Effect on
“project changes product” pattern I
Understand the effect of the
associated elements for a target
(from another diagram next slide)
Calculate target KPI for all
associated elements
e.g. calculate the effect of a project on
to the product, the organization unit,
process support, the software system
28. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 40
ICT Enterprise Architecture Management (EAM): Project Effect on
“project changes product” pattern II
29. Understand your Business Domain (Metamodels) 31.Oct 2014, Frank H. Ritz, ritz@ritzeng,com Page 41