Fachhochschule Gießen-Friedberg Studiengang Informatik. Achim H. Kaufmann SOFTWARETECHNIK. Vorlesungsskript. Version 1.1 (Arbeitsversion 1.

Größe: px
Ab Seite anzeigen:

Download "Fachhochschule Gießen-Friedberg Studiengang Informatik. Achim H. Kaufmann SOFTWARETECHNIK. Vorlesungsskript. Version 1.1 (Arbeitsversion 1."

Transkript

1 Fachhochschule Gießen-Friedberg Studiengang Informatik Achim H. Kaufmann SOFTWARETECHNIK Vorlesungsskript Version 1.1 (Arbeitsversion 1. Mai 2002) Sommersemester 2002

2 Dieses Skript kann den Besuch der Vorlesung oder das Studium von Literatur nicht ersetzen, insbesondere ist es nicht ausreichend für das Bestehen der entsprechenden Prüfung. ª Die Nutzung dieses Skriptes ist auf die Vor- und Nachbereitung der auf dem Titelblatt bezeichneten Veranstaltung beschränkt. Eine darüber hinausgehende Nutzung bedarf der schriftlichen Genehmigung des Autors.

3 3 Inhaltsverzeichnis INHALTSVERZEICHNIS... 3 EINLEITUNG PROBLEMSTELLUNG Software-Technik und Software-Engineering Aufgaben SOFTWARE-ENGINEERING Software-Qualitätsmanagement Software-Entwicklungsverfahren Software-Architektur Haupt-/Unterprogramm-Architektur Schichten-Architektur Client/Server-Architektur Pipes/Filters-Architektur Aufgaben SOFTWARE-ENTWICKLUNGSPROZESS Wasserfall-Modell (Boehm/81) V-Modell (Wasserfall-Modell-Erweiterung) Prototypen-Modell...35

4 4 3.4 Evolutionäres Modell Nebenläufiges Modell Spiral-Modell (Boehm 1988) Unified Software Development Process Aufgaben METHODEN UND ERGEBNISSE DER ENTWICKLUNGSPHASEN Planungsphase Methode: Zielformulierung Methode: Projektplanung Methode: Durchführbarkeitsstudie Ergebnis: Projektdefinition Aufgaben Definitionsphase Methode: Structured-Analysis Kontextdiagramm Funktionale Dekomposition Datendiktionär Prozess-Spezifikation Methode: Modern-Structured-Analysis Object-Oriented-Analysis Business-Modell Use-case-Modell (First-cut) Aufgaben...71

5 5 4.3 Analysephase Methode: Structured-Analysis Methode: Modern-Structured-Analysis Methode: Entity-Relationship-Ansatz Methode: Object-Orientied-Analysis Aufgaben Entwurfsphase Methode: Modularisierung Modulkohäsion Modulkopplung Modulgröße Import- und Exportschnittstellen Modulhierarchie Methode: Abstraktion Datenabstraktion Algebraische Spezifikation Methode: Entwurf der Benutzerschnittstelle Methode: Structured-Design (SD) Strukturdiagramm (Structure-Chart) Übergang von SA nach SD Methode: Object-Oriented-Design Klassenbibliothek und Entwurfsmuster Aufgaben...94

6 6 4.5 Implementierungsphase Methode: Strukturierte Programmierung Methode: Jackson Structured Programming (JSP) Aufgaben Methode: Entscheidungstabellentechnik Methode: Normierte Programmierung Methode: Objektorientierte Programmierung Statisches Modell Objektmodell Aufgaben Klassenmodell Aufgaben Dynamisches Modell (Verhaltensstruktur) Use-Case-Diagramm (use case diagram) Aufgaben Aktivitätsdiagramm (activity diagram) Sequenzdiagramm (sequence diagram) Zustandsdiagramm (state diagram) Aufgaben Testen Methode: Statische Programmanalyse Methode: Dynamisches Testen Methode: Black-Box- und White-Box-Test...144

7 Methode: Vorgehensweise Aufgaben Überführungsphase Methode: Schulungsplanung/-durchführung Methode: Umstellungsplanung/-durchführung Methode: Katastrophenplanung/-beseitigung Betriebsphase Methode: Anwendungssystemmanagement Methode: Wartungsmanagement Methode: Produktionsmanagement ANLAGEN SOFTWARE-ENTWICKLUNGSMETHODEN Strucured-Analysis (SA) Prozessmodell Spezifikationsmethoden Beispiel Bewertung Moderne-Strucured-Analysis Prozessmodell Spezifikationsmethoden Beispiel Bewertung...153

8 8 1.3 Strucured-Design (SD) Prozessmodell Spezifikationsmethoden Beispiel Bewertung Unified-Methode-Language (UML) Prozessmodell (Unified-Process) Spezifikationsmethoden Beispiel Bewertung ENTWURFSMUSTER WICHTIGE AUTOREN DER SOFTWARETECHNIK LITERATURVERZEICHNIS...155

9 9 Einleitung Ziel der Veranstaltung Überblick über den Software-Entwicklungsprozess Einordnen der Veranstaltungen in diesen Rahmen Kennenlernen der Vorgehensweisen zur Entwicklung Überblick über Methoden und Ergebnisse Anwenden von Methoden der Software-Design-Phase Üben von wissenschaftlichen Voraussetzungen zur Veranstaltung Lern- und Mitarbeitsbereitschaft Abstraktionsvermögen Theoretische und praktische Programmier-Kenntnisse

10 10 Literaturempfehlung Balzert, B. Lehrbuch der Software-Technik. 2. Auflage, Spektrum, Heidelberg: 2000 Jacobson, I., Booch, G., Rumbaugh, J. The Unified Modeling Software Development Process. Reading, Mass.: 1999 Kahlbrandt, B. Software-Engineering mit der Unified Modeling Language. Springer, Berlin: 2001 Pomberger, G., Blaschek, G. Software Engineering. 3. Aufl. Hanser, München: 2002

11 Problemstellung 11 1 Problemstellung Software und Technik Software: zusammengehörige Programme, Daten und Dokumentationen Technik: Herstellungsverfahren oder Arbeitsweise Frei zitiert nach Dijkstra (1972) Als es noch keine Rechner gab, war auch das Programmieren noch kein Problem. Als es dann ein paar leistungsschwache Rechner gab, war das Programmieren ein kleines Problem. Nun, da wir gigantische Rechner haben, ist auch das Programmieren zu einem gigantischen Problem geworden.

12 Problemstellung 12 Software-Krise Fehlende Funktionalität Unzureichende Qualität Erhebliche Überschreitung der geplanten Kosten Zu lange Entwicklungszeiten 1.1 Software-Technik und Software-Engineering Software-Technik: Bereitstellung und Verwendung von Methoden und Werkzeugen zur Herstellung und systematischen Anwendung von Software Software-Engineering: Ingenieursmäßige Software-Erstellung (Synonym für Software-Technik).

13 Problemstellung Aufgaben Suchen Sie in der Literatur oder im Internet Definitionen für Software, Software-Technik bzw. Software-Engineering (jeweils mindestens 3 mit korrekter Referenzangabe). Grenzen Sie die gefundenen Definitionen mit eigenen Formulierungen gegeneinander ab. Beschreiben Sie mit eigenen Formulierungen das Problem der Software-Krise.

14 Software-Engineering 14 2 Software-Engineering Ingenieurmäßiges Arbeiten Organisation des Software-Erstellungs-Prozesses (Verfahrenslehre) Konstruktion des Software-Produktes (Konstruktionslehre). Organisation des Erstellungs-Prozesses Produktions-Qualität: Eigenschaften des Erstellungs- Prozesses Verfahren: Zielgerichtete Aktivitäten mit festgelegten Ergebnissen durch kombinierten Einsatz von Methoden, Werkzeugen und Vorschriften Vorgehens-, Prozess- oder Phasen-Modell: alle Aktivitäten im Software-Erstellungs-Prozess, ihre Voraussetzungen, Beziehungen und Ergebnisse

15 Software-Engineering 15 Konstruktion des Software-Produktes Produkt-Qualität: Eigenschaften des Software-Produktes Software-Bausteine: abgeschlossenes, begrifflich oder technisch zusammengehörige Teile eines Software- Produktes Software-Architektur: logische und physische Struktur eines Software-Produktes. Teilbereiche Software-Qualitätsmanagement Software-Entwicklungsverfahren Software-Lebenszyklus Software-Architektur 2.1 Software-Qualitätsmanagement Synonym Software-Qualitätssicherung

16 Software-Engineering 16 Qualitätsplanung, -lenkung und -kontrolle Qualitätsmaßnahmen Qualitätskriterien Qualitätsmaße Software-Management Qualität Alle Kriterien eines Software-Produktes und Produktions- Prozesses, die sich auf die Eignung zur Erfüllung gegebener Erfordernisse beziehen Erfordernisse synonym Qualitäts-(An-)Forderungen Software-Qualitätsmanagement: Planung, Lenkung und Kontrolle Qualitätsplanung: Festlegung von Kriterien, Maßen, Zielen und Vorgehensweisen Qualitätslenkung: Anwendung von Tätigkeiten und Techniken

17 Software-Engineering 17 Qualitätskontrolle: Evaluation von Ergebnissen Software-Qualitätsmanagement Maßnahmen Konstruktive: Entwicklungsverfahren Analytische: Testverfahren Organisatorische: Aufbau- und Ablauforganisation QM Software-Qualitätsmanagement Qualitätskriterien Synonym Qualitäts-Merkmale oder Eigenschaften Definieren die Produkt- oder Prozess-Qualität Software-Qualitätsmanagement Qualitätsmaße Synonym Quantifizierung Dimension und Mess-Verfahren der Qualitätskriterien Ausmaß der Qualitätsziele

18 Software-Engineering 18 Software-Qualitätskriterien Funktionalität: Richtigkeit, Angemessenheit, Interoperabilität, Ordnungsmäßigkeit, Sicherheit Zuverlässigkeit: Reife, Fehlertoleranz, Wiederherstellbarkeit Benutzbarkeit: Verständlichkeit, Erlernbarkeit, Bedienbarkeit Effizienz: Zeitverhalten, Verbrauchsverhalten Änderbarkeit: Analysierbarkeit, Modifizierbarkeit, Stabilität, Prüfbarkeit Übertragbarkeit: Anpassbarkeit, Installierbarkeit, Konformität, Austauschbarkeit Software-Qualitätskriterien Funktionalität Vorliegen von Funktionen mit Eigenschaften, welche die Anforderungen erfüllen Metrik: Anzahl der fehlenden und fehlerhaften Funktionen in Bezug auf die Festlegung im Pflichtenheft

19 Software-Engineering 19 Software-Qualitätskriterien Zuverlässigkeit Wahrscheinlichkeit, dass während eines Zeitintervalls eine Anzahl von Eingabefällen erfüllt wird Metrik: Fehlerrate Software-Qualitätskriterien Benutzbarkeit Aufwand und individuelle Beurteilung der Benutzung Metrik: Zeitaufwand zur Benutzung und individuelle Beurteilung aufgrund einer Zufriedenheitsskala Software-Qualitätskriterien Effizienz Verhältnis zwischen Leistungsniveau (Nutzen) und Umfang des Betriebsmittelverbrauchs (Kosten) Metrik: Anzahl Anwendungen/Zeiteinheit (Durchsatz) und Antwortzeit

20 Software-Engineering 20 Software-Qualitätskriterien Änderbarkeit Aufwand zur Durchführung von vorgegebenen Änderungen Metrik: Aufwand und Zeit Software-Qualitätskriterien Übertragbarkeit Eignung für ähnliche Aufgaben oder in einem geänderten Umfeld Metrik: Anzahl der bei einer Umstellung zu ändernden Einheiten oder Aufwand 2.2 Software-Entwicklungsverfahren Methodisches Vorgehen: zielorientierte, planmäßig angewandte, begründete Vorgehensweise Werkzeuggestütztes Vorgehen: weitgehend automatisierte Unterstützung aller Tätigkeiten (CASE, Computer Aided Software Engineering)

21 Software-Engineering 21 Vorschriftsmäßiges Vorgehen: Anweisungen zur Anwendung von Methoden und Werkzeugen Methodisches Vorgehen Prinzipien: Grundsätze, die dem Handeln zugrunde liegen Methoden: Umsetzung von Prinzipien in konkretes, zielgerichtetes Handeln mit verifizierbaren Ergebnissen Konzept: Grundvorstellung über Gegenstände und Ergebnisse der Entwicklung Notation: Darstellung von Konzepten durch Symbole, bestehend aus Syntax, Semantik und Pragmatik Allgemeine Prinzipien Einfachheitsprinzip: Make it simple Abstraktionsprinzip: Modellbildung,... Strukturierungsprinzip: Hierarchisierung, Modularisierung, Verfeinerung,...

22 Software-Engineering 22 Lokalitätsprinzip: Geschlossenheit,... Geheimnisprinzip: Information-Hiding,... Standardisierungsprinzip: Wiederverwendung,... Prinzip später Entscheidungen: Familienprinzip,... Kybernetisches Prinzip: Selbstregelung,... Wirtschaftlichkeitsprinzip: Effizienz, ökonomisches Prinzip,... Einfachheit (Software-Komplexität) Einfachheit ist Mangel an Komplexität Logische und strukturelle Komplexität Komplexität im Software-Entwicklungsprozess Maßnahmen zur Komplexitätsbeherrschung Strategien (grundlegende Vorgehensweisen) Top-down-Strategie: vom Groben ins Detail, schrittweise Verfeinerung

23 Software-Engineering 23 Bottom-up-Strategie: Identifikation elementarer Bestandteile, Zusammensetzung zu größeren Einheiten Inside-out-Strategie: Betrachtung der wichtigsten Bestandteile, danach derjenigen, die unmittelbar mit den bereits betrachteten in Zusammenhang stehen Outside-in-Strategie: Erst Black-box- danach White-box- Betrachtung Software-Lebenszyklus (Vorgehensmodelle) Modellierung der Lebensdauer eines Produktes von der Entwicklung (Geburt) bis zur Aussonderung (Tod) Zerlegung des gesamten Lebenszyklus in Teilbereiche (Entwicklung, Einführung, Betrieb, Aussonderung) Festlegung der zeitlichen und sachlichen Beziehungen zwischen den Teilbereichen Festlegung von Verfahren in den Teilbereichen

24 Software-Engineering 24 Beispiel Vorgehensmodell für die Entwicklung Entwicklungsplanung: Entwicklungsplan Anforderungsanalyse: Beschreibung organisatorischer Zusammenhänge Fachentwurf: Beschreibung Anwendungssystem aus Benutzersicht DV-Entwurf: Beschreibung programmtechnischer Zusammenhänge DV-Implementierung: Realisierung des DV-Entwurfs 2.3 Software-Architektur Beziehen sich auf die Architektur eines Programms oder Computersystems Bestehen aus Software-Komponenten (-Bausteinen) sowie deren nach außen sichtbaren Eigenschaften und Beziehungen

25 Software-Engineering 25 Definieren Entwicklungsregeln und Bedingungen für die Komponenten (Vorgaben für Schnittstellen, funktionale und qualitative Spezifikationen) Ergebnis: Logische und physische Struktur eines Software- Produktes Software-Architektur-Modell-Muster (Stile) Haupt-/Unterprogramm-Architektur Schichten-Architektur Client/Server-Architektur Ereignisorientierte Architektur Pipes/Filters-Architektur Repository-Architektur Interpreter-Architektur Prozess-Kontroll-Architektur

26 Software-Engineering Haupt-/Unterprogramm-Architektur Modul A Out 1 InOut 4 Modul B In 2 Flag 3 Modul C Modul D Modul E Out 5 Modul F Modul G Modul H Abbildung 1: Haupt-/Unterprogramm-Architektur

27 Software-Engineering Schichten-Architektur Usually procedure calls Useful systems Base utility Core Level Users Composites of various elements Quelle: Shaw/96, S. 25 Abbildung 2: Schichten-Architektur

28 Software-Engineering Client/Server-Architektur R/3 Applikationsserver R/3 Datenbankserver Clients Quelle: SAP/NN Abbildung 3: Client/Server-Architektur

29 Software-Engineering Pipes/Filters-Architektur Filters Pipes Quelle: Shaw/96, S. 21 Abbildung 4: Pipes/Filters-Architektur

30 Software-Engineering Aufgaben Diskutieren und erläutern Sie mit eigenen Formulierungen die Inhalte der dargestellten allgemeinen Software- Entwicklungsprinzipien. Benennen Sie 10 international bekannte Autoren der Softwaretechnik und skizzieren Sie deren fachliche Leistung.

31 Software-Entwicklungsprozess 31 3 Software-Entwicklungsprozess Prozess-Modelle Fester organisatorischer Rahmen für die Software-Erstellung Vorgabe von Aktivitäten, Teilergebnissen und Qualitätskriterien Vorgabe der Reihenfolge des Arbeitsablaufs Vorgabe von Mitarbeiterqualifikation, Verantwortlichkeiten, Kompetenzen, Standards, Richtlinien, Methoden und Werkzeugen Prozess-Modell-Arten Wasserfall-Modell V-Modell Prototypen-Modell Evolutionäres Modell

32 Software-Entwicklungsprozess 32 Nebenläufiges Modell Spiral-Modell Objektorientiertes Modell 3.1 Wasserfall-Modell (Boehm/81) Systemanforderung Softwareanforderung Analyse Entwurf Kodierung Test Betrieb Abbildung 5: Wasserfallmodell nach Boehm/81

33 Software-Entwicklungsprozess 33 Eigenschaften Keine Änderung der Anforderungen während der Entwicklung Vollständiges Phasenergebnis nach Phasenabschluss Wiederholung der zuletzt abgeschlossenen Phase bei Qualitätsmängeln Benutzerbezogene Präsentation erst nach Fertigstellung Sehr gute Planbarkeit, jedoch oft unrealistisch

34 Software-Entwicklungsprozess V-Modell (Wasserfall-Modell-Erweiterung) Anwendungsszenarien (Validierung) Abnahmetest Grobentwurf Testfälle (Verifikation) Systemtest Feinentwurf Testfälle (Verifikation) Integrationstest Testfälle (Verif.) Anforderungsdefinition Modulimplementierung Modultest Abbildung 6: V-Modell (Wasserfallmodell-Erweiterung) Eigenschaften Überprüfung von Zweck und Eignung (Validierung) Überprüfung von Spezifikation und Produkt (Verifikation) Entwickelt für Behörden, Einsatz auch in der Industrie

35 Software-Entwicklungsprozess 35 Submodelle: Systemerstellung (SE), Qualitätssicherung (QS), Konfigurations- (KM), Projektmanagement (PM) 3.3 Prototypen-Modell Prototyp- Anforderung Prototyp- Entwurf Prototyp- Realisierung Bewertung Abbildung 7: Prototypenmodell Ingenieursmäßige Entwicklung

36 Software-Entwicklungsprozess 36 Eigenschaften Entstehung aus den Nachteilen der klassischen Phasenmodelle, die Anforderungen als bekannt voraussetzen Prototyping zur Risikominderung bei unbekannten Anforderungen und Technologieproblemen Planung und Prototyping kein Gegensatz Arten Exploratives Prototyping: Kommunikationsmedium zur Ermittlung von Anforderungen Experimentelles Prototyping: Ermittlung unbekannter Eigenschaften eines Systems Evolutionäres Prototyping: Inkrementelle Entwicklung vom explorativen Prototyp bis hin zum fertigen Produkt

37 Software-Entwicklungsprozess 37 Horizontaler und vertikaler Prototyp Benutzeroberfläche Anwendung Kommunikation Datenhaltung Systemsoftware Abbildung 8: Horizontaler und vertikaler Prototyp

38 Software-Entwicklungsprozess Evolutionäres Modell Nullversion X := 0 Versions- Definition X Versions- Entwurf X Anforderungen X := X + 1 Versions- Realisierung X Versions- Einsatz X Abbildung 9: Evolutionäres Modell

39 Software-Entwicklungsprozess 39 Eigenschaften Evolutionäres Prototyping als Ausgangspunkt Gesamtentwicklung über mehrere Versionen Produktiveinsatz der Versionen Pflegeaktivitäten als eigene Versionen

40 Software-Entwicklungsprozess Nebenläufiges Modell Gesamtsystem- Definition Gesamtsystem- Zerlegung Kernsystem- Definition Kernsystem- Entwurf Erweiterungs- Definition 1 Kernsystem- Realisierung Erweiterungs- Entwurf 1 Erweiterungs- Definition 2 Erweiterungs- Realisierung 1 Erweiterungs- Entwurf 2... Erweiterungs- Realisierung Abbildung 10: Nebenläufiges Modell Eigenschaften Parallelisierung der Aktivitäten Optimierte Zeitausnutzung

41 Software-Entwicklungsprozess 41 Hohes Risiko, dass Grundlagen-Entscheidungen zu spät getroffen werden Hoher Planungs- und Koordinationsaufwand

42 Software-Entwicklungsprozess Spiral-Modell (Boehm 1988) schrittweises Vorgehen Ziele, Alternativen, Einschränkungen Risikoanalyse Prototypen Planung nächste Phasen Life-Cyle-Plan Validierung Entwicklungsplan Integration u. Test Validierung Integ. u. I.- Test Abnah.- Test Installation Entwurf Vorgehensmodell Anforderung Feinentwurf Kodierung Komp.- Test Abbildung 11: Spiralmodell (Boehm 1988)

43 Software-Entwicklungsprozess 43 Spiralzyklus-Folge Festlegen der Ziele, Lösungsvarianten, Nebenbedingungen und Einschränkungen Evaluation der Alternativen, Analyse der Risiken, Festlegen von Strategien zur Risikoüberwindung Festlegen bzw. Umsetzen des Prozessmodells Planen nächster Zyklus, Überprüfen der Planung, Genehmigen der Planung Eigenschaften Integration unterschiedlicher Prozessmodelle (Metamodell) Keine Trennung von Entwicklung und Wartung Strikte Ausrichtung am Entwicklungsrisiko Repräsentation der kumulierten Kosten durch Spiralfläche

44 Software-Entwicklungsprozess Unified Software Development Process Core Workflows Phases Inception Elaboration Construction Transition Requirements Analysis Design Implementation Test iter. #1 iter. #2 iter. # iter. #n-1 iter. #n Abbildung 12: Unified Software Development Process

45 Software-Entwicklungsprozess 45 Phasen eines Zyklus Startphase (inception): Darstellen des Endproduktes und der wichtigsten Geschäftsvorfälle, Planen der nächsten Phasen Ausarbeitungsphase (elaboration): Ausarbeiten aller Produkt- Use-Cases, der System-Architektur und der Anforderungen an die Bausteine, Realisieren kritischer Geschäftsvorfälle, Planen des Gesamtprojektes Konstruktionsphase (construction): Realisierung des Gesamtproduktes Überführungsphase (transition): Benutzertest des Produktes, Beseitigen von Fehlern, Vorbereiten nächstes Release Eigenschaften Use-case-gesteuert Architektur-zentriert interativ und inkrementell

46 Software-Entwicklungsprozess 46 Modelle des Unified-Process Use-Case-Modell Analyse-Modell Design-Modell Entwicklungs-Modell Implementierungs-Modell Test-Modell 3.8 Aufgaben Planen Sie den Bau Ihres Einfamilienhauses jeweils nach dem Wasserfall-Modell, dem evolutionären Modell und dem Spiral-Modell. Erläutern Sie die Eigenschaften des Unified Process (objektorientierten Modelles).

47 Methoden und Ergebnisse der Entwicklungsphasen 47 4 Methoden und Ergebnisse der Entwicklungsphasen Phasengliederung Planungsphase Definitionsphase (requirements) Analysephase (analysis) Entwurfsphase (design) Implementierungsphase (implementation, test) Überführungsphase Betriebsphase

48 Methoden und Ergebnisse der Entwicklungsphasen 48 Gesamtüberblick Phase, Ergebnis, Methode Phase Ergebnis Methode Planung Projektdefinition (Lastenheft) Methoden der Projektplanung Definition Pflichtenheft Analyse Entwurf Implementierung Produkt Organisation, Software, Hardware Methoden des Business (Re-)Engineering, System Engineering, Software Engineering Überführung Produktionssystem Methoden des Tests, der Schulung, der Einführung Betrieb Leistung Methoden des Software Reenginering (Wartung), der Betriebsplanung und -steuerung Abbildung 13: Gesamtüberblick: Phase, Ergebnis, Methode

49 Methoden und Ergebnisse der Entwicklungsphasen 49 Partialmethoden Zeit Phase Definition Analyse Entwurf Implementierung Funktionsgliederung (-dekomposition) Petri-Netze-Modellierung Objektorientierte Programmierung Strukturierte Programmierung Relationale Datenmodellierung Abstrakte Datentypen Entity-Relationship-Ansatz Datenfluss-Modellierung OO-Design OO-Analyse Abbildung 14: Partialmethode

50 Methoden und Ergebnisse der Entwicklungsphasen 50 Gesamtmethoden 1974 Hierarchy-plus-Input-Process-Output (HIPO), Top-down, IBM: Funktionsdekomposition, Eingabe-Verarbeitung-Ausgabe-Diagramme (EVA), Strukturierte Programmierung 1979 Strukturierte Analyse und Strukturiertes Design (SA/SD), Top-down: Kontextdiagramm, Datenflussanalyse, Funktionsdekomposition, Datenstrukturierung, Datendiktionär, Structure Chart, Kohäsion/Bindung, Strukturierte Programmierung. Varianten: SSADM, Merise, Isotec, EuroMethod Information Engineering (IE), Top-down, J. Martin: Strategic Planning (Business Objects, Subject Areas), Entity and Data Analysis, Process Analysis. Varianten: IEW, IEF, ADW, AD-Cycle 1986 Moderne Strukturierte Analyse und Strukturiertes Design, Top-down/Bottom-up (Moderne SA/SD): Umgebungsmodell (Kontextdiagramm, Ereignisliste, ER- Modell), Verhaltensmodell (Datenfluss-Analyse), Benutzermodell, Implementierungsmodell, Transaktions-/Transformationsanalyse, Structure Chart Objektorientiertes Software Engineering (OOA, OOD, OOP): Statisches und dynamisches Modell, Klassenhierarchie, Komponenten, Client- Server, Design Pattern. Varianten: OMT, UML Abbildung 15: Gesamtmethode

51 Methoden und Ergebnisse der Entwicklungsphasen Planungsphase Ziele/Ergebnisse der Planungsphase Ziel: Begründung und Entscheidung der Notwendigkeit, Dringlichkeit und Durchführbarkeit der Entwicklung Ergebnis: Projektdefinition (inklusive Lastenheft) Entscheidung: Durchführung der Entwicklung (stop or go) und ggf. zeitlicher Bezug der Durchführung Prinzipien der Planungsphase Zielvereinbarung Planung von Produkt und Prozess Personifizierte Verantwortung Wirtschaftlichkeitsprinzip Risikoabschätzung

52 Methoden und Ergebnisse der Entwicklungsphasen 52 Methoden der Planungsphase Zielformulierung Projektplanung Durchführbarkeitsstudie Methode: Zielformulierung Zieldefinition Ein Ziel ist eine normative Aussage eines Entscheidungsträgers über einen zukünftigen Zustand, der durch aktives Handel erreicht werden soll. Zielquantifizierung Zielinhalt: Festlegung der Eigenschaften eines angestrebten Zustands (Sachziel) bzw. einer angestrebten Qualität oder Güte (Formalziel)

53 Methoden und Ergebnisse der Entwicklungsphasen 53 Zielmaßstab: Festlegung der Dimension des Zielinhaltes und der Messvorschrift Ausmaß der Zielerreichung: Festlegung der Quantität des Zielinhalts, die erreicht werden soll Zeitlicher und räumlicher Bezug der Zielerreichung: Festlegung des Zeitraums oder -zeitpunkts sowie des Ortes, an dem das angestrebte Zielausmaß erreicht werden soll Methode: Projektplanung Die Projektplanung gliedert sich in folgende Teilplanungen, die auch nur in der dargestellten Reihenfolge durchgeführt werden können: Strukturplanung Aufwandsschätzung Terminplanung Einsatzmittelplanung

54 Methoden und Ergebnisse der Entwicklungsphasen 54 Kostenplanung Strukturplanung Produktstrukturplan: alle auszuliefernden Objekte und ihre Bestandteile in hierarchischer Gliederung Projektstrukturplan: alle Tätigkeiten in hierarchischer Gliederung Arbeitspaket: geschlossene, plausible Arbeitsmenge mit Ergebnis, Qualität und Qualifikationsanforderung Aufwandsschätzung Ressourceneinsatz zur Erreichung der Projektziele

55 Methoden und Ergebnisse der Entwicklungsphasen 55 Mengengerüst Einflußgrößen Aufwandsschätzmethode Aufwand Abbildung 16: Aufwandsschätzung (Ressourceneinsatz zur Erreichung der Projektziele)

56 Methoden und Ergebnisse der Entwicklungsphasen 56 Einfache Aufwandsschätzmethode Arbeitspaket Schätzeinheit Mengengerüst Nettoaufwand Zuschläge Bruttoaufwand Kosten Abbildung 17: Einfache Aufwandsschätzmethode

57 Methoden und Ergebnisse der Entwicklungsphasen Methode: Durchführbarkeitsstudie Prüfung der Vollständigkeit der Anforderungen Prüfung der Konsistenz der Anforderungen Prüfung der technischen Durchführbarkeit Prüfung der personellen Voraussetzungen Ökonomische Rechtfertigung Ergebnis: Projektdefinition Identifikation: Name, Kurzbeschreibung, Auftraggeber Organisation: Projektinstanzen Zielsetzung: Problembeschreibung, betriebliche Ziele, Projektziele, Rahmenbedingungen, Zielerreichung Produkt: Lastenheft, Produktstruktur Ablauf: Projektstruktur, Aufwandsschätzung, Meilensteine Wirtschaftlichkeit, Risiko

58 Methoden und Ergebnisse der Entwicklungsphasen 58 Lastenheft Anwendungsziele, -bereiche, Anwender Funktionsanforderungen Produktdaten Leistungsanforderungen Qualitätsanforderungen Ergänzende Anforderungen Aufgaben Bewerten Sie folgende Zielsetzung Das Programm verbessert die Auftragsbearbeitung.. Erstellen Sie eine fiktive Projektdefinition für das Software- Praktikum Ihrer Gruppe, in der Sie eine frei zu wählende Internet-Anwendung entwickeln sollen.

59 Methoden und Ergebnisse der Entwicklungsphasen Definitionsphase Ziele/Ergebnisse Ziel: Festlegung der fachlichen Anforderungen und technischen Rahmenbedingungen Ergebnis: Liste der Anforderungen Ziele/Ergebnisse Ziel: Festlegung der Systemabgrenzung, der fachlichen Anforderungen sowie technischen und organisatori-schen Rahmenbedingungen (requirements) Ergebnis: grobe Systemspezifikation (Grenzen, Umgebung, Schnittstellen, wesentliche Komponenten), Glossar, Liste der Anforderungen Synonym: Problemanalyse, Anforderungsanalyse, Requirements Analysis

60 Methoden und Ergebnisse der Entwicklungsphasen 60 Prinzipien Fachliche Vollständigkeit und Korrektheit Fachliche Verständlichkeit und Prüfbarkeit Strikte Unterscheidung in physische und logische Spezifikation Methoden Erhebungsmethoden: Interview, Besprechung (Workshop), Aufschreibung, Beobachtung, Dokumentenstudium, Schätzung Analysemethoden: Structured-Analysis, Modern-Structured- Analysis, Object-Orientied-Analysis Methode: Structured-Analysis Die Definitionsphase innerhalb der Structured-Analysis wird als Übersicht (survey) bezeichnet und von den Tätigkeiten her als

61 Methoden und Ergebnisse der Entwicklungsphasen 61 eine Art Mini-Analyse (mini-analysis) verstanden, d.h., sie beinhaltet dieselben Tätigkeiten wie die nachfolgende Analysephase jedoch in reduzierter Form. Eine genauere Festlegung wird dabei nicht vorgenommen. Die Phasen Survey und Analysis bestehen aus folgenden Bestandteilen: Kontextdiagramm (context diagram) Funktionale Dekomposition (functional decomposition) Datendiktionär (data dictionary) Prozess-Spezifikation (process specifiation)

62 Methoden und Ergebnisse der Entwicklungsphasen Kontextdiagramm Student Anmeldung Vorlesung/Prüfung Professor Bestätigung Anmeldung Liste Teilnehmer Nachweis Leistung Hochschulsystem Meldung Noten Abbildung 18: Structured-Analysis: Kontextdiagramm

63 Methoden und Ergebnisse der Entwicklungsphasen Funktionale Dekomposition Anmeldung Vorlesung/Prüfung Bestätigung Anmeldung Liste Teilnehmer Meldung Noten Anmeldesystem Notenverwaltung Nachweis Leistung Student Veranstaltung/ Prüfung Note Abbildung 19: Structured-Analysis: Kontextdiagramm

64 Methoden und Ergebnisse der Entwicklungsphasen Datendiktionär Anmeldung Vorlesung/Prüfung = Student + 1{[Vorlesung Prüfung]+Termin}n Student = Matr.Nr + Name + Geburtsdatum + Adresse Adresse = Straße + + StraßenNr +, + PLZ + + Ort Geburtsdatum = Datum Prozess-Spezifikation Pseudocode-Beschreibung (Structured English, Structured Text) Entscheidungstabellen Entscheidungsbäume Methode: Modern-Structured-Analysis Die Definitionsphase innerhalb der Modern-Structured-Analysis wird als Erstellung eines Umgebungsmodells bezeichnet. Das Umgbungsmodell bestehen aus folgenden Bestandteilen:

65 Methoden und Ergebnisse der Entwicklungsphasen 65 Textliche Beschreibung des Systemzwecks (statement of purpose) Kontextdiagramm (context diagram) Ereignisliste (event list) Datendiktionär (data dictionary) Die textliche Beschreibung des Sytemzwecks ist eine in Prosatext (Umgangssprache) formulierte Festlegung der Systemziele und ergebnisse. Sie entspricht dem Ergebnis der Projektplanung der Projektdefinition in weniger formalisierter Form. Das Kontextdiagramm ist bis auf wenige Erweiterungen (externe Speicher zur Darstellung von externen Datenbanken) identisch mit dem der Structured-Analysis und wird hier nicht nochmals dargestellt. Dies gilt ebenfalls für die Erstellung des Datendiktionärs.

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Software-Lebenszyklus

Software-Lebenszyklus Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Softwareentwicklung Probleme bei großer Software Life-Cycle-Modelle Teilphasen eines Software-Projekts Methoden und Werkzeuge 01101101 01011001 11010011 10011000 00000011 00011100

Mehr

1. Grundbegriffe des Software-Engineering

1. Grundbegriffe des Software-Engineering 1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

Was versteht man unter einem Softwareentwicklungsmodell?

Was versteht man unter einem Softwareentwicklungsmodell? Softwareentwicklung Was versteht man unter einem Softwareentwicklungsmodell? Ein Softwareentwicklungsmodell ist ein für die Softwareentwicklung angepasstes Vorgehensmodell bei der professionellen ( ingenieursmäßigen

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.- Doz Dr. Rolf Hennicker 04.10.2002 Kapitel 1 Software Engineering: Überblick Kapitel 1 Software Engineering: Überblick 2 Ziele Verstehen, womit sich die Disziplin

Mehr

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. SOFTWARETECHNIK Kapitel 7 Vorgehensmodelle Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann Inhalt Vorgehensmodelle Sequenzielle Modelle Iterative

Mehr

1 Objektorientierte Software-Entwicklung

1 Objektorientierte Software-Entwicklung 1 Objektmodellierung 1 Objektorientierte Software-Entwicklung Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Wissen, was unter objektorientierter

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Grundlagen der Programm- und Systementwicklung

Grundlagen der Programm- und Systementwicklung Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Maria Spichkova

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

Der Rational Unified Process

Der Rational Unified Process Philippe Kruchten Der Rational Unified Process Eine Einführung Deutsche Übersetzung von Cornelia Versteegen An imprint of Pearson Education München Reading, Massachusetts Menlo Park, California New York

Mehr

Einführung in die SWE

Einführung in die SWE Einführung in die SWE Inhalte der Vorlesung Allgemeine Ziele der Lehrveranstaltung Entwickeln einer kleinen Applikation nach professionellem Vorgehensmodell Erlernen des objektorientierten Herangehens

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

Übungsaufgaben zum Software Engineering: Management

Übungsaufgaben zum Software Engineering: Management Übungsaufgaben zum Software Engineering: Management Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design

Mehr

Software-Engineering

Software-Engineering 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

Mehr

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können.

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können. 1 Software-Qualitätssicherung 2 Einführung und Überblick LE 1 V Unternehmensmodellierung 1 Grundlagen [stark gekürzt] Prof. Dr. Helmut Balzert Lehrstuhl für Software-Technik Ruhr-Universität Bochum 1 Grundlagen

Mehr

Prozess-Modelle für die Softwareentwicklung

Prozess-Modelle für die Softwareentwicklung Prozess-Modelle für die Softwareentwicklung Prof. Dr. Andreas Spillner Institut für Informatik und Automation Hochschule Bremen Übersicht Softwareentwicklungs-Modelle Wasserfall-Modell Vorgehensmodell

Mehr

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12 Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski Die Phase Design Design Entwerfen der Benutzeroberfläche, des Bedienablaufs und der Softwarearchitektur Umsetzen des fachlichen Modells auf technische Möglichkeiten; Spezifikation der Systemkomponenten

Mehr

Software Engineering. 3. Analyse und Anforderungsmanagement

Software Engineering. 3. Analyse und Anforderungsmanagement Software Engineering 3. Analyse und Anforderungsmanagement Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 2: Vorgehensmodelle IAS-Vorgehensmodell Motivation Probleme Die

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1996 Philippe Kruchten: Rational Unified Process Produkt der Firma Seit 2002 Teil des IBM Konzerns Objektorientiertes

Mehr

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01]

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01] Inhaltsverzeichnis 1 Einleitung 4 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]....... 5 1.2 Eclipse als Java Entwicklungsumgebung................. 22 2 Planungsmethoden 29 2.1 Definitionsphase..............................

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Software Engineering

