Theorie zu Übung 1 Grundlagen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Theorie zu Übung 1 Grundlagen"

Transkript

1 Universität Stuttgart Institut für Automatisierungstechnik- und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 1 Grundlagen Identifikation von Objekten und Klassen Die Erstellung eines Klassenmodells erfordert die Identifikation der Klassen, die in dem zukünftigen System vorhanden sein sollen. Darin liegt die Hauptarbeit beim Design eines objektorientierten Systems. Die richtigen Klassen zu identifizieren ist von zentraler Bedeutung für die Entwicklung von erweiterbarer und wiederverwendbarer Software. 1. Wodurch wird ein Klassenmodell gut? Letztlich gibt es zwei Zielsetzungen, die erreicht werden sollen: Jegliches Verhalten, das vom System verlangt wird, muss auf vernünftige Weise von Objekten der ausgewählten Klassen zur Verfügung gestellt werden. Ein gutes Klassenmodell besteht (so weit wie möglich) aus Klassen, die dauerhafte Klassen von Objekten des Problembereichs (Domainobjekten) repräsentieren. Diese beruhen nicht auf der speziellen Funktionalität, wie sie heute verlangt ist. Zu jedem Bibliothekssystem werden beispielsweise Bücher gehören; es ist also sinnvoll, eine Klasse Buch zu haben. (Beachten Sie, dass Namen wichtig sind: Viel weniger klar wären etwa Namen wie WortetragendesPapierArtefact oder B.) 2. Wie erstellt man ein gutes Klassenmodell? Prinzipiell können Sie jede Technik nutzen, die Sie wollen, um zu Ihren Klassen zu kommen; alles ist recht, auch die göttliche Eingebung, wenn dabei ein Klassenmodell herauskommt, das nach den gegebenen Kriterien gut ist. Andererseits ist es auch so, dass sich niemand dafür interessiert, welch wundervolle Methode Sie zur Erstellung Ihres Klassenmodells genutzt haben, wenn es schlecht ist (d.h. die Kriterien nicht erfüllt). Als Erstes und am einfachsten werden Sie wohl die wichtigsten Fachklassen (Klassen der Objekte des Problembereichs) identifizieren - das sind die Objekte, die zum Problem selbst gehören, im Gegensatz zu denen, die Sie selbst eingeführt haben, um das Problem zu lösen. Bei den anderen Klassen, die weniger offenbar Objekten des Problembereichs entsprechen, ist es schwieriger, sie mit Sicherheit zu identifizieren.

2 Info II - Grundlagen der Softwaretechnik Übung 1: Grundlagen 2 Die Technik der Hauptwortidentifikation (noun identification technique) Sie gehen bei dieser Technik in zwei Schritten vor: 1. Identifizieren Sie alle vermeintlichen Klassen, indem Sie in einer Anforderungsspezifikation des Systems alle Hauptwörter und Hauptwort- Ausdrücke heraussuchen. (Nehmen Sie die Formen im Singular und nehmen Sie keine Ausdrücke mit oder" als einzelne Kandidatenklasse auf). 2. Streichen Sie daraus alle vermeintlichen Klassen, die aus irgendeinem Grund nicht passen, und benennen Sie, wo erforderlich, die verbliebenen Klassen um. Die folgenden Punkte listen Gründe auf, warum vermeintliche Klassen als ungeeignet ausgeschlossen werden. Sie sind ungeeignet, wenn sie redundant sind, d.h. wenn die gleiche Klasse mehr als einen Namen bekommt. Zu beachten ist hierbei allerdings, dass ähnliche Objekte nicht unbedingt völlig gleich sein müssen. Sie müssen selbst entscheiden, ob der Unterschied groß genug ist, um unterschiedliche Klassen zu rechtfertigen. Unter diesem Punkt würden wir beispielsweise auch Begriffspaare wie Entleihe und Kurzzeitentleihe zusammenfassen - sie sind unterschiedlich, aber vermutlich nur in den Werten einiger Attribute. Wählen Sie einen Namen für die Klasse, der alle Beschreibungen umfasst, die Sie aufnehmen wollen. vage sind, d.h. es ist nicht ganz klar, was mit dem Hauptwort gemeint ist. Eine derartige Unklarheit müssen Sie natürlich beseitigen, bevor Sie eine Aussage darüber treffen können, ob das Hauptwort eine Klasse darstellt. ein Ereignis oder eine Operation darstellen. Dabei bezieht sich das Hauptwort auf etwas, was mit, durch oder in dem System geschieht. Manchmal wird so etwas durch eine Klasse ganz gut abgebildet, das ist aber nicht der Normalfall. Metasprache sind; d.h. die Hauptwörter sind Teil der Sprache, mit der Sachen definiert werden. Beispielsweise werden die Hauptwörter Anforderung oder System als Teil der Sprache benutzt, mit der das Modell beschrieben wird, statt damit Objekte des Problembereichs darzustellen. nicht direkt zum System gehören. Dies trifft dann zu, wenn das Hauptwort zwar benötigt wird, um zu beschreiben, wie das System funktioniert, aber sich nicht direkt auf etwas im System bezieht. Namen von Akteuren werden durch diese Regel oft ausgesondert, wenn es keine Notwendigkeit gibt, sie im System zu modellieren. ein Attribut ist. Dabei ist es klar, dass sich das Hauptwort auf etwas ganz Einfaches ohne interessantes Verhalten bezieht und damit ein Attribut einer anderen Klasse ist. (name bei einem Bibliotheksmitglied ist so ein Beispiel.) Nicht immer ist in dieser frühen Phase der Analyse eine eindeutige Entscheidung möglich, ob eine vermeintliche Klasse für das System relevant oder nicht erforderlich ist. Durch die weitergehende Betrachtung des Systems (Festlegung der Assoziationen zwischen den einzelnen Klassen, CRC-Karten, Anwendungsfälle) löst sich die Frage, welche Klassen in ein konzeptionelles Klassenmodell gehören, meist ganz von selbst.

3 Info II - Grundlagen der Softwaretechnik Übung 1: Grundlagen 3 3. Was alles ist eine Klasse? Eine Klasse beschreibt eine Menge von Objekten mit gleichwertiger Rolle oder Rollen in einem System. Objekte und ihre Klasseneinteilung leiten sich oft aus einer der folgenden Quellen her: greifbare Dinge oder Stücke aus der Realität: Buch, Kopie, Kurs Rollen: Bibliotheksangehöriger, Student, Studienleiter Ereignisse: Ankunft, Weggang, Anfrage Interaktionen: Meeting, Zusammenkunft Diese Kategorien überschneiden sich und die ersten beiden sind viel eher übliche Quellen für Objekte und Klassen als die letzten zwei. Wurden erst einmal Objekte identifiziert, die in die ersten beiden Kategorien fallen, dann helfen die anderen beiden vielleicht dabei, Assoziationen zwischen ihnen zu finden und zu benennen. 4. Objekte der realen Welt und ihre Abbildung im System Man darf nicht vergessen, dass Objekte Dinge in einem Computerprogramm sind. Wenn wir über Buch und Exemplare sprechen, meinen wir genau genommen die Repräsentation dieser Dinge innerhalb unseres Systems. Infolgedessen müssen wir aufpassen, dass wir keine Information aufzeichnen, die für unser System definitiv irrelevant ist. den Blick darauf nicht verbauen, dass die Objekte das System sind! Dieser zweite Punkt ist besonders interessant! Ein klassischer Fehler bei Personen, die mit Objektorientierung noch nicht so vertraut sind, ist der, dass sie eine Klasse erfinden, meist als [lrgendwas-]system benannt, die für sich allein schon das gesamte interessante Verhalten des Systems implementiert. Aber in 00 ist alles das System - darauf kommt es an! Es passiert sehr leicht, in ein monolithisches Design abzugleiten, in dem es nur ein Objekt gibt, das alles weiß und alles kann. Das ist schlecht, weil solche Designs sehr schwer zu warten sind. Sie neigen dazu, Annahmen darüber in sich eingebaut zu haben, wie das System eingesetzt werden wird. [Quelle: P. Stevens; R. Pooley, UML - Softwareentwicklung mit Objekten und Komponenten, Person Studium]

4 Info II - Grundlagen der Softwaretechnik Übung 1: Grundlagen 4

5 Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 1 Grundlagen Aufgabe 1.1 Unterschiede der Phasen Analyse und Entwurf Lernziel: Bedeutung der Phasen Analyse und Entwurf in der Sprache des Auftraggebers ausdrücken können. Stellen Sie sich einen potentiellen Auftraggeber vor, der ein sogenannter DV-Laie ist, z.b. den Inhaber einer Firma für Sportartikel. Sie sollen den Auftrag erhalten, ein maßgeschneidertes kleines Warenwirtschaftssystem für Ihren Auftraggeber zu entwickeln. Ihr Auftraggeber möchte wissen, warum Sie nicht sofort mit der Programmierung anfangen. Erklären Sie ihm, was Analyse und Entwurf sind und was dabei gemacht wird. Aufgabe 1.2 Informationen für Analyse und Entwurf Lernziel: Erkennen, welche Informationen in der Analyse und welche im Entwurf dokumentiert werden müssen. Der Systemanalytiker Mayer führt bei einer Videothek eine Systemanalyse durch, wobei er folgende Informationen aufnimmt: 1. Für jeden Videofilm sind Titel, Laufzeit und Jahr zu speichern. 2. Die Videofilme sind nach Titeln aufsteigend sortiert in der Datenbank xy zu speichern. 3. Jede Ausleihe von Videofilmen wird im System gespeichert. 4. Defekte Videofilme werden aus der Videothek entfernt und in der Datei mit einem»l«markiert. 5. Das System soll jederzeit einen Überblick über die Ausleihhäufigkeit der einzelnen Filme erlauben. 6. Für die Realisierung der Benutzungsoberfläche wird die Klassenbibliothek abc verwendet. 7. Da es sich um eine große Videothek handelt, ist eine Client-Server-Anwendung notwendig, wobei alle zentralen Daten auf dem Server liegen. Ordnen Sie die einzelnen Informationen zu den Entwicklungsphasen Analyse und Entwurf zu.

6 Info II - Grundlagen der Softwaretechnik Übung 1: Grundlagen 6 Aufgabe 1.3 Klassenidentifikation Lernziel: Die zu lösende Aufgabe verstehen und aus einer Anforderungsbeschreibung relevante Klassen identifizieren können. Sie haben den Auftrag erhalten, ein Computersystem für eine Universitätsbibliothek zu entwickeln. Derzeit verwendet die Bibliothek ein Programm aus den Sechzigern, geschrieben in einer überholten Sprache. Damit erledigt sie eine Reihe von einfachen Verwaltungsaufgaben und führt einen Schlagwortkatalog auf Kartenbasis. Von Ihnen wird ein interaktives System erwartet, mit dem beide Tätigkeiten online erledigt werden können. Nach sorgfältigen Untersuchungen kristallisieren sich die folgenden Anforderungen heraus, wie sie durch ein ideales System abgedeckt wären: Bücher und Zeitschriften In der Bibliothek gibt es Bücher und Zeitschriften. Von Büchern kann es auch mehrere Exemplare geben. Einige Bücher sind nur für Kurzzeitentleihe gedacht. Alle anderen Bücher können von jedem Bibliotheksmitglied für drei Wochen ausgeliehen werden. Zeitschriften dürfen nur von Mitarbeitern ausgeliehen werden. Mitglieder der Bibliothek können normalerweise bis zu sechs Einheiten entleihen, während Mitarbeiter der Bibliothek bis zu 12 Einheiten zur gleichen Zeit entleihen können. Entleihe Wichtig ist, dass das System verfolgen kann, wann Bücher und Zeitschriften ausgeliehen und zurückgegeben werden, weil dies auch das aktuelle System schon kann. Das neue System sollte darüber hinaus Mahnungen auswerfen, wenn ein Entleihzeitraum überzogen ist. Eine zukünftige Anforderung kann sein, dass Benutzer die Entleihdauer eines Buches verlängern können, wenn es nicht anderweitig vorbestellt ist. Suche Vom System sollte ermöglicht werden, dass Anwender nach einem Buch zu einem bestimmten Thema oder von einem bestimmten Autor etc. suchen und prüfen können, ob das Buch zur Entleihe verfügbar ist und, falls nicht, es auch gleich reservieren können. Die Suche ist für jedermann zugänglich. a) Sind diese Anforderungen vollständig? Welche weiteren Fragen müssten Sie noch stellen? b) Identifizieren Sie im ersten Schritt alle vermutlichen Klassen des Systems durch Hauptwort-Identifikation aus der Anforderungsbeschreibung. c) Sortieren Sie alle Hauptwörter aus, die aus offensichtlichen Gründen weniger gut als Klassen geeignet sind, um eine sinnvolle Liste der Klassen des Systems zu erhalten. Begründen Sie Ihre Entscheidung. d) (Diskussionsfrage) Sind Sie zu der vorgestellten Lösung anderer Meinung? Warum?

