codesign of structuring, functionality, distribution and ...thalheim/pdffiles/... · compiler...
TRANSCRIPT
Codesign of Structuring, Functionality,Distribution and Interaction for Information
System Development
Kuwait University http://
22-27.3.2014
Bernhard ThalheimTechnologie der Informationssysteme
Institut fur Informatik, Christian-Albrechts-Universitat zu Kiel, BRDKolmogorow-Professor e.h. der Lomonossow-Universitat Moskau
1
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Overview
• Co-Design - why ?
• Structuring (the classical and the non-classical case)
• Functionality [behavior] (the hidden programmer’s cave)
• Advanced views and media types (the long waited link)
• Interactivity (playout of scenarios, actors and interfacing)
• Making co-design working (handling complexity well-educated)
• References, conferences, open problems
Maximal exploitation of database theory and technology
for intelligent information systems design support
2
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Codesign of Structuring, Functionality,Distribution and Interaction for
Information System DevelopmentInformation systems development combines nowadays development of structures for the underlying
database system with functionality specification, interactivity schemata and distribution schemata.
In the past, database development has mainly be considered as development of database structu-
ring. Functionality and interactivity specification has been neglected in the past. The derivability of
functionality has been a reason for this restriction of the database design approach. At the same
time, applications and the required functionality became more complex. Functionality specification
may be based on workflow engines. Interaction support is often not specified but hidden within the
interfaces. It may, however, be specified through the story space and the supporting media type suite.
Distributed applications are based on an explicit specification of import/export views, on services
provided and on exchange frames. The integration of all these parts has not yet been performed.
The co-design approach aims in bridging all these different aspects of applications and provides
additionally a sound methodology for development of all these aspects.
During the course we introduce to the higher-order entity relationship model that supports sophi-
sticated description of structures, functions and their semantics. This language is combined with
storyboarding that allows to specify the (web) frontend behaviour within the language and the un-
derstanding of business users. Additionally, we introduce DistrLang for the specification of distribution
and services. This combination has been tested in many applications. The corresponding codesign
methodology is certified to be on SPICE level 3.
3
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Information Systems as ContentManagement Systems
Layer 0: Data and documents of underlying databases as micro-data
Layer 1: Content of content bases as macro-data or aggregations
Layer 2: Concepts of concept bases for foundation/explanation
Layer 3: Topics of topic landscapes for annotation/representation
Layer 3-4: Privacy protection layer
Layer 4: Memes of the users
• The user understands chunks of concepts.
• The user expresses data needs through utterances based on
association to topics.
• The user queries for content or data through views.
4
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Database System Architecture
Appli-cationsystem
(workflow(functio-nality))
Presen-tationsystem(playout(story))
?6
-
�
DBMS
Data-base
DBS =
DBMS +{ DB }
Storage management
Compiler
Communication subsystem
Operatingsystem
Synchronizationof parallelaccess
Datadictionary
6 ?
Data manager Buffer manager
Transactionmanagement
Scheduler
Recoverymanager
Code generation Distribution management
OptimizerAccess plangeneration
Updateprocessor
Queryprocessor Integrity
control andenforcement
Logbook
6?
-�
Input-outputprocessor
Parser Pre-compiler
Authoritycontrol
Supportingsystems(graphical
etc. )
6? 6?
5
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Architecture of User-Oriented ContentManagement Systems�� ��Towards this century CMS
ContentManagement System
(Pragmatics)
Static IC
Structure
(Pragmatics)
Dynamic IC
Processes
FunctionalityStructure
Container
Structuring Functionality
Content typesService
Web Playout System
Story Space
Scenarios
ActorsStories
Context
Concept Managem. System
Topic Management System
User Management System
Profilemanager
Portfoliomanager
Association generator /Natural language engine
Privacy Protection System
TopicmanagerAsset manager /Infon representer
Communitymanager
Conceptmanager
Unit manager /Infon representer
Derivationengine
Contentbase
-�
6?
Data-base
-� Conceptbase
-�
Topiclandscape
-�
Privatedata-base
-�
6
? 6?
6
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Architectures of Web Information Systems:Database System Collaboration
Educationalinstitutesevents
Restaurant
Minor art events
Community& leisuregroups
Sport events Traffic about 25 othercollaboration
DBS
City administrationevents
Big events
Forum &discussioncorner
i�)
1-q
N ?
InjectBook
ResponseInformation logistics
Web Information SystemsInfrastructure Management
7
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Codesign of Structuring, Functionality,Distribution and Interaction for
Information System DevelopmentTime: 22.–27.3.2014
Place: Computer Science Department, Kuwait University
Lecturer: Prof. Bernhard Thalheim (Faculty of Engineering at Kiel Uni-
versity, Germany)
Lectures: 8 h lectures.
Credits: ?? ECTS
Passing: Active participation on lectures, successful completion of the
practices.
Grading: Pass/fail
Level: The course is aimed at master students, but strong advanced
undergraduate students with the appropriate background might find it
suitable.
8
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
ToolsDBMain: http://www.db-main.eu/?q=en www.rever.eucontact: [email protected] Philippe CLAEYS
REVER S.A. Bd Tirou 24 B-6000 Charleroi BELGIUM
Business view together with a Web interface.:DEASY: http://www.db-main.eu/?q=en/content/deasy-plugin
Alternative and more sophisticated tool (but not free for large schemata) : http://erwin.com/Free variant:http://erwin.sandhill.co.uk/download-ca-erwin-data-modeler?gclid=CJX5n5mUh7kCFah8cAodn3EA1AFree community edition: http://erwin.com/products/data-modeler/community-edition
SAP Sybase PowerDesigner: http://sybase-powerdesigner.apponic.com/download/
Embarcadero ER/Studio: http://www.embarcadero.com/products/er-studioER/Studio Data Architect
BPMN Active Modeller Advantage: http://www.activemodeler.com/
Visual SQL:
http://www.informatik.uni-kiel.de/en/information-systems-engineering/
miscellaneous/visualsql/
and can be used as freeware (both versions C# and Java).Course material:http://www.is.informatik.uni-kiel.de/∼thalheim/pdffiles/HERM.IntegratedModellingJyvaskyla2013Talk.pdf
9
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Main ReferencesExtended ER Model Handbook
10
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Application Systems are Task-Oriented
• task: specification of goal-oriented actions;
subtasks: workflow with activities, restricted by conditions, data and
context (organization, policy, environment, channel, ...)
• participatory design (task analysis, user-oriented)
mapped to essential design (data and function analysis)
three spaces: task world, system space, interaction space
• website as services (scenario of activities which can be called by the
user with supporting protocols and delegation facilities)
request, indication, response, confirmation
(a)synchronous, layering, resource-sharing, error-robustness, com-
munication support, (temporary) workspace
• generic user model and profile
11
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Application Domain and RequirementsEngineering
Classic approach: requirement development, specification, coding
� large conceptual distance for users, validation is not effective
Improvement:
(1) development of user-centric usage-oriented conceptual schemata
(2) application domain description and derived requirements prescription
(3) ‘scratch pad’ (mini-wiki suites) for information demand analysis
(4) explicit validation with the user community
(5) identification of organisation units in the UoD
(6) identification of task portfolio for each o-unit
(7) explicit domain description gathering for tasks
(8) data supplier and consumers
(9) filtering, modelling, four conceptual models
(10) co-design of structuring, functionality, views
12
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Triptych of Description, Prescription andSpecification
ImplementationTransformation
Interactionsystem
Informationsystem
Information system
Implementationlayer
Interaction systemspecification
Information systemsspecification
IS specification
Conceptuallayer
DesignRefinement
Applicationdomain
description
Requirementsprescriptions
IS utilisation
Description/prescription
layer
13
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Janus Head for Socio-TechnicalSystems
The social viewpoint: the environment of the user
• life cases and application cases that are important for the user
• tasks that must be solved by the user in order to overcome problems of their
daily life
• context of the user, e.g., cultural, language
• users within their collaboration with other users; community of practice or
society; organisational structure; user information; user features
The technical viewpoint: database system and/or application logic system
(that supports the user)
• database system with the database and the database management system
• logical procedures that might be of use for the system deployment
• supporting facilities such as analysis machines or data warehouses
The mediating connector: media objects based on views and with functions
that allow a user to act with the system
14
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Application Systems are User-Oriented:
Services Provided by a Systemthat Satisfy the Information Demand
Task User
Life Case Context
Society Knowledge
Service Information
Feature
�-
�-
�-
Serviceinterface
Content Database
ProcedureFunction
AlgebraAnalysis
Services deliver and accept the data based on content to the user
Information as requested by the user
Features of the information system for the support of the user
15
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Cross-Disciplinary Approach toDevelopment
(1) Task- and usage-driven development of supporting means for real-
life applications
computer engineers neglect user requirements
(2) Systems must follow rules, culture, understanding of users, e.g.,
privacy, security, dependability
computer engineers are not educated to take this into account
(3) Systems become far more complex, handle huge data, must be
integrated, used with skills
holistic understanding of applications with flexible integration
(4) Strengthes, weaknesses, opportunities, and threat of systems must
be understood by users before used with full benefit
users must not be adapted to the systems but should continueto live
(5) Systems are going to be used by many different people with many
different background
cultures matter, cross-disciplinary, cross-cultural
16
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Structuring in HERM
Structuring - extension of the ER model
strict set semantics (no pointer semantics)
1. Complex attributes, entity , relationship, cluster types,
types of higher order,
hierarchical schemata for structuring
2. Static integrity constraints
Basic data types - parameterized types of the DBMS
integer := (IntegerSet, {0, s, +, -, *, ÷, }, { =, ≤ })
Attribute type induced on basic data type system
Name : (FirstNames<(FirstName,use)>, FamName,
[NameOfBirth,] Title:{AcadTitle}·∪ FamTitle)
Contact : (Phone({AtWork}, private), email, ...)
DateOfBirth :: date
AcadTitel :: titleType
Entity type - product of attribute types with at least one direct identification
Person : (Name, Address, Contact, DateOfBirth,
PersNo: StudNo·∪ EmplNo, ...)
17
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Complex Attributes
varstring15?
string1?
Usageq
FirstName)
( ... )?
< ... >?
FirstNames9
( ... )?
Name
FamilyName
?varstring30
q
[ ... ]
?BirthName
?varstring30
z[ ... ]
?Titel?·∪
9{ ... }
?AcademicTitle
?varstring10
zFamilyTitle
?varstring10
Name : (FirstNames<(FirstName,Usage)>, FamName,
[NameOfBirth,] Title:{AcadTitle}·∪ FamTitle)
FamilyTitle :: titleType
AcadTitle :: titleType
18
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Structuring in HERM
Relationship type via hierarchical construction
unary type: Role, specialisation
InGroup : (Person, Group,
Time(From [,To]), Position)
DirectPrerequsite : (hasPrerequsite: Course, isPrerequisite : Course)
Professor : (Person, Specialization)
Cluster type - disjoint (labelled) union
especially for generalization
JuristPerson : Person·∪ Company
·∪ Association
Group : Senat·∪ WorkingGroup
·∪ Association
Constructors ×,∪, {} construction complete
usually: ×,·∪, < . >, {|.|}, P
with underlying type system
and generic operations
plus construction of operations through structural recursion
19
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Higher-Order Types are Necessary
Student Professor
enrolledin
Course
RoomSemester Moduledirect
prerequi-site
�
�
*
+9 ?� q
16
Student Professor
enrolledin
Course
RoomSemester Moduledirect
prerequi-site
�
�
*
+9 ?
-
6
20
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Graphical Notions Might Vary
Person
University employee
Student
Diploma student
Professor
Project member
Person
-Projectmember
6
Universityemployee
-Student-Diplomastudent
� Professor
21
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Unary Relationship Types
Person
6
Professor
Person
Professor
6
Person
Professor
6
IsA
22
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Textual SpecificationThe database aims in supporting lecture and course scheduling within a university
application. A course is typically proposed. If the proposal becomes accepted then
the course is going to be planned. Typically planned course may be also held. The
course proposal, planning and organisation is bound to a semester. Some university
employees may be responsible for a course. Typically a course has one responsible
person. Responsibilities may vary by semesters. Courses are taught by professors.
Professors are specialisations of a person.
Courses may be given for various programs. The proposal also includes the assi-
gnment of a course kind. The course proposal typically also requests for a room
and for a time at which the course preferably could be given. Additionally time slots
may be in conflict with other proposals. Therefore, conflicting time slots are given
as well. The room and time preference may be overwritten during the planning
phase. The same opportunity exists for proposals for the kind of the course to be
given. If the time is assigned then typically a time slot is assigned. A course may
have several non-overlapping time slots.
The proposal for a course should be recorded. A person may act in the role of
somebody who inserted the course.
Finally, courses may also be held at a different location than originally planned.
23
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Compare Visual Representation withTextual One�� ��Is this better to read for users of ER diagrams?
Course Semester -Professor Person
Room�
6
proposedCourse
Kind �
6
Courseheld
[]
�
6
plannedCourse
[]
[]
Program{}
Time(Proposal,
SideCondition)
TimeFrame
Request
Proposal
Teacher
inserted
Responsible4Course
�
*1k
-
*
+
For more information: http://www.is.informatik.uni-kiel.de/∼thalheim/slides.htm
24
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Constraints in Brief
Static integrity constraints are formulas of the hierarchical predicate
logic (with abbreviations)
in “normal definition frame” (may be deontic or strikt)
Keys for identification of objects (esp. entity types)
Key(Person) = { { PersNo }, { Name, DateOfBirht } }Relationship types with attributs
Key(InGroup) = {{ Person, Group, Time }} (!?)
Key’(InGroup) = {{ Person, Group, Time, Position }}
Key(Lecture) = { { Course, Semester},{Semester, Room, Time }, {Semester, Teacher, Time}
}Keys defined by the component construction
Name(FirstNames<(FistName,use)>, FamName)
at least one key is ‘inherited’ from the component
25
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Constraints�� ��Insufficient Expressivity of Database Models
• Functional, key, inclusion and exclusion dependencies are cons-
traints that are natural in the relational model
Key-based inclusion dependencies are handicapped
• Multi-valued dependencies are far better expressed in the ER model
• Cardinality constraints are overloaded
better treat maximal and minimal cardinality in separate systems
• Integrity enforcement is treated separately for types
• Join dependencies are representational constraints
26
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Constraints
Functional dependencies for functional associations among groups of
attributes
plannedCourse : {Sem, Time, Room} → {{Program}, Prof, Course}
plannedCourse : {Prof, Sem, Time} → {Course, Room}
proposedCourse : {Semester, Course} → {Prof} (??)
and other relational constraints
e.g. Domain constraints
Semester.Description ∈ {WS,SS} × {x/x+1|x ∈ 1980..99, 2000..03}
Cardinality constraints are restrictions of combinatorics with
(min,max)-notation
card(DirectPrerequisite, hasPrerequisite) = (0,2)
card(DirektVoraussetz, isPrequisite) = (3,4) not satisfiable
card(plannedCourse, Course Sem Prof) = (0,3)
card(proposedCourse, Sem Prof) = (3,5) (!??) or (0,5) (!!)
27
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Normal Forms
Maintenance through keys, domain and referential constraints
Forbidden substructures used for the definition of normal forms, e.g.,
3NF: Z → {A} ∈ Σ+, A ∈ Z, A non-key attribute Z → U ∈ Σ+
Boyce-Codd-Normalform: Z → {A} ∈ Σ+, A ∈ Z, Z → Ui ∈ Σ+
4NF: Z →→ X ∈ Σ+, X ⊆ Z, Z → U ∈ Σ+
5NF: (Y1, ..., Yk) ∈ Σ+ , ∃j : Yj → Ui ∈ Σ+
Project-Join-NF: (Y1, ..., Yk) ∈ Σ+ , {X → Ui ∈ Σ+} |= (Y1, ..., Yk)
Inklusion-NF: Ri[X] ⊆ Rj [Y ] ∈ Σ+, Y → Uj ∈ Σ+
Domain-Key NF (DKNF): α ∈ Σ+ , non-trivial, ΣK |= α
more than 35 other useful normal forms have been introduced
Synthesis and decomposition algorithms
28
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Classes and Instances
Classes are sets of (markable) objects of corresponding typeEntity class is the basic class of objects
β: ((<(Karl,add),(Bernhard,call)>, Thalheim, {Prof., Dr.rer.nat.habil, Dipl.-Math.}), BTU
Cottbus,
(({ +49 355 692700, +49 355 692397}, +49 355 824054),
[email protected]), 10.3.52, 637861)
(DBIV, Database theory, CS Programm , mandatory, 2+0+0, certificate)
Relationship classes for association of objects of component clas-
ses expanded by properties (through attributes)
Profβ: ( 637861, Database and information systems )
Senator3β: ( 637861, Senat, (1995,1998), Dekan)
Senator5β: ( 637861, Senat, (2000), Chair)
PrerequDBIVMain: (DBIV, DBI) ,
CourseDBIVSS02: (DBIV, SS2002, 637861, SR1, Mo. first pair)
...
...
29
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Classes and Instances
Classes are sets of (markable) objects of corresponding type....
Cluster classes for disjoint (!), i.a. virtual union of objects of the
component classes
{ Senator2π: ( 889721, Senat, (1998,2000), Chair),
Senator5β: ( 637861, Senat, (2000), Chair),
DBIS: ( Database and information systems, 637861, IfI),
CBnetβ: (CottbusNet e.V., 637861, Member, Services Group ) }
Classes are extended by generic operations insert, delete, update,
retrieve
may have additional methods
static integrity constraints must remain valid
inherent integrity constraint: existence of components
30
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Classes and Instances
Representation and
Storage
possibly with weak value-based OID or label
• either as full objects (with all properties (XML)) or as
• class-separated object (similar to snowflakes) object-relational re-
presentation or
• hybrid
31
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Explicit and Excluded FunctionalDependencies
X −→/ Y : the functional dependency X −→ Y is not valid.
Axioms
X ∪ Y → Y
Rules
(1)X −→ Y
X ∪ V ∪W −→ Y ∪ V(2)
X −→ Y , Y −→ Z
X −→ Z
(3)X −→ Y , X −→/ Z
Y −→/ Z
(4)X −→/ Y
X −→/ Y ∪ Z(5)
X ∪ Z −→/ Y ∪ Z
X ∪ Z −→/ Y
(6)X −→ Z , X −→/ Y ∪ Z
X −→/ Y(7)
Y −→ Z , X −→/ Z
X −→/ Y
32
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Simplicity of Graphical ReasoningUR = {A,B,D, F,G, I}σR = {A −→ IG,D −→ FG, IAB −→ D, IF −→ AG}
I
IF
A
ABI
F
D
G
�*
*-
�
6-
I
IF
A
AB
F
D
G
�*
*-
�
6
Classical synthesis algorithms:
R1 = ({A,G, I}, {A −→ GI})
R2 = ({A,F, I}, {A −→ I, FI −→ A})
R3 = ({A,B,D}, {AB −→ D})
R4 = ({D,F,G}, {D −→ FG})
This normalisation not minimal
Instead of R1 take R′1 = ({A,G}, {A −→ G}).
R2 is not in BCNF. It cannot be split into two relation schemata.
33
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Simplicity of Graphical ReasoningGiven two FD sets.
D
6
-
:
A -
E
AB -
B
C
······
··
··
··
·
D
6
-
A -
E
j
B
C
Are the FD sets equivalent??
34
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Representations for Cardinality Constraints
E � -R F(1,m) (0,1)
Participation for relationship type
E -� - F◦Binary ER models
E F◦Everest
ER
F◦
Teorey
E R M F◦
Classical proposal
E R(1,m)(0,1)
F
ER-designer
comp(R,E)
=
(1,m)
comp(R,F)
=
(0,1)
35
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Participation versus Lookup Semantics forCardinality Constraints
A(a,b) (c,d)
a ...bc...dA� -A with B
C
(held)
Course
Student
examinationform
6
Prerequisite
�
?
-enrols
6requires is required(0,2) (3,4)
3..4 0..2
(1,n) (0,n)
0..2
(0,n)
Result
36
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Transformation: Interpreter Approach withFlattener for (Object-)Relational DBMS
(1) Pre-processing: Association of representation forms to complex attributes (e.g. to conca-
tenation, list, set, product constructions), to hierarchies (e.g. event (non-)separation, union,
weak universal relation), to recursion unfolding, and to constraints (e.g., transformation
to relational constraints, specific normalisation, control, enforcement mechanism, exception
handling) depending on the profile of the DBMS.
(2) Transformation to an intermediate schema according to the paradigms and assump-
tions of the given DBMS.
(3) Transformation of entity types to relation types with direct integrity constraint repre-
sentation if possible and with optional extension by an identification mechanism.
(4) Transformation of higher types following the hierarchical structure of HERM schemata:
• Mapping of types to relation types with explication of association constraints (also possible
for clusters by CREATE CLUSTER TABLE).
• Embedding into existing types with optional renaming of components.
• Flattening the schema by combination of types.
(5) Derivation of the integrity enforcement scheme.
(6) Derivation of the opportunity space for tuning and performance management.
37
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
A Lean Methodology for Database SchemaModelling
(1) Define the scope as the area of interest,(e.g. the HR Department in an organisation).
(2) Define the “Things of Interest”,(e.g. Employees), in the area of interest.
(3) Analyse the things of interest and identify the corresponding schema types.
(4) Consider cases of hierarchies, (e.g. specialisation and generalisation), where there are
general entity types (kernel types), abstractions and specific entity types. For example, a
Customer is a kernel type, and Commercial Customer and Personal Customer would be
specialisation types.
If you are just starting out, I suggest that you postpone this level of analysis.
At this point, you can produce a list of things of interest.
(5) Establish the relationships between the types. For example, ‘A Customer can place many
Orders’, and ‘A Product can be purchased many times and appear in many Orders.’
(6) Determine the characteristics within each type, (e.g. an Employee has a Date-of-Birth).
(7) Identify the static and reference data, such as Country Codes or Customer Types.
38
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
A Lean Methodology for Database SchemaModelling
(8) Obtain a small set of sample data, e.g. “Ralf Master is a Maintenance Engineer and was
born on August 1st, 1985 and lives at Holtenauer Str. 22, Kiel.” “He is currently assigned
to maintenance of the Air-Conditioning and becomes available in 4 weeks time.”
(9) Review code or kind data which is (more or less) constant, which can be classified as
reference data. For example, Currency or Country Codes. Where possible, use standard
values, such as ISO Codes.
(10) Look for ‘has a’ associations. These can become relationship types, or ’Parent-Child’
relationship types.
(11) Gather whether relationship types are based on, e.g. assume existence or reuse already
defined objects, other relationship types. They become higher-order types.
(12) Gather whether types are abstractions of others. They become cluster types.
39
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
A Lean Methodology for Database SchemaModelling
(13) Define a main identification for all types.
For reference types, use the ‘Code’ as the main identification, often with only one other field, which is the
Description field. It is often recommended that names of reference data type all end with ‘ REF’. For all
non-reference types, you simply assign the most natural identification and mark alternative identifications
that might be used in relationships.
Try to avoid ‘surrogate keys’.
(14) Confirm the first draft of the database schema against the sample data.
(15) Review the business rules with users, (if you can find any Users).
(16) Obtain from the users some representative enquiries for the database, e.g. “How
many Maintenance Engineers do we have on staff coming available in the next 4 weeks ?”
Determine which of them are questions and which of them must be supported by views.
(17) Review the results of steps (1) to (9) with appropriate people, such as users, managers,
development staff, etc. and repeat until the final database schema is reached.
(18) Define user scenarios and step through them with some sample data to check that that
database supports the required functionality.
40
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Colouring Trick[1] The company has 900 cars. [2] Up to 30 cars are rent daily. [3] The renting of a car can be described
as follows: [3A] The clerk gets the needs for a specific car from the customer. [3B] After that, the
clerk checks whether the customer is new or an existing customer and he has to gather the needs.
[3C] If the customer is new the clerk has to create a new customer. [4]The customer data contains
the first name, last name, his address, and his needs. [4A] The needs of the customer are checked
against the type of the cars and the special features of the cars (e.g. air condition). [5] If there exists a
free car which the customer wants to rent, then a rental agreement is made. [7] Beside the customer
data (first name, last name and address) and the data of the car (model, identification number), it
also contains information about the method of payment (cash, credit card, check). [8] If the method
of payment is by credit card, the due-date, card number, the card holder and the card type has to be
filled in the rental agreement form. [9] The rental agreement also contains a rate class to which the
car belongs. [10] This class determines the taxes for the rental of a car per hour, per day, per week or
per month respectively. [11] The class also determines the “loss damage waiver per day”. [12] Each
rental agreement has an agreement number and an agreement date. [13] In the rental agreement you
can also find a price. [14] Other information for the rental agreement are the number of miles when
the customer rents the car, the number of miles when the customer returns the car, the rental and the
return date. [15] We also want to know which clerk is responsible for which rental agreement. ..
Very dark blue: organisation
Dark blue: entity type candidate Green: relationship type candidate
Blue: supporting type Magenta: property
Red: constraints ...
Brown: Recording a workflow
41
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Colouring Trick
42
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Hotel Information�� ��Web Site providing Hotel InformationThe Things of Interest: Countries, Hotels, Hotel Chains, Star Ratings
Relationships: A Hotel must have one and only one Star Rating.
A Hotel must be associated with one and only one Country.
Other Characteristics: A Hotel has a Room Capacity.
A Hotel can have one and only one Address.
Sample Data
Typical Enquiries: Find me a 4-Star Hotel in Kiel, Germany.
Design options:
• Handling Sub-Categories: A general approach is to link the type to itself. This allows
flexible structures within the Products. A fixed approach is to have separate types
for categories and sub-categories. In this case, the general approach is recommended
because change is likely to occur in the future.
• Handling other Stuff associated with a Product : A general approach like “Other Stuff”
and “Other Stuff Type” or list them individually, such as Security Issues, etc..
It’s better to spell out the other Stuff because it makes the Database easier to under-
stand. Usually the maintenance involved is not an issue.
Different kinds of other Stuff which may occur in the future should be handled by
adding specific types, reflecting the structure of the other Stuff.
43
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (1): Scope of the Data Model
When we step inside, we see that the variety of hotels is rather large, so our first
task is to decide which of them should be included in our Data Model.
Right now, we are interested only in booking.
Therefore, all the special supported items, are outside the Scope of our Data
Model, and are not ‘Things of Interest’.
44
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (2): Define the “Things of Interest” in the area
of interest.
Conceptual Database Schema covers Hotels, Rooms in Hotels, Hotel Chains,
Guests and their Bookings.
Bear in mind that the final solution includes the simpler one.
45
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (3): Analyse the things of interest and identify
the corresponding schema types.
Our motto - Keep It Simple and Straightforward (KISS)
Starting in a simple way with a diagram which shows four entity types with some
simple relationship types.
The real world is reflected in the conceptual database schema.
Harmonise entity types with the type dividing range for inter-existence, coexistence
and dependence.
Identify obligations: star rating of a hotel, booking by somebody else, staff
participating, decide whether booking of a room or of a type of room.
Derive static and dynamic constraints.
Check for derived and derivable data.
46
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (4): Consider cases of hierarchies.
Hierarchies in the schema: classical specialisation and generalisation with the
most natural root type. E.g. Guest, Agent, Staff as subtypes of Person or Person
as Generalisation of the tree or event-separation approach?
Inner-type hierarchies: types may have an inner structuring. E.g. Products
with related Sub-Products. Define star and snowflake sub-schemata.
Organisational hierarchies: organisations, enterprises etc. are structured. E.g.
Hotel and Hotel-Chain
Decide whether a cluster type or a relationship type or a reflective relationship
is chosen. Decide whether organisational hierarchies are represented as a chain of
unary relationship types.
47
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (5): Establish the relationships between the
types.
Consider different kinds of associations.
Develop cardinality constraints (min, max, average, evolution).
Avoid binarisation and artificial types.
Dependence among relationship types.
HotelChain
?
-?Within?
Hotel
�
6
InRoom � -Booking????
Guest
48
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (6): Determine the characteristics within each
type.
Derive attributes for each type with corresponding domain, operations, specific
values, meaning of the attribute, ....
Derive main constraints (FD, ...) among characteristics.
Derive normalisation obligations (vertical, hierarchical, deductive normalisation)
[HERM normalisation].
Separate aspects whenever possible (separation as design principle).
HotelChain
Name
Country
Currency Name
StarRating
Code Image
49
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (7): Identify static and reference data.
Natural identification is preferred over surrogate identification.
Each relationship or cluster type inherits one of the identification of its components.
Complex minimal keys may be replaced by some surrogate key.
Reference data is important, because it occurs in virtually every database schema
in the real world.
Where we use reference data for attribute types, it is good practice to comply with relevant national or inter-
national Standards. For example, in the Country type, we can see a field called ‘code’ or ‘ISO code’. The ISO
prefix emphasises the fact that we have adopted conventions endorsed by the International Standards Organisa-
tion,(‘ISO’).
Reference data Abbreviation Meaning in the schema Constraints
.. ... ... ...
Surrogate keys don’t have any intrinsic meaning and are simply integers generated
automatically one after another.
50
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (8): Obtain a small set of sample data and
address the issue of data quality.
Develop meaningful sample data sets that are not too specific.
Develop test plans for sample data.
Check constraints (including insert, delete, update enforcements) within these sam-
ple data.
Derive volume (population) spectra for each type.
Derive value types for all components, e.g.attributes:Attribute Data type Meaning Properties Unit of
name Name Format Values Structures Defaults 0-Support Def-Support measure
... ... ... ... ... ... ... ... ... ...
Derive value type characteristics, corresponding semantics, rules for derived data
and consistency rules.
51
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (9): Review code or kind data which is (more
or less) constant.
Classified as ‘reference data’ (Currency; Country Codes; standard values, e.g. ISO
codes).
Look for external standards which can be national or international.
Decompose types with external data from those with internal data.
Use checksums etc. for data correctness.
Check data coherence rules, e.g. natural science data.
Check rules, operations and predicates for value types (kind, precision, range, digits,
max, min, bitsize). Check data types for constants.
Develop rules for derived data.
Derive your treatment of potential NULL markers.
Derive a namespace for schema items.
Check for macro-data.
52
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (10): Gather whether relationship types are
based on other types.
Persistently represented workflows with evolution pattern (seed, web, cycle, flow,
wave).
Pivoting of relationship types.
Types with complex dependence constraints.
Abstractions can be represented by cluster types or views.
Snowflake or star decomposition of types.
Derive constraints and enforcement mechanism.
History data via relationship types.
53
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (11): Gather whether types are abstractions
of others.
Abstractions of real-life things instead of real-life notions should be avoided.
Meta-types and meta-meta-types need explicit handling.
Hyponym/hypernym needs specific treatment. Develop classifiers.
Semantic relations beside hyponym (antonym, synonym, location, time (existence,
lifespan, transaction, change, user-defined, validity, availability), purpose, activity,
function, role, measurement, meta-characteristics) need specific treatment and
specific maintenance procedures.
54
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (12): Define a main identification for all types.
Differentiate between natural identification and additional identification.
Define identification for kernel types, hierarchies, candidates for identification in
relationship types and cluster types.
Define primary, secondary and to be maintained identification for components.
Consider identification for recursive types.
Define the maintenance profile of identification including defaults and translation
obligations.
Avoid problematic types: weak types, hidden derived types, cycles, redundant types.
HotelChain
Code Name
Country
Code Currency Name
StarRating
Code Image
55
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (13): Confirm the first draft of the database
schema against the sample data.
Populate the database with sample data, e.g. at least a dozen objects for each
type. Sample data should reflect main constraints.
Prototype data with a level of typicality (including necessity, sufficiency, commo-
nality, evaluation, goodness; from typical to atypical and borderline), relevance,
importance (recognised, used, frequency of occurrence) as best data.
Data for validation, verification and testing.
Check whether all varieties of data are reflected in the schema.
Trick: use sample data to explain the database schema (sentence checkup; also
semantics).
56
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (14): Review the business rules with users.
Business rules are often implemented as ‘constraints’ in the database schema.
Rules can be understood by both the users and the database designer. When you
extend a database schema, it is always valuable to keep these rules up-to-date.
This is not always done meticulously but is necessary where users will ‘sign-off’
on their requirements.
Derive transition constraints based on business rules and derive enforcement
pattern for constraints.
Business rules may also be given through workflows in the business.
Define business flow in the most flexible form. Specify exceptional flow. Define
data support for business steps. Which actions are called by which actor within
which organisational unit with which responsibilities at which time under which
conditions?
57
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (15): Obtain from the users some representa-
tive enquiries for the database.
Usage-oriented conceptual models are currently supported by view towers.
Develop typical requests to the database. How those can be supported by querying
features?
Which kind of data maintenance is appropriate?
Develop data integration and harmonisation features.
Business users need data depending on the information demand and work support.
Data must be mapped to databases. Views, stored procedures, intermediate and
temporal types are typical supporting means.
Develop security and safety demands.
Session support via session schemata or via generic databases.
Revise accordingly normalisation.
58
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (16): Review the results of steps (1) to (9)
with appropriate people.
Validate and verify the usage-oriented conceptual model with stakeholders, e.g.
business users, casual users, development staff, managers, ...
Extend the sample and test data with their data.
Discuss exceptions for data, business rules and features.
Develop a support structure for needs of stakeholders.
Derive supporting means for atypical behaviour of stakeholders.
Collect typical forms, ways to cope with data, ... from stakeholders.
Storyboarding allows to represent user stories.
Consider evolution of schema types.
Discuss volume (population) spectra.
59
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Schema Development Step by Step�� ��Hotel reservation example
Step in the HERM methodology (17): Define user scenarios and step through
them with some sample data to check that that database supports the required
functionality.
Use usage scenarios for validation of the model, of supporting means, of functions
and requests, of potential interface support for views, of specific treatment of data
consistency, of data granularity support (roll-up, drill-down, dice, slice, rotate), ...
Elicitation of performance critical parts of the database. Develop an understanding
of the load profile for load and behaviour forecasting.
Check naturality of the type system used in the schema, e.g. identification,
referencing.
Derive constraint maintenance in dependence on scenarios.
60
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Hotel Reservation Application
HotelChain
Code Name URL
�
6
-Hotel
URLAddDetail
EmailContact(...)
Y
Country
Code Currency Name
StarRating
Code Image
Location
City Postcode Street
Characteristic
Code Description
-SpecificCharacterisation
FromTo
Condition
DefaultValue
RoomType
Code
StandardRate
Description
RateType
Code PeriodDescription
6
?
Room
NumberFloor
ActualRate
Smoking?
OtherDetails
?
-Rate
SpecialOfferAmount
LongTermDiscount
?
Booking⊕ -
R
I
From To
RoomCount
BookingDate
BookingNo�
Guest
GuestNoName(...)Address(...)MemberSpecialRequ
OtherDetail PastRecord
Agent
AgentID Contract
Name History
Staff
SSNName(...)NicknameService
BookingStatus
Code Description
Hotel characteristic (Description): Gym, WLANRateType (Description): Jan to March, April, EasternBookingStatus (Description): Cancelled, Provisional
Constraints: card(Hotel,HotelChain Location) = (0, 1)
card(Room,Hotel Number) = (0, 1)
61
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Hotel Reservation Application: One ofthe Alternatives
HotelChain
Code Name URL
�
6
-Hotel
URLAddDetail
EmailContact(...)
Y
Country
Code Currency Name
StarRating
Code Image
Location
City Postcode Street
Characteristic
Code Description
-SpecificCharacterisation
FromTo
Condition
DefaultValue
RoomType
Code
StandardRate
Description
RateType
CodePeriodDescription
6
?
Room
NumberFloor
ActualRate
Smoking?
OtherDetails
?
-Rate
SpecialOfferAmount
LongTermDiscount
?
Booking⊕ -
R
I
From To
RoomCount
BookingDate
BookingNo�
Guest
GuestNoName(...)Address(...)MemberSpecialRequ
OtherDetail PastRecord
Agent
AgentID Contract
Name History
Staff
SSNName(...)NicknameService
BookingStatus
Code Description
62
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Hotel Reservation: Hotel ComponentDatabase SQL Scripts (for Oracle)
CREATE DATABASE-- ============================================================-- Table: Hotel CHAIN-- ============================================================create table Hotel CHAIN(Hotel CHAIN ID INTEGER not null,Hotel CHAIN CODE CHAR(10) null ,Hotel CHAIN NAME VARCHAR2(50) null ,constraint PK Hotel CHAIN primary key (Hotel CHAIN ID)
)/
-- ============================================================
-- Table: Hotel CHARACTERISTIC REF
-- ============================================================
create table Hotel CHARACTERISTIC REF
(
CHARACTERISTIC ID INTEGER not null,
CHARACTERISTIC CODE CHAR(10) null ,
CHARACTERISTIC DESCRIPTION VARCHAR2(50) null ,
constraint PK Hotel CHARACTERISTIC REF primary key
(CHARACTERISTIC ID)
)
/
63
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
-- ============================================================-- Table: COUNTRY REF-- ============================================================create table COUNTRY REF(COUNTRY CODE CHAR(3) not null,COUNTRY CURRENCY CHAR(10) null ,COUNTRY NAME VARCHAR2(50) null ,constraint PK COUNTRY REF primary key (COUNTRY CODE)
)/
-- ============================================================
-- Table: STAR RATING REF
-- ============================================================
create table STAR RATING REF
(
STAR RATING ID INTEGER not null,
STAR RATING CODE CHAR(8) null ,
STAR RATING IMAGE CHAR(20) null ,
constraint PK STAR RATING REF primary key (STAR RATING ID)
)
/
64
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
-- ============================================================-- Table: Hotel-- ============================================================create table HOTEL(Hotel ID INTEGER not null,COUNTRY CODE CHAR(3) not null,STAR RATING ID INTEGER not null,Hotel CHAIN ID INTEGER null ,Hotel CODE CHAR(10) null ,Hotel NAME VARCHAR2(50) null ,constraint PK Hotel primary key (Hotel ID)
)/
-- ============================================================
-- Table: Hotel CHARACTERISTIC
-- ============================================================
create table Hotel CHARACTERISTIC
(
CHARACTERISTIC ID INTEGER not null,
Hotel ID INTEGER not null,
constraint PK Hotel CHARACTERISTICS primary key
(CHARACTERISTIC ID, Hotel ID)
)
/
65
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Generic CRUD Functionsset semantics
Data manipulation functions for database change
Insert a set of data with the type T into a class TC of the same
type
Delete a set of data from a class TC based on some condition
Update a class TC of the same type T by replacing data with some
condition with data of the same type
Data retrieval functions for search in the database
Select-From-Where queries
Aggregation functions
View specification functions
based on the relational algebra
66
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
HERM Query AlgebraOperations are defined on the basis of structural recursion op = src[e, g,⊔]with a value e of type t′, a function g : t → t′ and a function ⊔ : t′ × t′ → t′ :
src[e, g,⊔](∅) = e
src[e, g,⊔]({x}) = g(x) for x of type t,
src[e, g,⊔](X ∪ Y ) = src[e, g,⊔](X) ∪ src[e, g,⊔](Y ) for X,Y of type {t} ,
e.g., filter(ϕ) = src[∅, if then else ⋆ (ϕ× single× (empty ⋆ triv)),∪] ,sum = src[0, id,+]
Operations for tuple types are defined by structural recursion on basic operations
projection πi : t1 × ... × tn → ti, (Cartesian) product × : t → t1 × ... × tn,
reordering ρ, renaming κ
Operations for set types are defined by structural recursion on basic operations union ∪,difference \, constant, singleton element,
e.g., join operation
Operations on function types are defined by structural recursion on basic operations com-
position ⋆ : (t2 → t3)×(t1 → t2) → (t1 → t3), evaluation ev : (t1 → t2)×t1 → t2
and abstraction abstr : (t1 × t2 → t3) → (t1 → (t2 → t3))
Conversion operations from tuple to set types, from function types to collections, etc.
Operations for URL extension using labels l extending the type system to
t = b | l | t1 × ...× tn | {t} | [t] | l : tthat is restricted to rational trees (number of different subtrees is finite)
67
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
HERM-Algebra via Structural Recursion• Selection: σα = srec∅,ια,∪
ια({o}) =
{o} if {o} |= α
∅ otherwise
• Projection: πX = T [X] = srec∅,πX ,∪, X b T ,
πX({o}) = {o|X}• (Natural) Join: 1= srec∅,1T ,∪
1T ({(o1, o2)}) = {o ∈ Dom(T1 ∪ T2) | o|T1= o1 ∧ o|T2
= o2}
Cartesian product and intersection as special cases
• Renaming : ρX,Y = srec∅,ρX,Y ,∪
ρX,Y ({(o)}) = {o′ ∈ Dom((T \X) ◦ Y ) | o|T\X = o′|T\X ∧ o|X = o′|Y }
• Nesting : νX = srec∅,ρX,{X},h2for X b T = R,
T ′ = C(R\X)⊔R{X}, o′|X ∈ πX(T ′C),
h2({o′}, T ′C) = {o′}∪T ′C if o′|X ∈ πX(T ′C)
h2({o′}, T ′C) = { o ∈ Dom(T ′) | ∃o′ ∈ T ′C : o|R\X = o′|R\X∧o(X) = { o′′[X] | o′′ ∈ T ′C∧o′|R\X = o′′|R\X}}
• Unnesting : µX = srec∅,ρX,{X},h2, {X} b T = R,
T ′ = C(R\{X})◦X ,h2({o′}, T ′C) = {o′}∪
{ o ∈ Dom(T ′) | ∃o′′ ∈ RC : o[R\{X}] = o′′[R\{X}]∧o|X ∈ o′′|X}
68
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Queries for the Hotel Reservation SchemaQuestion 1 :
What is the total revenue per reservation from all double rooms?
Answer 1 :
SELECT booking ID,SUM(room Price*Days in (Date To - Date From))
FROM Bookings, Rooms
WHERE room Type Code LIKE ’Double%’
AND Bookings.room number = Rooms.room number
GROUP BY booking ID ;
Question 2 :
How many distinct guests have made bookings for Aug. 2013 in each hotel?
Answer 2 :
SELECT hotel ID,hotel Name,COUNT(DISTINCT guest Number)
FROM Bookings ,Hotels ,Rooms
WHERE (’Aug/13/’ >= Month(date From)
OR ’Aug/13/’ <= Month(date To) )
AND Bookings.room number = Rooms.room number
AND Rooms.hotel ID = Hotels.hotel ID
GROUP BY hotel ID, hotel Name;
69
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Advanced Views and Media Types�� ��Specification Frame
generate Mapping : Vars → output structurefrom database typeswhere selection condition
represent using general presentation style&Abstraction (Granularity, measure, precision)& Orders within the presentation& Hierarchical representations& Points of view& Separation
browsing definition condition& Navigation
functions Search functions& Export functions& Input functions& Session functions& Marking functions
70
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The General Approach to Querying
SQL trap
searchconcept
?resultconcept
- answerform
?answerto search
- queryform
SQLquery
-
databaseschema
?
SQL answerset
)DBMS answerrepresentation
q
?
DBMS queryinterface
�-searchrequest
:
z
(1) SQL: Extent the request utterance for disambiguation, elimination
of ellipses, closed-world semantics, reduction of fuzziness
(2) SQL: Reformulation of the query into an existential form
(3) Map the request terms to schema types under consideration of
translation policy, using auxiliary tables and translation to algo-
rithms
(4) SQL: Map result concepts to SQL answer types
71
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Six Steps From Question to Query
(1) Extension of the Search Question
(2) Orthonormalisation and Extension of the Search Question and Map-
ping to Query Forms and Answer Forms
(3) Rephrasing of the Question into an Existential Form
(4) Mapping of the Query Form to Database Schema Notions
(5) Derivation of the Extended Answer Form
(6) Derivation of the Database Query
72
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
VisualSQL for Graphical Querying�� ��Which students occur only together?
==<
Enrol
StudNo
Semester
CourseNo
Grade...
IS NOT NULL
=Student S1
StudNo
Name
DateOfBirth...
Person P1√Name
DateOfBirth...
=
=
Enrol
StudNo
Semester
CourseNo
Grade...
IS NOT NULL
=Student S2
StudNo
Name
DateOfBirth...
Person P2√Name
DateOfBirth...
=
=
far simpler and easier to formulate, to capture, to understand
without the SQL burden
http://www.informatik.uni-kiel.de/en/information-systems-engineering/
miscellaneous/visualsql/
73
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
VisualSQL.jar�� ��Which students study completely together?
74
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
VisualSQL.jar�� ��Which students study completely together?
75
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Resulting QuerySELECT P1.Name,P1.Address,P2.Name,P2.Address
FROM Person P1, Student S1, Person P2, Student S2, Enroll E1, Enroll E2WHERE S1.StudNo = E1.StudNo ANDP1.Name = S1.Name ANDP1.BirthDate = S1.BirthDate ANDP2.Name = S2.Name ANDP2.BirthDate = S2.BirthDate ANDS2.StudNo < S1.StudNo ANDNOT EXISTS (SELECT *FROM Enroll E3WHERE E1.StudNo = E3.StudNo ANDE1.CourseNo = E3.CourseNo ANDE1.Semester = E3.Semester AND(E3.CourseNo,E3.Semester) NOT IN (SELECT E4.CourseNoFROM Enroll E4WHERE E2.StudNo = E4.StudNo ANDE2.CourseNo = E4.CourseNo ANDE2.Semester = E4.Semester ))
ANDNOT EXISTS (SELECT *FROM Enroll E5WHERE E2.StudNo = E5.StudNo ANDE2.CourseNo = E5.CourseNo ANDE2.Semester = E5.Semester AND(E5.CourseNo,E5.Semester) NOT IN (SELECT E6.CourseNoFROM Enroll E6WHERE E1.StudNo = E6.StudNo ANDE1.CourseNo = E6.CourseNo ANDE1.Semester = E6.Semester )) ;
;
�� ��How long would it take you to formulate this query?�� ��Is the first query in this talk equivalent to this query?
76
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Views with Functions: Archive view
Course
retrieve
Semester
slice/sort
6
Professor
retrieve
Person
retrieve
Kind
retrieve
�
6
?
-Courseheldretrieve
Program
retrieve
{}
Description = “WinterSem12/13”
Teacher
Responsible4Course
k 3
XML as the display medium
XML specifications can be automatically generated out of this view
functions are supported by procedures in the HERM algebra
77
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Algebraic Expressions for Views
Views for internet presentation as Read-Only-View
Archiv view as materialized Read-Only-View
Slice SS00/01 with Archiv.Semester := e(Semester)
for e = σBezeichn=“SS00/01′′
Archiv.Course := e(CourseHeld [Course])
Archiv.Person := e(CourseHeld[plannedCourse[
proposedCourse[Responsible4Course : Person]]])
Program, Kind, Professor analoguous
Archiv.CourseHeld := e(CourseHeld[plannedCourse[
proposedCourse [ Course, Program, Teacher:Professor,
Responsible4Course : Person], Kind]])
Be careful: changing set of integrity constraints!
Insert view for new course proposals: als Read-Write-View with identifiable sub-views and
side conditions
with optional and mandatory components
Media object schema as containers based on views with container functionality and atta-
ched functions
representation bound by order, adhesion, cohesion of types
taylored by user profile, user environment, history, channel capacity
are associated with dialogue scenes
78
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
View with Auxiliary Schemata: InsertionView for New Course Proposals
Course
retrieve, select, input
Chair
retrieve if change
retrievedescription
Semester
6
-Professor
retrieve, select
?
requiredCourseretrieve
Person
retrieve if change
Room
retrieve, select
�
6
proposedCourseinput
Kind
retrieve, select
Program
retrieve, select
{}
Time(Proposal,SideConditions)
Description = “SS07/08”
ShortDescr = “ISE”
default = Profβ
Wish
Proposal
Teacher
insertedBy= “SecrKK”
Responsible4Course = “β”
�* 1
k
k
-
+
K
(1,1)
+
s
-
79
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Complex Views of the Hotel ReservationSchema
Actual room occupation with an association to guests and to thecalendartypically as an occupation
• either daily or
• as a period of time;
Checkin and checkout including also payment in various facets;
Hotel financial management including bank services, tracking of
payments etc;
Calendar as an auxiliary imported schema with variety of interpre-
tations of the days depending on the style of calendar (Gregorian,
Muslim, Jewish, ...) and on the country specific semantics of the
days.
80
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Hotel Application: Derived UpdateView with(out) Materialisation
HotelChain
Code Name URL
�
6
-Hotel
URL
AddDetail
Contact(...)
Y
Country
Code Currency Name
StarRating
Code Image
Location
City Postcode Street
Characteristic
Code Description
-SpecificCharacterisation
FromTo
Condition
DefaultValue
RoomType
Code
StandardRate
Description
RateType
Code
Period
Description
6
?
Room
Number
Floor
ActualRate
Smoking?
OtherDetails
?
-Rate
SpecialOffer
Amount
LongTermDiscount
Calendar
Day DayNumber
BusinessDay
-Occupation
�
Available
Count
K
�
*
81
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Hotel Reservation Application: ADerived Revenue View�� ��Room reservation revenue view
HotelChain
Code NameCountry
Code Currency Name
Hotel
IDURLChainCode
CountryCodeRatingCode
Name Address(...) City
Postcode OtherDetails
StarRating
Code Image
DailyRoomRate
Hotel RoomNumber
Day
RateOffered
RateAccepted
Calendar
Day DayNumber
BusinessDay
Room
IDFloor
No
HotelID
RoomTypeCode
ActualRate
Smoking?
RoomAvailability
AvailID HotelID Day
RoomTypeCodeAvailCount
Booking
IDStatusCode
GuestCountry
HotelID
StaffID
AgentIDRoomNo
GuestNoFromTo
�
6
?
RevenueCube
RevID
DateOfOccupancyRevenue
RevPAR
Y
�
*:
zj
RevPAR: Revenue Per Available Room
82
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Database Feature Programs through theBusiness Process Modelling & Notation
83
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
BPMN�� ��Travel Booking
84
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
BPMN�� ��Reimbursement of Travel Costs
85
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Workflows: Infotainment
86
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Web Information Systems�� ��Towards User-Orientation
Differences and similarities to/with classical IS
• Application domain driven
• Adaptability to users, environment, current usage
• Complex structure at various levels of detail
• Storyboarding becomes essential, beyond business process model-
ling
• Presentation matters and influences structuring and functionality
• Distributed and collaborative work
• Long lasting transactions
• Co-evolution of historical and recent information
87
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Aspects of Web Site Modelling and Design
• Intention:
• What is the purpose of the service (mission statement)?
• Is there just one major intention or are there several minor in-
tentions as well?
• What is the time-scale for these intentions (long-term / short-
term)?
• Are there metaphors to describe the mission?
• Content:
• Which information should be provided?
• How can this information be decomposed, structured and clas-
sified?
• Which information needs should be satisfied?
• Which information must be kept together in all cases?
88
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Aspects of Web Site Modelling and Design
• Functionality:
• Is the site to be just passive or active?
• Which navigation structure should be provided?
• What kind of search should be support (internal, external, which
search tools)?
• What kind of support functions should be provided?
• export functions such as printing, e-mail, storage
• import functions such as database connections
• marking and extraction functions, etc.
89
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Aspects of Web Site Modelling and Design
• Context:
• What is the cultural context?
• What is the application context?
• Does the provider and the user require specific context?
• What is the technological context?
• Presentation:
• Which technical devices (screens, videotext, handy, etc.) will be
used by the users?
• What are suitable quality criteria for users, content and functio-
nality?
90
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Aspects of Web Site Modelling and Design
• Usage:
• Who will use the service?
• What are the goals of the expected users?
• How do we expect the users to access the services (story)?
• Which user intentions and behaviour shall be supported?
• Which user profiles should be supported?
• What are suitable quality criteria for users, content and functio-
nality?
91
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Key Questions
• Who will be using the system?
• When will the system be used?
• Where is the information system used?
• What is represented in the system?
• How will the system be used?
• Why is the system used?
• What is the policy, intention, goal, and aim of the provider?
Additional dimension in the Zachman model are:
Competency:
Time: (schedule; delay)
Environment: (context; technical and organizational)
Quality: (in which quality; with which guarantees)
Runtime characteristics: (adaptation; exceptions; delays)
Collaboration: (with whom)
92
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Example: City Information
Infotainmente.g. www.Cottbus.de
simple
fact
up-to-date
simple management
variety of layout
93
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Infotainment: Lessons Learned
• large and constantly raising databases behind
• database integration
• database proliferation
• data gathering and quality check
• get the real user story, e.g. search
• learn to separate users for better service
• who gets what when where how for what purpose
• intention and mission of city information
• layout is the only discussion issue for orderer
• get content gardener inside the city management
• evolution plans in advance
• surprising additional wishes are coming anyway
• sudden change is ruled by political changes
94
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Example: Edutainment on Demand
Edutainment
e.g. damit.dfki.de
Learning
on demand
on data available
with algorithms
from your working place
95
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Edutainment: Lessons Learned• give each user its profile and gather learning demand
• edutainment is not e-learning
• blended learning is not the main issue
• interactive learning is achievable
• collaborative learning is the real issue
• commercial tools are simple document management tools
• user adaptation is a must
• content must be provided in various versions
• one hour playout requires 50 hours of preparation
• only appropriate content can be edutained
• learning is the users task for which he/she is motivated
• interactive content is best fitted
• 60(content) : 20 (didactics) : 10 (system) : 10 (design) split of
work
• learning cultures are different, e.g. German, Italian, Greek, Thai
• learn from past, e.g. School on the air
96
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Example: Collaboration on Demand
Groupcollaboration
Association
Cottbusnet
simple
fact
up-to-date
simple management
variety of layout
97
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Community Sites: Lessons Learned• follow community life
• communities constantly evolve
• privacy is a must and a big research issue
• user roles, rights, protection, internal tracking
• get heads and leaders
• content is attracting
• advertisement is out
• user interactivity is the main supporting area
• support partially active users as well as hyper-active users
• organise community beyond forum
• presentation may become the annoying bottleneck
• separate public, member, group member, personal information
• virtual communities are a big research issue
• follow the rules of the community in real life
• Web 2.0 is only the starting point
• LOW principle: double profit from shared work
• ownership must be explicitly treated
98
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Example: The New GovernmentE-Government
database generated
renewal
SeSAM
Communication
and collaboration
on profile
on portfolio
on interest
integrated
content management
99
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
e-Government: Lessons Learned• internet as inhabitant first service point
• parliamentarians are afraid of internet and public display
• understand the parliamentarian work
• storyboarding is a challenging but wining issue
• everybody in the government has an opposite opinion
• mayors are delicate people
• get a mole inside government adminstration
• develop a competence partner in the adminstration
• procurement is a good starting point
• application variety is a killing and overflowing challenge
• laws and regulations are a resolvable nightmare
• society is becoming older
• don’t discuss so much, better base first steps on experience
• not all services are for free, find the borderline
• data gathering is a challenge
• data guards are a communication bottleneck
• the bottleneck warehouse approach is best solution
100
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Storyboarding an Old Issue ?E.g., great script and movie: Tootsie, Witness, Back to the Futurestory + characters + topic + pictures + dialogues
• well structured (set-up, development, midpoint scene, climax, resolution)
job-less, changing sex, job success, friendship, love, overwhelming problems,
happy end+ brief and focused, constraint enforcement through dimensions
• top-down (expose, outline of scenes, treatment, plot, production)
• using all elements (catalysts, action point, attraction, barrier, complication,
contrast, momentum, motives, pay-off, reversal, sequence, A-story, B-story,
subjective point-of-view, subplot, twist)
motivation action goal conflict
A well known story:
The wild swans: ib1a1c1A1B4C ↗ {Sch1H1¬Z
1¬∥sch7H7Z9}W 4L1 ↘
V 1[Sch1H1Z9 ≡ R4]× 3
101
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Separation of Concern in the WebUtilisation Space by the Specification
HexagonUser and intention
Storyboard
Functionality
Presentation
Content
Context
Web IScollaborationgroup content
collective identity
Goal, application areaprofile,
information demand
Storiestasks
Interfacesdepending on the environment
Dataobjects
knowledge
Navigationsearchwork
TechnicsorganisationWIS context
102
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
From Web 1.0 to Web 3.0
Functionality
Presentation
Content
Web 1.0
Interfacesdepending on the environment
Dataobjects
knowledge
Navigationsearchwork
((User and intention))
((((Storyboard))))
Functionality
Presentation
ContentTopic
(Context)
Web 3.0asset
extends contentby annotation
Goal, application areaprofile,
information demand
Storiestasks
Interfacesdepending on the environment
Dataobjects
knowledge
Navigationsearchwork
Derivationassociationdeclare
TechnicsorganisationWIS context
Web 1.0: author driven,
publish/provide story/support or
advertise/wait/attract/react/retain
for users:
inform/subscribe/obtain/answer/come back
Web 3.0: asset driven, content-asset centered, provides
additionally linguistic semantics,
Technology combines: artificial intelligence, automated
reasoning, cognitive architecture, composite applications,
distributed computing, knowledge representation, ontolo-
gy (computer science), recombinant text, scalable vector
graphics, semantic Web, semantic Wiki, software agents
association within the topic map or
103
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Web x.0 and the Co-Design HexagonalDimensions�� ��Web x.0: Towards sophisticated web engineering
User and intention
Storyboard
Functionality
Presentation
Content
Context
Web 2.0collaborationgroup content
collective identity
Goal, application areaprofile,
information demand
Storiestasks
Interfacesdepending on the environment
Dataobjects
knowledge
Navigationsearchwork
Technicsorganisation
�� ��Web 2.0 allows context injection and is user-centered and story-centered
104
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Interaction ModelingStory as labeled di-graph S = (V,E, λ, κ)
V - scenes, E ⊆ V × V - transitions
media object assignment λ : V → {MediaObj}representation through media objects
with permitted rights, permitted roles, obligations of actors
MediaObject (Container, ManipulatRequests, SuppliedFunctions)
activity assignment κ : E → {Activity}activity = ( actor(profile) , task,
context (equipment, channel, rights, roles, particular),
representation (style, default, emphasis, ...))
Scenario - run through the system
with cumulative history (and adaptation)
consists of scenes
visited sequentially or in parallel by actors
story space - composition of sequences
105
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Representation of Dialogue Scene within aStory
dialoguestep
nextdialoguestep
-- -sub-unit
suppliedprocess
manipulationsub-request
enabled actor6
?control(event,preCondition,acceptCondition)
:
U dialogue scene expression
transition according to
dialogue scene
involvedactors
story scenesequence
mediaobject
representationstyle
context,task
6 66 6 6 6
106
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Scene in a StoryboardCourse Data Entry Scene Extended With Internal Negotiations
K
Y
Loginby chairsresponsible
z
:
Collectseminarproposals
j
j
Generatenew courseproposal
j Settledata forproposal
j Entryof necessary
data
Acceptcoursedemand
U
Settledata forseminar
:
K
Confirmation
:
Submissionchairdata
UAssignmentof coursesto members
j
UNegotiation ofassignmentsby members
UFormulation
of sideconditions
K
UAuxiliary& historic
data
y
Chairs Lecture Proposal Scene
107
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Dialogue Steps for Event etc. Search
entrystepY
individualrequest step
9property-based
search
j result &clarification
step
jtarget seeking
step
9
K
U
map browsingstep
jpoints ofinterest
zUz
K
K
Uj
bookingstep
event search scene
108
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Storyboards: Example Wikis
H H
Evaluator
SupportingExpertWiki Team
MemberU U
checkanswers
z
K
closegroup
definenewwikis
K
collectwikisY
develop newwikis
U
group
communi-cationcontentchunkspace
wikidelivery
box
wikisheet
jdiscussion& evaluation
U
K
nextwiki
y
revisedwiki
9
newwiki
U
quitgroup
9
pendingwikis
confirmedwikis
outdatedwikis
U
UK
group
help
hints&
tricksroom
forming a Wiki team with three roles (evaluator, member, supporter)
modelling the Wiki collaboration story
modelling the intended result
109
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Wiki Specification Based on ContentChunks
Wiki W = (I,S,ΣW) specifying “who”, “how”, “why”, “whether”
Content chunk processes I = (V,M,ΣT ) specifyingthe content chunks V based on media types (“what”),the wiki manager M (“how”), andthe competence ΣT through a set of tasks (“for what”)
Wiki storyboard S specifying the organization frame (“how”),the parties (“who”) and the context (“whereby”)
Quality of wiki ΣW agreeing on the quality and motivation (“why”)
Exchange frame specifying
Architecture drafting the general engine (“where”)
Wiki collaboration style drafting the flow (“when”)
Wiki collaboration pattern describing the functionality (“how”, “whereby”)
as a generalization of distributed systems, communication systems,
groupware systems, and collaboration architectures
110
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Modelling Life Cases by Stories�� ��Digicult: Representing successful behavioural pattern
K
Surveyon opportunities
j
K
Deletingoptions
U
j Nofurtheroptions
jGaining info
on problems
zSamplecasesY
U z
j
Successfulcases
K
Approachesfor use
y :
SimilarcasesY
Backgroundinfo
9
Analogous search
Mapping behaviour of users with full option space
Intelligent representation of information and knowledge spaces
Adaptation to the user, curent situation, context, ...
Logistics for content
111
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Life and Application cases�� ��Relocation and change of data
relocation
parties
housing benefit
house owner benefit
insurance agencies
health insurance
associated life cases
associated parties
vehicle documents
parking card
specialownership
special/exceptional
foreign resident
foreign temporary
second home additional taxation rent level
employment office
employer
employment
phone
water,sewage
supply energy,gas
pets registration
pet taxpets
children
partners
proofs
certificaterscertificate of authority for authorizing others
pension approval certificate
employment documents
marriage certificate
driving licence
child identification card
degrees
birth certificateidentification
passport
necessary documents
special names
income tax card
passport
pseudonyms
fratemity
associated documents
addressto
from proof of moving out
proof of moving in
special documents
citizenship
potential changes
potential changes
address
address
school
housing
special contracts
documents from handicaped car
tv/radio
housing allowance
housing programme
housing eligibility
special parking permission
forwarding period
forwarding address
insurance
bank
collect charges
house registrationhouse number
private people
parties, organisation registration
directory
obligation of secrecy
disclosure
provided reasonsaccepted restrictionsoverruled restrictions
social support
move life case
contracting
restrictions
application for registration
forwarding mail
tax
religious organizations
actors
basic changes
issuer
agencies
special support
recipients
schools
directory companies
automated contracting
aliens department
police
statistics agenca
tax office
ministery
official bodies
companies
support of organization
data protection official
documentation agency
contracters
civil servant
public authorities
citzen office
town clerk`s office
factory inspectorate
TV/radio
112
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Mapping Life Cases to Business Use Cases�� ��The natural language representation of application domain elements
Actor - Environment�Life cases
9 z?
Stories Businessuse cases Portfolio� -� -
Verbword fields
? ?9 zSubstantiveword fields
?
Narrations
Bundling inContentActions
Content Tasks
Persona� j
Platform
Application domain
• is characterised by the life case that characterises typical applica-
tion situations for groups of users (actors) within a context,
• can be used to derive business use cases depending on the task
portfolio and on the story under consideration, and
• is described through narrative descriptions based on word fields.
113
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Mapping the Business Use Cases toRequirements
�� ��The use of application domain information for requirements elicitation and analysis
Stories Business use cases Portfolio
? ?z9?
Storyboard Non-functionalrequirements
z9Functional
requirements
Requirementsprescription
The application domain description can be used to deduct
the requirements prescription
• through functional requirement,
• through non-functional requirements, and additionally
• through the storyboard of the application.
114
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Rep.: Specific Distributed System:
Services Provided by a Systemthat Satisfy the Information Demand
Task User
Life Case Context
Society Knowledge
Service Information
Feature
�-
�-
�-
Serviceinterface
View Database
ProcedureFunction
AlgebraAnalysis
Containers deliver and accept the data based on views to the user
Container are media types, i.e., provide data with functions for their
utilisation
Information as requested by the user
Features of the information system for the support of the user
115
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Distributivity Specification ThroughDistrLang
Service S = (I,F ,ΣS) specifying “what”, “who”, “how”, “why”, “whether”
Informational processes I = (V,M,ΣT ) specifyingthe content V based on media types (“what”),the service manager M (“how”), andthe competence ΣT through a set of tasks (“for what”)
Service characteristics F specifying the organization frame (“how”),the parties (“who”) and the context (“whereby”)
Quality of service ΣS agreeing on the quality and motivation (“why”)
Exchange frame specifying
Architecture drafting the general engine (“where”)
Collaboration style drafting the flow (“when”)
Collaboration pattern describing the functionality (“how”, “whereby”)
as a generalization of distributed systems, communication systems,
groupware systems, and collaboration architectures
116
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Conceptual Modelling of Collaboration�� ��Collaboration Triangle Relating Communication, Coordination, and Cooperation
Coor-dination
I
�
requires
arrangestasks for
Collaboration
Coope-ration
�
-
demandsin
creates
opportunities for
Communi-cation
R
supportsgenerates commitmentsthat are managed by
�� ��Collaboration Acts
Communication act view based on sending and receiving
Concurrency view based on commonly used data, functions, and tools
Cooperation context view combines the context of cooperation,
i.e. portfolio to be fulfilled, the cooperation story and the resources that are
used
117
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Layers of a Typical Collaboration System
Communication space:(a)synchronous,
multicast/broadcast,protocols, standard
Coordination space:operation management,session management
shared resources management,users management
Cooperation space/workspace:workspace control,
awareness, notifications,security over user functions
CooperationLayer
CoordinationLayer
CommunicationLayer
Media objectunit manager
Coordination andcontracting system
Communicationsupport system
generalising Ochoa, Guerrero, Fuller, Herrera: Infrastructure of Groupware Systems
118
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Explicit CollaborationCommunication via exchange of messages and information
as only one of the perspectivesdemands cooperation and
generates commitments that are managed by coordinationchoice of media, transmission modes, meta-information,
conversation structure and paths, restriction policy
Coordination via management of individuals, their activitiesand resources
as the dominating perspectivegenerates communication and arranges tasks for cooperationpre-/post-articulation of tasks; management of tasks, objects, and time;
loosely ... tightly integrated activities, enabled, forced, blocked
Cooperation as production taking place on a shared spaceas the workflow or life case perspectivecreates opportunities for coordination and demands communicationstoryboard-based interaction, mapped to (generic, structured) workflowsproduction, manipulation, organization of contributions through media objects
Awareness is fostered by each of the aspects andmediates each of the aspects
119
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Support for Collaborationmedia type: views + functionality + adaptation + presentation
Active media types: in parallelopen(content); inform(proprietor, usage)
Self-protecting media types: content based on queries and supported view
protocol: contact(proprietor,possessor, usage);obtain(proprietor,token); provide(media type, token)
Communication protocols based on service (distributed ADT), signals, shared
variables, sender/reponder ASM (signature (e.g., signal), phases (via small
ASM)), and timer
represented through SDL or message sequence chart or other protocols
Security techniques against passive/active sniffling, trust exploitation, viruses,
downloadables, OS holes, hacking
Control techniques for focusing, access, user authorization, (password)
protection, biometrics, content/concept/topic security, firewalls, hi-
ding/anonymizing/translating, identity management
Privacy enhancing techniques based on virtual private networks, key encryp-
tion, secure transaction, and corporate policy on security, privacy and control,
cookie cooker
120
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Conceptual Model for IT Service System
• Fundamental elements for developing applications;
• Organising the discrete functions contained in (business) applicati-
ons comprised of underlying business process or workflows into inter
operable, (standards-based) services;
• Services abstracted from implementations representing natural fun-
damental building blocks that can synchronise the functional requi-
rements and IT implementations perspective;
• Services to be combined, evolved and/or reused quickly to meet
business needs;
• Represent an abstraction level independent of underlying technolo-
gy.
121
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Services for Distribution:�� ��Informational Processes
Media types Services manager Competence
Raw
media
type
Exten-
sions
(unit/
or-
der)
Co-
/Ad-
hesion
Hierar-
chy
Playout Kind Com-
muni-
cation
Coor-
di-
nat-
ion
Co-
oper-
ation
Task Acti-
vity
Course
inserti-
on view
Chair
prio-
rity
order
Course-
cen-
tered
Term
order
Mac-
XSL5
Daily
re-
fresh
Deliver
only
None None Input
main
course
data
Select
or
insert
Course
nego-
tiation
view
Assis-
tant
order
Course-
cen-
tered
Work-
load
order
Mozi-
XSL5
Weekly
re-
fresh
Ex-
change
View
others
Other
assi-
stants
Assign-
ment
Accept
or
reject
... ... ... ... ... ... ... ... ... ... ...
122
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Services for Distribution:�� ��Services Characteristics
Party Organization Context
Charac-
teris-
tics
Roles Rights Rel-
at-
ions
Time
slot
Hie-
rar-
chy
Syn-
chro-
nizat-
ion
Co-
ordi-
nat-
ion
Media
types
Envi-
ron-
ment
Range
of
vari-
ation
Respon-
sible
person
Inform,
provi-
de
Insert
new,
select
Depen-
dent
(chair)
[request,
dead-
line]
none none none Last 3
terms
lectu-
res
Linux,
PC,
brow-
ser
Full
Assistant
at
chair,
assi-
gned
(cour-
se)
Nego-
tiate
Own
plan
Co-
oper-
ate,
Appro-
veBy
(chair)
[request,
mee-
ting]
none colle-
agues
∃!!assign-
ment
for
chair
Chair
sche-
dule
Linux History,
profile,
adap-
tation
... ... ... ... ... ... ... ... ... ... ...
123
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Services for Distribution:�� ��Quality requirements
• General requirements (enforced by the entire system)
• ubiquity, e.g., 7-24-60-60 frame
• security, including all aspects
• User requirements (for interactivity and distribution support)
• interpretability (meaningful content, adaptive, context-sensitive)
• consistency (of the story, of the content, of the dialogues)
• view consistency (within a media object suite)
• System requirements (applied to implementations)
• scalability (handling large system configurations as well as small)
• durability (of data)
• robustness (against any kind of (user/system) errors)
• performance (at least for usability)
124
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Current and Future State-Of-The-Art
• Services are often considered only at the implementation layer
• Services provide an added value for the user, for the application
• Distinguish between application domain description, require-
ments prescription, and information system specification
• System solutions include social systems, computation systems, and
organisational issues
• W∗H specification frame for the full description
• All W-questions can be mapped to technology in a way that the
systems developer understand the issue
• Our framework captures all requirements including the users
125
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Service Specification House
126
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Service Specification House
127
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Service Model
128
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Service Model
129
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
The Service Model
130
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Service W∗H-Specification Frameclassical rhetorical frame
Hermagoras of Temnos: Quis, quid, quando, ubi, cur, quem ad modum, quibus
adminiculis
Who, what, when, where, why, in what way, by what means
• W4: wherefore (purpose), whereof (origin), wherewith (carrier, e.g.,
language), and worthiness ((surplus) value)
• secondary characterisation W17H:
• user or stakeholder or community of practice characteristics: by
whom, to whom, whichever;
• characteristics imposed by the application domain: wherein, whe-
re, for what, wherefrom, whence, what;
• purpose characteristics characterising the solution: how, why,
whereto, when, for which reason; and
• additional context characteristics: whereat, whereabout, whither,
when.
131
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Service W∗H-Specification Frame:Resulting Tasks
(1) W4 (Purpose, Origin, Carrier, Value): critical review of application
portfolio, pre-cut of application domain (necessary, potential, never), languages
(environment), profit and motivation
(2) W17H (Community of practice): abilities, views, attention and persona-
lity, value of opinion and contribution, reliability, roles and responsibilities
(3) W17H (Specifics of application domain): expectations, quality, foci,
variations, future and evolution
(4) W17H (Specifics of solution): programs, service after roll-out, quality
and pricing, time and version management, coverage and capacity, integration,
future migration
(5) W17H (Context): environment, infrastructure, temporal constraints, inte-
gration with other solutions�� ��Application systems as socio-technical systems.
132
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Abstraction Layer Models�� ��Separation by Level of Detail
Application domain layer concerned with description of the app-
lication
Requirements acquisition layer concerned with prescription of
system requirements
Business user layer concerned with behaviour or users, their de-
mands to the system
Conceptual layer concerned with specifications (schemata) that de-
scribe the system
Implementation layer concerned with logical and physical (speci-
fications and) programs
Deployment layer concerned with introduction, usage, mainte-
nance, evolution of the system
133
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Abstraction Layer
Functionalityspecification
Structuringspecification
Distributionspecification
Dialoguespecification
Implementationlayer
Conceptuallayer
Business userlayer
Requirementsacquisition
layer
Application domainlayer
Imple-menting
De-signing
Vari-ating
Scoping
?
?
?
?
134
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
ServicesService: ⟨name⟩
Based on: general conditions
Media types: ⟨general description⟩
Raw media type : ...
Extensions: ...
Unit: ...
Order: ...
Co-/Adhesion: ...
Hierarchy: ...
Playout: ...
Services manager: ⟨general description⟩
Kind: ...
Communication: ...
Coordination: ...
Cooperation: ...
Competence: ⟨general description⟩
Task: ...
QoS : ...
135
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Context of a ServiceContext: ⟨name⟩
Media types: ...
Environment: ...
Range of variation: ...
Context in General: Enrichment by Super-Typing
Syntacticverbal context
Extra-syntacticauxiliary correlates
Media type suite,meta-information
Actors, profile,payment, ...
Potential environment, information system, scenes, tasks, roles
Intention, theme, occasion, mission, purpose
Explicit context (Story space)
Website context (provider, supporter, SW/HW stakeholder)
Pragmatical context (situational, physical environment, social, policy, time)
Current scenario, history, current environment, user, goals, particular, culture
136
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Exchange Frames for Distribution:�� ��Architecture, e.g. Database Farms
LocalDBS
Farmcontainersystem
Filter andtransfor-mationsystem
System A
Localapplications
Userinterface
Local users of A
Globalcommunicationsand farming
system
Userinterface
Global users
LocalDBS
Farmcontainersystem
System B
Filter andtransfor-mationsystem
Localapplications
Userinterface
Local user of B
as generalization of federated systems and multi-database systems
137
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Exchange Frames for Distribution:�� ��Another Architecture Supporting Distribution
Exchange support systemCommunication(asynchronous
|×| synchronous)
Media object suite management systemObject suites Association manager Consistency manager
Stub
SenderReceiver
Functionmanager
Cooperation
Working space
Organizationsmanager
Work processmanager
Versionmanager
Applicationsystemwrapper
Coordination
Coordinator
Taskmanager
�-
Exchange = Cooperation + Coordination + Communication
Collaboration system supporting groups, workspace, media object suites
138
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Exchange Frames for Distribution:�� ��Collaboration Style
supporting programs (session, user, payment management)
data access pattern (release, sharing, remote)
model of collaboration (P2P, ...)
collaboration interplay (partner, mapping, rules
Collaboration Pattern
access / configuration
event processing
synchronization
concurrent/parallel execution
139
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Typical Collaboration Pattern
Proxy collaboration: partial system copies (remote proxy, protection
proxy, cache proxy, synchronization proxy, etc.)
Broker collaboration: coordination of communication either directly,
through message passing, based on trading paradigms, by adapter-
broker systems, or callback-broker systems
Master/slave collaboration: tight replication in various application sce-
narios (fault tolerance, parallel execution, precision improvement; as
processes, threads; with(out) coordination)
Client/dispatcher collaboration: for name spaces and mappings
Publisher/subscriber collaboration (observer-dependents paradigm)
active/passive subscribers or passive with their subscription profile
Model/view/controller collaboration: e.g. three-layer architecture of
database systems
140
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Portfolio and Task SpecificationParty portfolio: ⟨party portfolio name⟩Task: ⟨general description⟩
Characterization: ⟨general description⟩Initial state: ⟨characterization of initial states⟩Target state: ⟨characterization of target states⟩Profile: ⟨profile presupposed for solution⟩Instruments: ⟨list of instruments for solution⟩Collaboration: ⟨collaboration style/pattern⟩Auxiliary: ⟨list of auxiliary conditions⟩
Execution: ⟨list of activities, control, data⟩Result: ⟨final state, target conditions⟩
Party involvement: ⟨general description⟩Role: ⟨description of role⟩Part: ⟨behavioral categories/stereotypes⟩
Collaboration: ⟨general description⟩Communication: ⟨protocols, services and exchange⟩Coordination: ⟨contracts and enforcement⟩Cooperation: ⟨flow of work⟩
Restrictions: ⟨general description⟩Party restrictions: ⟨general description⟩Environment: ⟨general description⟩
141
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Coordination ContractsContract: ⟨name⟩
Based on: general conditions
Parties: ⟨general description⟩
Proprietor: ⟨...⟩
Possessor: ⟨...⟩
Trustee: ⟨...⟩
Arbiter: ⟨...⟩
Subject matter: ⟨Media object suite⟩
Exchange: ⟨binding obligations, permissions⟩
Computation: ⟨obligations, permissions⟩
Distribution: ⟨obligations, permissions⟩
Monitoring: ⟨managers: recognizer, ⟩
⟨states, timer, constraint scanner⟩
Notification: ⟨obligations, permissions⟩
Correlation: ⟨protocols, obligations, permissions⟩
Considerations: ⟨legal conditions⟩
Enforcement: ⟨actions, termination⟩
142
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Coordination SpecificationCoordination profile: ⟨name⟩
Based on: general conditions
Formation: ⟨general description⟩
Contract: ...
Lifespan: ...
Contract variant: ...
Parties: ⟨names⟩
Organization: ⟨names, general description⟩
Infrastructure: ⟨name, general description⟩
143
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Party SpecificationParty: ⟨names⟩
Characteristics: ...
Profile: ...
Roles: ...
Rights: ...
Relations: ...
Part: ⟨general description⟩
Organization: ⟨general description⟩
Infrastructure: ⟨general description⟩
Party profile: ⟨party profile name⟩
Information demand: ⟨general description⟩
Utilization pattern: ⟨general description⟩
Specific utilization: ⟨general description⟩
Party context: ⟨general description⟩
144
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Party Group Specificationorganizations, e.g., groups:Organization: ⟨name⟩
Synchronization: ...
Stories: ...
Hierarchy: ...
Time slot: ...
Task distribution: ...
Coordination: name
Infrastructures: ⟨names⟩
145
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Making Co-Design Working: GeneralDescription
Application domain or strategic layer:
HERM (concept map (concept)),
HERM (functionality (feature)),
DistrLang (contract sketch (contract, quality criteria))
SiteLang (application story (application step))
(1) Developing visions, aims and goals
(2) Analysis of challenges and competitors
Stakeholder contract (“Lastenheft”)nowadays: Product feature catalog
146
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Making Co-Design WorkingRequirements Specification
Requirements acquisition layer:
HERM (sketch (rough type)),
HERM (business process (business step)),
DistrLang (contract opportunities),
SiteLang (story (event))
(3) Separation into system components
(4) Sketching the story space
(5) Sketching the view suite
(6) Specifying business processes
IS development and system documentation (“Pflichtenheft”)
147
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Making Co-Design WorkingUsage, Usability and Application Stories
Business user layer:
HERM (skeleton (application type)),
HERM (activity (action)),
DistrLang (media types, contract),
SiteLang (plot (theme), actors, media types)
(7) Development of scenarios of the story space
(8) Elicitation of main data types and their associations
(9) Development of kernel integrity constraints, e.g., identification constraints
(10) Specification of user actions, usability requirements, and sketching media
types
(11) Elicitation of ubiquity and security requirements
Playout system specification
148
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Making Co-Design WorkingConceptual Specification
Conceptual layer:
HERM (schema(types)),
HERM (workflow (process)),
DistrLang (service space, exchange frame),
SiteLang (story space, actors, media types, presentation)
(12) Specification of the story space
(13) Development of data types, integrity constraint, their enforcement
(14) Specification of the view suite, services and exchange frames
(15) Development of workflows
(16) Control of results by sample data, sample processes, and sample scenarios
(17) Specification of the media type suite
(18) Modular refinement of types, views, operations, services, and scenes
(19) Normalization of structures
(20) Integration of components along architecture
Conceptual schemata
149
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Making Co-Design WorkingImplementation Layer
Implementation layer:
o-r DDL (o-r schema (relation)),
PL (module) language (program, trigger, sp, ...),
Distribution specification language (distributed system
(distribution, protocol, call))
Dialog system language (presentation space (working sheet))
(21) Transformation of conceptual schemata into logical schemata, programs,
and interfaces
(22) Development of logical services and exchange frames
(23) Developing solutions for performance improvement, tuning
(24) Transformation of logical schemata into physical schemata
(25) Checking durability, robustness, scalability, and extensibility
Program library
150
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Publications on Co-Design• Dusterhoft, A., Thalheim, B.: SiteLang: Conceptual Modelling of Internet Sites. Proc. ER’2001, LNCS 2224,
179 - 192. Application to webservices
• Feyer, Th.; Thalheim, B.: E/R Based Scenario Modelling for Rapid Prototyping of Web Information Services.
Proc. WWWCM’99, 253 - 263. Application to webservices generation
• G. Fiedler, H. Jaakkola, T. Makinen, B. Thalheim, and T. Varkoi. Co-design of web information systems
supported by SPICE. Information Modelling and Knowledge Bases, XX:123–138, 2009.
• Goldin, D., Srinivasa, S., Thalheim, B.: IS=DBS + Interaction: Towards principles of information system
design. Proc. ER 2000, LNCS 1920, 140 - 153. The theoretical foundation
• Klettke, M.: Reuse of database design decisions. Proc. REIS’2000, LNCS 1727, 213-224. Reuse structures
and intelligently acquire integrity constraints
• Lewerenz, J., Schewe, K.-D., Thalheim, B.: Modelling data warehouses and OLAP applications by means of
dialogue objects. Proc. ER’1999, LNCS 1728, 354-368. OLAP in a consistent, powerful and simple way
• K.-D. Schewe and B. Thalheim. The co-design approach to web information systems development. International
Journal of Web Information Systems, 1(1):5–14, March 2005.
• Schewe, K.-D.; Thalheim, B.: Towards a theory of consistency enforcement. Acta Informatica, 36, 1999, 97-141.
Instead of falling into the traps of rule triggering systems
• Steeg, M; Thalheim, B.: Conceptual Database Application Tuning. Proc. SCI’2000, 226-231. Tune instead of
normalize
• Thalheim, B.: Entity-Relationship Modelling - Foundations of Database Technology. Springer, Berlin, 2000.
The HERM “bible”
• Thalheim, B.: Logics and Database Modelling. Proc. ICLP ‘99, MIT Press, 6-21. The relationship to logics
• Thalheim, B.: Codesign of database systems and interaction - Thin and consistent UML. Proc. OTS’2000,
1-17. Codesign - the ultimate basis for best practices UML
151
InformationSystemsCo-Design
22-27.3.2014
B. Thalheim
Co-Design?
Structuring
Step-by-Step
Functionality
Interaction
Distribution
Methodology
References
Concept Topic
Content
Information
Publications on Engineering• A. Binemann-Zdanowicz. Towards generative engineering of content-intensive applications. In
Proc. Principles of Software Engineering Conference (PRISE 2004), pages 41–49, 2004.
• A. Dahanayake and B. Thalheim. Continuous database engineering. Int. Journal Business Inf.
Syst. (IJBIS), 13(2):133–150, 2013.
• K.-D. Schewe and B. Thalheim. Component-driven engineering of database applications. In Mar-
kus Stumptner, Sven Hartmann, and Yasushi Kiyoki, editors, Third Asia-Pacific Conference on
Conceptual Modelling (APCCM2006), volume 53 of CRPIT, pages 105–114, Hobart, Australia,
2006. ACS.
• P. Schmidt and B. Thalheim. Towards ASM engineering and modelling. In Proc. ASM07, pages
191–210, 2007.
• B. Thalheim. Towards component engineering for large database applications. In CAiSE ’03,
CEUR Workshop, number 74, pages 217 – 220, 2003.
• B. Thalheim. Conceptual modeling in information systems engineering. In J.Krogstie and
A. Lothe, editors, Challenges to Conceptual Modelling, pages 59–74, Berlin, 2007. Springer.
• B. Thalheim. Engineering database component ware. In TEAA’06 post proceedings, LNCS
4473, pages 1–15, Berlin, 2007. Springer.
152