1 Phasen- und Vorgehensmodelle... 4

Größe: px
Ab Seite anzeigen:

Download "1 Phasen- und Vorgehensmodelle... 4"

Transkript

1 1 Phasen- und Vorgehensmodelle Vorgehensmodelle Überblick über das klassische Phasenmodell Merkmale der phasenorientierten Software- Entwicklung Inititialisierungsphase Problemanalyse und Systemspezifikation System- und Komponentenentwurf Implementation Systemtest Installation, Einsatz und Wartung Qualitätssicherung Dokumentation Benutzerdokumentation Entwicklungs- bzw. Systemdokumentation Projektdokumentation in der Praxis Klassisches Phasenmodell der IBM Vorteile des klassischen Phasenmodells...36 Seite 1

2 1.5 Kritik am klassischen Phasenmodell Erweiterungen und Alternativen des Phasenmodells Das prototyping-orientierte Lebenszyklusmodell Prototyping als Entwicklungsmethode für Benutzerschnittstellen Besondere Aspekte prototyping-orientierter Software Entwicklung Kosten Qualität Risiken prototyping-orientierter Vorgehensweise Das Spiralmodell nach BOEHM Objektorientierte Vorgehensmodelle Idee des Vorgehensmodells Objektorientierte Vorgehensmodelle in der Literatur Das Cluster-Modell nach MEYER Fontänenmodell nach HENDERSON-SELLERS Baseball-Modell Das objekt- und prototyping-orientierte Lebenszyklusmodell...64 Seite 2

3 Seite 3

4 1 Phasen- und Vorgehensmodelle Wenn man mit einer komplexen Aufgabe konfrontiert ist, versucht man, den Lösungsprozeß systematisch zu gliedern, d.h. ein Vorgehensmodell zu definieren. Ein solches Vorgehensmodell regelt den Ablauf des Lösungsprozesses. Es unterteilt ihn in überschaubare Abschnitte und soll dadurch eine schrittweise Planung, Durchführung, Entscheidung und Kontrolle ermöglichen. Architekten beispielsweise wenden Standardmethoden beim Bau von Gebäuden, Straßen oder Brücken an. Der Entwurf berücksichtigt geologische und klimatische Rahmenbedingungen und spezifische Materialeigenschaften zur Gebäudestatik. Bevor der eigentliche Bau beginnt, werden in Abstimmung mit dem Auftraggeber Zeichnungen oder Modelle erstellt und eine Aufwandsplanung durchgeführt. Die Erfahrung langer Jahre spiegelt sich hier in ausgereiften Techniken wider, die (gewöhnlich) zu qualitativ hochwertigen Produkten führen. Die Planung, Entwicklung und Einführung von IKS-Systemen umfaßt eine Vielfalt von Aufgaben aus Wirtschaftsinformatik, Informatik, Betriebswirtschaftslehre, Arbeitswissenschaften, Rechtswissenschaften und anderen Gebieten. Diese Einzelaufgaben greifen ineinander und beeinflussen sich gegenseitig. Eine Strategie der Systementwicklung legt die Art und Weise fest, wie ein Softwaresystem geplant, entworfen, implementiert und eingeführt wird. Die Strategien der SE können durchaus unterschiedlich sein. Seite 4

5 Durchläufe der Gestaltungsstufen einmalig iterativ datenorientiert Systemkonzept funktionsorientiert objektorientiert Top-Down Vorgehensweise Strategien für die Planung, Entwicklung und Einführung von IK-Systemen Bottom-Up induktiv Ausgangspunkt deduktiv Easiest-first Schwierigkeitsgrad Hardest-first Abbildung 1: Strategien zur Softwareentwicklung Einfachverwendung Verwendungshäufigkeit Mehrfachverwendung Die SE komplexer IKS erfordert die Adaption von Verfahren, wie sie in den Ingenieurdisziplinen seit langem erfolgreich eingesetzt werden. Seite 5

6 1.1 Vorgehensmodelle Ein Vorgehensmodell beschreibt einen bestimmten Ansatz für die Art der Durchführung und die Reihenfolge der Teilaufgaben einer Systementwicklung, wobei man sich stark an der logischen und/oder chronologischen Reihenfolge der Einzelaktivitäten orientiert. Im folgenden werden folgende Vorgehensmodelltypologien vorgestellt: 1. das klassisch sequentielle Phasenmodell; 2. das Wasserfall-Modell; 3. das Evolutionäres bzw. prototyping- orientiertes Lebenszyklus-Modell; 4. das Spiralmodell nach BOEHM; 5. das objektorientiertes Lebenszyklus-Modell; 6. das objekt- und prototyping- orientiertes Lebenszyklus-Modell Zu 1.) Das klassische Phasenmodell beschreibt die Zerlegung des Prozesses der Systementwicklung in einzelne logisch und zunächst auch chronologisch aufeinanderfolgende Aufgabenbereiche. Zu 2.) Das Wasserfallmodell ergänzt als Phasenmodell um den Aspekt einer systematischen Überprüfung und Kontrolle am Ende jeder Phase und die ausdrückliche Möglichkeit, gegebenenfalls wieder in eine frühere Phase zurückzuspringen. Insofern ist das Wasserfallmodell eine realitätsbezogene Weiterentwicklung des Phasenmodells. Zu 3.) Prototyping bzw. evolutionäre Systementwicklung bedeutet eine intensive Einbeziehung der künftigen Anwender in den Systementwicklungsprozeß. Prototyping liefert kein geschlossenes Vorgehensmodell für den gesamten Prozeß der Systementwicklung, sondern frühzeitig für Teilsysteme oder Komponenten eines Systems lauffähige Versionen bereitzustellen. Seite 6

7 Zu 4.) Das Spiralmodell ergänzt das Wasserfallmodell um Prototyping und einige andere Schritte einer systematischen Vorgehensweise, zu denen insbesondere eine intensive Risikoanalyse in jeder Phase gehört. Zu 5.) und 6.) Die objektorientierten Vorgehensmodelle berücksichtigen die Vorteile, die sich aus der Verwendung o. o. Techniken ergeben. Seite 7