7 Info II - Grundlagen der Softwaretechnik Übung 1: Grundlagen 7 Aufgabe 1.4 Klassen identifizieren und Attribute spezifizieren Lernziel: Klassendiagramm, Klassenbeschreibungen und Attributspezifikationen erstellen können. An einer Hochschule sind studentische Hilfskräfte und Angestellte zu verwalten. Für alle Personen sind der Name, bestehend aus Vor- und Nachname, und die Adresse, bestehend aus PLZ, Ort und Straße, zu speichern. Für studentische Hilfskräfte sind außer der Matrikelnummer auch Beginn und Ende aller Arbeitsverträge sowie die jeweilige wöchentliche Stundenzahl einzutragen. Alle studentischen Hilfskräfte erhalten den gleichen Stundenlohn. Für jeden Angestellten wird das Eintrittsdatum gespeichert. Identifizieren Sie Klassen und Attribute und stellen sie als Diagramm dar. Für jede Klasse ist eine Klassenbeschreibung zu erstellen. Alle Attribute sind zu spezifizieren. Gibt es elementare Klassen? Aufgabe 1.5 Objektdiagramm Bibliothek Lernziel: Objekte identifizieren und Objektdiagramm erstellen können. In der Bibliothek aus Aufgabe 1.3) sind u.a. folgende Bücher verfügbar: Ken Follet, Die Säulen der Erde, 1990, ISBN 123 Noah Gordon, Der Medicus, 1987, ISBN 345 und Nicholas Evans, Der Pferdeflüsterer, 1995, ISBN 456 Für jedes Bibliotheksmitglied werden Name, Adresse und Geburtsdatum und dessen Nummer gespeichert. Hans Müller (Nummer=1), geb. am aus Bochum leiht sich ein Exemplar von»die Säulen der Erde«aus, das er spätestens am zurückgeben muss. Else Wallersee (Nummer=2) aus Dortmund, geb. am leiht sich ein Exemplar von»der Medicus«und ein Exemplar von»der Pferdeflüsterer«. Beide Exemplare muss sie am zurückgeben. Identifizieren Sie Objekte und deren Verbindungen und stellen sie diese als Objektdiagramm dar.

8 Info II - Grundlagen der Softwaretechnik Übung 1: Grundlagen 8 Lösungsblatt zu Aufgabe 1.2 Information 1. Für jeden Videofilm sind Titel, Laufzeit und Jahr zu speichern. Relevant für 2. Die Videofilme sind nach Titeln aufsteigend sortiert in der Datenbank xy zu speichern. 3. Jede Ausleihe von Videofilmen wird im System gespeichert. 4. Defekte Videofilme werden aus der Videothek entfernt und in der Datei mit einem»l«markiert. 5. Das System soll jederzeit einen Überblick über die Ausleihhäufigkeit der einzelnen Filme erlauben. 6. Für die Realisierung der Benutzungsoberfläche wird die Klassenbibliothek abc verwendet. 7. Da es sich um eine große Videothek handelt, ist eine Client-Server-Anwendung notwendig, wobei alle zentralen Daten auf dem Server liegen.

9 Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 2 Objektorientierte Modellierung - Statisches Modell Identifikation von Assoziationen Eine weitere Aufgabe bei der Erstellung des Klassenmodells ist es, wichtige reale Beziehungen oder Assoziationen (associations) zwischen den Klassen zu identifizieren und zu benennen. Dies geschieht aus zwei Gründen: 1. Wozu benötigt man Assoziationen? Letztlich gibt es zwei Zielsetzungen, die in der Analyse mit Assoziationen erreicht werden sollen: Um das Verständnis des Problembereichs zu klären. Dazu beschreiben wir die Objekte im Hinblick darauf, wie sie zusammenarbeiten. Um die Kopplung (Summe aller Abhängigkeiten) zu überprüfen, d.h. sicherzustellen, dass wir bei der Strukturierung des Systems sauber vorgehen. Der zweite Punkt hier bedarf noch einer Erklärung. Nimmt man von einem Objekt an, dass es zu einem anderen in enger (logischer) Beziehung steht, dann ist es wahrscheinlich relativ problemlos, wenn die jeweiligen Klassen, zur denen diese Objekte gehören, eine enge Kopplung (Abhängigkeit) eingehen. Dafür gibt es mindestens die folgenden beiden Begründungen: 1. Änderung: Haben Objekte des Problembereichs konzeptuell eine Beziehung zueinander, dann wird eine mit der Wartung betraute Person, die über diese Beziehung weiß, auch eine Abhängigkeit zwischen den entsprechenden Klassen annehmen. Es kann daher ebenfalls angenommen werden, dass diese Person auch auf diese Abhängigkeit achtet, wenn sie Änderungen an einer der Klassen vornimmt. Auf diese Weise ist die Wahrscheinlichkeit geringer, dass aufgrund dieser Abhängigkeit ein Problem auftritt. 2. Wiederverwendung: Sind die Objekte des Problembereichs konzeptionell verwandt, dann ist es wahrscheinlicher, dass eine Applikation, die eine der Klassen wiederverwenden kann, auch die andere wiederverwenden kann. Obwohl also jegliche Kopplung in einem System die Wiederverwendung erschwert und komplizierter macht, wird der Effekt hier relativ gutartig sein. Beispiel für die Abhängigkeit der Klassen zweier konzeptionell verwandter Objekte: Artikel Bezeichung Bestellnummer * enthält * Name Katalog

