So#ware Engineering 1. Einführung und Begriffe



Ähnliche Dokumente
Einführung in die Softwaretechnik 1. Einführung und Begriffe

Software Engineering 1. Einführung und Begriffe

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

Abschnitt 16: Objektorientiertes Design

Erfolgreiche Realisierung von grossen Softwareprojekten

Software Systems Engineering

Software Technik 3 Zusammenfassung

Lehrplan: Grundlagen der industriellen So4ware- Entwicklung. paluno

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?


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

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Professionelle Seminare im Bereich MS-Office

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Softwaretechnik. Fomuso Ekellem WS 2011/12

Klausur Software-Engineering SS 2005 Iwanowski

Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? Oral Avcı ZU KÖLN

FUTURE NETWORK REQUIREMENTS ENGINEERING

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

Erfahrungen mit Hartz IV- Empfängern

Fragebogen: Abschlussbefragung

Übungsklausur vom 7. Dez. 2007

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

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Anleitung Selbststudium

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Modul Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Agile Softwareentwicklung

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

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik

Wie und wann kann ich die Modulbeschreibung ändern?

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

Senioren ans Netz. schreiben kurze Texte. Lektion 9 in Themen aktuell 2, nach Übung 7

Requirements Engineering WS 11/12

Informationen zum Modul Personalführung Modul (Kurse )

CONTINUOUS LEARNING. Agile Anforderungsanalyse mit Impact Mapping

0. Wo finde ich detaillierte Informationen zum Fach Chemie für Human- und Zahnmediziner?

Ideation-Day Fit für Innovation

Titel der Stunde: TELEFONIEREN, HÖFLICHKEIT

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Anleitung über den Umgang mit Schildern

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Elternzeit Was ist das?

Umstellung der Master-Wahlpflichtmodule am Lehrstuhl für BWL, insb. Organisation und Personal

Übungsaufgaben zum Software Engineering: Management

Zukunft des Handwerkes

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

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Information zum Prüfungswesen Geprüfte(r) Logistikmeister(in) Handlungsspezifische Qualifikationen

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Ein Vorwort, das Sie lesen müssen!

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

FAQs zum Bachelorstudiengang Chemie PO-Version Allgemeine Informationen zum Bachelorstudiengang Chemie

SharePoint-Migration.docx

Die Zentralheizung der Stadt Wer heizt wie?

Chemie für Studierende der Human- und Zahnmedizin FAQ

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

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Informationswirtschaft 2: Überblick

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 12 AM

Informatikgrundlagen (WS 2015/2016)

Konzentration auf das. Wesentliche.

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Anwendungsbeispiele Buchhaltung

Studieren- Erklärungen und Tipps

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

Einführung und Motivation

Wir nehmen Aufgaben und Ideen wahr. Wir suchen Lösungen zu Ideen.

Übung: Verwendung von Java-Threads

Geschäftsprozessmanagement

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

Wir 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

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Ein Muster für ein Thesis Proposal

Modul 5: Service Transition Teil 1

SPI-Seminar : Interview mit einem Softwaremanager

Prozessmanagement Modeerscheinung oder Notwendigkeit

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Content Management Systeme (CMS)

Informationen zum Auslaufen des Diplomstudiengangs Psychologie. Universität zu Köln Department Psychologie

Software-Engineering Einführung

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

Emergency Room für Projektleiter

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Agile Software Development

Objektorientierte Programmierung für Anfänger am Beispiel PHP

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

Vorwissen der SuS erfassen. Positive/Negative Aspekte von Online-Spielen feststellen. Urteilsfähigkeit der SuS trainieren.

Wissensinseln trocken legen

SWE12 Übungen Software-Engineering

Teilnahme an Onlinemeetings des Rotary E-Club of D-1850

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Transkript:

1. Einführung und Begriffe Prof. Dr. Klaus Ostermann 1

Agenda } Organisatorisches } Begriffsklärung: So#waretechnik } AuDau der Vorlesung 2

Organisatorisches 3

OrganisaGon der LV } Umfang: ca. 2 SWS, Intensivvorlesung in der ersten Semesterhäl#e } Veranstalter: Klaus Ostermann, Jonathan Brachthäuser, Julia Trieflinger } Termine: } VL: Mi 14.15 17.00h, Hörsaal Kriminologie (F119) 4

