Software-Engineering



Ähnliche Dokumente
SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom Sebastian Iwanowski FH Wedel

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

Klausur Software-Engineering SS 2005 Iwanowski

Software-Engineering

Softwaretechnik (Allgemeine Informatik) Überblick

Die Softwareentwicklungsphasen!

16 Architekturentwurf Einführung und Überblick

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Klausur Software-Engineering WS 2006 / 2007 Iwanowski

Kapitel 2: Der Software-Entwicklungsprozess

1 Mathematische Grundlagen

Vorlesung Embedded Software-Engineering im Bereich Automotive

17 Architekturentwurf Vorgehen und Dokumentation

Wie beschneide ich ein Bild passend für den Ausdruck auf Papier eines bestimmten Formats?

Some Software Engineering Principles

Übungen zur Softwaretechnik

Übungsklausur vom 7. Dez. 2007

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Geschäftsprozessmodellierung

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Was ist Sozial-Raum-Orientierung?

Anforderungen an die HIS

Fragebogen zur Anforderungsanalyse

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Use Cases. Use Cases

SWE12 Übungen Software-Engineering

Prüfungsmodalitäten Bachelor-Studiengang Medieninformatik

Fragebogen ISONORM 9241/110-S

Informationssicherheit als Outsourcing Kandidat

Stand: Adressnummern ändern Modulbeschreibung

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

3D Visualisierung von UML Umgebungsmodellen

Internet Explorer Version 6

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

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

SCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG. Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim

Wie kann man Kreativität und Innovation fördern? Psychologische Ansätze zum Ideenmanagement

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Standard Inhaltsverzeichnis für Testvorschrift

4.1 Download der App über den Play Store

Anleitung: Passwort-Self-Service-Portal

Fachhochschule der Wirtschaft Paderborn (FHDW) Fachbereich angewandte Informatik. Pflichtenheft. Anwendungsentwicklung Semester 5

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

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

VBA-Programmierung: Zusammenfassung

SWE5 Übungen zu Software-Engineering

Solarstrom selbst erzeugen und speichern so geht s!

Objektorientierte Programmierung

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

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

Kurzanweisung für Google Analytics

Software Engineering

Architekturplanung und IS-Portfolio-

Java Einführung Packages

Qualifikationsbereich: Application Engineering Zeit:

Wissensbasierte Systeme

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

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

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Hilfe zur Urlaubsplanung und Zeiterfassung

ANSPRECHPARTNER. Film Mathematik statt Rechnen (Quelle: Hochschule Merseburg) Prof. Dr. Axel Kilian Fachbereich Informatik und Kommunikationssysteme

Allgemeines zu Datenbanken

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Requirements Engineering für IT Systeme

Muster für den Antrag auf Durchführung eines Gütestellenverfahrens

Objektorientierte Programmierung OOP

Berechtigungsgruppen TimeSafe Leistungserfassung

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Microsoft Access 2013 Navigationsformular (Musterlösung)

Mit denken - nicht ausgrenzen Kinder und Jugendliche mit Behinderung und ihre Familien

Projektsteuerung Projekte effizient steuern. Welche Steuerungsinstrumente werden eingesetzt?

Lizenzen auschecken. Was ist zu tun?

Windows 2008 Server im Datennetz der LUH

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Netzwerkeinstellungen unter Mac OS X

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

FINANZ+ Digitale Signatur. Finanzmanagementsystem FINANZ+

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Prüfung Software Engineering I (IB)

Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine

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

Mediumwechsel - VR-NetWorld Software

Checkliste. zur Gesprächsvorbereitung Mitarbeitergespräch. Aktivität / Frage Handlungsbedarf erledigt


Homebanking-Abkommen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Das Warenwirtschaftswunder

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Arbeitsschritte EAÜ Leistungserbringer Einnahmen erfassen

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

KURZANLEITUNG MSDAS DMS SYSTEM - SILVERDAT II SCHNITTSTELLE

Bedienungsanleitung für den Online-Shop

Transkript:

SWE5 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 5: Systementwurf