Software Engineering Software Engineering Einführung in das Software Engineering Ein Tutorial von Wirtschaftsinformatik-24.de Inhaltsverzeichnis Einleitung 2 Ziele vom Software Engineering.2 Prinzipien, Methoden und Verfahren..3

Mehr

Softwaretechnik WS 2013/14. Fomuso Ekellem

Softwaretechnik WS 2013/14. Fomuso Ekellem WS 2013/14 Organisatorisches Dozentin : Ango (Raum 2.250) Fragen und Übungen: mathe_ekellem@yahoo.com (Nur hier, sonst wird nicht bewertet) Folien: http://www.gm.fh-koeln.de/~afomusoe/softwaretechnik.html

Mehr

17 Architekturentwurf Vorgehen und Dokumentation

17 Architekturentwurf Vorgehen und Dokumentation 17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 2 Grundbegriffe

Mehr

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel SWE5 Slide 1 Software-Engineering Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel SWE5 Slide 2 Software-Engineering Vorlesungsthemen: 1. Überblick über das Thema und die Vorlesung 2. Grundlegende

Mehr

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Vorausgesetzte Kenntnisse Allgemeine Kenntnisse aus dem Bereich der Softwareentwicklung - Programmierkenntnisse (Java, C) - Beherrschung der notwendigen

