Chapter Learning Goals



Ähnliche Dokumente
Grundlagen Software Engineering

Phasen. Gliederung. Rational Unified Process

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Agile Softwareprozess-Modelle

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

ISO Reference Model


Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April GRIDFUSION

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

ISO Reference Model

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder

Lösungen zum Test objektorientierter Software

Entwicklungsoptimierung mit einem ALM Tool Positionierung mit Fallstudie

Darstellung und Anwendung der Assessmentergebnisse

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Agile Software Development

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Anforderungen, KEFs und Nutzen der Software- Prozessverbesserung

Normerfüllung in der Praxis am Beispiel "Tool Qualification" Dr. Anne Kramer, sepp.med gmbh

Support-Tipp Mai Release Management in Altium Designer

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Daten haben wir reichlich! The unbelievable Machine Company 1

SPI-Seminar : Interview mit einem Softwaremanager

Leseprobe. Thomas Konert, Achim Schmidt. Design for Six Sigma umsetzen ISBN: Weitere Informationen oder Bestellungen unter

Software-Lebenszyklus

Product Line Engineering (PLE)

Cloud Architektur Workshop

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Big Data Projekte richtig managen!

(BABOK-v3-Technik 10.41)

How to Survive an Audit with Real-Time Traceability and Gap Analysis. Martin Kochloefl, Software Solutions Consultant Seapine Software

BartPE. Dokumentation. Projektarbeit Network Services. Dozent: Wolf-Fritz Riekert. Belmondo Kovac. Autor: Andreas Dinkelacker, 3.

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen

Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, Dimitar Dimitrov, Karl Oppermann, Nathalie Hrycej, Markus Schnalke, Christoph Galler

Die Kunst des Programmierens...

Installation von SAS unter Windows XP

Agilität auf Unternehmensebene - Was hält uns davon ab?

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Agile Software Verteilung

EMV und Medizinprodukte

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Künstliches binäres Neuron

Paper- Prototyping. Workshop. Eine Usability-Methode. Ellen Reitmayr, Antenne Springborn

Einführung in die Robotik Kinematik. Mohamed Oubbati Institut für Neuroinformatik. Tel.: (+49) 731 / mohamed.oubbati@uni-ulm.de

TFS Customzing. in der Praxis. Thomas Gugler. seit 2005 bei ANECON. .NET seit 2002 (happy bday!) Schwerpunkte: MCPD.Net 4.0, MCTS TFS, Scrum Master,

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Mobile-Szenario in der Integrationskomponente einrichten

Process Management Office Process Management as a Service

ICT-Cloud.com XenApp 6.5 Configuration Teil 2

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Projekt: Requirements Engineering Sommersemester Anforderungsspezifikation im X-Treme Programming

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Qualität im Schienenverkehr

Agile Softwareentwicklung

UC4 Rapid Automation HP Service Manager Agent Versionshinweise

Entwicklungsmethoden

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

Übersicht. Normung von Software in der Medizin. Vorstellung der DKE. Vorstellung der Normungsgremien. Normen im Bereich Software.

Softwaretechnik. Lean Software Development. Prof. Dr. Matthias Hölzl Joschka Rinke. 21. Januar 2016

Agile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski

Windows Server 2012 R2 Essentials & Hyper-V

ZuuL - Entwicklung eines Adventures

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Extreme Programming. Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D Braunschweig

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Mitarbeiter IVR - Wozu

Einkommensaufbau mit FFI:

1 von 119 Eine Einführung in das Project Management/1 Einführung/Seiten/Startseite

Fachhochschule Südwestfalen Hochschule für Technik und Wirtschaft. richtung weisend

Wenn Russland kein Gas mehr liefert

Installation mit Lizenz-Server verbinden

WINDOWS 10 Upgrade. Beispiel: Desktop-Ausschnitt von vorhandenem WIN 8.1 (rechte Ecke der Taskleiste)

Der Design-Workflow im Software-Entwicklungs-Prozess

Holistic Software Escrow from TIMBUS

Erfahrungen über den Einsatz einer agilen Entwicklungsmethode fürdie Produktentwicklung unterstützt durch Polarion ALM forsubversion

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

Agile Management Einführung in agiles Management

DIE DATEN IM ZENTRUM: SAS DATA MANAGEMENT

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

EEX Kundeninformation

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Wachstum ermöglichen durch Agilität und Transparenz in der IT

Softwareentwicklung aus Sicht des Gehirns

Installation der SAS Foundation Software auf Windows

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen?

HIR Method & Tools for Fit Gap analysis

EchoLink und Windows XP SP2

Agiles Testen. Gedankensammlung. 17. November Patrick Koglin

Projektmanagement. Vorlesung von Thomas Patzelt 8. Vorlesung

Transkript:

