KE1: Software Engineering im Überblick

Größe: px
Ab Seite anzeigen:

Download "KE1: Software Engineering im Überblick"

Transkript

1 KE1: Software Engineering im Überblick 2.2 Eigenschaften von Software (S. 6) Softwareeigenschaften: nicht sinnlich wahrnehmbar, Text, digital Eigenschaften großer Software: komplex, besteht aus umfangreichen Artefakten, hat eine lange Lebensdauer, verfestigt Sichtweisen 3.1 Kriterien für Softwarequalität (S. 10) Kriterien: Produktqualität (Korrektheit, Verständlichkeit, Änderbarkeit, Wiederverwendbarkeit), Gebrauchsqualität (Zuverlässigkeit, Effizienz, Fehlerrobustheit) nach ISO9126-1: Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Änderbarkeit 3.2 Aktivitäten (S. 13) Aktivitätenarten: Anforderungsermittlung, Entwurf, Implementation, Test, Systemeinführung Anforderungsermittlung: Anforderungen stammen aus dem Anwendungsbereich, Ausgangsbasis sind informelle Gespräche mit den Anwendern; in der Anforderungsspezifikation (»Pflichtenheft«) wird der Leistungsumfang der Software möglichst exakt festgeschrieben, beihaltet was, aber nicht wie, Endabnahme erfolgt nach dieser Spezifikation; Unterscheidung in funktionale Anforderungen (Eigenschaften, Schnittstellen) und nichtfunktionale Anforderungen (Qualität, Performanz); Validieren (wird das richtige Programm geschrieben?), Verifizieren (wird das Programm richtig geschrieben?) Entwurf: damit wird die innere Struktur der Software festgelegt; jedes Modul sollte ein logisch zusammenhängendes Teilproblem behandeln (starke Köhäsion); die Abhängigkeit zu anderen Modulen sollte gering sein (schwache Kopplung); Geheimnisprinzip (Realisierung braucht anderen Modulen nicht bekannt zu sein); Unterstützung durch Klassenbibliotheken, Rahmenwerke und Entwurfsmuster (wie MVC) Implementation: Ausprogrammierung der Modulinterna auf der Grundlage der Entwurfsspezifikation; bei Verwendung von Rahmenwerken besteht zwischen Entwurf und Implementation keine scharfe Trennung Test: Einzeltest der Module im Modultest; danach Integrationstest (Hinzufügen einzelner Module), danach Systemtest Systemeinführung: Übertragung aus der Entwicklungs- in die Einsatzumgebung 4 Vorgehensmodelle (S. 20) Modelle: iterativ, inkrementell und evolutionär; Wasserfall, Prototyping, RUP, XP 1

2 KE2: Strukturelle Modellierung 9.1 Objekte (S. 72) allgemein: Abstraktion eines Objektes beschreibt die Herausarbeitung der Gemeinsamkeiten, die dieses Objekt von anderen unterscheidet; Prinzip des»geringsten Erstaunens«; Name des Objektes wird in UML im Rechteck dargestellt und unterstrichen, Attribute darunter, Operationen gar nicht; Verbindungen: Objekte können Dienstleister und -nutzer sein (ein Dienstnutzer aktiviert eine Operation des Dienstleisters); Namen von Verbindungen können optional an der Verbindungskante eingetragen werden (unterstrichen), uni- und bidirektionale Kanten werden als Pfeile mit offener Spitze dargestellt; ein Objekt kann bezüglich seiner Verbindungen unterschiedliche Rollen spielen, eine Rolle ist eine Teilmenge der vom Objekt angebotenen Operationen, sie definiert das Verhalten des Objekts gegenüber den verbundenen Objekten, Kennzeichnung: Substantive, die an den jeweiligen Verbindungsenden notiert kleingeschrieben und nicht unterstrichen werden 10 Klassen und Beziehungen (S. 80) Klassen: können als abstrakter Objekttyp verstanden werden; Ziel der Klassenmodellierung ist das Herausarbeiten von Gemeinsamkeiten von Objekten; abgeleitete Attribute (die aus anderen Attributen der gleichen Klasse berechnet werden können) werden mit einem vorgestellten Schrägstrich geschrieben Schreibweisen von Klassen in UML: wird im Rechteck, aber nicht unterstrichen dargestellt; Schreibweise von Objekten: [Objektname] [: Klassenname]; Attribute werden mit erstem Kleinbuchstaben geschrieben, Sichtbarkeit und Änderbarkeit kann angegeben werden: public menge : Integer = 0 changeable; Attribute werden im Kästchen unter dem Objektnamen aufgelistet, Operationen nochmal darunter (jeweils durch einen Querstrich getrennt) Operationen: Übergabeart von Parametern kann angegeben werden: in Eingabeparameter als Werteparameter, die von der Operation nicht modifiziert werden können; inout Eingabeparameter als Referenzparameter, die von der Operation modifiziert werden können; out reine Rückgabeparameter als Referenzparameter; Selektoren werden mit der Eigenschaft isquery gekennzeichnet; Bsp: public monatsumsatz(in aktmonat : Monat) : Geld isquery 10.3 Assoziationen (S. 86) Assoziationen: sind Verbindungen von Instanzen von Klassen; werden in UML durch durchgezogene Linien zwschen den Kästchen dargstestellt, der Name der Assoziation steht in der Mitte der Linie, an den Ende die Multiplizität: 1..1 (genau eine verbundene Instanz, Abkürzung: 1), 0..* (beliebig viele 2

3 verbundene Instanzen, Abkürzung: *), 0..1 (keine oder eine verbundene Instanz) und 1..* (unbegrenzt viele verbundene Instanzen, aber mindestens eine); kennt eine Instanz der Klasse A Instanzen der Klasse B, aber nicht umgekehrt, so wird die Assoziation zwischen den Klassen als (einseitig) navigierbar (unidirektional) gekennzeichnet und im Klassendiagramm als Pfeil mit offener Spitze in der (Kenntnis-) Richtung von Klasse A zu Klasse B gezeichnet; ungerichtete könen auch als bidirektional aufgefaßt werden; bei verschiedenen Assoziationsbeziehungen zwischen zwei Klassen können mehrere Assoziationen gemalt werden, sie werden an den Enden mit Rollenbezeichnungen versehen; Aggregation: sind spezielle Assoziationen, die eine Hierarchie auf den verbundenen Instanzen definieren; anschaulich gesprochen besteht ein Teil-Ganzes-Verhältnis zwischen den verbundenen Instanzen, Dabei hat die Ganzes-Instanz eine Verantwortung für die Teil-Instanzen; in UML wird eine Aggregation durch eine nicht ausgefüllte Raute am Ganzes-Ende der Assoziationslinie gekennzeichnet. Komposition: ist eine spezielle Assoziation, bei der noch schärfere semantische Bedingungen als bei der Aggregation gelten: Teilobjekte einer Komposition dürfen nur von Operationen der Ganzes-Klasse entfernt oder ausgetauscht werden, sie dürfen nicht Teil anderer Kompositionen sein und sie werden beim Zerstören des Ganzes-Objekts automatisch mitzerstört; Darstellung durch gefüllte Raute am Ganzes-Ende oder es kann auch die Teil-Klasse innerhalb der Ganzesklasse gezeichnet werden, die Multiplizität des Teils wird dann rechts oben in die Darstellung der Teil-Klasse geschrieben Assoziationsklassen: stattet Assoziationen mit Attributen und Operationen aus; jede Assoziationsklasse repräsentiert genau eine Assoziation; wird in UML mit einer gestrichelten Linie mit der jeweiligen Assoziationslinie verbunden; Standardoperationen: für Klassen: gibatt() : T und setzeatt(in wert:t) (Getter und Setter), für Assoziationen: verbindeass(in EinB : B) verbindet die ausführende A-Instanz mit der übergebenen B-Instanz EinB; gibass(): B gibt die mit der ausführenden A-Instanz verbundene B-Instanz zurück; loeseass(in EinB : B) hebt die Verbindung zwischen der ausführenden A-Instanz und der übergebenen B-Instanz EinB wieder auf; erzeuge(): K gibt eine neue Instanz der Klasse K zurück, zerstoere() zerstört die ausführende Instanz Generalisierung: betrachtet klassenübergreifende Gemeinsamkeiten; vermeidet Redundanz; die allgemeinere Klasse heißt Oberklasse und die speziellere Klasse Unterklasse; die Unterklasse erbt alle Attribute und Operationen sowie alle Assoziationen der Oberklasse, im UML werden Generalisierungsbeziehungen mit zu der Oberklasse weisenden Pfeilen mit nicht ausgefülltem Dreieck und durchgezogener Linie dargestellt; 11 Klassen und Beziehungen: fortgeschrittene Konzepte (S. 99) Darstellung von Sichtbarkeiten in UML: public wird durch + und private durch - kenntlich gemacht; protected mittels # (ist nur in einer Klasse und deren Unterklassen sichtbar) 3