OrganisaGon der LV } Voraussetzung: } Teilnahme an ProgrammierprakGkum/IndustrieprakGkum } Keine Klausur } Aber: Hier lernen Sie die FerGgkeiten, die Sie für das Bestehen des PrakGkums benöggen } Homepage der LV: } hap://ps.informagk.uni- tuebingen.de/teaching/ss15/se/ Kopien der Folien, Literaturhinweise,... 5

OrganisaGon der PrakGka } Sie entscheiden sich entweder für ein tradigonelles ProgrammierprakGkum } Aufgabenstellung und Betreuung durch einen Lehrstuhl am FB InformaGk } 1 Semester, 8/9 LP } Sie haben nach Absprache mit Betreuern Zeit bis Miae Oktober } Online- Anmeldung ab Montag unter hap://kjl07.gris.uni- tuebingen.de/ (funkgoniert nur im Intranet) } Oder sie entscheiden Sich für das neue IndustrieprakGkum } Aufgabenstellung durch Industriepartner, Betreuung durch Lehrstuhl Ostermann & Industriepartner } 2 Semester, 12 LP } Besuchen Sie unsere Messe am Freitag, 17. April, 13.30 Uhr im Hörsaal N3 Morgenstelle für Anmeldung, Themenvorstellung, Fragen, Organisatorisches, } Neuigkeiten unter hap://www- ps.informagk.uni- tuebingen.de/industryproject/ 6

LehrveranstaltungssGl } Konzeptvermialung durch Folien } Folienkopien sind auf der Homepage verfügbar, Abweichungen (insb. Korrekturen) sind möglich } Beispiele häufig an der Tafel } Zwischenfragen und Kommentare während der Vorlesung sind grundsätzlich erwünscht. } Einsatz in der Praxis im PrakGkum 7

Inhalt } : } Systeme, Projekte, Fachgebiet } Vorgehens- und Prozessmodelle } Anforderungsanalyse } So#wareentwurf: Modellieren von So#waresystemen } Systementwurf: } SW- Architekturen, Entwurfsmuster und Komponenten } OO- Konzepte für Fortgeschriaene } So#ware- Qualitätssicherung: } speziell Testen von So#waresystemen } Projektmanagement 8

Begriffe und Kontext 9

Vorgehen? Problembeschreibung eines Benutzers Programmierer FerGges Program } Woher kommt die Problembeschreibung? } Beschreibt sie wirklich das Problem des Nutzers? } Welche Struktur soll das fergge Programm haben? } Löst das Programm wirklich das Problem? FunkGoniert es korrekt? } Was passiert mit neuen Anforderungen des Benutzers? } Wie teilt man die Arbeit bei mehreren Entwicklern? 10

So#waretechnik (engl. ) } Etabliertes Teilgebiet der InformaGk } Anforderungsanalsyse } Entwurf und Entwicklung von So#ware, und Werkzeuge dafür } OrganisaGon und Strukturierung der Entwicklung, Projektmanagement } Qualitätssicherung } Betrieb und Wartung von Systemen } uvm. 11

So#ware- Krise } Miae 1960er Jahre } Mit schnellerer Hardware wurde So#ware wichgger } Steigende Anforderungen, aber } Qualifiziertes Personal fehlte } So#wareentwicklung durch Bastelei } So#ware war unzuverlässig, ständige Wartung } Bestehende Systeme intransparent und unübersichtlich, kaum änderbar } Kosten und Dauer übersgegen Erwartungen } Anforderungen o# nicht erfüllt } So#warekosten übersgegen Hardwarekosten } Große So#wareprojekte scheiterten 12

So#ware- Krise II

Die So#ware- Krise von morgen 14

Fehlgeschlagene So#wareprojekte (Beispiele) } SAGE- System von 1951 zur Aufspürung von Bombern; bei Inbetriebnahme 1963 überflüssig; neue Gefahr Raketen } Toll Collect: Geplanter Start 31. Aug 2003, tatsächlicher Start 1. Jan 2006; 3.5 Milliarden EUR Einnahmeausfälle } Kaliforniens Führerscheinstelle stoppt Projekt nach 6 Jahren und 45 M$ } FBI Virtual Case File in 2005 gestoppt, nach 3 Jahren und 170 M$ } Londoner Börse beendet Taurus Projekt 1993 nach 11 Jahren und Budgetüberschreitung um 13200 % (800 M ) 15

