Software Engineering WS 2009

Slides:



Advertisements
Ähnliche Präsentationen
eAQUA Workshop Einführung Software Engineering
Advertisements

Prüfung objektorientierter Programme -1
Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
Das V - Modell - Überblick
Vorgehensmodell & Wasserfallmodell in der Programmierung
Phasen und ihre Workflows
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Vorgehensmodell - Wasserfallmodell
Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.
Von David Keß, Heinrich Wölk, Daniel Hauck
Das „Vorgehensmodell“
:33 Architektur Moderner Internet Applikationen – Prolog Copyright ©2003 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner.
Die Planungsphase -Anforderungsanalyse-
Das secologic Projekt im Kurzüberblick - Stand Sept
IT-Projektmanagement
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Vizepräsident für Personal und Finanzen
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Schulung der Mitarbeiter
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Das V - Modell - Überblick
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE 3.1-4V - Modell Überblick V-Modell Regelungen, die die Gesamtheit aller Aktivitäten,
Testen, Analysieren und Verifizieren von Software
Software Risk Evaluation Method (SRE)
eXtreme Programming (XP)
Berliner Rahmenpläne Informatik für die Sekundarstufe I
Simulation komplexer technischer Anlagen
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
XP – eXtreme Programming
Spezifikation von Anforderungen
Software Engineering SS 2009
Software-Projektführung
Das Wasserfallmodell - Überblick
Software Engineering SS 2009
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Software Engineering SS 2009
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
Synergieeffekte durch softwaregestützte Prozessmodelle
Das Pflichtenheft Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth
grundlagen der Wirtschafts- informatik
Die Planungsphase Durchführbarkeitsuntersuchung: fachlich, personell und wirtschaftlich Lastenheft (grobes Pflichtenheft) Glossar Projektkalkulation Projektplan.
REQUIREMENTS ENGINEERING
IT-Projektmanagement SS 2013 Prof. Dr. Herrad Schmidt
Technische und organisatorische Aspekte bei der Einführung und dem Betrieb einer universitätsweiten Lernplattform: Herbert STAPPLER Zentraler Informatikdienst.
Strukturierter Entwurf (und Realisierung)
Testaktivitäten Komponenten- / Integrationstest
Definitionen der SWT (1)
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Modernisierte Erhebungen im Bildungsbereich
Wasserfallmodell und Einzelbegriffe
IKP Uni Bonn Medienpraxis EDV II Internet-Projekt
Grundlagen wissenschaftlichen Arbeitens
zum Thema Wasserfallmodell
Content Management System
Lernen durch Vergleiche
Software Engineering Grundlagen
Systematisches Requirements Engineering Anforderungen ermitteln, spezifizieren, analysieren und verwalten AM2 – Planung von Softwareprojekten Dozent:
Requirements Engineering Universität zu Köln Medienkulturwissenschaften/Medieninformatik Kurzreferat in Planung von Softwareprojekten bei Herrn Christoph.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Test-Driven Development
made by Aberer, Spiegel & Tschegg
Lernfeld 7 Überblick.
 Präsentation transkript:

Software Engineering WS 2009 Grundlagen Was ist Software? Die Programme, Verfahren, zugehörige Dokumentation und Daten, die mit dem Betrieb eines Rechnersystems zu tun haben (IEEE 610.12) Software ist: Computerprogramme Prozeduren Regeln für den Betrieb eines Computers Dokumentation Unterscheidung in: Systemsoftware: Betriebssystem, Compiler, Datenbanken, Kommunikations- und Dienstprogramme Anwendungssoftware: Software, die Probleme des Anwenders löst. Zielgruppen Individualentwicklung für einen Kunden Entwicklung für den allgemeinen Markt (z. B. Spiele) Software Engineering WS 2009

Grundlagen Softwarekosten dominieren die Kosten von Informatiksystemen Software Engineering WS 2009

Grundlagen Kostenentwicklung von Software: Software Engineering WS 2009