10 Info II - Grundlagen der Softwaretechnik Übung 2: Statisches Modell 10 Denken Sie an die Behauptung, dass ein Hauptargument für die Objektorientierung ist, dass die Struktur eines objektorientierten Systems die Struktur der Wirklichkeit abbildet. 2. Wie identifiziert man Assoziationen? Auf die gleiche Weise wie Klassen mit Hauptwörtern korrespondieren Assoziationen mit Verben. Sie drücken die Beziehung zwischen Objekten ihrer Klassen aus. Assoziationen können wir konzeptionell vom Standpunkt der Implementierung aus betrachten. Vom Konzept her bezeichnen wir etwas als Assoziation, wenn es in der realen Welt eine Verbindung gibt, die durch einen Satz wie ein Bibliotheksmitglied entleiht ein Buch" beschrieben werden kann und dieser Satz für das bearbeitete System relevant ist. Die Klasse A und die Klasse B sind assoziiert, wenn ein Objekt der Klasse A eine Nachricht an ein Objekt der Klasse B schickt ein Objekt der Klasse A ein Objekt der Klasse B kreiert ein Objekt der Klasse A ein Attribut besitzt, dessen Werte Objekte oder Zusammenstellungen von Objekten der Klasse B sind (Beispiel: Die Klasse Student in einer Diplomarbeitsverwaltung hat ein Attribut der elementaren Klasse NoteT) ein Objekt der Klasse A eine Nachricht entgegennimmt, in der ein Objekt der Klasse B als Argument enthalten ist kurz: wenn ein Objekt der Klasse A etwas wissen muss über ein Objekt der Klasse B. Jede Objektbeziehung, d.h. jede Instanz der Assoziation, verbindet ein Objekt der Klasse A mit einem Objekt der Klasse B. So könnte beispielsweise in einer Bibliothek eine mögliche Assoziation entleiht/gibt zurück zwischen einem Bibliotheksmitglied und dem Exemplar eines Buches die folgenden Objektbeziehungen haben: Joe Bloggs entleiht/gibt zurück Exemplar 17 von The Dilbert Principle Marcus Smith entleiht/gibt zurück Exemplar 1 von The Dilbert Principle Joe Bloggs entleiht/gibt zurück Exemplar 4 von Software Reuse

11 Info II - Grundlagen der Softwaretechnik Übung 2: Statisches Modell Was bedeutet eine Assoziation auf der Implementierungsebene? In der Vorlesung wurde darauf hingewiesen, dass eine Assoziation stets Verbindungen zwischen Objekten und nicht zwischen Klassen beschreibt. Eine Assoziation zwischen zwei Klassen im Klassendiagramm modelliert also die Tatsache, das zwischen einzelnen konkreten Objekten dieser Klassen eine Verbindung besteht / bestehen kann. Die Assoziation legt zusätzlich fest, zu wie vielen Objekten der anderen Klasse ein Objekt eine Beziehung haben kann / darf / muss und welche Rolle die beteiligten Objekte in dieser Beziehung einnehmen. Auf der Implementierungsebene bedeutet eine Assoziation letztlich, dass ein Objekt eine Referenz auf ein anderes Objekt besitzt und so auf das andere Objekt zugreifen oder diesem Nachrichten schicken kann. Dies wird an folgendem Beispiel deutlich. Diagramm Code Bedeutung kennt A B machwas() eina:a einb:b meinpartner class A{ B meinpartner;... class B{ machwas(){ A eina = new A(); B einb = new B(); eina.meinpartner = einb; eina.meinpartner. machwas(); Eine Klasse A hat eine Assoziation zur Klasse B. Ein Objekt von A kann dabei max. ein Objekt von B kennen. In der Assoziation hat das Objekt von B die Rolle meinpartner. Im Klassendiagramm wird also lediglich festgelegt, dass es diese Beziehung geben kann. Genauso wird bei der Klassendefinition im Code festgelegt, dass es in der Klasse A ein Attribut meinpartner vom Typ B gibt. Dieses Attribut kann später die Referenz auf ein konkretes Objekt der Klasse B aufnehmen. Das Objektdiagramm zeigt die konkrete Instanz einer Assoziation zwischen zwei konkreten Objekten eina und einb. Im Quellcode ist zu sehen, dass die zwei Objekte eina der Klasse A und einb der Klasse B erzeugt wurden. Anschließend wird dem Attribut meinpartner von eina die Referenz auf einb zugewiesen. Ab diesem Moment existiert die Beziehung zwischen eina und einb und eina kann einb z.b. die Nachricht machwas() schicken. Hinweis: Das Geheimnisprinzip wurde hier zur Vereinfachung übergangen. [Teile des Textes entstammen der Quelle: P. Stevens; R. Pooley, UML - Softwareentwicklung mit Objekten und Komponenten, Person Studium]

12 Info II - Grundlagen der Softwaretechnik Übung 2: Statisches Modell 12

13 Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrichr Übung 2 Objektorientierte Modellierung - Statisches Modell Aufgabe 2.1 Assoziationen in Klassen und Objektdiagramm Lernziel: Assoziationen erkennen und aus einem Objektdiagramm ein Klassendiagramm ableiten können. a) Entwickeln Sie ein Klassendiagramm aus dem Objektdiagramm der folgenden Abbildung: x = -10 y = 10 Punkt1 x = 10 y = 10 Punkt2 Polygon1 Punkt3 x = -10 y = -10 Punkt4 x = 10 y = -10 Abbildung: Objektdiagramm eines Polygons, das zufällig ein Quadrat ist Begründen Sie Ihre Kardinalitätsentscheidungen. Welche Zahl von Punkten ist mindestens erforderlich, um ein Polygon zu konstruieren? Macht es einen Unterschied, ob ein gegebener Punkt von mehreren Polygonen gemeinsam genutzt wird? Wie können Sie die Tatsache ausdrücken, dass Punkte sich in einer Reihenfolge befinden? b) Zeichnen Sie im Einklang mit dem Klassendiagramm aus a) ein Objektdiagramm für zwei Dreiecke, die eine gemeinsame Seite besitzen, unter den folgenden Bedingungen: 1. Ein Punkt gehört zu genau einem Polygon 2. Ein Punkt gehört zu einem oder mehreren Polygonen

14 Info II - Grundlagen der Softwaretechnik Übung 2: Statisches Modell 14 Aufgabe 2.2 Restriktionen bei Assoziationen Lernziel: Restriktionen erkennen und im Klassendiagramm verwenden können. a) In der Vorlesung wurde ein Klassendiagramm für ein Reisebüro vorgestellt. hat bezieht sich auf Tourist Reiseunterlagen Katalog 1..* 1..* 0..* besteht aus besteht aus 1..* 1..* Reisebeschreibung Dieses soll nun um ein weiteres Modell erweitert werden. Erstellen Sie ein Klassendiagramm, in dem ausgedrückt wird, dass die Klasse Reiseunterlagen eine Assoziation zur Klasse Vertrag hat. Zu einer Reise können mehrere Verträge abgeschlossen werden. Jeder Vertrag kann wiederum die Übernachtung in einem Hotel oder die Mietung eines Autos zum Gegenstand haben. Ein Vertrag soll aber nur einen Vertragsgegenstand haben. Gegebenenfalls wird ein weiterer Vertrag ausgestellt. b) Könnte in den beiden Assoziationen mit der Klasse Vertrag auf der Seite der Klasse Hotel und der Klasse Auto jeweils die Rolle Vertragsgegenstand stehen? Aufgabe 2.3 Restriktionen bei Assoziationen Gegeben sind folgendes Klassendiagramm und dessen Implementierung. Welche Fehler wurden bei der Implementierung gemacht? Konto Eigentümer * 1..* {or * 1..* Inhaber Privatkunde Geschäftskunde public class Konto { public Privatkunde Eigentuemer; public Geschaeftskunde Kunde[];...

15 Info II - Grundlagen der Softwaretechnik Übung 2: Statisches Modell 15 Aufgabe 2.4 Identifikation von Assoziationen (Bibliothek) Lernziel: Assoziationen im Text identifizieren und ein Klassendiagramm zeichnen können. In Aufgabe 1.3 wurden die Anforderungen an ein Bibliothekssystem vorgestellt. Hier noch einmal kurz die wichtigsten Anforderungen: Bücher und Zeitschriften In der Bibliothek gibt es Bücher und Zeitschriften. Von Büchern kann es auch mehrere Exemplare geben. Einige Bücher sind nur für Kurzzeitentleihe. Alle anderen Bücher können von jedem Bibliotheksmitglied für drei Wochen ausgeliehen werden. Zeitschriften dürfen nur von Mitarbeitern ausgeliehen werden. Mitglieder der Bibliothek können normalerweise bis zu sechs Einheiten entleihen, Mitarbeiter der Bibliothek dürfen hingegen gleichzeitig bis zu zwölf Einheiten entleihen. Entleihe Wichtig ist, dass das System verfolgen kann, wann Bücher und Zeitschriften ausgeliehen und zurückgegeben werden, weil dies auch das aktuelle System schon kann. Das neue System sollte darüber hinaus Mahnungen auswerfen, wenn ein Entleihzeitraum überzogen ist. Eine zukünftige Anforderung kann sein, dass Benutzer die Entleihdauer eines Buches verlängern können, wenn es nicht anderweitig vorbestellt ist. Daraus wurde eine erste Liste der Klassen des Systems erstellt: Buch Zeitschrift Exemplar (von Buch) Bibliotheksmitglied Mitarbeiter a) Finden Sie in den Anforderungen Assoziationen zwischen den Klassen und zeichnen Sie ein Klassendiagramm. Berücksichtigen Sie dabei die Kardinalität der beteiligten Klassen. b) In Aufgabe 1.3 war eine Anforderung, dass es von Büchern mehrere Exemplare geben kann, von Zeitschriften jedoch nur eines. Stellen Sie sich nun vor, dass auch von Zeitschriften mehrere Exemplare existieren, d.h. jedes Exemplar-Objekt entweder ein Buch- oder ein Zeitschrift-Exemplar repräsentiert. Wie ändert sich dann das Modell? Wie schließen Sie die unsinnige Möglichkeit aus, dass ein Exemplar-Objekt sowohl mit einem Buch-Objekt als auch mit einem Zeitschrift- Objekt oder mit keinem von beiden assoziiert werden könnte? (Hinweis: dazu müssen Sie die Assoziation mit einer Restriktion belegen) c) In Aufgabe 1.3 haben wir festgestellt, dass möglicherweise eine Klasse Entleihe sinnvoll ist, um den Entleihvorgang zu handhaben. Wie könnten Sie diese Klasse in das Modell integrieren? Bedenken Sie, dass der Entleihvorgang eine Eigenschaft der Assoziation zwischen Bibliotheksmitglied und Exemplar ist (Lassen Sie zur Vereinfachung die Klasse Mitarbeiter in diesem Fall weg).

