1.
Part IV: Co-Design Methodology 1 Abstraction Layers Abstraction and Database Design
Remembering an Old Design Model (Zachman)
Di erent people involved Planer concerned with positioning the product, with scope Owner is interested in business deliverable and how it will be used Designer - from speci cation to ful ll the owner's expectations Builder - manages the production Subcontractor fabricates out-of-context components Dimensions What: data How: functions Where: network Who: users When: time Why: motivations
Planer Owner Designer Builder Subcontractor Data, Functions Network structurs stat. sem. dyn. sem. Roles, in- Schedule teraction, organization Strategy Entities Activities LocalisationsUser Time Motivations Scope Enterprise model System model Technical model Components
Concept abstraction Classi cation/instantiation Aggregation/decomposition Generalization/specialization Localization abstraction ?? Factor out repeated patterns Naming Parametrization p Implementation abstraction (( ))(oo) Encapsulation Hiding Mapping In database design: In database design: Structure abstraction
data abstraction data organization, data structures
Often ignored in database design: Functional abstraction
process design, functions
Completely ignored in database design: Interface abstraction
dialogues, interfaces
Co-Design : : : Part IV: Co-Design Methodology 46
Repository framework Enterprise engineering framework Enterprise framework Product framework
Co-Design : : : Part IV: Co-Design Methodology 47
Managing di erent abstraction trough mappings
1.2
The Classical Spiral Model
yet another observation
Abstraction Layers
Motivation, aims
using abstraction levels
Development of a preliminary sketch
?
Main concepts (Events, ideas, sketch)
Development of a detailed sketch
? Re ned main concepts (Szenarios, themes, predesign, skeleton) ?
Design
? Conceptional model (Processes, conceptional schema, views, scene)
Abstraction layers in our example Travel data { Traveller Employee Faculty member Project member Student ... ... { ... ...
Co-Design : : : Part IV: Co-Design Methodology 48 Co-Design : : :
Implementation
Logical?model (Programs, log. Schema, interfaces, integrated views)
Installation
? Physical model (Code, phys. schema, windows, code for integrated views)
Part IV: Co-Design Methodology
49
Codesign from the dialog side
Abstraction layer model Motivation layer
Scoping
A A
Motivation Motivation layer layer Scoping
External schemata Views HERM diagrams
Motives, ideas, tasks, work ow
Dialog side HERM dialoges Work ow spec. process spec.
A A A
Work ow process layer
Variating
? Action layer
A A
Work ow Raw schema process View layer sketch
A A A A
Raw design Story space Scene development
Operations design Business processes Architecture design Actions Conceptual design Processes Phys./Log. process design Modules
X X X XX X
Variating
A A A A
X X X XXX XX XX
A A
Action layer
A A A A A
Predesign View skeleton Conceptual design HERM views
Predesign Scenarios Scene speci cation Conceptual design Scene
Designing
? Conceptual layer
View speci cation
Designing
XX X XXX XXX
XX XXX
Dialog speci kation
Conceptual layer
Implementing
? Implementation layer
Data XX speciXcation XX X
XX XX XXX XX XX
Function speci cation
12pt]Papier ownb4,amssymb,latexsym,amstex
1.3
Implementing Scene decoration View Phys./Log. integration and dialog Imple- cooperation design mentation layer Integrated DBMS Production Views
Actors act through dialogues with the engine Data input through views Process support through supplied processes
Co-Design : : : Part IV: Co-Design Methodology 105
Actors and Dialogues
Manipulation of cient for most database applications. The approach is su data through enabled manipulation requests The approach allows to handle large-scale reactive information systems.
Co-Design : : : Part IV: Co-Design Methodology 106
Codesign from the schema side Motivation Motivation layer layer Scoping
External Schemata Views HERM-Diagrams
Motivation
Layer
Workflow Process
Motives, ideas, tasks, work ow
Data specif. HERM diagrams Work ow spec. process spec.
Work ow Raw schema process View layer sketch
Variating
Raw design Sketch Predesign Skeleton HERM schema Conceptual design HERM schema Phys./Log. data design DBMS Data Dictionary
Operations design Business processes Architecture design Actions Conceptual design Processes Phys./Log. process design Module
D i Work a l o Organization g
H
Scoping -
Layer
Action
Variating-
Layer
Layer Layer Designing- Implementing -
Conceptual Implementation
Story Space
H H
F u n c t i o n V i e w
H HH H
Story
HH
Scenario
HH
Project Area
H H H HH
Business Process
H HH H H H
Action layer
Designing
Predesign View skeleton
Business H Function H
HH H H
H H
Dialog Task
H
Dialog Scene
HH
C o m p o s i t i o n
H H Dialog Action HHHH Object H H H H
Interface Object
H H
Project Scope
HH H HH
H Elementary View H Sketch HHHH Action H
ProcessHHHH Widget
H H
Conceptual Conceptual design layer HERM views
Implementing View integration and Imple- cooperation mentation layer Integrated DBMS Views
S t r u Business c Information t u r e
H H
HH
View Unit
H H HH H H
ViewHH Operation Skeleton HHHH Intentional HH View
H H HH HH H H
HH
Module
Sketch
ViewHH Stored De nition HHHH Procedure
H H HH
Atomic Sketch
H H View Skeleton HHHConstructor
HERM Query
H H
H H
Coarse Type
SchemaHHHH Relational Query
H
H H
HERM Type
Planer Owner Developer Designer
Conceptual
H H
Relation Attribute
Builder
Logical
Integration of co-design via the role perspective of the pyramid: Co-design requires integration of structures and processes processes and dialogues
Co-Design : : : Part IV: Co-Design Methodology 107
Application Enterprise
structures and views views and dialogues System Area Model Model dialogues and manipulation
Model
Model
Co-Design : : :
Part IV: Co-Design Methodology
108
Motivation
Layer
Workflow Process
Layer
Action
Layer
Conceptual
Layer
Implementation
Layer
Motivation
Layer
Workflow Process
Layer
Action
Layer
Conceptual
Layer
Implementation
Layer
Scoping D i a l o g F u n c t i o n Work Organization
H H HH H
Variating
Designing
Implementing -
Scoping
6C
Story Space Story
HH H Business HH H Process H H H
H H
Scenario Dialog Task
HH
HH
H H
Tools Currently Available (Isolated)
HH H
o m p o s i t i o n
D i Work a l Organization o g
H
Variating
Designing -
Implementing -
Story Space
H H
besides the HERM approach]
Design Languages
Project Area
H H H HH
V i e w
S t r u c t u r e
The solution is to develop the schema, processes, views and dialogues stepwise using the abstraction layer model. Area Model Model Model Model
We need a number of roadmaps !!!
Co-Design : : : Part IV: Co-Design Methodology
Application
HH H Dialog H H H HH H Object H HHH H H HH HH HH H HHH H H H H H H HH HH Project Elementary H ViewHH HHH H H H H Scope Sketch HHH Action HH HH H H HHH H H H H H HH H HH H H HH H H H HHH H View View HH HH H H H H H Unit Skeleton H H H H H H H HH HH HH H H H H H H H View HHH Business Intentional Sketch HHH H H De nition HHH H Information View HH HH H HH H H H H H H HH H HH H H HH H H Atomic View HH Skeleton HHH Constructor HH Sketch H H HH HH HH HH H H HH HH Coarse HH HHH Type H H H H HH HHH H H H HHH H H H H HHH H H HH H H H HH H H HH H H HH Developer Designer H Planer Owner Builder H HH H H H H
H H
H DialogHHH H Scene H H
Business Function
Action
Interface Object Widget
H H
F u n c t i o n V i e w S t r u c t u r e
H HH H
Story
HH H Business HH H Process H H H
Scenario Dialog Task
HH H H HH
(Isolated at conceptual level)
Project Area
H H H HH H H
H H
Dialog Scene
H H HH
HH
Business Function
H H
Action
Dialog Object
H HH
Interface Object
H H H H
Process
Project Scope
HH H HH H H
Elementary ViewHH Sketch HHH Action H
H H
ProcessHHHH Widget Operation H
H HH H H
Operation
Module
Stored Procedure HERM Query
HH
View Unit
H H HH
ViewHH Skeleton HH Intentional View
HH
Module
H H H H
Business Information
H Sketch HHH
H H
View HH Stored De nition HHH Procedure View HERM Query
Atomic Sketch
HH H Skeleton HHH
Schema HERM Type
Relational Query Relation
Coarse Type
H Constructor H HH H H HH
Schema HHH Relational Query HERM Type
H H
Relation Attribute
Logical
H H
Attribute
Logical
Planer
2.1
Enterprise
System
Conceptual
Application
Several alternatives: Data-centered development
109 Co-Design : : :
Roadmaps to database design Builder Area Model Model Model Selecting one path throughModel roadmap the
2
Owner Developer
System
Designer
Enterprise
Conceptual
Part IV: Co-Design Methodology
110
HH Substitute HH H ?
Supplied Process
H HH HH H
HH
HH activate H ? H HH HH H
Interface actions Dialog actions Actions of actors Action sketch Task enable
?
human actor
Actor
Role
Dialogues
6 HH
view handler
View
6
H useHH Manipulation Request H
local
views
6
supplied views - dialogues enabled manipulation requests
6
ltration construction global
supplied processes
database - processes schema enabled processes dynamic static
Problem: view integration problem View-centered development
3. From interfaces to procedures and relational views 4. From relational views to relational schema
data manager
Interface object HERMHHH query H Dialog scene View deHnition HH H Scenario View skeleton H HH Sketch Story space H H HH Motivation H H Hprocess SketchBusiness HH H Skeleton Action HH H Conceptional schema HH Process H H Log./phys. schema Module
dialogue engine
computing engine
Problem: see mismatches above Dialog-centered development
1. Develop business information, project scope, project-area 2. From business information to the relational schema 3. From relational schema and project scope to relational views 4. From relational schema and project area to stored procedures 5. From relational schema, relational views, procedures to interfaces 1. Develop business information, project scope, project-area, work organization 2. From work organization to interfaces
Part IV: Co-Design Methodology 111
Problem: view integration problems
1. Develop business information, project scope, project-area, work organization 2. From project scope to relational views 3. From business information and relational views to relational schema 4. From project area and relational schema to procedures 5. From work organization, relational views and procedures to interfaces
Co-Design : : :
Co-Design : : :
Part IV: Co-Design Methodology
112
Abstraction-layer-driven approach
1. Develop motivation layer 2. Develop work ow process layer 3. Develop action layer 4. Develop conceptual layer 5. Develop implementation layer
Dependences of steps in the view-centered path
(str.) structure MotivationL 3 Work owL 5XX 8 ActionL 9 views dialogues functions (fct.) 1 2 4 7XX
Z Z Z
Problem: Mappings from layer to layer Solution: path through the roadmap of the pyramid Several pathes are possible: Data-centered path developing data speci cation rst Problem: behavior of dialogues requires reorganization Dialogue-centered path developing dialogue speci cation rst Problem: view integration requires reorganization Process-centered path developing process speci cation rst Problem: Optimization, normalization View-centered path developing view speci cation rst Problem: mappings Solution: use a powerful language (see above) ... what ever you want Let us consider one path and the obligations. The approach works !!
Co-Design : : : Part IV: Co-Design Methodology 113
Z Z
Z Z
XX XX X Z Z
6 (8)
Z Z
XX XXX
Z Z Z
10
11 13
14 15 16 ConcL (20d)
@ @ @
12
17 18 X X 19
@ XXXXX XX @ XX XX X
21
Z Z
20c
Z Z
Z Z Z
20d
Z Z Z Z
(22d) P P ImplemL (24d) P P
PP
22a 23
22b
Z Z Z
(21)
22c
22d
PP
PP
PP
24aX (24b) XX X 25a
B B B B
XX @ XXX XXX XX @
24d (24a)
25b
25c
25d
Co-Design : : :
Part IV: Co-Design Methodology
114
A : Motivation layer
Step 1. Speci cation of visions
2.2
View-centered development methodology
1. General visions on the application 2. Strategic information analysis 3. Actors and their actions
Step 2. Speci cation of aims, tasks and motivation
1. Speci cation of formal aims 2. Speci cation of content objectives 3. Planung of design development
Booking
6
System Edit Selection Options Object
(1,1)
Transfer Approval Allowance
Business Trip
HH
deducting
HH ?
H H HH
Traveller Data
Trip Data
Accounting Data
Traveller
(1,n)
(1,n)
HH H
applies
H
HH H
(1,1) Approval -Business trip Trip details Finance view
Traveller Data
may be split: Business Trip
Trip Data Accounting Data
Application view Allowance and report view
Co-Design : : :
Part IV: Co-Design Methodology
115
Co-Design : : :
Part IV: Co-Design Methodology
116
Step 3. Skeletal speci cation of the application
Application Trip details Booking Deduction
? ? ? -
B : Work ow Process Layer
1. Sketch of communication structure 2. Structural associations 3. View sketch 4. General functionality 5. Modularization, separation
-
Step 5. Speci cation of the view sketch
Application Trip details
? -
1. Representing main types 2. Use cases for views 3. Associations among views 4. Rei cation of the interaction diagram
-
Form lling
Approval
Endorsement
Application view
Form lling
Approval view 1
Approval
Approval view 2
Endorsement
Trip details view Approval view 3 Approval
of trip details Checking Approval view 4 Approval trip details, booking computing of deduction rates Deduction view 2 Bank transfer Deduction view 3 Transfer to cashier Deduction view 4 Counter-demand
Checking trip details, computing of deduction rates * Bank Selecting H -Transfer transfer to cashier deduction modus HH Counter-demand j Approval of trip details
Approval booking
Booking Deduction
?
Booking 1
Deduction view 1
Selecting deduction modus
H
* HH j
Step 4. Speci cation of the story space
Application Trip details Booking Deduction
? ? ? -
1. Speci cation of the general story 2. Modi cations of the story 3. Klassi cation, roles, rights, tasks of actors 4. Sketches of the main dialogues
-
Form lling
Traveller
Department head
Approval
Endorsement
Dean
(1 10) (1 1) H H H is HH H H Travel- 200 (1 ) H appliesHH (0 1) H deducted H 500 H H er HH HH (proposal) 2000 H H (1 2) (1 50) (1 30)
; ;n ; ; ; ; ;
Application view sketch
Traveller Dean Approval of trip details Case worker X
Selecting deduction modus
H
Trip Case worker X Checking Case worker Y Approval
booking
1000 5000 30000
100 Booking 200 300
* HH j
trip details, computing of deduction rates Bank transferCase worker Transfer to cashier Cassier Case Counter-demand worker
X X
Step 6. Speci cation of business processes
1. Business cases 2. Organization models 3. Business rules 4. Speci cation of the work ow
Co-Design : : :
Part IV: Co-Design Methodology
117
Co-Design : : :
Part IV: Co-Design Methodology
118
C. Action Layer
Step 7. Speci cation of scenarios
1. Speci cation of plots 2. Modelling the scenes and their associations 3. Rei cation of the main dialogues 4. Speci cation of dialogues 5. Speci cation of actions of di erent actors
Step 8. Identify major types and their associations
1. Name, de ne, diagram and document major typs 2. Name, de ne, diagram and document structural relationships 3. Name, de ne, diagram and document semantical relationships
HERM type Attribute Key (min,avg,max)-cardinality Employee (200, 500, 2000) Surname P. First names P. Living place Working place Payment category (2,5,8) Additional conditions Trip (1000, 5000, 30000) Destination P. Duration P. Reason P. (3,3,5) Companion Means of transportation (1,2,6) Booking (100, 200, 300) Faculty S1. (4,4,4) Institute (1,3,5) Chair S1. (2,6,10) Booking account P. (10,50,140) Title P., S1. (2,5,8)
Step 10. Modeling actions
1. Rei cation of tasks and business functions 2. Rei cation of functions 3. Speci cation of semantics, dynamic integrity constraints 4. Consideration of variations
Step 9. Add identi cation mechanisms to major types
Co-Design : : :
1. Identi cation in major types 2. Generalization and spezialisation hierarchies, roles 3. Identi cation in hierarchies 4. Candidates for identi cation in relationships 5. Adjoin keys to component types 6. Recursive de nition of identi cation
Part IV: Co-Design Methodology 119
Step 11. Rei cation of interaktion diagram
Co-Design : : :
1. Consideration of obligations 2. Check on completeness of views and actions 3. Speci cation of associations among dialogue tasks and scenes
120
Part IV: Co-Design Methodology
D : Conceptual Layer
Step 12. Speci cation of dialogue scenes
1. Speci cation of action phases 2. Categorization of main goals and partial goals 3. Speci cation of dialogues 4. Requirements of dialogues to views and processes 1. Categorizing actors 2. Working approaches of actors 3. Properties of presentations and e ects of actors 4. Development of presentation forms 1. Completing attribute structure 2. Completing semantics 1. Speci cation of existence constraints 2. Enforcement for insert operations 3. Enforcement for delete operations 4. Enforcement for update operations
Enforcement rules H Unconditional No enforcement enforcement H
H HH H ?
Step 16. Development of views through sample data
1. Development of sample populations 2. Modeling semantics 3. Check of structures and semantics 4. Decomposition and re-engineering of types 5. Checking samples rei cation
Step 13. Rei cation of actions of actors Step 14. Full rei cation of types Step 15. Handling of identi cation of types
Employee Surname First names Living place Working place PaymentCat AddCond Elker Helmut Berlin Cottbus C4 Gerhard Helmut Hamburg Cottbus Bat-3 : Gruba Albrecht Berlin Cottbus C3 : Holz Thomas Cottbus Cottbus Bat-1A : Horlitz Reinhard F. Regensburg Cottbus C4 Metzker Angelika Cottbus Cottbus Bat-2A : Niebergelt Brigitte Berlin Bad Saarow C4 : Scharfe Wolfgang Cottbus Cottbus Bat-1B : Wiener Gerhard Hannover Cottbus C4
H HH H
Conditional enforcement H
H
H HH j
Cascading constraints
Co-Design : : :
Null value treatment
HH j
default values
j H ? Dependening With additional on existence; modi cation conditions; Rollback predicates
HH H
Employee Trip ApplDate Surname First names Destination Duration Reason Elker Helmut Plauen 20.10 - 4.11.98 Cooperation 10.2.98 Gerhard Helmut Eberswalde 16.8.- 16.8.98 Ressource change 10.8.98 Gruba Albrecht Zurich 18.4. - 22.4.98 Conference talk 1.4.98 Gruba Albrecht Budweis 24.10. - 25.10.98 Colloquium talk 1.10.98 Holz Thomas Most 14.7. - 15.7.98 Workshop attend. 1.6.98 Horlitz Reinhard F. Plauen 30.10. - 4.11.98 Cooperation 10.2.98 Horlitz Reinhard F. Mexiko 10.7. - 16.7.98 Conference talk 1.3.98 Horlitz Reinhard F. So a 12.9. - 16.9.98 Conference talk 1.7.98 Metzker Angelika Lauchhammer 27.10 - 27.10. 98 Working group talk 1.10.98 Niebergelt Brigitte Hamburg 23.10. - 26.10.98 Conference talk 10.10.98 Scharfe Wolfgang Frankfurt 1.7. - 9.7.98 Preexcursion 1.7.98 Wiener Gerhard Beyreuth 26.10. -28.10.98 Chairing workshop 10.9.98
121 Co-Design : : : Part IV: Co-Design Methodology 122
Part IV: Co-Design Methodology
Step 17. Modular rei cation
1. Rei cation of types 2. Checking types 3. Checking hierarchies 4. Modular rei cation of units 5. Summarizing development obligations
Step 21. Integration of user views
Step 18. Validation of views through normalization
1. Validation of the attribute structure 2. Control on hierarchical decompositions 3. Control of semantical decompositions on FD's 4. Treatment of key-based and other ID's 5. Checking problematic units 6. Developing semantical decompositions with join dependencies 7. Checking operational behavior
1. Intersemantics of views 2. Combination: a. Entity types 3. Combination: b. Hierarchies 4. Combination: c. Adoption of types 5. Combination: d. Adoption of behavior 6. Combination: e. Relationship types 7. Combination: f. Attribute types 8. Normalization 9. Cooperation associations: Mapping 10. Stability analysis and extension 11. Integration of dialogues and views
Partial integration of application, endorsement, approval views
Car
6
Payment category
6 H EHasP H HH
Step 19. Developing domains
1. Domains and their characteristics 2. Semantics of domains 3. Domains for keys and integrity constraints 4. Rules for derived attributes 5. Domains in hierarchies 6. Consistency rules for consistency enforcement
H H H
Uses
HH H H
H HH H
H H
H H
DeanHH H H H Commitment H H
H H H applies HX X y H H
H H H
H DeptHH H Endorsement H
H H H
H H DeanAppr H
HH
Person
6 6
H HH ? H H j H H H H H H H H 6
Emplyoee
H H
H H
H WorksInH H H ?
H H HH
Head
HH H H
Department
6
? ? H H H H H H H H H H H H H H XX H XX H XXX XX XXX XX ? ? ? XH H H H H H H H H H H H @ HH HH J @* J @ @ R J J HH H J H H J H HH J ^ H H
Booking
Approval
Possible trip
DeptFonds
FBooking
DHasFond
Destination Transport through
H H
Step 20. Rei cation of scenes and of processes
Co-Design : : :
1. Rei cation of the dialogue scenes and development of dialogue objects 2. Rei cation of processes and development of operations 3. Solution of obligations of the interaction diagram
Part IV: Co-Design Methodology 123
H HH
DeanF
H
HH H
H HH H
FacOfDept
H HH H
Faculty
? -
H H FacHasFond H HH H
FacFonds
Co-Design : : :
Part IV: Co-Design Methodology
124
D : Orthogonal Steps
1. Analysis of requirements 2. Analysis of the network architecture 3. Development of the architecture Fragmentation of data Replication of data 4. Allocation of data and processes
E : Implementation Layer
Step 22. Transformation of conceptional views, processes, schema and scenes
1. Translation to classical DB models 2. Transformation of integrity constraints 3. Development of interface objects 4. Implementation of processes
Step i. Modeling of distribution
Step ii. Speci cation of security concepts
1. Speci cation of security views 2. Rei cation of roles 3. Optimizing availability 4. Check of con dence
Step iii. Usability
1. Speci cation of help facilities 2. User management 3. User documentation Educational material Strategies to user education 4. Utilization, adminstration management 5. Planing of integrating the system into enterprise processes 6. Maintenance and support strategies
Step 23. Performance evaluation, tuning, Redundanz
1. Considerations on optimization Major entity types Adoption to platform Enforcement rules for entity types Rules for relationship types Enforcement rules for attribute types Rules for functionality 2. Tuning of access Tune for scan e ciency Tune on the basis of clustering sequences Tune on the basis of hash mechanisms 3. Tuning of indexes Selection of keys Support of operations Adoption to the platform 4. Introduction of controlled redundancy Introduction of component copies Introduction of derived data Introduction of repeating groups Introduction of abstract types Introduction of object copies Introduction of outer joins
Part IV: Co-Design Methodology 126
Co-Design : : :
Part IV: Co-Design Methodology
125
Co-Design : : :
Step 24. Rede nition and revision of components
1. Evaluation of storage intensive components 2. Stepwise revision of component keys 3. Elimination of types 4. Adding duplikat types 5. Segmentation of types 6. Combination of Typen 7. Combination with outer join
Step 25. Performance for very large databases
1. Performance of retrieval 2. Throughput 3. Insert and delete processes 4. Checkpoints recovery 5. Administration
Step 26. Consider potential changes
1. Removal of types 2. Addition of types 3. Modi cation of types
Co-Design : : :
Part IV: Co-Design Methodology
127