Mehr

12 Nicht-funktionale Anforderungen

12 Nicht-funktionale Anforderungen 12 Nicht-funktionale Anforderungen Nicht-funktionale Anforderungen (non-functional requirements) Anforderungen an die Umstände, unter denen die geforderte Funktionalität zu erbringen ist. Gesamte Anforderungen

Mehr

2. Der Software-Entwicklungszyklus

2. Der Software-Entwicklungszyklus 2. Der Software-Entwicklungszyklus 2.1 Klassische Phasenmodelle 2.1.1 Wasserfallmodell 2.1.2 Rapid Prototyping 2.2 Objektorientierte Phasenmodelle 2.2.1 OOA / OOD / OOP 2.2.2 Iteratives Phasenmodell 2.2.3

Mehr

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung Kapitel B Vorgehensmodelle Inhaltsverzeichnis 1 B Vorgehensmodell... 3 1.1 Welche Vorgehensmodelle sind

Mehr

Qualitätssicherung. Was ist Qualität?

Qualitätssicherung. Was ist Qualität? Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen White Paper Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen Die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen

Mehr

Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung

Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung Skript zur Vorlesung Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung IT Kompaktkurs Sommersemester 2001 Prof. Dr. Herbert Fischer Fachhochschule Deggendorf 1 Methoden für Entwurf und Realisierung

