Phasen der Softwareentwicklung



Ähnliche Dokumente
Phasen der Softwareentwicklung

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

Agile Software Development

Software-Engineering

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

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

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Pflichtenheft. Software Engineering I WS 2011/2012. Dr.-Ing. Ina Schaefer 1. Software Systems Engineering TU Braunschweig

Pflichtenheft Programmanwendung "Syntax Tool"

Projekt: <Hier den Namen des Projektes eingeben!> <Adresse> <Telefon / Fax> <Ansprechpartner>

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools

1. Einführung. 2. Weitere Konten anlegen

Use Cases. Use Cases

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools

Software Entwicklung 2. Lastenheft / Pflichtenheft

BSV Ludwigsburg Erstellung einer neuen Internetseite

Software-Engineering Grundlagen des Software-Engineering

Fragebogen zur Anforderungsanalyse

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

Zeichen bei Zahlen entschlüsseln

Softwareentwicklungspraktikum Sommersemester Grobentwurf

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

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

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

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Die Softwareentwicklungsphasen!

4D Server v12 64-bit Version BETA VERSION

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

MetaQuotes Empfehlungen zum Gebrauch von

IBM SPSS Statistics Installationsanleitung

Software-Engineering Grundlagen des Software-Engineering

Anforderungsanalyse. Basis: Grundlage für Erfolg / Misserfolg. Gute Qualität, moderne Techniken... Reicht nicht!

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

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Abschnitt 16: Objektorientiertes Design

Multichannel Challenge: Integration von Vertriebsorganisation und Contact Center in der Versicherung

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Anforderungsanalyse, Requirements Engineering

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2014 Express with management tools

my.ohm Content Services Autorenansicht Rechte

Pflichtenheft Software-Projekt: AutoEdit Add On

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

6. Programmentwicklung

Professionelle Seminare im Bereich MS-Office

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Pflichtenheft Version 1.0. Mäxchen/Meiern iphone App

Leitfaden zur Anlage einer Nachforderung. Nachforderung Seite 1 von 11 RWE IT GmbH

Patch Management mit

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

Benutzerdokumentation Hosted Backup Cloud Access

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

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

Technische Dokumentation IPCalculator

Kaufvertrag / Mietvertrag / Leasingvertrag über die Lieferung von Hardware und Systemsoftware

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

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Gruppe: swp Gruppenleiter: U. Seiler Aufgabenstellung 3. Lastenheft

Some Software Engineering Principles

ÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

Fragebogen ISONORM 9241/110-S

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

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

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

How to do? Projekte - Zeiterfassung

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

Windows7 32/64bit Installationsanleitung der ROBO-PRO-Software

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Requirements Engineering für IT Systeme

Eine Anwendung mit InstantRails 1.7

Microsoft Access 2013 Navigationsformular (Musterlösung)

VB.net Programmierung und Beispielprogramm für GSV

BSV Software Support Mobile Portal (SMP) Stand

EINMALEINS BEZIEHUNGSREICH

Herzlich Willkommen bei der nfon GmbH

Version 0.3. Installation von MinGW und Eclipse CDT

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

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Internet online Update (Internet Explorer)

ARAkoll 2013 Dokumentation. Datum:

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Schutz für Ihr geistiges Eigentum

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Ihr Ideen- & Projektmanagement-Tool

Handbuch für Lehrer. Wie Sie bettermarks im Mathe- Unterricht einsetzen können

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Visual Basic Express Kompilieren mit Skripten

Standard-Kontaktformular

TopKontor - Kurzleitfaden

Übung: Verwendung von Java-Threads

PC-Kaufmann 2014 Installationsanleitung

Was versteht man unter Softwaredokumentation?

Willkommen zu unserer Präsentation. Meilensteine. Frescher Eugen Mayankin Yuriy

Transkript:

Frühe Dipl. Wirtsch. Ing. Alexander Werth 5-1

Phasen der Softwareentwicklung Problemdefinition Anforderungsanalyse Spezifikation Entwurf Implementation Erprobung Wartung 5-2