Process Identify corporate practices - assess capability - specify standards - e.g. CMM level Plan project Plan configuration management - how to manage documents & code - document: SCMP next chapter: Plan development process Plan quality assurance - how to ensure quality - document: SQAP Plan verification & validation - verify the product satisfies requirements - validate each phase by showing it succeeded document: SVVP Analyze requirements Design Development phases Integrate & test system Maintain Implement Test units Martin Jud 09.03.2004 Software-Engineering - Prozess 1 Chapter Learning Goals Distinguish among development processes Indicate benefits and disadvantages Understand documentation needed Approximately one for each waterfall phase Plan for configuration management Define Software Quality quantitatively Institute collection Martin Jud 09.03.2004 Software-Engineering - Prozess 2

Some Application Types Stand-alone residing on a single computer / not connected to other SW or HW e.g., word processor Embedded part of unique application involving hardware e.g., automobile controller Realtime functions must execute within small time limit (typically µs) e.g., radar software Network consist of parts interacting across a network e.g., web-based video game Martin Jud 09.03.2004 Software-Engineering - Prozess 3 Typical Project Roadmap 1. Understand nature & scope of proposed product 2. Select the development process, and create a plan -- section 4 and chapter 2 3. Gather requirements -- chapters 3 and 4 4. Design and build the product -- chapters 5, 6, and 7 5. Test the product -- chapters 8 and 9 6. Deliver and maintain the product -- chapter 10 Martin Jud 09.03.2004 Software-Engineering - Prozess 4

Was man erwarten darf Used for process development Influenced by people 1. Messbare Qualitätsziele festlegen 2. Informationen über den Prozess beschaffen 3. Arbeitsresultate offen legen 4. - Entwurf folgt Anforderungen - Programm folgt Entwurf - Test erfolgt gegen Anforderungen und Entwurf 5. Qualität messen Part of the project Aspect of the product Martin Jud 09.03.2004 Software-Engineering - Prozess 5 Entwicklungsprozess Ein Prozess beschreibt, wer was wie wann macht. Der Unified Software Development Process (USDP) stützt sich dabei auf vier Modeling Elements: Workers "wer" Activities "wie" Workflows "wann Artifacts "was" Document Artifacts: Model -- a view of the application (design etc.) Component -- physical (source code etc.) Martin Jud IntroductionSoftware-Engineering - Prozess 6 Adaptiert von den Software Engineering Unterlagen von Jörg Hofstetter (HTA Luzern, 2002)

Activities, Artifacts, and Workers Martin Jud IntroductionSoftware-Engineering - Prozess 7 Adaptiert von den Software Engineering Unterlagen von Jörg Hofstetter (HTA Luzern, 2002) Artifacts and Roles USDP term Symbol & examples Artifacts: the entities that software engineering deals with. Document Model -- a view of the application (design etc.) Component -- physical (source code etc.) Workers: responsibilities allocated to people (roles). Worker Worker instance (e.g., Joe Smith) Martin Jud 09.03.2004 Software-Engineering - Prozess 8 Adaptiert von den Software Engineering Unterlagen von Jörg Hofstetter (HTA Luzern, 2002)

Example of a Workflow: Requirements Martin Jud IntroductionSoftware-Engineering - Prozess 9 Adaptiert von den Software Engineering Unterlagen von Jörg Hofstetter (HTA Luzern, 2002) Martin Jud 09.03.2004 Software-Engineering - Prozess 10

Phasenmodelle 3er / 4er Gruppen Lifecycle-Sammlung auswerten: wozu Phasen gibt es Modellfamilien Andere Strukturierungshilfen Zeit: 20 Minuten Martin Jud Software-Engineering - Prozess 11 Martin Jud 09.03.2004 Software-Engineering - Prozess 12

Martin Jud 09.03.2004 Software-Engineering - Prozess 13 Martin Jud 09.03.2004 Software-Engineering - Prozess 14

Martin Jud 09.03.2004 Software-Engineering - Prozess 15 Martin Jud 09.03.2004 Software-Engineering - Prozess 16

Martin Jud 09.03.2004 Software-Engineering - Prozess 17 Martin Jud 09.03.2004 Software-Engineering - Prozess 18

Martin Jud 09.03.2004 Software-Engineering - Prozess 19 Martin Jud 09.03.2004 Software-Engineering - Prozess 20

Martin Jud 09.03.2004 Software-Engineering - Prozess 21 XP - Lifecycle 1) Erkundung (einige Wochen) 2) Planung (ein, zwei Tage) 3) erster Release (2-6 Monate) 4) Unterhalt (Jahre) 5) Tod Martin Jud 09.03.2004 Software-Engineering - Prozess 22

Main Disciplines Inception Phases Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Disciplines Configuration Mgmt Management Environment Preliminary Iteration(s) Iterations Martin Jud 09.03.2004 Software-Engineering - Prozess 23 #1 #2 #n #n+1 #n+2 #m #m+1 Iterative, Incremental Development Functionality of runtime system time A A A D D D I I I T T T Iteration 1 Iteration 2 Iteration 3 time Milestone1 Milestone2 Milestone3 Martin Jud Process AlternativesSoftware-Engineering - Prozess 24 Adaptiert von den Software Engineering Unterlagen von Jörg Hofstetter (HTA Luzern, 2002)

