Web Site Engineering in der Theorie
|
|
- Bernt Hofer
- vor 8 Jahren
- Abrufe
Transkript
1 Web Site Engineering in der Theorie
2 Entwicklung, Pflege und Einsatz qualitativ hochwertiger Software unter Einsatz von wissenschaftlichen Methoden, wirtschaftlichen Prinzipien, geplanten Vorgehensmodellen, Werkzeugen und quantifizierbaren Zielen [nach Kahlbrandt] 9/2
3 On June 4, 1996, on its maiden flight, the Ariane- 5 was launched and performed perfectly for approximately 40 seconds. Then it began to veer off course. At the direction of the Ariane ground controller, the rocket was destroyed by remote control. total cost of the disaster was $500 million. [Pfleeger: Software Engineering - Theory and Practice, S. 37] Fehler: Real-Integer-Konvertierung Viele Fehler sind Software-Fehler 9/3
4 Ausgangspunkt Zunehmende Komplexität bei Programmsystemen in den 60er Jahren Keine geeigneten (Programmier-)Sprachen Methoden/Vorgehensweisen Werkzeuge Folgen Kontinuierlicher Anstieg der Software-Kosten Scheitern vieler Softwareentwicklungsprojekte Ingenieurwissenschaft und wohldefinierte Vorgehensweisen statt kreativer Kunst 9/4
5 Kommunikationsprobleme mit dem Anwender Immaterielle Natur von Software, fehlende begrenzte physikalische Gesetze schwierige Modellbildung Leichte Modifizierbarkeit von Software Änderung der Anforderungen während Entwicklungszeit Alterung ohne Verschleiß Portabilitätsprobleme Explosion der Variantenvielfalt Verknüpfung mit bestehenden Arbeitsabläufen Akzeptanz Mangel an Standards, Methoden und Werkzeugen 9/5
6 Effiziente Entwicklung von messbar qualitativ hochwertiger Software Korrektheit und Zuverlässigkeit Robustheit Effizienz (bzgl. Ressourcen) Benutzerfreundlichkeit Wartbarkeit und Wiederverwendbarkeit Qualitätsfaktoren Extern (für den Benutzer sichtbar) Intern (nur für den Entwickler sichtbar) 9/6
7 Voraussetzung für den sinnvollen Einsatz von Notationen und Werkzeugen zur Softwareentwicklung ist ein Vorgehensmodell, das den Gesamtprozess der Softwareerstellung und -pflege in einzelne Schritte aufteilt und die Verantwortlichkeiten der beteiligten Personen (Rollen) klar regelt. 9/7
8 Code-and-Fix - Zyklus Klassisches Wasserfallmodell Wasserfallmodell mit Zyklen Rapid Prototyping Transformationsansatz Rational Unified Process (RUP)... 9/8
9 Vorgehensweise für kleine Projekte und Übungsaufgaben: Code schreiben und übersetzen Code testen bzw. debuggen Code verbessern (Fehlerbeseitigung, Erweiterung, Effizienzsteigerung, ) Schleifen Probleme Abnehmende Wartbarkeit und Zuverlässigkeit Starke Abhängigkeit vom einzelnen Programmierer Meinungsverschiedenheiten über erwarteten/ realisierten Funktionsumfang zwischen Entwickler und Anwender 9/9
10 Machbarkeitsstudie Anforderungsanalyse Systementwurf Codierung und Modultest Integrations- und Systemtest Auslieferung und Installation Wartung 9/10
11 Aufgaben Problembeschreibung Erarbeitung verschiedener Lösungsansätze Kosten- und Ertragsschätzung der geplanten Softwareentwicklung Angebotserstellung Ergebnisse Lastenheft Projektkalkulation Projektplan Angebot an Auftraggeber 9/11
12 Verfahren Richtlinien für Lastenhefte Erstellungsrichtlinien Schätzverfahren Faustregeln Projektpläne und Projektorganisation für Terminund Ressourcenplanung 9/12
13 Engineering) (Requirements Festlegung, was die Software leisten soll, nicht wie diese Leistungsmerkmale erreicht werden. Aufgaben Festlegung der Systemeigenschaften wie Funktionalität, Leistung, Benutzungsschnittstelle, Portierbarkeit, Bestimmung von Testfällen Festlegung erforderlicher Dokumentationsdokumente Ergebnisse Pflichtenheft = Anforderungsanalysedokument Akzeptanztestplan Benutzungshandbuch 9/13
14 (System Design) Festlegung, wie die Funktionen der Software zu realisieren sind Bauplan der Software und der Softwarearchitektur Aufgaben Programmieren im Großen = Entwicklung eines Bauplans Grobentwurf, Zerlegung des Systems in Teilsysteme/ Module Auswahl bereits existierender Softwarebibliotheken, Frameworks, Feinentwurf für Modulschnittstellen und Algorithmen Ergebnisse Entwurfsdokument mit Softwarebauplan Detaillierte Testpläne 9/14
15 Programmierung und Modultest Implementierungs- und Testphase: Realisierung und Validierung einzelner Module Aufgaben Programmieren- im- Kleinen = Implementierung einzelner Module Einhaltung von Programmierrichtlinien Code-Inspektionen kritischer Modulteile Test der erstellten Module Ergebnisse Menge realisierter Module Implementierungsberichte (Abweichungen vom Entwurf, Zeitplan, ) Technische Dokumentation einzelner Module Testprotokolle 9/15
16 Integration einzelner Module zum Gesamtsystem Aufgaben Systemintegration = Zusammenbau der Module Gesamtsystemtest durch Entwicklungsorganisation Fertigstellung der Dokumentation Ergebnisse Fertiges System Benutzerhandbuch Technische Dokumentation Testprotokolle 9/16
17 Inbetriebnahme der Software beim Kunden findet häufig in zwei Phasen statt Aufgaben 1. Auslieferung an ausgewählte Benutzer 2. Auslieferung an alle Benutzer 3. Schulung der Benutzer Ergebnisse fertiges System Akzeptanztestdokument 9/17
18 (Maintenance) Softwarewartung macht ca. 60% der gesamten Softwarekosten aus Aufgaben Fehlerbehebung (corrective maintenance) Anpassungen (adaptive maintenance) Verbesserungen (perfective maintenance) Ergebnisse Softwareproblemberichte (bug reports) Softwareänderungsvorschläge neue Softwareversionen 9/18
19 Nur ungenaue Kosten- und Ressourcenschätzungen zu Projektbeginn Pflichtenheft vs. Umgang mit dem (spät) fertigen System (Risikomaximierung) Fehlende Anforderungen für das Pflichtenheft zu Projektbeginn Frühes Einfrieren der Anforderungen, notwendiger Wandel (aufgrund organisatorischer, politischer, technischer, Änderungen) Unrealistisch strikte Phaseneinteilung (notwendige Rückgriffe) Wartung ca. 60% des Gesamtaufwandes 9/19
20 Naheliegendste Idee zur Verbesserung des Wasserfallmodells: Einführung von Zyklen bzw. Rückgriffen, Wiederaufnehmen früherer Phasen bei Problemen Modell wird komplexer und teurer! 9/20
21 9/21
22 Vorteile Rasche Entwicklung eines (durch Kunden) evaluierbaren Prototyps Keine vollständige Festlegung von Kosten und Leistungsumfang des gesamten Softwaresystems zu Beginn des Projekts Vereinfachte Projektplanung durch überschaubarere Teilprojekte Probleme Erweiterbarkeit der Systemarchitektur (Bindung an Prototyp) Hinfälligkeit bereits realisierter Funktionen Endresultat wie nach 10 Jahren Wartung 9/22
23 (Throw- Away- Prototyping) Realisierung und Vorführung eines Prototyps des Systems (seiner Benutzeroberfläche) mit Generatoren, ausführbaren Spezifikationssprachen, Skriptsprachen etc. Vorteile Schnelle Klärung der Funktionalität und Risikominimierung Vermeidung von Missverständnissen zwischen Entwickler und Auftraggeber Früher Test der Benutzerschnittstelle Nachteile Gefahr der Weiterverwendung des Prototypen (ungeplantes evolutionäres Modell) ggf. erheblicher Mehraufwand 9/23
24 Formale Spezifikation der Aufgabenstellung (z. B. algebraische Spezifikation) Transformation in kleinen semantikerhaltenden Schritten in effiziente Implementierung Vorteile Rapid Prototype ggf. als Zwischenprodukt präzise und nachweisbar konsistente Anforderungen Beweisbarkeit der Eigenschaften des Systems Nachteile Auftraggeber (Auftragnehmer) versteht formale Spezifikationen nicht nicht alle Anforderungen werden so erfasst (Benutzeroberfläche, ) für große Systeme kaum durchführbar 9/24
25 Rational Unified Process Basiert auf Standard- OO-Modellierungssprache UML und des zugehörigen Vorgehensmodells Bestandteile Verschiedene Generationen Generationen bestehen aus Phasen mit Iterationen Inception (Vorbereitung) Elaboration (Entwurf) Construction (Konstruktion) Transition (Einführung) 9/25
26 Modellbasiert Prozessorientiert Iterativ und inkrementell Risikobewusst Zyklisch Ergebnisorientiert Rational Unified Process 9/26
27 Process Faustregeln für die Ausgestaltung eines Entwicklungsprozesses Rational Unified Rollenbasierte Softwareentwicklung und Arbeitsbereiche Projekte funktionieren, wenn die richtigen Personen unter Verwendung geeigneter Sprachen, Methoden und Werkzeuge kooperieren Zuweisung von Rollen an Personen klärt Verantwortlichkeiten und Kompetenzen 9/27
28 Vorteile Rational Unified Process Standardisierungsvorschlag und kommerzielles Produkt Eigene Managersicht Feinere aktivitätsorientierte Sicht für Entwickler Nachteile Komplexes, noch stark in Veränderung befindliches Vorgehensmodell Qualitätssicherung nicht integriert 9/28
29 Daten- und Verhaltensmodellierung mit UML- Objekt- und Klassendiagrammen Fließender Übergang von der Analyse zum Entwurf Verwendung von Entwurfsmustern Modellierung von Softwarearchitekturen mit UML Übergang vom Entwurf zur Implementierung Versuch der Generierung 9/29
30 Statisch Plain HTML mit Links HTML mit Formularen Dynamisch Datenbankzugriff Generiert Web-basierte SW-Applikationen 9/30
31 9/31
32 Korrektheit Anforderungen an Well-Engineered Web Sites Funktionalität Formal schwer nachweisbar, deshalb pragmatisch Testbarkeit ( spezielle VORL) Funktionalität Benutzbarkeit Benutzerakzeptanz Wartbarkeit ( spezielle VORL) Änderungen leicht durchführbar Bis zu 75% der Entwicklungskosten (!) 9/32
33 Anforderungen an Well-Engineered Web Sites (II) Portierbarkeit/Skalierbarkeit Client Server Wiederbenutzbarkeit Standardanforderung an SW Kern übersteht Oberflächen-Änderungen Robustheit/Verlässlichkeit Implementation Übermittlung ( Medium, s. HW-VORL) 9/33
34 Anforderungen an Well-Engineered Web Sites (III) Effizienz Implementation Übermittlung ( Medium, s. HW-VORL) Lesbarkeit: Source-Code Kommentare Formatierung Sprechende Namen Dokumentation History Help Files Präsentation: Effizienz vs. Qualität 9/34
35 Unsichtbarkeit mangelnde Transparenz Need for speed unrealistische Termine Inkrementelle Entwicklung Ständiger Wechsel im Softwarebereich Generelle Trends Verschiedene Komplexitätsstufen Ziel und Ausrichtung entscheidend Von Dokumenten zu Software Einsatz von SW-Engineering-Methoden 9/35
36 1. RAD (Rapid Application Development): Rapid prototyping 2. Wasserfall 3. Whirlpool: Modifizierter Wasserfall 4. JAD (Joint Application Development): Evolutionary prototyping 5. Spirale NB: Unterscheide Kunde und Benutzer! 9/36
37 Charakteristika Quick and dirty / implement and test Schnell, aber hochriskant Feuerwehr-Prinzip / Reiz-Reaktions-Schema Kein formaler Entwicklungsprozess Häufig genutztes Verfahren bei Web Sites Web-Krise ähnlich Software-Krise Besser formale Prozessmodelle 9/37
38 9/38
39 Unzureichende Modellierung der WWW-Entwicklung Rückkehr zu früheren Stufen schwierig Überlappung von Stufen nicht vorgesehen Aber: Entwicklungsschritte bei Web Sites überlappen und wiederholen sich Detaillierte Planung: Mangelnde Flexibilität Schwierigkeiten bei Unsicherheit in der Planung Unerfahrenheit der Web Site Designer Verwendung der Stufen lediglich als Meilensteine 9/39
40 9/40
41 Überlappung der Prozess-Schritte Vorbereitung zum Wasserfall Planung und RAS Risikoreduktion durch Iteration Anfangsprojekte 9/41
42 1.Gespräch Entwickler-Kunde Requirements 2.Kunde testet Prototypen Kunde schlägt ggf. Änderungen vor Falls OK: Release der fertigen SW 3.Entwickler liefert neuen Prototypen; zurück zu 2. 9/42
43 Vorteile Feedback statt big bang beim Release Einsatz in der Entwicklung von Intranet-Sites (Kommunikation entscheidend!) Nachteile Kunde und Benutzer als Beta-Tester Mangelnde Akzeptanz Ablenkung durch Inkompetenz Abschluss des Projekts schwer festzulegen Empfehlenswert für erfahrene Web-Designer 9/43
44 9/44
45 Flexibilität in den Wasserfall integrieren Kritische Aspekte zuerst klären Subprojekte definieren Inkrementell entwickeln Auf weniger wichtige Teilaspekte im weiteren Verlauf zurückkommen 9/45
46 Komplex Grenzen zwischen Stufen fließend Kostenvorhersage schwierig Ungeeignet für Anfangsprojekte Übernahme bestehender Sites Anwendbar v.a. bei Planung und Wartung 9/46
47 Dokument-Orientierung Statische Sites behalten weiterhin ihre Daseinsberechtigung Kein SW-Engineering nötig Look & Feel Marketing-Aspekte: Kundennutzen Benutzer-Akzeptanz Inhalte Daten mit Design entwickeln Content Creation & Management 9/47
48 Medium (s. HW-VORL) Verschieden stark strukturierte Herangehensweise für unterschiedliche Teile des Entwicklungszyklus entspr. Inhalt Strukturierung Zielsetzung 9/48
49 Personal Kommunikation Kunde-Benutzer-Entwickler Unrealistische Erwartungen/Versprechungen Identifikation von Kunden und Managern mit Projekt Theorie und Praxis: Plan vs. Umsetzung SW-Engineering-Modelle und Realität Terminpläne (Wettbewerb!) Feature creep : Addition ex tempore Technologie-Adaption: Ständig neue Software 9/49
50 Thomas A. Powell, Web Site Engineering. Prentice Hall 1998 I. Sommerville, Software Engineering, Addison-Wesley H. Balzert: Lehrbuch der Softwaretechnik (Band 1): Software- Entwicklung, Spektrum Akademischer Verlag (1996), 1009 Seiten C. Ghezzi, M. Jazayeri, D. Mandrioli: Fundamentals of Software Engineering, Prentice Hall (1991) S. L. Pfleeger: Software Engineering - Theory and Practice, Prentice Hall (1998) B. Kahlbrandt: Software- Engineering: Objektorientierte Software- Entwicklung mit der Unified Modeling Language, Springer Verlag (1998), G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide, Addison Wesley G. Snelting u. A. Zeller, TU Braunschweig: Einführung in Software Engineering, Software Engineering, Prof. Dr. Andy Schürr, 9/50
Probleme bei der Erstellung von Software Ziele von Software Engineering
Software Engineering : Definition Software Engineering Web Site Engineering in der Theorie: Der 4. Streich Entwicklung, Pflege und Einsatz qualitativ hochwertiger Software unter Einsatz von wissenschaftlichen
MehrVorgehensmodelle: Motivation. Vorgehensmodelle: Beispiele. Wasserfallmodell. Code-and-Fix - Zyklus. Machbarkeitsstudie (2) Machbarkeitsstudie
Software Engineering: Definition Software Engineering Web Site Engineering in der Theorie Web Site Engineering, Vorlesung Nr. 7 Entwicklung, Pflege und Einsatz qualitativ hochwertiger Software mit wissenschaftlichen
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,
MehrSoftware Engineering. Web Site Engineering in der Theorie. Web Site Engineering, Vorlesung Nr. 7
Software Engineering Web Site Engineering in der Theorie Web Site Engineering, Vorlesung Nr. 7 Software Engineering: Definition Entwicklung, Pflege und Einsatz qualitativ hochwertiger Software mit wissenschaftlichen
MehrWeb (Site) Engineering (WebSE)
Software Engineering : Einführung Web (Site) Engineering (WebSE) Vorlesung 8: Software Engineering () B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 13.12.2005 Software
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
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
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
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
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se
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
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
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/
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
MehrEinführung in die Informatik
Einführung in die Informatik Softwareentwicklung Probleme bei großer Software Life-Cycle-Modelle Teilphasen eines Software-Projekts Methoden und Werkzeuge 01101101 01011001 11010011 10011000 00000011 00011100
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
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 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
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
MehrEs war einmal... "StudyING: Welten bewegen - Welten gestalten"
Computer, generiere! Christian Schröder Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld christian.schroeder@fh-bielefeld.de Es war einmal... Es war einmal... ein Bauvorhaben!
MehrWas versteht man unter einem Softwareentwicklungsmodell?
Softwareentwicklung Was versteht man unter einem Softwareentwicklungsmodell? Ein Softwareentwicklungsmodell ist ein für die Softwareentwicklung angepasstes Vorgehensmodell bei der professionellen ( ingenieursmäßigen
MehrSoftware-Lebenszyklus
Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung
MehrSoftware- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell
1. Vorgehensmodelle Software- Entwicklungsaktivitäten und Vorgehensmodelle a) Lebenszyklusmodell (Life- Cycle- Modell) b) V- Modell c) Wasserfallmodell d) Modifiziertes Wasserfallmodell e) Iterative Modelle
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
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
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
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von
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
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
MehrVortrag von: Ilias Agorakis & Robert Roginer
MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile
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
Mehr,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!
*+*+ *,$ -.! / -#$%$. #$%'' $ () "+0 *+*+ 4 *+*+ 1 2$ #$%$! 1 2$3 )! 1 *+*+ $& #$%'!' '!' 5 1! 1 4$5%! 1 63$ 1 $7$! 1 3! 1 77 8'7 1 /!$' 1 83% *+*+ 0 #$%'' '' #$%'' ''$' )%! $' #$% 5 87 $ 8$! 7$+ 1 #$%9$
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrT1 - Fundamentaler Testprozess
AK 2 am Armin Beer, Support Center Test der Software- Entwicklung 1 für einen erfolgreichen Test? Projektteam strebt nach Qualität Aufwände sind eingeplant (Richtwerte) 20 bis 30% des Gesamtaufwandes In
Mehr16 Architekturentwurf Einführung und Überblick
Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software
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
MehrKompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.
Kompetenz rund um Ihren Entwicklungsprozess Modellieren für den Test - Segen oder Fluch? Firmenpräsentation auf der embeddedworld 2010 Dipl. Ing. (Univ) Gerhard Baier Bereichsleiter Marketing und Vertrieb
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
Mehr1. Grundbegriffe des Software-Engineering
1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen
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
MehrAngepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -
Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards - Anita Herrmann Braunschweig, 10. Nov 2004 Ausgangspunkte Im DLR werden nach vorsichtigen
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?
MehrObjektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.- Doz Dr. Rolf Hennicker 04.10.2002 Kapitel 1 Software Engineering: Überblick Kapitel 1 Software Engineering: Überblick 2 Ziele Verstehen, womit sich die Disziplin
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?
MehrSoftware Engineering
Software Engineering Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik Prof. A. Müller, FH KL Software Engineering 2015 1 Inhalte Begrüßung Vorstellung, Übersicht Formales
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
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
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
MehrProfessionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 (30.06.2003):
Professionelles Projekt-Management in der Praxis Veranstaltung 7 Teil 1 (30.06.2003): Prof. Dr. Phuoc Tran-Gia, FB Informatik, Prof. Dr. Margit Meyer, FB Wirtschaftswissenschaften, Dr. Harald Wehnes, AOK
MehrÜbersicht. Web (Site) Engineering (WebSE) Warum Software Engineering? Software Engineering Definition
Web (Site) Engineering (WebSE) Vorlesung 10: Software Engineering B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 19. 12. 2006 1 / 48 Übersicht Software Engineering Definition
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
MehrFestpreisprojekte in Time und in Budget
Festpreisprojekte in Time und in Budget Wie effizient kann J2EE Softwareentwicklung sein? Copyright 2006 GEBIT Solutions Agenda Positionierung der GEBIT Solutions Herausforderung Antwort Überblick Beispielprojekt
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
MehrWeb (Site) Engineering (WebSE)
Web (Site) Engineering (WebSE) Vorlesung 10: Software Engineering B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 19. 12. 2006 Übersicht Software Engineering 1 Software Engineering
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:
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
MehrModellbasierte Softwareentwicklung
CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution
MehrSystemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski
Die Phase Design Design Entwerfen der Benutzeroberfläche, des Bedienablaufs und der Softwarearchitektur Umsetzen des fachlichen Modells auf technische Möglichkeiten; Spezifikation der Systemkomponenten
MehrThe Rational Unified Process. Eine Einführung von T. Langer und A. Nitert
The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses
MehrAgile Management Einführung in agiles Management
Agile Management Einführung in agiles Management Agile Management Agile Management-Methoden Einführung Agile Management PQRST e.u. - Ing. Erich Freitag Version 25.06.2013 Lernziele Den Unterschied zwischen
MehrSoftware Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,
MehrSeamless Model-based Engineering of a Reactive System
Seamless Model-based Engineering of a Reactive System Seminar im Wintersemester 2013/2014 Andreas Vogelsang, Sebastian Eder, Georg Hackenberg, Maximilian Junker http://www4.in.tum.de/lehre/seminare/ws1314/seamless/
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
MehrWas versteht man unter Softwaredokumentation?
Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie
MehrT2 Fundamentaler Testprozess
T2 Fundamentaler Siemens AG Österreich 2005 All Rights Reserved Institut f. Software Technology, TU-Graz Armin Beer, PSE Support-Center Test Overview der Software- Entwicklung 2 1 Wasserfall-Modell Analyse
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
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
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
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
MehrWir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen
Was bedeutet es, ein Redaktionssystem einzuführen? Vorgehensmodell für die Einführung eines Redaktionssystems Die Bedeutung Fast alle Arbeitsabläufe in der Abteilung werden sich verändern Die inhaltliche
MehrITIL und Entwicklungsmodelle: Die zwei Kulturen
Kombination von IT Service Management (ITIL) und Anwendungsentwicklung Kai Witte und Matthias Kaulke, München, den 30.03.2006 Rahmeninformationen Wo sind wir? Unternehmensdarstellung (1) Unabhängiges Beratungsunternehmen
MehrQualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.
Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit. BEKA: Frankfurt, 25. Oktober 2012 T-Systems Angebot Umsetzung des globalen Telematikprojekts für den ÖPNV im Großherzogtum Luxemburg.
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
MehrReferent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen, 2.7.2009
- Entwicklungsprozess - Referent: Alessandro Arrigo AAM1 Professor: Prof. Dr. Heindl Furtwangen, 2.7.2009 Agenda 1. Vorstellung des Autors 2. Das Buch 3. Inhalt des Kapitels 4. Verwendung in anderer Literatur
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 4 Entwurfs-, Implementierungs- und Abnahmephase Prof. Dr. Rolf Dornberger OPTSWE_SWE: 4 Entwurfs-, Implementierungs-
MehrAnforderungsanalyse. Basis: Grundlage für Erfolg / Misserfolg. Gute Qualität, moderne Techniken... Reicht nicht!
Anforderungsanalyse Basis: Grundlage für Erfolg / Misserfolg Gute Qualität, moderne Techniken... Reicht nicht! Wenn Funktionen fehlerhaft sind, ist das Produkt oder Teile u. U. nicht brauchbar für den
MehrFunctional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit
Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit Mittelstraße 25/1 88471 Laupheim Fon: 07392-9393525 Fax: 07392-9393526 Mailto: tf@thomasfranzen.com Beispiele nicht sicherer
MehrKapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?
Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung
MehrEinführung Spezifikation von Software-Systemen
Semesterprojekt Entwicklung von Automatik-Funktionen in einer Fahrsimulation WS 2012/13 Einführung Spezifikation von Software-Systemen 29. Oktober 2012 Semesterprojekt Entwicklung von Automatik-Funktionen
MehrMethodenbasiert in der Durchführung V-Modell XT-konform im Ergebnis
Methodenbasiert in der Durchführung V-Modell -konform im Ergebnis - 1 - So? oder gibt es einen anderen Weg? - 2 - Die Werkzeugfamilie Business professionelle Geschäftsprozessmodellierung mit UML Object
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
Mehr17 Architekturentwurf Vorgehen und Dokumentation
17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen
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
MehrSoftware-Engineering
SWE5 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 5: Systementwurf SWE5 Slide 2 Systemanalyse vs. Softwareentwurf Systemanalyse beschreibt das System der Anwendung, für das eine Aufgabe
MehrDokumentation. Projekt: Innovation Management Plattform To Activate Creative Thoughts
Dokumentation Projekt: Innovation Management Plattform To Activate Creative Thoughts Betreuer: Dr. Joachim Kurzhöfer, Stefan Wunderlich, Jens Siewert Referentin: Yaping Lian Gliederung Einleitung: Agiles
MehrDer Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle
Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung Kapitel B Vorgehensmodelle Inhaltsverzeichnis 1 B Vorgehensmodell... 3 1.1 Welche Vorgehensmodelle sind
MehrQualitätssicherung. Was ist Qualität?
Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was
Mehr6. Programmentwicklung
6. Programmentwicklung Fertigungsprozess Qualitativ hochwertige Software ist ein Industrieprodukt -> Methoden der Industrie übertragen auf der Herstellprozess -> Herstellprozess gliedert sich in Phasen
MehrWirtschaftsinformatik I Teil 2. Sommersemester 2008. 1. Übung
Wirtschaftsinformatik I Teil 2 Sommersemester 2008 1. Übung Sarah Mund, Kirstin Simon, Markus Trierweiler, Christian Molitor, Jonathan Jäger, Björn Kirsten Aufgabenstellung Diskutieren Sie die Vor- und
MehrPROJEKTMANAGEMENT GRUNDLAGEN_2
Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Lehrstuhl für Softwaretechnik Dipl. Ing. Gerhard Strubbe IBM Deutschland GmbH Executive Project Manager (IBM), PMP (PMI) gerhard.strubbe@de.ibm.com
MehrVorgehensmodelle zur Softwareentwicklung
Whitepaper und technische Dokumentation Informationen zu diesem Dokument Autor: Tobias Eichner, tobias@starenterprise.com Datum der Erstveröffentlichung: Februar 2013 Datum der letzten Überarbeitung: 11.
MehrÄnderungsmanagement bei iterativer SW-Entwicklung
Änderungsmanagement bei iterativer SW-Entwicklung Vortrag auf der regionalen Fachgruppe IT-Projektmanagement, 05.05.2006, Stuttgart Dr. Karsten Hoffmann, Steinbeis-Transferzentrum IT-Projektmanagement,
MehrAgile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?
OOP 2012 Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer? André Köhler Softwareforen Leipzig GmbH Geschäftsführer füh 1 Softwareforen Leipzig - Unternehmensprofil Spin-Off
MehrThomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH
Thomas Freitag achelos GmbH SmartCard-Workshop 2012 1 2012 achelos GmbH Übersicht 1. 2. 3. 4. 5. 6. 7. Einführung / Motivation Historie des Testens Schnittstellen im Testbereich Eclipse Plugins Automatisierung,
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrQualitätsmanagement. Andreas Bäuml SWT-Projekt 16.11.2007 WS 07/08
Qualitätsmanagement Andreas Bäuml SWT-Projekt 16.11.2007 WS 07/08 Gliederung Gliederung: 1. Motivation 2. Qualitätsmanagement 3. Konstruktive Maßnahmen 4. Analytische Maßnahmen 5. Diskussion Projekt Softwaretechnik:
MehrSchutz für Ihr geistiges Eigentum
DURY Rechtsanwälte www.it-recht-saarbrücken.de www.dury.de Wirtschaftskanzlei für IT-Recht, Markenrecht und Wettbewerbsrecht Schutz für Ihr geistiges Eigentum Das Scheitern von IT-Projekten 15.10.2015
MehrIKP Uni Bonn Medienpraxis EDV II Internet Projekt
IKP Uni Bonn Medienpraxis EDV II Internet Projekt WS 2001/2002 Dozentin: Lucie Prinz Grundlagen der Projektarbeit Was ist ein Projekt? Die Phasen eines Software Projektes Die Projektunterlagen Die Projektplanung
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
Mehr