Problemdefinition Worum geht es überhaupt? Handelt es sich um ein Software Entwicklungsprojekt? Standardsoftware Produkt Datenbank Tool Embedded System Individuallösung 5-3

Problemdefinition Identifizieren eines Problems. Ausarbeiten der bisherigen Kenntnisse zum Problem. Business Case: Wieviel wäre eine Lösung des Problems wert? Wieviel würde die Lösung ungefähr kosten? Marktuntersuchung: Gibt es bereits ein Produkt das sich verwenden läßt? Gibt es ein Vorgängermodell das als Vorlage und Erfahrungsquelle dienen kann? 5-4

Problemdefinition Techniken Marktanalysen. Kundenanfragen. Forschungsergebnisse, Vorentwicklung. Brainstorming. Analyse existierender Lösungen. 5-5

Problemdefinition Business Case Kosten grob abschätzbar durch Vergleich mit ähnlichen Problemen. Beispiel: Entwicklungskosten für einen Compiler Entwicklungskosten eines vergleichbar komplexen Compilers einer anderen Sprache als Schätzwert. Beispiel: Entwicklungskosten bei Anpassungsentwicklung. Anteil bestimmen der ohne und mit geringen Änderungen übernommen werden kann. Anteil abschätzen der neu entwickelt werden muss. Gewichten dieser Anteile. Gewichte über 1 denkbar. 5-6

Dokumente im Wasserfall Modell Erhebungsbericht (Business Case) Spezifikation Lastenheft Pflichtenheft Entwurf Problemdefinition Anforderungsanalyse Implementierung Detailiertes Design Quellcode Dokumentation Erprobung Endprodukt, Testat Betrieb / Wartung 5-7

Lastenheft & Pflichtenheft Auftraggeber Ausschreibung Auftragnehmer Bestätigt Lastenheft Pflichtenheft 5-8

Lastenheft & Pflichtenheft als DIN Norm Das Deutsche Institut für Normierung e. V. normiert das Lastenheft und das Pflichtenheft unter DIN 69905. Begriffserklärung und Aufgabe Keine detailierte Beschreibung 5-9

Lastenheft Aufgabe: Zusammenfassung aller fachlichen Basisanforderungen aus Sicht des Auftraggebers Adressat: Auftraggeber sowie Auftragnehmer (Projektleiter, Marketing,...) Inhalt: Basisanforderungen ( Was?, nicht Wie? ) Form: standardisiertes, numeriertes Gliederungsschema Sprache: verbale Beschreibung Umfang: wenige Seiten 5-10

Lastenheft Das Lastenheft beschreibt eine bestimmtes Set an fachlichen Basisanforderungen. Dieses Set ist eine Auswahl der in der Problemdefinitionsphase gefundenen Anforderungen. Weitestgehend formfrei. Gliederung sinnvoll. 5-11

Sachzwänge Schnell Billig Perfektion Fast, good, cheap. Pick any two. 5-12

Lastenheft Mögliche Gliederung Titel, Auftraggeber, Inhaltsverzeichnis Zielbestimmung Produkteinsatz Produktfunktionen Produktdaten Produkteigenschaften System, Hardware, Software Programmiersprache Leistung, Qualität, Effizienz, Useability Sicherheit, Rechtliches 5-13

Lastenheft Beispiel Titel, Auftraggeber, Inhaltsverzeichnis Command Line Rechner 1 Zielbestimmung 2 Produkteinsatz 3 Produktfunktionen 4 Produkteigenschaften Alexander Werth 5-14

Lastenheft Beispiel 1) Zielbestimmung Entwicklung eines Programms für die Befehlszeile zum Lösen von numerischen Rechnenaufgaben. 5-15

2) Produkteinsatz Lastenheft Beispiel Das Programm soll vorwiegend dazu eingesetzt werden um in Skripten Berechnungen durchzuführen. Die Skripte können dabei völlig unterschiedliches Datenmaterial bearbeiten wie z.b. Aufsummieren von Dateigrößen oder Berechnungen von Durchschnittswerten. Das Programm kann auch verwendet werden um ohne viel Aufwand auf der Kommandozeile Berechnungen auszuführen. 5-16