Mehr

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003 Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

Mehr

Softwaretechnik. Fomuso Ekellem

Softwaretechnik. Fomuso Ekellem WS 2011/12 Inhalt Entwurfsphase Systementwurf Software Architektur Entwurf Software Komponenten Entwurf Struktur Verhalten OO Entwurf (OOD) 2 Entwurfsphase 3 Entwurfsphase Lernziele Aufgaben der Entwurfsphase

Mehr

Modellbasierte Softwareentwicklung

Modellbasierte Softwareentwicklung CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

Software Engineering

Software Engineering Software Engineering Grundlagen, Menschen, Prozesse, Techniken von Jochen Ludewig, Horst Lichter 1. Auflage Software Engineering Ludewig / Lichter schnell und portofrei erhältlich bei beck-shop.de DIE

Mehr

Grundlagen des Software Engineering

Grundlagen des Software Engineering Gustav Pomberger und Günther Blaschek Grundlagen des Software Engineering Prototyping und objektorientierte Software-Entwicklung Mit 101 Abbildungen Technische Universität Darmstadt FACHBEREICH INFORMATIK

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Softwarearchitekturen I Softwareentwicklung mit Komponenten Softwarearchitekturen I Softwareentwicklung mit Komponenten Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Softwarearchitekturen I 1 Beispiel: Bibliothekssystem