Extreme Komplexität (Beispiel) } DDX U- Boot } Viele eingebeaete Systeme } Zusammen 30.000.000.000 Zeilen Code (Schätzung) } In 142 Programmiersprachen 16

Woran liegt es? } unzureichend spezifizierte Anforderungen } häufiges Ändern der Anforderungen während des Projekts } Mangel an Ressourcen } inkompetente Mitarbeiter } wenig Benutzer- Einbeziehung } fehlende Unterstützung durch das Management } zu große Erwartungen } falsche Schätzung der Zeit/Kosten } Managemen{ehler } Obsolete Projekte (inzwischen bessere Lösungen) 17

KommunikaGon? 18

Engineering?

Der Neid auf die Ingenieure } AutoprodukGon } Kalkulierbare Kosten und Risiken } Vorhersehbares Ergebnis } Hohe Qualität Klare Trennung zwischen Planung und ProdukGon eines Produkts Qualitätskontrolle durch Messungen Möglichkeit der AutomaGsierung, Industrialisierung } So#wareprodukGon } Kosten können nicht zuverlässig vorhergesagt werden } Viele Projekte enden während oder kurz nach der ProdukGon als Fehlschlag } Qualitätssicherungsmaßnahmen garangeren keine quangfizierbare Qualität

So#waretechnik als Lösungsidee : The Establishment and use of sound engineering principles in order to obtain economically so#ware that is reliable and works efficiently on real machines. [Bauer 1975, S. 524] } Begriff 1968 geprägt } SystemaGsches Herangehen } PublikaGon von bewährtem Vorgehen und Erfahrung } Entwurf, Teile- und- Herrsche } Wiederverwendung } Qualitätssicherung } Begriff provokagv gewählt 21

So#waretechnik in der InformaGk Informa(k (computer science) } Theorien und Methoden für Computer und So#waresysteme So5waretechnik (so5ware engineering) } PrakGsche Erstellung von So#ware Grundlage und Fundierung 22

= Engineering? Ingenieursprodukt Produkt ist ein physikalisches Objekt Gebaut durch Menschen und Werkzeuge KonstrukGon ist teuer erfordert Arbeit und Material ist langsam teuer zu wiederholen Präzise Messung der Qualität Requirements Designing Design Building Product So5ware Das Produkt ist das laufende Programm KonstrukGon durch Betriebssystem KonstrukGon ist extrem billig automagsch, kein Materialeinsatz sehr schnell leicht zu wiederholen Wenig sinnvolle Metriken zur Messung Schlussfolgerungen So#ware = Design = Plan! Programmieren ist Entwerfen, nicht ProdukGon SimulaGon von So#ware ist nicht notwendig. Agile Techniken sind möglich, Wasserfallmodell ist nicht adäquat 23

AuDau der Vorlesung 24

AuDau der Vorlesung } 1. Anforderungsanalyse } Was will der Kunde? } Entwickeln wir das RichGge? } 2. Vorgehensmodelle } Wie plant man das Vorgehen? } Wie geht man auf geänderte Anforderungen ein? } Zum Beispiel: Wann und wie Testen? } 3. Teamwork und Projektmanagement } Versionsverwaltung: Technische Zusammenarbeit } Projektmanagement: Arbeitsteilung, Zeitplanung } Risikomanagement 25

AuDau der Vorlesung II } 4. So#waretechnik im Kleinen } Wartbarer Quelltext } Modellierung, UML } Entwurfsmuster, Trennung von Belangen } Refactoring } 5. So#waretechnik im Großen } Systementwurf, Modellierung } Modularität } 6. Qualitätssicherung } Metriken } Testen } Jenseits von Testen 26

Literatur } Viele So#waretechnikbücher auf dem Markt, z.b. }. Ian Sommerville. Addison- Wesley Pub Co, 9th edigon, 2010 } Keine konkrete Empfehlung für die gesamte Vorlesung } Zu jedem Abschnia weiterführende Literatur 27