Gabriele Taentzer Philipps-Universität Marburg Wintersemester 2014/15

Größe: px
Ab Seite anzeigen:

Download "Gabriele Taentzer Philipps-Universität Marburg Wintersemester 2014/15"

Transkript

1 Einführung in die Softwaretechnik Gabriele Taentzer Philipps-Universität Marburg Wintersemester 2014/15

2 Organisation der LV Umfang: 4 SWS, 6 ECTS Punkte Veranstalter: Gabriele Taentzer, Daniel Strüber und Tutoren Kontakt: taentzer@informatik.uni-marburg.de, Raum D5434, Tel: strueber@informatik.uni-marburg.de, Raum: D5432, Tel: Termine: VL: Di 14 16h, Seminarraum 04A30 UE: Mi h h, Raum 03C52 (nur eine Übung auswählen) Taentzer Einführung in die Softwaretechnik 2

3 Organisation der LV LV ab 3. Semester Voraussetzung: Grundvorlesungen in Praktischer Informatik I + II Scheinkriterien: Übungsaufgaben Abschlussklausur am , h Homepage der LV: Kopien der Folien, Literaturhinweise, Übungen Anmeldung: Anmeldung über das LSF-System Online Taentzer Einführung in die Softwaretechnik 3

4 Lehrveranstaltungsstil Konzeptvermittlung durch Folien und Literatur Folienkopien sind auf der Homepage verfügbar, kleinere Abweichungen (insb. Korrekturen) sind möglich Beispiele häufig an der Tafel Zwischenfragen und Kommentare während der Vorlesung sind grundsätzlich erwünscht. Tutorien: Praktische Übungen, auch am Rechner Übungen speziell für das Tutorium Taentzer Einführung in die Softwaretechnik 4

5 Lernziele Überblick über Softwareentwicklungsprozesse Grundverständnis für die wesentlichen Aufgaben während der Softwareentwicklung Grundkenntnisse im Entwurf von Softwaresystemen mit der Unified Modeling Language Vertiefung der Kenntnisse in objektorientierter Programmierung in Java Grundkenntnisse in der Qualitätssicherung, insbesondere Testen, von Softwaresystemen Grundverständnis für die in der LV vorgestellten Werkzeuge, durch Übungen vertieft Taentzer Einführung in die Softwaretechnik 5

6 Inhalt Einführung in die Softwaretechnik: Probleme, Prozesse und Techniken der Softwareentwicklung Kontinuierliche Softwareentwicklung Versions- und Konfigurationsmanagement Anforderungsanalyse für Softwaresysteme Softwareentwurf: Modellierung der wesentlichen Aspekte SW-Architekturen, Entwurfsmuster und Komponenten OO-Konzepte für Fortgeschrittene Software-Qualitätssicherung: speziell Testen von Softwaresystemen Software-Evolution Projektmanagement Taentzer Einführung in die Softwaretechnik 6

7 Einführung in die Softwaretechnik 14. Oktober 2014

8 Überblick Bestandsaufnahme Wie haben wir bisher Softwaresysteme entwickelt? Welche Arten von Softwaresystemen gibt es? Welche Probleme können auftreten? Welche Prozesse/Verfahren zur Softwareentwicklung gibt es? Welche Aufgaben gibt es und wie können diese strukturiert werden? Wie kann die Arbeit einer größeren Gruppe von Entwicklern koordiniert werden? Taentzer Einführung in die Softwaretechnik 8

9 Bestandsaufnahme Welche Softwaresysteme haben Sie bisher entwickelt? Wie groß sind diese? Von welcher Art sind diese? Wie lange haben Sie entwickelt? Allein oder im Team? Wie haben Sie die Anforderungen herausgefunden? Wie haben Sie die Software entworfen? Wie haben Sie implementiert? Mit welcher Programmiersprache? Mit einer Entwicklungsumgebung? Wie haben Sie die Software getestet? Taentzer Einführung in die Softwaretechnik 9

10 Softwaretechnik: Herkunft und Einordnung Softwaretechnik (engl.: Software Engineering) ist ein etabliertes Teilgebiet der Informatik. Der Name Software Engineering wurde Ende der 1960-er Jahre geprägt. Er war als Antwort auf die damals aufkommende Rede von der Software-Krise gemeint. Innerhalb der Softwaretechnik befasst man sich mit der Konzeption und Herstellung von Softwaresystemen und den dazu eingesetzten Methoden und Werkzeugen (Softwareentwicklung) mit der Planung, Steuerung und Überwachung von Softwareprojekten (Softwareprojektmanagement) mit der Herstellung und Prüfung von Softwarequalität (Softwarequalitätssicherung) Taentzer Einführung in die Softwaretechnik 10