8 1.2 Überblick über das klassische Phasenmodell Ein systematisches, sequentielles Modell des Softwareentwicklungsprozesses besteht aus den Phasen 1. Problemanalyse und Systemspezifikation 2. (System-)Entwurf, 3. Implementierung, 4. Systemtest, 5. Betrieb und Wartung, 6. sowie parallel zu den Phasen aus den Tätigkeiten des Projektmanagements. Bei einem Softwaresystem besteht der Systemlebenszyklus (System-Life- Cycle) aus zwei Phasen: 1. Entwicklungsphase, die unterteilt werden kann in Initialisierungsphase, Analysephase, Design- bzw. Entwurfsphase und Implementierungs- bzw. Realisierungsphase. Seite 8

9 2. Nutzungsphase oder Phase des Systembetriebs. Start des Projekts Anforderungen Initialisierung Beginn der Entwicklung Analyse Entwurf Implementierung Management System- und Abnahmetest Nutzungsphase Nutzung, Wartung, Betrieb, Schulung Ausmusterung Abbildung 2: Das Phasenmodell der Software Entwicklung Seite 9

10 1.2.1 Merkmale der phasenorientierten Software- Entwicklung Prinzip der Top-Down-Dekomposition (sog. Black-Boxes) Ergebnisse der Phasen sind wohldefinierte Produkte (Dokumentenform) Phasen sind klar abgegrenzt Sukzessive Verringerung der Komplexität wird beabsichtigt. Die dahinter liegende Grundidee wird durch folgende Grafik beschrieben: Seite 10

11 Problem- und Situationsbeschreibung Analyse des Ist-Zustandes und der Voraussetzungen Ermittlung der Systemanforderungen Entwicklung eines groben Systemkonzepts mit alternativen Lösungsvorschlägen Duchführbarkeitsuntersuchung einschließlich Wirtschaftslichkeitsanalyse Entscheidung, ob Individual- oder Standardsoftware eingesetzt wird in Abhängigkeit von dieser Entscheidung: detaillierter Entwurf oder Auswahl und Beschaffung von Standardsoftware Programmentwicklung und Programmtest und/oder Customizing von Standardsoftware Einführung und Inbetriebnahme des Systems Betreuung des neuen Systems in der Einführungsphase Abbildung 3: Zerlegung der Systementwicklung in Phasen Seite 11

12 Die Phasen und ihre Ergebnisse Projektidee Initialisierung Synonyme: Voruntersuchung, IST-Analyse Entwicklungsauftrag, Grobplan Anforderungen Problemanalyse, Systemspezifikation Synonyme: Systemanalyse, Grobkonzept Systemspezifikation, Pflichtenheft Entwurf Entwurfsspezifikation: Modulentwurf, Algorithmen, Datenbankmodell, Entwurf der Benutzerschnittstelle, Systemarchitektur Synonym: Design Implementierung Programmcode, Dokumentation, Testdaten und -ergebnisse Synonyme: Umsetzung, Realisierung System- und Abnahmetest Lieferung des lauffähigen Programms, Abnahmeerklärung, geprüfte Einsatzfähigkeit Veränderte und neue Anforderungen Nutzung, Wartung, Betrieb, Schulung Ausmusterung Abbildung 4: Das klassische Phasenmodell mit Ergebnissen der Phasen Initialisierungsphase Das Ziel und Ergebnis der Initialisierungsphase besteht in der Festlegung, welche Aufgaben unter welchen Umgebungsbedingungen computergestützt gelöst werden sollen. Im Rahmen dieser Ist-Analyse werden, um festzustellen, was automatisiert werden soll, das derzeit aktuelle (Organisations-) System und die betroffenen Seite 12

13 Betriebsabläufe analysiert und die Benutzerwünsche erfaßt. Die Phase besteht aus Systemabgrenzung, Systemerhebung und Systembeschreibung. 1. Systemabgrenzung Entscheidung, welche Teile in die Analyse einbezogen werden und welche Teile auszuklammern sind. Formulierung eines klaren Leistungsumfanges. Festlegung der für das Produkt relevanten Umgebungsbedingungen. 2. Systemerhebung Kern der Ist Analyse (Der Analytiker muß bei der Systemerhebung den Aufgabenbereich, den Informationsfluß, aber auch alle Schwachstellen des derzeitigen Systems untersuchen.) 3. Systembeschreibung Das Ziel der Systembeschreibung besteht darin, die bei der Systemabgrenzung und bei der Systemerhebung ermittelten Ergebnisse zu strukturieren und zu erläutern Problemanalyse und Systemspezifikation In der Problemanalyse werden die spezifischen Produktanforderungen er - mittelt, eine Durchführbarkeitsstudie erstellt und eine Kosten/Nutzen- Analyse vorgenommen. Die Systemspezifikation, bestehend aus Anforderungs- defini-tion, Produktdefinition und Systemmodell, bildet eine Vertragsbasis zwischen Auftraggeber und Auftragnehmer. Hier wird der Leistungsumfang des Pro-dukts festgeschrieben (die Endabnahme des Produkts erfolgt nach den Vor- gaben der Systemspezifikation). Seite 13

14 Typischerweise enthält die Systemspezifikation Angaben zum Funktionsumfang, zur Benutzerschnittstelle, zu Schnittstellen der Systemumgebung, zum Leistungsverhalten, zur geplanten Hard- und Software, zu den Dokumentationsrichtlinien und zur Terminplanung. Diese beiden Phasen beschäftigen sich ausschließlich mit dem WAS des Softwaresystems. Dem Lösen der Kommunikationsprobleme zwischen Auftraggeber und Auftragnehmer kommt dabei eine besondere Bedeutung zu. Das Ziel der Spezifikationsphase ist ein Kontrakt (Pflichtenheft und /oder Systemspezifikation) zwischen Auftraggeber und Softwarehersteller, der genau festlegt, was das geplante Softwaresystem leisten soll und welche Prämissen für seine Realisierung gelten (Erstellung der Systemspezifikationen, Festlegung eines genauen Projektplanes, Validierung der Systemspezifikation, ökonomische Rechtfertigung). Dazu gehört i.d.r. ein formales Systemmodell, welches in einer meist grafischen Notation das zu erstellende System beschreibt System- und Komponentenentwurf Beim Entwurf wird auf Grundlage der Produktdefinition die innere Struktur des Softwaresystems festgelegt. Dazu gehört in erster Linie der Entwurf der Systemarchitektur. Hierbei wird eine statische Zerlegung in Komponenten (Teilsysteme, Module) vorgenommen, die weiter verfeinert werden können. Der Schwerpunkt liegt auf der Beschreibung der Aufgaben der einzelnen Komponenten und deren Zusammenwirken, d.h. ihrer Kommunikation untereinander. Details der Realisierung sind Gegenstand der nachfolgenden Implementierungsphase. Zweck des Entwurfs ist also die Bewältigung der Komplexität durch Zerlegung des Gesamtprodukts in kleinere beherrschbare Einheiten. Das Ziel der Entwurfphase besteht darin, festzulegen durch welche Systemkomponenten die durch die Systemspezifikation vorgegebenen Anforderungen Seite 14