Mehr

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung) 3. Vorlesung 23.04.2007 Informationsmodelle Phasen der Softwareentwicklung:

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung Software-Qualität im Rahmen modellgetriebener Softwareentwicklung OFFIS Technologiecluster Enterprise Application Integration niels.streekmann@offis.de 09.07.2008 Seite 1 / 13 Software-Qualität: Unterschiedliche

Mehr

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät

Mehr

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

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

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

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de

Mehr

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung

Mehr

Arten der Softwareentwicklung

Arten der Softwareentwicklung Arten der Softwareentwicklung Eigenprogrammierung Software Komponenten / -module SW SW K1 K2 K3 K4 eduzierung der Komplexität durch Modularisierung Comercial of the shelfs (COTS) Domain Management SW Zukauf

Mehr

Anforderungsanalyse, Requirements Engineering

Anforderungsanalyse, Requirements Engineering Anforderungsanalyse, Requirements Engineering, Lastenheft, Pflichtenheft, Spezifikation, Zielgruppen Natürliche Sprache, Formulare Pflichtenheft, an ein Pflichtenheft von Funktionale, nicht-funktionale

Mehr

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende

Mehr

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches...

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches... Inhaltsverzeichnis Vorwort...XIII Aufbau des Buches............................................... XV 1 Von der Idee zur Software..................................... 1 1.1 Beispielanwendung... 1 1.2 Schritte

