DIE FILES DÜRFEN NUR FÜR DEN EIGENEN GEBRAUCH BENUTZT WERDEN. DAS COPYRIGHT LIEGT BEIM JEWEILIGEN AUTOR.



Ähnliche Dokumente
SEQUENZDIAGRAMM. Christoph Süsens

Unified Modeling Language (UML)

Klassendiagramm. (class diagram)

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

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

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Abschnitt 16: Objektorientiertes Design

1 Mathematische Grundlagen

Grundlagen Software Engineering

Einfaches, integriertes Projektmanagement mit Standard-Tools effizient planen und umsetzen

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

RUP Analyse und Design: Überblick

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Software Engineering in der Praxis

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement

Datenbanken. Erstellen des Semantischen Modells. Manuel Friedrich. Schiller-Gymnasium Hof

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

Objektorientierte Programmierung OOP

Softwaretechnik (Allgemeine Informatik) Überblick

Software Engineering Interaktionsdiagramme

Änderungsmanagement bei iterativer SW-Entwicklung

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

SWE5 Übungen zu Software-Engineering

Zahlen auf einen Blick

1 topologisches Sortieren

Primzahlen und RSA-Verschlüsselung

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Vgl. Oestereich Kap 2.7 Seiten

Produktschulung WinDachJournal

2. Psychologische Fragen. Nicht genannt.

Produktskizze. 28. November 2005 Projektgruppe Syspect

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

Kapitel 2: Der Software-Entwicklungsprozess

Konzepte der Informatik

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Klausur Software Engineering für WI (EuI)

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Word 2010 Schnellbausteine

Use Cases. Use Cases

Quick Guide Trainer. Fairgate Vereinssoftware. Zürich Oberland Pumas Postfach Pfäffikon ZH

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

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Übungsaufgaben zum Software Engineering: Management

Schlüsselaustausch. Version 1.1. APCS Power Clearing and Settlement AG

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Erste Schritte ANLEITUNG Deutsche Sportausweis Vereinsverwaltung Schnittstelle zum Portal des Deutschen Sportausweises unter

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

Arbeiten mit UMLed und Delphi

Vision für Mac BENUTZERHANDBUCH

EvaSys-Export (Stand )

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

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Pfötchenhoffung e.v. Tier Manager

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Die Softwareentwicklungsphasen!

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Musterfragen ALLGEMEINE Systemlehre

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Objektorientierte Programmierung

Einführung in. Logische Schaltungen

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

White Paper - Umsatzsteuervoranmeldung Österreich ab 01/2012

In S-Firm wird nur angeboten die Datei auf Diskette zu exportieren; die Einstellung für HBCI ist ausgegraut.

WinVetpro im Betriebsmodus Laptop

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

Skype for Business. Online zusammenarbeiten. Reinhold Gaugler. 1. Ausgabe, Juli 2015 ISBN: SKYPE2015AN

Some Software Engineering Principles

Erstellen eines Wordpress-Blogs

Dokumentenverwaltung im Internet

Erstellung von Prozessbeschreibungen. PB 4.2-1: Erstellung von Prozessbeschreibungen

Hilfedatei der Oden$-Börse Stand Juni 2014

Einrichtung einer eduroam Verbindung unter dem Betriebssystem Android

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

Update EPOC. 1. Inhaltsverzeichnis

Integration verteilter Datenquellen in GIS-Datenbanken

Informationen zur CPRE-Prüfung zum Certified Professional for Requirements Engineering Foundation Level

Gruppenrichtlinien und Softwareverteilung

Prozessorganisation Mitschriften aus den Vorlesung bzw. Auszüge aus Prozessorganisation von Prof. Dr. Rudolf Wilhelm Feininger

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Software Engineering. 3. Analyse und Anforderungsmanagement

Ein mobiler Electronic Program Guide

Layoutmodelle. Steffen Schwientek Große Klostergasse Friedberg schwientek@web.de Web :schlaukopp.org

Informationsmanagement für die Produktion

Betriebliche Gestaltungsfelder

4. AuD Tafelübung T-C3

Erstellen von x-y-diagrammen in OpenOffice.calc

Übung - Konfigurieren einer Windows 7-Firewall

Aufklappelemente anlegen

Phasen und Tätigkeiten des Produktlebenszyklus

Transkript:

Weitere Files findest du auf www.semestra.ch/files DIE FILES DÜRFEN NUR FÜR DEN EIGENEN GEBRAUCH BENUTZT WERDEN. DAS COPYRIGHT LIEGT BEIM JEWEILIGEN AUTOR.

