Upload
talli
View
30
Download
0
Embed Size (px)
DESCRIPTION
Universit ät zu Köln Historische-Kulturwissenschaftliche Informationsverarbeitung Hauptseminar: Praktische Probleme rechnergestützter Editionsphilologie Prof. Dr. Thaller. UML Begleitdokumentation des Projekts. Andrea Sardo WS 2006/07. Was ist die UML?. - PowerPoint PPT Presentation
Citation preview
1
Universität zu KölnHistorische-Kulturwissenschaftliche Informationsverarbeitung
Hauptseminar: Praktische Probleme rechnergestützter Editionsphilologie Prof. Dr. Thaller
UML Begleitdokumentation
des Projekts
Andrea Sardo
WS 2006/07
2
Was ist die UML?
Die Unified Modeling Language (UML) ist eine Sprache zur Spezifikation, Visualisierung, Konstruktion und Dokumentation von Modellen für Softwaresysteme, Geschäftsmodelle und andere Nicht-Softwaresysteme..
Entwickelt wurde die UML von Grady Boch, Ivar Jacobsen und Jim Rumbaugh,von der Object Management Group (OMG) .
Der Grundgedanke bei der UML bestand darin, eine einheitliche Notation für viele Einsatzgebiete zu haben. Die UML dient der Beschreibung von:
• Datenbankanwendungen;• Echtzeitsystemen;• Grafikprogrammen;• Workflow-Anwendungen;• usw.;
Kurz gesagt: Alle Softwaresysteme sollen mit der UML darstellbar sein.
3
Was ist die UML nicht
• Die UML ist keine Methode. Sie ist lediglich ein Satz von Notationen zur Formung einer allgemeinen Sprache zur Softwareentwicklung. Eine Methode beinhaltet Empfehlungen zur Vorgehensweise bei Entwicklungsprozessen
• Die UML ist kein Software-Entwicklungsprozess... sondern beschreibt Diagramme und Notationen.
• Die UML ist kein semantisches Meta-Modell
• Die UML ist nicht als Werkzeug-Schnittstelle, Datenbank oder Laufzeitmodellgedacht.. sondern als Modellierungssprache für Menschen
• UML ist keine Visuelle Programmiersprache... sondern eine Entwurfssprache
• Das heißt, ein in der UML definierter Begriff ist kein Wort…sondern einfache geometrische Forme
4
Wie arbeitet die UML
• Die zentrale Rolle wird in der UML von den Diagrammen gespielt.
• Die UML Diagramme sind verschiedene Ansichten von der Software/Projekt
• Jedes Diagramm stellt also ein Modell dar, das ganz bestimmte Aspekte der Software zeigt
eine Software wird durch Diagramme aus verschiedenen Blickwinkeln beschrieben.
5
Diagramme
Die Diagramme lassen sich in 2 Gruppen einteilen:
• StrukturdiagrammeWas das System ist.Sie dienen zur Darstellung der statischen Architektur des Systems auf Klassen, und Objektebene, d.h. zur Darstellung der Innensicht
• VerhaltensdiagrammeWas das System macht.Sie eignen sich zur Beschreibung des Verhaltens des System, d.h. zur Modellierung der Außensicht und sind damit die Diagramme, die für eine Anforderungs-Analyse eingesetzt werden sollten.
6
Diagrammtypen
7
Unserer Fall
Wir betrachten drei sehr wichtige Diagramme von der UML:
• Klassendiagramm
beschreibt den strukturellen Aspekt in Form von
Klassen, Interfaces und Beziehungen
• Anwendungsfalldiagramm (Use case-Diagramm)
beschreibt die Funktionalität des entwickelnden
Systems aus Benutzersicht
• Sequenzdiagrammbeschreibt den zeitlichen Verlauf von Interaktionen zwischen einer Menge von Objekten innerhalb eines zeitlich begrenzten Kontextes.
8
Editionsphilologie: Klassendiagramm
9
Editionsphilologie:Anwendungsfalldiagramm
10
Editionsphilologie:Sequenzdiagramm
11
Poseidon for UML
Diese Diagramme wurden mit einem UML-Tool, Gentleware-Poseidon, entwicklelt.
Es gibt verschiedene Software, die die UML-Modellierung (auch Eclipse) ermöglichen
Außer dem Entwurf von Diagrammen, erlaubt Poseidon auch die Generation von Dokumentation und Javacode.
12
Beispiel: generierte Dokumentation
• Documentation generated with Poseidon for UMLtm• Modelle
– model 1• @author Andrea• Authors:• Andrea• public class Benutzer• Namespace: model 1• Attribute Summary: private String adresse, private Integer id, private String name,• private String password, private String typ• Method Summary: public public anmelden(),private void bereitStellen()• Association Summary: Benutzer To Anmeldung • Own Association End Summary: Benutzer • Opposite Association End Summary: Anmeldung • Attribute Detail:• adresse• private String adresse• Multiplicity: 1• Ordering: unspecified
13
Beispiel: generierter Javacode
•• public class Text {
• /** * <p>Represents ...</p> * */• public String autor;
• /** * <p>Represents ...</p> * */• public String titel;
• /** * <p>Represents ...</p> * */• private int edition;
• /** * <p>Represents ...</p> * */• private int jahr;
• /** * <p>Represents ...</p> * */• private int documentID;• /** * * */• public Suche suche;• /** * * */• public Bereitstellung bereitstellung;• /** * * */• public Fenster fenster;
• /** * <p>Does ...</p> * */• public void speichern() { • // your code here• }
• }
/** * * */public class administrator extends Benutzer {
/** * <p>Does ...</p> * */ public void dataSichern() { // your code here }
/** * <p>Does ...</p> * */ public void benutzerVerwaltung() { // your code here } }