Objektorientierte Konzepte in der Softwaredokumentation
description
Transcript of Objektorientierte Konzepte in der Softwaredokumentation
Objektorientierte Konzepte in der Objektorientierte Konzepte in der Softwaredokumentation Softwaredokumentation
Referent: Marcus Budzyn
Studiengang: Technische Informatik
Oberseminar „Softwaredokumentation“
Juli 1998
weiter
2
zurück
Objektorientierte Konzepte in der Objektorientierte Konzepte in der Softwaredokumentation Softwaredokumentation
Einleitung Terminologie objektorientierter Systeme Objektorientierte Softwaredokumentation Dokumentationswerkzeug “DOgMA” Kritische Anmerkungen Literaturhinweise Fragen
weiter
3
zurück
Einleitung (1)Einleitung (1)
Bisher: Objektorientierte Programmierung
Vorteile:Hohe Wiederverwendbarkeit von Software-komponenten
Aber:Extensive Wiederbenutzung von Software-komponenten erhöht den Stellenwert derDokumentation
weiter
4
zurück
Einleitung (2)Einleitung (2)
Lösungsvorschlag: Anwendung des objektorientierten Konzepts auch auf die Softwaredokumentation“..we suggest applying object-oriented technology to the documentation, too”aus “Object-Oriented Documentation”, Sametinger 1994
Vorteile:
• Teile der Dokumentation werden wiederverwendet• Ansprüche verschiedener Lesergruppen der
Dokumentation werden berücksichtigt(z.B. Wiederverwendung und Wartung)
weiter
5
zurück
Terminologie objektorientierter Terminologie objektorientierter Systeme (1)Systeme (1)Objekte:Eine laufende OO-Software besteht aus
Objekten, die Struktur und Verhalten besitzen.
Bsp.: Rechteck• Struktur: Höhe, Breite• Verhalten: Zeichne, Lösche, Rotiere
Zeichne Höhe = 5 cmBreite = 7 cmWinkel = 00Lösche
Rotiere
Rechteck
weiter
6
zurück
Terminologie objektorientierter Terminologie objektorientierter Systeme (2)Systeme (2)Klassen, Methoden:
Quelltext eines OO-Softwaresystems besteht aus Klassen, welche
• Struktur (Variablen) und • Verhalten (Methoden) definieren.
Objekte gleicher Struktur und Verhaltens sind in einer Klasse beschrieben.
weiter
7
zurück
Terminologie objektorientierter Terminologie objektorientierter Systeme (3)Systeme (3)Vererbung:
Eine Klasse kann Verhalten und Struktur von einer anderen Klasse erben und zusätzlich erweitern bzw. modifizieren.
Bsp.:
Rechteck
Superklasse Basisklasse
Abgeleitete Klasse,Subklasse
Form
Kreis
weiter
8
zurück
Terminologie objektorientierter Terminologie objektorientierter Systeme (4)Systeme (4)Klassenbibliotheken/Anwendungsrahmen:
Wiederverwendung von Klassen wird Teil der OO-Softwareentwicklung
Folgerung:
Es entstehen Sammlungen stark wieder-
verwendbarer Klassen, genannt Klassen-bibliotheken.
Klassenbibliotheken, die ein Anwendungsgerüst definieren, werden Anwendungsrahmen
genannt.
weiter
9
zurück
Terminologie objektorientierter Terminologie objektorientierter Systeme (5)Systeme (5)Information hiding:
Klassen (wie auch Module) unterstützen das Information hiding, d.h. Variablen und Methoden können im Zugriff beschränkt werden.
Zugriffsbeschränkungen:• private (nicht öffentlich): kein Zugriff außerhalb
der Klasse• protected (geschützt): zugreifbar in
abgeleiteten Klassen• public (öffentlich): zugreifbar von Clients
der Klasse
weiter
10
zurück
Terminologie objektorientierter Terminologie objektorientierter Systeme (6)Systeme (6)Wiederbenutzer:
Programmierer, die existierende Klassen in ihrem Programm verwenden (eine Instanz der Klasse deklarieren) oder Subklassen existierender Klassen implementieren, werden Wiederbenutzer genannt.
Implementierungsdetails der verwendeten Klasse sind für den Wiederbenutzer nicht interessant
andere Anforderungen an Dokumentationals “Wartungsprogrammierer”
weiter
11
zurück
Objektorientierte Objektorientierte Softwaredokumentation (1)Softwaredokumentation (1)
Programmierer muß nur Erweiterungen und
Veränderungen im Quelltext (be)schreiben
OO-Softwaresysteme sind Erweiterungen von
Klassenbibliotheken oder Anwendungsrahmen
Das gleiche Prinzip soll auch für die
Dokumentation angewendet werden! !
weiter
12
zurück
Objektorientierte Objektorientierte Softwaredokumentation (2)Softwaredokumentation (2)
Übersicht
Übersicht
BeschreibungKlasseninterface
BeschreibungJobinterface
BeschreibungKlassen-
implementation
Beschreibung Job-
implementation
statisch
dynamisch
Übersicht externe Ansicht interne Ansicht
weiter
13
zurück
Objektorientierte Objektorientierte Softwaredokumentation (3)Softwaredokumentation (3)
RechteckFormObjektMethoden: Vergleiche Drucke Zeichne Bewege
Softwareentwicklung
Kurzbe-schreibung
Voraus-setzungen für die Benutzung
Speichernin Dateien
Wartungs-informationen
RechteckFormObjektAbschnitte:
Dokumentation
weiter
14
zurück
Objektorientierte Objektorientierte Softwaredokumentation (4)Softwaredokumentation (4)
Kurzbe-schreibung
Voraus-setzungen für die Benutzung
Speichernin Dateien
Wartungs-informationen
RechteckFormObjektAbschnitte:
public = öffentlichprotected = geschützt
private = nicht öffentlich
• public: Wie wird die Klasse benutzt• protected: Wie werden Subklassen gebildet• private: Implementierungsdetails
weiter
15
zurück
Dokumentationswerkzeug Dokumentationswerkzeug “DOgMA”“DOgMA”
File Edit ProjectDOgMA3:
Displayed Text: class DProjectComment: The abstract class Document File: /home/local/ET++/manTest/Inheritance: DProject, HyperProject,
Windows and Icon
Each Document has a main window. The main window must be created by the methodDoMakeWindows and is added to the document‘s list of windows in the instvarThe layout of the main window usually
ChangeAllCmdChapterItemCommentItem
Editable Classes (58)
ChangeAllCmdChapterItemCommentItemCommentMark
Methods for clients (131)
Document: NameDocument: DescriptionDocument: Document Type
Documentation for Clients (19)
(Die Bedienoberfläche von DOgMA)
DProject
Document: Windows and Icon
weiter
16
zurück
Kritische AnmerkungenKritische Anmerkungen
Verfügbarkeit von OOSD-Werkzeugen Akzeptanz
Wie schnell wird OOSD standardisiertAkzeptanz
Ist „Umerziehung“ der Programmierer möglich?Akzeptanz
OOSD nicht geeignet für Benutzerdokumentation
(OOSD = Objektorientierte Softwaredokumentation)
weiter
17
zurück
LiteraturhinweiseLiteraturhinweise
„Object-Oriented Documentation“
Johannes Sametinger
The Journal of Computer Documentation
Volume 18 Number 1 January 1994
Ergänzungen:
Brad Mehlenbacher, Craig Boyle, Edmond H. Weiss (Ph. D)
The Journal of Computer Documentation
Volume 18 Number 2 May 1994
Mary Elizabeth Raven/Richard Thomson
„Can Principles of Object-Oriented System Documentation Be Applied to User Documentation?“
The Journal of Computer Documentation
Volume 18 Number 1 January 1994
weiter
18
zurück
FragenFragen
Die letzte Gelegenheit...
... um Unklarheiten zu beseitigen