Softwaretechnik. Fomuso Ekellem WS 2011/12



Ähnliche Dokumente
Wirtschaftsinformatik I Teil 2. Sommersemester Übung

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

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

Das Wasserfallmodell - Überblick

Prozess-Modelle für die Softwareentwicklung

Was versteht man unter einem Softwareentwicklungsmodell?

Übungsaufgaben zum Software Engineering: Management

Grundlagen Software Engineering

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Entwicklungsprozesse und -werkzeuge

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

Übung Einführung in die Softwaretechnik

IT-Projekt-Management

Klausur Software-Engineering SS 2005 Iwanowski

Regulatorische Anforderungen an die Entwicklung von Medizinprodukten

Lösungsvorschlag zur Klausur zu Projektorganisation und Management in der Software-Entwicklung

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Unified Modeling Language (UML)

Softwaretechnik. Fomuso Ekellem WS 2011/12

Abschnitt 16: Objektorientiertes Design

Der Rational Unified Process

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Requirements Engineering I

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

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

T1 - Fundamentaler Testprozess

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Kapitel 2: Der Software-Entwicklungsprozess

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Softwaretechnik. Fomuso Ekellem WS 2011/12

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

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Klausur Software Engineering für WI (EuI)

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

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

Validierung und Verifikation!

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

Übungen zur Softwaretechnik

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

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer

m.e.d. concept methode erfolg datenverarbeitung V-Modell XT im Überblick 2 V-Modell XT Einführung - Analyse und Roadmap 3

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

Methodenbasiert in der Durchführung V-Modell XT-konform im Ergebnis

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Softwaretechnik (Allgemeine Informatik) Überblick

Inhaltsverzeichnis. Seite 1 von 9

Projektmanagement und Softwarequalität

Software-Entwicklung

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Projektdokumentation

Kapitel 10: Dokumentation

Use Cases. Use Cases

Projektmanagement in der Spieleentwicklung

Softwareentwicklung bei KMU - Ergebnisse einer Studie zum Entwicklungs-, Projekt- und Qualitätsmanagement

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

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

Übungsklausur vom 7. Dez. 2007

SDD System Design Document

Projektarbeit Eberhard Neef Nee Seite 1

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

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


Praktikum Grundlagen der Programmierung. Dokumentation. Dr. Karsten Tolle

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Zusammenfassung der Vorlesung

Entwurf. Anwendungsbeginn E DIN EN (VDE ): Anwendungsbeginn dieser Norm ist...

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

EPK Ereignisgesteuerte Prozesskette

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Vortrag von: Ilias Agorakis & Robert Roginer

Änderungsmanagement bei iterativer SW-Entwicklung

Die Softwareentwicklungsphasen!

16.4 Wiederverwendung von COTS-Produkten

Software Systems Engineering

Grundlagen der Softwaretechnik

Informationssystemanalyse V-Modell 4 1

Prozess-Modelle. Modelle. Einführung in UML

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

Übungen zur Softwaretechnik

Drei Arten Business Meetings zu protokollieren

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Software-Engineering SS03. Zustandsautomat

Automotive Software Engineering

Einfaches, integriertes Projektmanagement mit Standard-Tools effizient planen und umsetzen

Validierung und Verifikation

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

SPI-Seminar : Interview mit einem Softwaremanager

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Software-Engineering

Gliederung des Vortrages

Einführung in die Softwareentwicklung

Transkript:

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 Aktivitäten, die Eingangsdaten in Ausgangsdaten transformieren. Oder auch Hierarchische Gruppierung von Teilergebnissen und deren Entstehungsbeziehungen. Prozessbeispiele: Projektmanagement Anforderungsmanagement Software Design Software Konstruktion Softwaretest Konfigurations-, Qualität-, Risiko- und Lieferantenmanagement. usw Prozesslernziele Softwareentwicklung als Entwicklungsprozess betrachten Prozessmodelle kennenlernen 3