15 abgedeckt werden und wie diese Systemkomponenten zusammenarbeiten sollen (Entwurf der Systemarchitektur, Entwurf ihrer Schnittstellen, Festlegung der Wechselwirkungen, Entwurf der algorithmischen Struktur, Validierung der Systemarchitektur). Das Ergebnis der Entwurfsphase sind die Beschreibung des logischen Datenmodells der Systemarchitektur, der algorithmischen Struktur der Systemkomponenten sowie die Dokumentation der Entwurfsentscheidungen. (Dies ist eine Tätigkeit, die in der Regel eher von Softwaretechnikern erstellt werden sollte.) Die Dokumentation dieser Phase heißt Entwurfsspezifikation. Sie faßt die Entwurfsüberlegungen in einer formalen Notation zusammen. Der Entwurf bestimmt wesentlich die Qualität des Gesamtsystems. Nicht nur die programmtechnische Erstellung, sondern auch die Wartbarkeit des Endprodukts hängen entscheidend von ihm ab. Ein guter Entwurf zahlt sich also auch langfristig aus. Man beachte, daß die Qualitätskriterien für Analyse und Entwurf völlig unterschiedlich sind Implementation In dieser Phase, manchmal auch Codierung genannt, werden die Komponenten des Entwurfs in einer konkreten Programmiersprache implementiert. Zur Anwendung kommen die Methoden der,,programmierung im Kleinen. Im Mittelpunkt der Codierung der einzelnen Komponenten stehen Wohlstrukturiertheit und Programmierstil. In diese Phase fällt auch der Test (Modultest) einzelner Komponenten. Das Ziel der Implementierungsphase besteht darin, die in der Entwurfsphase gewonnen Ergebnisse in eine Form zu bringen, die auf einem Rechner ausführbar ist (Vollständige Verfeinerung der Algorithmen, Codierung, Seite 15

16 Übertragung des logischen auf das physische Datenmodell, Übersetzung und Überprüfung der syntaktischen Richtigkeit, syntaktische und semantische Korrekturen). Die Ergebnisse der Implementierungsphase sind der Programmtest der Systemkomponenten, die Protokolle der Komponententests und das physische Datenmodell. Das Ergebnis dieser Phase sind die Quelltexte und Objektmodule der verschiedenen Komponenten. Diese sind zwar einzeln getestet, ergeben zusammen aber i.a. noch kein funktionsfähiges Programm Systemtest Nach dem Einzeltest der Komponenten in der vorigen Phase beginnt jetzt die Integration. Durch sukzessives Hinzufügen einzelner Komponenten entstehen wachsende Programmteile, die ausgiebig getestet werden. Den natürlichen Abschluss dieser Kette bildet der Test des Gesamtsystems, der die Korrektheit des Produkts bzgl. der Entwurfsspezifikation und der Produktdefinition sicherstellen soll. Das ausführbare Programmsystem wird abschließend auf operative Anforderungen überprüft (z.b. Effizienz) und vom Auftraggeber abgenommen. Das Ziel der Testphase besteht darin, die Wechselwirkungen der Systemkomponenten unter realen Bedingungen zu prüfen, möglichst viele Fehler des Softwaresystems aufzudecken und sicherzustellen, daß die Implementierung die Systemspezifikation erfüllt. Seite 16

17 1.2.7 Installation, Einsatz und Wartung Mit der Installation, d.h. der Übertragung des Gesamtsystems in seine reale Umgebung und damit unter Umständen auf eine andere Hardware, beginnt der Praxiseinsatz des entwickelten Produkts. Unter Wartung faßt man alle Aktivitäten zusammen, die von nun an das Softwaresystem betreffen. Dies bedeutet insbesondere die Korrektur von Fehlern, die Anpassung an andere Systemumgebungen sowie die Änderung oder Erweiterung der Funktionalität. Einsatz und Wartung gehören nicht mehr zum eigentlichen Entwicklungsprozeß, sondern umfassen den Zeitraum von der ersten Installation bis zum Einsatzende. Diese Phase ist aber sowohl vom Zeitraum, wie auch vom finanziellen Aufwand die teuerste. Es ist festzuhalten, daß eine schlanke Entwicklungsphase die Wartungsphase weiter verteuert. Aufgabe der Softwarewartung ist es also, Fehler, die erst während des tatsächlichen Betriebs auftreten, zu beheben und insbesondere Systemänderungen und -erweiterungen durchzuführen. Inhalte der Software-Wartung: Nachbesserungen der Benutzerschnittstelle und Optimierungen Korrektur von Fehlern, die beim Testen nicht entdeckt wurden Änderungen infolge neuer Benutzeranforderungen Ein wartungsfreundliches System implementieren heißt, Modularität, Strukturiertheit, Lesbarkeit und Testbarkeit zu garantieren und während des Entwicklungsprozesses die Möglichkeit und Wahrscheinlichkeit einer späteren Änderung zu berücksichtigen. Seite 17

18 Wichtige Kriterien der Wartbarkeit: Verständlichkeit (Klarheit der Organisation des Softwaresystems) Komponentenunabhängigkeit (Modularisierung) Programmiersprache (gute Lesbarkeit) Programmierstil (gut strukturierte Programmierung) Testbarkeit (langfristige Aufbewahrung der Testbedingungen) Änder- und Erweiterbarkeit (Erweiterungen ohne Strukturzerstörung) Dokumentation (qualitative hochwertige Systemdokumentation) Qualitätssicherung Die Qualitätssicherung umfaßt analytische, konstruktive und organisatorische Maßnahmen um Produktmerkmale wie Korrektheit, Zuverlässigkeit, Benutzerfreundlichkeit, Wartungsfreundlichkeit, Effizienz und Portabilität zu erreichen Dokumentation Die Dokumentation soll während der Entwicklungsphasen die Kommunikation zwischen den an der Entwicklung beteiligten Personen ermöglichen und nach Abschluß der Entwicklungsphasen den Einsatz und die Wartung von Softwareprodukten unterstützen. Seite 18