16 Info II - Grundlagen der Softwaretechnik Übung 2: Statisches Modell 16 Aufgabe 2.5 Klassendiagramm Seminarorganisation Lernziel: Assoziationen identifizieren und ein Klassendiagramm zeichnen können. Sie sollen als Softwareentwickler eine Anwendung zur Organisation von Tagungen entwickeln. Im ersten Schritt soll ein Klassendiagramm erstellt werden. Für jeden Teilnehmer der Tagung werden der Name, die Adresse und der Status (Student, Mitglied, Nichtmitglied) gespeichert. Jeder Teilnehmer kann sich für ein oder mehrere Tutorien anmelden. Für jedes Tutorium werden dessen Nummer, die Bezeichnung sowie das Datum gespeichert. Alle Tutorien kosten gleich viel. Damit ein Tutorium stattfindet, müssen mindestens 10 Anmeldungen vorliegen. Jedes Tutorium wird von genau einem Referenten angeboten. Für jeden Referenten werden dessen Name und Firma gespeichert. Ein Referent kann sich auch für ein oder mehrere Tutorien anderer Referenten anmelden und kann bei diesen kostenlos zuhören. Diese Anmeldungen zählen bei der Ermittlung der Mindestanmeldungen nicht mit. Ein Teilnehmer kann nicht gleichzeitig Referent sein. Ein Referent kann mehrere Tutorien anbieten. An einem Tutorium können mehrere Referenten kostenlos teilnehmen. Ein Teilnehmer kann sich in der Tagungsanmeldung auch für einige Rahmenprogramme (z.b. Besuch eines Musicals) eintragen lassen. Für jedes Rahmenprogramm werden dessen Bezeichnung, das Datum, die Zeit, der Ort und die Kosten gespeichert. a) Identifizieren Sie alle relevanten Klassen mit ihren Attributen und Operationen. b) Identifizieren Sie die Assoziationen zwischen den Klassen. c) Erstellen Sie beispielhaft ein Objektdiagramm. Zusatzaufgabe: Fussballmannschaft Modellieren Sie folgende Gegebenheit: Ein Fussballverein besteht aus vielen Spielern als Mitgliedern. Diese Spieler lassen sich in Stürmer, Mittelfeldspieler, Verteidiger und Torhüter einteilen. Um an Turnieren mitzuspielen, bilden jeweils 4 Stürmer, 4 Mittelfeldspieler, 4 Verteidiger und 2 Torhüter eine Turniermannschaft. Quelle: ETH Zürich

17 Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3.1 Assoziation Lernziel: Assoziationen im Klassendiagramm erkennen und von Attributen trennen können. Vererbungsstrukturen erkennen. Mehrere der Klassen in der folgenden Abbildung besitzen Attribute, die eigentlich Verweise auf andere Klassen sind und durch Assoziationen ersetzt werden könnten. Person Auto Autokredit Firma Bank Name Alter Arbeitgeber 1 ID Arbeitgeber 2 ID Arbeitgeber 3 ID Person ID Adresse Besitzer ID Auto ID Besitzertyp Modell Jahr Auto ID Kunden ID Kundenart Kontonummer Bank ID Zinssatz aktueller Kontostand Name Firma ID Name Bank ID Abbildung 1: Klassen mit mehreren Attributen, die eigentlich Verweise sind Eine Person kann bis zu drei Firmen als Arbeitgeber haben. Jede Person hat eine ID. Einem Auto ist eine ID zugewiesen. Autos können sich im Besitz von Personen, Firmen oder Banken befinden. Die ID eines Autobesitzers ist die ID der Person, Firma oder Bank, die das Auto besitzt. Mit dem Kauf eines Autos kann ein Autokredit verbunden sein. Es wäre falsch, ein Klassenmodell zu konstruieren, indem man Verweise in Klassen versteckt. a) Zeichnen Sie ein Klassendiagramm, in dem die Verweise durch Assoziationen ersetzt werden. b) Versuchen Sie, die Multiplizitäten korrekt festzulegen. Es kann sein, dass Sie eine oder mehrere Klassen neu hinzufügen müssen. Können Sie generalisieren? Aufgabe 3.2 Klassendiagramm Bibliothek Lernziel: Vererbungsstrukturen erkennen In Aufgabe 2.4 wurde folgendes Klassendiagramm für das Bibliothekssystem ermittelt (hier ohne Beschränkung der Entleihexemplare auf 6 bzw. 12), das nun weiter vereinfacht werden soll:

18 Info II - Grundlagen der Softwaretechnik Übung 3: Statisches Modell 18 Buch 1 ist Exemplar von Bibliotheksmitglied entleiht / gibt zurück * 1..* Exemplar 0..* 0..1 Mitarbeiter entleiht / gibt zurück entleiht / gibt zurück Zeitschrift * a) Finden Sie Gemeinsamkeiten zwischen den Klassen. Können Sie das Klassendiagramm durch Generalisierung weiter vereinfachen? Aufgabe 3.3 Klassendiagramm Bankensoftware Lernziel: Klassendiagramm und Beziehungen aus Text identifizieren Sie arbeiten als Software-Entwickler in einem Unternehmen, das Softwaresysteme für Banken entwickelt. Sie sollen folgendes Softwaresystem entwickeln: Eine Person wird Kunde, wenn sie ein Konto eröffnet. Ein Kunde kann beliebig viele weitere Konten eröffnen. Für jeden neuen Kunden werden dessen (nicht notwendigerweise eindeutiger) Name, Adresse und das Datum der ersten Kontoeröffnung erfasst. Bei der Kontoeröffnung muss der Kunde gleich eine erste Einzahlung vornehmen. Wir unterscheiden Girokonten und Sparkonten. Girokonten dürfen bis zu einem bestimmten Betrag überzogen werden. Für jedes Konto wird ein individueller Habenzins, für Girokonten auch ein individueller Sollzins festgelegt. Außerdem besitzt jedes Konto eine eindeutige Kontonummer. Für jedes Sparkonto wird die Art des Sparens z.b. Festgeld gespeichert. Ein Kunde kann Beträge einzahlen und abheben. Desweiteren werden Zinsen gutgeschrieben und bei Girokonten Überziehungszinsen abgebucht. Um die Zinsen zu berechnen, muss für jede Kontobewegung das Datum und der Betrag notiert werden. Die Gutschrift/Abbuchung der Zinsen erfolgt bei den Sparkonten jährlich und bei den Girokonten quartalsweise. Ein Kunde kann jedes seiner Konten wieder auflösen. Bei der Auflösung des letzten Kontos hört er auf, Kunde zu sein. a) Identifizieren Sie alle relevanten Klassen. b) Identifizieren Sie alle Attribute und Operationen, der in a) gefundenen Klassen. c) Identifizieren Sie die Assoziationen und ihre Multiplizität zwischen den Klassen. d) Führen Sie geeignete Vererbungsstrukturen ein. e) Erstellen Sie für selbstgewählte Beispieldaten ein Objektdiagramm.