SWE5 Slide 2 Systemanalyse vs. Softwareentwurf Systemanalyse beschreibt das System der Anwendung, für das eine Aufgabe gelöst werden soll Modellierung orientiert sich an der Realität Softwareentwurf beschreibt den Aufbau der Software, mit der die Aufgabe gelöst werden soll Modellierung orientiert sich an den technischen Möglichkeiten Die Modellierungshilfsmittel sind dieselben: Abstraktion, verschiedene Sichten, hierarchische und modulare Zerlegung dieselben formalen Hilfsmittel: ERM, UML,...

SWE5 Slide 3 Softwareentwurf: Allgemeine Prinzipien Entwurfsrichtung 1) Top-Down vom Allgemeinen zum Konkreten 2) Bottom-Up Vom Konkreten zum Allgemeinen Lösung für den Benutzer Top-Down Bottom-up Basisaufgaben

SWE5 Slide 4 Vorgabe: Softwareentwurf: Top-Down Abstrakte Zielvorgabe für die Funktionalität des Systems Vorgehensweise: Zerlegung der Zielvorgabe in Teilaufgaben und Konkretisierung Vorteile Lösung steht im Mittelpunkt der Systementwicklung. Vollständige, exakte Spezifikationen führen genau zum gewünschten Ergebnis. Die Gesamtübersicht erleichtert die Bildung geeigneter Abstraktionsebenen und führt zu einer guten Systemstruktur.

SWE5 Slide 5 Vorgabe: Softwareentwurf: Top-Down Abstrakte Zielvorgabe für die Funktionalität des Systems Vorgehensweise: Zerlegung der Zielvorgabe in Teilaufgaben und Konkretisierung Nachteile Gute Fähigkeiten zum abstrakten Denken erforderlich. Realisierungsprobleme werden erst spät erkannt. Die Wiederverwendung vorhandener Teillösungen wird erschwert.

SWE5 Slide 6 Vorgabe: Softwareentwurf: Bottom-Up Konkrete Bausteine für die Basislösung mit bekannter Funktionalität Vorgehensweise: Zusammensetzung dieser Bausteine zu größeren Einheiten Vorteile: Realistischer Lösungsansatz durch sicheren Ausgangspunkt Suche nach vorhandenen Teillösungen wird begünstigt.

SWE5 Slide 7 Vorgabe: Softwareentwurf: Bottom-Up Konkrete Bausteine für die Basislösung mit bekannter Funktionalität Vorgehensweise: Zusammensetzung dieser Bausteine zu größeren Einheiten Nachteile: Schwierigkeiten, das Ziel im Auge zu behalten (und zu erreichen) Gefahr der Entwicklung von später nicht benötigten Softwarekomponenten auf unteren Ebenen des SW-Systems

SWE5 Slide 8 Vorgabe: Softwareentwurf: Jo-Jo-Methode Konkrete Bausteine für die Basislösung mit bekannter Funktionalität Zielvorgabe für das gesamte System Vorgehensweise: Zerlegung der Zielvorgabe in Teilaufgaben und Konkretisierung mit Hilfe der Bausteine für die Basislösung Vorteile Bestmöglicher Kompromiss zwischen Wünschenswertem und Machbarem Erstellen einer möglichst ökonomischen Lösung Anforderungen an das Abstraktionsvermögen reduziert

SWE5 Slide 9 Vorgabe: Softwareentwurf: Jo-Jo-Methode Konkrete Bausteine für die Basislösung mit bekannter Funktionalität Zielvorgabe für das gesamte System Vorgehensweise: Zerlegung der Zielvorgabe in Teilaufgaben und Konkretisierung mit Hilfe der Bausteine für die Basislösung Nachteile Wechsel der Bearbeitungsrichtung willkürlich, daher Gefahr mangelnder Systematik

SWE5 Slide 10 Softwareentwurf: Modularisierung Entwurfsebene 1: Softwaremodul bottom-up top-down Entwurfsebene 2:

