Software Engineering I



Ähnliche Dokumente
Tom DeMarco Strukturierte Analyse und System Spezifikation

Die Softwareentwicklungsphasen!

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

1. Modellierung einer Weinhandlung mit der Strukturierten Analyse (SA) 2. Modellierung einer Kassenbuchverwaltung mit der Strukturierten Analyse (SA)

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Einführung und Motivation

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Softwaretechnik. Fomuso Ekellem WS 2011/12

Software-Engineering Grundlagen des Software-Engineering

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

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

Use Cases. Use Cases

Kapitel 2: Der Software-Entwicklungsprozess

Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!

Softwareentwicklungspraktikum Sommersemester Grobentwurf

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

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Requirements Engineering für IT Systeme

Klausur Software-Engineering SS 2005 Iwanowski

Skript Pilotphase für Arbeitsgelegenheiten

Lehrer: Einschreibemethoden

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Übungen zur Softwaretechnik

Software Engineering I

Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Was versteht man unter Softwaredokumentation?

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

Software-Engineering

Urlaubsregel in David

Geschäftsprozesse: Modellierung und Analyse

Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung

SEQUENZDIAGRAMM. Christoph Süsens

1 Mathematische Grundlagen

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Content Management System mit INTREXX 2002.

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Das vorliegende Dokument beinhaltet vertrauliche Informationen und darf nicht an Dritte weitergereicht werden.

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Internet Explorer Version 6

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Requirements Engineering

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

SDD System Design Document

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

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

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Support-Tipp Mai Release Management in Altium Designer

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Grundbegriffe der Informatik

Functional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Intranet Moodle

ClubWebMan Veranstaltungskalender

Anforderungen an die HIS

How to do? Projekte - Zeiterfassung

Software-Engineering

Einrichtung einer Weiterleitung auf eine private Adresse in der Hochschule

Software Engineering

Agentur für Werbung & Internet. Schritt für Schritt: -Konfiguration mit Apple Mail

Erstellen von Mailboxen

Praktikum Grundlagen der Programmierung. Dokumentation. Dr. Karsten Tolle

Führung im Callcenter. und warum in Callcentern manch moderner Führungsansatz scheitert

Ausgangslage, Rolle und Auftrag

(BABOK-v3-Technik 10.41)

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Fragebogen zur Anforderungsanalyse

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner s

Software Engineering. 3. Analyse und Anforderungsmanagement

Willkommen im Online-Shop der Emser Therme GmbH

EINFÜHRUNG IOZ AG 1

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

Benutzerhandbuch - Elterliche Kontrolle

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

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

Semantik von Formeln und Sequenzen

UML-DSLs effizient eingesetzt. Insight 07, Klaus Weber

Lastenheft. 2.0 Anforderungen an den Inhalt. 2.1 Soll Aufgabenbeschreibung sein

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Microsoft Office Outlook OMS an SMSCreator anbinden

Bedienungsanleitung für den Online-Shop

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Übungsklausur vom 7. Dez. 2007

Hilfe zur Urlaubsplanung und Zeiterfassung

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

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Transkript:

Vorlesung Analysephase Modellierung mit SA/SD Analysephase 1