19 Info II - Grundlagen der Softwaretechnik Übung 3: Statisches Modell 19 Aufgabe 3.4 Klassendiagramm Fensterfläche Lernziel: Aggregation und Vererbung anwenden. In der Vorlesung Kapitel 3.4 wurde folgende Vererbungsstruktur für eine Fensterfläche mit Kreisen, Rechtecken und Dreiecken vorgestellt. Zur besseren Verständlichkeit wurden hier noch einige Verwaltungsoperationen zu den Klassen hinzugefügt. GeomFigur {abstract x: Integer y: Integer sichtbar: Boolean anzeigen() {abstract entfernen() {abstract verschiebezu(px, py) Figurenform Kreis radius {radius > 0 anzeigen() entfernen() getradius() setradius(r) Rechteck a {a > 0 b {b > 0 anzeigen() entfernen() geta() seta(a) getb() setb(b) Dreieck a {c-b < a < b+c b {a-c < b < a+c c {a-b < c < a+b anzeigen() entfernen()... Abbildung 2: Klassendiagramm Fensterfläche a) Erweitern Sie das Klassendiagramm um eine Klasse KreisEck. Ein KreisEck ist eine einfache Überlagerung eines Kreises und eines Rechtecks mit gleichen Kanten (Quadrat). Anmerkung: Die Kantenlänge des Quadrats entspricht dem Kreisdurchmesser. b) Zeichnen Sie die entsprechenden Aggregationsbeziehungen in das Klassendiagramm ein. Haben die Beziehungen eine Richtung? c) Wie sieht der zugehörige Java-Code für die Klasse KreisEck aus? Bedenken Sie, dass ein KreisEck aus Kreis und Quadrat besteht. Implementieren Sie die Methoden anzeigen(), entfernen(), seta() (A=Durchmesser) und vergroessern(faktor).

20 Info II - Grundlagen der Softwaretechnik Übung 3: Statisches Modell 20 d) Entwerfen Sie ein Klasse Fensterflaeche, die geometrische Objekte enthält. Zeichnen Sie das dazugehörige Klassendiagramm. Schreiben Sie eine Methode refresh(), die die Anzeige aktualisiert. Setzen Sie dabei das Prinzip des Polymorphismus gewinnbringend ein. Aufgabe 3.5 Klassendiagramm Praktikumsverwaltung Lernziel: Assoziationen und assoziative Klasse erkennen. Sie sollen ein Programm zur Verwaltung von Praktika am IAS erstellen: Zu manchen Vorlesungen gehören ein oder mehrere Praktika, an denen die Studenten teilnehmen müssen. Ein solches Praktikum besteht aus mehreren Projekten, aus denen der Student eines auswählen kann. Zum Beispiel besteht das Praktikum zur Vorlesung "Softwaretechnik" aus den Projekten "Stechuhr" und "Roboter". Hat ein Student sein Projekt erfolgreich durchgeführt, ist die Teilnahme am Praktikum erfüllt. Die Verwaltung der Praktika und der teilnehmenden Studenten erfolgte bis jetzt mit Listen, in denen alle benötigten Informationen festgehalten wurden. Für jeden Praktikumstermin wird ein solche Liste erstellt, in der jeweils eingetragen wird, welche Studenten erfolgreich teilgenommen haben. Untenstehend sehen Sie einen Ausschnitt aus einer solchen Liste. Abbildung 4: Praktikumsliste zur Verwaltung von Praktika a) Diese Verwaltung soll nun durch eine Softwarelösung ersetzt werden. Identifizieren Sie dazu aus diesen Vorgaben alle erforderlichen Klassen und Assoziationen. Tragen sie bei jeder Klasse die zugehörigen Attribute ein. Spezifizieren Sie die Assoziationen zwischen den Klassen möglichst vollständig. Wie ist die Teilnahme an einem Praktikum zu modellieren? b) Bei korrekter Modellierung ist in a) eine assoziative Klasse entstanden. Wandeln Sie die assoziative Klasse in eine echte Klasse um.

21 Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 4 Objektorientierte Modellierung - Dynamisches Modell Aufgabe 4 Dynamisches Modell einer Bibliothek Lernziel: Akteure und Anwendungsfälle erkennen, dynamisches Modell erstellen können. In den vorangegangen Übungen haben wir bereits das (vorläufige) statische Modell eines einfachen Bibliothekssystems erstellt. Hier noch einmal die Anforderungsbeschreibung: Bücher und Zeitschriften In der Bibliothek gibt es Bücher und Zeitschriften. Von Büchern kann es auch mehrere Exemplare geben. Einige Bücher sind nur für Kurzzeitentleihe. Alle anderen Bücher können von jedem Bibliotheksmitglied für drei Wochen ausgeliehen werden. Zeitschriften dürfen nur von Mitarbeitern ausgeliehen werden. Mitglieder der Bibliothek können normalerweise bis zu sechs Einheiten entleihen, Mitarbeiter der Bibliothek dürfen hingegen gleichzeitig bis zu zwölf Einheiten entleihen. Entleihe Wichtig ist, dass das System verfolgen kann, wann Bücher und Zeitschriften ausgeliehen und zurückgegeben werden, weil dies auch das aktuelle System schon kann. Das neue System sollte darüber hinaus Mahnungen auswerfen, wenn ein Entleihzeitraum überzogen ist. Eine zukünftige Anforderung kann sein, dass Benutzer die Entleihdauer eines Buches verlängern können, wenn es nicht anderweitig vorbestellt ist. Suche Vom System sollte ermöglicht werden, dass Anwender nach einem Buch zu einem bestimmten Thema oder von einem bestimmten Autor etc. suchen und prüfen können, ob das Buch zur Entleihe verfügbar ist und, falls nicht, es auch gleich reservieren können. Die Suche ist für jedermann zugänglich. Dazu hatten wir die relevanten Klassen identifiziert ein erstes Klassendiagramm erstellt und dieses durch Vererbung verfeinert (siehe Abbildung 1..* rechts) Bibliotheksmitglied entleiht / gibt zurück * Exemplar Buch 1 ist Exemplar von Mitarbeiter entleiht / gibt zurück * Zeitschrift

22 Grundlagen der Softwaretechnik Übung 4: Dynamisches Modell 22 Das statische Modell soll nun durch ein dynamisches Modell ergänzt und überprüft werden. Dazu müssen die relevanten Abläufe identifiziert und beschrieben werden. Aufgabe 4.1 Anwendungsfallmodell a) Geben Sie für o.g. Aufgabenstellung das zu betrachtende System und die externen Akteure an. b) Nennen Sie die Anwendungsfälle, die beim Einsatz des Systems vorkommen können. Betrachten Sie zunächst alle abgeschlossenen Anwendungsfälle, d.h. solche Anwendungsfälle, die selbstständig auftreten (und auch meistens direkt von einem Akteur initiiert werden). c) Erstellen Sie genaue Spezifikationen der gefundenen Anwendungsfälle Entleihe Buchexemplar und Verlängerung Entleihdauer. Gehen Sie von folgender realer Situation aus: Ein Bibliotheksmitglied holt sich aus der Bibliothek ein tatsächlich vorliegendes Exemplar des Buches und geht damit zum Ausgabeschalter, wo ihm die Benutzungsoberfläche des Systems eine Möglichkeit bietet, sich selbst als Bibliotheksmitglied und das Exemplar des Buches zu identifizieren (das kann z.b. durch einen Kartenleser oder einen Barcode Scanner geschehen). Dann beginnt die Interaktion mit dem System. Benutzen Sie zur Beschreibung der Anwendungsfälle die aus der Vorlesung bekannte Anwendungsfall-Spezifikationsschablone (entsprechende Vordrucke befinden sich im Anhang dieser Übung). Können Sie bei beiden Anwendungsfällen eine Gemeinsamkeit feststellen? Dieses gemeinsame Verhalten kann aus den beiden Anwendungsfällen extrahiert und durch einen eigenen Anwendungsfall dargestellt werden. Diesen nennt man einen partiellen Anwendungsfall, d.h. ein Anwendungsfall, der nicht selbstständig auftritt, sondern in anderen Anwendungsfällen enthalten ist. Die Beziehung zwischen den abgeschlossenen Anwendungsfällen und dem ausgegliederten partiellen Anwendungsfall nennt man <<include>>-beziehung. d) Stellen Sie alle Anwendungsfälle in Form eines Anwendungsfalldiagramms grafisch dar. Tragen Sie die Beziehungen der Akteure zu den Anwendungsfällen und zwischen den Anwendungsfällen richtig ein. Aufgabe 4.2 Szenarios Zur Beschreibung des internen Zusammenwirkens der Objekte sollen die Abläufe der Anwendungsfälle grafisch illustriert werden. Erstellen Sie dazu Szenarios für den Anwendungsfall Entleihe Buchexemplar. a) Erstellen Sie ein Sequenzdiagramm für den Anwendungsfall mit erfolgreichem Verlauf. Objekte welcher Klassen sind an diesem Szenario beteiligt? Welche Nachrichten sind während des Ausleihvorgangs erforderlich? Lassen Sie zur Vereinfachung die Überprüfung der Reservierungen weg. b) Erstellen Sie ein Kommunikationsdiagramm für das selbe Szenario.

23 Grundlagen der Softwaretechnik Übung 4: Dynamisches Modell 23 c) Erstellen Sie ein Sequenzdiagramm für das alternative Szenario, dass das Bibliotheksmitglied bereits die maximale Anzahl von Büchern ausgeliehen hat. Aufgabe 4.3 CRC-Karten a) Erstellen Sie für die Klassen Bibliotheksmitglied, Exemplar und Buch je eine CRC-Karte mit Verantwortlichkeiten und Kollaborationen. Lassen Sie zur Vereinfachung die Überprüfung der Reservierungen zunächst weg. b) Überprüfen Sie mit den CRC-Karten und dem Sequenzdiagramm das Klassendiagramm. Müssen Sie weitere Klassen oder Assoziationen ergänzen? Aufgabe 4.4 Zustandsdiagramm Entwickeln Sie auf Basis von Aufgabe 4.2 ein Zustandsdiagramm für die Klasse Buch. Lassen Sie zur Vereinfachung die Überprüfung der Reservierungen weg. Aufgabe 4.5 Erweiterung der Funktionalität Wenn Sie die Funktionalität zur Überprüfung der Reservierungen in das Analysemodell integrieren wollen, in welcher Klasse sind diese Verantwortlichkeiten am sinnvollsten anzusiedeln? Wie müsste sich dann das Sequenzdiagramm aus Aufgabe 4.2 a) ändern? Hat das Auswirkungen auf das Klassendiagramm? Zusatzaufgabe Klassendiagramm überarbeiten a) Erstellen Sie ein überarbeitetes Klassendiagramm mit allen notwendigen Attributen und Operationen. b) Welches Analysemuster können Sie in dem Klassendiagramm erkennen? Anhang siehe nächste Seite Anwendungsfall-Spezifikationsschablonen