19 Informationsaufgaben der Dokumentation: welchen Zweck und welche besonderen Eigenschaften ein Softwaresystem hat welche Maßnahmen zur Installation erforderlich sind wie ein Anwender das Softwaresystem zur Lösung seiner Aufgaben/Probleme einsetzen kann wie das Softwaresystem implementiert ist und wie es getestet wurde wie der Herstellungsprozeß und die Entwicklungsmannschaft organisiert waren, welche Schwierigkeiten aufgetreten sind und welcher Aufwand angefallen ist Für die Dokumentation gibt es drei Zielgruppen: 1. Anwender und Interessenten Benutzerdokumentation 2. Entwickler und Wartungspersonal Systemdokumentation 3. Manager von Softwareprojekten Projektdokumentation Benutzerdokumentation Die Benutzerdokumentation muß sicherstellen, daß das Softwareprodukt ohne Zuhilfenahme weiterer Informationen benutzt werden kann. 1. Allgemeine Systembeschreibung 2. Installations- und Bedienungsanleitung 3. Eventuell Operator-Anleitung 4. Ausführliches Inhaltsverzeichnis 5. Stichwortverzeichnis Seite 19

20 Die Benutzerdokumentation sollte einen sequentiell zu lesenden Teil und einen Referenzteil für selektives Lesen besitzen. Im Idealfall ist die Benutzerdokumentation sowohl als Nachschlagewerk, als auch für die wichtigsten Funktionen oder Fehlerbedingungen als Online-Help- Funktion verfügbar Entwicklungs- bzw. Systemdokumentation Die Systemdokumentation beschreibt alle Einzelheiten des Aufbaus eines Softwaresystems, die Struktur der einzelnen Komponenten und die Testaktivitäten. (Sie enthält alle phasenabschließenden Dokumente.) Die Systemdokumentation soll in keinem Fall erst nach der Testphase erstellt werden, sondern im Prozeß fortgeschrieben werden. Inhalt der Systemdokumentation Beschreibung der Aufgabenstellung (Systemspezifikation), Beschreibung der Implementierung im Großen, Beschreibung der Implementierung im Kleinen, Beschreibung der verwendeten Dateien, Testprotokolle, Listung aller Programme. Seite 20

21 Projektdokumentation Die Projektdokumentation enthält Informationen zur Projektverwaltung und zur Projektkontrolle. Inhalt der Projektdokumentation: ein Projektplan, der die einzelnen Realisierungsphasen und den dafür geplanten Zeitrahmen vorgibt (Projektfortschrittskontrolle) ein Organisationsplan, der die Personalzuteilung und -führung für die einzelnen Realisierungsphasen vorgibt eine Angabe darüber, welche Ergebnisse (Dokumente) nach jeder Realisierungsphase vorliegen müssen die Definition des Projektstandards (Qualitätskontrolle) ein Verzeichnis aller zum Projekt gehörenden Dokumente; dieses Verzeichnis enthält für jedes Dokument Informationen über der Entwicklungsstand, die Zugriffsrechte und seine Archivierung ein Verzeichnis über die verbrauchte Arbeitszeit, Maschinenzeit und sonstigen Aufwendungen (Kostenüberwachung) ein Projekttagebuch der Besprechungen von Projektmitarbeitern mit Ergebnisprotokoll (Designentscheidungen, Schwachstellen, Teamaufgaben) Hinweis: Die Dokumentation ist integraler Bestandteil eines Softwaresystems. Der Dokumentation kommt keine eigene Phase im Software-Lebenszyklus zu. Sie ist Seite 21

22 Bestandteil aller Phasen und wird nach Abschluß der Implementierungs- und Testarbeiten überarbeitet und ergänzt. Jede Änderung der Software initiiert eine entsprechende Änderung der Dokumentation (z. B. Ergänzung, Austausch). Begriffe: System, Modul, Komponente, Subsystem (Nicht vortragen: Zu Information des Dozenten) Die nachstehenden Begriffe sind für das Projektmodell insofern von zentraler Bedeutung, als sie das Gerüst seiner Phasen- und Ergebnisstruktur bilden. System: Gesamtheit aller Module, die sich in einem ganzheitlichen Zusammenhang befinden. Es antwortet auf die Eingabe von Informationen mit einer wohldefinierten Reaktion, indem es Informationen speichert, transformiert und ausgibt. Modul: Abgeschlossene softwaretechnische Einheit mit wohldefinierter Schnittstelle, die eine Funktions- und/oder Datenabstraktion realisiert. Komponente: Gruppe zusammengehöriger Module. Sie kann sich nach außen, d. h. bezüglich ihrer Schnittstelle, wie ein Modul darstellen. Eine solche Komponente wird gebildet, wenn die Funktionalität zu einem großen Modul führen würde. Eine Komponente kann auch eine Gruppe artverwandter Module bezeichnen, z. B. eine Softwareschicht ( Anwendungskern, Dialogführung ). Subsystem: Zusammenfassung von Modulen zum Zwecke der Integration, des Prototyping und der Stufenbildung aber nicht gleichbedeutend mit Komponente. Seite 22

23 1.3 in der Praxis Um diese abstrakte Darstellung mit Leben zu füllen, folgt hier eine etwas konkretere Darstellung aus der Praxis. Trotz differierender Bezeichnungen erkennt man unschwer die Elemente des klassischen Phasenmodells Klassisches Phasenmodell der IBM 1. Phase: Voruntersuchung Tätigkeiten: 1. Aufnahme des Ist-Zustandes Definition des zu analysierenden Aufgabenkomplexes Festlegung der Ziele Aufstellen des Fragenkatalogs Durchführung der Analyse mittels des Fragenkatalogs Auswertung der Analyse unter dem Gesichtspunkt der Zielvorgaben Erstellung der Anforderungsdefinition aus dem Ergebnismaterial Prüfung der Anforderungsdefinition durch den Auftraggeber 2. Machbarkeitsanalyse (feasibility study) Aufstellung der Lösungsansätze Detaillierte Zeit- und Aufwandsschätzung Durchführungsplan Seite 23