Entwicklungsphasen: Inputs, Outputs Kundenanforderungen, Lastenheft (CRS SAS, MODs, Implementierung, Modultests Pflichtenheft (SRS) Systemspezifikation (Grob-,Feinentwurf) Systemtestplan (STP), Systemvalidierungsplan (SVP) Analyse Design Codierung Test Einführung Wartung Architekturspezifikation (SAS), Modulspezifikationen (MODs) Systemtestreport (STR), Systemvalidierungsreport (SVR) Systemmodellierung, Pflichtenheft (SRS) MODs, Systemintegrationsreport (SIR) Bugreports, Change Requests (CRQ) 2

Analysephase Beschreibung des zu lösenden Problems und aller wichtigen Umgebungsbedingungen - möglichst vollständig und eindeutig. Ergebnis der Anforderungsermittlung ist das Lastenheft (CRS), welches die Kundenanforderungen enthält (Klärung des WAS) Untersuchung der Durchführbarkeit der geplanten Systementwicklung Ergebnis der Anforderungsanalyse ist das Pflichtenheft (SRS), welches die aus den Kundenanforderungen abgeleitete Systemanforderungen und ein Systemmodell enthält (Klärung des WIE). 3

Die Analysephase Ziel der Analysephase ist die vollständige konsistente eindeutige Definition des zu realisierenden Produkts durch die Spezifizierung eines Produktmodells. Das Produktmodell kann bestehen aus: Pflichtenheft (SRS) Vertragsgrundlage! Analysemodell Prototypen Analysephase 4

Das Pflichtenheft (SRS) Aufgabe: Zusammenfassung aller fachlichen Anforderungen an das zu entwickelnde System Adressaten: Auftraggeber, Auftragnehmer (Projektleiter, Systemanalytiker, Entwickler,...) Inhalt: fachlicher Funktions-, Daten- und Leistungsumfang, Qualitätsanforderungen Abnahmekriterien (spätestens hier festzulegen)! Analysephase 5

Pflichtenheft: Standards Ein sehr bekannter Standard zum Requirements Management ist der IEEE 830 (Recommended Practice for Software Requirements Specifications). Er ist ein konkreter praxisnaher Standard für die Beschreibung und die Definition von Softwareanforderungen. Es werden Strukturen vorgeben für den Aufbau der Dokumentation, den Aufbau der einzelnen Anforderungen und sogar zur Formulierung der Anforderungen. Eine gute Ergänzung hierzu ist der Standard IEEE 1362 (Guide for Information Technology System Definition, Definition - Concept of Operations Document), der letztendlich ein Standard für Anforderungsdokumente (Lasten-/Pflichtenhefte) darstellt. Eine weitere sinnvolle Ergänzung zu den beiden genannten Standards sind die Spezifikationen aus VDI 2519 Blatt 1 (Vorgehensweise bei der Erstellung von Lasten-/Pflichtenheften). Hier wird definiert was Lasten- und Pflichtenhefte sind, was sie enthalten sollten und wie sie erstellt werden sollten. Analysephase 6

Methodik zur Erstellung des Produktmodells (Iterative) Erstellung des Pflichtenheftes (SRS) Begleitend auf Basis des Pflichtenhefts: Iterative Erstellung eines Produktmodells unter Einsatz der gewählten Methoden (z.b. SA/SD, OOAD) Iterative Konzeption der Benutzungsoberfläche, ggf. Erstellung eines entsprechenden Prototyps Erstellung einer ersten Version des Benutzerhandbuches Analysephase 7

Modellierungskonzepte Modellierungskonzepte werden verwendet zur Anforderungsspezifikation Systembeschreibung aus verschiedenen Sichten (Statik, Dynamik, Logik) Auftraggeber und Auftragnehmer müssen diese Modellierungskonzepte (Notationen) verstehen. Früher: Strukturierte Methoden (z.b. SA/SD Heute: Objektorientierte Methoden (z.b. OOAD) Analysephase 8

Basiskonzepte zur Modellierung textuell grafisch Text Nummerierte Anforderungen Struktogramm Funktionsbaum Kollaborationsdiagramm Sequenzdiagramm Entscheidungstabellen Pseudocode Regeln informal semiformal formal DFDs Klassendiagramm Data Dictionary ERD Zustandsautomat Petri- Netze Entscheidungsbäume Petri-Netz (textuell) 9

Modellierung mit SA/SD Strukturierte Analyse / Strukturiertes Design Analysephase 10

Strukturierte Analyse (SA) DeMarco, 1975, Structured Analysis and System Specification Varianten der Strukturierten Analyse: Weinberg, 1978: Structured Analysis Gane & Sarson, 1979: Structured Systems Analysis McMenamin & Palmer, 1984: Modern Structured Analysis Yourdon, 1989: Modern Structured Analysis Hier werden die Erfahrungen der Strukturierten Analyse seit dem Erscheinen von DeMarco s Methode gebündelt. Es wird keine neue Methode propagiert, jedoch wird die Strukturierte Analyse im gesamten Umfeld des Software-Engineering betrachtet. (http://www.yourdon.com/) SA/RT Ergänzt um Modellierung für Dynamik Analysephase 11

SA: Basiskonzepte Die Strukturierte Analyse fußt im Wesentlichen auf folgenden, miteinander verknüpften Basiskonzepten: 1. Datenflussdiagramm (Data Flow Diagram (DFD)) Strukturierung des Systems Funktionen und Daten und ihr Zusammenwirken 2. Datenlexikon (Data Dictionary (DD)) Strukturierung der Daten Detaillierte Datenbeschreibung 3. Primitive Prozessspezifikation (MiniSpec) Detaillierte Funktionsbeschreibung 4. Funktionsbaum Strukturierung der Funktionen 12

SA: Hierarchiekonzept 13

DFD: Definitionen Datenflüsse sind vergleichbar mit Pipelines, durch die Daten transportiert werden. Datenspeicher bilden eine Ablagemöglichkeit für Daten, bei denen sich der Erstellungszeitpunkt vom Gebrauchszeitpunkt unterscheidet. Prozesse haben die Aufgabe, Eingabedaten in Ausgabedaten zu verarbeiten und enthalten die hierfür notwendigen Algorithmen. Terminatoren (Schnittstellen) stehen für die Beziehungen des Systemes zur Außenwelt. Sie senden oder empfangen Daten, verarbeiten diese jedoch nicht. 14

DFD: Datenflüsse 15

DFD: Semantische Regeln DFD beschreibt den Datenfluss, nicht den Kontrollfluss Schnittstellen sind so zu wählen, dass die ursprüngliche Datenquelle und Senke angegeben werden (Also die Benutzerrolle, nicht bspw. Tastatur und Drucker) Datenflussname = <Substantiv>!Typ Funktionsname = <Verb><Objekt>!Aktion 16

DFD: Fehlermöglichkeiten Folgendes funktioniert nicht, bzw ist nicht sinnvoll: 17

Strukturierte Analyse Unter Anwendung von Datenflussdiagrammen (DFD) wird eine hierarchische Betrachtung des Systems modelliert. Kontextdiagramm (nullte Ebene): Beschreibt die Umwelt des Systemes, es gibt genau einen Prozess. Diagramm 0 (erste Ebene): Der Gesamtsystems-Prozess, Prozess 0, wird in Subsysteme zerlegt; Angabe der Daten, welche zwischen den Subsystemen bzw. Teilfunktionen fließen. Subdiagramme (n-te Ebene): Prozessverfeinerung, Zerlegung des vorherigen Subsystemes in weitere Subsysteme. MiniSpec: Wurde ein Prozess ausreichend verfeinert, wird er abschließend durch eine MiniSpec beschrieben. Prozesse, Datenspeicher und Datenflüsse sollen mit einem möglichst prägnanten Namen versehen werden. Zum Beispiel: prüfe Passwort, aber nicht: verarbeite Datei (Welche Datei? - Wie wird sie verarbeitet?). 18

SA: Kontextdiagramm Syntax enthält nur einen Prozess, dieser erhält die Nummer 0 und stellt das Gesamtsystem dar verfügt über mindestens eine Schnittstelle Semantik beschreibt den Anwendungsbereich des modellierten Systemes zeigt Datenflüsse, welche Systemgrenzen überschreiten ist die Zusammenfassung von Diagramm 0 19

SA: Diagramm 0 Das Diagramm 0 beschreibt die Verfeinerung des Kontextdiagrammes: Der Prozess 0 aus dem Kontextdiagramm wird in Teilprozesse zerlegt. Speicher werden eingefügt. 20

SA: Prozessverfeinerung Jeder Prozess kann wieder zu einem neuen Diagramm verfeinert werden, welches folgende Bedingungen erfüllen muss: Der Prozess wird in Teilprozesse zerlegt. Jeder Prozess wird fortlaufend nummeriert. Wurde ein Prozess ausreichend verfeinert, wird er abschließend durch eine MiniSpec beschrieben. Die Anzahl der Prozesse pro Diagramm sollte sieben nicht überschreiten. DFD 1, DFD 2, DFD n... DFD 1.1, DFD 1.2... DFD n.m... 21

SA: Mini Specs Bei den MiniSpecs handelt es sich um Subsysteme, welche nicht mehr (sinnvoll) durch Datenflussdiagramme aufgeteilt werden können. Sie beschreiben implementierungsunabhängig, wie Eingangsdaten in Ausgangsdaten umgewandelt werden. Erscheint eine Verfeinerung für eine Funktion nicht mehr als sinnvoll, so wird zu dieser Funktion eine Mini Spec angegeben. Diese sollte mit einer der folgenden Methoden erstellt werden: Pseudo Code Struktogramm / Programmablaufplan Entscheidungstabelle / -baum 22

Data Dictionary (DD) Das Datenlexikon ist ein Verzeichnis, das Informationen über die Struktur von Daten, ihre Eigenschaften und ihre Verwendung enthält. Engl.: Data Dictionary (DD) Zur Beschreibung der Speicherinhalte Symbol Bedeutung Bsp ------------------------------------------------------------------- = ist äquivalent zu A=B + Sequenz A=B+C [ ] Auswahl (xor) A=[B C] { } Wiederholung A={B} N{ }M Wiederholung N-M mal A=1{B}5 ( ) Option A=B+(C) * * Kommentar *muss* http://de.wikipedia.org/wiki/data_dictionary 23

DD: Beispiel Artikeldaten = Artikel_id + Erstellungsdatum + Titel + Text Benachrichtigungsschreiben = [Account angelegt Account gelöscht Nachricht von anderem Nutzer] Artikelanfrage = User_id + 1{ Artikel_id }20 Kunde = Kunden_id + Name + Adresse Buch = Buch_id + Autor + Titel + Preis Buchliste = {Buch} Einkauf = {Bestellung + Gesamtbetrag} Kundenliste = {Kunde} Kundenstatus = [ reich arm ] Zimmerart = [ Einzelzimmer Doppelzimmer ] * Ein Kommentar ist immer wichtig. * 24

SA: Integritätsregeln In der Strukturierten Analyse sind folgende Integritätsregeln zu beachten: Jeder Datenfluß hat einen Namen. Ausnahme: Zugriff auf einen kompletten Speicherinhalt Jeder Datenflußname ist im DD beschrieben Jeder Speicher hat einen Namen Jeder Speichername ist im DD beschrieben Alle Datenflüsse in einem untergeordneten DFD müssen im übergeordneten DFD vorkommen oder eine Komponente eines Datenflusses aus dem übergeordneten DD sein. Die Komponenteneigenschaft ergibt sich aus dem DD 25

Strukturierte Analyse - Design Pattern Methodik zur Systemmodellierung mit der SA: 1. Schnittstellen und Ein/Ausgaben finden 2. Funktionen finden 3. Speicher finden 4. Datenflüsse finden 5. Data Dictionary erstellen 6. Konsolidieren des Modells 7. Iterative Verfeinerung 8. Mini-Spezifikationen erstellen 26

SA: Vor-/Nachteile Stärken der Strukturierten Analyse: leicht verständlich Kombination bewährter Basiskonzepte ermöglicht Top-Down-Erarbeitung des Systems hierarchische Gliederung sorgt für Übersichtlichkeit Kontextdiagramm ähnlich wie Use Case Zusammenhang zu ER-Modellen herstellbar (über Speicher) Schwächen der Strukturierten Analyse: Schnittstellen und Speicher können nicht verfeinert werden Logik, Dynamik und Kontrollfluss können nicht modelliert werden nur der Datenfluss wird analysiert keine Lokalität von Daten, daher kaum für OO geeignet 27

SA/SD: Funktionsbaum DFD SD: Transformation der DFD-Prozesse in hierarchisch strukturierte Funktionen Analysephase 28

SD: Transformation Analyse Design A B D E F G C H K Do job B D E F A C G H K Analysephase 29

Systemlayout SA/SD vs. OOAD Function Function Function Function Data Function Data Function Function Data Function 30

Zusammenfassung SA/SD Zur Modellierung von Softwaresystemen waren Strukturierte Methoden früher weit verbreitet. Strukturierte Analyse (SA) : Erstellung eines logischen Systemmodells, bestehend aus hierarchisch strukturierten DFDs, begleitet von Data Dictionaries, MiniSpecs, etc. Grundsätzlich stellt sich in der strukturierten Analyse folgende Frage: Was soll das geplante Softwaresystem können? Strukturiertes Design (SD): beinhaltet Operationsmodell und Modulmodelle. Umsetzung der DFDs aus der SA in Strukturdiagramme. Im strukturierten Design stellt sich dann folgende Frage: Wie sollen die Funktionalitäten des Softwaresystems umgesetzt werden? Die SA/SD-Transformation ist ein kreativer, nicht formalisierbarer Prozess! Analysephase 31

Beispiel Strukturierte Analyse Seminarverwaltung Analysephase 32

Beispiel SA: Kontextdiagramm Analysephase 33

Beispiel SA: DFD Ebene 0 Analysephase 34

Beispiel SA: DFD Ebene 0 mit Speicher Analysephase 35

Beispiel SA: DFD Verfeinerung (Ebene 1) Analysephase 36

Beispiel SA: DD und DFD (Ausschnitt) Analysephase 37

Beispiel SA: MiniSpec Analysephase 38