Informatik II System-Entwicklung in der Wirtschaftsinformatik Rolf Böhm, Emmerich Fuchs, Gerhard Pacher 4., überarbeitete und erweiterte Auflage 1996 Verlag der Fachvereine an den schweizerischen Hochschulen und Techniken, Zürich ISBN 3 7281 2264 5 zusammengefasst von Philippe Maurer April 1998

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 1 3.4 Objektorientierte Analyse und Design (nach Booch) 3.4.1 Einleitung Zuerst Programmierkonzepte => Analyse-Methoden Nachteile der srtukturierten Vorgehensweise: Konsistenz zwischen Modellen schwierig herzustellen Modelle weniger flexibel bezüglich Veränderungen Strukturbruch zwischen Analyse (= was) und Design (= wie) => Objektorientierte Software-Entwicklung mit einheitlicher Modellierungstechnik. Das Objekt verkörpert eine Abstraktion von Wissen und Verhalten und bleibt durch alle Entwicklungsphasen hindurch identifizierbar. Vorteile: einfache Nachvollziehbarkeit der verschiedenen Modelle Auffinden und Zurückverfolgen von grundlegenden Abstraktionen durch alle Phasen der Entwicklung Anforderung an iterative Entwicklungszyklen wird durch die objektorientierte Sicht- und Darstellungsweise mit ihrer guten Nachvollziehbarkeit gefördert. leicht änder- und erweiterbar 3.4.2 Sichten eines Systems logisches Modell (Klassenstruktur, Objektstruktur): grundlegende Abstraktionen des Problembereichs, Mechanismen der Systemarchitektur physikalisches Modell (Modul-Architektur, Prozess-Architektur): Hardware- und Software- Konstellation statisches Modell (strukturelle Systemaspekte) dynamisches Modell (dynamische Semantik des System-Modells) 3.4.3 Notation nach Booch 3.4.3.1 Klassendiagramm Macht die Existenz von Klassen und ihre Beziehungen im logischen Modell sichtbar. Abb. 3.85: Klassendiagramm Klassen (Symbol:gestrichelt umrandete Wolke, Klassenname in Wolke eingetragen): Beispiel: PV-Mandat

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 2 Attribute: geben bestimmte Eigenschaft eines Objektes an. Beispiel: Name, Geburtsdatum Operationen: Funktionalitäten bzw. Dienste oder Methoden, welche die Klasse zur Verfügung stellt. Die werden über einen Namen innerhalb der Klasse eindeutig identifiziert. Durch Anfügen eines Klammerpaares werden sie als Operationen gekennzeichnet. Beispiel: Alter() Klassenbeziehungen (spezifiziert die Beziehungen zwischen den Klassen) Assoziation: semantische Verbindung zwischen zwei Klassen (einfache Linie). Reflexive Verbindungen möglich. Zwischen dem gleichen Klassenpaar sind mehrere verschiedene Assoziationen möglich. Assoziations-Formen: Vererbung (inheritance): Verallgemeinerungs-/ Spezialisierungsbeziehung ( is a - Beziehung zwischen Klassen). Assoziationssymbol (Linie) wird um eine Pfeilspitze, die auf die Oberklasse zeigt, ergänzt. Klasse kann eine (Einfachvererbung) oder mehrere Oberklassen (Mehrfachvererbung) besitzen. Vererbungsbeziehungen existieren zwischen Klassen. Aggregation (Eigentumsbeziehung): Teil-/ Ganzes-Relation ( has a -Beziehung). Symbol: gefüllter Kreis am Ende der Aggregats-Klasse. Verwendung: Verwendungsbeziehung entsteht dort, wo nur das eine Objekt (Client), die Dienste des anderen (Server) anfordert (z.b. Client-Operation ruft eine Operation des Servers auf). Symbol: Kreis auf der Clientseite. Klassendiagramm mit Klassenkategorien (Klassen, die über mehrere Beziehungen miteinander verbunden sind, mit anderen Klassengruppen jedoch nur eine lose Koppelung aufweisen. Symbol: Rechteck. Kassenkategorien können in Klassendiagramme integriert werden; können ineinander verschachtelt werden; Gruppierung in Schichten (trennen Details einer niedrigeren Abstraktionsebene von einer höheren ab) und Partitionen (widerspiegeln Verhalten von Teilsystemen); für Klassenkategorien mit sehr allgemeinen Klassen ist das Schlüsselwort global unterhalb des Namens aufzuführen Grundsätze des Aufbaus guter Klassenstrukturen: Operationen einer Klassen sollten nicht von der Struktur anderer Klassen abhängen (Kapselung) tiefe / enge Strukturen (max. 5-7 Klassen ind Breite und Tiefe eines Vererbungsgitters) => Ausnutzen von Gemeinsamkeiten 3.4.3.2 Objektdiagramm Zeigt die dynamische Struktur des Verhaltens einer Gruppe von Objekten (konkrete Instanzen von Klassen. Es macht das zur Erfüllung einer bestimmten Funktionalität notwendige Zusammenspiel von Objekten im logischen Modell sichtbar.

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 3 Abb. 3.94: Objektdiagramm Objekte (Symbol: umrandete Wolke), Attribute ebenfalls möglich: Beispiel: Dubois (Objekt), Bewerber (Klasse) Objektbeziehungen (Symbol: gerichtete Pfeile, Ereignisauslöser): Links können als Instanzen von Assoziationen angesehen werden. Objekte interagieren über ihre links mit anderen Objekten. Die Kommunikation zwischen den Objekten erfolgt mittels Nachrichten (Bestandteile: Richtung des Aufrufs, Ereignisauslöser [Operationsaufruf, symbolischer Name, Name einer Ereignisklasse], optionale Sequenznummer) 3.4.3.3 Interaktionsdiagramm Stellt in tabellarischer Auflistung den gleichen Gehalt dar, der in einem Objektdiagramm ausgedrückt wird. (+Zeitachse, +Kommentar) Notation: Abb. 3.96: Interaktionsdiagramm Objekte: in der Kopfzeile mit Namen aufgeführt, Zuständigkeitsbereich mit vertikaler gestrichelter Linie Nachrichten: horizontale, beschriftete Pfeile zwischen Client- und Server-Objekten-Linien Skripts (Kommentar): am linken Rand zur Kommentation der Nachrichten Steuerungsfokus: längliche vertikale Kästchen um die Objektlinien

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 4 3.4.3.4 Zustandsübergangs-Diagramm Bildet die ereignisabhängigen Zustandsänderungen des Systems oder einzelner interessanter Klassen ab. Abb. 3.97: Zustandsübergangs-Diagramme Startsymbol: Startwert, von dem aus ein unbeschrifteter Pfeil auf den ersten erwähnenswerten Zustand weist. (Symbol: ausgefüllter Kreis) Zustand (Status): Gesamtheit der Eigenschaften, die ein Objekt zu einem bestimmten Zeitpunkt besitzt. Die Objekteigenschaften setzen sich aus seinen Attributen mit den momentanen Werten, seinen Beziehungen zu anderen Objekten und seinen damit verbundenen Verhaltensmöglichkeiten zusammen. Für bestimmte Zustände ist es sinnvoll, einige der mit dem Status verbundenen Aktionen oder Aktivitäten anzugeben. Diese werden von einer Linie getrennt unterhalb des Zustandsnamens aufgelistet.

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 5 Aktion: Operation, die per Definition keine Zeit zu ihrer Ausführung benötigt (z.b. Aufrufe für Operationen, Meldungen von Ereignissen, Starten oder Beenden von Aktivitäten) Aktivität: Operation, die eine gewisse Zeit zu ihrer Ausführung benötigt Zustandsübergang/Statusänderungen/Ereignisse: Statusänderungen treten infolge von Ereignissen auf. (Symbol: gerichtete Verbindungslinie (Pfeil) zwischen zwei Zuständen, mit Ereignisnamen beschriftet) Endsymbol: abgebildeter Lebenslauf existiert eines Objekt oder des Systems existiert solange als das betreffende Objekt existiert. (Symbol: ausgefüllter, umrandeter Kreis) Verschachtelte Zustände: Gewisse Zustände innerhalb eines Diagramms können in einem weiteren Zustandsübergangs-Diagramm verfeinert werden, d.h. sie besitzen in ihrem Inneren eigene Statuszustände und -übergänge. Umschliessende Zustände = Oberstatus, geschachtelte = Unterstatus 3.4.3.5 Moduldiagramm Hält Zuordnung von Klassen zu Modulen fest. Es zeigt die Schichtung und Partitionierung der physikalischen Architektur. Abb. 3.100: Moduldiagramm Module: Hauptprogramm Spezifikation (Schnittstellendefinitionen) Rumpf (Implementationen) Untersystem (Darstellungsmittel zur Zusammenfassung logisch verwandter Module) Abhängigkeiten: (z.b. Compilierungsabhängigkeit) 3.4.3.6 Prozessdiagramm Darstellung der Aufteilung von Prozessen auf verschiedene Prozessoren. Ers zeigt, welche Prozessoren und geräte als Plattform für die Ausführung des zu bauenden Systems vorgesehen sind und wie die verschiedenen Prozesse auf die diese Komponenten verteilt sind. Prozessoren: Jede Hardware-Komponente, die Programme auszuführen imstande ist Geräte: Hardware, die keine Programme ausführen kann Verbindungen: hardwaremässige Verkabelung, damit Geräte und Prozessoren miteinander kommunizieren können

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 6 Abb. 3.102: Prozessdiagramm 3.4.3.7 Spezifikation Fasst alle in den verschiedenen Diagrammen aufgeführten Einzelheiten zusammen und bildet so die Obermenge der verfügbaren Informationen einer Abstraktion (z.b. Klasse). Alle Spezifikationen enthalten: Name (Bezeichner), Definition (Test, der die Funktion der Abstraktion angibt). Für Klassenspezifikationen: Verantwortlichkeiten, Attribute, Operationen, Status Maschine, Persistenz

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 7 Grady Boochs,,Objektorientierte Analyse und Design Booch unterteilt den Entwicklungsprozeß in folgende Tätigkeitsbereiche: Makro-Prozeß: der übergeordnete Prozeß der Projektabwicklung, welcher nachfolgend behandelt werden soll. (mit Wasserfallmodell verwandt) Mikro-Prozeß: verstärkt in der eigentlichen Entwicklungphase auftretende Tätigkeiten, welche später zusammen mit den Standardaktivitäten der BON betrachtet werden sollen. (Anlehnung an Spiralmodell) Die Trennung soll zum einen kontrollierte Managementtechniken ermöglichen, ohne auf der anderen Seite Kreativität und Innovation zu behindern Der Makro-Prozeß Der Makro-Prozeß ähnelt stark dem klassischen Wasserfallmodell und bietet damit folgende Vorteile (vgl. auch Modellierung I): Erzeugung von (extern) bewertbaren Produkten Fortschrittskontrolle durch Meilensteine und klar abgegrenzte Phasen Erleichterung der Planbarkeit und Risikobewertung Phasen im Makro-Prozeß Konzeptualisierung: Festlegen der Kernanforderung Analyse: Entwicklung eines Modells, Beschreibung des Systemverhaltens (WAS) Design: Erzeugung einer Architektur für die Implementierung (WIE) Evolution: schrittweise Umsetzung des Designs Wartung: Verwaltung der Systems nach der Auslieferung Der Prozeß wiederholt sich dabei nach jeder wichtigen Produktversion

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 8 Konzeptualisierung Booch deckt mit der Konzeptualisierung einen Bereich ab, der in klassischen Entwicklungsmethoden nur sehr wenig berücksichtigt wird und teilweise sogar vor dem eigentlichen Requirements Engineering liegt. Die Aufgaben der Konzeptualisierung sind: Entwicklung und Beschreibung einer Vision des neuen Systems Erstellung eines (oder auch mehrerer) Prototypen Festhalten der Kernanforderungen Analyse In der Analysephase soll geklärt, was das System macht, im Gegensatz zum Design, wo das wie beschrieben wird. Aufgaben sind: Identifikation von Hauptfunktionalitäten Beschreibung von Szenarien mittels Use-Cases, Objektdiagrammen,... Beschreibung von Objektlebenszyklen Finden von Mustern zwischen Szenarien und Beschreibung der Muster in Klassendiagrammen Aufbau eines Datenverzeichnisses Design Die Designphase unterteilt Booch in drei Aktivitäten: Architekturplanung: Entwicklung einer Schichtenarchitektur, bei der Funktionalitäten auf Schichten verteilt werden taktisches Design: Festlegung von Vorgehensweisen und Mustern Versionsplanung: Planung der Reihenfolge der zu implementierenden Systembestandteile Evolution Für die eigentliche Systementwicklung schlägt Booch einen evolutionären Ansatz vor, um möglichst früh wichtige Funktionalitäten zu realisieren, und erst später Leistungsmaße u.ä. zu verbessern. Das Vorgehen wird im Mikro-Prozeß beschrieben, allerdings ist die Einschränkung der Tätigkeiten im Mikro-Prozeß auf die Kernentwicklung nicht zwingend. Die Aktivitäten bei der Evolution betreffen dabei hauptsächlich den Entwurf und die Reorganisation der Klassenstruktur. Wartung Die Wartung des Systems betrifft hauptsächlich die Verbesserung des bestehenden Systems und nicht die Veränderung der Architektur. Falls eine Veränderung der Architektur notwendig ist, so beginnt der Makro-Prozeß von vorne.

Informatik II: System-Entwicklung in der Wirtschaftsinformatik 9 Der Mikro-Prozeß Der Mikro-Prozeß von Booch wird zwar der Implementierungsphase untergeordnet, jedoch spricht nichts dageben, Teile davon z.b. auch während früherer Phasen zu benutzen. Die Bestandteile des Mikro-Prozesses sind: 1. Identifikation von Klassen und Objekten 2. Identifikation von Klassen- und Objektsemantik 3. Identifikation von Beziehungen zwischen Klassen und Objekten 4. Spezifikation der Schnittstellen und Implementierung von Klassen und Objekten Diese Einzelschritte werden bei der Entwicklung zyklisch durchlaufen. Zusammnefassung siehe: S. 291-292