Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from...

54
Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at the Unit for Digital Documentation, University of Oslo and from Martin Dörr and Stephen Stead, CIDOC-CRM SIG) Köln 4. Februar 2016

Transcript of Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from...

Page 1: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Softwaretechnologie für FortgeschritteneTeil Eide

Stunde V: Modelling

(with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at the Unit for

Digital Documentation, University of Osloand from Martin Dörr and Stephen Stead,

CIDOC-CRM SIG)

Köln 4. Februar 2016

Page 2: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Reminder: Event centric data model

source recording result

Event”recording”

Types– Photographing– Repro– Copying– Scanning

Media object

Types– Analogue negative– Analogue positive– Digital photo– Digital copy – ….

Person PlaceTime span

when performed by where

Source of Results in

Media object

Types– External– Analogue negative– Analogue positive– Digital photo– Digital copy– ….

Page 3: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Reminder: Data model (example)

Separation between “information object” and “information carriers”

Event 1Camera, 1966

media_unit a negative film

media_unit b paper positive

media_unit cfile from scanner

media_unit dfile

Event 2Copying, ?

Event 3Scan, 1997

Event 4Resizing, 2004

media_group

(information object)

Is carrier of

disciplinecataloguing

disciplinecataloguing

Page 4: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Remember: Database

Common schema• media_group

– id– process_xml– tech_metadata

• media_unit– tech_metadata– default {0, 1}

• schema_setup– process_spec– delete_limit

• process– process_spec– status {0, 1, 2, 9}

Discipline schema 2• image_card

– media_group_id– concent_metadata

• subject specific tables

Discipline schema 1• image_card

– media_group_id– concent_metadata

• subject specific tables

Page 5: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Which discipline?

Page 6: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Which discipline?

Page 7: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Which discipline?

Page 8: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Which discipline?

Page 9: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Identical photographs?

Page 10: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Which discipline?

Page 11: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Which discipline?

Page 12: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Which discipline?

Page 13: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Event centric data model

Media Object A

Type: Digital copy”Skrik”

Media Object B

Type: Digital copi:”The Imsdal man”

Source for

Source for

Event

Type:Use of photoshop

Media Object D

Type: Collage”The Imsdal man Meets Munch”

Person PlaceTimespan

when Performed by when

Results in

Page 14: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Date model, concepts and things

Media group-unit AInformationObject

”Skrik”

Media Object AType: Digital copy

Based on

Media group- unit BInformationObject

”The Imsdal man”

Media Object BType: Digital copy

Media Object CType: Digital copy

Media group-unit CInformationObject

”The Imsdal man Meets Munch”

Physical thing

Conceptual object

Conceptual object

Page 15: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Model of vs. model for

Page 16: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Modelling strategies: examples

• Modelling for production– Computer science – e.g. UML– Digital Humanities – e.g. TEI

• Modelling for understanding– Digital Humanities– (Humanities, natural sciences, …)

• Modelling for data integration– Computer science – e.g. Semantic Web– Digital Humanities – e.g. TEI– Cultural heritage – e.g. CIDOC-CRM

Page 17: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

17

Introducing CIDOC-CRMHistorical Archives…

Type: TextTitle: Protocol of Proceedings of Crimea Conference Title.Subtitle: II. Declaration of Liberated Europe Date: February 11, 1945Creator: The Premier of the Union of Soviet Socialist Republics The Prime Minister of the United Kingdom The President of the United States of AmericaPublisher: State DepartmentSubject: Postwar division of Europe and Japan

“The following declaration has been approved:The Premier of the Union of Soviet Socialist Republics, the Prime Minister of the United Kingdom and the President of the United States of America have consulted with each other in the common interests of the people of their countries and those of liberated Europe. They jointly declare their mutual agreement to concert… ….and to ensure that Germany will never again be able to disturb the peace of the world…… “

DocumentsMetadata

About…

Page 18: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

18

Images, non-verbose…

Type: ImageTitle: Allied Leaders at Yalta Date: 1945Publisher: United Press International (UPI)Source: The Bettmann ArchiveCopyright: CorbisReferences: Churchill, Roosevelt, Stalin Photos, Persons

Metadata

About…

Page 19: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

19

Places and ObjectsTGN Id: 7012124Names: Yalta (C,V), Jalta (C,V) Types: inhabited place(C), city (C)Position: Lat: 44 30 N,Long: 034 10 EHierarchy: Europe (continent) <– Ukrayina (nation) <– Krym (autonomous republic)Note: …Site of conference between Allied powers in WW II in 1945; ….Source: TGN, Thesaurus of Geographic Names