24 Ergebnisse: Anforderungsdefinition (Requirements Definition) Erste Zeit- und Aufwandsschätzung 2. Phase: Grobkonzept Tätigkeiten: Systemanalyse Festlegung der Beschreibungsmethoden (SA / MSA / ER / OO- Methoden) Analyse der Daten- und Funktionszusammenhänge Strukturierung und Typisierung der systemrelevanten Daten Gliederung und Hierarchisierung der Systemfunktionen Darstellung des Sollkonzeptes in der gewählten Beschreibungsform Fixierung der benötigten Hardware und Software (tools) Ergebnisse: Sollkonzept Durchführungsplan Formalisierte Systemspezifikation Vertrag zwischen Auftraggeber und Auftragnehmer Seite 24

25 3. Phase: System- und Komponentenentwurf Tätigkeiten: 1. Systementwurf Zerlegung des Gesamtsystem in Teilsysteme anhand der Anforderungsspezifikation Zuordnung des relevanten Ausschnitts der Anforderungsspezifikation zu jedem Teilsystem Software-Entwurf der zu realisierenden Teilsysteme 2. Software-Entwurf Darstellung der Funktionen und Datenstrukturen in einer Form, welche die unmittelbare Abbildung in einer konkreten Programmiersprache ermöglicht. Festlegen der Programmiersprache 3. Modulentwurf Definition des physischen Datenbankmodells Konzeption der Speicherverwaltung Beschreibung der Modulfunktionen als Algorithmen unter Verwendung festgelegter Beschreibungsmittel Dokumentation der Entwurfsentscheidungen 4. Schnittstellendefinition Definition der Benutzerschnittstelle Schnittstelle zur Basismaschine, zum DBMS und anderen Systemen Seite 25

26 5. Planung der Implementierung Festlegung der Realisierungsreihenfolge Termin- und Kostenplanung Aufgabenverteilung auf die Projektmitarbeiter Ergebnisse: Architektur, bestehend aus Software-Modulen Projektplan für die Implementierung 4. Phase: Systemrealisierung (Implementierung) Tätigkeiten: 1. Implementierung bzw. Modulcodierung Umsetzung der Algorithmen in der Programmiersprache Modul- bzw. Programmdokumentation Dokumentation der Testdaten für den Modultest Code-Inspektion 2. Modultest Realisierung von Hilfsfunktionen für den Modultest (sog. Treiberprogramme) Modultest (z.b. computer aided tracking) Dokumentation der Testergebnisse Korrekturen der Modulcodierung Korrekturen der Modul- und Programmdokumentation Seite 26

27 Re-Test 3. Integrations- und Komponententest Festlegung der Testfälle Test des Gesamtsystems Dokumentation der Testergebnisse Überprüfung der Testergebnisse Fehlerbehebung und Testwiederholung Prüfung der Performanz, ggfs. Leistungsverbesserung (tuning) Ergebnisse: Codiertes und getestetes Modul Moduldokumentation Programmdokumentation Testdokumentation Seite 27

28 5. Phase: Systemtest Tätigkeiten: 1. Integrationstest Festlegung der Testfälle Test des Gesamtsystems Dokumentation der Testergebnisse Überprüfung der Testergebnisse Fehlerbehebung und Testwiederholung Abnahme durch den Benutzer 2. Nutzungsvorbereitung Vervollständigung der Dokumentation Erstellen des technischen Handbuchs Erstellen des Installations-, Benutzer- und Wartungshandbuches Revision des Gesamtsystems Ergebnisse: Getestetes Gesamtsystem Vollständige Dokumentation Seite 28

29 6. Phase: Nutzung und Wartung Tätigkeiten: Einführung des Systems Benutzerausbildung (meist parallel zum Systemtest) Systeminstallation Überwachung, Messung und Feineinstellung (tuning) Fehlerbeseitigung Systemanpassungen und -erweiterungen Ergebnisse: Installiertes System Beschreibung der Leistungsdaten durch Meßergebnisse Phasenübergreifend: Projektmanagement 1. Controlling von Terminen und Kosten 2. Überprüfung der Phasenergebnisse 3. Bereitstellung notwendiger Ressourcen 4. Festlegung eines Projektteams und dessen Struktur 5. Verteilung der Aufgaben 6. Leistungsüberprüfung der Teammitglieder 7. Abstimmung zwischen Auftraggeber und Projektteam Seite 29

30 Das Phasenmodell von DENERT (Nicht vortragen: Zu Information des Dozenten) Weiter mit 1.4 Vorteile des klassischen Phasenmodells DENERT hebt in seinem Phasenmodell insbesondere den Unterschied zwischen Spezifikation und Konstruktion heraus, die er wie folgt charakterisiert: Spezifikation Außenansicht Black-box view Was Architektur Konstruktion Innenansicht Glass-box view Wie Implementierung Der Entwurf (Design) besteht aus den beiden Teilen: Spezifikation + Konstruktion = Entwurf Eine klare Trennung von Spezifikation und Konstruktion ist wesentliches Merkmal eines guten Softwaredesigns. Ergebnisse der Entwicklungsphasen (DENERT) Gemeinhin stellt man sich den Ablauf eines Software-Entwicklungsprojektes als eine sequentielle Abfolge von klar gegeneinander abgegrenzten Phasen vor. Rückwirkungen von späteren Phasen werden dabei als notwendiges Übel Seite 30

31 bzw. Konzession des Modells an die Realität verstanden. DENERT unterscheidet demnach: System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration mit den jeweiligen Unterpunkten als (Teil-)Phasen, bzw. als (Teil)-Ergebnisse eines Projekts auffassen. Er zieht die ergebnisorientierte Phasenbetrachtung vor, da die aufgeführten Ergebnisse im Projektverlauf erarbeitet werden müssen. Das Wann ihrer Abfolge sind dagegen weniger klar. Die Systemspezifikation ist ein Dokument, das Funktionalität und Schnittstellen des Systems von außen, also aus Sicht des Anwenders definiert. Die Systemspezifikation besteht aus drei wesentlichen Teilen: Das Datenmodell ist die Grundlage der Spezifikation. Es vermittelt eine konzeptionelle, anwendungsbezogene Darstellung der Daten, mit denen das zu spezifizierende System arbeitet. Das Funktionenmodell legt die Funktionen des Systems fest und verknüpft sie mit dem Datenmodell. Eine wichtige Rolle spielt dabei das Zustandsmodell, das die Lebensläufe bestimmter Datenobjekte widerspiegelt. Die Benutzerschnittstelle tritt im Dialog- und als Stapelverarbeitungs-Fassung in Erscheinung und legt die Art der Datenrepräsentation für und der Funktionenbenutzung durch den menschlichen Benutzer fest. Die Nachbarsysteme-Schnittstelle bestimmt Kommunikation und Datenaustausch mit anderen Systemen. Seite 31