SWE5 Slide 11 Softwareentwurf: Modularisierung Der Begriff des Moduls (nach Goos / Dennis 1973): Ein Modul ist die Zusammenfassung von Operationen und Daten zur Realisierung einer in sich geschlossenen Aufgabe. Die Kommunikation eines Moduls mit der Außenwelt darf nur über eine eindeutig spezifizierte Schnittstelle erfolgen. Zur Integration eines Moduls in ein Programmsystem muss die Kenntnis des inneren Aufbaus entbehrlich sein. Zum Nachweis der Korrektheit eines Moduls muss die Kenntnis der Einbettung des Moduls in das Softwaresystem entbehrlich sein.

SWE5 Slide 12 Leitlinien für die Modularisierung Die Aspekte bei der Modularisierung: Modulbindung Modulkopplung Schnittstellen Modulgröße Interferenzeigenschaften Importzahl Verwendungszahl

SWE5 Slide 13 Leitlinien für die Modularisierung Modulbindung Grad des Zusammenhangs zwischen den einzelnen Daten und Operationen desselben Moduls eng lose Modulkopplung Grad des Zusammenhangs zwischen verschiedenen Modulen eng lose Schnittstellen Datenaustauschstellen zwischen Modul und dem umgebenden System viele wenige

SWE5 Slide 14 Leitlinien für die Modularisierung Modulgröße Anzahl der verwendeten Daten bzw. Operationen in einem Modul groß klein Interferenzeigenschaften Grad der Beeinflussung anderer Module durch Seiteneffekte hoch niedrig Importzahl Anzahl der in diesem Modul verwendeten Module viele wenige Verwendungszahl Anzahl der Module, die diesen Modul verwenden viele wenige

SWE5 Slide 15 Leitlinien für die Modularisierung Folgende Kompromisse sollten geschlossen werden: Ausgewogenes Verhältnis zwischen Modulbindung und Modulkopplung Minimale Schnittstellen (Ausnahme: wenn sonst das Modul zu groß wird) Modulgröße maximal so groß, dass eine Person das Modul in einem überschaubaren Zeitraum bearbeitet Mittlere Import- und Verwendungszahlen

SWE5 Slide 16 1. Bsp. für eine Modulart: Bibliotheksmodule Bereitstellung einer Sammlung von Algorithmen / Funktionalitäten zu einem Aufgabenbereich Besonderheiten: Umfangreiche Schnittstelle (eine Ausnahme zu den Leitlinien) Kein interner Zustand (Modul erfüllt keine Gesamtfunktionalität) Beispiele: Module mit mathematischen Funktionen Module für Hilfsfunktionen, die nicht problemspezifisch sind (z.b. Modul Util mit Umwandlungsfunktionen, Datumsfunktionen, etc.)

SWE5 Slide 17 Zweck: 2. Bsp. für eine Modulart: Datenkapselung Verhinderung des direkten Zugriffs auf Daten von anderen Programmteilen aus Aufbau: Die Datenkapsel besteht aus abstrakten Datenstrukturen/-typen und zugehörigen Zugriffsfunktionen. Abstrakt heißt: Der konkrete Aufbau der Datenstrukturen/-typen ist außerhalb des Moduls unbekannt. Bsp.: Wörterbuchproblem (Dictionary) Abstrakter Datentyp: Zugriffsfunktionen: Dictionary getdictionary() insert(dict, key, value) delete(dict, key) search(dict, key)

SWE5 Slide 18 Softwareentwurf hier noch nicht angesprochen: Entwurfsmuster für die Programmierung Thema der Vorlesung Software-Design Entwurf von Bedienungsoberflächen Thema der Vorlesungen Software-Ergonomie / Medienkonzeption

SWE5 Slide 19 Verwendung von CASE-Tools Reine UML-Tools: ARIS: Eher für Softwareentwurf geeignet Eher für Systemanalyse geeignet Was ist vorzuziehen, wenn beides erledigt werden soll? Für den nahtlosen Übergang von Systemanalyse zu Softwareentwurf ist ein einheitliches CASE-Tool von Vorteil Wähle das CASE-Tool, das besser geeignet ist für die schwierigere Aufgabe und nicht vergessen: Kundenwünsche haben Vorrang!