24 Grundlagen der Softwaretechnik Übung 4: Dynamisches Modell 24 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

25 Grundlagen der Softwaretechnik Übung 4: Dynamisches Modell 25 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

26 Grundlagen der Softwaretechnik Übung 4: Dynamisches Modell 26 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

27 Grundlagen der Softwaretechnik Übung 4: Dynamisches Modell 27 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

28 Grundlagen der Softwaretechnik Übung 4: Dynamisches Modell 28

29 Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 5 Objektorientierte Analyse Aufgabe 5 Steuerungssoftware Fahrkartenautomat Lernziel: Akteure und Anwendungsfälle erkennen, dynamisches Modell erstellen können. Der neu gegründete Verkehrsverbund Undelayed (VVU) hat den Entschluss gefasst, dass die Steuerungssoftware für sämtliche installierten Fahrkartenautomaten objektorientiert entwickelt werden soll. In Abbildung 1 ist ein Fahrkartenautomat mit den für den Fahrkartenverkauf relevanten Bedienelementen dargestellt: Display Münzeinwurf Fahrtziel- Tastenfeld Kartenleser Fortsetzungs-/ Abbruch- Tastenfeld Geldscheineinzug Drucker Fahrkarten- Tastenfeld Abbildung 1: Fahrkartenautomat - Über das Fahrziel-Tastenfeld erfolgt die Eingabe des Fahrtziels als dreistellige Zahl, z.b. 200 für Hauptbahnhof - Der Fahrgast kann die gewünschte Fahrkarte über das Fahrkarten-Tastenfeld festlegen. Es kann entweder Einfachfahrt oder Mehrfachfahrt ausgewählt werden und über eine weitere Taste kann die 1. Klasse gewählt werden.

30 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 30 - Das Fortsetzungs-/Abbruch-Tastenfeld ermöglicht den Abbruch des Vorgangs bzw. die Auswahl mehrerer Fahrkarten innerhalb eines Verkaufsvorgangs. - Das Display zeigt alle Ausgaben des Systems an (z.b. gewähltes Fahrziel und Fahrpreis) und führt den Benutzer durch den Kaufvorgang. - Der Kartenleser akzeptiert in der jetzigen Version nur die GeldKarte. Für den Kauf einer Fahrkarte muss die GeldKarte mindestens ein Guthaben in der Höhe des Fahrkartenpreises aufweisen. - Über den Münzeinwurf und den Geldscheineinzug kann die Bezahlung der Fahrkarte mit Bargeld erfolgen. Dabei wird der noch verbleibende Restbetrag im Display ständig aktualisiert. - Über den Drucker erfolgt die Ausgabe der Fahrkarte. Die zu realisierende Steuerungssoftware soll für die Koordination und Steuerung des Fahrkartenverkaufs zuständig sein. Zur Vereinfachung darf angenommen werden, dass der Fahrgast stets den exakten Fahrpreis entrichtet und die Rückgabe von Wechselgeld entfallen kann. Kommt es während des Betriebs zu Fehlern, so werden diese durch entsprechende Fehlermeldungen im Display angezeigt. Bei Überschreiten eines Timeouts beim Warten auf eine Benutzereingabe wird der Verkaufsvorgang abgebrochen. Die Wartung der Fahrkartenautomaten (z.b. Entnehmen des Münzgelds, Einlegen von unbedruckten Fahrkarten) übernehmen Service-Techniker in festgelegten Wartungsintervallen. Auch führen diese Reparaturmaßnahmen durch, wenn ein Fahrkartenautomat auf Grund eines Fehlers ausgefallen ist. Aufgabe 5.1 Anwendungsfallmodell a) Geben Sie für o.g. Aufgabenstellung das zu betrachtende System und die externen Akteure an. b) Nennen Sie die Anwendungsfälle, die beim Einsatz des Systems vorkommen können. Unterscheiden Sie dabei zwischen abgeschlossenen und partiellen Anwendungsfällen, d.h. solchen Anwendungsfällen, die selbstständig auftreten bzw. in anderen Anwendungsfällen enthalten sind. c) Erstellen Sie genaue Spezifikationen der gefundenen Anwendungsfälle. Benutzen Sie dazu die aus der Vorlesung bekannte Anwendungsfall- Spezifikationsschablone (entsprechende Vordrucke befinden sich im Anhang dieser Übung). d) Stellen Sie die Anwendungsfälle in Form eines Anwendungsfalldiagramms grafisch dar. Aufgabe 5.2 Identifikation von Klassen Identifizieren Sie ausgehend von der Systembeschreibung alle für die zu realisierende Steuerungssoftware relevanten Klassen und erstellen Sie eine CRC- Karte. Nennen Sie jeweils die Aufgaben, für die die Klasse zuständig ist.

31 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 31 Aufgabe 5.3 Szenarios Zur Beschreibung des internen Zusammenwirkens der Objekte sollen die Abläufe der Anwendungsfälle grafisch illustriert werden. Erstellen Sie dazu ein Sequenzdiagramm für den Anwendungsfall Fahrkarte(n) kaufen, wobei von folgender Situation ausgegangen werden soll: - Der Fahrgast wählt das Fahrtziel 200 (Hauptbahnhof). - Er entscheidet sich für Mehrfachfahrt als Fahrkartenart. - Er bezahlt per GeldKarte. - Das GeldKarten-Guthaben ist ausreichend. Anmerkung: Bedienfehler müssen nicht berücksichtigt werden. Aufgabe 5.4 CRC-Karten Ergänzen Sie auf den CRC-Karten von Aufgabe 5.2 die Kollaborationen der Klassen, die Sie aus dem Ablaufmodell erkennen. Müssen Sie weitere Klassen ergänzen? Aufgabe 5.5 Statisches Analysemodell Erstellen Sie ein statisches Analysemodell für die Steuerungssoftware in Form eines Klassendiagramms. Berücksichtigen Sie hierbei alle benötigten Klassen mit ihren Attributen und Methoden. Die Hardwarekomponenten sollen im Klassendiagramm jeweils durch eine entsprechende Klasse repräsentiert werden, die für die Ansteuerung der zugeordneten Komponente verantwortlich ist. Zeichnen Sie in das Diagramm die Beziehungen zwischen den Klassen ein und geben Sie jeweils die Kardinalitäten an. Führen Sie Vererbungsbeziehungen ein, wo es sinnvoll ist. Aufgabe 5.6 Zustandsdiagramm Klasse Fahrkartenautomat Entwickeln Sie ein Zustandsdiagramm für die Klasse Fahrkartenautomat. Zusatzaufgabe Zustandsdiagramm Klasse Münzeinwurf Entwickeln Sie ein Zustandsdiagramm für die Klasse Münzeinwurf (=Geldscheineinzug). Berücksichtigen Sie dabei sowohl die Aktualisierung des verbleibenden Restbetrags sowie einen möglichen Abbruch oder Timeout. Anhang siehe nächste Seite Anwendungsfall-Spezifikationsschablonen

32 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 32 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

33 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 33 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

34 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 34 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

35 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 35 Anwendungsfall Ziel: Kategorie: (primär, sekundär, oder optional) Externe Akteure: Vorbedingung: Auslösendes Ereignis Nachbedingung Erfolg: Nachbedingung Fehlschlag: Beschreibung: Erweiterungen: Alternativen:

36 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 36 Anhang Lösungsschablonen CRC-Karten Verantwortlichkeit: Kollaborationen: Verantwortlichkeit: Kollaborationen: Verantwortlichkeit: Kollaborationen: Verantwortlichkeit: Kollaborationen: Verantwortlichkeit: Kollaborationen: Verantwortlichkeit: Kollaborationen: Verantwortlichkeit: Kollaborationen: Verantwortlichkeit: Kollaborationen:

37 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 37 Anhang Lösungsschablone Sequenzdiagramm Drucker Ermittle Guthaben Fahrpreis abziehen (Preis) Fahrziel (200) Fahrkartenautomat Fahrziel- Tastenfeld Fahrkarten- Tastenfeld Display Kartenleser Bestimme Fahrziel (200) Zeige Fahrziel und Fahrpreis an Zeige Text (Fahrziel, Fahrpreis) Mehrfachfahrt Zeige Text (Fahrziel, Fahrpreis) Neue Fahrkartenart() Zeige Fahrziel und Fahrpreis an GeldKarte einführen Überprüfe Guthaben Fahrpreis abbuchen GeldKarte ausgeben Bezahlung erfolgt Fahrkarte drucken Zeige Text (Fahrkarten werden geruckt) Zeige Fahrkarten werden gedruckt an Fahrkarte ausgeben Zeige Fahrziel auswählen an Zeige Text (Fahrziel auswählen) Kunde

