Gabriele Taentzer Philipps-Universität Marburg Wintersemester 2014/15
|
|
- Wilfried Ursler
- vor 8 Jahren
- Abrufe
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
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?
MehrSoftwareentwicklungsprozesse. 18. Oktober 2012
Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:
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. 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
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?
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
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
MehrUniversitä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
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,
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
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
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
MehrSoftware 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
MehrProjektmodell 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:
MehrSoftware-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
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/
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 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.
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
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
MehrProzessbewertung 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
MehrIT-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
MehrSoftware-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
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
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
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?
MehrEinfü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
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
MehrRobot 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 Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie
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
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
MehrWSR 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
MehrSOFTWARETECHNIK. 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
MehrAgile 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
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Ü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
MehrSoftware 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
MehrModellgetriebene 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 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,
MehrTaking 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
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
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
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-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
MehrWirtschaftsingenieurwesen (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
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrKonsolidierung 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
MehrIndividuelles 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
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
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
MehrC++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
MehrAnforderungen 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
Mehr10 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
MehrAgile 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
MehrKlassenentwurf. 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
MehrOUTSOURCING 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
MehrVermeiden 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
MehrDer 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
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
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
MehrWintersemester 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)
Mehr3. 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
MehrSWT 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.
MehrSoftwarequalitä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
MehrZuuL - 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
Mehr10 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
MehrSoftware-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
MehrCopyright 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
MehrAgiles 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
MehrEinfü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.
MehrMehrWerte. 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
MehrUsability 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
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
MehrDas 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
MehrSoftware 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
MehrAndrea 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
MehrIntegration 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
MehrGrundlagen 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)
MehrSoftwareanforderungsanalyse
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,
MehrAm 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
MehrAgilitä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
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
MehrStuPro-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
MehrSoftware-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
MehrBDI-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
MehrBlock 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
MehrRequirements 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
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
Mehrecambria 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
MehrEvaluation 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
Mehr2 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 -
Fachhochschule Dortmund Fachbereich Informatik SS 2004 Seminar: Komponentenbasierte Softwareentwicklung und Hypermedia Thema: - - Vortrag von Michael Pols Betreut durch: Prof. Dr. Frank Thiesing Übersicht
MehrInternet 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
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
MehrDie 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
MehrLeseauszug 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
Mehrm.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