32 Während der Ausarbeitung der Systemspezifikation gibt es eine Reihe von Einflüssen, Vorgaben und Wechselwirkungen. Diese Inhalte sind üblicherweise als Teil des Pflichtenhefts realisiert: Am wichtigsten ist das Fachkonzept. Hierin finden sich Aussagen über die betriebswirtschaftlichen, produktionstechnischen oder sonstigen Informationen und Regeln, die das künftige System beinhalten muß. Bei einem Kostenrechnungssystem heißt das beispielsweise festzulegen, wie Einzel- und Gemeinkosten zu berechnen sind; bei der Steuerung einer chemischen Produktion hat man u. a. Art und Verwendung der Rezepturen festzulegen. Das Organisationskonzept legt fest, wie die Menschen in den betroffenen Organisationseinheiten ihre Arbeit unter Nutzung des zukünftigen Systems verrichten. In der Regel bedarf es einer Anwendungsanalyse, deren Zweck es ist, die Softwaredesigner (Architekten) mit dem betriebswirtschaftlichen und organisatorischen Ist-Zustand der Anwendung vertraut zu machen. Ein wichtiger Aspekt bei der Spezifikation ist die Frage, ob das zu entwickelnde ein vorhandenes System ersetzen soll und wie es mit benachbarten Systemen verbunden werden muß (Ablösung eines alten Systems). Seite 32

33 Darüber hinaus gibt es diverse grundlegende Anforderungen, die im Zuge der Systemspezifikation zu fixieren sind bzw. diese beeinflussen: Quantitative Anforderungen wie Performance, Verfügbarkeit, Datenmengen, anzuwendendes Basissystem (Hardware, Betriebs- und Datenbank- system, TP- Monitor, Programmiersprache, etc.), Termin und Budget, die oft im Widerspruch zu funktionalen Anforderungen stehen. Die Systemkonstruktion ist das Dokument, das die softwaretechnische Konzeption des Systems in drei Teilen festlegt: Modularisierung ist die Gliederung des zu entwerfenden Systems in Teile - also in Komponenten und (vor allem) Module - sowie die grobe Festlegung des Zusammenwirkens und der Schnittstellen der Module. Im Zuge der Modularisierung werden also die Module entdeckt, benannt und in ihren statischen und dynamischen Beziehungen festgelegt. Beim Datenbasisentwurf geht es darum, die Organisation der Daten auf den externen Speichermedien (hauptsächlich Platten) festzulegen, die in der Regel durch ein Datenbank- oder Dateisystem verwaltet werden. Die Strukturen des anwendungslogischen Datenmodells können dabei im allgemeinen nicht unverändert übernommen werden, sondern die Dateien und ihre Satzaufbauten müssen im Hinblick auf effizient arbeitende Module entworfen werden. Die Minimierung der Anzahl der externen Zugriffe auf die Datenbasis hat insbesondere bei Dialogsystemen hohe Priorität. Seite 33

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

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

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

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

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

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

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

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. 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

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

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

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

Ü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

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

Software Engineering. Prof. Dr. Stefan Enderle NTA Isny

Software Engineering. Prof. Dr. Stefan Enderle NTA Isny Software Engineering Prof. Dr. Stefan Enderle NTA Isny 3 Software Entwicklungsprozesse Softwareentwicklung Systematisches Vorgehen wichtig Zeitlicher Ablauf durch Vorgehensmodell Meist grundlegender Aufbau:

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

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

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

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

Das Wasserfallmodell - Überblick

Das Wasserfallmodell - Überblick Das Wasserfallmodell - Überblick Das Wasserfallmodell - Beschreibung Merkmale des Wasserfallmodells: Erweiterung des Phasenmodells Rückkopplungen zwischen den (benachbarten) Phasen sind möglich Ziel: Verminderung

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

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

Systemen - Testen im Softwarelebenszyklus

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

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

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

Ü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

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

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

Software-Entwicklung SB 4. Software-Entwicklung

Software-Entwicklung SB 4. Software-Entwicklung Software-Entwicklung - 1 - tfbseke it rai 03.2012 Inhaltsverzeichnis SOFTWARE-ENTWICKLUNG...3 Prinzipien der Softwareentwicklung...3 1. Das Abstraktionsprinzip...3 2. Das Strukturierungsprinzip...3 3.

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

Werkzeuggestützte Softwareprüfung

Werkzeuggestützte Softwareprüfung Werkzeuggestützte Softwareprüfung Simulationen und Prototypen Markus Spehling Gliederung Prototypen Motivation Zusammenfassung Prototypen Simulation Motivation Zusammenfassung Simulation DEMO NetBeans

Mehr

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

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Informationssystemanalyse Lebenszyklusmodelle 3 1 Aufgaben von Lebenszyklusmodellen Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Definition der Tätigkeiten im Entwicklungsprojekt Zusicherung

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

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

T1 - Fundamentaler Testprozess

T1 - Fundamentaler Testprozess AK 2 am Armin Beer, Support Center Test der Software- Entwicklung 1 für einen erfolgreichen Test? Projektteam strebt nach Qualität Aufwände sind eingeplant (Richtwerte) 20 bis 30% des Gesamtaufwandes In

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

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

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

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Ottostr. 15 96047 Bamberg Tel. +49/951/98046200 Fax +49/951/98046150 email: info@softcondev.de www: softcondev.de INHALT Vorwort Diese

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

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

2 Vorgehensmodelle in der Softwareentwicklung

2 Vorgehensmodelle in der Softwareentwicklung 2 Vorgehensmodelle in der Softwareentwicklung 2.1 Vorbemerkungen Aufgrund der Komplexität von Software-Produkten ist es nahezu unmöglich, allein durch Tests die Korrektheit bzw. die Fehlerfreiheit festzustellen.

Mehr

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

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

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

Softwarepraktikum SS 2005 Inhalt - VL 10. Softwaretechnik. Softwareentwicklungszyklus (2) Wasserfallmodell. Softwareentwicklungszyklus

Softwarepraktikum SS 2005 Inhalt - VL 10. Softwaretechnik. Softwareentwicklungszyklus (2) Wasserfallmodell. Softwareentwicklungszyklus Softwarepraktikum SS 2005 Inhalt - VL 10 1 Softwaretechnik 2 Anforderungsanalyse 3 Systemmodelle Softwaretechnik Technische Disziplin, mit dem Ziel, kosteneffektiv Softwaresysteme zu entwickeln Techniken

