10. Vorgehensmodelle. 11. Juni Agenda. Motivation Modelle. Sommersemester Einführung ins Software-Engineering - Vorgehensmodelle
|
|
- Judith Böhler
- vor 7 Jahren
- Abrufe
Transkript
1 Juni 2002 Agenda Motivation Modelle Einführung ins Software-Engineering Dr. Walter Kuhn 1
2 der Softwareentwicklung Lebenszyklus Zeitraum eines Software-Projekts mit Phasen Typisch beginnend bei Planung, über Realisierung und Einsatz Ggf. bis hin zur Wartung und Ausmusterung der Software Phasen können individuell organisiert sein Phasen können untereinander verknüpft sein Zugrundeliegende Struktur: Vorgehensmodell Strukturierung aller Phasen in einem Modell: Lebenszyklusmodell (Software-Life-Cycle) Sonst einfach Phasenmodell oder allgemein Vorgehensmodell Synonyme Projektmodell und Prozessmodell Literatur nicht eindeutig in den Begriffen Einführung ins Software-Engineering Eigenschaften Vorgehensmodell Beschreibt (möglichst generisch) Organisatorische Strukturen ( People ) Prozesse für Software-Entwicklung und/oder Wartung Ziel klare & systematische Vorgehensweise Manageability : Basis für gute Projektplanung & Projektsteuerung Measurability : einheitlicher Entwicklungsprozess & normierte Ergebnisse Repeatability : für Wiederverwendung des Vorgehensmodells in mehreren Projekten ( vgl. CMM Modell: Reifegrad einer Organisation) Einführung ins Software-Engineering Dr. Walter Kuhn 2
3 Vorgehensmodell Inhalte (Checkliste) Prozesse Zerlegung des Prozesses in Phasen Reihenfolge und zeitliche Strukturierung des Arbeitsablaufs (Entwicklungsstufen) Jeweils durchzuführende Aktivitäten/Tätigkeiten Produkte Definition der Teilprodukte/Arbeitsergebnisse ( work products, inkl. Layout & Inhalt) Fertigstellungskriterien zu verwendende Standards, Richtlinien, Methoden und Werkzeuge Personen benötigte Mitarbeiterqualifikationen AVK (Aufgaben, Verantwortlichkeiten und Kompetenzen) Einführung ins Software-Engineering der Softwareentwicklung Phasen klassischer Modelle Übliche Phasen Problemdefinition Anforderungsanalyse Anforderungsspezifikation Planung Entwurf Kodierung Test Betrieb Wartung Bsp. aus Prozessbegriffen Lastenheft OOA Pflichtenheft Projektplan (kommt noch) OOD OOP Testplan Einführung ins Software-Engineering Dr. Walter Kuhn 3
4 Problemdefinition (partielle Wiederholung) Ausgangspunkt: Ideen, Probleme, Bedürfnisse Mögliche Schritte Bewertung der Ideen / Bedürfnisse Produkt(vor-)auswahl / Hersteller(vor-)auswahl Ist-Analyse Festlegen der Hauptanforderungen (Funktionalität, Leistung, Qualität) Voruntersuchung Technische, organisatorische Machbarkeitsanalyse Ökonomische Machbarkeitsanalyse ( ROI, Risiken, Termine, Aufwand) Lastenheft, Kalkulation, erste Planung zum RFP oder im Vorfeld Machbarkeitsstudie Grundlage für einen Vertrag Machbarkeitsanalyse bewertet Lösungen, Aufwand, Entwicklungszeit und Kosten durch Schätzungen Bemerkung: diese können durch Mangel an Zeit, Erfahrung oder Methodik auch grob falsch sein Einführung ins Software-Engineering Anforderungsanalyse & Spezifikation Iterativer Prozess der Produktdefinition Interaktion von AG, Anwendern und AN Ermittlung, Beschreibung (auch Simulation, Animation), Modellierung, Analyse der detaillierten Anforderungen Festlegung der Anforderungen Ergebnis: Pflichtenheft / Spezifikation (meist Vertragsbestandteil) was soll das Produkt mit welchen Qualitätsmerkmalen leisten (nicht wie!) Verständlich, eindeutig, konsistent, vollständig Anforderungen an Entwicklung und Einsatz: Termine, Prioritäten für Teillieferungen, Servicelevel, Unterschiedliche Notationen für verschiedene Sichten, häufig: Modell des Systemkontextes & der Interaktionen des Systems mit der Umgebung Modell der Daten Modell der auszuführenden Funktionen Benutzeroberfläche (Entwurf) oder -anleitung Beispielszenarien Einführung ins Software-Engineering Dr. Walter Kuhn 4
5 Entwurf Festlegung der System- und Softwarearchitektur Strukturierung in Komponenten und ihren Beziehungen Verschiedene Abstraktionsebenen Berücksichtigung von Einsatz- und Umgebungsbedingungen Vorgehen Technische und organisatorische Grundsatzentscheidungen Bsp. Schichtenmodell Festlegen der Entwurfsstrategie, -methode und sprache Top-Down-Vorgehen: Module schrittweise verfeineren Bottom-Up-Vorgehen: ausgehend vom Feinentwurf bzw. der Implementierung einzelner Module wird das System entworfen (Nützlich bei Wiederverwendung komplexer Teile) Softwaretechnischer Entwurf (Grob, Fein) Dokument: Entwurfsbeschreibung Entwurfsmethode & Beschreibungssprache sind vom Produkt und seiner Implementierungsart abhängig Einführung ins Software-Engineering Programmierung und Modultest Entwicklung Strukturierung der Module durch geeignete Verfeinerungen Entwurf der Datenstrukturen und Algorithmen Umsetzung in gewählte Programmiersprache Dokumentation Lösung Implementierungsentscheidungen Sonstiges: Zeit- und Speicherkomplexität, Randbedingungen Kommentiertes Quellprogramm, Binary Test der entwickelten Module inkl. Testplanung und Testfallerstellung (Qualität Programmierung im Kleinen ) Dokumentation der Testplanung und -protokoll Häufig firmeninterne Vorgehen und Programmier-Standards Einführung ins Software-Engineering Dr. Walter Kuhn 5
6 Integration und Systemtest Integration der Module zu (Teil-)systemen Testphasen Test des Zusammenspiels der Komponenten Nicht-funktionelle Tests (Performance, Sicherheit, ) Test des Softwaresystems in der Entwicklungsorganisation unter realistischen Bedingungen (Alpha-Test) Dokumente Laufendes System Benutzeranleitung Systemtest: Qualität der Lösung (Programmieren im Grossen) Einführung ins Software-Engineering Installation, Wartung und Weiterentwicklung Installation Beta-Test: Auslieferung an ausgewählte Nutzer mit Feedback Auslieferung an alle Kunden Dokumente Versionierte Dokumente der vorhergehenden Phasen Neue Anforderungen Bei der Wartung und Weiterentwicklung unterschieden Bug-Fixing Adaption an Änderungen der Systemumgebung (neue Hardware, Betriebssystemwechsel) Verbesserung & Erweiterung der Anwendung = Pflege Reengineering (bei Altlasten) Einführung ins Software-Engineering Dr. Walter Kuhn 6
7 Und sonst noch? ISO/IEC groups the activities that may be performed during the life cycle of software into: primary processes (acquisition process, supply process, development process, operation process, maintenance process) supporting processes (documentation process, configuration management process, quality assurance process, verification process, validation process, joint review process, audit process, problem resolution process) organizational processes (management process, infrastructure process, improvement process, training process). Das schau(t)en wir uns dieses Semester an Einführung ins Software-Engineering Beispiel eines Prozess-Rahmens Einführung ins Software-Engineering Dr. Walter Kuhn 7
8 Einige verbreitete Klassische Modelle Code & Fix Sequentielles Modell Wasserfallmodell V-Modell (V=Verfikation) Spiralmodell Agile Prozesse XP Einführung ins Software-Engineering Agenda Motivation Modelle Einführung ins Software-Engineering Dr. Walter Kuhn 8
9 Code & Fix, Hacking Programm wird spontan direkt am Rechner entwickelt Codieren Testen Verbessern Einführung ins Software-Engineering Code & Fix, Hacking ± Vorteile Für kleine, 1-Personen Projekt mit geringem Umfang, v.a. dann wenn Entwickler = Anwender Dinge ausprobieren Nachteil Je grösser der Code, desto mehr Probleme Wartbarkeit sinkt stetig (Entropie steigt, da kein ordentliches Design) Fehlerwahrscheinlichkeit steigt Abhängigkeit vom Entwickler sehr stark (er/sie ist im worst case die Dokumentation) Grössere Projekte (in Personenmonaten) sind nicht bewältigbar Einführung ins Software-Engineering Dr. Walter Kuhn 9
10 Wasserfallmodell Weit verbreitet in Varianten in vielen Modellen! Mehrere hintereinander liegende abgeschlossene Phasen Phasenweises Fortschreiten oder phasenweise Korrektur (Rückschritt zur Phase davor) (streng genommen ist dies somit (auch) iterativ früherer Phasen können mehrfach ausgeführt werden) Jede Aktivität hat als Ergebnis Dokument(e): Fokus auf Entwicklung und Dokumentation ( dokumentorientierte Software-Entwicklung ) Einführung ins Software-Engineering Wasserfallmodell Machbarkeitsstudie Einführung ins Software-Engineering System- Anforderungen Software- Anforderungen Analyse Entwurf Codierung Test Betrieb Dr. Walter Kuhn 10
11 Wasserfallmodell Beobachtung sequentieller Entwicklungsablauf top-down Vorgehen Annahme: Benutzer kann in Anforderungsphase alle Anforderungen vollständig & richtig definieren Aktivitäten müssen in korrekter Sequenz und vollständig in Breite und Tiefe durchgeführt werden Rückschritt bedeutet auch, dass schon erreicht Meilensteine nicht vollständig/korrekt waren Rückkopplung auf jeweils vorhergehende Phase wird manchmal eingeschränkt: Rückkopplung nur auf vorhergehende Phase ( soll teure Überarbeitungen über viele Stufen ersparen) Einführung ins Software-Engineering Wasserfallmodell ± Vorteile Einfach, verständlich, braucht wenig Managementaufwand zentrales Prinzip: Trenne WAS vom WIE (=> kontrollierbarer Ablauf, vgl. Code&Fix) Nachteile Benutzerbeteiligung nur in Definitionsphase: Hohe Kosten, falls das schief geht Unkenntnis des Benutzers über sein Problem, mangelnde Kommunikation und Abfrage durch AN Oft Spezifikation und Entwurf nicht ohne Experimente der Benutzer an Prototyp oder teilrealisiertem System möglich Vollständige oder sequentielle Abwicklung aller Entwicklungsschritte nicht immer sinnvoll Gefahr: falsche Prioritäten (Fokus auf Dokument anstelle Produkt) Keine Berücksichtigung der Risikofaktoren Steuerung? Berücksichtigung anderer Kriterien (z.b. leicht änderbare Software) schwach ausgeprägt. Fokus sind phasenorientiert Dokumente Einführung ins Software-Engineering Dr. Walter Kuhn 11
12 Prototypen-Modell Prototypen-Modell unterstützt Erstellung ablauffähiger Vorführ-Modelle des zukünftigen Produkts bei reduzierter Funktionalität (Teilprodukte) oder Qualität. Beziehungen zwischen Prototypen und Software-Systemen Klärung von Problemen Teil der Produktdefinition Inkrementelle Entwicklung zu marktfähigen Produkten SW-Prototypen Prototypen anderer Ingenieursdisziplinen. SW-Prototyp ist nicht das 1. Muster einer großen Serie von Produkten (Vervielfältigung bei SW kein Problem) zeigt ausgewählte Eigenschaften des Zielproduktes im praktischen Einsatz Ähnlichkeiten in der Anwendung der Prototypen Klärung relevanter Anforderungen oder Entwicklungsprobleme Basis für Diskussion & Entscheidungen experimentelle Zwecke Sammelung praktische Erfahrungen Einführung ins Software-Engineering Arten von Prototypen Demonstrationsprototyp Auftragsaquisition Rapid Prototyping mit Generatoren oder Scriptsprachen Wegwerf-Prototyp Vorteil: frühzeitige Evaluation von Marktchancen & Benutzerwünschen Nachteil: Architektur meist nicht weiterverwendbar Prototyp im engeren Sinne ( Analyse im Anwendungsbereich) Bemerkung: Prototypen können auch in der Definitionsphase beim Wasserfall- und V-Modell eingesetzt werden Labormuster (experimentell) Pilotsystem Prototyp einer (gewisser) Stabilität für eingeschränkten Einsatz Übergang zu einem Kernsystem Einführung ins Software-Engineering Dr. Walter Kuhn 12
13 Arten von Prototypen Einsatz Planen Demo-Prototyp Akquise Änderung Machbarkeit Definieren Prototyp Produktmodell Entwurf Labormuster Änderung Architektur Implementierung Produkt Pilot-System Benutzererweiterung Einführung ins Software-Engineering Prototyp aus der Sicht des fertigen Produkts Horizontaler Prototyp realisiert nur spezifische Ebenen des Systems (z.b. GUI), die aber möglichst vollständig Vorteil: frühzeitige Validation der Spezifikation und Rückmeldung der Benutzer Vertikaler Prototyp realisiert abgemagerten Funktionsumfang auf allen Ebenen. Vorteil: frühzeitige Evaluation technische Probleme horizontal GUI Logik Datenhaltung vertikal Einführung ins Software-Engineering Dr. Walter Kuhn 13
14 Prototypen-Modell ± Vorteile Kunde erhält in kürzeren Zeitabschnitten einsatzfähige Teile. Starke Rückkopplung mit Endbenutzer und Auftraggeber: Erfahrungen und Änderungswünsche können frühzeitig integriert werden Entwicklungsprozess wird überschaubarer, kontrollierbarer, planbarer Wartung und Pflege sind integraler Bestandteil Reduzierung des Entwicklungsrisikos Kann sinnvoll in andere Prozessmodelle integriert werden. Prototypen können durch Werkzeuge erstellt werden. Labormuster fordern die Kreativität für Lösungsalternativen. Nachteile Höherer Entwicklungsaufwand Gefahr: unzureichender Wegwerf-Prototyps als Basis ins Produkt integriert: Kunde (und Entwicklerteam) erkennen das ungern Prototypen oft als Ersatz für fehlende Dokumentation Beschränkungen & Grenzen von Prototypen oft nicht bekannt Gefahr, ins Code&Fix zurückzufallen Ggf. Neuenwurf der Systemarchitektur, falls Erweiterungen dies fordern Einführung ins Software-Engineering Spiralmodell Spiralmodell: Risikogetriebenes Meta-Modell Jede Spirale ist einen iterativer, evolutionärer Zyklus mit denselben Phasen Für jedes Teilprodukt und für jede Verfeinerung sind 4 Schritte zu durchlaufen Nutzt dedizierte Prozessmodelle für Teilphasen Ziele eines Zyklus sowie Risikobewertung werden aus Ergebnissen des letzten Zyklus abgeleitet Ziele Minimierung von Risiken im Entwicklungsprozess Produkt-Zielbestimmung berücksichtigt auch Qualitätsziele Keine Trennung in Entwicklung und Wartung Einführung ins Software-Engineering Dr. Walter Kuhn 14
15 Spiralmodell Einführung ins Software-Engineering Durchführungsaspekte Beginne klein, halte Spirale eng und erreiche Entwicklungsziele mit minimalen Kosten V.a. brauchbar für große, komplexe Entwicklungsprojekte Separate Spiralzyklen für unabhängige Softwareteile möglich Evolutionäre Produktentwicklung ( Produktstufen) möglich: Prototypen zur iterativen Verbesserung, Risikominimierung Frage für jede Aktivität und jeden Ressourcenverbrauch wieviel ist genug? Einführung ins Software-Engineering Dr. Walter Kuhn 15
16 Zyklus für jedes Teilprodukt & jede Verfeinerungsebene Überblick Anforder ungsdefinition Bewertu ng Entw urf Identifiziere für Teilprodukte oder auch Produktstufe Bewerte Alternativen, Ziele, Restriktionen Entwickle Risikobeseitigungsstrategie Risikoanalyse Auswahl des geeigneten Prozessmodells Anwendung (Entwurf, Realisierung, Test) Entwicklungsziele Alternativen Randbedingungen Evaluationsergebnisse + Risikobeseitigungsstrategie Auswert ung Planung des nächsten Zyklus Überprüfung des Teilprodukts und der Planung Entscheidung durch Beteiligte Anwender über Beginn nächster Zyklus Teilprodukt Einführung ins Software-Engineering Schritt 1 Anforderungsdefinition Identifikation des Teilprodukts und seiner Ziele Funktionelle Anforderungen Nicht-funktionelle Anforderungen (Leistung,...) Identifikation alternativer Realisierungsmöglichkeiten Entwurfvariante 1..n Wiederverwendung Make-or-buy Identifikation der Randbedingungen, die bei den verschiedenen Alternativen zu beachten sind Kosten Zeit Schnittstellen Einführung ins Software-Engineering Dr. Walter Kuhn 16
17 Schritt 2 Bewertung Evaluierung der Alternativen unter Berücksichtigung der Ziele und Randbedingungen Entwickeln einer kosteneffektive Strategie zur Überwindung der Risiken Hilfsmittel dazu Prototypen Simulationen Benutzerbefragungen.. Einführung ins Software-Engineering Schritt 3 Entwurf Abhängig von den verbleibenden Risiken wird das Prozessmodell für diesen Schritt festgelegt, z.b. evolutionäres Modell Prototypen-Modell Wasserfall-Modell Kombination verschiedener Modelle ist möglich, wenn dadurch das Risiko minimiert wird Das/Die Prozessmodell(e) durchführen Einführung ins Software-Engineering Dr. Walter Kuhn 17
18 Schritt 4 Auswertung Planung des nächsten Zyklus benötigten Ressourcen mögliche Aufteilung eines Produktes in Komponenten, die dann unabhängig weiterentwickelt werden Überprüfung (Review) durch betroffene Personengruppen oder Organisationen Schritte l 3 dieses Zyklus Planung für den nächsten Zyklus Einverständnis über den nächsten Zyklus herstellen Einführung ins Software-Engineering Spiralmodell ± Vorteile Flexibles Modell: jedes Teilprodukt kann gemäss des geeigneten Prozessmodells entwickelt werden, da dieses nicht für die gesamte Entwicklung festgelegt ist Risikominimierung in allen Phasen und bei allen Teilprodukten Regelmässige, periodische Überprüfung und Korrektur der erzielten Ergebnisse Leichtere Neudefinition der Entwicklungsziele möglich Fehler und ungeeignete Alternativen werden frühzeitig eliminiert Redefinition des Prozessablaufs in Abhängigkeit von den Risiken, Integration anderer Prozess-Modelle als Spezialfälle Unterstützung der Wiederverwendung von SW durch Alternativbetrachtungen Softwaresystem des vorherigen Umlaufs dient als Testumgebung für den nächsten Umlauf. Test der neuen Teile testet auch die alten Teile weiter Nachteile Hoher Managementaufwand, da oft neue Entscheidungen Risiko-Identifikation & -Management schwierig (Techniken wenig verbreitet) Weniger geeignet für kleine und mittlere Projekte Einführung ins Software-Engineering Dr. Walter Kuhn 18
19 V Modell Prozessmodell für die Softwareentwicklung für staatliche deutsche Organisationen und Behörden Ableger in verschiedenen Ländern, z.b. Hermes in der Schweiz, Zitat: Das Projektführungssystem HERMES ist in den Submodellen Qualitätssicherung, Konfigurationsmanagement und Projektmanagement als vereinfachte Untermenge konform zum Standard «V-Modell». Das allgemeine Vorgehensmodell für Software-Entwicklung «HERMES SWE» ist als vereinfachte Untermenge ebenfalls konform zum Standard «V- Modell». Integriert die QS in das Wasserfall-Modell (Erweiterung) Qualitätsssicherung unterteilt in Verifikation und Validation Verifikation: Prüfe Übereinstimmung Produkt Spezifikation. Validierung: Teste/Prüfe Eignung bzw. Wert des Produkts gegenüber seinem Einsatzzweck Einführung ins Software-Engineering V-Modell vom Ganzen.Aufgabenstellung Mehrheitlich konstruktive Aktivitäten Mehrheitlich prüfende Aktivitäten Anforderungsdefinition Anwendungsszenarien Abnahmetest Validierung Grobentwurf Testfälle Systemtest Verifikation Feinentwurf Testfälle Integrationstest Modulimplementatin Testfälle Modultest zum Detail. Code Einführung ins Software-Engineering Dr. Walter Kuhn 19
20 Inhalte 4 Submodelle Systemerstellung (SE) Qualitätssicherung (QS) Konfigurationsmanagement (KM) Projektmanagement (PM) Jedes Modell legt seine Aktivitäten & Produkte & Rollen fest Beschreibung auf verschiedenen Abstraktionsebenen Grundelemente sind Aktivitäten und Produkte Aktivität: Tätigkeit, die bezogen auf ihr Ergebnis und ihre Durchführung genau beschrieben werden kann Produkt: Ergebnis bzw. Bearbeitungsgegenstand einer Aktivität Definition von Produktzustände (geplant, in Bearbeitung, vorgelegt, akzeptiert) & logischen Abhängigkeiten Aktivitäten Produkten Ziel einer Aktivität Erstellung eines Produkts Änderung des Zustands oder des Inhaltes eines Produkts Einführung ins Software-Engineering V-Modell Submodelle Projekt planen und kontrollieren PM Voraussetzungen schaffen und Softwareentwicklungsumgebung (SEU) bereitstellen Plandaten Istdaten SEU Plandaten Istdaten SEU Istdaten SEU Einführung ins Software-Engineering Plandaten Plandaten Istdaten SEU QS- Anforderungen vorgeben SE Produkt entwickeln Produktstruktur planen QS- Ergebnis Produkte prüfen QS QS-Anforderung Produkt Rechte Produkt Konfigurationsstruktur Produkte/ Rechte verwalten KM Dr. Walter Kuhn 20
21 Submodell Systemerstellung als Beispiel Systemerstellung SE 1 System-Anforderungsanalyse SE 2 System-Entwurf SE 3 SW-/HW Anforderungsanalyse SE 4-SW bis SE 7-SW SW-Erstellung SE 4-HW bis SE 7-HW HW-Erstellung SE 8 System-Integration SE 9 Überleitung in die Nutzung Einführung ins Software-Engineering Rollen: Definition notwendige Erfahrungen, Kenntnisse und Fähigkeiten Manager Verantwortliche Durchführende Submodell PM Submodell QS Submodell KM Submodell SE Projektmanager Q-Manager KM-Manager Projektmanager IT-Beauftragter Anwender Projektleiter Rechtsverantwortlicher Controller QS-Verantwortlicher KM-Verantwortlicher Projektleiter Projektadministrator Prüfer KM-Administrator Systemanalytiker Systemdesigner SW-Entwickler HW-Entwickler Technischer Autor SEU-Betreuer.. Einführung ins Software-Engineering Dr. Walter Kuhn 21
22 Entwicklungsdokumentation IT-System/Segment SE Anwenderforderungen Systemarchitektur Technische Anforderungen Schnittstellenübersicht Schnittstellenbeschreibung Integrationsplan SWPÄ-Konzept Betriebsinformationen QS System-Prüfspezifikation System-Prüfprozedur Prüfprotokoll SW-Einheit SE Technische Anforderungen SW-Architektur Betriebsinformationen Implementierungsdokumente (SW-Einheit) Integrationsplan QS SW-Prüfspezifikation SW-Prüfprozedur Prüfprotokoll HW-Einheit SE Technische Anforderungen HW-Architektur Zeichnungssatz Realisierungsdokumente Analysebericht SW-Komponente SE SW-Entwurf (SW-Komponente) Datenkatalog Implementierungsdokumente (Komponente) QS Komponenten-Prüfspezifikation Komponenten-Prüfprozedur Prüfprotokoll SW-Modul SE SW-Entwurf (SW-Modul) Datenkatalog Implementierungsdokumente (SW-Modul) QS Modul-Prüfspezifikation Modul-Prüfprozedur Prüfprotokoll Übergreifende Produkte PM Projekthandbuch Projektplan Angebotsbewertung Kosten-/Nutzenanalyse Arbeitsauftrag Berichtsdokumente KM KM-Plan Konfigurations-Identifikationsdokument Datenkatalog Änderungsantrag/Problemmeldung Änderungsvorschlag Änderungsauftrag Änderungsmitteilung Änderungsstatusliste Projekthistorie QS QS-Plan Prüfplan Datenbank SE SW-Entwurf (Datenbank) Datenkatalog Implementierungsdokumente (Datenbank) QS Datenbank-Prüfspezifikation Datenbank-Prüfprozedur Prüfprotokoll Einführung ins Software-Engineering V-Modell ± Vorteile Generisches Vorgehensmodell mit definierten Möglichkeiten der Anpassung. Integrierte, umfassende Darstellung von Systemerstellung, QS, KM und PM. Standardisierte wie auch massgeschneiderte Abwicklung von Systemerstellungsprojekten. Gut geeignet für große Projekte, v.a. für eingebettete Systeme. Grundlage für eine Zertifizierung nach ISO 9000, CMM, Nachteile nicht optimal für andere Anwendungsgebiete (nicht eingebettete Systeme) Produktvielfalt & Bürokratie-Overhead bei kleinen & mittleren Projekten Nicht handhabbar ohne geeignete CASE-Unterstützung Rollendefinition nicht immer realistisch (außer für Großprojekte) Es fehlen in der Dokumentation vollständige Beispiele Nicht Methodenneutral Gefahr: Festschreiben bestimmter Software- Methoden Zu strikter Phasenablauf Einführung ins Software-Engineering Dr. Walter Kuhn 22
23 Transformationelles Modell Idealvorstellung: Softwaresystem wird (halb-) automatisch aus formaler Spezifikation erzeugt Semantikerhaltende Transformationen überführen eine abstrakte Spezifikation in ein ausführbares Programm. Entwurfsentscheidungen gehen als Optimierungen ein. Einführung ins Software-Engineering Transformationelles Modell ± Vorteile Hoher Automatisierungsgrad Aus korrekter Spezifikation folgt korrekte Implementierung Nachteile bisher nur partiell auf sehr konkreten Entwurfsebenen und für spezielle Anwendungsgebiete realisiert (z.b. Codegenerierung aus Statecharts) Ein verifiziertes Produkt muss die Erwartungen der Benutzer nicht erfüllen ( The right thing wird nicht sicher gestellt) Einführung ins Software-Engineering Dr. Walter Kuhn 23
24 Evolutionäre Modelle Ausgangspunkt: Kernanforderungen des Auftraggebers Charakteristika Stufenweise Entwicklung des Produkts Pflegeaktivitäten = Erstellung einer neuen Version Gut geeignet, wenn der Auftraggeber seine Anforderungen noch nicht vollständig überblickt Code-getriebene Entwicklung Einführung ins Software-Engineering Evolutionäre Modelle Version X:=0 Definiere Version X Inc(X) Änderung Partielles Modell Änderung Entwerfen Version X Partielle Architektur Neue Anforderungen Implementierung Version X Produkt Version X Einsatz Version X Einführung ins Software-Engineering Dr. Walter Kuhn 24
25 Evolutionäre Modelle ± Vorteile Kurze Produktauslieferungszyklen (Releases und Versionen) Auswirkungen des Produkteinsatzes gut in folgende Version einzubringen Scope der Entwicklung steuerbar, da schrittweise Entwicklung Mit Prototypen-Modell kombinierbar Entwicklung nicht nur auf einen einzigen Endabgabetermin ausgerichtet Nachteile Gefahr: die Nullversion nicht flexibel genug, um sich an geplante Evolutionspfade anzupassen Gefahr: im nachfolgenden Modell muss die gesamte Architektur überarbeitet werden Einführung ins Software-Engineering Das inkrementelle Modell Ähnlichkeiten zum evolutionären Modell, aber Nachteile des evolutionären Modells werden vermieden Alle Anforderungen werden möglichst vollständig erfasst und modelliert Ein Teil der Anforderungen wird entworfen und realisiert (analog zum evolutionären Modell) Aufgrund des vollständigen Analysemodell passen die Erweiterungen zu dem bisherigen System Einführung ins Software-Engineering Dr. Walter Kuhn 25
26 Inkrementelles Modell Definiere Version X Änderung If X=0 Änderung Vollständiges Modell Entwerfen Version X Inc(X) If X>0 Änderung Partielle Architektur Änderung Implementierung Version X Produkt Version X Definiere Änderungen Neue Anforderungen Einsatz Version X Einführung ins Software-Engineering Evolutionäres Modell ± Vorteile Sukzessive Erweiterbarkeit Zeitige Auslieferung von Teilversionen Kombinierbar Nachteile Alle Anforderungen am Anfang bekannt und definiert Einführung ins Software-Engineering Dr. Walter Kuhn 26
27 Das objektorientierte Modell Wiederverwendung Vorteil der OO-Entwicklung: Wiederverwendung von OOA-Modellen OOD Modellen: technischen Entwürfe und Architekturen OOP: implementierte oder gekaufte Klassen, Klassenbibliotheken, Komponenten, Frameworks Wiederverwendungsgebiete Anwendungs- bzw. branchenspezifische Klassen und Subsysteme Klassen zur Integration einer Anwendung in die Umgebung Klassen zur Anbindung an Systemsoftware Einführung ins Software-Engineering Wiederverwendung Charakteristika Mögliche Zeitpunkte des Einsatzes von wieder verwendbaren Klassen während der laufenden Entwicklung am Ende der laufenden Entwicklung nach einer nachträglichen Analyse abgeschlossener Entwicklungen Starker bottom-up-aspekt aufgrund der Wiederverwendbarkeit Charakteristika Fokus auf Wiederverwendung. Tendenz zur Entwicklung in voller Breite. Gut kombinierbar mit dem evolutionären, dem inkrementellen und dem Prototypen-Modell. Einführung ins Software-Engineering Dr. Walter Kuhn 27
28 Das objektorientierte Modell Definiere & Re-Use OOA Modell Suchen Änderung OOA Modell Auswählen Subsyst. Klassen Ablegen Änderung Entwerfen & Re-Use OOD Modell Auswählen OOD Modell OOD Modell Implementierung & Re-Use OO-Produkt Auswählen Klassen Klassen Suchen Ablegen Suchen Ablegen Archiv / Markt Von wiederverwendbaren Komponenten Analysieren Überarbeiten Generalisieren Komponenten Ablegen Einführung ins Software-Engineering OO Modell ± Vorteile Erhöhung der Produktivität Verbesserung der Qualität Konzentration auf eigene Stärken Teile zukaufen (auf Bedarf, im Idealfall) Nachteile Nur voll nutzbar, wenn OO-Methoden eingesetzt werden Geeignete Infrastruktur (Repository für Re-Use) notwendig Firmenkultur der Wiederverwendung muss aufgebaut sein Technische Probleme müssen überwunden werden Einführung ins Software-Engineering Dr. Walter Kuhn 28
29 Das nebenläufige Modell Kommt aus der Fertigungsindustrie Förderung der Zusammenarbeiten der betroffenen Personengruppen durch Bildung eines Teams Ziel: termingerechte Auslieferung des vollständigen Produkts Charakteristika: Reduzierung von Zeitverzögerungen durch Teilweise Parallelisierung vorwiegend sequentiell organisierter Arbeiten Minimierung des Ausprobierens und Begrenzung des Improvisierens Reduktion der Wartezeiten Frühzeitiges Zusammenbringen aller Erfahrungen im Team Risiken der Parallelisierung Erfordert permanentes Abwägen von finanziellen Risiken und vorzeitiger Parallelisierung von Arbeitsfolgen Verwendung unreifer Entwürfe führt zu Verschrottung der Werkzeuge Einführung ins Software-Engineering Nebenläufiges Modell Definiere Kernsystem Partielles Modell Definiere Ausbaustufe 1 Entwerfen Kernsystem Änderung erweitertes Modell Partielle Architektur Entwerfen Ausbaustufe 1 Änderung Implementierung Kernsystem Änderung erweiterte Architektur Kernsystem Implementierung Ausbaustufe 1 Änderung Erweitertes Kernsystem Einführung ins Software-Engineering Dr. Walter Kuhn 29
30 Das nebenläufige Modell ± Vorteile Frühes Erkennen und Eliminieren von Problemen durch Beteiligung aller betroffenen Personengruppen Optimale Zeitausnutzung Nachteile Risiko: grundlegende und kritische Entscheidungen zu spät getroffen => Iterationen nötig Hoher Planungs- und Personalaufwand Risiko: ist es möglich, aufgrund der speziellen Charakteristika von Software das Ziel right the first time zu erreichen? Einführung ins Software-Engineering Vergleich Modell Hauptziel Treiber Benutzerteilhabe Charakterisierung Wasserfall Min.Managementaufwand Dokumente Gering Sequentiell, volle Breite Prototyp Risikominimierung Code Hoch Nur Teilsysteme Spiralmodell Risikominimierung Code Mittel Zyklische Entscheidungen V-Modell Max. Qualität Dokumente Gering Sequentiell, volle Breite, V&V Transformationell Korrektheit Dokumente Mittel Korrekt Spez. Wird transformiert Evolutionär Min. Entwicklungszeit Code Mittel Sofort: nur Kernsystem Inkrementell Min. Entwicklungszeit & Risiko Code Mittel Voll Definition, dann zuerst Kernsystem OO Zeit- & Kostenreduktion Wiederverwendbares Variabel Volle Breite, abh- von Wiederverwendung Nebenläufig Min. Entwicklungszeit Code Hoch Volle Breite, nebenläufig Einführung ins Software-Engineering Dr. Walter Kuhn 30
31 Einige Best Practices (v.a. für iterative, evolutionäre Verfahren) Iteratives Vorgehen kleine Zyklen Kernkomponenten identifizieren und zuerst realisieren, weitere Komponenten drum herum bauen bei Spezifikation und Entwurf der Kernkomponenten bereits Erweiterungen berücksichtigen bei Erweiterungen prüfen, ob Wiederverwendung von Komponenten oder Einsatz von Standardsoftware möglich und sinnvoll Architektur und Entwurf Verwendung von Komponenten-Architektur Architektur offen für Erweiterungen halten Visuelle Modellierung Management Requirements Management Änderungen kontrollieren Qualität verifizieren Gute Entwicklungsinfrastruktur Werkzeuge unterstützen (z.b. Konfigurationsmanagement) Prozesse werden nach Vorgaben durchgeführt (gute Dokumentation, Beachtung von Implementierungsrichtlinien) Einführung ins Software-Engineering RUP Rational Unified Process RUP entwickelt sich zu einem de facto Standard Zentrale Merkmale Iteratives und inkrementelles Vorgehen für jede Phase eines Projektes Abgestimmt auf die Objektorientierte Entwicklung UML ( Unified Modeling Language ) als Notation für Analyse und Design Softwarearchitektur hat zentrale Rolle RUP definiert Projektphasen Aktivitäten Arbeitsergebnisse Ziele Erstellung von Software für ein Problem Vorher bestimmbarer Zeitaufwand Berechenbaren Kosten Erweiterbar für zukünftige Anwendungen Einführung ins Software-Engineering Dr. Walter Kuhn 31
32 RUP Phasen und Kernprozesse (Aktivitäten) Einführung ins Software-Engineering Phasen des RUP (1) Inception-Phase Ideenfindung Businessplan fürs Projekt Typischer Aufwand ca. 5-10% des Gesamtaufwands Elaboration-Phase Anforderungen an das Projekt konkretisieren, sowie die Softwarearchitektur zu erarbeiten und zu verifizieren. Typischer Aufwand ca % des Gesamtaufwands Construction-Phase Erstellung der Software. In dieser Phase fällt der Großteil der Programmier-, Integrations- und Testarbeit an. Typischer Aufwand ca % des Gesamtaufwands Transition-Phase Einführung der Software. Typischer Aufwand ca. 15 % des Gesamtaufwands Einführung ins Software-Engineering Dr. Walter Kuhn 32
33 Phasen des RUP (2) Unterstützung Projektplanung Organisation Kontrolle Einführung ins Software-Engineering Iteratives Arbeiten Inception Elaboration Construction Transition Iteration 1 Iteration 2 Iteration.. Iteration n Einführung ins Software-Engineering Dr. Walter Kuhn 33
34 Aufbau einer Iteration Einführung ins Software-Engineering Arbeitsergebnisse Beispiel Einführung ins Software-Engineering Dr. Walter Kuhn 34
35 RUP ± Vorteil Iterativ, Inkrementell OO Nutzt Standards (UML) Werkzeugunterstützung vorhanden vollständig dokumentiert (Papierform als auch im webtauglichen HTML Format) Nachteil Proprietärer Prozess mit Lizenzgebühren! Einführung ins Software-Engineering Agile Prozesse / Leichtgewichtige Entwicklungsprozesse Gegenwärtiges Thema in der SW-Entwicklung Ziel: reduziere weitestgehend Anzahl der im Prozess zu erstellenden Artefakte Konsequenz Jedes Artefakt (Dokument) muss notwendig und wichtig sein Auf die Erstellung und Pflege von Nebenprodukten jenseits vom Programmcode wird verzichtet, wenn das Risiko dafür gering genug ist Vertreter der leichtgewichtigen Familie für Agile Softwareentwicklung sind Extreme Programming Adaptive Software Development Crystal Feature-Driven Development Scrum Software-Expedition Einführung ins Software-Engineering Dr. Walter Kuhn 35
36 Betriebswirtschaftliche Betrachtung Agiler Markt -> schnelle Reaktion notwendig. Das Moving Target ist der Regelfall! Noch während der Entwicklung einer SW ändern sicher Markt und Anforderungen Komplexe Systeme können in kurzer Zeit gar nicht vollständig korrekt beschrieben werden Folgerung: Agile Prozesse sind hilfreich Nutzen Innovation Alleinstellungsmerkmal Marktnachfrage Alterung t Einführung ins Software-Engineering Agile Modelle Meistgenutzte Einführung ins Software-Engineering Dr. Walter Kuhn 36
37 XP / Extreme Programming Wert des Programmierens wieder in den Vordergrund XP ist mit seinen zwölf Techniken recht konkret Andererseits erfordert der Prozess jedoch eine hohe Disziplin im Team Man muss jedoch nicht alle 12 Praktiken gleich von Anfang an umsetzen Ziele hohe Kundenzufriedenheit Kontrollierbarkeit der Kosten Schnelligkeit Hauptaktivitäten Zuhören Testen Codieren Design erstellen Einführung ins Software-Engineering XP / Extreme Programming Einführung ins Software-Engineering Dr. Walter Kuhn 37
38 XP 12 Richtlinien Planungsspiel Kleine Releases Metapher Schlichtes Design Testen Refaktorieren Paarweises Programmieren Gemeinsame Verantwortlichkeit Fortlaufende Integration Nachhaltiges Tempo (früher: 40-Stunden-Woche) Kunde vor Ort Programmierrichtlinien Einführung ins Software-Engineering XP ± Vorteile Einfach, 12 Prinzipien Das Produkt steht (wieder) im Vordergrund Direkte Kundenkommunikation Nachteile Revisionsfähigkeit kritisch, da mangelnde Dokumentation Sammlung von Anwendergeschichten auf Karten bei Gross- Projekten steht im Widerspruch zur Effizienzen Abwicklung Weniger für grosse Teams geeignet Vertragsverhandlung Hype! Wird nicht immer adäquat eingesetzt Einführung ins Software-Engineering Dr. Walter Kuhn 38
39 Übung Überlegen Sie, wenn Sie eine echte, grosse Online- Bank-Anwendung entwickeln wollten, welche Modelle Ihnen dabei hilfreich sein könnten. Forschen Sie nach DSDM, Catalysis und genannten Agilen Verfahren. Vergleichen Sie diese Modelle mit dem, was Sie kennengelernt haben. Einführung ins Software-Engineering Literatur (nur einige) Spiralmodell RUP V-Modell und Hermes Schweizer Bund: Technische Weisung Nr. 16 (TW 16), Ausgabe vom 19. April 1995: Projektführung und Systementwicklung in Informatikprojekten Crystal: XP Beck: extreme Programming explained, Scrum: DSDM: FDD: Einführung ins Software-Engineering Dr. Walter Kuhn 39
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
MehrWirtschaftsinformatik I Teil 2. Sommersemester 2008. 1. Übung
Wirtschaftsinformatik I Teil 2 Sommersemester 2008 1. Übung Sarah Mund, Kirstin Simon, Markus Trierweiler, Christian Molitor, Jonathan Jäger, Björn Kirsten Aufgabenstellung Diskutieren Sie die Vor- und
MehrWas 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
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrDas 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
MehrSoftware 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,
MehrProzess-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
MehrProjektmanagement. 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/
MehrInformationswirtschaft 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
MehrInformationswirtschaft 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
MehrSoftwaretechnik. 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
Mehr4. Organisation: Prozess-Modelle
Software Management 4. Organisation: Prozess-Modelle 1 Übersicht der Vorlesung 1. 2. 3. 4. 5. 6. 7. 8. Grundlagen Planung Organisation: Gestaltung Organisation: Prozess-Modelle Personal Leitung Innovationsmanagement
MehrInformationssystemanalyse 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Übung Einführung in die Softwaretechnik
Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 3 Aufgabe 6a) Welche Projekttypen gibt es, und wie ist deren Zusammenhang? Systementwicklung
MehrSPI-Seminar : Interview mit einem Softwaremanager
Erstellung eines Fragenkatalogs der die Beurteilung der Level 2 Key Process Areas in einem ca. einstündigen Interview mit einem Software Manager ermöglicht Vortrag von Matthias Weng 1 Aufbau Geschichte
MehrÜ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
Mehr17 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
MehrInformationssystemanalyse 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Ü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
MehrSoftware-Lebenszyklus
Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung
MehrAbschnitt 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
MehrDer 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
MehrInformationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:
Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät
MehrPROJEKTMANAGEMENT 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
MehrWir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.
Wir erledigen alles sofort Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. agilecoach.de Marc Bless Agiler Coach agilecoach.de Frage Wer hat
MehrT1 - 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
MehrSoftware Entwicklung 2. Prozessmodelle
Software Entwicklung 2 Prozessmodelle Inhalt Das Wasserfall-Modell Das V-Modell Das Prototypen-Modell Das evolutionäre/inkrementelle Modell Das nebenläufige Modell Überblick über die Prozessmodelle 2 Lernziele
MehrÄnderungsmanagement bei iterativer SW-Entwicklung
Änderungsmanagement bei iterativer SW-Entwicklung Vortrag auf der regionalen Fachgruppe IT-Projektmanagement, 05.05.2006, Stuttgart Dr. Karsten Hoffmann, Steinbeis-Transferzentrum IT-Projektmanagement,
MehrSoftwareentwicklungsprozess im Praktikum. 23. April 2015
Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit
MehrKapitel 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Ü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
MehrPraktikum 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
MehrAgile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg
Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen
MehrIT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle
IT-Basics 2 DI Gerhard Fließ Vorgehensmodelle Sichtbarkeit Die Sichtbarkeit von Membervariablen und Methoden können durch die folgenden Schlüsselworte geregelt werden: private nur in der eigenen Klasse
Mehr16 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
Mehrextreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrSoftware 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
MehrGrundlagen des Software Engineering
Grundlagen des Software Engineering Teil 1: SW-Management Fachrichtung Wirtschaftsinformatik FB Berufsakademie der FHW Berlin Prof. Dr. Gert Faustmann Motivation des Risikomanagements Ungefähr 80 Prozent
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrSoftware Engineering. Sommersemester 2012, Dr. Andreas Metzger
Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle
MehrDas 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?
Mehr3.2,,Eichung von Function Points (Berichtigte Angabe)
I N S T I T U T E F O R R E A L - T I M E C O M P U T E R S Y S T E M S TECHNISCHE UNIVERSIT ÄT MÜNCHEN P R O F E S S O R G. F Ä R B E R Software Engineering 3. Übung 22.05.2003 3.2,,Eichung von Function
MehrPrüfungsfragen MC Fragen
Prüfungsfragen MC Fragen Public V 2.0 Privatadresse Anrede Herr Frau Titel Vorname Name Strasse / Nr. PLZ / Ort E-Mail Privat Geburtsdatum Heimatort Datum Unterschrift Hilfsmittel Folgende Hilfsmittel
MehrSoftware 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
MehrFunctional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit
Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit Mittelstraße 25/1 88471 Laupheim Fon: 07392-9393525 Fax: 07392-9393526 Mailto: tf@thomasfranzen.com Beispiele nicht sicherer
MehrGenerative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009
Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG
MehrSoftwaretechnik. 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
MehrProzessmanagement Modeerscheinung oder Notwendigkeit
1 von5 Prozessmanagement Modeerscheinung oder Notwendigkeit Autor: Dr. Gerd Sonntag Beratender Ingenieur disocon (Unternehmensberatung Diekelmann & Sonntag) Das Thema Prozessmanagement wurde in einem kompakten
MehrEinführung in das Software-Qualitätsmanagement
Roland Petrasch Einführung in das Software-Qualitätsmanagement ^oyoc; 0 Einleitung 9 1 Qualitätsmanagement in der Software-Entwicklung 11 1.1 Entwicklung von Software-Produkten 11 1.1.1 Begriffsbestimmung
MehrInhaltsverzeichnis. Seite 1 von 9
Inhaltsverzeichnis Inhaltsverzeichnis... 1 1. Einführung... 2 1.1. Verwendungsarten... 2 1.2. Struktur des V-Modells... 3 2. Submodelle... 4 2.1. Projektmanagement (PM)... 4 2.2. Systemerstellung (SE)...
MehrSoftware- 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
MehrDie vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante
ISO 9001:2015 Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante Prozesse. Die ISO 9001 wurde grundlegend überarbeitet und modernisiert. Die neue Fassung ist seit dem
MehrProjektarbeit. 2003 Eberhard Neef - 2 - Nee Seite 1
Nee Seite 1 1. Projektorganisation...2 1.1. Projektdefinition...2 1.2. Projektauslösung...2 1.3. Vorstudie...2 1.3.1. Zweck der Vorstudie und Aufgaben...2 1.3.2. Problemanalyse...2 1.3.3. Ziele...3 1.3.4.
MehrSoftwareentwicklung bei KMU - Ergebnisse einer Studie zum Entwicklungs-, Projekt- und Qualitätsmanagement
Softwareentwicklung bei KMU - Ergebnisse einer Studie zum Entwicklungs-, Projekt- und Qualitätsmanagement Lutz Nentwig Fraunhofer-Institut für Software und Systemtechnik ISST - Berlin 28. Oktober 2002
MehrEberhard 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
Mehr3.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
MehrRequirements Engineering I. Der Spezifikationsprozess!
Norbert Seyff Requirements Engineering I Zusammenfassung und Erweiterung Der Spezifikationsprozess! 2009, 2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den
MehrDer 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
MehrEINFÜ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
MehrWir helfen Ihnen, sich auf Ihre Kompetenzen zu konzentrieren.
Wir helfen Ihnen, sich auf Ihre Kompetenzen zu konzentrieren. R Unser Anspruch bei bitbase Fokussiert auf Zuverlässigkeit, Qualität und eine permanente Serviceerweiterung tragen wir dazu bei, dass Sie
Mehr14 Aktivitäten und Artefakte
Im Rahmen einer Softwareentwicklung müssen Aktivitäten durchgeführt werden, die zu Ergebnissen im Folgenden Artefakte (artifacts) genannt führen. Eine Aktivität wird durch Mitarbeiter ausgeführt, die definierte
MehrSoftware Engineering. Dokumentation! Kapitel 21
Martin Glinz Thomas Fritz Software Engineering Kapitel 21 Dokumentation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet;
MehrWarum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität
Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Grobentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig
MehrProjektstart für Auftraggeber und Entscheider. Bern, 27. August 2013
Projektstart für Auftraggeber und Entscheider Bern, 27. August 2013 Wir machen Wir machen Sie sicherer. Sie sicherer. Agenda 01 Wie beschreibe ich die Ziele des Projektes 02 Was ist in der Startphase wichtig
MehrÜbungsklausur vom 7. Dez. 2007
Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement
MehrSoftwaretechnik (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
MehrGrundlagen Software Engineering
1 Grundlagen Software Engineering Prozesse GSE: Prof. Dr. Liggesmeyer, 1 Organisation: Prozessmodelle Inhalt Das Wasserfall-Modell Das V-Modell Das evolutionäre/inkrementelle Modell Das nebenläufige Modell
MehrInformation zur Revision der ISO 9001. Sehr geehrte Damen und Herren,
Sehr geehrte Damen und Herren, mit diesem Dokument möchten wir Sie über die anstehende Revision der ISO 9001 und die sich auf die Zertifizierung ergebenden Auswirkungen informieren. Die folgenden Informationen
MehrVorgehensmodelle zur Softwareentwicklung
Whitepaper und technische Dokumentation Informationen zu diesem Dokument Autor: Tobias Eichner, tobias@starenterprise.com Datum der Erstveröffentlichung: Februar 2013 Datum der letzten Überarbeitung: 11.
MehrProzess-Modelle. Modelle. Einführung in UML
Modelle Prozess-Modelle Wasserfallmodell V-Modell Prototypenmodell Evolutionäres/inkrementelles Modell Objektorientiertes Modell Nebenläufiges Modell Spiralmodell Einführung in UML Klassendiagramme Anwendungsfalldiagramme
MehrSystemdenken und Gestaltungsmethodik Einführung und Grundlagen II
Systemdenken und Gestaltungsmethodik Einführung und Grundlagen II Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2006 ff. Master Telematik System-Definition Aus einem Systems Engineering Handbook: Ein System
MehrT2 Fundamentaler Testprozess
T2 Fundamentaler Siemens AG Österreich 2005 All Rights Reserved Institut f. Software Technology, TU-Graz Armin Beer, PSE Support-Center Test Overview der Software- Entwicklung 2 1 Wasserfall-Modell Analyse
MehrSysInventor. Jakobstr. 64 D-78464 Konstanz. Kontakt: info1@sysinventor.de. Phone +49 (0) 7531 35116 Fax +49 (0) 7531 35116
Jakobstr. 64 D-78464 Konstanz SysInventor Kontakt: info1@sysinventor.de Phone +49 (0) 7531 35116 Fax +49 (0) 7531 35116 Udo Wesseler, Dipl.-Inf. Dr. Claus Braxmaier, Dipl-Phys. & Dipl.-Ing. (FH) Wir sind......ein
Mehr«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»
«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.» www.pse-solutions.ch ANTOINE DE SAINT-EXUPÉRY 1 PROJECT SYSTEM ENGINEERING
MehrINNOVATOR im Entwicklungsprozess
Erfahrungsbericht INNOVATOR im Entwicklungsprozess Basis für Host- und Java-Anwendungen Dr. Carl-Werner Oehlrich, Principal Consultant MID GmbH Das Modellierungswerkzeug INNOVATOR Geschäftsprozess-Modellierung
MehrSoftware 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
MehrAngepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -
Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards - Anita Herrmann Braunschweig, 10. Nov 2004 Ausgangspunkte Im DLR werden nach vorsichtigen
MehrProjektmanagement und Softwarequalität
Projektmanagement und Softwarequalität Validierung in der pharmazeutischen Industrie Fakultät für Wirtschaftswissenschaften Martin Stange E-Mail: martin.stange@ichlerneonline.de www.hs-wismar.de Projektmanagement
MehrEinführung V-Modell XT. Das neue V-Modell XT Release 1.2 - Der Entwicklungsstandard für IT Systeme des Bundes
Einführung V-Modell XT Das neue V-Modell XT Release 1.2 - Der Entwicklungsstandard für IT Systeme des Bundes 1 Inhalt RAN Motivation Herkunft und Ziele des V-Modell XT Struktur und Aufbau des V-Modell
Mehr[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL
[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL Was bedeutet Customer Service by KCS.net? Mit der Einführung von Microsoft Dynamics AX ist der erste wichtige Schritt für viele Unternehmen abgeschlossen.
Mehr13 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
MehrINDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH
01 INDIVIDUELLE SOFTWARELÖSUNGEN 02 05 02 GUMMERSBACH MEHRWERT DURCH KOMPETENZ ERIC BARTELS Softwarearchitekt/ Anwendungsentwickler M_+49 (0) 173-30 54 146 F _+49 (0) 22 61-96 96 91 E _eric.bartels@customsoft.de
MehrTraceability-Modell als Erfolgsfaktor für Process Enactment. Paul-Roux Wentzel, SEE 2008
Traceability-Modell als Erfolgsfaktor für Process Enactment Einführung Referent Paul-Roux Wentzel Unternehmen method park Software AG 2008 method park Software AG Slide 2 Leistungsportfolio Training &
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
MehrUnsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung des Projektstatus.
Fachgruppe Projektmanagement im Mittelstand August 2015 Themen, die vor dem Projekt durchzuführen sind KNOW-HOW Unsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung
MehrEffizienzsteigerung von Softwaretests durch Automatisierung
Bachelorarbeit am Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Programmiersprachen Effizienzsteigerung von Softwaretests durch Automatisierung David Emanuel Diestel 04.02.2016 Übersicht
MehrEinfü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
Mehr2. Workshop: Vorgehensmodelle in der Praxis Reife und Qualität
2. Workshop: Vorgehensmodelle in der Praxis Reife und Qualität Marco Kuhrmann, Patrick Keil (Technische Universität München), Stephan Ziegler (BITKOM e.v.) Bremen, 27.09.2007 1 Geschichte und Ziele des
MehrEinführung in die Modellierung
Einführung in die Modellierung Christian Huemer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
MehrSoftware-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
MehrWORKFLOWS UND INITIALISIERUNG DER ARCHITEKTURENTWICKLUNG MANAGEMENT VON IT ARCHITEKTUREN
WORKFLOWS UND INITIALISIERUNG DER ARCHITEKTURENTWICKLUNG Architekturen in Unternehmen Nutzen von Unternehmensarchitekturen Treiber und Hindernisse Initialisierung der IT-Architekturentwicklung Rahmeneinordnung
MehrKlausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement
Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Prof. K.-P. Fähnrich, Prof. H.-G. Gräbe, T. Riechert Institut für Informatik Sommersemester 2012 Allgemeine Bemerkungen
MehrWas beinhaltet ein Qualitätsmanagementsystem (QM- System)?
Was ist DIN EN ISO 9000? Die DIN EN ISO 9000, 9001, 9004 (kurz ISO 9000) ist eine weltweit gültige Norm. Diese Norm gibt Mindeststandards vor, nach denen die Abläufe in einem Unternehmen zu gestalten sind,
MehrÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong
Einleitung Beschluss der UNI- AG vom 10.10.2012: Bis Ende März 2013 soll ein Portal für Studierende der UNI- AG entwickelt werden. Das Portal bietet aus Anlass der Weltwirtschschaft diverse Informationen
MehrObjektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt
Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse
MehrLösungen zum Test objektorientierter Software
Lösungen zum Test objektorientierter Software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14. März 2013 HOM/FHTeL Lösungen zum Test objektorientierter Software
MehrProbeklausur. 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
MehrDas neue V-Modell 200x ein modulares Vorgehensmodell
Das neue V-Modell 200x ein modulares Vorgehensmodell 28. April 2004 Perlen der Weisheit Ulrike Hammerschall Ausgangssituation und Zielsetzung Ausgangssituation des V-Modells Verbreitete Richtschnur für
Mehr