Fact-Oriented Modeling in ERM and FCO-IM · 2017. 9. 14. · 2 Fact Oriented Modeling: in ERM and...
Transcript of Fact-Oriented Modeling in ERM and FCO-IM · 2017. 9. 14. · 2 Fact Oriented Modeling: in ERM and...
Fact-Oriented Modeling
in ERM and FCO-IM
Jan Pieter Zwart
Group Model-Based Information Systems
HAN University of Applied Sciences
2 Fact Oriented Modeling: in ERM and FCO-IM
HAN University of Applied Sciences
University
33.000 students, 2.500 staff
62 bachelor, 19 master programs in 4 faculties, 26 institutes
39 research groups
Faculty, Institute
Faculty of Engineering. Institute: ICA
Academy of Communication and Information Technology
7 bachelor programs
3 research groups
1600 students, 120 teaching staff
2016: 650 first-year students
Dean: Ir. Ing. Peter Koburg
3 Fact Oriented Modeling: in ERM and FCO-IM
HAN University of Applied Sciences
Research group
Model-Based Information Systems (M-BIS)
Headed by: Prof. Dr. Stijn Hoppenbrouwers
Expertise:
– Development of model-based methods and techniques
– Collaborative modeling approaches
– Metadata management
– Business intelligence
– Courses, consultancy
4 Fact Oriented Modeling: in ERM and FCO-IM
HAN University of Applied Sciences
ICA: 7 programs for Bachelor of ICT, 4 years each.
In year 2:
Semester: Information Systems Engineering
Courses:
• Requirements
• Database Implementation
• Data Modeling and Relational Database Design
Fact-Based ERM: developed 2015-2016 for the last course.
5 Fact Oriented Modeling: in ERM and FCO-IM
HAN University of Applied Sciences
A few colleagues at the HAN:
Chris Scholten MSc, Senior Lecturer
Dineke Romeijn MSc, Lecturer
Marco Engelbart, MSc, Senior Lecturer
6 Fact Oriented Modeling: in ERM and FCO-IM
7 Fact Oriented Modeling: in ERM and FCO-IM
8 Fact Oriented Modeling: in ERM and FCO-IM
9 Fact Oriented Modeling: in ERM and FCO-IM
Killing three birds with one stone
10 Fact Oriented Modeling: in ERM and FCO-IM
Catching three birds with one net
11 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Oriented Modeling (FOM)
• Fact-based vs Attribute-based modeling
• Problems in classic ER models
• Only type level
• No semantics
• No method
• Verbalizing example facts helps modelers
• Method to draw up an ER model
• Better FOM technique: FCO-IM and CaseTalk
• Experiences and conclusion
12 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Oriented Modeling (FOM)
• Fact-based vs Attribute-based modeling
• Problems in classic ER models
• Only type level
• No semantics
• No method
• Verbalizing example facts helps modelers
• Method to draw up an ER model
• Better FOM technique: FCO-IM and CaseTalk
• Experiences and conclusion
13 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Based vs Attribute Modeling
Central point:
The fact–oriented/based perspective
offers a valuable extra viewpoint
to supplement the traditional
entity / attribute viewpoint.
14 Fact Oriented Modeling: in ERM and FCO-IM
Reservation Request Part: Attribute/Entity perspective:• Table: models an entity type: a kind of thing in the UoD
• Columns: model attributes: properties of the entity typeAttribute Attribute Attribute Attribute
Dom:RRno Dom:Seqno Dom:Perfno Dom:Number
PK, NN PK, NN NN NN
Focus: the atoms of information, not the molecules
Fact-Based vs Attribute Modeling
ReservationRequest
Res. Req.Part
Performance # Seats
3456 1 256 2
3456 2 277 6
5555 1 277 3
… … … …
15 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Based vs Attribute Modeling
ReservationRequest
Res. Req.Part
Performance # Seats
3456 1 256 2
3456 2 277 6
5555 1 277 3
… … … …
Reservation Request Part: Elementary Fact perspective:• Table contains facts: groups of atttributes that belong together
Part 1 of res. req. 3456 concerns performance 256.
Part 1 of res. req. 3456 claims 2 seats.
Focus: the molecules of information, not the atoms
16 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Based vs Attribute Modeling
A few pros and cons of these perspectives:
Entity, Attribute Elementary Facts
Pros
• Easy for trivial properties
• Techniques widespread
(ERM, UML, …)
• Many big software tools
• Natural units of info
• Good for complex data str.
• Semantics clear
• Good methods
• Metamodel simple
Cons
• No natural units of info
• Impracticable for
complex data structures
• Semantics not included
• No good method
• Metamodel clumsy
• More elaborate
• Techniques in niche
(FCO-IM, ORM, CogNIAM)
• Few supporting tools
(CaseTalk, NORMA, …)
17 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Oriented Modeling (FOM)
• Fact-based vs Attribute-based modeling
• Problems in classic ER models
• Only type level
• No semantics
• No method
• Verbalizing example facts helps modelers
• Method to draw up an ER model
• Better FOM technique: FCO-IM and CaseTalk
• Experiences and conclusion
18 Fact Oriented Modeling: in ERM and FCO-IM
Problems in classic ER models
Fact-oriented modeling aims to expand classic ERM with:
• Fact-based perspective
• Semantics
• Instance level
• Systematic technique
Here’s why:
19 Fact Oriented Modeling: in ERM and FCO-IM
Problems in classic ER models
Is this model correct?
At least some semantics is modeled:
the meaning of the RT is clear
But Salary (per year? per month)?
What is Area? Size? Part of building?
Abstract model: difficult to check.
Workspace
contains a desk of
has a desk in
EMPLOYEE
Eno
Ename
Salary
<pi> EMPNO
NAME
MONEY
<M>
<M>
<M>
ROOM
Rno
Area
<pi> ROOMNO
AREA
<M>
20 Fact Oriented Modeling: in ERM and FCO-IM
Types and instances
Employee Room
E1, John
E2, Lisa 56
E45, John 67
E68, Harry 88
E55, Richard
Type level Instance level
Workspace
contains a desk of
has a desk in
EMPLOYEE
Eno
Ename
Salary
<pi> EMPNO
NAME
MONEY
<M>
<M>
<M>
ROOM
Rno
Area
<pi> ROOMNO
AREA
<M>
21 Fact Oriented Modeling: in ERM and FCO-IM
Semantics, types and instances
A classic ERM diagram shows only the type level
This suffices for simple everyday ETs and Atts
(but many Atts are not simple at all)
However, for unfamiliar contexts
and/or complex data structures
this is not enough to understand the model
Adding the semantics (meaning) and examples
of instances to the diagram can greatly help to
validate the model (is it correct?)
Workspace
contains a desk of
has a desk in
EMPLOYEE
Eno
Ename
Salary
<pi> EMPNO
NAME
MONEY
<M>
<M>
<M>
ROOM
Rno
Area
<pi> ROOMNO
AREA
<M>
Type level
22 Fact Oriented Modeling: in ERM and FCO-IM
Semantics, types and instances
Fact-Based ERM diagram with
predicates and populations
Predicate: represents exactly
one type of fact
Type level Semantics and instance level
Employ ee <Eno> is called <Ename>.
Employ ee <Eno> earns a salary
of € <Salary > per month.
E1 E2 E45
John Lisa John
3000 5000 2400
Workspace
contains a desk of
has a desk in
EMPLOYEE
Eno
Ename
Salary
<pi> EMPNO
NAME
MONEY
<M>
<M>
<M>
ROOM
Rno
Area
<pi> ROOMNO
AREA
<M>
23 Fact Oriented Modeling: in ERM and FCO-IM
Semantics, types and instances
Fact-Based ERM diagram with
predicates and populations
Predicate: represents exactly
one type of fact
Type level Semantics and instance level
Room <Rno> of f ers an area
per person of <Area> m2.
56 67
10.3 8.4
Employ ee <Eno> is called <Ename>.
Employ ee <Eno> earns a salary
of € <Salary > per month.
E1 E2 E45
John Lisa John
3000 5000 2400
Workspace
contains a desk of
has a desk in
EMPLOYEE
Eno
Ename
Salary
<pi> EMPNO
NAME
MONEY
<M>
<M>
<M>
ROOM
Rno
Area
<pi> ROOMNO
AREA
<M>
24 Fact Oriented Modeling: in ERM and FCO-IM
Semantics, types and instances
Fact-Based ERM diagram with
predicates and populations
Predicate: represents exactly
one type of fact
Fact type:
either <pi>+Att combination
or non-dependent RT
Population: concrete illustration
Substitute values into blanks
In practice: do this only
for unclear Atts and RTs
Type level Semantics and instance level
Employ ee <Eno> occupies
a desk in room <Rno>.
E1 E2 E45
56 67 67
Room <Rno> of f ers an area
per person of <Area> m2.
56 67
10.3 8.4
Employ ee <Eno> is called <Ename>.
Employ ee <Eno> earns a salary
of € <Salary > per month.
E1 E2 E45
John Lisa John
3000 5000 2400
Workspace
contains a desk of
has a desk in
EMPLOYEE
Eno
Ename
Salary
<pi> EMPNO
NAME
MONEY
<M>
<M>
<M>
ROOM
Rno
Area
<pi> ROOMNO
AREA
<M>
25 Fact Oriented Modeling: in ERM and FCO-IM
Types and instances, weak ET
Here is a simple example of a weak ET
(only one <pi>+Att fact type is shown)
In complex data structures (like branching
chains of weak ETs), a predicate and
example population can clarify much
Note: a dependent RT cannot have a
predicate or population
Subproject <Sequence_number>
of project <Project_number>
must be completed by <Deadline>.
1 2 1
P315 P315 P244
20160205 20160301 20160201
SUBPROJECT_of_PROJECT
of
PROJECT
Project_number
Project_description
HR_scope
<pi> PROJ_NO
DESCRIPTION
HR_SCOPE
<M>
<M>
<M>
SUBPROJECT
Sequence_number
Subproject_description
Starting_date
Deadline
<pi> SEQ_NO
DESCRIPTION
CALENDAR_DAY
CALENDAR_DAY
<M>
<M>
<M>
26 Fact Oriented Modeling: in ERM and FCO-IM
Problems in classic ER models
Three main problems with classic ERM:
• Only abstract type level is modeledImpossible to validate abstract model
• Semantics (of complete facts) not modeled
Data Dictionary: absent, or only ET and Att.
Semantics highly valued in practice
• No good modeling methodMost textbooks show WHAT to model
No textbook shows HOW to model
Here: attempt to solve all problems using
verbalizations of concrete examples of facts
27 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Oriented Modeling (FOM)
• Fact-based vs Attribute-based modeling
• Problems in classic ER models
• Only type level
• No semantics
• No method
• Verbalizing example facts helps modelers
• Method to draw up an ER model
• Better FOM technique: FCO-IM and CaseTalk
• Experiences and conclusion
28 Fact Oriented Modeling: in ERM and FCO-IM
Examples of verbalizations
Employee InsEd manages project P315.
The description of subproject 2 of project P315 is: Improve firewall.
Subproject 2 of project P315 is led by employee WndIa.
29 Fact Oriented Modeling: in ERM and FCO-IM
Why use verbalizations of facts?
Verbalizations of elementary facts:
• Are on the concrete instance level
Domain expert and modeler: common ground
Validation by domain expert is easy
• Capture the semantics of the data
Main issue in practice (>60% of design time)
• Are independent of modeling technique
Do not change in model transformations:
ORM, ERM, UML, Rel, …: same verbalizations
• Offer a valuable alternative viewpoint
Natural units of information
30 Fact Oriented Modeling: in ERM and FCO-IM
How do verbalizations help a modeler?
Verbalizing concrete examples of facts:
• Makes the modeler understand the data
• Is done in constant dialoguebetween modeler and domein expert
no ‘ivory tower’ modeling
• Enables an arcane abstract ER model tobe built from familiar concrete facts
• Leads to a good and simple methodto draw up an ERM diagram
• Enables easy validation of the model
• Enables adding semantics and examples to the diagram itself where convenient
31 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Oriented Modeling (FOM)
• Fact-based vs Attribute-based modeling
• Problems in classic ER models
• Only type level
• No semantics
• No method
• Verbalizing example facts helps modelers
• Method to draw up an ER model
• Better FOM technique: FCO-IM and CaseTalk
• Experiences and conclusion
32 Fact Oriented Modeling: in ERM and FCO-IM
Method
Plenty of ERM textbooks tell you
WHAT to model
No ERM textbook tells you
HOW to make a good model
Fact Oriented/Based Methods
(FCO-IM, ORM, CogNIAM)
have always provided a good method
33 Fact Oriented Modeling: in ERM and FCO-IM
Procedure to draw up an ERD
1. Collect concrete examples of facts• Use BPM as starting point
• Make up examples if they don’t exist (yet)
2. Verbalize these examples• With domain expert. Result: fact expressions.
• Make the meaning as clear as possible
3. Sort expressions into Fact Types (FTs)• Same kind of expression: same FT
• Order FTs with most components last
4. Analyze each FT (2 segments)and add the results to the ERD
Steps 1 and 2 are
not covered in this
presentation.
34 Fact Oriented Modeling: in ERM and FCO-IM
Starting point
A process model shows data stores and flows:
good sources of concrete examples of facts
35 Fact Oriented Modeling: in ERM and FCO-IM
Sorting fact expressions
Expressions of the same kind belong to a Fact Type.
Expressions of the same type have components:
places where the text can vary.
FT4
Employee InsEd manages project P315.
" SmthE " " P422.
FT6
Subproject 1 of project P315 starts on 20160201.
" 2 " " P315 " " 20160201.
" 3 " " P315 " " 20160208.
" 1 " " P422 " " 20160101.
FT4 has 2
components
FT6 has 3
components
36 Fact Oriented Modeling: in ERM and FCO-IM
Sorting fact expressions
Procedure for sorting:
• Place expressions of the same kind
in the same Fact Type (FT)
o 2 or 3 expressions per FT is enough
• Per FT: count the number of components
o Component: place where text can vary
o Highlight the components
• Order the FTs
o FTs with the fewest components: first
o FTs with the most components: last
37 Fact Oriented Modeling: in ERM and FCO-IM
Analyzing fact types
No matter how many components a FT has, it can
have only 2 segments: groups of components that
belong together (only 1 segment is also possible).
There are only two possibilities for the 2 segments:
• One segment concerns an ET,
the other segment concerns an Att of this ET
• Both segments concern ETs, with a mutual RT
There is only one possibility for a FT with 1 segment:
• The segment concerns an ET
Analzying fact types is:
determining which segments there are,
and which ETs, Atts and RTs are involved.
The cases with
2 segments
are treated
in slides 9-18.
The cases with
1 segment
are treated
in slides 19-21.
38 Fact Oriented Modeling: in ERM and FCO-IM
Analyzing fact types
The procedure to analyze FTs will be illustrated using the following four FTs:
FT1:The family name of student S17 is Johansen." " " " " T66 " Robberts.
FT2:The course SQL is taught by Tmina." " ERM " " " Ttigo.
FT3:The exam of the course SQL on 14/1/2016 is held in room R67." " " " " ERM " 25/2/2016 " " " " 45a.
FT4:Student T66 scored a mark of 85 for the exam of SQL on 14/1/2016.
" S17 " " " " 47 " " " " ERM " 25/2/2016.
All modeling decisions are discussed with domain experts.
39 Fact Oriented Modeling: in ERM and FCO-IM
Analyzing fact types: FT1 (ET+Att)FT1:The family name of student S17 is Johansen." " " " " T66 " Robberts.
ET STUDENT Att Family_name
For each ET: establish its <pi> (if Att: always <M>)
FT1The family name of student S17 is Johansen." " " " " T66 " Robberts.
ET STUDENT Att Family_nameID: Att Studno
Predicate: The family name of student <Studno>is <Family_name>.
Two components.
Segments underlined.
Segments: ET + Att.
Meaningful names.
Identifier of STUDENT:
S17 and T66 are student
numbers, which are
called ‘Studno’ according
to the domain expert.
ERD
The <pi> and <M> were
checked with the domain
experts. Domains for the
Atts were specified also.
STUDENT
Studno
Family_name
<pi> STUDNO
NAME
<M>
<M>
40 Fact Oriented Modeling: in ERM and FCO-IM
Rules for analyzing FTs
• Mark 2 segments (or 1), and decide onET + Att or ET + ET (if 1 segment: ET).
•
• If you find a new ET:determine its ID (primary identifier)
•
•
• Give the complete predicate
• Determine <M> for new Atts
•
•
41 Fact Oriented Modeling: in ERM and FCO-IM
Analyzing fact types: FT2 (ET+ET)
FT2:The course SQL is taught by Tmina." " ERM " “ " Ttigo.ET COURSE ET TEACHERID: Att Course_code ID: Att Teacher_code
Add a RT between the ETs; determine its cardinalities
FT2The course SQL is taught by Tmina." " ERM " “ " Ttigo.ET COURSE ET TEACHERID: Att Course_code ID: Att Teacher_code
RT Course_teacher between COURSE and TEACHER
Predicate: The course <Course_code>is taught by <Teacher_code>.
Two components.
Segments: ET + ET
Meaningful names
Identifier determined
RT: explicit notation with
ET-names needed in
general
ERD
All constraints, domains
and cardinalities were
determined with the
domain experts
Course_teacher
is taught by
COURSE
Course_code <pi> C_CODE <M>
TEACHER
Teacher_code <pi> T_CODE <M>
42 Fact Oriented Modeling: in ERM and FCO-IM
Rules for analyzing FTs
• Mark 2 segments (or 1), and decide onET + Att or ET + ET (if 1 segment: ET).
•
• If you find a new ET:determine its ID (primary identifier)
•
• In the ET + ET case:add a non-dependent RT
• Give the complete predicate
• Determine <M> for new Atts
• Determine cardinalities for new RTs
•
43 Fact Oriented Modeling: in ERM and FCO-IM
Analyzing fact types: FT3 (weak ET)FT3:The exam of the course SQL on 14/1/2016 is held in room R67." " " " " ERM " 25/2/2016 " " " " 45a.ET EXAM Att RoomID: ET COURSE + Att Date
MATCH
RT COURSE_of_EXAM between EXAM(dependent)and COURSE
Predicate: The exam of the course <Course_code>on <Date> is held in room <Room>.
Could also be ET, ifAtts for rooms wereto be recorded, or a domain list wouldbe convenient.
Old ET: MATCH
ID contains ET: EXAM is weak ET:add RT with dependency
COURSE_of_EXAM
of
COURSE
Course_code <pi> C_CODE <M>
EXAM
Date
Room
<pi> DAY
ROOMNO
<M>
44 Fact Oriented Modeling: in ERM and FCO-IM
Rules for analyzing FTs
• Mark 2 segments (or 1), and decide onET + Att or ET + ET (if 1 segment: ET).
• If you find an old ET: MATCH
• If you find a new ET:determine its ID (primary identifier)
• If this ID contains an ET:add a dependent RT to it
• In the ET + ET case:add a non-dependent RT
• Give the complete predicate
• Determine <M> for new Atts
• Determine cardinalities for new RTs
•
45 Fact Oriented Modeling: in ERM and FCO-IM
Analyzing fact types: FT4 (Complex)FT4:Student T66 scored a mark of 85 for the exam of SQL on 14/1/2016.
" S17 " " " " 47 " " " " ERM " 25/2/2016.Att Mark
.ET EXAM_PARTICIPATIONID: ET STUDENT + ET EXAM
MATCH MATCH
RT STUDENT_in_EXAM_PARTICIPATION betweenEXAM_PARTICIPATION(dependent) and STUDENT
RT EXAM_in_EXAM_PARTICIPATION betweenEXAM_PARTICIPATION(dependent) and EXAM
Predicate: Student <Studno> scored a mark of <Mark>for the exam of <Course_code> on <Date>.
Old ETs STUDENT andEXAM present. Mark:attribute (property) of an exam participation. So other three compo-nents must be one ET.
ID contains 2 old ETs: 2 MATCHes
For each ET in the ID: add a dependent RT
46 Fact Oriented Modeling: in ERM and FCO-IM
Analyzing fact types: Complete ERDConceptual Data Model
Model: Students, exams and marks
Package:
Diagram: ERM part 2
Author: J.P. Zwart Date: 11-8-2016
Version: 2
Student <Studno> scored a mark of <Mark>
f or the exam of <Course_code> on <Date>.
T66 S17
85 47
SQL ERM
14/1/2016 25/2/2016
Course_teacher
is taught by
COURSE_of_EXAM
of
STUDENT_in_EXAM_PARTICIPATION
in
EXAM_in_EXAM_PARTICIPATION
in
STUDENT
Studno
Family_name
<pi> STUDNO
NAME
<M>
<M>
COURSE
Course_code <pi> C_CODE <M>
TEACHER
Teacher_code <pi> T_CODE <M>
EXAM
Date
Room
<pi> DAY
ROOMNO
<M>
EXAM_PARTICIPATION
Mark MARK <M>
47 Fact Oriented Modeling: in ERM and FCO-IM
Rules for analyzing FTs
• Mark 2 segments (or 1), and decide onET + Att or ET + ET (if 1 segment: ET).
• If you find an old ET: MATCH
• If you find a new ET:determine its ID (primary identifier)
• If this ID contains an ET:add a dependent RT to it
• In the ET + ET case:add a non-dependent RT
• Give the complete predicate
• Determine <M> for new Atts
• Determine cardinalities for new RTs
• Add predicates and populations to the diagramto make the meaning of the fact types more clear
48 Fact Oriented Modeling: in ERM and FCO-IM
Examples of FTs with one segment
There is a course ERM." " " " SQL.
Only one component, only one segment possible.
This must then be an ET.
There is a course ERM." " " “ SQL.
ET COURSEID: Att Course_code
Predicate: There is a course <Course_code>.
Such verbalizationsmight be givenfor domain lists(departments in anorganization, wardsin a hospital, townsin a country, …).
Domain lists pre-vent typos, save users time andeffort, and are easily updated bythe DB admin.
Example 1: Domain list
COURSE
Course_code <pi> C_CODE <M>
49 Fact Oriented Modeling: in ERM and FCO-IM
Examples of FTs with one segment
Student S17 has enrolled for the course ERM." T66 " " “ " " SQL.
Two components, only 1 segment chosen: must be ET.
Student S17 has enrolled for the course ERM." T66 " " “ " " SQL.
ET ENROLLMENTID: ET STUDENT + ET COURSE
MATCH MATCH
RT R_STUDENT_in_ENROLLMENT betweenENROLLMENT(dependent) and STUDENT
RT R_COURSE_in_ENROLLMENT betweenENROLLMENT(dependent) and COURSE
Predicate: Student <Studno> has enrolled for thecourse <Course_code>.
Suppose you know
that enrollments
have attributes of
their own (date,
status, …). Then
you don’t want to
treat this as an
ET+ET case: it will
result in a Many-to-
Many RT.
Instead, an empty
ET for the future
Atts is desired.
Example 2: Empty weak ET
50 Fact Oriented Modeling: in ERM and FCO-IM
Examples of FTs with one segment
Note:
• Attributes for ENROLLMENT can be easily added:
when analyzing a verbalization like:
The status of student S17’s enrollmentin the course ERM is: Pending.
the ET ENROLLMENT is old, so MATCH will do.
• The rules given in slide 18
also capture the one-segment cases.
Example 2: Empty weak ET
STUDENT_in_ENROLLMENT
in
COURSE_in_ENROLLMENT
in
STUDENT
Studno
Family_name
<pi> STUDNO
NAME
<M>
<M>
COURSE
Course_code <pi> C_CODE <M>
ENROLLMENT
51 Fact Oriented Modeling: in ERM and FCO-IM
Practical recommendations
• Always work exclusively from concrete
examples of facts.
• Always verbalize these facts carefully, with the possible exception of widely known
simple attributes, but don’t be too sloppy!
• Add predicates and/or example
populations for
all unclear non-dependent RTs
all unclear <pi>+Att fact types
52 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Oriented Modeling (FOM)
• Fact-based vs Attribute-based modeling
• Problems in classic ER models
• Only type level
• No semantics
• No method
• Verbalizing example facts helps modelers
• Method to draw up an ER model
• Better FOM technique: FCO-IM and CaseTalk
• Experiences and conclusion
53 Fact Oriented Modeling: in ERM and FCO-IM
FOM technique: FCO-IM
Fact Oriented Modeling
with FCO-IM
Published 2015
54 Fact Oriented Modeling: in ERM and FCO-IM
FOM technique: FCO-IM
Tool: CaseTalk
Marco Wobben
55 Fact Oriented Modeling: in ERM and FCO-IM
FOM technique: FCO-IM
• FCO-IM uses the same principles
• Focus: complete elementary facts
• Model is built by analyzing
verbalizations of example facts
• Method more fully worked out
• Verbalizations incorporated
• Many constraint types included(uniqueness, totality, cardinality, subset, …)
56 Fact Oriented Modeling: in ERM and FCO-IM
FCO-IM model (in CaseTalk)
57 Fact Oriented Modeling: in ERM and FCO-IM
FCO-IM model (in CaseTalk)
Type levelInstance level
Verbalizations
<4> is taught by <5>
the course <6> is taught by <7>
the course ERM is taught by Ttigo
58 Fact Oriented Modeling: in ERM and FCO-IM
FOM technique: FCO-IM
Tool: CaseTalk
• Automatic transformation
of FCO-IM model into
• ERM data model
• UML class diagrams
• Relational database schema
• DWH Star Schema
• Data Vault
• …
• Script generation
• Several RDBMS platforms
59 Fact Oriented Modeling: in ERM and FCO-IM
ERM model
(derived in CaseTalk)
60 Fact Oriented Modeling: in ERM and FCO-IM
ERM model (derived in CaseTalk)
• Entity type
• Attributes
• Relationship type
Shown or hidden ad libitum:
• Predicate
• Example facts
61 Fact Oriented Modeling: in ERM and FCO-IM
Relational schema
(derived in CaseTalk)
62 Fact Oriented Modeling: in ERM and FCO-IM
Fact-Oriented Modeling (FOM)
• Fact-based vs Attribute-based modeling
• Problems in classic ER models
• Only type level
• No semantics
• No method
• Verbalizing example facts helps modelers
• Method to draw up an ER model
• Better FOM technique: FCO-IM and CaseTalk
• Experiences and conclusion
63 Fact Oriented Modeling: in ERM and FCO-IM
Experience with this approach in class
• Procedure: can be taught and practised well in class
• Case studies (hospital, music theater, travel agency):– Students were only allowed to continue
if the verbalizations were approved by the domain expert (teacher)
– Verbalizing takes time
– Students understand UoD better:
• Less jumping to (wrong) conclusions,and misunderstandings corrected quickly
• Excellent way to solve semantic issues
– Analyzing and drawing up the ERM diagram was easy after this
• Students: appreciate the ‘best of both worlds’ approach– For trivial attributes: why the fuss?
– More difficult modeling: benefit is acknowledged
64 Fact Oriented Modeling: in ERM and FCO-IM
Conclusions
• Fact-Based viewpoint: valuable additional perspective
– Exactly one complete fact (natural unit of information)
– vs Entity Type (cluster of facts) or Attribute (fact fragment)
• Verbalizations of elementary facts can be used to
– Supplement a classic ER model where convenient withinstance-level examples to add clarification by illustration
– Supplement a classic ER model where convenient withelementary fact predicates to add semantics
– Draw up an ER model using asystematic easy-to-learn procedure telling you how to do so
65 Fact Oriented Modeling: in ERM and FCO-IM
Catching three birds with one net
Thank you
for your
attention