Grundlagen Vergleich: Kostenentwicklung bei Software und Hardware Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Realität und Hoffnung: Hoffnung: Softwarefabriken Programmgeneratoren portable Software denkende Maschinen Realität: „Freaks“ CASE-Tools, unterschiedliche Programmiersprachen unterschiedliche Programmierstile (objektorientiert, funktional, strukturiert) Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Softwareentwicklung: Software-Entwicklung bedeutet die Umsetzung der Bedürfnisse von Benutzern in Software. Umfasst Spezifikation der Anforderungen, Konzept der Lösung, Entwurf und Programmierung der Komponenten, Zusammensetzung der Komponenten und ihre Einbindung in vorhandene Software, Inbetriebnahme der Software sowie Überprüfung des Entwickelten nach jedem Schritt. Das Problem verstehen Anwendungsbereich verstehen Anforderungen spezifizieren Lösung entwerfen Lösung umsetzen ( programmieren) Lösung integrieren und in Betrieb nehmen Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Softwarepflege: Die Benutzerbedürfnisse ändern sich schneller, als Software von Grund auf neu entwickelt werden kann.  Bestehende Software muss geändert und weiterentwickelt werden Software-Pflege (oder Software-Wartung), d. h. Modifikation und/oder Ergänzung bestehender Software durch neue Software mit dem Ziel, Fehler zu beheben, die bestehende Software an veränderte Bedürfnisse oder Umweltbedingungen anzupassen oder die bestehende Software um neue Fähigkeiten zu erweitern. Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Probleme bei der Softwareentwicklung Komplexität Komplexität des Anwendungsbereichs Umfang des Systems Zahl beteiligter Personen (mit ganz unterschiedlichen Voraussetzungen) Dynamik Änderungen von Anforderungen Änderungen von Rahmenbedingungen und technischen Voraussetzungen Zeitdruck Kostendruck Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Unterschiede zwischen kleinen und großen Projekten Klein Groß Programme von 1 bis ca. 300 Zeilen Längere Programme Für den Eigengebrauch Für den Gebrauch durch Dritte Vage Zielsetzung genügt Genaue Zielbestimmung erforderlich Ein Schritt vom Problem zur Lösung genügt. Mehrere Schritte erforderlich Lösung direkt Auf jeden Entwicklungsschritt muss ein Prüfschritt folgen Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Unterschiede zwischen kleinen und großen Projekten Klein Groß Komplexität des Problems in der Regel klein Komplexität des Problems größer bis sehr groß Behalten der Übersicht nicht schwierig Maßnahmen zur Strukturierung und Modularisierung erforderlich Software besteht aus wenigen Komponenten Software besteht aus vielen Komponenten; Maßnahmen zur Komponentenverwaltung In der Regel keine Dokumentation Dokumentation zwingend Keine Planung und erforderlich Projektorganisation erforderlich Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Wachstum des Kommunikationsbedarfs Anzahl der beteiligten Personen 1 2 3 4 5 6 Kommunikationspfade 0 1 3 6 10 15 Bei einer Person: keine Kommunikation ab 4 Personen: mehr Kommunikationspfade als Personen Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Überproportionaler Anstieg des Aufwandes: Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Software Engineering: Technische Disziplin, die sich mit der Bereitstellung und der systematischen, ingenieurmäßigen Anwendung von Prinzipien, Methoden und Werkzeugen zum Entwurf und zur Herstellung von Software befasst. Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Ziele des Software Engineering Funktionstreue Software soll das leisten, was sich die Auftraggeber/Benutzer davon erwarten Qualität Einhalten der Qualitätsanforderungen Termine Kurze Entwicklungszeiten! Einhalten der zugesagten Fertigstellungstermine Kosten Kostengünstige Entwicklung von Software Einhaltung des geplanten Sach- und Personalaufwandes Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Qualität von Software Qualitätsmerkmale für Software (Beispiele) Korrektheit: Software soll das leisten, was sich die Auftraggeber/Benutzer davon erwarten Performance Ressourcenbeanspruchung Wartbarkeit Kompatibilität zu andern Produkten Usability Kosten: Kostengünstige Entwicklung von Software; Einhaltung des geplanten Sach- und Personalaufwandes Termingerechte Lieferung: Einhalten der zugesagten Fertigstellungstermine; Kurze Entwicklungszeiten! After Sales Support verständliche Dokumentation Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Fehler bei der Softwareentwicklung Es wird sofort mit der Codierung begonnen Es wird nicht systematisch und ausreichend getestet; Testergebnisse werden nicht dokumentiert Eine Festlegung der Anforderungen fehlt Akzeptanzkriterien für die Qualitätsanforderungen fehlen Standards und Richtlinien werden nicht beachtet Dokumentation ist veraltet, fehlerhaft, unzureichend Ein Vorgehensmodell fehlt bzw. wird nicht verfolgt Eine Abnahme der Phasenergebnisse erfolgt nicht Schlechte Namensvergabe bei Variablen und Klassen Schulung wird vernachlässigt Falsche Auswahl der Werkzeuge Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Effekte von Fehlern und Entstehungswege der unterschiedlichen Fehlerarten Software Engineering WS 2009

Software Engineering WS 2009 Grundlagen Zusammenfassung Die Entwicklung von Software erfordert ein systematisches, ingenieurmäßiges Vorgehen Herausforderungen bei der Software-Entwicklung sind Komplexität, Dynamik, Zeit- und Kostendruck Software Engineering ist die technische Disziplin, die sich mit der Erstellung von Software befasst. Hierfür stellt sie Prinzipien, Methoden und Werkzeuge bereit. Ziele sind Funktionstreue, Qualität, Termine, Kosten Wichtige Phasen eines Software-Projektes sind Planung, Analyse, Entwurf, Implementierung, Abnahme und Einführung, Wartung und Pflege Die Software-Krise überwunden? Nein. Wir haben nach wie vor ... ... häufige Termin- und Kostenüberschreitungen ... ganz oder teilweise gescheiterte Projekte ... zu wenig konsequent gelebtes Software Engineering Also nichts erreicht? Doch, sehr viel sogar. Wir schaffen heute Software einer Größe und Komplexität, die vor 20 Jahren weit jenseits des Machbaren lag Viele Routineprobleme werden heute gut beherrscht Sind wir schlechter als andere? Nein. Software Engineering ist im Mittel schwieriger als das Engineering klassischer Systeme und Produkte In der Beherrschung großer Non-Standardsysteme sind wir heute teilweise besser als klassische Ingenieure zu tun? Auf der Erzeugerseite Software Engineering systematisch lernen ... ... und konsequent in der Praxis umsetzen Weg von der Kultur des Bastelns und Heimwerkens ... ... hin zu einer Kultur professionellen Arbeitens Auf der Kundenseite Bewusstsein für den Zusammenhang zwischen Kosten, Terminen und Qualität stärken Professionelles Software Engineering als Selbstverständlichkeit fordern ... ... und bereit sein, den damit erzielten Mehrwert zu bezahlen Software Engineering WS 2009