Mehr

6. Programmentwicklung

6. Programmentwicklung 6. Programmentwicklung Fertigungsprozess Qualitativ hochwertige Software ist ein Industrieprodukt -> Methoden der Industrie übertragen auf der Herstellprozess -> Herstellprozess gliedert sich in Phasen

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE3 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 3: Softwareplanung FH Wedel Prof. Dr. Sebastian Iwanowski SWE3 Folie 2 Problem und Lösung Aufnehmen

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Professionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 (30.06.2003):

Professionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 (30.06.2003): Professionelles Projekt-Management in der Praxis Veranstaltung 7 Teil 1 (30.06.2003): Prof. Dr. Phuoc Tran-Gia, FB Informatik, Prof. Dr. Margit Meyer, FB Wirtschaftswissenschaften, Dr. Harald Wehnes, AOK

Mehr

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering Helmut Balzert Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering 3. Auflage Unter Mitwirkung von Heide Balzert Rainer Koschke Uwe Lämmel Peter Liggesmeyer Jochen Quante Spektrum

Mehr

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell 1. Vorgehensmodelle Software- Entwicklungsaktivitäten und Vorgehensmodelle a) Lebenszyklusmodell (Life- Cycle- Modell) b) V- Modell c) Wasserfallmodell d) Modifiziertes Wasserfallmodell e) Iterative Modelle

