Phasen der Softwareentwicklung



Ähnliche Dokumente
Phasen der Softwareentwicklung

Softwareentwicklungspraktikum Sommersemester Grobentwurf

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

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

Softwareentwicklungsprozess im Praktikum. 23. April 2015

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

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

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

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Software-Engineering

Pflichtenheft Software-Projekt: AutoEdit Add On

Use Cases. Use Cases

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

Physiotherapiepraxis-Lastenheft

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

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

Abschnitt 16: Objektorientiertes Design

IINFO Storyboard

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Zeichen bei Zahlen entschlüsseln

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

Übung - Konfigurieren einer Windows 7-Firewall

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Pfötchenhoffung e.v. Tier Manager

Schlüsselaustausch. Version 1.1. APCS Power Clearing and Settlement AG

2. Tutorium zu Softwaretechnik I

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

Anleitung über den Umgang mit Schildern

Pflichtenheft Programmanwendung "Syntax Tool"

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Installations Guide für YAJSW und DTLDAP

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

Webalizer HOWTO. Stand:

Pflichtenheft Version 1.0. Mäxchen/Meiern iphone App

Agile Software Development

Professionelle Seminare im Bereich MS-Office

Die Softwareentwicklungsphasen!

Silca Software ERKLÄRUNG. February 2013 Copyright Silca S.p.A. V.2.0

Ihr Ideen- & Projektmanagement-Tool

NetzWerkSYsteme Debian + VMWare 2013/14

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

Mindmapping. emindmap und InfoRapid KnowledgeMap. von Niels Wiedemann und Florian Schwerin

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Projektmanagement - Ein typischer Ablauf und Variationen in Abhängigkeit von der Projektkomplexität

Software Engineering. 3. Analyse und Anforderungsmanagement

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

ecall sms & fax-portal

Allgemeines zu Datenbanken

Patch Management mit

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

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

Installationsanleitung für das KKL bzw. AGV4000 Interface

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

MIT NEUEN FACHTHEMEN

2 SICK AG Industrial Safety Systems Deutschland Alle Rechte vorbehalten / Betriebsanleitung

Daten sammeln, darstellen, auswerten

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

6. Programmentwicklung

BSV Ludwigsburg Erstellung einer neuen Internetseite

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Benötigen wir einen Certified Maintainer?

Unsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung des Projektstatus.

Aufgabensammlung Bruchrechnen

Installation OMNIKEY 3121 USB

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

Standard Inhaltsverzeichnis für Testvorschrift

Objektorientiertes Programmieren mit Suse Linux

Projektmanagement in der Spieleentwicklung

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

Webcontrolling Umsetzung in die Praxis. Toll, und wie ist es wirklich?

Kapitel 10: Dokumentation

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

4D Server v12 64-bit Version BETA VERSION

Microsoft Access 2010 Navigationsformular (Musterlösung)

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Ihr Benutzerhandbuch AVIRA ANTIVIR EXCHANGE

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Lokales Netzwerk Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage:

Titel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Der Einsatz von Open-Source-Produkten im Unternehmen, dargestellt am Beispiel von OpenOffice

Verbesserungsdetails: PTC Mathcad Prime 3.0. Copyright 2013 Parametric Technology Corporation. weiter Infos unter

Unified Communication Client Installation Guide

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

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Arbeiten mit Workflows Installationsleitfaden Zur Installation des d3 Workflows

Ausgangslage, Rolle und Auftrag

1 Mathematische Grundlagen

2. Psychologische Fragen. Nicht genannt.

Drucken aus der Anwendung

1. Produktstruktur Lizenzmodell... 4

Erläuterungen zur Untervergabe von Instandhaltungsfunktionen

Version White Paper ZS-TimeCalculation und die Zusammenarbeit mit dem iphone, ipad bzw. ipod Touch

Einführung in die Programmierung der Schnittgrößenermittlung am Einfeldträger J. Lange

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Fragebogen ISONORM 9241/110-S

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. Man kann nicht alle Drei im Lastenheft festlegen. Man sollte aus Kostengründen nichts unnötiges fordern. 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 Brainstorming Sammeln von Einsatzmöglichkeiten, Funktionen, Eigenschaften eines Programm für die Befehlszeile zum Filtern von Log Dateien nach Ereignissen. 5-36

Übung Beispiel syslog Nov 9 15:56:54 golf syslog-ng[2754]: STATS: dropped 0 Nov 9 16:47:11 golf sshd[13050]: Accepted keyboard-interactive/pam for root from 9.10.17.137 port 41419 ssh2 Nov 9 16:47:12 golf sshd[13050]: subsystem request for sftp Nov 9 16:47:48 golf sshd[13100]: Accepted publickey for nx from 9.10.42.77 port 39084 ssh2 Nov 9 16:47:50 golf sshd[13126]: Accepted keyboard-interactive/pam for werth from 127.0.0.1 port 52425 ssh2 Nov 9 16:47:50 golf NXSERVER-3.3.0[13103]: User 'werth' logged in from '9.10.42.77'. 'NXLogin::set' Nov 9 16:47:52 golf NXSERVER-3.3.0[13103]: Selected node host:localhost with port:22 'main::selectnode' Nov 9 16:47:52 golf NXSERVER-3.3.0[13103]: Current selected node: localhost is in status: running 'main::selectnode' Nov 9 16:47:52 golf NXSERVER-3.3.0[13103]: Selected session type: unix-desktop allowed in the profile of user: werth Nov 9 16:47:53 golf sshd[13132]: Accepted publickey for werth1 from 127.0.0.1 port 52426 ssh2 Nov 9 16:47:56 golf NXSERVER-3.3.0[13103]: Session '2F1731AC05D9E9745ADD0B61' started by user 'werth'. 5-37

Übung Lastenheft Auswahl von Einsatzmöglichkeiten, Funktionen, Eigenschaften eines Programm für die Befehlszeile zum Filtern von Log Dateien nach Ereignissen. 5-38

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

Übung Entwurf Entwickele mit der Methode der schrittweisen Verfeinerung ein detailiertes Design des Programms. 5-40

Übung Entwurf Entwickele mit der Methode der schrittweisen Verfeinerung ein detailiertes Design des Programms. 5-41