WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign Volker Herrmann Email:herrmanv@uni-koeln.de...

Post on 05-Apr-2015

112 views 0 download

Transcript of WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign Volker Herrmann Email:herrmanv@uni-koeln.de...

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