Mehr

Wirtschaftsinformatik I Teil 2 Übung Sommersemester 2008

Wirtschaftsinformatik I Teil 2 Übung Sommersemester 2008 Wirtschaftsinformatik I Teil 2 Übung Sommersemester 2008 III Inhaltsverzeichnis Inhaltsverzeichnis... III A Wasserfall-Modell... 1 B V-Modell... 3 C Spiral-Modell... 4 D Umsetzung der Software für die

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

13 Anhang A: Erfüllung der Norm ISO 9000 durch HERMES

13 Anhang A: Erfüllung der Norm ISO 9000 durch HERMES 13 Anhang A: Erfüllung der Norm ISO 9000 durch Hinweis Einleitung Eine der wesentlichsten Grundlagen für die Qualitätssicherung in einem Unternehmen ist die Normenserie «ISO 9000», insbesondere ISO 9001:1994

Mehr

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt]

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] 1 Software-Qualitätssicherung 2 Integrationsstrategien big bang 6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] nicht-inkrementell geschäftsprozeßorientiert Prof. Dr. Helmut Balzert Lehrstuhl

Mehr

Evolutionäres Phasenmodell. Vorgehensmodelle

Evolutionäres Phasenmodell. Vorgehensmodelle Evolutionäres Phasenmodell Vorgehensmodelle PM 1 Die Phase Projektinitialisierung wird in enger Zusammenarbeit zwischen Projektauftraggeber und Auftragnehmer durchgeführt. Die Informationen aus dem Projektportfolio,

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

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

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil.

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil. Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil. Manfred Thaller WS 2010/11 Referentin: Sanja Wiechmann

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

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

Obligatorisches Lesen Vorgehensmodelle (Phasenmodelle)

Obligatorisches Lesen Vorgehensmodelle (Phasenmodelle) Obligatorisches Lesen Vorgehensmodelle (Phasenmodelle) Zuser Kap. 1-3 oder Ghezzi Chapter 1 oder Pfleeger Chapter 1; Chap 8.1 http://homepages.cs.ncl.ac.uk/brian.randell/nato/ The first International Conference

Mehr

Praktikum Software Engineering: Verfahren und Werkzeuge

Praktikum Software Engineering: Verfahren und Werkzeuge Praktikum Software Engineering: Verfahren und Werkzeuge Lehrstuhl für Software Engineering (Informatik 11) Verfahren und Werkzeuge Seite 1 Software Engineering Absichten, Aufgaben Systemnutzung Anforderungsspezifikation

Mehr

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

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development

Mehr

ASIA Industrieautomation GmbH

ASIA Industrieautomation GmbH Der Aufwand zur Entwicklung, Realisierung und dem Austesten von sicherheitsgerichteter Anwendersoftware erfordert jahrelange Erfahrung und wird deshalb zumeist unterschätzt. Damit die geforderten e der

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

Software Engineering

Software Engineering Software Engineering Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik Prof. A. Müller, FH KL Software Engineering 2015 1 Inhalte Begrüßung Vorstellung, Übersicht Formales

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

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

SE Besprechung. Übung 3 Softwareprozesse

SE Besprechung. Übung 3 Softwareprozesse SE Besprechung Übung 3 Softwareprozesse SE, 08.11.11 Mengia Zollinger Analyse der Systemkomponenten(3 Punkte) Mögliche Ansätze: 3-Schichten-Architektur (tree-tier-architecture) Präsentation Anwendungslogik

Mehr

Informationssystemanalyse Personal Software Process 8 1

Informationssystemanalyse Personal Software Process 8 1 Informationssystemanalyse Personal Software Process 8 1 Personal Software Process Sehr eng mit dem CMM hängt der PSP (Personal Software Process) zusammen. Der PSP ergänzt das organisationsweite CMM um

Mehr

Software Engineering. 11. Einführung und Wartung

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

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

Was versteht man unter Softwarequalität?

Was versteht man unter Softwarequalität? Was versteht man unter? ist die Gesamtheit der Merkmale und Merkmalswerte eines Softwareproduktes, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen. Was ist

Mehr

Informationssystemanalyse V-Modell 4 1

Informationssystemanalyse V-Modell 4 1 Informationssystemanalyse V-Modell 4 1 Das V-Modell Das V-Modell ist Bestandteil des Standardisierungskonzepts der Bundesbehörden. Dieses Konzept hat folgende Eigenschaften: Slide 1 verbindlich für IT-Vorhaben

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis... I. 1 Problemstellung... 1. 2 V-Modell... 1. 2.1 Allgemeines... 1. 2.2 Anwendung des V-Modells...

Inhaltsverzeichnis. Inhaltsverzeichnis... I. 1 Problemstellung... 1. 2 V-Modell... 1. 2.1 Allgemeines... 1. 2.2 Anwendung des V-Modells... Inhaltsverzeichnis Inhaltsverzeichnis... I 1 Problemstellung... 1 2 V-Modell... 1 2.1 Allgemeines... 1 2.2 Anwendung des V-Modells... 3 3 SCRUM-Modell... 4 3.1 Allgemeines... 4 3.2 Anwendung des SCRUM-Modells...

Mehr

Einführung eines Redaktionssystems für die Technische Dokumentation

Einführung eines Redaktionssystems für die Technische Dokumentation Einführung eines Redaktionssystems für die Technische Dokumentation Leitfaden mit Entscheidungsmatrix Informatik Vorwort Situation Ziel Zielgruppe Auswahl Die Technische Produktdokumentation ist mehr als

Mehr

Requirements Engineering (Anforderungstechnik)

Requirements Engineering (Anforderungstechnik) 5 Requirements Engineering Einführung 5.1 Was ist Requirements Engineering? Erste Näherung: Requirements Engineering (Anforderungstechnik) ist das systematische, disziplinierte und quantitativ erfassbare

Mehr

8. Softwareentwicklung

8. Softwareentwicklung Schwerpunkte Problematik komplexer Programme 8. Softwareentwicklung (Software Engineering) Statistische Angaben zur Softwareentwicklung Eigenschaften von Software Qualitätskriterien für SW-Produkte Einbettung

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

Informationssystemanalyse Software Risk Evaluation 7 1