Wiederholung: Aktivitäten Mit Aktivitäten ist immer die Frage: Wer, erstellt was wann mit welcher Praktik, Methode, Werkzeug Beispielaktivitäten sind: Anforderungsanalyse Design Implementierung Anforderungstest usw 4

Wiederholung: Workflow Workflow: Arbeitsteilig durchgeführte Arbeitsprozesse Man kann dynamischen und statischen Workflow unterscheiden. Workflowbeispiel von Projektstart(ist ein Prozess): Erstellung der Projektdefinition Freigabe der Projektdefinition durch die Geschäftsleitung Kickoff Meeting Projektstart Workshop Freigabe Baseline Projektplan 5

Begriffe Bei der Entwicklung eines Software-Produkts wird oft von folgenden Begriffen gesprochen: Spezikation: Festlegung der Anforderungen. Verikation: Verfahren zum Beweisen der Korrektheit. Validierung: Ist der dokumentierte Nachweis, dass die Leistungskriterien reproduzierbar erfüllt werden. Konsistenz von Dokumentation und Code : beschreibt den Grad, in dem die definierten Anforderungen widerspruchsfrei sind. 6

Programmierung im Großem Programmieren im Großen: Der Überblick der Softwareentwicklung Komplexität Zusammenarbeit Schnittstellen Lebensdauer Zuverlässigkeit Portabilität Also = Entwicklung der Software-Architektur (Spezifikation der Systemkomponenten) Programmieren im Kleinen: Codierung /Implementierung Also = Realisierung der geforderten Leistungen in Form von Programmen 7

Prozess Modelle legen fest Reihenfolge des Arbeitsablaufs Entwicklungsstufen Phasenkonzepte Jeweils durchzuführende Aktivitäten Definition der Teilprodukte einschließlich Layout und Inhalt Fertigstellungskriterien Notwendige Mitarbeiterqualifikationen Verantwortlichkeiten und Kompetenzen Anzuwendende Standards, Richtlinien, Methoden und Werkzeuge Also = die verschiedenen Stadien der Entwicklung und Nutzung eines Softwareproduktes werden beschrieben. Hierzu werden die erforderlichen Aktivitäten (in ihrer Reihenfolge) und die zu erzielenden Ergebnisse festgelegt. 8

Das Wasserfall-Modell** Das V-Modell** Das Prototypen-Modell Das evolutionäre/inkrementelle Modelle Das nebenläufige Modelle Das Spiralmodell Das objektorientierte Modell** 9

Wasserfall-Modell Software wird in sukzessiven Stufen entwickelt. Ergebnisse einer Phase fallen wie bei einem Wasserfall in die nächste Phase. Jede Aktivität ist in der richtigen Reihenfolge und in der vollen Breite vollständig durchzuführen. Am Ende jeder Aktivität steht ein fertiggestelltes Dokument (Dokumentengetriebenes Modell). Der Entwicklungsablauf ist sequentiell (Jede Aktivität muss beendet sein, bevor die nächste anfängt). Benötigt nur wenig Managementaufwand. Benutzerbeteiligung ist nur in der Definitionsphase vorgesehen. Iterationen sind nur zwischen aufeinanderfolgenden Stufen erlaubt. 10

Wasserfall-Modell (System-Anforderungen, Software-Anforderungen, Analyse) 11

Wasserfall Modell: Vorteile Einfach, verständlich, sequentiell (vom Allgemeinen zum Speziellen(Top p Down)), fester Lösungsweg. Geringer Management-Aufwand Disziplinierter, kontrollierbarer und sichtbarer Prozessablauf. 12