4 Stereotype: können Klassen oder Assoziationen besonders aussagekräftig an die jeweilige Situation anpassen; jeder Stereotyp wird durch einen Bezeichner identifiziert, Zusätzlich kann auch ein vereinbart werden; in UML-Diagrammen können stereotypisierte Klassen auf drei verschiedene Arten dargestellt werden: der Bezeichner des Stereotyps wird textuell, eingefaßt in guillemets (), über dem Namen der Klasse angegeben, oder Tdas grafische Symbol des Stereotyps (Kreis mit Pfeilspitze) erscheint oben rechts im Klassenrahmen oder es ist nur das grafische Symbol des Stereotyps mit darunterstehendem Klassennamen aufgeführt; Aufzählungstypen werden mit dem Stereotyp «enumeration» dargestellt Abhängigkeiten: gerichtete Beziehung, welche die hinsichtlich eines bestimmten Sachverhalts abhängigen Elemente mit den unabhängigen Elementen verknüpft; Darstellung in UML mittels gestrichelter Linie und offener Spitze hinzu den unabhängigen Elementen Klassenattribute und Klassenoperationen: gelten für alle Instanzen der Klasse (sozusagen global, in Java static); werden in UML durch Unterstreichung des Bezeichners dargstellt; Zusicherungen: geben zu geltende Bedingungen an; wird in das Klassendiagramm integriert, indem sie eingeschlossen in geschweifte Klammern an die Elemente im Klassenmodell geschrieben wird, für welche sie gilt, das kann umgangssprachlich oder in Pseudocode sein; Verwendung zum Beispiel bei mehrwehrtigen Assoziationen, daß eine Menge {geordnet} ist (jedes Objekt kommt nur einmal vor; darf ein Objekt mehrfach vorkommen, so wird dies durch die Zusicherung {Kollektion} angezeigt; Pakete: Gruppierung von Elementen, die selbst wieder Pakete sein können; Modellierungselemente, die innerhalb des Pakets und innerhalb aller (hierarchisch) im Paket enthaltenen Pakete sichtbar sein sollen, werden als paketweit (package) deklariert; Default-Sichtbarkeit (keine Angabe) gilt innerhalb des eigenen Paketes; Pakete können importiert werden oder die Namen werden voll qualifiziert angesprochen; in UML werden als Pakete als Rechtecke dargestellt, die mit einem kleinen Schildchen an der linken oberen Ecke versehen sind; ~ (paketweit sichtbar); Import- bzw. Access-Abhängigkeiten werden als gestrichelte mit «import» bzw. «access» gekennzeichnete Pfeile mit offener Spitze dargestellt, die Pfeilspitze zeigt dabei jeweils auf das benutzte Paket 11.4 Abstrakte Klassen und Interfaces (S. 103) Typen von Klassen: reguläre Klassen (alle Operationen sind implementiert), abstrakte Klassen mit mindestens einer abstrakten Definition, Interfaces (ohne Attribute und implementierte Klassen, ohne Kenntnis von Assoziationen, dürfen nur Ziel einseitig navigierbarer Assoziationen sein); Zweck: abstrakte Klassen und Interfaces dienen primär der Strukturierung, sie extrahieren Gemeinsamkeiten von Klassen und definieren Vorgaben für deren Schnittstellen, wobei in abstrakten Klassen nicht nur die Schnittstelle, sondern auch Teile der Implementierung zur Redundanzvermeidung vordefiniert 4

5 werden können; ein Interface kann die öffentlichen Schnittstellen von Klassen einschränken; Schreibweise in UML: abstrakte Klassen und Operationen werden kursiv geschrieben, oder es wird das Schlüsselwort abstract vorangestellt; Interfaces werden mit dem Stereotyp «interface» oder als ein kleiner, mit dem Namen des Interface unterschriebener, Kreis dargestellt; eine «realizes»-abhängigkeit wird als vom Klassensymbol der realisierenden Klasse zum Klassensymbol des Interfaces zeigender, an die Ähnlichkeit zur Generalisierungsbeziehung erinnernder Pfeil mit Dreieckspitze und gestrichelter Linie gezeichnet (Abkürzung: Lollipopmit Interfacename); benötigt eine Klasse ein Interface als Attribut- oder Parametertyp, so wird dies im Klassenmodell mit einer «use»-abhängigkeit festgehalten; 11.8 Textuelle Spezifikationen (S. 110) Anwendung: wird zu präziseren Definition verwendet; enthält z. B. die grundsätzlichen Verantwortlichkeiten der Klasse und ihre Eigenschaften, die Semantik der Operationen wird dabei durch Vor- und Nachbedingungen sowie durch eine Klasseninvariante präzisiert Vorbedingungen: definieren, welche Voraussetzungen vor dem Aufruf einer Operation gelten müssen, damit diese die definierte Leistung erbringen kann, sie beziehen sich meist auf die Zustände der aktuellen in- und inout-parameter und den Zustand des dienstleistenden Objekts Nachbedingungen: definieren das durch das dienstleistende Objekt abgelieferte Ergebnis der Operation unter der Annahme, dass die Vorbedingung beim Aufruf erfüllt war, sie beziehen sich meist auf den Zustand des dienstleistenden Objekts und die inout- und out-pa-rameter sowie auf die Zustände verbundener Objekte nach der Operationsausführung Klasseninvariante: erlaubt es, gemeinsame Teile aus allen Vor- und Nachbedingungen der Operationen der Klasse herauszuziehen und nur einmal zu notieren, gilt vor und nach jeder Ausführung jeder öffentlichen Operation der Klasse Aufbau: im Abschnitt responsibilities wird der Verantwortungsbereich der Klasse beschrieben; die Klasseninvariante ist unter inv angegeben; das Schlüsselwort features leitet die Unterabschnitte für die Attribut- und Operationsspezifikationen ein; Vor- und Nachbedingungen mittels pre und post, Kommentare mit comment KE3: Funktions-und Verhaltensmodellierung 13 Anwendungsfalldiagramme (S. 120) Akteure: das sind Benutzer, die eine mit bestimmten Aufgaben verknüpfte Rolle einnehmen; werden in UML als Strichmännchen dargstellt; können in einer Generalisierungsbeziehung zueinander stehen 5

6 Anwendungsfälle: formuliert eine in sich abgeschlossene Teilfunktionalität des Anwendungssystems, an denen Akteure beteiligt sind; werden grafisch als Ellipsen dargestellt, wobei der Name in der Ellipse eingetragen ist; können in einem bezeichneten Rechteck gebündelt werden; Assoziation zwischen Akteuren und Anwendungsfällen werden wie im Klassendiagramm dargestellt; werden textuell aus Sicht der Akteure beschrieben; mögliche Abweichungen vom normalen Ablauf werden in eigenen Abschnitten aufgeführt: alternative/exceptional flows, bei letzterem wird eine gesonderte Nachbedingung angegeben; ein Szenario ist ein konkreter Ablauf eines Anwendungsfalls; können in einer Generalisierungsbeziehung stehen Beziehungen zwischen Anwendungsfällen: Strukturierung kann wegen vielen oder komplexen Anwendungsfällen notwendig werden, dafür gibt es «include» und «extend»; include wird verwendet, wenn verschiedene Anwendungsfälle diesselbe Teilfunktionalität beihalten, in UML wird das durch einen gestrichelten Pfeil mit offener Spitze Richtung benutzten Anwendungsfall dargestellt, der mit «include» beschriftet ist; textuell durch (include Anwendungsfallname ) extend bedeutet, daß ein Anwendungsfall unter bestimmten Bedingungen durch eine beschriebene Funktionalität erweitert werden kann (optional); in UML wie bei include dargestellt, nur daß der Pfeil zum Basisanwendungsfall hin gerichtet ist; Erweiterungspunkte eines Basisanwendungsfalls werden durch horizontale Unterteilung des Anwendungsfallsymbols dargestellt 14 Interaktionsdiagramme (S. 134) allgemeines: beschreiben den Ablauf von Funktionen und präzisieren so die Semantik; ein konkreter Ablauf wird mit den Aktionen der Akteure und dem Austausch von Nachrichten durch die Objekte erfaßt; Sequenzdiagramme: jedes Objekt wird am oberen Ende einer gestrichelten vertikalen Linie dargestellt (Lebenslinie); der Aufruf einer Operation wird als Pfeil mit geschlossener, ausgefüllter Spitze von der Lebenslinie des dienstnutzenden zu der des dienstleistenden Objekts wiedergegeben, dabei wird von oben nach unten der zeitliche Ablauf wiedergegeben; jeder Pfeil wird mit dem Namen der aufgerufenen Operation beschriftet; es können Bedingungen und Iterationen dargestellt werden; Erzeugung durch Pfeil auf Objekt, Zerstörung durch am Ende der Lebenslinie; Synchrone Nachrichten und Aktivierungen: synchrone Nachrichten werden durch geschlossene gefüllte Pfeile dargestellt; wenn ein Objekt auf die Antwort einer synchronen Nachricht wartet, wird auf der Lebenslinie ein schmales Rechteck (Aktivierungsbalken) dargestellt; Rückkehr ist implizit, kann aber mit gestricheltem Pfeil zurück dargestellt werden; Asynchrone Nachrichten und aktive Objekte: bei asynchroner Verarbeitung werden alle aktiven Objekte durch fette Umrandung dargestellt und asynchrone Nachrichten durch Pfeile mit offener Spitze Kollaborationsdiagramme: stellen Objektdiagramme mit ablauforientiertem Verhalten dar; Abfolge der Nachrichten wird durch Numerierung verdeutlicht, entweder Ordinalzahlen oder hierarchische Dezimalnotation; Objekte werden mit {new}, 6

7 {destroy} oder {transient} gekennzeichnet; Nachteil ist, daß die Abfolge der Nachrichten nicht mehr so leicht wie im Sequenzdiagramm zu erkennen ist; 15 Zustandsdiagramme (S. 148) Zustände: es wird dargestellt,wie die Instanzen einer Klasse in Abhängigkeit von ihrem Zustand und weiteren Bedingungen auf bestimmte Ereignisse wie z. B. den Aufruf einer Operation reagieren; der Zustand eines Objekts zu einem bestimmten Zeitpunkt ist durch die vorliegende Kombination seiner konkreten Attributwerte und Verbindungen zu anderen Objekten determiniert; bei der Modellierung von Zuständen werden Eigenschaften, die das Verhalten nicht beeinflussen, ignoriert; Zustände werden in der UML als abgerundete Rechtecke dargestellt,in denen der Bezeichner des Zustands angegeben werden kann; Ereignisse: bezeichnet das Eintreten eines bestimmten Sachverhalts zu einem bestimmten Zeitpunkt, das im Kontext der Modellierung eine vernachlässigbare Zeitdauer besitzt; Aufruf-, Änderungs-,Zeitereignisse; die Reaktion auf den Eintritt eines Ereignisses ist ein Zustandsübergang, dieser wird mit einem Pfeil mit offener Spitze vom Ausgangs- zum Folgezustand dargestellt, der mit dem Namen des Ereignisses beschriftet ist; wenn ein Ereignis mehrere Folgen haben kann, wird die Bedingung eines Zustandsübergangs im Zustandsdiagramm in eckigen Klammern hinter dem Ereignisnamen angegeben; UML-Syntax: Ereignis [Wächterbedingung] / Aktionsfolge ^ Sendeaktion Initial-/Terminal-, Zusammengesetzte Zustände: beides optional; Initialzustand wird durch erzeugt, von dem aus ein Zustandsübergang stattfindet und das Objekt erzeugt wird; Terminalzustände werden durch schwarz gefüllten Doppelkreis dargstellt; zusammengesetzte Zustände werden als abgerundetes rechteck gezeichnet, wobei jeder zusammengesetzte Zustand ein Zustandsdiagramm mit Initialzustand umfaßt; KE4: Anforderungsermittlung Ziele und Vorgehensweise: Basisanforderungen in einem Lastenheft; (nicht-)funktionale Anforderungen; Ergebnis der funktionalen Anforderungen ist die Anforderungsspezifikation; Teilaufgaben: Extraktion (Studium der Domäne, Befragungen), Verhandlung (Art und Umfang, Qualität, Zeitplan), Spezifikation (Erstellen eines Referenzdokumentes), Validierung (Überprüfung der fachlichen Vollständigkeit und Korrektheit); zuerst verschafft sich ein Analytiker den Überblick, dann werden mit Anwendern Szenariern durchgegangen, daraus entstehen Akteure und Anwendungsfälle; aus identifizierten Objekte und Klassen entsteht das Domänenklassenmodell ohne Operationen; Einstieg: Studium der Domäne und Gewinn von Informationen, dann Erstellen eines Glossars unter Vermeidung von DV-technischen Begriffen und Beachtung von Synonymen und Homonymen; 7

8 18 Anwendungsfallmodellierung (S. 169) Vorgehensweise: Ausgangsbasis Lastenheft; dann Ermittlung und Beschreibung von Szenarien; dann Benutzer mit Akteuren modellieren und die für die einzelnen Akteure wichtigen Szenarien in Anwendungsfällen bündeln; gegenseitige Abhängigkeiten untersuchen und im Anwendungsfalldiagramm verknüpfen; evtl. Zusammenfassung in Paketen; Szenarien: jede Teilfunktion wird in Szenarien festgehalten; konkrete Beispielsituationen werden durchgespielt; Akteure: für jeden menschlichen Akteur muß eine Person existieren, welche die Rolle des Akteurs spielen kann; als Ergebnis erhält man die Akteure selbst sowie einen Überblick über die von ihnen benutzten Funktionen des Anwendungssystems; weisen die Aufgaben und Verantwortlichkeiten verschiedener Akteure Gemeinsamkeiten auf, können diese durch einen allgemeineren Akteur und entsprechende Generalisierungsbeziehungen ausgedrückt werden Anwendungsfälle: Szenarien werden zuerst zu einigen wenigen großen Anwendungsfällen zusammengefaßt; dann so trennen, daß jeder Anwendungsfall eine klar abgegrenzte Aufgabe behandelt; Anwendungsfälle sollten Akteure haben und die Systembenutzung (nicht das System) beschreiben; jeder Anwendungsfall wird auch niedergeschrieben, sollte aber nicht eine Seite übersteigen Beziehungen zwischen Anwendungsfällen: Teilszenarien können mittels include oder extend verwendet werden; die Beziehungen sollen aber keine Abläufe, sondern modulare Aufteilung modellieren; Pakete: Pakete von Anwendungsfällen werden nach ihrer fachlichen Zusammengehörigkeit gebildet; Anwendungsfälle aus verschiedenen Paketen sollten nur minimale Abhängigkeiten besitzen, im Idealfall impliziert die Aufteilung der Anwendungsfälle auf Pakete auch eine entsprechende Aufteilung der Akteure 19 Domänen-Klassenmodellierung (S. 175) Vorgehensweise: zuerst werden potentiellen Objekte, Klassen, Attribute und Assoziationen notiert und in ein Glossar eingefügt; die Domänen-Klassenmodellierung beginnt mit der Identifizierung von Objekten und Klassen und bestimmt dann Attribute und Assoziationen; dann werden die Klassen grob textuell spezifiziert, abschließend werden bei umfangreichen Klassendiagrammen fachlich zusammengehörende Klassen zu Paketen gebündelt; jedes Element des Domänen-Klassenmodells sollte ein Pendant besitzen,das ein relevanter Gegenstand oder Sachverhalt der Problemwelt ist. Klassen und Assoziationen: auf jede Klasse des Domänen-Klassenmodells muss in mindestens einem Anwendungsfall oder Szenario Bezug genommen werden; Attribute und Assoziationen einer Klasse ergeben sich aus der Problemwelt und aus den Informationen, die von den Anwendungsfällen und Szenarien benötigt werden, sie werden nur grob und umgangssprachlich beschrieben; es sollten nur öffentliche Attribute angegeben werden; 8

9 Generalisierungsbeziehungen: besitzen zwei Klassen mehrere gleiche Attribute oder gehen mit den gleichen Klassen Assoziationsbeziehungen ein, so kann eine Generalisierung angebracht sein; Attribute und Assoziationen werden in der Generalisierungshierarchie stets so hoch wie möglich angesiedelt; Modellbereinigung: Klassen mit nur einem Attribut können evtl. anderen Klassen zugeteilt werden; abgeleitete Attribute und Assoziationen müssen als solche markeiert werden; zu jeder Domänenklasse sollte mehr als ein Objekt existieren textuelle Spezifikationen: Eigenschaften, die in Klassendiagrammen nicht genau genug ausgedrückt werden können, werden in knapper Form textuell spezifiziert; sie sollte möglichst spät angefertigt werden Pakete: werden wiederum nach fachlicher Zusammengehörigkeit gebildet; als Kernklassen von Paketen kommen die obersten Klassen von Aggregationen, Kompositionen und Generalisierungshierarchien sowie alle anderen Klassen in Frage, die nicht Teil einer solchen Beziehung sind; Nicht-Kernklassen ordnet man den Paketen zu, von deren Kernklassen sie Unter- bzw. Teilklassen darstellen; 20 Benutzungsoberfläche (S. 181) Anforderungen: die Beschreibung der Benutzungsoberfläche in der Anforderungsermittlung muß die wesentlichen Fenster und ihre Verbindungen sowie die Navigation zwischen den Fenstern konzipieren; 22 Validierung und Verifikation (S. 186) Validierung: Wird das richtige Produkt entwickelt? wird vom Auftraggeber beantwortet; Schritte dafür sind sog. walg-throughs und Reviews Verifikation: Wird das Produkt richtig entwickelt wird von Analytikern, Entwicklern und Testern beantwortet; im Rahmen der Anforderungsermittlung ist nur ein grober Abgleich mit dem validierten Anwendungsfallmodell sinnvoll; KE5: Analyse Ziele und Vorgehensweise: Anwendungsfälle werden in Klassen überführt, siese Klassen werden zum Teil als Schnittstellen- und Kontrollklassen neu eingeführt, zum Teil wird das Domänen-Klassenmodell beibehalten, die neuen Klassen werden mit dem Domänen-Klassenmodell zu einem Analyse-Klassenmodell zusammengefaßt; das Analyse-Klassenmodell wird mit Operationen gefüllt; abschließend Verifikation; die daraus entstehende Analysespezifikation bildet die Vorgabe für die Realisierung des Anwendungssystems; die Analysespezifikation umfaßt das Analyse-Klassenmodell, Interaktions-und Zustandsdiagramme und Dokumente, in denen die Durchführung und die Ergebnisse der Verifikationsaktivitäten festgehalten sind 9

10 25 Klassenmodellierung: Heuristiken (S. 228) 1-1 Assoziation oder eine Klasse?: zwei verschiedene Klassen sind die bessere Wahl, wenn die 1-1 As- soziation zwischen diesen beiden Klassen in einer Richtungen optional spezifiziert ist; zwei verschiedene Klassen sind die bessere Wahl, wenn eine Instanz eine Verbindung zu Instanzen weiterer Klassen eingehen kann. Attribute oder Generalisierung?: wenn sich die Objekte bei Attributen und Verhalten unterscheiden, wird die Generalisierung benutzt; ansonsten werden Attribute benutzt; im Zweifelsfalle werden die Objekte zunächst anhand der Attributwerte unterschieden, sollte sich im Laufe der Modellierung herausstellen, daß sich in Abhängigkeit von den Attributwerten unterschiedliche Verhaltensweisen oder Verbindungen ergeben,k ann man immer noch zur Unterklassenbildung greifen 26 Klassenmodellierung (S. 234) Einleitung: Analyseklassen sind sehr abstrakt (nur funktionale Anforderungen, keine Angaben auf programmiersprachlicher Ebene, keine Navigierbarkeit bei Assoziationen); Symbole für Typen der Analyseklassen sind (Schnittstellenklasse), < (Kontrollklasse) und (Entitätsklasse) (sieht scheiße aus, ich weiß); Entitätsklassen: repräsentieren langlebige Informationen im Anwendungssystem; zur Übertragung von Domänenklassen in Entitätsklassen werden zunächst die Domänenklassen mit dem Stereotyp «Entitätsklasse» oder dem Symbol gekennzeichnet, dann werden Attribute und Assoziationen der Entitätsklassen noch verfeinert sowie Operationen aufgenommen; Schnittstellenklassen: Schnittstellenklassen bündeln die Interaktionen zwischen den Akteuren und dem Anwendungssystem; für jeden Akteur wird eine Akteur-Schnittstellenklasse (AS) definiert, welche dem Akteur erlaubt, die ihm zur Verfügung stehenden Anwendungsfälle zu aktivieren; Akteur-Schnittstellenklassen werden durch den Namen des Akteurs mit angehängtem AS bezeichnet; es wird sich nur auf menschliche Akteure konzentriert; für jeden Anwendungsfall und jeden am Anwendungsfall beteiligten Akteur wird eine Anwendungsfall-Akteur-Schnittstellenklasse (AAS-Klasse) modelliert, über welche die Interaktion des Akteurs mit dem Anwendungsfall abgewickelt wird; eine AAS-Klasse wird durch den Namen des Anwendungsfalls gefolgt von dem des Akteurs und angehängtem AAS bezeichnet Kontrollklassen: die fachliche Logik wird in einer Kontrollklasse pro Anwendungsfall gekapselt, sie kontrolliert die Entitätsklassen gemäß der fachlichen Logik und spielen eine Vermittlerrolle zwischen Schnittstellen- und Entitätsklassen; sie werden durch den Namen des Anwendungsfalls mit angehängtem K bezeichnet Operationen: die in der Anforderungsspezifikation festgehaltenen Anwendungsfälle bilden zusammen mit den Interaktionen aus den Sequenzdiagrammen die Basis für die Operationen; jede externe Interaktion entspricht einer Operation; ist Voraussetzung für Verifikation; danach wird nach den Heuristiken bereinigt Pakete: es wird sich zuerst nach Akteuren und Anwendungsfällen gerichtet; die resultierenden Pakete werden z. B. mit dem Namen des Akteurs oder einem 10

11 Oberbegriff für die zusammengefassten Anwendungsfälle mit angehängtem P bezeichnet und nach den drei Kategorien von Klassen jeweils in Unterpakete SchnittstelleP, KontrolleP und EntitaetenP weiter zerlegt; 27 Verhaltensmodellierung (S. 242) Ablauf: erst werden die den Anwendungsfall realisierenden Klassen kenntlich gemacht, dann wird ein Kollaborationsdiagramm gezeichnet; die zugehörigen Entitätsklassen werden aus der textuellen Beschreibung ermittelt, an den Verbindungen werden die Operationsaufrufe notiert; Szenario beginnt mit einem Operationsaufruf vom Akteur an die AAS-Klasse; 28 Verifikation Intra-Modell-Verifikation: die Modelle werden hinsichtlich ihrer Vollständigkeit, Eindeutigkeit und Konsistenz geprüft; im Anwendungsfallmodell werden die textuellen Beschreibungen auf include und extend geprüft; im Klassenmodell wird geprüft, ob alle Assoziationsenden mit Multiplizitäten versehen sind, keine ableitbaren Attribute existieren und in Generalisierungshierarchien keine Redundanzen enthalten sind und Interfaces bzw. abstrakte Klassen vollständig implementiert sind; bei Interaktionsdiagrammen wird überprüft, ob jeder Pfeil mit einem Operationsnamen beschriftet ist und jedes Objekt explizit erzeugt wird Inter-Modell-Verifikation: Modelle werden gegeneinander abgeglichen, zuerst das Analyse-Klassenmodell mit dem Anwendungsfallmodell, dann gegen Zustandsdiagramme und Interaktionsdiagramme; die Konsistenz ist gewährleistet wenn für jede Aktion im Szenario eine Operation im Klassenmodell vorhanden ist und umgekehrt, sowie wenn die aufeinander folgenden Nach- und Vorbedingungen konsistent sind KE5: Architekturentwurf Ziele und Vorgehensweise: Verfeinerung einer groben Grundstruktur; ein guter Architekturentwurf verwendet objektorientierte Konzepte, ist unabhängig vom Anwendungsbereich und unterstützt Wiederverwendung; der Architekturentwurf mündet in die Architekturspezifikation Schichtenarchitekturen: Aufgabenarten werden auf unterschiedliche Schichten mit getrennten Verantwortlichkeiten aufgeteilt; Änderungen sollen sich nur schichtenlokal auswirken; 3-Schichten-Architektur: externe Schnittstelle, Anwendungskern, Datenhaltung KE6: Grundlagen des Entwurfs Ziele und Vorgehensweise: Ausgangspunkt ist die Analyse- und Architekturspezifikation; im Entwurf wird die Zerlegung der komplexen und 11

12 kleinere beherrschbare Teile bewerkstelligt; der Grobentwurf abstrahiert von der Implementationssprache; als Ergebnis entsteht eine Entwurfsspezifikation, die als Hauptbestandteil ein feingranulares Klassenmodell hat, dieses wird um Interaktions- und Zustandsdiagramme ergänzt; Grundkonzepte: Geheimnisprinzip mit Gettern und Settern; Veringerung der Kopplung und Stärkung der Kohäsion; Minimierung des Überschreibens von Operationen der Oberklasse; Interfaces: definieren eine Menge von öffentlich sichtbaren Operationen; lassen Instanzen verschiedener Klassen mit einer gemeinsamen Eigenschaft einheitlich verwenden, dient zur Wahrung des Geheimnisprinzips; 35.4 Entwurf mit Verträgen (S. 290) Grundlagen: regelt die Zusammenarbeit von Objekten; Verhältnis zwischen Dienstnutzer und Dienstleister weist eine Analogie zur Vertragspartnern auf; jede Partei hat Rechte und Pflichten; Techniken: Spezifikation der Operationen der Schnittstelle mit Vor- und Nachbedingungen und Klasseninvarianten; klar geregelte Verantwortlichkeiten von Dienstnutzer und Dienstleister; systematische Behandlung von Ausnahmefällen; es gilt: wenn der Dienstnutzer die Vorbedingung erfüllt, dann garantiert der Dienstleister die Nachbedingung, sowie Dienstnutzer und Dienstleister erfüllen die Invariante ihrer Klasse vor und nach jeder Ausführung einer öffentlichen Operation Konsequenzen: Vertragsverletzung führt zu einem Programmfehler; die Verletzung einer Vorbedingung weist auf ein Fehlverhalten des Dienstnutzers hin, die Verletzung der Nachbedingung weist auf ein Fehlverhalten des Dienstleisters hin; bei erfüllter Vertragsbedingung müssen alle möglichen Fälle behandelt werden; unerfüllte Vertragsbedingungen können zu Wiederaufruf oder organisiertem Abbruch führen Entwurfsmuster (S. 302) Einführung: Entwurfsmuster (eine Beschreibung einer Familie von Lösungen) machen die lokale, sich jeweils auf wenige Klassen beziehende Entwurfserfahrung der Wiederverwendung zugänglich; Rahmenwerke erlauben die Wiederverwendung ganzer Entwürfe; Entwurfsmuster sind abstrakt, sie lassen sich in erzeugende, strukturelle und Verhaltensmuster unterteilen; Rahmenwerke enthalten und instanziiren Entwurfsmuster; Bsp. für Rahmenwerke: MVC; erzeugende Muster: abstrakte Fabrik (bietet eine Schnittstelle zum Erzeugen verwandter Objekte), Einzelstück (singleton, stellt sicher, daß von einer Klasse nur eine global zugreifbare Instanz existiert), Erzeuger (trennt den Aufbau eines Objektes von seiner Darstellung), Fabrikmethode (definiert eine Schnittstelle zur Erzeugung eines Objektes), Prototyp (bietet exemplarische Instanz) Strukturmuster: Adapter (wandelt die Schnittstelle dienstleistender Klassen so um, daß dienstnutzende Klassen sie verwenden können), Brücke (entkoppelt eine 12

13 Abstraktion von ihrer Implementierung, damit beide unabhängig voneinander verändert werden können), Dekorateur (heftet dynamisch zusätzliche Verantwortlichkeiten (Operationen) an, Alternative zur Generalisierung), Fassade (stellt eine einheitliche Schnittstelle für eine Menge von Schnittstellen zur Verfügung), Fliegengewicht (benutzt wenige komplexe Objekte mehrfach, um eine große Anzahl kleiner Objekte effizient handhaben zu können), Kompositum (ermöglicht den einheitlichen Zugriff auf die Elemente hierarchisch strukturierter Objektstrukturen), Surrogat (stellt über ein stellvertretendes Objekt eingeschränkte Zugriffe auf das eigentliche Objekt zur Verfügung) Verhaltensmuster: z. B. Beobachter, Iteratoren, Schablonen (definiert Grundgerüst von Algorithmen) Auswahl von Entwurfsmustern: Hinweise auf anzuwendende Muster geben oft nicht-funktionale Anforderungen; Überarbeitungsgründe sind Abhängigkeiten von Operationen, der Hardwareplattform oder von Schnittstellen, Algorithmen, sowie Flexibilisierungswünsche Einsatz von Entwurfsmustern: Algorithmus: Musterbeschreibungen durchlesen (Anwendbarkeit, Konsequenzen) vertiefendes Studium der Auswahl (Struktur, Beteiligte, Zusammenspiel) Beispielquelltexte ansehen Namen wählen anwenden KE6: Grobentwurf Ziele und Vorgehensweise: es wird nur auf Kopien von Entitätsobjekten gearbeitet, Änderungen werden nach endgültiger Prüfung wirksam; Kontroll- und Entitätsklassen sind in Bezug auf Schnittstellenklassen ausschließlich Dienstleister, Entitätsklassen sind wiederum in Bezug auf Kontrollklassen nur Dienstleister; Grobentwurf soll unabhängig von der Implementationssprache sein; 3-Schichten-Architektur: Schnittstellenklassen werden der externen Schnittstelle zugeordnet; Kontrollklassen und Entitätsklassen werden dem Anwendungskern zugeordnet; die Datenhaltung ist für den Grobentwurf nicht relevant 40 Externe Schnittstelle (S. 339) Benutzungsschnittstelle: ein Zustand der Benutzungsschnittstelle ist durch die Fenster und die in diesem Zustand möglichen Operationen charakterisiert; Einführung der Haupt-Schnittstellenklasse (HS-Klasse), die die Startseite des Anwendungssystems modelliert, ihre einzige Instanz wird beim Start des Anwendungssystems erzeugt, ihr Name ergibt sich aus dem Namen des Anwendungssystems mit angehängtem S; nach der Anmeldung des Benutzers erzeugt die Instanz der HS-Klasse eine Instanz der Akteur-Schnittstellenklasse, wonach der Akteur zum Fenster einer Instanz der AAS gelangen kann, die dem Anwendungsfall zugeordnet ist; externe Systeme: besitzen meist definierte aber nicht standardisierte Schnittstelle; zur Verkapselung externe Systeme wird für jedes externe System eine 13

14 korrespondierende Akteur-Schnittstellenklasse entworfen, die sämtliche Kommunikation mit dem externen System kontrolliert; wird im Grobentwurf ausschließlich aus Sicht der Dienstnutzer spezifiziert; 41 Anwendungskern (S. 342) Umfang: umfaßt die Kontrollklassen und Entitätsklassen aus dem Analyse-Klassenmodell; Kontrollklassen: für jedes Anwendungssystem wird eine Haupt-Kontrollklasse modelliert; von ihr gibt es nur eine Instanz, die beim Start von der Haupt-Schnittstellenklasseninstanz erzeugt wird, sie wird durch den Namen des Anwendungssystems mit angehängtem K bezeichnet; Entitätsklassen: die aus der Analyse übernommenen Entitätsklassen werden als persistente Klassen markiert und um einige Standardoperationen erweitert; Assoziationen zwischen Kontrollklassen und Entitätsklassen sind einseitig navigierbar von den Kontrollklassen zu den Entitätsklassen hin; 42 Modellverfeinerung (S. 345) Entitäts- und Kontrollklassen: Schnittstellenobjekten stehen nur Kopien von Entitätsobjekten zur Verfügung, während Kontrollobjekte sowohl auf Kopien als auch auf Originalen von Entitätsobjekten arbeiten; es sind die Standardoperationen von Entitäts- und Kontrollklassen in geeigneter Weise zu erweitern; Erweiterung um giballenamen():string [] (liefert eine Liste mit den Namen aller E-Instanzen), gibkopie(in name:string):e (liefert eine Kopie der E-Instanz mit dem Namen name), gib(in name:string):e (liefert die E-Instanz mit dem Namen name) und kopiereattribute(in instanz:e) (kopiert alle Attribute der E-Instanz instanz in die der ausführenden E-Instanz) Schnittstellenklassen: Erweiterung um öffnen() (stellt das entsprechende Fenster und die Attributwerte von Entitätsobjekten, deren Namen als Parameter übergeben wurden, am Bildschirm dar), schließen() (entfernt das entsprechende Fenster vom Bildschirm und beendet den Anwendungsfall, abbrechen() (wird zum vorzeitigen Abbruch des Anwendungsfalls aufgerufen) und ausgeführt() (wird vom Schnittstellenobjekt eines benutzten Anwendungsfalls bei dessen Beendigung aufgerufen) Pakete: weitere import-beziehungen werden notwendig 43 Verhaltensmodellierung (S. 349) Vorgehensweise: zuerst werden die in der Analyse erstellten Interaktionsdiagramme für das ablauforientierten Verhalten komplexer Anwendungsfälle an die Detaillierung des Grobentwurfs angepaßt; dann werden die Abläufe von in den Anwendungsfällen auftretenden komplexen Operationen modelliert; komplexe Operationen: Ausgangspunkt ist die textuelle Beschreibung der Verantwortlichkeiten der betreffenden komplexen Operation; man untersucht, 14

15 ob die Operation Instanzen erzeugt oder zerstört, Verbindungen errichtet oder weitere Operationen benötigt; nicht-standardoperationen werden nachgetragen, woraufhin der Ablauf einer komplexen Operation z. B. als Sequenzdiagramm modelliert werden kann; KE7: Feinentwurf Ziele und Vorgehensweise: zuerst wird sich für ein Rahmenwerk entschieden; als nächstes wird die Benutzungsschnittstelle realisiert; danach reichert man die Kontrollklasse des Anwendungsfalls um Operationen an, welche die von der Externen Schnittstelle geforderten Funktionen realisieren; nun werden die UML-Modellierungselemente, die sich nicht direkt in der Zielsprache implementieren lassen, mit Hilfe von Transformationsregeln in zielsprachenkonforme Entwurfskonstrukte überführt; daraufhin werden verbliebene große Pakete und Klassen in kleinere und weniger komplexe Pakete und Klassen zerlegt; danach werden Entitätsklassen in das Rahmenwerk integriert; abschließend werden die Klassen im Hinblick auf ihre Realisierung mit Operationen und Datenstrukturen versehen; Benutzungsschnittstelle: Ausgangspunkt sind Skizzen oder Prototypen; im Feinentwurf erfolgt die Abbildung der Interaktionsinformationen von Schnittstellenklassen auf technische Klassen des verwendeten GUI-Rahmenwerks (z. B. Java-Swing); jedes Fenster entspricht einer Schnittstellenklasse; Attribute der Entitätsklassen entsprechen Eingabefelder im Fenster; AAS-Klassen aggregieren mehrere Sicht-Schnittstellenklassen (auch Sicht-Klassen), welche die darzustellenden Eigenschaften der von dem entsprechenden Anwendungsfall betroffenen Instanzen von Entitätsklassen modellieren und verantwortlich für deren Präsentation sowie für die Entgegennahme der zugehörigen Benutzeraktionen sind;es gibt zu jeder Entitätsklasse und jeder AAS-Schnittstellenklasse eine Sicht-Klasse, jede Sicht-Klasse beschreibt die Attribute und Assoziationen einer Entitätsklasse, die im Rahmen des Anwendungsfalls durch einen Akteur in einem Fenster bearbeitet werden können; eine Sicht-Klasse wird durch den Namen der AAS-Schnittstellenklasse gefolgt von dem der Entitätsklasse mit angehängtem S bezeichnet; Anwendungskern: Hauptziel im Feinentwurf dieser Schicht ist es, die Kontrollklassen um Operationen anzureichern, welche die von der externen Schnittstelle geforderten Zugriffe auf Entitätsklassen der Datenhaltungsschicht sowie die fachlichen Funktionen realisieren; das vom Anwendungssystem allein determinierte ablauforientierte Verhalten der Anwendungsfälle wird in Kontrollklassen realisiert; Pakete: es bietet sich eine Aufteilung der Klassen auf anwendungsspezifische und anwendungsunabhängige Pakete an, erstere enthalten alle Klassen der drei Schichten, die speziell für das Anwendungssystem entwickelt werden, letztere enthalten Klassen,die auch für andere Anwendungssysteme der Domäne wiederverwendbar sind; 15

16 48 Transformationen (S. 379) Einführung: dienen zur Abbildung von Modellierungselemente wie Assoziationen oder Zustandsdiagramme auf Entwurfskonstrukte, so daß eine Implementation in einer objektorientierten Programmiersprache unmittelbar durchführbar ist Assoziationen: Standardfälle: vorher klären: ist die Navigierbarkeit einseitig oder bidirektional? Sind die Multiplizitäten der beiden Assoziationsenden beschränkt (z. B. 0..2), exakt (z. B. 1) oder unbeschränkt (*)? Einseitig navigierbare 1:1-Assoziationen: man kann die Assoziation direkt auf ein neu zu deklarierendes Attribut der Klasse transformieren, von der aus die Assoziation navigierbar ist.das Attribut erhält den Namen der Assoziation oder ggf. den der Rolle der assoziierten Klasse Bidirektional navigierbare 1:1-Assoziationen: transformiert man auf je ein Attribut in jeder der beiden an der Assoziation beteiligten Klassen; die Konsistenz der Verbindungen muß durch die entsprechende Implementierung der Standardoperationen verbinde() und löse() sichergestellt werden Einseitig navigierbare 1:n-Assoziationen mit festem n: bei sehr kleinem n kann für jede Referenz ein Attribut vorgesehen werden; bei großem n können die Referenzen auf verbundene Instanzen in einem Feld vorgehalten werden; Einseitig navigierbare 1:n-Assoziationen mit variablem n: die Transformation hängt wesentlich von der Richtung der Navigierbarkeit ab, ist die Assoziation zu der Klasse hin navigierbar, von der höchstens eine Instanz an einer entsprechenden Verbindung teilnimmt, reicht die für einseitig navigierbare 1:1-Assoziationen vorgestellte Transformation aus; im umgekehrten Fall müssen bezüglich der Assoziation mehrere verbundene Instanzen gespeichert werden, was auf eine 1:1-Assoziation zu einer Behälterklasse wie Collection oder List zurückgeführt werden kann Bidirektional navigierbare 1:n-Assoziationen: Aufspaltungin zwei einseitig navigierbare 1:n-Assoziationen n:m-assoziationen: zunächst wird eine weitere Klasse, deren Instanzen jeweils zwei miteinander verbundene Instanzen der assoziierten Klassen enthalten, hinzugefügt; jede Instanz dieser Klasse stellt ein Paar dar, von der global sichtbaren einzigen Instanz einer Relationsklasse (Einzelstück) werden alle Paarinstanzen verwaltet und Iteratoren zum Zugriff auf die mit einer Instanz verbundenen Instanzen zur Verfügung gestellt; Instanzen der Paarklasse werden aus- schließlich von der Instanz der Relationsklasse erzeugt; Spezielle Assoziationen und Assoziationsklassen: Aggregations-und Kompositionsbeziehungen: unterscheidet sich nicht wesentlich von der Transformation von Assoziationen mit gleichwertigen Multiplizitäten Assoziationsklassen: stellt eine Erweiterung der Transformation einer n:m-assoziation dar; die Assoziationsklasse wird zur Realisierung der Paarklasse um Attribute und Operationen sowie jeweils eine Assoziation zu den ursprünglich assoziierten Klassen erweitert echte Ganzes-Klassen: eine Klasse ist eine echte Ganzes-Klasse, wenn es Situationen gibt, in denen zu ihren Instanzen nicht über Verbindungen von Instanzen einer anderen Klasse aus hin navigiert werden kann; für jede echte Ganzes-Klasse legt man eine Ordner-Klasse (als Einzelstück) an, die zur echten Ganzes-Klasse in 16

17 einer 1:n-Assoziation steht und deren Instanz alle Instanzen der echten Ganzes-Klasse enthält sowie Iteratoren für entsprechende Zugriffe bereitstellt, anschließend ist die 1:n-Beziehung von der Ordner-Klasse zur echten Ganzes-Klasse mit der entsprechenden Transformation zu behandeln include- und extend-beziehungen: diese Beziehungen haben sich im Klassenmodell der Analyse und des Grobentwurfs in einer Assoziation zwischen den entsprechenden Schnittstellenklassen niedergeschlagen, diese Assoziation wurde als einseitig navigierbar spezifiziert und zwar von der Schnittstellenklasse des benutzenden bzw. des erweiternden Anwendungsfall hin zu der des benutzten bzw. erweiterten Anwendungsfalls; für include wird die hierfür eingeführte Assoziation zwischen den Schnittstellenklassen beizubehalten und die Aktivierung des benutzten Anwen- dungsfalls über entsprechende Operationsaufrufe vorgenommen; extend wird mit dem Beobachter-Mister realisiert Zustandsdiagramme: (die Erklärung auf S. 398 kapiere ich jetzt nicht) 17

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

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

24 Transformation der Anforderungsspezifikation

24 Transformation der Anforderungsspezifikation 271 24 Transformation der Anforderungsspezifikation 24.1 Einleitung Bei der Softwarespezifizierung wird die Anforderungsspezifikation überarbeitet, weiter strukturiert und präzisiert, um eine Basis für

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

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

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

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

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

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

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

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Abschnitt 12: Strukturierung von Java-Programmen: Packages Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung

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

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

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

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 3. Anforderungsanalyse Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 3. Anforderungsanalyse 2 Definitionen Anforderungen (Requirements): Beschreibung aller

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

12 Anwendungsfalldiagramm

12 Anwendungsfalldiagramm 133 In Abschnitt 1.5 haben Sie gelesen, dass Anwendungssysteme in einen Unternehmenskontext eingebunden sind und dort Geschäftsprozesse unterstützen. Aus diesem Blickwinkel ist die Beschreibung der funktionalen

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

BEISPIELKLAUSUR Softwareentwicklung:

BEISPIELKLAUSUR Softwareentwicklung: Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Prof. Ina Schaefer Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Ausgabe: 12. Januar 2013 Abgabe: 25. Januar

Mehr

Customer and Project Services. Teilnehmerunterlagen Aktivitäten

Customer and Project Services. Teilnehmerunterlagen Aktivitäten Customer and Project Services Teilnehmerunterlagen Aktivitäten Inhalt 1.1 Grundsätzliche Unterschiede Termin/Job 1.2 Anlage eines neutralen Termins aus dem Kalender 1.3 Verknüpfung mit einem Projekt/Kunde

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Software Engineering: Strukturelle Modellierung

Software Engineering: Strukturelle Modellierung www.mathematik-netz.de Copyright, Page 1 of 13 Software Engineering: Strukturelle Modellierung 1.0 Motivation und Voraussetzungen Zum Verständnis sind Kenntnisse aus dem Bereich der objektorientierten

Mehr

Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D

Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D 1 1. EINLEITUNG... 3 2. ZWECK... 3 3. MOTIVATION... 3 4. ANWENDBARKEIT... 6 5. STRUKTUR... 6 6. TEILNEHMER... 7 7. INTERAKTION...

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

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

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

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

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

Software Engineering. 3. Analyse und Anforderungsmanagement

Software Engineering. 3. Analyse und Anforderungsmanagement Software Engineering 3. Analyse und Anforderungsmanagement Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Erweiterungen Webportal

Erweiterungen Webportal Erweiterungen Webportal Adress-Suche Inaktive Merkmale und gelöschte Adresse Die Suche im Webportal wurde so erweitert, dass inaktive Adresse (gelöscht) und inaktive Merkmale bei der Suche standardmässig

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

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Objektorientierter Entwurf (OOD) Übersicht

Objektorientierter Entwurf (OOD) Übersicht Übersicht Das Ziel des OO-Designs (OOD) ist es, die endgültige Architektur festzulegen durch Teil 1: Anbindung der Fachklassen an weitere Systeme: Benutzeroberfläche (mit MVC) Datenhaltung (Datenbank-Lösung

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Datenaufbereitung in SPSS. Daten zusammenfügen

Datenaufbereitung in SPSS. Daten zusammenfügen Daten zusammenfügen I. Fälle hinzufügen Diese Schritte müssen Sie unternehmen, wenn die Daten in unterschiedlichen Dateien sind; wenn also die Daten von unterschiedlichen Personen in unterschiedlichen

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6 Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

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

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten. 1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

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

Abschluss Version 1.0

Abschluss Version 1.0 Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

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

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

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Anwendertreffen 20./21. Juni

Anwendertreffen 20./21. Juni Anwendertreffen Verbindungsmittelachsen VBA Allgemein Die Verbindungsmittelachsen werden nun langsam erwachsen. Nach zwei Jahren Einführungszeit haben wir bereits viele Rückmeldungen mit Ergänzungswünschen

Mehr

Folie 1: Fehlerbaumanalyse (FTA) Kurzbeschreibung und Ziel Die Fehlerbaumanalyse im Englischen als Fault Tree Analysis bezeichnet und mit FTA

Folie 1: Fehlerbaumanalyse (FTA) Kurzbeschreibung und Ziel Die Fehlerbaumanalyse im Englischen als Fault Tree Analysis bezeichnet und mit FTA Folie 1: Fehlerbaumanalyse (FTA) Kurzbeschreibung und Ziel Die Fehlerbaumanalyse im Englischen als Fault Tree Analysis bezeichnet und mit FTA abgekürzt dient der systematischen Untersuchung von Komponenten

Mehr

Word 2010 Schnellbausteine

Word 2010 Schnellbausteine WO.001, Version 1.0 02.04.2013 Kurzanleitung Word 2010 Schnellbausteine Word 2010 enthält eine umfangreiche Sammlung vordefinierter Bausteine, die sogenannten "Schnellbausteine". Neben den aus den früheren

Mehr

Dokumentenverwaltung

Dokumentenverwaltung Aktivieren der Dokumentenverwaltung Dokumentenverwaltung Die Dokumentenverwaltung ist ein Modul und wird über Ihre Lizenzdatei freigeschaltet. Ist die Dokumentenverwaltung in der Lizenzdatei nicht aktiviert,

Mehr

Datenbankmodelle 1. Das Entity-Relationship-Modell

Datenbankmodelle 1. Das Entity-Relationship-Modell Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?

Mehr

Auftragsbearbeitung 3.1

Auftragsbearbeitung 3.1 Auftragsbearbeitung / Bearbeitung bestehender Aufträge Automatische / manuelle Soll/Ist-Aufteilung (Stempelungen) Auf Aufträge kann über das Programm 15.2.1 gestempelt werden (PC in der Werkstatt auf dem

Mehr

Benutzerhandbuch - Elterliche Kontrolle

Benutzerhandbuch - Elterliche Kontrolle Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek

Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek Der elektronische Lesesaal umfasst derzeit über 3.400 digitale Dokumente aus dem Bereich der deutschen Kultur und Geschichte im östlichen

Mehr

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) Erstellung von und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) In der ArtemiS SUITE steht eine neue, sehr flexible Reporting-Funktion zur Verfügung, die mit der Version 5.0 noch einmal verbessert

Mehr

Bedienung des Web-Portales der Sportbergbetriebe

Bedienung des Web-Portales der Sportbergbetriebe Bedienung des Web-Portales der Sportbergbetriebe Allgemein Über dieses Web-Portal, können sich Tourismusbetriebe via Internet präsentieren, wobei jeder Betrieb seine Daten zu 100% selbst warten kann. Anfragen

Mehr

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung

Mehr

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen Beispielheft Inhalt Allgemeine Einführung Test Eins: Test Zwei: Test Drei: Test Vier: Test Fünf: Argumentationsvermögen Auffassungsvermögen Zahlenvermögen Sprachverständnis Räumliches Vorstellungsvermögen

Mehr

Die mobiletan im Hypo Internetbanking

Die mobiletan im Hypo Internetbanking Anleitung Die mobiletan im Hypo Internetbanking HYPO ALPE-ADRIA-BANK AG European Payments Version 1.0 29. Juni 2009 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Einrichten 3 3 Zeichnen mit der mobiletan 5 4

Mehr

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Dateiname: ecdl_p3_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul

Mehr

3. Die tägliche E-Mail-Flut effizient verwalten

3. Die tägliche E-Mail-Flut effizient verwalten 3. Es ist wie im normalen Leben: Wenn man etwas vernünftig einsortiert, findet man es auch rasch wieder. In Outlook ist das ähnlich. Denn mit der Zeit sammeln sich sehr viele E-Mails an. Wer da keine logische

Mehr

Der neue persönliche Bereich/die CommSy-Leiste

Der neue persönliche Bereich/die CommSy-Leiste Der neue persönliche Bereich/die CommSy-Leiste Mit der neue CommSy-Version wurde auch der persönliche Bereich umstrukturiert. Sie finden all Ihre persönlichen Dokumente jetzt in Ihrer CommSy-Leiste. Ein

Mehr