Places, Objects

About…

Title: Yalta, Crimean PeninsulaPublisher: Kurgan-LisnetSource: Liaison Agency

Page 20: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

20 20

The Integration Problem (1)

• Problem 1: identification of things– Actors, Roles, proper names:

• The Premier of the Union of Soviet Socialist Republics Allied leader, Allied power Joseph Stalin….

– Places• Jalta, Yalta • Krym, Crimea

– Events• Crimea Conference, “Allied Leaders at Yalta”,“… conference between Allied

powers” “Postwar division”– Objects and Documents:

• The photo, the agreement text

Page 21: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

21 21

• Problem 2: hidden (implicit) entities (typically under “title”)– Actors

• Allied leader, Allied power– Places

• Yalta, Crimea– Events

• Crimea Conference, “Allied Leaders at Yalta”,“… conference between Allied powers” “Postwar division”

• Solution:– Make better metadata structures: but what are the

relevant elements?

The Integration Problem (2)

Page 22: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

22

Explicit Events, Object Identity, Symmetry

P14 performed

P11 participated in

P94 has created

E31 Document“Yalta

Agreement”

E7 Activity

“Crimea Conference”

E65 Creation Event*

E38 Image

P86 falls within

P7 took place at

P67 is referred to by

E52 Time-SpanFebruary 1945

P81 ongoing throughout

P82 at some time within

E39 Actor

E39 Actor

E39 Actor

E53 Place7012124

E52 Time-Span1945-02-11

Page 23: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

23

The Intellectual Role of the CRM

Legacy systems

Legacy systemsData

basesWorld Phenomena

?

Data structures &Presentation models

Conceptualization

abstracts fromapproximates

explains,motivates

organize

refer to

Data in various forms

Page 24: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

24

Top-level classes useful for integration

participate in

E39 Actors

E55 Types

E28 Conceptual Objects

E18 Physical Thing

E2 Temporal Entities

E41

App

ella

tions

affect or / refer to

refer to / refine

refe

r to

/ id e

nti fy

location

atwithin E53 PlacesE52 Time-Spans

Page 25: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Event centric data model

Media Object A

Type: Digital copy”Skrik”

Media Object B

Type: Digital copi:”The Imsdal man”

Source for

Source for

Event

Type:Use of photoshop

Media Object D

Type: Collage”The Imsdal man Meets Munch”

Person PlaceTimespan

when Performed by when

Results in

Page 26: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

26

Visual Content and Subject

E24 Physical Man-Made Thing

E55 Type

E1 CRM Entity P62 depicts

(is depicted by)

P62.1 mode of depiction

P65 shows visual item (is shown by)

E36 Visual Item

P138 represents(has representation)

E73 Information Object

E38 Image

P67 refers to (is referred to by)

E84 Information Carrier

P128 carries (is carried by)

P138.1 mode of depiction

E37 Mark

E34 Inscription

Page 27: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

Date model, concepts and things

Media group-unit AInformationObject

”Skrik”

Media Object AType: Digital copy

Based on

Media group- unit BInformationObject

”The Imsdal man”

Media Object BType: Digital copy

Media Object CType: Digital copy

Media group-unit CInformationObject

”The Imsdal man Meets Munch”

Physical thing

Conceptual object

Conceptual object

Page 28: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 0. UML 2.0 (2003 / 04 ff.)

28

UML ist eine Sammlung von "graphischen Sprachen", d.h. Regelsystemen für die Konstruktion graphischer Schemata, die:unterschiedliche Perspektiven von Anforderungen an Systeme und Entwürfen von Systemteilen, sowie deren Zusammenwirken darstellen,einander dabei überlappen können undunabhängig voneinander verwendet werden können.

Am wichtigsten:Klassenmodelle beschreiben den strukturellen Aufbau eines Systems,Anwendungsfallmodelle (Use Cases) beschreiben die Interaktion mit dem System aus Benutzersicht.

Page 29: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 1. Klassendiagramme

29

Objekt „Mitarbeiter“(kann Attribute und Methoden haben) Programmierung

Page 30: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 1. Klassendiagramme

30

Binäre Assoziation beschreibt die Beziehungen zwischen Klassen

Page 31: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 1. Klassendiagramme

31

Multiplizität gibt an, wie viele Objekte an einer Assoziation beteiligt sein können.

Page 32: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 1. Klassendiagramme

32

Reflexive Assoziation verbindet Objekte einer Klasse miteinander.