Wasserfall Modell : Nachteile Es ist nicht immer sinnvoll alle Entwicklungsschritte in der vollen Breite und vollständig durchzuführen alle Entwicklungsschritte sequentiell durchzuführen Gefahr, dass die Dokumentation wichtiger wird, als das eigentliche System Risikofaktoren werden unter Umständen zu spät erkannt, da der einmal festgelegte Entwicklungsablauf schon weit fortgeschritten ist. Möglichkeit von Feedback ist kaum gegeben. g Benutzerbeteiligung ist nur bei der Anforderungsanalyse und in der Betriebsphase. D.h., Kunde wird erst mit dem fertigen Produkt konfrontiert (Wasserfallsystem eignet sich somit nicht für große Projekte, da alle Spezifikationen bekannt sein müssen ). 13

Wasserfall-Modell 14

V-Modell Erweiterung des Wasserfall-Modells Integriert die Qualitätssicherung in das Wasserfall-Modell Verifikation und Validation der Teilprodukte sind Bestandteile des V-Modells Submodelle im V-Modell: Mdll PM: Projektmanagement SE: Systemerstellung QS: Qualitätssicherung KM: Konfigurationsmanagement Was ist zu tun? Wie ist etwas zu tun? Womit ist etwas zu tun? 15

V-Modell 16

V-Modell Standardisierungskonzept der Bundesbehörden (V-Modell XT) Erstmals 1992, überarbeitet 1997 (V-Modell 97) Neufassung 2004 (V-Modell XT) Verbindlich für IT-Vorhaben in Bundesbehörden d Auch in der Industrie verbreitet (Automobil-Industrie) Sehr umfangreiches Modell, das für eine konkrete Entwicklung angepasst werden muss (Tailoring). Extrem viele Schritte in mehreren Subsystemen. Extrem viele Rollen (Manager, age Entwickler,...). 17

V-Modell: Rollen 18

V-Modell: Vorteile Integrierte, detaillierte Darstellung von SE, QS, KM und PM. Generisches Vorgehensmodell mit definierten Möglichkeiten zur Anpassung an projektspezifischen Anforderungen. Ermöglicht eine standardisierte Abwicklung von Systemerstellungs-Projekten. Gut geeignet für große Projekte. 19

V-Modell: Nachteile Die Vorgehenskonzepte, die für große Projekte geeignet g sind werden unreflektiert auf andere kleinere Projekte übertragen. Für kleine und mittlere Softwareentwicklungen führt das V-Modell zu einer unnötigen Bürokratie. Ohne geeignete Werkzeug-Unterstützung ist das V-Modell nicht handhabbar 20

Zusammenfassung 21

Wasserfall und V-Modell (Nachteil) ) Alle Anforderungen müssen am Anfang bekannt sein (Vorteil) Sehr einfach und strukturiert, Konzentration auf Dokumentation 22

Objektorientierte Modelle beschrieben durch UML UML (Unified Modeling Language) ist eine standardisierte Sprache und Notation zur Darstellung, Konstruktion, Dokumentation und Spezifikation von (objektorientierten) Modellen. UML verwendet verschiedene Diagrammtypen zur Darstellung unterschiedlicher Aspekte eines Systems Statische Aspekte Dynamische Aspekte Benutzeranforderungen an das System Implementierungsbezogene Aspekte 23

Objektorientierte Modelle beschrieben durch UML Modellierung der statischen Aspekte Klassen-und Objektdiagramme: Darstellung von Klassen, Objekten und deren statischen Beziehungen Modellierung der dynamischen Aspekte Verhaltensdiagramme: Beschreiben das Verhalten von Objekten des Systems Sequenzdiagramme: Darstellung von Nachrichtenfolgen zwischen Objekten einer oder mehrerer Klassen Kollaborationsdiagramme: Beschreiben das Zusammenwirken von Objekten beim Ausführen von Operationen Zustandsdiagramme: Darstellung der Zustände und Zustandsübergänge der Objekte einer Klasse 24

Objektorientierte Modelle beschrieben durch UML Modellierung der funktionalen Anforderungen an das System Anwendungsfalldiagramme: Darstellung der Interaktionen zwischen externen Objekten (Akteuren) und dem System Modellierung implementierungsbezogener Aspekte (Komponentendiagramme, Einsatzdiagramme)...Weiter nächste Woche 25