4.2 UML Class diagram

From Geostandards

Jump to: navigation, search

4.1 Introduction

4.1.1 Goal and scope of course
4.1.2 Pre-requisites: knowledge of OO-modeling, DBMS DDL/SQL and/or XML schema, specific domain/theme
4.1.3 Introduction of participants & teachers
4.1.4 Tools
4.1.5 Organization of course
4.1.6 Course reading material
4.1.7 Purpose IM: 1. enable communication, 2. built system
4.1.8 Inventory of participants' most favorite domains/themes

4.2 UML Class diagram

4.2.1 Basic principles
4.2.2 Advanced principles

4.3 Hands-on 1: basic tools

4.3.1 Explanation of initial model assignment
4.3.2 Create UML class diagram for model with 3 or 4 classes
4.3.3 Define database tables for these objects (by hand)
4.3.4 Create XML schema for these objects (by hand?)
4.3.5 Evaluation of the results
4.3.6 Use of Enterprise Architect

4.4 Frameworks

4.4.1 OGC/ISO/CEN/NEN
4.4.2 Focus on INSPIRE Generic Conceptual Model
4.4.3 GII context
4.4.4 Generic aspects: id's, references, time,etc
4.4.5 Reusable model patterns:
4.4.5.1 Topology (linear networks, partitions)
4.4.5.2 Observation data - resulting objects
4.4.5.3 Spatial object - relationship - person
4.4.6 Generic models, e.g. the 34 themes of INSPIRE

4.5 Methodology

4.5.1 User requirements, use cases
4.5.2 Inventory of available related data sets
4.5.3 Analyze the differences (data components, checklists)
4.5.4 Take initial decisions and develop model:
4.5.4.1 UML class diagram (with attributes, associations)
4.5.4.2 F&A catalogue with descriptions
4.5.4.3 Specific data types (enummerations, code lists and values)
4.5.5 Cost-benefit analysis
4.5.6 Review with stakeholders (and revise if needed)
4.5.7 Test model, develop prototype data (and revise if needed)

4.6 Example Information Model

4.6.1 xx
4.6.2 Real world example from INSPIRE cadastral parcels
4.6.3 Link to ISO 19152 LADM
4.6.4 In total 8 Categories of use cases identified
4.6.5 Closer look at 2 use cases
4.6.6 Check list with summary of all use cases
4.6.7 Conflicts of interest, feasibility
4.6.8 Vision within a model (growing options)
4.6.8.1 Optional elements (objects, attributes, associations,...)
4.6.8.2 Advanced geometries (3D, non-linear,...)
4.6.8.3 Multi-scale/representations vs. vario-scale

4.7 Hands-on 2: own model

4.7.1 Identify and create two use case descriptions
4.7.2 Go over the data components and describe needs
4.7.3 Explore information content
4.7.4 Analyze differences between needs and availables
4.7.5 Develop UML class diagram for your UML model

4.8 Implement the model

4.8.1 OMG MDA principles PIM, PSM
4.8.2 Generate implementations
4.8.3 Generic PIM - Specific PIM
4.8.3.1 - PSM1 (PostgreSQL/PostGIS) - SQL/DDL
4.8.3.2 - PSM2 (XML/GML schema) - XSD
4.8.3.3 - PSM3...
4.8.4 Run SQL/DDL within DBMS to set up model, load/create data
4.8.5 Generate XML/GML according to XSD

4.9 Adding more semantics

4.9.1 Add business rule, i.e. constraints on the data within the model
4.9.2 Classification main categories of constraint types
4.9.3 Describe in natural text using the literal entities from UML class diagrams (classes, attributes, associations)
4.9.4 Formalize the constraints into OCL (object constraint language)
4.9.5 Implementation/use of constraints ? non trivial
4.9.6.1 DBMS: either constraints views selection violations or triggers and procedures (heavy transform)
4.9.6.2 XML/XSD: literal encoding of OCL string

4.10 Hands-on 3: convert model

4.10.1 Convert model from hands-on 1 to SQL/DDL
4.10.2 Load the script into the DBMS
4.10.3 Insert data and perform some queries
4.10.4 Convert model to XML schema and inspect resulting XSD
4.10.5 Create XML data document from DBMS export to XML
4.10.6 Validate XML data against XML schema (optional)
4.10.7 Same steps as above but now for own model of hands-on 2 (with spatial data), manual corrections...

4.11 Conclusion

4.11.1 Summarize main points
4.11.2 Presentation of participants' hands-on result
4.11.3 Additional tips&tricks
4.11.4 National modeling activities (NEN3610+IMxx)
4.11.5 Discussion on model mapping
4.11.6 Further reading/studying
4.11.7 Evaluation by participants


The class diagram is one of several (13) types of diagrams that are part of UML. Each separate type of diagram is designed to fulfill specific modeling requirements. These requirements can basically be devided into two groups: diagrams for functional or behavioral information (processes) and diagrams for structural and semantic information.

It should be noted that UML basically is designed to model software or ict systems.

The following figure presents a quick overview of diagrams and their specific use:


Image:13UMLdiagramsLR.jpg </br>

remark: todo. Present 1 example per diagram type.


Proces oriented:

- use-case diagram:

Shows the relation between a system and external users (actors)

- activity diagram:

Model of activities and products describing for example one or more workflows within a system

- state machine diagram

Describes the roles objects can have within their lifecycle

- sequence diagram and communication diagram

Shows sequence in time of activities, actions, messages

- interaction overview diagram

Shows an instance of the activity diagram

- timing diagram

Interaction between object in time


Structure oriented:

- class diagram

Model of the structure of a system

- object diagram

Shows relations between instances (objects)

- component diagram

Models the complete system in different components

- composite structure diagram

?

- deployment diagram

not relevant for geo domain modelling (?)

- package diagram

Structuring of classes in groups (packages). Relations between packages are modeled in a package diagram.


The following two figures show an overview of the several UML types of diagrams.


Proces (behaviourial) oriented

Image:UML-BehaviourLR.jpg


Structure oriented

Image:UML-StructureLR.jpg


UML Diagrams used in this course.

For the purpose of this course, geo-information modelling, we will make use of:

Use case diagrams: to describe the overall objective of arriving at harmonized data-specifications;

Class diagrams: at the heart of the data-specifications is the information model formalized in the class diagram;

Package diagrams: to group (part of) models into separate packages.

previous Information modeling next