Informationssystemanalyse Software Risk Evaluation 7 1 Informationssystemanalyse Software Risk Evaluation 7 1 Software Risk Evaluation Um Risiken bei Software-Projekten abzuschätzen und ihnen zu begegnen, wurde am SEI die Software Risk Evaluation-Methode entwickelt.

Mehr

Software im Maschinenbau lästiges Anhängsel oder Chance zur Marktführerschaft? Dr.-Ing. Rainer Stetter

Software im Maschinenbau lästiges Anhängsel oder Chance zur Marktführerschaft? Dr.-Ing. Rainer Stetter Software im Maschinenbau lästiges Anhängsel oder Chance zur Marktführerschaft? Dr.-Ing. Rainer Stetter Übersicht Vorstellung Technische Situation im Maschinenbau Vorgehensweise in der Theorie Ist-Situation

Mehr

Projektarbeit Fit für Ausbildung und Beruf

Projektarbeit Fit für Ausbildung und Beruf Projektarbeit Fit für Ausbildung und Beruf Inhalt 1 Einleitung 2 Projektarbeit 2.1 Projektteam 2.2 Projektphasen 2.2.1 Definition 2.2.2 Planung 2.2.3 Durchführung 2.2.4 Abschluss 2.3 Dokumentation 2.4

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

PROJEKTMANAGEMENT GRUNDLAGEN_2

PROJEKTMANAGEMENT GRUNDLAGEN_2 Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Lehrstuhl für Softwaretechnik Dipl. Ing. Gerhard Strubbe IBM Deutschland GmbH Executive Project Manager (IBM), PMP (PMI) gerhard.strubbe@de.ibm.com

Mehr

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995. Inhaltsverzeichnis.

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995. Inhaltsverzeichnis. 3 Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995 Inhaltsverzeichnis Vorwort 5 1. Komplexe Software - Projekte - Software-Engineering 7 1.1 Komplexe

Mehr

GEDS Dienstleistungen. Software Engineering

GEDS Dienstleistungen. Software Engineering GEDS Dienstleistungen Software Engineering GEDS Software Engineering Übersicht Leistungen Methoden Vorgehen Projektablauf Technologien Software Engineering Leistungen Auftragsprogrammierung Wir übernehmen

Mehr

Datenschutzfreundliches Projektmanagement Sven Thomsen Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein

Datenschutzfreundliches Projektmanagement Sven Thomsen Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein Datenschutzfreundliches Projektmanagement Sven Thomsen Datenschutz Schleswig-Holstein Projekt? Definition Projekt: Vorhaben, das im Wesentlichen durch die Einmaligkeit der Bedingungen in ihrer Gesamtheit

Mehr

12 Softwareentwicklung

12 Softwareentwicklung 12 Softwareentwicklung Die Entwicklung von Software ist ein außerordentlich komplexer Prozess, der umso problematischer wird, je umfangreicher die zu entwickelnde Software ist. Dabei kann man den Umfang

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

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

ALLG. METHODEN DES SOFTWAREEINGINEERING

ALLG. METHODEN DES SOFTWAREEINGINEERING Vorgehens- und Prozessmodelle ALLG. METHODEN DES SOFTWAREEINGINEERING Ziel der Veranstaltung Evolution der Modelle des Software Engineering Übersicht der Modelle Vorgehensmodelle Prozessmodelle Aufbau

Mehr

Projektmanagement Projektablauf

Projektmanagement Projektablauf Projektmanagement Projektablauf Inhalt Was ist ein Projekt? Projektphasen Projektablauf Wichtige Begriffe Zusammenfassung 2 Warum Projektmanagement? Von der Seminararbeit......bis zum Urlaub...alles eine

Mehr

Testen. SEPR Referat: Testen - Oliver Herbst

Testen. SEPR Referat: Testen - Oliver Herbst Testen Inhalt 1. Grundlagen des Testens 2. Testen im Softwarelebenszyklus 3. Statischer Test 4. Dynamischer Test 5. Besondere Tests 2 1. Grundlagen des Testens 3 Grundlagen des Testens Motivation erfüllt

Mehr

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1 Test Dipl. Wirtsch. Ing. Alexander Werth 9-1 Phasen der Problemdefinition Anforderungsanalyse Spezifikation Entwurf Implementation Erprobung Wartung Methoden der 9-2 Software Test / Erprobung Messen der

Mehr

Entwicklung und Dokumentation eines Klausurorganisationssystems mit Microsoft Access

Entwicklung und Dokumentation eines Klausurorganisationssystems mit Microsoft Access Informatik Werner Schehler Entwicklung und Dokumentation eines Klausurorganisationssystems mit Microsoft Access Diplomarbeit FACHHOCHSCHULE DORTMUND FACHBEREICH WIRTSCHAFT Studiengang Wirtschaft ENTWICKLUNG

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

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

Lastenheft. 2.0 Anforderungen an den Inhalt. 2.1 Soll Aufgabenbeschreibung sein Lastenheft 1.0 Was ist ein Lastenheft? 2.0 Anforderungen an den Inhalt 2.1 Soll Aufgabenbeschreibung sein 2.2 Soll als Kommunikationsbasis dienen 3.0 Empfohlener Aufbau 3.1 Einführung in das Projekt 3.2

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

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

Des Weiteren gibt es Anpassungsprogrammierer, die reine Projektanpassungen umsetzen, eventuell Mitarbeiter für Datenübernahmen oder Schulungen.

Des Weiteren gibt es Anpassungsprogrammierer, die reine Projektanpassungen umsetzen, eventuell Mitarbeiter für Datenübernahmen oder Schulungen. ERP Einführung 1. Vorgehen, Terminplan, Projektrealisierung 1.1 Kickoff Termin Bei diesem Termin wird das Projektmanagement definiert. Dies bedeutet, dass das Projektteam auf beiden Seiten skizziert wird.

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

Zusammenfassung der Vorlesung

Zusammenfassung der Vorlesung Zusammenfassung der Vorlesung Die wichtigsten Punkte der Vorlesung waren... Dr. F. Sarre Wintersemester Wintersemester 20102013 / 2011 / 2014 Folie 307 Herausforderungen beim Projektmanagement Projektziel

Mehr

Das V-Modell: Produkte 1/5

Das V-Modell: Produkte 1/5 Das : Produkte 1/5 Problem-Beschreibung, Lastenheft Beschreibung des Problems/der Probleme, das/die gelöst werden soll Quellen: Markt-Analyse, Marketing, Kunden-Zirkel etc. Kunden-Anforderungen, Pflichtenheft

Mehr