Mehr

Grundlagen Software Engineering

Grundlagen Software Engineering Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Software Engineering I. Architektur

Software Engineering I. Architektur Skript zur Vorlesung Basiskonzepte Statik Dynamik Logik Funktionen Daten Datenstrukturen Kontrollstrukturen Zustände Prozesse Zeitliches Verhalten Abhängigkeiten Entscheidungstabellen Mathematik Regeln

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Informationssystemanalyse Use Cases 11 1

Informationssystemanalyse Use Cases 11 1 Informationssystemanalyse Use Cases 11 1 Use Cases Slide 1 Als ein populäres Mittel um Anforderungen zu erfassen und Systeme zu beschreiben, werden Use Cases benutzt. Sie bilden die Basis für eine umfassendere

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Weiteren Verlauf der Vorlesung 31.10.2011(2 Std) OO Vorgehensmodelle, UML, Teamarbeit, Gruppenbildung,. 07.11.2011(2,5Std) Projektvorstellung, Planungsphase 14.11.2011(2 Std) Angebotspräsentation,

Mehr

Einführung in die Softwareentwicklung

Einführung in die Softwareentwicklung Einführung in die Softwareentwicklung Thorsten Lemburg Universität Hamburg Seminar: Softwareentwicklung in der Wissenschaft 1 / 53 Einführung in die Softwareentwicklung - Thorsten Lemburg Gliederung 1.

Mehr

Entwicklung von Data-Warehouse-Systemen

Entwicklung von Data-Warehouse-Systemen Matthias Goeken Entwicklung von Data-Warehouse-Systemen Anforderungsmanagement, Modellierung, Implementierung Mit einem Geleitwort von Prof. Dr. Ulrich Hasenkamp Deutscher Universitäts-Verlag Inhaltsverzeichnis

Mehr

Software Engineering

Software Engineering Software Engineering Prof. Adrian A. Müller, PMP Fachbereich Informatik und Mikrosystemtechnik Fachhochschule Kaiserslautern, Standort Zweibrücken Prof. A. Müller, FH KL Software Engineering Winter '12/'13

Mehr