Milestones Ein geplanter Punkt im Projektablauf an dem vorher festgelegte (Zwischen-)Ergebnisse vorliegen, die es erlauben den Projektfortschritt zu messen. At each milestone there should be a formal output. deliverables / working results e.g. report, software component... If the deliverables are available and are positively checked the milestone is reached. Review, meetings, tests Deliverables should be checkable! Martin Jud 09.03.2004 Software-Engineering - Prozess 25 XP-Grundideen Regeln - nicht Steuern 4 Werte: Kommunikation Einfachheit Feedback Mut 5 Prinzipien: rascher Feedback grösstmögliche Einfachheit kleine Schritte stetige Veränderung hohe Qualität 4 Aktivitäten: codieren testen zuhören entwerfen 12 Praktiken Planspiel kleine Releases Metapher einfaches Design Testen Refactoring Pair-Programming gemeinsamer Besitz Laufende Integration 40-Stunden-Woche Kunde vor Ort Codier-Richtlinien Martin Jud Software-Engineering - Prozess 26

Praktiken (I) Das Planspiel den Umfang des nächsten Releases wird ermittelt indem die Prioritäten aus Produktmanagement-Sicht und Aufwandschätzungen aus der Entwicklung Schätzungen miteinander verknüpft werden. Stimmt die Planung nicht mehr mit der Realität überein, wird der Plan aktualisiert. Kleine Releases so schnell wie möglich mit einem einfachen System in Produktion gehen und dann in kurzen Abständen neue Versionen herausgeben. Metapher die Entwicklung lenken mit einer einfachen leicht zu kommunizierenden Geschichte, die bildhaft beschreibt, wie das ganze System funktioniert. Martin Jud Software-Engineering - Prozess 27 Praktiken (II) Einfaches Design das System hat zu jedem Zeitpunkt das einfachst mögliche Design. Unnötige Komplexität wird beseitigt, sobald sie entdeckt wird. Testen die Entwickler schreiben laufend Unit-Tests. Nur wenn diese problemlos laufen, wird weiter entwickelt. Die Anwender bzw. Produkt- Manager schreiben Funktionstests, die zeigen dass ein bestimmtes Feature funktioniert. Refactoring Programmierer strukturieren das System um, ohne sein Verhalten zu ändern, um Verdopplung zu beseitigen, verbessern Kommunikation, vereinfachen oder fügen Flexibilität hinzu. Martin Jud Software-Engineering - Prozess 28

Praktiken (III) Pair-Programming der Source-Code wird vollständig im Pair- Programming, d.h. von Entwicklern die zu zweit an einem Rechner arbeiten geschrieben. Gemeinschaftlicher Besitz jedermann kann jederzeit jeglichen Code im gesamten System ändern. Laufende Integration jedes Mal wenn eine Aufgabe abgeschlossen ist, wird eine Systemintegration durchgeführt. Martin Jud Software-Engineering - Prozess 29 Praktiken (IV) 40-Stunden-Woche in der Regel wird nicht mehr als 40 Stunden die Woche gearbeitet. Keinesfalls werden in zwei aufeinander folgenden Wochen Überstunden gemacht. Kunde vor Ort Damit offene Punkte jederzeit geklärt werden können nimmt man am besten einen Anwender ins Team auf. Codier-Richtlinien Der Code ist das wesentliche Kommunikationsmittel zwischen den Entwicklern, deshalb müssen sich alle an gemeinsame Codier-Richtlinien halten. Martin Jud Software-Engineering - Prozess 30

USDP vs. Classical Terminology (I) Classification of iterations Individual iteration Inception Elaboration Construction Transition Prelim. iterations #1.. #n #n+1.. #m #m+1 #k Requirements Analysis Design Implementation Test USDP calls these core workflows (Classically called phases ) Martin Jud 09.03.2004 Software-Engineering - Prozess 31 USDP vs. Classical Terminology (II) USDP Terminology Classical Terminology Requirements Analysis Design Implementation Test Requirements analysis Design Implementation Integration Test Martin Jud 09.03.2004 Software-Engineering - Prozess 32

The Six USDP Models Use-case model Test model Analysis model Implementation model Design model Deployment model Martin Jud 09.03.2004 Software-Engineering - Prozess 33 Identify the Process You Will Use 1. Decide which of waterfall, spiral, and incremental processes is appropriate. Combining parts is OK e.g. start with spiral, end with incremental 2. Decide how many iterations. Usually two for a semester project (there are many artifacts to coordinate at the end of each iteration). Three provides lots of practice -- but this is a challenge; make the first increment as minor as possible Three promotes the collection and use of metric data -- use metric data collected from each iteration on next. 3. Rough out a weekly schedule. Coordinate with course assignments. Martin Jud 09.03.2004 Software-Engineering - Prozess 34