Fachhochschule Gießen-Friedberg Studiengang Informatik. Achim H. Kaufmann SOFTWARETECHNIK. Vorlesungsskript. Version 1.1 (Arbeitsversion 1.
|
|
- Heike Kaiser
- vor 2 Jahren
- Abrufe
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.
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
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,
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
Software-Lebenszyklus
Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung
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:
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
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
Methodische objektorientierte Softwareentwicklung
Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell
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
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
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
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
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
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
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?
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
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
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
Die Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
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
Ü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
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
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
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
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
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
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
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
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
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
Ü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
Ü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
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
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
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
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
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
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
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
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
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
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Vorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
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.
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
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
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
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,
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..............................
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
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
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
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
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:
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
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,
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
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
Einführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
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
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
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
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
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
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
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
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
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:
1.3 Entwicklungsmethoden: Systematischer Überblick
1.3 Entwicklungsmethoden: Systematischer Überblick Literatur: Balzert Band 1, LE 411 Was ist der Unterschied zwischen einem Methoden Spezialisten und einem Terroristen? Was ist eine SoftwareEntwicklungsmethode?
Objektorientierte Analyse
Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden
3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006
3. Vorgehensmodelle Software Engineering Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006 Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen
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
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
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
Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim
Software- Der Strategien und ist der zum Definieren der Architektur, der Komponenten, der Schnittstellen und anderer Charakteristika (Datenstrukturen, Algorithmen etc.) eines Systems oder einer Komponente
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
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
Obligatorische Literatur. Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA
Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Obligatorische Literatur Zuser, Kap. 7-9 Störrle, Kap. 5 Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und
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
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
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
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
vii Inhaltsverzeichnis 1 Einleitung 1
vii 1 Einleitung 1 1.1 Softwarearchitektur als Disziplin im Software Engineering........ 2 1.2 isaqb International Software Architecture Qualification Board.......... 4 1.3 Certified Professional for Software
Software-Lebenszyklus
Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP SW-Qualitätssicherung (SW-QS) Qualitätskosten
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
Systemen - Testen im Softwarelebenszyklus
P r a k t I s c h e Entwicklung und Test Testen von Software-Systemen Systemen - Testen im Softwarelebenszyklus Entwickler erstellen ihr System bzw. ihre Software und testen es/sie zur Entwicklungszeit
Software Engineering
Software Engineering Softwareentwicklungsmethoden und -modelle Prof. Dr.-Ing. habil. Reiner R. Dumke http://www.smlab.de R. Dumke 2-1 Software Engineering - LV-Inhalt - 3. Softwareentwicklungsmethoden
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
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
Gliederung des Vortrages
Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme
09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
Vorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
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.
10 Gesamtsystemspezifikation
Bundesamt für Informationsmanagement und Informationstechnik der Bundeswehr 10 Gesamtsystemspezifikation V-Modell XT Anwendung im Projekt
Teil VII. Software Engineering
Teil VII Software Engineering Überblick 1 Einführung 2 Der Softwareentwicklungsprozess 3 Methoden und Werkzeuge Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 7 1 Einführung Die Softwarekrise
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:
Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig
Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
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/
Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis
Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses