View
112
Download
0
Category
Preview:
Citation preview
WS 04/05 WS 04/05 wiss. Übung: wiss. Übung:
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Volker Herrmann
Email: herrmanv@uni-koeln.dePersönlich: Raum 001 im PhilosophikumTel.: 470-2690
Sprechstunde nach Vereinbarung
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
ORGANISATORISCHES
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Literatur
Balzert, Heide: Lehrbuch der Objektmodellierung, Spektrum
Stevens, Perdita und Rob Pooley: UML, Softwareentwicklung mit Objekten und Komponenten, Addison Wesley
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
1.TEILKonzepte der Objektorientierung
Einführung in die UML-Notation
2.TEIL Methodik: Techniken
- der objektorientierten Analyse - des objektorientierten Entwurfs
Vertiefung UML
Systemanalyse und Softwaredesign
13.10.04/20.10.04/27.10.04
Statische Konzepte:
Klasse – Objekt - Attribut – OperationAssoziation – Vererbung – Paket
UML: Klassendiagramm
Systemanalyse und Softwaredesign
03.11.04/10.11.04
Dynamische Konzepte:
Geschäftsprozeß – Botschaft – Szenario – Zustandsautomat
UML: Use Case – Interaktionsdiagramme - Zustandsdiagramme
Systemanalyse und Softwaredesign
17.11.04/24.11.04/01.12.04/08.12.04
Objektorientierte Analyse von Systemen:
Analyseprozeß – AnforderungenStatische Modellierung
Dynamische Modellierung
Systemanalyse und Softwaredesign
15.12.04/22.12.04
Objektorientierter Entwurf (Softwaredesign) I:
Elaboration/Spezifizierung des OOA-Modells
Systemanalyse und Softwaredesign
12.01.04/19.01.04/26.01.04
Softwaredesign II:
Entwurfsmuster
Software-Ergonomie: Gestaltung von Benutzungsoberflächen
Systemanalyse und Softwaredesign
02.02.04
Implementierungsdiagramme der UML:
KomponentendiagrammVerteilungsdiagramm
Systemanalyse und Softwaredesign
Genauer: Objektorientierte Systemanalyse und
Softwaredesign
Systemanalyse und Softwaredesign
Strukturierte vs. Objektorientierte Entwicklung:
Modellierung von Prozessen und Informationsstrukturen mittels Datenfluß- und Entity-Relationship-Diagrammen
- Nachteile (?):geringere Flexibilität der Produkte
Leserlichkeit der ModelleWartbarkeit
vs.
Modellierung mit Hilfe von einheitlichen, durchgängig verwendeten Konzepten und Tools
- zusätzlicher Vorteil (?):Wiederverwendbarkeit von einzelnen Komponenten
Systemanalyse und Softwaredesign
Noch genauer: Objektorientierte Systemanalyse und Softwaredesign
mit UML
UML
● = Unified Modeling Language
● 1997: Standardisierung durch OMG
● Formale grafische Modellierungssprache
● Spezifikation, Konstruktion, Visualisierung und Dokumentation eines Softwaresystems
● UML schreibt nicht - Methode - Modellierungswerkzeug - Modellierungsrichtlinien - Programmiersprache vor .
Systemanalyse und Softwaredesign
Lebenszyklus von Softwareprodukten
ANALYSE
ENTWURF IMPLEMENTIERUNG
TEST INBETRIEBNAHME
WARTUNG/ERWEITERUNG
Systemanalyse und Softwaredesign
Ziel
Qualitativ hochwertige Software entwickeln
Welche Kriterien bestimmen die Qualität von Software?
Systemanalyse und Softwaredesign
Eisbergeffekt
Systemanalyse und Softwaredesign
Qualitätsmerkmale
aus Sicht des Benutzers
aus Sicht des Entwicklers
Systemanalyse und Softwaredesign
Benutzersicht
Qualitätsmerkmal: Effizienz
Hardware-Effizienz:=Ausmaß der Inanspruchnahme von Hardware durch
eine Software bei gegebenem Funktionsumfang
Software-Effizienz:=Performance der Software
Systemanalyse und Softwaredesign
Qualitätsmerkmal: Zuverlässigkeit
=ein Softwaresystem ist zuverlässig, wenn es die geforderten Leistungen erbringt ohne in
unerwünschte Zustände zu geraten
Systemanalyse und Softwaredesign
Qualitätsmerkmal: Benutzbarkeit
= ein Softwaresystem ist dann benutzbar, wenn die Eigenschaften Robustheit, Ergonomie, Fehlertoleranz
und Erlernbarkeit realisiert sind
Systemanalyse und Softwaredesign
Qualitätsmerkmal: Sicherheit
= ein System ist sicher, wenn unter vorgegebenen Bedingungen in einem vorgegebenen Zeitraum
unzulässige Ereignisse nicht möglich sind
Systemanalyse und Softwaredesign
Entwicklersicht
Qualitätsmerkmal: Erweiterbarkeit
= in das System können neue Objekte oder Funktionalität eingefügt werden, ohne seine
wesentlichen Eigenschaften verändern zu müssen
Systemanalyse und Softwaredesign
Qualitätsmerkmal: Wartbarkeit
= die Eigenschaft eines Systems, Fehlerursachen mit geringem Aufwand erkennen und beheben zu lassen
Systemanalyse und Softwaredesign
Qualitätsmerkmal: Portabilität
= unter Übertragbarkeit versteht man die Eignung eines Softwaresystems bzgl. des Einsatzes in
geänderter technischer Umgebung
Systemanalyse und Softwaredesign
Qualitätsmerkmal: Wiederverwendbarkeit
= wenn ein hoher Prozentsatz des Systems für andere Probleme verwendet werden kann
Systemanalyse und Softwaredesign
Ziel
Modelle entwickeln
Was ist ein OO-Modell?
Systemanalyse und Softwaredesign
Modell eines Softwaresystems
Systemanalyse und Softwaredesign
Modellierungssprache (Notation)
- grafisch oder textuell
- Werkzeug zur Modellierung
- Mittel zur Dokumentation
Systemanalyse und Softwaredesign
Anforderungen an eine Modellierungssprache
- Ausdrucksstärke
- Einfachheit
- Eindeutigkeit
- Automatisierbarkeit
- Verbreitung
- Erweiterbarkeit
Systemanalyse und Softwaredesign
Objektorientierte Methode
Eine Methode beschreibt eine systematische Vorgehensweise zur Erreichung eines bestimmten
Ziels.
Softwaretechnik: Oberbegriff für Konzepte, Notation und Vorgehensweise
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Die 3 Phasen derobjektorientierte Softwareentwicklung:
1. Analyse – OOA – Systemanalyse
2. Design (Entwurf) – OOD - Softwaredesign
3. Implementierung – OO Programmierung
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Analysephase
Ziele der Analyse:
● Wünsche eines Auftraggebers ermitteln,
verstehen und beschreiben
● Ableitung der Anforderungen an das zu
entwickelnde Softwaresystem
● Erstellen eines abstraken Modells
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Analysephase
Produkte der Analyse:
● Pflichtenheft
● Analysemodell
● Prototyp der Benutzungsoberfläche
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Analysephase
Pflichtenheft:
● Beschreibung dessen, was das System leisten
soll
● Ausgangsbasis für systematische
Modellbildung
aber geringere Detailgenauigkeit
Systemanalyse und SoftwaredesignSystemanalyse und SoftwaredesignAnalysephase
Analysemodell
● besteht aus statischen und dynamischen
Modell
● statisches Modell beschreibt Klassen und
Attribute
ihre Vererbungsstruktur und Assoziationen
● dynamisches Modell zeigt die
Funktionsabläufe über
Geschäftsprozesse, Szenarios und
Zustandsautomaten
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Zusammenspiel der Konzepte
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Analysephase
Prototyp der Benutzungsoberfläche
● alle Attribute des Modells auf der Oberfläche
abbilden
● keine Anwendungsfunktionen realisieren
(Beispiel: Datenspeicherung)
● nur Fenster, Dialoge und Menüs, die dem
Auftraggeber eine erste Vorstellung von dem
zukünftigen System geben sollen
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Design / Entwurf – OOD
● OOA von idealen auf realen Raum übertragen
● auf einer bestimmten Plattform
(Betriebsystem)
● Abbild des Programms auf höherer
Abstraktionsebene
● Effizienz und Standardisierung
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Drei-Schichten-Architektur
Systemanalyse und SoftwaredesignSystemanalyse und SoftwaredesignAbgrenzung Analyse und Entwurf
Systemanalyse und SoftwaredesignSystemanalyse und Softwaredesign
Design / Entwurf – OOD
Produkte des Entwurfs:
● Abbild des Programms auf höherer
Abstraktionsebene
● Zusammenspiel der einzelnen Komponenten
Recommended