Download Informationssystem-Entwicklung

Transcript
2
B. Thalheim
Preprint BTU-Informatik-I-15-2003
Kapitel 0.
Vorwort
Das Skript soll kein Theoriebuch ersetzen. Es extrahiert aus der Theorie des Entity-RelationshipModelles [Tha00] die Elemente, die für den Entwurf großer Systeme notwendig sind. Hauptziel dieses
Skriptes ist die Präsentation einer in sich geschlossenen und konsistenten Entwurfsmethode, mit der
der Entwurf großer Anwendungen noch überschaubar und nachprüfbar gestaltet werden kann.
Ad-hoc-Methoden und -Sprachen bringen meist nur in einfachsten praktischen Anwendungen Erfolg. Komplexere Anwendungen sind dagegen stets eine Herausforderung für den Entwerfer. In der
Literatur gibt es zwei Herangehensweisen. Entweder der Entwerfer2 verläßt sich auf ein Entwurfstool
und die damit propagierte Methodik oder der Entwerfer besitzt eine profunde Fachkenntnis, verfügt
über tiefgründige Kenntnisse in der Datenbanktechnologie und ist außerdem in der Lage, beliebig
abstrakt sein Wissen und seine Erkenntnisse darzustellen. Beide Zugänge haben ihre Nachteile. Ein
Werkzeug, das den ersten Zugang vollständig mit trägt, gibt es noch nicht3 . Entwerfer der zweiten
Kategorie sind selten und meist nicht zur Hand.
Das Material dieses Skriptes basiert neben der Datenbanktheorie auf umfangreichen Feldstudien
und auf der Kenntnis einer Vielzahl von Entwurfsprojekten, die mit dem System (DB)2 (später ID2 )
durchgeführt wurden4 . Die hier propagierte Methodik wurde diesem System zugrundegelegt. Eine
Vielzahl von Tips, die wir hier vorstellen, wurde aus den Projekten abgeleitet. Die hier vorgestellte
Pragmatik wurde in einer Reihe von Projekten erprobt.
Die Sprachen zum Datenbankentwurf, die wir im weiteren hier umfassend darstellen, sind auch
methodisch unterlegt worden. Es wurde eine Methodik mit einem schrittweisen Entwurf von Datenbankanwendungen herausgearbeitet. Diese Entwicklungsmethodik wurde sowohl in der Lehre und
Projekten erprobt als auch mit den Anforderungen von SPICE 2.0 validiert. Es konnte festgestellt
werden, daß unsere Entwicklungsmethodik dem SPICE Framework Stufe 3 genügt. Da nur wenige Entwicklungsmethodiken SPICE Stufe 1 erfüllen, keine andere SPICE Stufe 2 erfüllt, kann die
HERM-Methodik als die modernste und ausgereifteste Methode verstanden werden.
Ich möchte meinen Mitarbeitern und Studenten in Rostock und Cottbus und meinen Projektpartnern in Chile, Deutschland, Finnland, Indien, Jordanien, Kuwait, Neuseeland, Oman, Rußland,
Ungarn und Schweden sehr für die kritische Begleitung dieses Projektes danken. Mein Dank abschließend an meine Familie für ihre Geduld und ihre Inspiration.
Abkürzungen und Annotationen
Wir folgen den üblichen Notationen des ER-Modells, obwohl dies nicht einheitlich erscheint. So wird z.B. ein
ER-Typ mit einer Gleichung E = (Attributmenge, Semantik ) eingeführt, ein Typ im allgemeinen jedoch durch
seinen Konstruktionsausdruck der Form Name < Konstruktor >< Komponentenfolge >.
Wir verwenden Buchstaben verschiedener Alphabete mit einer Systematik:
Grundbegriffe werden mit lateinischer Schrift (z.B. T für einen Typen, f für Funktionen, dom(B) für Wertebereiche), bei Kollektionen mit kalligraphischen Buchstaben bezeichnet (z.B. ER für ein ER-Schema)
Abgeleitete Konstrukte werden mit gotischen Schrift-Typen bezeichnet: S für Sichten, C für Container.
Theorien und Umgebungen werden mit erweiterten mathematischen Schriften dargestellt. Zum Beispiel bezeichnen E eine Gleichungstheorie und S eine Sitzung.
Wir unterscheiden strikt zwischen Typen, die der Spezifikation dienen, und Klassen von Objekten eines Typs.
Klassen eines Typs werden mit einer hochgestellten Annotation bezeichnet, z.B. ist RC eine Klasse von Typ
R.
Anzumerken ist außerdem, daß wir hier den Notationen des ER-Modelles und der Datenbankliteratur
folgen wollen. In der Informatik wird unterschieden zwischen unterlegter Theorie, Spezifikationssprache und
Programm. In der Datenbankliteratur ist eine Theorie durch eine meist implizit angenommene Mengensemantik
und Prädikatenlogik gegeben. Das ER-Modell ist eine Spezifikationssprache5 . Das Datenbank-Schema ist ein
Ausdruck dieser Spezifikation und ein Analogon zum Programm.
2
Alle maskulinen Personen in diesem Skript sind Abstrakta. Sie gelten für feminine Personen mit.
Ein Ausnahme ist das im Universitätsverbund entwickelte Werkzeug RADD sein [AAB+ 98].
4
Es wurden mit (DB)2 bzw. ID2 weit mehr als 5000 große Projekte (mit mitunter mehr als 1000 Entity- und
Relationship-Typen) durchgeführt, deren Ergebnisse und deren Entwurfs- und Weiterentwicklungsgeschichte dem Author vorliegen.
3