Lastenheft Beispiel 3) Produktfunktionen LF01: Aufgabe lesen von der Standardeingabe. LF02: Aufgabe lesen von einer Eingabedatei. LF03: Ergebnis in die Standardausgabe schreiben. LF04: Punkt vor Strichrechnung. LF05: Grundrechenarten, Klammern. LF06: Wichtige mathematische Konstanten. LF07: Trigonometrische Funktionen. LF08: Weitere Funktionen (Wurzel, Summe, Min, Max, ) LF09: Fehlermeldung auf Standard Error Ausgabe ausgeben. 5-17

Lastenheft Beispiel 4) Produkteigenschaften LE01) Windows 32 Bit Konsolen Applikation LE02) Windows XP und jünger LE03) Programmiersprache C LE04) Verwendung von portablen Standardfunktionen. LE05) Einfache Addition in 10ms für Skripteinsatz. LE06) Online Hilfe 5-18

Problemdefinition Übung Lastenheft Windows Befehlszeile erlaubt keine Subshells. Textzeile mit zwei Eingabewerten sind schwierig zu erzeugen. Eingabewerte aus Standardeingabe einlesen. Eingabewerte aus der Standardausgabe anderer Programme. Möglichkeit Einzeiler zu schreiben. printf erlaubt formatierten Text mit mehreren Parametern. Parameter zu printf format aus Standardeingabe Parameter zu printf kann eine Befehlszeile sein. Quoting schwierig. 5-19

Pflichtenheft Lösungsvorschlag des Auftragnehmers. Legt die Anforderungen an die Software fest. Konsistent, ausführlich, vollständig, eindeutig. Ziel: Projektvertrag. D.h. Überprüfbarkeit der Vorgaben. 5-20

Pflichtenheft Aufgabe: Zusammenfassung aller fachlichen Anforderungen Adressaten: Auftraggeber, Auftragnehmer (Manager, Entwickler, Tester) Inhalt: Funktions-, Daten- und Leistungsumfang Qualitätsanforderungen, Was, nicht Wi Detailiert weil basis des juristischen Vertrages. Form: Standardisiertes, gegliedertes Schema, meistens: textuell Eventuell: Beschreibung durch Modelle Sprache: detaillierte verbale Beschreibung, für Auftraggeber lesbar! Zeitpunkt: direkt nach Planungsphase Umfang: ausführlich, vollständig 5-21

Pflichtenheft Mögliche Gliederung Titel, Auftraggeber, Auftragnehmer, Inhaltsverzeichnis Zielbestimmung Produkteinsatz Produktfunktionen Bestandsaufnahme (Ist Zustand) Grobentwurf (Soll Zustand) Weitere Eigenschaften System, Hardware, Software Programmiersprache Leistung, Qualität, Effizienz, Useability Sicherheit, Rechtliches Glossar 5-22

Pflichtenheft Beispiel Command Line Rechner Auftraggeber: Alexander Werth, Kontaktdaten Auftragnehmer: Peter Müller, Kontaktdaten 1 Zielbestimmung 2 Produkteinsatz 3 Produktfunktionen 4 Grobentwurf 5 Produkteigenschaften 5-23

Pflichtenheft Zielbestimmung Einleitung Beschreibung der Hauptaufgabe. Ähnlich wie beim Lastenheft. Kann ergänzt werden um Auflistung der Einzelaufgaben. 5-24

1) Zielbestimmung Pflichtenheft Beispiel Entwicklung eines Programms für die Befehlszeile zum Lösen von numerischen Rechnenaufgaben. Aufgaben aus Dateien oder Standardeingabe einlesen. Grundrechenarten, Klammern, Punkt vor Strich. Mathematische Konstanten in Konfigurationsdatei. Funktionen (Trigonometrisch, Min, Max, Wurzel) 5-25