38 Grundlagen der Softwaretechnik Übung 5: Objektorientierte Analyse 38 Anhang Lösungsschablone Zustandsdiagramm

39 Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 6 Objektorientierter Entwurf Aufgabe 6.1 Objektverwaltung Lernziel: Klassen und Assoziationen des Analysemodells in den Entwurf abbilden und die Objektverwaltung realisieren können. Das in Abbildung 1 gezeigte Klassendiagramm stellt einen Ausschnitt aus einem OOA-Modell zur Studentenverwaltung dar. Bilden Sie dieses Klassendiagramm in den Entwurf ab. Student Matrikelnummer Name Immatrikulation Vordiplom Anzahl immatrikulieren() druckevordiplomliste() anmeldenpraktikum() * 0..1 Praktikant Firma Name Ort Branche Abbildung 1: Klassendiagramm Studenten und Praktikumsfirmen a) Überführen Sie das in Abbildung 1 gezeigte Klassendiagramm in den Entwurf. Berücksichtigen Sie dabei sowohl Objektverwaltung als auch Sichtbarkeitsangaben. b) Erstellen Sie ein Objektdiagramm zu dem in Teilaufgabe a) erstellten Klassendiagramm. Aufgabe 6.2 Notation im Entwurf Lernziel: Objektorientierte Notation des Entwurfs anwenden können. Spezifizieren Sie die folgende Problemstellung als OOD-Klassendiagramm und als Objektdiagramm: Ein Artikel wird von einem oder mehreren Lieferanten bezogen. Ein Lieferant liefert im Normalfall mehrere Artikel. Es soll eine Liste aller Artikel erstellt werden, die für jeden Artikel alle zugehörigen Lieferanten enthält. Außerdem soll für einen beliebigen Lieferanten eine Liste aller von im gelieferten Artikel erstellt werden.

40 Grundlagen der Softwaretechnik Übung 6: Objektorientierter Entwurf 40 Aufgabe 6.3 Literaturverwaltung Lernziel: Anwenden des Polymorphismus Eine Bibliothek soll elektronisch inventarisiert werden. Die Software soll dabei folgende Funktionen realisieren: Alle Literaturstellen (Bücher und Zeitschriftenartikel) sind nach Autoren sortiert in einer gemeinsamen Liste abzulegen Bücher sollen mit Autor, Titel, Ort und Erscheinungsjahr erfasst werden Zeitschriftenartikel sollen mit Autor, Titel, Zeitschrift, Ausgabe und Seitenangaben erfasst werden Alle Literaturstellen sollen nach Autoren sortiert ausgegeben werden Erstellen Sie ein entsprechendes Klassendiagramm unter Anwendung des Polymorphismus. Aufgabe 6.4 Zustandsmuster Lernziel: Anwenden des Zustandsmusters Realisieren Sie den Lebenszyklus der Klasse Buch mit dem Zustandsmuster. Abbildung 2: Zustandsdiagramm der Klasse Buch

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen

Mehr

Lösungen zu Übung 1 Grundlagen

Lösungen zu Übung 1 Grundlagen Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 1 Grundlagen Aufgabe 1.1 Unterschiede der Phasen Analyse und Entwurf Bevor mit

Mehr

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation Objektorientierte Konzepte und Notation in UML Objekt Klasse Attribut Operation Objekt Wodurch zeichnet sich ein Objekt aus? - Zustand - Verhalten - Identität Objektdiagramm - Notationsregeln :Kuh Elsa:Kuh

Mehr

Analyse und Entwurf objektorientierter Systeme

Analyse und Entwurf objektorientierter Systeme Analyse und Entwurf objektorientierter Systeme Teil 3 Modellbildung in der Analysephase 3.1 Statische und dynamische Notationselemente Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

SWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster

SWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster SWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster Aufgabe 1 analytische Aufgabe Die Eigenschaften und Einsatzbereiche

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Aufgabe 1 (Anwendungsfalldiagramm)

Aufgabe 1 (Anwendungsfalldiagramm) Studientag in Hagen Kurs 1793 08.07.2012 Aufgabe 1 (Anwendungsfalldiagramm) In dieser Aufgabe soll ein Anwendungsfalldiagramm für die im Folgenden beschriebenen Abläufe bei dem Kauf einer Fahrkarte an

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at UML Tutorial UML - Tutorial SS 06 Hubert Baumgartner www.inso.tuwien.ac.at INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte)

2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Objektmodellierung 2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Erklären

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

5 Projekt Bankverwaltung

5 Projekt Bankverwaltung Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen

Mehr

Softwaretechnologie - Wintersemester 2011/12 - Dr. Günter Kniesel

Softwaretechnologie - Wintersemester 2011/12 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2011/12 - Dr. Günter Kniesel Übungsblatt 4 - Lösungshilfe Aufgabe 1. Zustandsdiagramm (6 Punkte) Geben Sie ein Zustandsdiagramm für den Lebenszyklus

Mehr

Übung 1. Ziel: Statisches Modell (Klassendiagramm) aus allgemeiner Beschreibung erstellen.

Übung 1. Ziel: Statisches Modell (Klassendiagramm) aus allgemeiner Beschreibung erstellen. Übung 1 Ziel: Statisches Modell (Klassendiagramm) aus allgemeiner Beschreibung erstellen. Für Paletten ist eine verwaltung zu organisieren, eine Palette kann in einem offenen (z.b. eine große halle) stehen.

Mehr

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 3 Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online

Mehr

Grundlagen der Softwaretechnik

Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 03.03.2011 Prüfungsdauer:

Mehr

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für

Mehr

Darstellung von Assoziationen

Darstellung von Assoziationen Darstellung von Assoziationen Wie bereit aus Kapitel 1 bekannt, beschreiben Assoziationen Beziehungen zwischen Objekten, die zwischen Klassen modelliert werden. Zunächst soll die Modellierung binärer Assoziationen

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

4 Grundlagen der Datenbankentwicklung

4 Grundlagen der Datenbankentwicklung 4 Grundlagen der Datenbankentwicklung In diesem Kapitel werden wir die Grundlagen der Konzeption von relationalen Datenbanken beschreiben. Dazu werden Sie die einzelnen Entwicklungsschritte von der Problemanalyse

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Lösung zur Zusatzaufgabe Bankensoftware

Lösung zur Zusatzaufgabe Bankensoftware Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösung zur Zusatzaufgabe Bankensoftware Aufgabe 1 Anwendungsfälle a) Externe Akteure Kunde (Kontoinhaber)

Mehr

Erstellung eigener Hot-Spot-Karten

Erstellung eigener Hot-Spot-Karten mit der Lernwerkstatt 7 Lieber Lernwerkstatt-User! Die Hot-Spot-Umgebung der Lernwerkstatt 7 bietet den Lehrern zukünftig viele weitere Möglichkeiten, den Computer als Medium in den eigenen Lehrplan zu

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Übungsblatt 5 - Lösungshilfe

Übungsblatt 5 - Lösungshilfe Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2015/16 - Dr. Günter Kniesel Übungsblatt 5 - Lösungshilfe Aufgabe 1. Domain Object Modell(12 Punkte) Stellen Sie Sich vor, Sie sollen für die

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind

Mehr

Handbuch für die Termindatenbank

Handbuch für die Termindatenbank Handbuch für die Termindatenbank der NetzWerkstatt Kostenlos Termine im Internet veröffentlichen wie wird s gemacht? Eine Orientierungshilfe von der NetzWerkstatt Veranstalter Inhalt Usergruppen 3 Veranstalter

Mehr

ACS Data Systems AG. Bestellungen. (Version 10.08.2009) Buchhaltung für Schulen. ACS Data Systems AG. Bozen / Brixen / Trient. Tel +39 0472 27 27 27

ACS Data Systems AG. Bestellungen. (Version 10.08.2009) Buchhaltung für Schulen. ACS Data Systems AG. Bozen / Brixen / Trient. Tel +39 0472 27 27 27 ACS Data Systems AG Bestellungen (Version 10.08.2009) Buchhaltung für Schulen ACS Data Systems AG Bozen / Brixen / Trient Tel +39 0472 27 27 27 obu@acs.it 2 Inhaltsverzeichnis 1. BESTELLUNGEN... 3 1.1

Mehr

Einrichten eines News-Systems in Typo3

Einrichten eines News-Systems in Typo3 Einrichten eines News-Systems in Typo3 Generelles: tt_news ist eine der beliebtesten Erweiterungen für Typo3 und wir bereits auf vielen Sites Vorarlberger Schulen verwendet: Beispiele: http://www.vobs.at/hsl

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht)

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht) Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht) Anforderungen In einer Hochschulverwaltung sind mehrere Personengruppen tätig. Die Hochschule hat Angestellte, die Professoren, Labor-Ingenieure,

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

Mehr

EBW Systems HANDBUCH Offline Programm

EBW Systems HANDBUCH Offline Programm EBW Systems HANDBUCH Offline Programm Seite 1 von 7 Inhaltsverzeichnis 1. Programmsteuerung 2. Veranstaltungen verwalten 3. Daten absenden 4. Sonstige Hinweise Seite 2 von 7 1. Programmsteuerung Programm

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1.. Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart

Mehr

Anleitung zur Verwendung der Applikation zur Bezahlung der Maut über das Internet