Page 33: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 1. Klassendiagramme

33

Aggregation verbindet beliebig viele Klassen zu einer übergeordneten.

Page 34: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 1. Klassendiagramme

34

Generalisierungsbeziehung zwischen Superklasse und Subklasse.

Page 35: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 2. Anwendungsfalldiagramme

35

Das Verhalten eines Systems kann als Sammlung von Anwendungsfällen ( = use cases) beschrieben werden.

Ein Anwendungsfall beschreibt eine Klasse möglicher Interaktionen.

Konkrete Anwendungsfälle heißen auch Szenarien. ( scenario based design.)

Anwendungsfälle werden in strukturiertem Text beschrieben.

Alle möglichen Anwendungsfälle - oder ein für ein bestimmtes Teilsystem relevanter Teil - werden als Anwendungsfalldiagramm realisiert.

Page 36: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 2. Anwendungsfalldiagramme

36

Anwendungsfall als strukturierter Text (auch als Aktivitäts – oder Zustandsdiagramme)

Beispiel: "Buch an einem Selbstausleiheautomaten ausleihen"

Normallfall:1.BenutzerIn liest Ausweis in System ein; System validiert Ausweis.2. BenutzerIn wählt "Ausleihen"; System aktiviert Ausleihfunktion.3.BenutzerIn liest Buchcode ein; System identifiziert das Buch, registriert Ausleihe, deaktiviert das Diebstahletikett.

Auch Sonderfälle

Page 37: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 2. Anwendungsfalldiagramme

37

Akteur

Page 38: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 2. Anwendungsfalldiagramme

38

Anwendungsfall

Page 39: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 2. Anwendungsfalldiagramme

39

Anwendungsfall-diagramm

Page 40: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 2. Anwendungsfalldiagramme

40

Include:Bindet anderenAnwendungsfall ein, der an mehreren Stellen genutzt werden kann.

Page 41: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 2. Anwendungsfalldiagramme

41

Extend:Modelliert Varianten, die einen Basisanwendungsfall abwandeln.

Page 42: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 3. Zustandsdiagramme

42

Zustandsdiagramme modellieren das dynamische zeitliche Verhalten eines Systems.

Auch state machine state diagram

Mögliche Zustände der Objekte einer Klasse oder eines Teilsystems.

Dynamik des Systemverhaltens: Reaktionen auf äußere Ereignisse.

Page 43: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 3. Zustandsdiagramme

43

Page 44: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 4. Aktivitätsdiagramme

44

Aktivitätsdiagramme beschreiben Abläufe in einem System.

Verbinden Aktivitäten, einen Steuerfluss und Objektzustände miteinander.

Erinnern stark an traditionelle "Flussdiagramme" (und haben auch alle ihrer Nachteile).

Page 45: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 4. Aktivitätsdiagramme

45

Page 46: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 5. Interaktionssicht

46

Ziel: Darstellung der Interaktion ausgewählter Objekte in zeitlicher Folge.

Entweder als Sequenzdiagramme, die die Zeitachse in den Mittelpunkt rücken …

… oder als Zusammenarbeitsdiagramme die Objektstruktur und Aufrufe der Objekte in den Vordergrund rücken.

(Beide Diagrammtypen sind logisch äquivalent!)

Page 47: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 5. Interaktionssicht

47

Als Sequenzdiagramm …

Page 48: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 5. Interaktionssicht

48

… und als Zusammenarbeitsdiagramm.

Page 49: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 6. Paketdiagramme

49

Ziel: Aufteilung eines großen auf mehrere kleine Systeme.

Innerhalb der Pakete müssen Namen eindeutig sein – aber eben nicht zwischen Ihnen.

(Vgl. Namespacekonzept in XML.)

Page 50: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 6. Paketdiagramme

50

Page 51: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 7. Komponentendiagramme

51

Ziel: Aufteilung der Gesamtfunktionalität eines Systems auf mehrere Softwaremodule, die:

Möglichst unabhängig voneinander entwickelt / gewartet werden können.Nur über genau definierte Schnittstellen miteinander kommunizieren.

Page 52: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 7. Komponentendiagramme

52

Page 53: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 8. Verteilungsdiagramme

53

Ziel: Aufteilung der Gesamtfunktionalität eines Systems auf mehrere Hardwaremodule (Server).

Page 54: Softwaretechnologie für Fortgeschrittene Teil Eide Stunde V: Modelling (with contributions from Christian-Emil Ore, Jon Holmen, and other colleagues at.

II 8. Verteilungsdiagramme

54