11 Eine der ersten Erwähnungen der Softwarekrise [Die Hauptursache für die Softwarekrise liegt darin begründet,] dass die Maschinen um einige Größenordnungen mächtiger geworden sind! Um es ziemlich einfach auszudrücken: Solange es keine Maschinen gab, war Programmierung kein existierendes Problem; als wir ein paar schwache Computer hatten, wurde Programmierung zu einem geringen Problem, und nun da wir gigantische Computer haben, ist die Programmierung ein ebenso gigantisches Problem. Edsger Dijkstra: The Humble Programmer (1972) ( Taentzer Einführung in die Softwaretechnik 11

12 Beispiele von Softwaresystemen Eingebettete Systeme Robotersteuerungen Echtzeit-Anwendungen (z.b. in Flugzeugen und Autos) mobile Systeme Daten- und Informationssysteme Systeme im Bank- und Versicherungswesen, im Verkehr, in der Touristik und in öffentlichen Verwaltungen Webanwendungen Softwaremanagementsysteme Programmierumgebungen, Versionsverwaltungssysteme Textsysteme und Office-Anwendungen Wissensbasierte Systeme Beratungs- und Expertensysteme, Lehr- und Lernsysteme Taentzer Einführung in die Softwaretechnik 12

13 Spezielle Eigenschaften von Softwaresystemen Komplexität übertrifft die vieler anderer technischer Systeme Repräsentation von "Realwelt"-Systemen Software soll "Abbild" realer Strukturen und Abläufe herstellen, adäquate Ergebnisse liefern, simulieren, "reale" Vorgänge steuern Universalität: fast alles ist programmierbar ( Turingmaschine) Schnelle Innovationszyklen neue Probleme und neue Technologien in schneller Abfolge Fehler- und Störungsanfälligkeit besonders hoch wegen der Universalität und hoher Innovation Übertriebene, unrealistische Anforderungen führen z.t. zu Megaprojekten, mit hohen Risiken und Verlusten, sowie unnötigen Verkomplizierungen von Lebensvorgängen Taentzer Einführung in die Softwaretechnik 13

14 Programmieren im Kleinen und im Großen In der Softwaretechnik geht es um das "Programmieren im Großen", d.h. um Methoden und Werkzeuge für die Entwicklung großer Softwaresysteme und für die Lösung komplexer Programmieraufgaben. Im Laufe der 1950/60-er Jahre waren Umfang und Komplexität von Programmieraufgaben dramatisch angewachsen. Man begann, von der "Software-Krise" zu sprechen. In den 1970-er Jahren stellten DeRemer und Kron die wesentlichen Charakteristika von "kleinen" und "großen" Programmieraufgaben grundsätzlich einander gegenüber und leisteten damit einen Beitrag zum Selbstverständnis der entstehenden Softwaretechnik. Taentzer Einführung in die Softwaretechnik 14

15 Programmieren im Kleinen/ im Großen: Unterschiede Die folgende Tabelle zeigt einige charakteristische Unterschiede von Programmierprojekten im Kleinen bzw. im Großen: LoC: Lines of Code BJ: Bearbeiterjahr(e) Programmieren Softwaresysteme Komponenten/Module Aufwand Dauer Entwickler Projektmanagement Qualitätskontrolle Werkzeuggebrauch im Kleinen klein (<= ca LoC) wenige (<= 3) klein (<= 0,5 BJ) kurz (<= 1/2 Jahr) wenige (<= 3) kaum benötigt (selbstorganisierend) spontan, nach Bedarf vereinzelt, isoliert im Großen groß (> ca LoC) viele (> 10) groß (> 2 BJ) lang (> 1 Jahr) viele (> 10) notwendig: Planung, Synchronisation, Kontrolle etc. systematisch, geplant unentbehrlich, integriert Taentzer Einführung in die Softwaretechnik 15

16 Softwaretechnik als Ingenieurdisziplin Als Ursachen der Software-Krise wurden seinerzeit u.a. erkannt: - unsystematisches, "künstlerisches" Programmieren, - fehlende oder unzureichende Zielsetzung, Planung, (Gesamt)Konzeption, - isolierte Arbeitsweise, individualistische Lösungen. Software Engineering versteht sich ausdrücklich als Ingenieursdisziplin. Damit möchte man u.a. erreichen: - überschaubare Projekt-, System- und Programmstrukturen, - systematisches, geplantes und kontrolliertes Vorgehen, - ökonomischen und effizienten Einsatz der Ressourcen (Menschen und Arbeitsmitteln), - nachvollziehbare und auf Andere übertragbare Dokumentation, - systematische Verfahren und Maßnahmen zur Qualitätssicherung, - flexibles, den Herausforderungen gewachsenes Projektmanagement. Nach heutigem Verständnis sind jedoch neben dem Ingenieursaspekt auch andere Aspekte maßgeblich, insbes. wirtschaftliche und psychologische. Taentzer Einführung in die Softwaretechnik 16

17 Softwareentwicklung: Prinzipielle Schritte Welt der Benutzer Analyse & Definition Installation, Betrieb & Wartung Welt der Modelle Integration, Tests Entwurf Welt der Maschine Der Weg durch die SW-Entwicklung Implementierung Taentzer Einführung in die Softwaretechnik 17

18 Vorgehensmodelle für die Softwareentwicklung

19 Überblick In einem größeren Softwareprojekt ist für einen längeren Zeitraum die Arbeit einer größeren Gruppe von Entwicklern zu koordinieren. Wie strukturiert man ein Softwareprojekt? Welche Arbeiten müssen koordiniert werden? Welche Vorgehensmodelle gibt es für die Softwareentwicklung? Diskussion anhand von konkreten Softwareprojekten Taentzer Einführung in die Softwaretechnik 19

20 Auftragsprojekt Bewertung der Qualität von Lieferanten Eine größere Softwarefirma wird von einem Kunden aus der Maschinenbaubranche beauftragt, ein neues Softwaresystem zur Bewertung und kontinuierlichen Beobachtung von Lieferanten zu entwickeln. Wesentliche Funktionalität: Bewertung der Termin- und Mengentreue der Lieferanten Management von Eskalationsmaßnahmen mittelgroßes Projekt (ca SW-Entwickler/-innen) Die Kundenseite wird durch eine Firma vertreten. Die Auftragsabwicklung ist in der Hand einer SW-Firma. Ein Legacy-System mit Lieferantendaten ist vorhanden. Die Firma hat die Bewertung bisher auf dem Papierweg erledigt. Taentzer Einführung in die Softwaretechnik 20

21 Auftragsprojekt egovernment Die Bundesregierung schreibt die Entwicklung eines neuen Softwaresystems aus, mit dem es möglich werden soll, Behördengänge elektronisch abzuwickeln. Das System soll bundesweit eingesetzt werden. Wesentliche Funktionalität: vollständig elektronische Abwicklung typischer Behördengänge, wie sie z.b. im KfZ-Wesen, Rentenwesen, etc. auftreten sehr großes Projekt (20-30 Einzelprojekte pro Jahr) Die Kundenseite wird durch die Bundesregierung vertreten. Die Auftragsabwicklung ist zweigeteilt: Anforderungsspezifikation Ausschreibung für die Realisierung der Software Die Ämter haben bisher einen kombinierten Arbeitsprozess. Anträge und Benachrichtigungen in Papierform Bearbeitung und Verwaltung in einem älteren System Taentzer Einführung in die Softwaretechnik 21

22 Open-Source-Entwicklung im Kontext von Eclipse Die Eclipse Cooperation startet verschiedene Eclipse-Projekte, in denen Entwicklungswerkzeuge für Softwareentwickler/-innen realisiert werden. Plugin-Entwicklung: stark komponentenorientiert Entwicklung einzelner Plugins: kleine bis mittlere Projekte z.b. Entwicklung der Java Development Tools kein konkreter Auftrag, sondern Anforderungen und Wünsche von beteiligten SW-Firmen und Benutzern extrem verteilte SW-Entwicklung Nutzer werden teilweise zu Entwicklern, indem sie testen kleinere Fehler selbst beseitigen Taentzer Einführung in die Softwaretechnik 22

23 Entwicklung eines neuen Computerspiels Eine kleinere Firma entwickelt ein neues Computerspiel, in dem mehrere Spieler auch verteilt spielen können. Wesentliche Funktionalität wird im Game-Design beschrieben: Konzepte der Spielvision, Spielwelt, Regeln und Charaktere mittelgroßes Projekt (ca SW-Entwickler/-innen) Produktentwicklung: Kein direkter Kunde, sondern viele Käufer. Erstellung eines Prototypen, mit dem sich schon früh ein Eindruck vom späteren Spiel gewinnen lässt. Eine erste spielbare Version des neuen Computerspiels wird Alpha- Version genannt. Eine für das erste Release vorgeschlagene Version wird Beta-Version genannt. Diese werden von professionellen Spieletestern auf Fehler geprüft. Taentzer Einführung in die Softwaretechnik 23

24 Wie können Softwareprojekte systematisch entwickelt werden? Taentzer Einführung in die Softwaretechnik 24

25 System Requirements Validation Software Requirements Validation Wasserfallmodell von B. BOEHM Preliminary Design nach [Boe81] Validation Detailed Design Validation Code and Debug Developm. Test Test and PreOperations Validation Test Operations + Maintenance Revalidation Taentzer Einführung in die Softwaretechnik 25

26 Software-Lebenszyklus im V-Modell Probleme beschreiben Modell(e) entwickeln konkret Abstraktion (Problem) reale Welt installieren Ziel pflegen warten testen (Abn.-Test) Modell(e) beschreiben abstrakt Modell informal spez. konstr. spez. Maschine Ideen Prosa Pseudo- Code konstr. konkret formal spez. cod. Abstraktion (Masch.) formal testen Beschreibungsform Überprüfungsform informal Code Beweis Stichprobe Begutachtung Glaube Taentzer Einführung in die Softwaretechnik 26 mont. Ausgangspunkt Probleme erkennen, bewerten debug. mont. testen testen

27 Inkrementelle Systementwicklung Ein Inkrement ist ein Software-Baustein bzw. eine Menge von Bausteinen, der (die) zu einem existierenden System oder Subsystem hinzugefügt wird, um dessen Funktionalität oder Leistung zu vergrößern oder zu verändern. Ein Inkrement kann muss aber nicht -- ein Subsystem, d.h. eine für sich allein genommen lauffähige Einheit, sein. Inkrementelle Systementwicklung bedeutet, mit einem (i.a. relativ kleinen) Kernsystem zu beginnen und diesen Kern schrittweise zu erweitern, bis die gewünschte Funktionalität erreicht ist. I4 I2 I3 I2 I3 I2 Inkremente I1 I1 I1 I1 Taentzer Einführung in die Softwaretechnik 27

28 Vor- und Nachteile der inkrementellen Entwicklung Vorteile: schneller lauffähige Software Flexibler gegenüber sich ändernden Anforderungen mehr Feedback vom Kunden möglich Risiken können leichter gemanagt werden, da sie früher erkannt werden. Nachteile: Die Projekte brauchen mehr Planung und Design, damit sie erfolgreich abgeschlossen werden können. Voraussetzung ist ein klares und vollständiges Verständnis vom System, damit es vom Kern her inkrementell aufgebaut werden kann. Taentzer Einführung in die Softwaretechnik 28

29 Unified Process (Anfang) (Vertiefung ) (Konstruktion) (Inbetriebnahme) (Geschäftsprozessmodellierung) (Softwareverteilung) Kern- Arbeitsschritte Unterstützende Arbeitsschritte Quelle: IBM - Rational Taentzer Einführung in die Softwaretechnik 29

30 Prozessphasen 1. Anfang (inception): grundlegender Umfang des Projekts ist bekannt, endet mit der Zusage des Auftraggebenden 2. Vertiefung (elaboration): Endet mit Grundlegender Systemarchitektur Konstruktionsplan Identifizierten Risiken 3. Konstruktion (construction): iterativ, die längste Phase, endet mit Beta- Release 4. Inbetriebnahme (transition): Einführung des Systems beim Anwender Taentzer Einführung in die Softwaretechnik 30

31 Unified Process ( UP ) Iterativ und inkrementell: Die Phasen sind zeitlich geordnet. Die Iterationen beschreiben verschiedene Abschnitte innerhalb einer Phase. Die Disziplinen beschreiben die Aktivitäten im Prozess. Der Prozess ist klar strukturiert. Der Prozess ist anwendungsfallgetrieben. Wichtige Anwendungsfälle werden zuerst behandelt. Der Prozess ist auf die Softwarearchitektur zentriert. Risiko-fokussiert: Risiken sollen frühzeitig identifiziert werden. Während des Projekts werden viele Softwareartefakte erzeugt: z.b.: Anforderungsspezifikation, Modelle, Projektpläne, Risikoabschätzungen, Code, Tests, Dokumentationen Parallel zur UML von Ivar Jacobson, Grady Booch und James Rumbaugh entwickelt Rational UP als Implementierung (aktuell: Ver. 9) Taentzer Einführung in die Softwaretechnik 31

32 Agile Softwareentwicklung ist ein relativ neuer Ansatz, mit dem man versucht, nach wie vor bestehende Probleme bei der SW-Entwicklung zu lösen. Diese sieht man vorrangig im Spannungsfeld zwischen Qualität, Kosten und Zeit in ungenauen Kundenwünschen und instabilen Anforderungen, in langen Entwicklungszeiten und überzogenen Terminen, in unzureichender Qualität. Taentzer Einführung in die Softwaretechnik 32

33 Manifest der agilen Softwareentwicklung Im "Manifest der agilen SW-Entwicklung" werden u.a. neue Prioritäten gefordert (vgl. [Coc 02]:) - Menschen und Kooperation - vor Werkzeugen und (automatisierten) Prozessen, - funktionsfähige Software - vor umfassender Dokumentation - Zusammenarbeit mit Kunden - vor bürokratischen Vertragsverhandlungen - dynamische Reaktion auf Veränderungen - vor statischer Planeinhaltung Taentzer Einführung in die Softwaretechnik 33

34 Wesentliche agile Praktiken testgetriebene Entwicklung Die wesentliche Testart sind automatisch durchführbare Tests. Diese Tests werden von den Entwicklern geschrieben. Schreib erst die Tests und dann den Code. Schreib nicht mehr Code als nötig ist, um die Tests zu bestehen. ständige Refaktorisierungen Refactoring ist die strukturelle Verbesserung von Programmcode unter Beibehaltung des beobachtbaren Programmverhaltens. Refactoring soll den Code hinsichtlich Lesbarkeit, Wartbarkeit, Erweiterbarkeit und Testbarkeit verbessern. Nach einem Refactoring muss das Programm wieder getestet werden. Taentzer Einführung in die Softwaretechnik 34

35 Extreme Programming Extreme Programming (XP) - Einige Grundsätze (vgl. [Bec 99]): Wenig Analyse- und Entwurfstätigkeiten, nur rudimentäre Spezifikationen, selbstdokumentierender Code ("simple design") Frühes Programmieren, prototypisches Umsetzen einzelner "stories" Testfälle stehen am Anfang und ersetzen Spezifikation ("test first") Ständige Kommunikation der Entwickler mit Management und Benutzern, kurze Rückkopplungsschleifen, schnelle Rückmeldungen Schrittweise Änderungen, schrittweise angepasste Tests ("refactoring"), fortlaufende Integration ("continuous integration") Fahrer-/Beifahrer-Prinzip beim Programmieren ("Pair programming") Gemeinsame Standards aller Entwickler, gemeinsames Eigentum am Code ("collective code ownership") leicht lesbarer, gut strukturierter Code (viele Code Reviews) Beispiele für weitere "agile" Methoden: Adaptive SW development, SCRUM, Crystal, Feature driven development Taentzer Einführung in die Softwaretechnik 35

36 Vorteile: Vor- und Nachteile der agilen Praktiken sehr schnell lauffähige Software typischerweise gut getestet gut lesbarer Code Nachteile: Der ideale Kunde und die ideale Entwicklerin werden vorausgesetzt. Im Laufe der Zeit unklareres Design der Software: Eine Architekturänderung kann ggf. teurer als eine Neuimplementierung sein. Schwer testbare Komponenten werden ggf. zu wenig getestet. zu bewegliche Anforderungen beschränkte Team- und Projektgrößen nicht für Festpreisprojekte geeignet Taentzer Einführung in die Softwaretechnik 36

37 Zusammenfassung Softwaretechnik (engl.: Software Engineering) gibt es seit ca als eigenständiges Fachgebiet der Informatik, wurde unter dem Namen Software Engineering als Antwort aus die damals konstatierte Software-Krise begründet, beschäftigt sich mit der Erstellung großer Softwaresysteme hat formale, ingenieurmäßige, technische, gestalterische und ökonomische Aspekte, gliedert sich in die Teilbereiche: Entwicklung und Anwendung, Projektmanagement und Qualitätssicherung. Taentzer Einführung in die Softwaretechnik 37

38 Zusammenfassung kontinuierliche Entwicklung des Softwareentwicklungsmodells vom Wasserfallmodell zu iterativer Entwicklung Trend zu...kürzeren Entwicklungszyklen...systematischeren Entwicklungsschritten...systematischerer Qualitätssicherung Die Auswahl eines konkreten Entwicklungsprozesses hängt von der Art des Softwareprojekts ab. Taentzer Einführung in die Softwaretechnik 38

39 Literatur Ältere Prozessmodelle: Barry W. Boehm, Software Engineering Economics, Englewood Cliffs, NJ : Prentice-Hall, 1981 Unified Process: Kruchten: Der Rational Unified Process, Addison Wesley, 1999 Zuser, Grechenig, Köhle: Software Engineering mit UML und dem Unified Process, Pearson Studium, München, 2004 Agile Softwareentwicklung: A. Cockburn. Agile Software Development. Addison Wesley 2002 Extremes Programmieren: K. Beck: Extreme Programming explained: Embrace change. Addison- Wesley 1999 Taentzer Einführung in die Softwaretechnik 39

Einführung in die Softwaretechnik 9. Softwareprozesse

Einführung in die Softwaretechnik 9. Softwareprozesse 9. Softwareprozesse Klaus Ostermann (Mit Folien von Christian Kästner, Gabriele Taentzer und Wolfgang Hesse) 1 Agenda Wie kommt man vom Kundenwunsch zur fertigen Software? Wie strukturiert man ein Softwareprojekt?

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile 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

Mehr

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

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003 Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen

Mehr

extreme 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?

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess 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

Mehr

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

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Grundlagen Software Engineering

Grundlagen 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

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

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

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1996 Philippe Kruchten: Rational Unified Process Produkt der Firma Seit 2002 Teil des IBM Konzerns Objektorientiertes

Mehr

Software Systems Engineering

Software Systems Engineering Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend

Mehr

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

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Software-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2015

Software-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2015 Software-Praktikum Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2015 Überblick Was ist das Ziel des Praktikums? Wie wird das Praktikum durchgeführt? Was wird bewertet? Taentzer Software-Praktikum

Mehr

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

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

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

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

Mehr

Agile Software Development

Agile Software Development Dipl. Wirtsch. Ing. Alexander Werth Methoden der Softwareentwicklung 6-1 Agile Manifest Individuen und Interaktion statt Prozessen und Tools. Funktionierende Software statt umfangreicher Dokumentation.

Mehr

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile 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

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Software-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2013

Software-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2013 Software-Praktikum Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2013 Überblick Was ist das Ziel des Praktikums? Wie wird das Praktikum durchgeführt? Was wird bewertet? Welchen Softwareentwicklungsprozess

Mehr

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter 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

Mehr

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

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

Mehr

Einführung in die Softwaretechnik 1. Einführung und Begriffe

Einführung in die Softwaretechnik 1. Einführung und Begriffe 1. Einführung und Begriffe Klaus Ostermann 1 Agenda Organisatorisches, Tutorien Begriffsklärung: Softwaretechnik Aufbau der Vorlesung 2 Organisatorisches 3 Organisation der LV Umfang: 4 SWS, 6 ECTS Punkte

Mehr

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

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

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Übungsaufgaben zum Software Engineering: Management

Übungsaufgaben zum Software Engineering: Management Übungsaufgaben zum Software Engineering: Management Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

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

Mehr

WSR 2004. Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter

WSR 2004. Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter WSR 2004 Softwarewartung und Prozessmodelle in Theorie und Praxis Urs Kuhlmann Andreas Winter Universität Koblenz-Landau 1 Gliederung Wartungsbegriff Prozessmodelle Fallstudien Problembereiche Fazit 2

Mehr

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. SOFTWARETECHNIK Kapitel 7 Vorgehensmodelle Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann Inhalt Vorgehensmodelle Sequenzielle Modelle Iterative

Mehr

Agile Softwareentwicklung

Agile Softwareentwicklung Agile Softwareentwicklung Werte, Konzepte und Methoden von Wolf-Gideon Bleek, Henning Wolf 2., aktualisierte und erweiterte Auflage Agile Softwareentwicklung Bleek / Wolf schnell und portofrei erhältlich

Mehr

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

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

Mehr

Übungsklausur vom 7. Dez. 2007

Ü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

Mehr

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

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Vorausgesetzte Kenntnisse Allgemeine Kenntnisse aus dem Bereich der Softwareentwicklung - Programmierkenntnisse (Java, C) - Beherrschung der notwendigen

Mehr

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter: Gabriele Taentzer, Daniel Strüber Kontakt:

Mehr

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

Mehr

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

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management

Mehr

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

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 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

Mehr

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

Informationssystemanalyse 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

Mehr

Das Wasserfallmodell - Überblick

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

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

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

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer Modulbeschreibung Programmierung II / Software Engineering II Modulname Programmierung II / Software Engineering II Modulnummer -1.2 Inhalt Programmierung II Software Engineering II Grundlagen der objektorientierten

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Konsolidierung und Neuimplementierung von VIT Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Inhaltsverzeichnis 1 Was ist der Kontext?... 1 2 VIT: Ein sehr erfolgreiches

Mehr

Individuelles Bachelorstudium. Software Engineering for Physics

Individuelles Bachelorstudium. Software Engineering for Physics Individuelles Bachelorstudium Software Engineering for Physics 1 Qualifikationsprofil Das individuelle Bachelorstudium Software Engineering for Physics vermittelt eine breite, praktische und theoretische

Mehr

Übung Einführung in die Softwaretechnik

Ü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

Mehr

Prozess-Modelle für die Softwareentwicklung

Prozess-Modelle für die Softwareentwicklung Prozess-Modelle für die Softwareentwicklung Prof. Dr. Andreas Spillner Institut für Informatik und Automation Hochschule Bremen Übersicht Softwareentwicklungs-Modelle Wasserfall-Modell Vorgehensmodell

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

Mehr

Anforderungen an Informatikabsolventen Beitrag zum Workshop "Bachelor / Master im Informatikstudium und im Beruf" 26.-27. März 2003, HAW Hamburg

Anforderungen an Informatikabsolventen Beitrag zum Workshop Bachelor / Master im Informatikstudium und im Beruf 26.-27. März 2003, HAW Hamburg Innovative Anwendungssysteme GmbH Anforderungen an Informatikabsolventen "Bachelor / Master im Informatikstudium und im Beruf" 26.-27. März 2003, HAW Hamburg 21. Februar 2003 Inhaltsverzeichnis 1 Firmenprofil

Mehr

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? 10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? Stefan Roock stefan.roock@akquinet.de Hintergrund 1/2 Senior IT-Berater bei der akquinet AG extreme Programming seit Anfang 1999, dann

Mehr

Agile Softwareprozess-Modelle

Agile Softwareprozess-Modelle Agile Softwareprozess-Modelle Steffen Pingel Regionale Fachgruppe IT-Projektmanagement 2003-07-03 Beweglich, Lebhaft, Wendig Was bedeutet Agil? Andere Bezeichnung: Leichtgewichtiger Prozess Manifesto for

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten Outsourcing Advisor Bewerten Sie Ihre Unternehmensanwendungen auf Global Sourcing Eignung, Wirtschaftlichkeit und wählen Sie den idealen Dienstleister aus. OUTSOURCING ADVISOR Der Outsourcing Advisor ist

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung Unified Process Eine Einführung von Hannes Fischer Fischer Software Elfenstr. 64 70567 Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Process Wie wird heute gearbeitet? Der Unified Process

Mehr

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative 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

Mehr

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

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen White Paper Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen Die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen

Mehr

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München Informatik 1 Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München 1 0 Allgemeines Zielgruppen Siehe Modulbeschreibung Studierende anderer (nicht Informatik)

Mehr

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006 3. Vorgehensmodelle Software Engineering Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006 Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen

Mehr

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT SWT II Projekt Chat - Anwendung Pflichtenheft 2000 SWT i Versionen Datum Version Beschreibung Autor 3.11.2000 1.0 erste Version Dietmar Matthes ii Inhaltsverzeichnis 1. ZWECK... 1 1.1. RAHMEN... 1 1.2.

Mehr

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013 Softwarequalität: Zusammenfassung und Ausblick 17. Juli 2013 Überblick Rückblick: Qualitätskriterien Qualitätsmanagement Qualitätssicherungsmaßnahmen Thesen zur Softwarequalität Ausblick: Lehrveranstaltungen

Mehr

ZuuL - Entwicklung eines Adventures

ZuuL - Entwicklung eines Adventures ZuuL - Entwicklung eines Adventures im Rahmen der Uni-Tage 2009 Team 120 Universität Hamburg 16./17. November 2009 Team 120 (Universität Hamburg) ZuuL - Entwicklung eines Adventures 16.11.09 1 / 21 Übersicht

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 2 Grundbegriffe

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler

Mehr

Einführung und Motivation

Einführung und Motivation Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.

Mehr

MehrWerte. Das Wipak Web Center DE 2014/03

MehrWerte. Das Wipak Web Center DE 2014/03 MehrWerte Das Wipak Web Center DE 2014/03 DAS Wipak Web Center Druckprojekte einfach online managen Freigaben, Korrekturen, Versionsvergleiche, Farbwerte, Formatangaben, Projekthistorie, Druckbildarchiv

Mehr

Usability Engineering in agilen Projekten

Usability Engineering in agilen Projekten Usability Engineering in agilen Projekten oder Wie entstehen in agilen Projekten gebrauchstaugliche Produkte? Regine Freitag Fraunhofer-Institut für Intelligente Knowledge Discovery Inhalte Usability Engineering

Mehr

Lösungen zum Test objektorientierter Software

Lö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

Mehr

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Software Technik 3 Zusammenfassung

Software Technik 3 Zusammenfassung Software Technik 3 Zusammenfassung Phillip Ghadir Anforderungen REQ1- Prüfungsleistung Die Prüfungsordnung XYZ erfordert das Ablegen einer 90 minütigen, schriftlichen Prüfung über das Fach. Bestanden wird

Mehr

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

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen? Andrea Grass & Dr. Marcus Winteroll oose GmbH Geschäftsprozessmanagement und Agilität geht das zusammen? Agenda I. Wozu eigentlich BPM? II. Vorgehen und Rollen im abpm III. Methoden und Techniken IV. Resümee

Mehr

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage. Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen

Mehr

----------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------- 0 Seite 0 von 20 03.02.2015 1 Ergebnisse der BSO Studie: Trends und Innovationen im Business Performance Management (BPM) bessere Steuerung des Geschäfts durch BPM. Bei dieser BSO Studie wurden 175 CEOs,

Mehr

Am Beispiel Pair-Programming

Am Beispiel Pair-Programming BLENDED-LEARNING Am Beispiel Pair-Programming 1 WAS IST PAIR- PROGRAMMING? Pair-Programming oder Programmieren in Paaren ist eine zentrale Technik aus dem extreme Programming (XP). Zwei Entwickler arbeiten

Mehr

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013!

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013! Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013! Sie wollen alles über agile Softwareentwicklung wissen? Wie können Sie agile Methoden

Mehr

SPI-Seminar : Interview mit einem Softwaremanager

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

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung. StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige

Mehr

Software-Validierung im Testsystem

Software-Validierung im Testsystem Software-Validierung im Testsystem Version 1.3 Einleitung Produktionsabläufe sind in einem Fertigungsbetrieb ohne IT unvorstellbar geworden. Um eine hundertprozentige Verfügbarkeit des Systems zu gewährleisten

Mehr

BDI-Agenten für agile zielorientierte Geschäftsprozesse

BDI-Agenten für agile zielorientierte Geschäftsprozesse BDI-Agenten für agile zielorientierte Geschäftsprozesse Birgit Burmeister 3. Expertenforum Agenten in der Automatisierungstechnik Universität Stuttgart, 29./30. September 2008 Birgit Burmeister / GR/EPF

Mehr

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

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

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

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

ecambria experts IT-Projekte in der Krise Ursachen und Vermeidungsstrategien aus Sicht eines Gerichtssachverständigen

ecambria experts IT-Projekte in der Krise Ursachen und Vermeidungsstrategien aus Sicht eines Gerichtssachverständigen ecambria experts IT Gutachten Schlichtung Beratung IT-Projekte in der Krise Ursachen und Vermeidungsstrategien aus Sicht eines Gerichtssachverständigen Dr. Oliver Stiemerling* Diplom-Informatiker ecambria

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

- Agile Programmierung -

- Agile Programmierung - Fachhochschule Dortmund Fachbereich Informatik SS 2004 Seminar: Komponentenbasierte Softwareentwicklung und Hypermedia Thema: - - Vortrag von Michael Pols Betreut durch: Prof. Dr. Frank Thiesing Übersicht

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software 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

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Leseauszug DGQ-Band 14-26

Leseauszug DGQ-Band 14-26 Leseauszug DGQ-Band 14-26 Einleitung Dieser Band liefert einen Ansatz zur Einführung von Prozessmanagement in kleinen und mittleren Organisationen (KMO) 1. Die Erfolgskriterien für eine Einführung werden

Mehr

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

m.e.d. concept methode erfolg datenverarbeitung V-Modell XT im Überblick 2 V-Modell XT Einführung - Analyse und Roadmap 3 Projektmanagement Kompetenztraining V-Modell XT Das V-Modell XT ist urheberrechtlich geschützt, Bundesrepublik Deutschland, 2004, Alle Rechte vorbehalten m.e.d. concept methode erfolg datenverarbeitung

Mehr