Pflichtenheft Produkteinsatz Beschreibt den Einsatzbereich. Erläuterung von Fachbegriffen. Erläuterung der Zielgruppe. Bezug des Programms zu Gesammtsystem. Relevante Geschäftsprozesse. Beschreibung spezieller Problembereiche. Graphiken und Diagramme zur Verdeutlichung. 5-26

Pflichtenheft Beispiel 2) Produkteinsatz 2.1) Anwendungsbereich Einsatz in Skripten oder Einzeilern. Nicht als externes Program gedacht um aus anderen Hochsprachen heraus Berechnungen durchzuführen. 2.2) Fachbegriffe Aufgabe: Unter einer Aufgabe wird die Eingabe an das Rechenprogram verstanden. Eine Aufgabe kann ungültig sein wenn sie sich nicht an die Syntax hält. 2.3) Zielgruppe Software Entwickler um in Skripten die Bestandteil anderer Softwareprojekte sind Berechnungen durchzuführen. System Administratoren um Skripte zur Automation zu schreiben. 5-27

Pflichtenheft Beispiel 2.4) Gesammtsystem Das Program soll zusammen mit anderen Kommandozeilentools verwendet werden. Die Standardeingabe, bzw. Ausgabe der Tools soll jeweils als Eingabe, bzw. Ausgabe für andere Tools einsetzbar sein. Berechnung der Aufgabe 5-28

Pflichtenheft Produktfunktionen Grobe Beschreibung der Funktionalität als Einleitung. Detailierte Beschreibung der Funktionalität. Übergeordneter Geschäftsprozess Use Case für Funktion Vorbedingungen Nachbedingungen Beteiligte Nutzer Auslösendes Ereignis Verwendung von UML für Diagramme möglich. 5-29

Pflichtenheft Beispiel 3) Produktfunktionen 3.1) Use case: Prozess Use Case Vorbedingungen Nachbedingung Beteiligte Nutzer Auslösendes Ereignis Berechnung echo '2+3' bc '2+3' auf Standardeingabe '5' auf Standardausgabe Entwickler eines Skripts Zwei Zahlen sind zu addieren 5-30

3.2) Funktionen: Pflichtenheft Beispiel PF001: Addition $ echo '2+3' bc 5 $ echo '2+3' bc 5 $ _ PF002: Subtraktion $ echo '2-3' bc -1 5-31

Pflichtenheft Bestandsaufnahme Wofür gibt es bereits existierende Komponenten? Detailierte Darstellung existierender Komponenten. Schnittstellen zu diesen Komponenten Diese Vorbedingungen hat der Kunde bereits erfüllt. Schriftliche Bestätigung für den Auftragnehmer. 5-32

Pflichtenheft Beispiel 4) Bestandsaufnahme Es existieren bereits vergleichbare Programme für Unix. Es existiert bereits eine Windows Portierung von bc unter der GPL. 5-33

Pflichtenheft Grobentwurf Welche Komponenten werden hinzugefügt? Änderungen an existierenden Komponenten. Schnittstellen zwischen neuen Komponenten. Interaktion der Komponenten. Verteilung der Komponenten auf Systeme. Verwendung von UML für Diagramme möglich. 5-34

5) Grobentwurf Pflichtenheft Beispiel 5.1) Programmablauf Einlesen von Argumenten. Einlesen der Aufgabe aus Datei oder Standard Eingabe. Berechnung des Ergebnisses. Ausgabe des Ergebnisses. 5-35

Übung Body Controller Framework mit folgenden Funktionen: Reagieren auf Event Zeitgesteuerte Events 5-36

Übung Lastenheft Auswahl von Einsatzmöglichkeiten, Funktionen, Eigenschaften eines Body Controllers für PKW. 5-37

Übung Pflichtenheft Entwickle ein Pflichtenheft auf Basis des Lastenhefts. 5-38

Übung Body Controller Fensterheber: Zurückfahren bei mehr als 1kg Druck. Reaktionszeit 50ms. Fahrgeschwindigkeit Fenster. 5-39

Übung Pflichtenheft Entwickle ein Pflichtenheft auf Basis des Lastenhefts. 5-40