Anleitung zur Verwendung der Applikation zur Bezahlung der Maut über das Internet Anleitung zur Verwendung der Applikation zur Bezahlung der Maut über das Internet Durch Anklicken der Ikone Benutzerportal haben Sie Zugang zur Applikation zur Bezahlung der slowenischen Maut über das

Mehr

PRAXISBUTLER ANPASSUNG DER VORLAGEN

PRAXISBUTLER ANPASSUNG DER VORLAGEN Praxisbutler Anpassung der Vorlagen 1 PRAXISBUTLER ANPASSUNG DER VORLAGEN Die Vorlagen werden hauptsächlich in den Bereichen Klienten und Fakturierung benutzt. Die Anpassung dieser Vorlagen ist wichtig,

Mehr

Handbuch oasebw Seite 1 von 10

Handbuch oasebw Seite 1 von 10 Seite 1 von 10 Seite 2 von 10 Inhaltsverzeichnis BESCHREIBUNG 4 VORGÄNGE 5 VORGANG NEU ANLEGEN 5 VORGANG BEARBEITEN 7 VORGANG ÜBERWACHEN 8 VORGANG LÖSCHEN/STORNIEREN 8 VERWALTUNG 9 PERSÖNLICHE EINSTELLUNGEN

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

ER-Modell. Entity-Relationship-Model

ER-Modell. Entity-Relationship-Model + ER-Modell Entity-Relationship-Model + Was ist ein Modell? Worte/Zitat aus einem Physikbuch: "Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die Wirklichkeit selbst." (Metzler Physik).

Mehr

Informationssystemanalyse Use Cases 11 1

Informationssystemanalyse Use Cases 11 1 Informationssystemanalyse Use Cases 11 1 Use Cases Slide 1 Als ein populäres Mittel um Anforderungen zu erfassen und Systeme zu beschreiben, werden Use Cases benutzt. Sie bilden die Basis für eine umfassendere

Mehr

SOFiSTiK Online. Anwendungsbeschreibung. Stand 14. April 2010

SOFiSTiK Online. Anwendungsbeschreibung. Stand 14. April 2010 Anwendungsbeschreibung Stand 14. April 2010 SOFiSTiK AG 2008 Inhaltsverzeichnis 1 Möglichkeiten und Ziele... 1 2 User-Administrator... 2 3 Anmeldung... 2 4 Meine Daten... 3 5 Ticket Tracker... 4 6 Support/Sales

Mehr

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata Benutzerhandbuch Softwaresystem Inspirata 1 Inhaltsverzeichnis 1. Login und Logout... 3 2. Kalender/Buchungen auswählen... 5 3. Betreuer... 7 3.1 Buchung anlegen... 7 3.2 Betreuer zuordnen... 8 3.3 Notiz

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Klausur zur Veranstaltung Softwareentwicklung 1. Sommersemester 2004. Hessische VWA. Dr. Alexandra Roder, Bernd Ulmann 5.

Klausur zur Veranstaltung Softwareentwicklung 1. Sommersemester 2004. Hessische VWA. Dr. Alexandra Roder, Bernd Ulmann 5. Klausur zur Veranstaltung Softwareentwicklung 1 Sommersemester 2004 Hessische VWA Dr. Alexandra Roder, Bernd Ulmann 5. Juni 2004 Hinweise: Die Klausur besteht aus 24 Teilaufgaben. Insgesamt sind 120 Punkte

Mehr

1 Objektorientierte Software-Entwicklung

1 Objektorientierte Software-Entwicklung 1 Objektmodellierung 1 Objektorientierte Software-Entwicklung Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Wissen, was unter objektorientierter

Mehr

Physiotherapiepraxis-Lastenheft

Physiotherapiepraxis-Lastenheft Physiotherapiepraxis-Lastenheft Inhaltsverzeichnis 1 Zielbestimmung... 2 2 Produkteinsatz... 3 3 Produktfunktionen... 4 4 Produktdaten... 7 5 Produktleistungen... 9 6 Ergänzungen... 10 1 Zielbestimmung

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Übung bezeichnung titel thema 1..10. Übungsgruppe gruppennr wochentag uhrzeit namementor vornamementor 1..25. Student name vorname matrikelnr

Übung bezeichnung titel thema 1..10. Übungsgruppe gruppennr wochentag uhrzeit namementor vornamementor 1..25. Student name vorname matrikelnr Software Engineering I Lösungsvorschläge zur Klausur vom.8.2007 Aufgabe Gefordert war ein redundanzfreies Klassendiagramm für die beschriebene Anwendungsdomäne. Zwei (von verschiedenen möglichen) Lösungen

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:

Mehr

Use Case Beschreibung: <Name (Nummer)>

Use Case Beschreibung: <Name (Nummer)> Dokument-Art UC Geltungsbereich Use Case Beschreibung: Version Autor Ausgabe vom Ersetzt Dokument Ausgabestelle Prüfstelle Freigabestelle

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

CAS genesisworld.exchange connect Abgleich von Adressen und Terminen

CAS genesisworld.exchange connect Abgleich von Adressen und Terminen Abgleich von Adressen und Terminen Stand Juni 2004 Was ist CAS genesisworld.exchange connect? Inhalt 1 Was ist CAS genesisworld.exchange connect?... 3 2 Systemvoraussetzungen... 5 2.1 Software...5 2.2

Mehr

Einbinden von iframes in eine Facebook Fan Page

Einbinden von iframes in eine Facebook Fan Page Eine kostenlose Ergänzung zum Buch: Facebook Fan Pages von Boris Pfeiffer 2011, Smiling Cat Publishing GmbH Einbinden von iframes in eine Facebook Fan Page Facebook hat mit der Einführung der neuen Fan

Mehr

Inhaltsverzeichnis. 1. Fragestellung

Inhaltsverzeichnis. 1. Fragestellung Inhaltsverzeichnis 1. Fragestellung... 1 2. Herleitung zum Thema... 1 3. Das Entity Relationship Modell (ERM)... 2 4. Praktisches Beispiel zum ERM... 7 5. Anhang...Fehler! Textmarke nicht definiert. 1.

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Vorname: Name: Matrikelnummer: Prüfungstag: 19.02.2015

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Klausur Softwaretechnik 3 22. Feb. 2008

Klausur Softwaretechnik 3 22. Feb. 2008 Klausur Softwaretechnik 3 22. Feb. 2008 Hinweise Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre Matrikelnummer eintragen. Prüfen Sie Ihre Klausur

Mehr

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13 Dokumentation KREDITVERZEICHNIS Teil 2 Konfiguration Stand 20.02.2013 KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 2/13 Inhalt 1. KONFIGURATION...

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Trennen der Druck- und der Online-Version.. 4 Grunddaten ändern... 5 Weitere Artikel-eigenschaften...

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

1. Einführung. 2. Weitere Konten anlegen

1. Einführung. 2. Weitere Konten anlegen 1. Einführung In orgamax stehen Ihnen die gängigsten Konten des Kontenrahmens SKR03 und SKR04 zur Verfügung. Damit sind im Normalfall alle Konten abgedeckt, die Sie zur Verbuchung benötigen. Eine ausführliche

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent Beispieldaten-Assistent Jeder Access-Entwickler steht irgendwann vor der Situation, mal eben einige Beispieldatensätze zu seiner Anwendung hinzuzufügen. Wer keine Lust auf Fantasie-Einträge wie ASDF oder

Mehr

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Software Engineering

Software Engineering Software Engineering Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Geeignete Größe der Use Cases Die UML macht keine genauen Vorschriften, wie umfangreich ein

Mehr

Leitfaden zur Anlage einer Nachforderung. Nachforderung. 04.04.2013 Seite 1 von 11 RWE IT GmbH

Leitfaden zur Anlage einer Nachforderung. Nachforderung. 04.04.2013 Seite 1 von 11 RWE IT GmbH Leitfaden zur Anlage einer 04.04.2013 Seite 1 von 11 Inhaltsverzeichnis 1 Aufruf des RWE smanagements...3 2 Eingabe der Benutzerdaten...4 3 Erfassen der...5 4 Neue...6 4.1 Allgemeine Daten...7 4.2 Beschreibung...7

Mehr

Anleitung für das MS Project Professional 2003 (Deutsche Version)

Anleitung für das MS Project Professional 2003 (Deutsche Version) Anleitung für das MS Project Professional 2003 (Deutsche Version) Erstes Starten... 2 Tutorial... 3 Hilfe... 4 Critical Path / Kritischer Weg... 5 Der Critical Path / Kritischer Weg wird nicht korrekt

Mehr

Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung.

Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung. Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung. 9. Analyse Muster 1 Der Unterschied von Analyse und Design Pattern besteht auch in der zeitlichen Abfolge. Analyse Muster werden in der Analyse

Mehr

Produktentwicklung damit sollten Sie rechnen

Produktentwicklung damit sollten Sie rechnen Produktentwicklung damit sollten Sie rechnen 0. Zusammenfassung Wer Produktentwicklung betreiben will, muss in erster Linie sehr viel lesen: Dokumente aus unterschiedlichsten Quellen und in vielen Formaten.

Mehr

1. Arbeiten mit dem Touchscreen

1. Arbeiten mit dem Touchscreen 1. Arbeiten mit dem Touchscreen 1.1. Einleitung Als weitere Buchungsart steht bei DirectCASH ein Touchscreen zur Verfügung. Dieser kann zwar normal via Maus bedient werden, vorzugsweise jedoch durch einen

Mehr