Informatik für Ingenieure (InfIng)

Größe: px
Ab Seite anzeigen:

Download "Informatik für Ingenieure (InfIng)"

Transkript

1 Informatik für Ingenieure (InfIng) SW-Engineering 1 Doz. Dipl.-Ing. H. Hiller WS 2012/13

2 Software und ihre Fehler 1965 Beginn der so genannten "Softwarekrise" Kosten für die Software übersteigen erstmals die Kosten für die Hardware Weitere Entwicklung führt zu den ersten großen gescheiterten Software-Projekten 1982 Absturz eines Prototypen des F117 Kampfjets SW-Fehler vertauscht Steuerung des Höhenruders mit der des Seitenruders 1995 Verzögerungen im bundesweiten Zugverkehr Umstellung des Hamburger Stellwerks auf ein elektronisches Stellwerksystem Zu kleiner Stapelspeicher: 3,5 statt 4 kb (500 Byte mehr aus "Sicherheitsgründen") 1996 Selbstzerstörung der Ariane-5-Rakete Programmcode für die Steuerung war von Ariane 4 übernommen worden Code funktionierte nur in einem von der Ariane 4 nicht überschreitbaren Bereich 2005 Verlust des NASA Mars Climate Orbiters Angesteuerte Umlaufbahn 170 km tiefer als geplant, Folge: Absturz oder Abprall 2 Gruppen am Projekt beteiligt: eine rechnete in Meter, die andere in Inch und Fuß FH D Seite 2 FB 5

3 Software und ihre Fehler 2007 Server-Ausfall der Telekom Fehlerhaftes Update (Software Aktualisierung) eines Düsseldorfer Servers FH D Seite 3 FB 5

4 Chaos-Report Überblick über Probleme bei der Software-Entwicklung Durchgeführt von der Standish Group 1. Chaos-Report 1994, erscheint etwa im 2-Jahres-Rhythmus, zuletzt 2008 Chaos-Report von 1994 Untersucht wurden 8380 Projekte in 365 amerikanischen Firmen Geschätzter Gesamtaufwand von $ 250 Milliarden, verteilt auf Projekte Ergebnis 31% der Projekte noch vor der Fertigstellung komplett abgebrochen Verlust: $ 80 Milliarden Indirekter Verlust aus dem Fehlen der Software nicht eingerechnet 53% der Projekte wurden mit erheblichen Mängeln fertig gestellt Lediglich 61% der ursprünglichen Anforderungen wurden erfüllt Verdoppelung der Projektdauer und der damit kalkulierten Kosten 16% der Projekte wurden ohne Mängel fertig gestellt Aktuelle Entwicklung Einerseits Zweifel am Report, andererseits für viele Projektmanager plausibel FH D Seite 4 FB 5

5 Chaos-Report Chaos-Report von 1994 bis 2004 FH D Seite 5 FB 5

6 Themen dieser Vorlesung Wir wollen folgender Frage nachgehen: "Wie kann Software besser, d.h. effektiver entwickelt werden?" Softwaretechnik FH D Seite 6 FB 5

7 Softwaretechnik Softwaretechnik ist Herstellung bzw. Entwicklung von Software Beginnt bei der Identifizierung des Bedarfs und reicht bis zur Inbetriebnahme und darüber hinaus (z.b. Wartung) Schrittweise Fertigstellung von Software Komplexe Software erfordert hohen Aufwand für Erstellung und Wartung Unterteilung des Entwicklungsprozesses in Phasen Phasen sind überschaubar, weil zeitlich und inhaltlich begrenzt Software wird somit Schritt für Schritt fertig gestellt Ingenieurmäßige Entwicklung Anwendung von Prinzipien, Methoden, Konzepten, Notationen und Werkzeugen Arbeitsteilige Vorgehensweise bei der Realisierung umfangreicher SW-Systeme Ziel der Softwaretechnik Erstellung qualitativ hochwertiger Programme Einhaltung eines vertretbaren Kosten- und Zeitrahmens FH D Seite 7 FB 5

8 Übersicht Grundmodell Versionsverwaltung UML FH D Seite 8 FB 5

9 Grundmodell Typische Prozesse im Rahmen der Softwaretechnik Planung Das Grundmodell umfasst 5 Phasen. Analyse Entwurf Es bildet die Basis der meisten in der Praxis angewandten Phasenmodelle. Implementierung Test Wir werden in dieser Vorlesung einige der wesentlichen Aspekte kennen lernen. FH D Seite 9 FB 5

10 Planungsphase Lastenheft Auch: Anforderungskatalog, Kundenspezifikation, Requirement Specification Gesamtheit aller Forderungen Erstellung durch den Auftraggeber Auftraggeber Externe Auftraggeber Firmen, Behörden, Institutionen, etc. Lastenheft kann Basis einer Ausschreibung sein Erstellung ggf. durch Dritte, z.b. Unternehmensberatung Interne Auftraggeber Inhalt Marketing, Produktmanagement Allgemeine Beschreibung, was und wofür etwas gemacht werden soll Formulierung so allgemein wie möglich und so einschränkend wie nötig Keine Einschränkung der Auftragnehmers in seiner Lösungskompetenz FH D Seite 10 FB 5

11 Planungsphase Beispiel Deutsche Bahn bietet Erstellung eines Lastenhefts als Dienstleistung an Quelle: FH D Seite 11 FB 5

12 Planungsphase Pflichtenheft Auch: Implementierungsspezifikation, Feature Specification Antwort des Auftragnehmers auf die Anforderungen des Lastenhefts Konkrete Beschreibung eines Lösungsvorschlags (ggf. mehrere) Bestätigung durch den Auftraggeber, Start der Entwicklungsarbeiten Auftragnehmer Externe Auftragnehmer Ingenieurbüro, Software-Firma Interne Auftragnehmer Inhalt Entwicklungsabteilung Pflichtenheft beschreibt, wie und womit etwas realisiert werden soll Kosten und Termine Ermittelt durch Aufwandsschätzung (äußerst schwierig und vielfach ungenau) Schätzverfahren: Analogie-Methode, Experten-Methode, Price-to-Win, etc. Grundlage für Angebot bzw. Entscheidung FH D Seite 12 FB 5

13 Planungsphase Zusammenhang von Lastenheft und Pflichtenheft Lastenheft Kunde Pflichtenheft Unternehmen Lastenheft - Anforderungen an die geplante Software - "was und wofür" Pflichtenheft - Konkrete Lösungsvorschläge - "wie und womit" Anforderungen 1 1..n Leistungen FH D Seite 13 FB 5

14 Analysephase Analyse Genaue Untersuchung des Problems Umsetzung der Benutzeranforderungen in Spezifikationen Ergebnis Detaillierte Spezifikation des Ziels Analysemodell als Abstraktion des realen Problems Schwierigkeit Abstraktion des realen Problems in einem komplexen Umfeld Beispiel: OOP Analyse Identifikation der benötigten Objekte (Attribute, Methoden, Vererbung etc.) Interaktionen zwischen den einzelnen Objekten Notation: UML (grafische Notation für objekt-orientierte Analyse und Design) FH D Seite 14 FB 5

15 Entwurfsphase Entwurf Erstellen einer softwaretechnischen Lösung aus den Anforderungen an ein Software-Produkt im Sinne einer Software-Architektur Software-Architektur Beschreibung der Gesamtstruktur des Systems Struktur ( Komponentisierung ) eines Software-Systems Kommunikation zwischen den Komponenten Abbildung auf Hardware- oder Software-Ressourcen Architektur gültig über den gesamten Lebenszyklus eines Software-Systems Design-Entscheidung Kritischster Punkte im Entwicklungsprozess einer Software Software-Architektur ist später nur mit hohem Aufwand änderbar Definiert über Softwarequalitätskriterien (nicht-funktionale Eigenschaften) U.a. Modifizierbarkeit, Wartbarkeit, Sicherheit oder Performance Unabhängig von der Implementierungssprache ( so der Anspruch) FH D Seite 15 FB 5

16 Entwurfsphase Strukturen und Abstraktionen Gliedern der Lösung in Komponenten und Interaktionen Gewinnen von Übersicht; Weglassen der Details Modularität Definierter und klar abgegrenzter Teil eines Systems In sich geschlossene Einheit, ohne Kenntnis des inneren Aufbau verwendbar Geheimnisprinzip Außerhalb der Komponente ist nur bekannt, was die Komponente leistet Nutzung von Vorhandenem Nicht neu entwickeln, sondern wiederverwenden oder ggf. beschaffen Standardsoftware, konfigurierbare Bausteine, etc. Qualität Software löst vorrangig das Problem des Auftraggebers (!!!) Kostengünstig, verständlich, robust und änderungsfreundlich FH D Seite 16 FB 5

17 Entwurfsphase Schichtenmodell Auch: Ebene, Tier (engl.) oder Layer (engl.) Komponenten werden auf Schichten verteilt Schichten sind semantisch zusammenhängend Kommunikation Innerhalb einer Schicht beliebig Außerhalb nur zwischen benachbarten Schichten Schicht 3 Schicht 2 Schicht 1 Client-Server-Architektur Muster für verteilte Systeme Verbindung nur zwischen Server und Client Prinzip: Client fordert Dienst des Servers an Client Server FH D Seite 17 FB 5

18 Entwurfsphase Architektur-Beispiel 1: OSI-Referenzmodell Designgrundlage von Kommunikationsprotokollen System A Transitsystem System B Application Application Presentation Presentation Session Session Transport Transport Network Network Network Network Data Link Data Link Data Link Data Link Physical Physical Physical Physical FH D Seite 18 FB 5

19 Entwurfsphase Architektur-Beispiel 2: Linux User Applications GNU C Library (glibc) User Space GNU / Linux System Call Interface Kernel User Space Architecture-Dependent Kernel Code Hardware Platform FH D Seite 19 FB 5

20 Entwurfsphase Architektur-Beispiel 3: Softphone About CounterPath CounterPath builds innovative SIPbased softphones, server applications and Fixed Mobile Convergence (FMC) solutions for service providers, enterprises, OEMs and end users. Quelle: FH D Seite 20 FB 5

21 Implementierungsphase Programmiersprache Funktional, prozedural oder objektorientiert Vorgabe durch den Auftraggeber, Legacy-System Human Factor Programmiersprachen-Kenntnisse Schulungsmaßnahmen Entwicklungsumgebung Compiler, Debugger, IDE,... Programmiertechnik Extreme Programming (XP) Agile Methode der SW-Entwicklung Frühzeitige Konzentration auf wesentliche Elemente der Softwareentwicklung Codieren, testen und kommunizieren statt dokumentieren Pair Programming Paarweises Programmieren, 4 Augen sehen mehr als 2 Zwei Mitarbeiter an einem Rechner (eine Tastatur, eine Maus und ein Monitor) Abwechselnd - einer tippt, der andere schaut über die Schulter FH D Seite 21 FB 5

22 Testphase Test-Strategie & Ziel Mit vertretbarem Aufwand möglichst viele Fehler in einem Programm finden Kosten Testkosten Fehlerfolgekosten Testumfang Ein Test liefert den Nachweis, dass bestimmte Funktionen funktionieren, aber nicht, dass keine Fehler vorhanden sind!!! FH D Seite 22 FB 5

23 Testphase Manuelle Tests Black Box Test Funktionsorientiert Auswahl der Testfälle auf Basis der Spezifikation Testfälle unabhängig von der Programmstruktur und der Implementierung Ziel: Vollständige Abdeckung aller geforderten Eigenschaften White Box Test Strukturorientiert Auswahl der Testfälle auf Basis der Programmstruktur Möglichst vollständige Code-Abdeckung (Durchlauf aller Anweisungen) Automatisierte Tests Regressions Test Test nach Modifikation, z.b. Fehlerbehebung etc. Ziel: Überprüfung des fehlerfreien Erhalts der bisherigen Funktionalität Last-Test System wird an die Grenzen der Leistungsfähigkeit geführt (CPU, Speicher, etc.) Ziel: Überprüfen des Systemverhaltens unter Randbedingungen FH D Seite 23 FB 5

24 Testphase Modultest Test auf der Ebene der einzelnen Module der Software Testgegenstand ist die Funktionalität einzelner, abgrenzbarer Teile der Software Module, Programme oder Unterprogramme, Units oder Klassen Durchführung durch den Softwareentwickler selbst Nachweis der technischen Lauffähigkeit und korrekter fachlicher (Teil-) Ergebnisse Integrationstest Testet die Zusammenarbeit voneinander abhängigen Komponenten Testschwerpunkt liegt auf den Schnittstellen der beteiligten Komponenten Systemtest Test des Systems gegen die gesamten Anforderungen Funktionale und nicht funktionale Anforderungen Durchführung in einer Testumgebung mit Testdaten Testumgebung soll Produktivumgebung des Kunden simulieren FH D Seite 24 FB 5

25 Übersicht Grundmodell Versionsverwaltung UML FH D Seite 25 FB 5

26 Versionsverwaltung Branches Festlegung eines bestimmten Teilpfads einer Software-Version Erreichen eines Release-Zustands (z.b. durch Feature-Stop) Branches sind abgekoppelt von der laufenden Entwicklung Main Branch Nur wichtige Änderungen, zumeist Bugfixes, fließen in einen Branch I.d.R. solange verfügbar wie das Release beim Kunden im Einsatz ist Hauptpfad einer Software-Version Erweiterungen (Neu-Entwicklungen) und Fehlerbehebungen (Bugfixes) Release 2 Branch 2 Entwicklungsversion Main Branch Release 1 Branch 1 Release 1.1 Branch 3 FH D Seite 26 FB 5

27 Versionsverwaltung Repository (engl. für Lager/Depot) Speicherung von digitalen Objekten, z.b. Quellcode, Dokumentation Ablage mehrere unterschiedlicher Versionen (Releases) einer Software Verfügbarkeit vorangegangener Versionen Fehlerbehebung in einem ausgelieferten System (Kunden-Release) Alte Versionen müssen bei Bedarf wieder hergestellt werden Gemeinsames Arbeiten an Programm-Modulen Mehrere Mitarbeiter arbeiten an den gleichen Dateien (Quellcode-Files) Siehe hierzu die nächsten 3 Folien FH D Seite 27 FB 5

28 Gemeinsames Arbeiten an Programm-Modulen Sequentiell 1. Anke kopiert Datei aus Repository (check-out) Arbeitsbereich Anke Repository Arbeitsbereich Kai 2. Anke bearbeitet Datei in ihrem Arbeitsbereich 3. Anke überträgt geänderte Datei in Repository (check-in) A B C 1. check-out A B C V1 4. Kai kopiert die von Anke bearbeitete Datei aus Repository (check-out) 5. Kai bearbeitet Datei in seinem Arbeitsbereich A X C 2. Änderung 3. check-in A B X C V2 4. check-out A X C 6. Kai überträgt geänderte Datei in Repository (check-in) A X C Y V3 6. check-in 5. Änderung A X Y FH D Seite 28 FB 5

29 Gemeinsames Arbeiten an Programm-Modulen Parallel (1) 1. Anke kopiert Datei aus Repository (copy) Arbeitsbereich Anke Repository Arbeitsbereich Kai 2. Kai kopiert Datei aus Repository (copy) 3. Anke bearbeitet Datei in ihrem Arbeitsbereich A B C 1. copy A B C V1 2. copy A B C 4. Kai bearbeitet Datei in seinem Arbeitsbereich 5. Anke überträgt geänderte Datei in Repository (copy) 6. Kai überträgt geänderte Datei in Repository (copy) A X C 3. Änderung 5. copy A B X C V2 4. Änderung A B Y!!! FEHLER!!! In Schritt 6 überschreibt Kai die Änderungen von Anke! A X B C Y V3 6. copy FH D Seite 29 FB 5

30 Gemeinsames Arbeiten an Programm-Modulen Parallel (2) oder: Wie es besser funktioniert! 1. Anke kopiert Datei aus Repository (copy) Arbeitsbereich Anke Repository Arbeitsbereich Kai 2. Kai kopiert Datei aus Repository (copy) 3. Anke bearbeitet Datei in ihrem Arbeitsbereich 4. Kai bearbeitet Datei in seinem Arbeitsbereich 5. Anke überträgt nur geänderte Zeilen in Repository (merge) 6. Kai überträgt nur geänderte Zeilen in Repository (merge) A B C A X C 3. Änderung 1. copy 5. merge X A B C A B X C V1 V2 2. copy 4. Änderung A B C A B Y!!! OK!!! Nur Änderungen werden übertragen! A X C Y V3 6. merge Y FH D Seite 30 FB 5

31 Übersicht Grundmodell Versionsverwaltung UML FH D Seite 31 FB 5

32 UML UML - Unified Modeling Language Sprache zur Beschreibung & Modellierung von Softwaresystemen Werkzeug u.a. für Systemanalyse und Systemdesign Seit 1995, Version 2.0 ist aktuell, de facto Standard Grundgedanke Einheitliche Notation für alle Softwaresysteme (!!!) UML entstand aus mehreren bestehenden Notationen Eigenschaften Grafische, objektorientierte Modellierungssprache Unabhängig von Entwicklungsprozessen und methoden Kommunikationsmittel zwischen Entwickler und Benutzer Tool-Unterstützung StarUML, ArgoUML oder Eclipse UML2 Tools (alle Open Source) FH D Seite 32 FB 5

33 UML Diagramme Verschiedene Diagrammtypen Strukturdiagramme und Verhaltensdiagramme Darstellung verschiedener Sichtweisen Gegenseitige Ergänzung Hervorhebung verschiedener Systemaspekte Vergleich: Bauplan für ein Haus Verschiedene Ansichten Grundriss und Aussenansichten Werkpläne für verschiedene Handwerker Mit Hilfe von UML können große Teile der Analyse und des Designs von Software in standardisierter Form beschrieben werden. FH D Seite 33 FB 5

34 UML Diagramme Diagrammtypen UML 2 kennt insgesamt 14 Diagramme Strukturdiagramme (7) : Beschreiben die statischen Aspekte von Objekten Verhaltensdiagramme (7) : Beschreiben die Dynamik zwischen den Objekten Strukturdiagramme Klassendiagramm Kompositionsdiagramm Komponentendiagramm Verteilungsdiagramm Objektdiagramm Paketdiagramm Profildiagramm Verhaltensdiagramme Anwendungsfalldiagramm Aktivitätsdiagramm Sequenzdiagramm Kommunikationsdiagramm Interaktionsübersichtsdiagramm Zeitverlaufsdiagramm Zustandsdiagramm FH D Seite 34 FB 5

35 Anwendungsfalldiagramm Anwendungsfalldiagramm Zusammenwirken von Akteuren mit einem System Verbale Beschreibung der abgebildeten Tätigkeiten Elemente Akteur Benutzer-Rolle bei Interaktion mit dem System Symbolisiert durch ein Strichmännchen System Software mit der geforderten Funktionalität Symbolisiert durch ein Rechteck Use Case Anwendungsfall eines Systems nach außen hin Symbolisiert durch eine Ellipse Assoziation Verbindungslinie zwischen Akteur und Use Case Symbolisiert durch eine einfache Linie System Use Case FH D Seite 35 FB 5

36 Anwendungsfalldiagramm Beispiel: Bank Kunde soll Konto eröffnen können und Geld überweisen Bank Betrag überweisen Kunde Konto eröffnen Berater FH D Seite 36 FB 5

37 Klassendiagramm Klassendiagramm Beschreibt den logischen Aufbau des Systems Sichtweise ist statischer Natur Klassen Symbolisiert durch ein Rechteck Unterteilung in drei Bereiche Oben : Name Mitte : Eigenschaften Unten : Methoden Sichtbarkeit Minuszeichen "-" : privates Klassenmerkmal Pluszeichen "+" : öffentliches Klassenmerkmal Definition von Eigenschaften Name u. Datentyp getrennt durch Doppelpunkt Definition von Methoden Name u. Datentyp des Rückgabewertes Getrennt durch einen Doppelpunkt Kunde - Name : String - KtoNr : int - nameaendern - KtoNrAendern Girokonto - Kontostand - Zinssatz + auszahlen() + einzahlen() FH D Seite 37 FB 5

38 Klassendiagramm Assoziation Semantische Beziehung zwischen zwei oder mehreren Objekten Lieferant Kunde Symbolisiert durch eine Verbindungslinie Ohne Pfeil: ungerichtete Assoziation Beziehung ist in beiden Richtungen navigierbar Mit Pfeil: gerichtete Assoziation Firma schickt Werbung Person Pfeilrichtung gibt Zugriffsrichtung an Bsp: Firma schickt Werbung an Person Kardinalitäten Aussage über die Anzahl der Objekte eines Typs, die in Beziehung stehen können Symbolisiert durch Auflistung der Anzahl, z.b. Tochter 1..n 1 Vater 1 : genau ein Objekt 0..* : null bis beliebig viele Objekte 2..n : mindestens zwei, maximal n Objekte Bsp.: Ein Kunde kann 1 bis n Konten haben Tochter 1 1..n Unsinn Vater FH D Seite 38 FB 5

39 Klassendiagramm Aggregation Aggregation ist Sonderform der Assoziation Beschreibung der Zusammensetzung eines Objekts (Aggregats) aus mehreren Einzelteilen Symbolisiert durch eine offene Raute Bsp.: Kapitän gehört zu einer Crew, kann aber auch ohne Crew existieren Komposition Komposition ist verstärkte Form der Aggregation Einzelteile sind existenzabhängig und können ohne das Aggregat nicht existieren Symbolisiert durch eine gefüllte Raute Bsp.: Ein Haus besteht aus mehreren Zimmern, ein Zimmer ohne Haus kann nicht existieren Vererbung Hierarchische Strukturierung von Klassen Ganzes Crew Ganzes Haus Fähre Teil Kapitän Teil Zimmer Boot FH D Seite 39 FB 5

40 Klassendiagramm Beispiel: Bank Kunde hat verschiedene Konten bei einer Bank Bank verwendet Konto 1 1..n Konto hat Bank Giro-Konto Spar-Konto Kunde Buchungsposten nur existent, wenn es ein Girokonto gibt. besteht aus 1 0..* Buchungsposten FH D Seite 40 FB 5

41 Sequenzdiagramm Sequenzdiagramm Zeitlicher Verlauf des Nachrichtenaustauschs zwischen Objekten :Objekt A :Objekt B Lebenslinie Zeitabschnitt, in dem das Objekt existiert. Aktivierung Bereich, in dem eine Methode des Objekts aktiv ist, bzw. ausgeführt wird. Nachricht 1 Antwort 1 Nachricht 2 Antwort 2 Objekt, Name des Objekts, dargestellt durch einen Unterstrich. Nachrichten Methodenaufruf und Rücksprung. FH D Seite 41 FB 5

42 Sequenzdiagramm Beispiel: Bank Kunde eröffnet ein Konto bei der Bank und "testet" den Geldautomaten ;-) :Kunde :Berater : Geldautomat eröffnekonto() zeigeausweis() return() unterschreiben() return() return() auszahlen() new() return() :Konto return() FH D Seite 42 FB 5

43 Softwaretechnik pragmatisch "gedacht" FH D Seite 43 FB 5

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Software 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 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,

Mehr

Kapitelü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? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Klausurvorbereitung Software Engineering I @ TFH Berlin

Klausurvorbereitung Software Engineering I @ TFH Berlin Teil 1 Einführung in Software Engineering Definition: Was ist Software Engineering? Unter Software Engineering (SE) versteht man den systematischen, disziplinierten und in seiner Größe abschätzbaren Ansatz,

Mehr

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010 Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010 Objektorientierter Softwareentwurf mit UML Grundlagen Neubearbeitung 2010 PGOS2010 I Objektorientierter Softwareentwurf mit UML - Grundlagen

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Software-Lebenszyklus

Software-Lebenszyklus Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Einführung in die Informatik

Einfü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

Mehr

Übungen zur Softwaretechnik

Ü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

Mehr

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

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

Mehr

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt. Software Engineering Dokumentation von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Mehr

Übungsaufgaben zum Software Engineering: Management

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

Mehr

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

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

Mehr

Teil VII. Software Engineering

Teil VII. Software Engineering Teil VII Software Engineering Überblick 1 Einführung 2 Der Softwareentwicklungsprozess 3 Methoden und Werkzeuge Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 7 1 Einführung Die Softwarekrise

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte 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

Mehr

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014 Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme

Mehr

7. Analyse-Phase: Datenmodellierung Software Engineering

7. Analyse-Phase: Datenmodellierung Software Engineering 7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext

Mehr

Einführung in die SWE

Einführung in die SWE Einführung in die SWE Inhalte der Vorlesung Allgemeine Ziele der Lehrveranstaltung Entwickeln einer kleinen Applikation nach professionellem Vorgehensmodell Erlernen des objektorientierten Herangehens

Mehr

Systematisches Testen von Software

Systematisches Testen von Software Programmierung Systematisches Testen von Software Markus Eckstein Systematika Information Systems GmbH Kurfürsten-Anlage 36 69115 Heidelberg markus.eckstein@systematika.com Zusammenfassung Die wichtigsten

Mehr

16 Architekturentwurf Einführung und Überblick

16 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

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

Mehr

Software-Entwicklung

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

Mehr

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG YAKINDU Requirements Requirements Engineering, Management and Traceability with Eclipse Lars Martin, itemis AG Agenda YAKINDU Requirements Motivation: Warum Requirements Engineering? Grundlagen: Requirements

Mehr

Inhalte der Veranstaltung

Inhalte der Veranstaltung Inhalte der Veranstaltung 5. Anwendungssysteme 5-4 6. Entwurf von Anwendungssystemen 6.1 Datenmodellierung 6-1 6.2 Geschäftsprozessmodellierung 6-32 6.3 Entwurf von Datenbanken 6-79 6.4 Nutzung von Datenbanken

Mehr

Erstellung eines Pflichtenhefts (I)

Erstellung eines Pflichtenhefts (I) 2. Anforderungsanalyse Erstellung eines Pflichtenhefts (I) Annahme: Es liegt ein "gutes" Lastenheft vor Was fehlt noch? Details... gemeinsame Sprache Glossar gemeinsames Verständnis der Funktion Funkt.

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Grundlagen der Programm- und Systementwicklung

Grundlagen der Programm- und Systementwicklung Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Alexander Malkis,

Mehr

Informationsmanagement in Organisationen Überblick

Informationsmanagement in Organisationen Überblick Informationsmanagement in Organisationen Überblick Wolfgang H. Janko Andreas Geyer-Schulz Stefan Koch Edward Bernroider Abteilung für Informationswirtschaft Institut für Informationsverarbeitung und Informationswirtschaft

Mehr

Software Engineering (SE)

Software Engineering (SE) Software Engineering (SE) 1) Einführung Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik Kontakt: anja.metzner@hs-augsburg.de Studiengang WiBac 4 (Stand: 15.03.2014), Hochschule Augsburg,

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

Professionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 (30.06.2003):

Professionelles 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

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014 Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase

Mehr

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

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

Mehr

Testmanagement in IT-Projekten

Testmanagement in IT-Projekten Teil 1: Projektmagazin 05/20009 Teil 2: Projektmagazin 06/2009 1 Test: Prozess, bei dem ein Programm oder ein Software-System ausgeführt wird, um Fehler zu finden Teil 1: Projektmagazin 05/20009 Teil 2:

Mehr

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

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

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

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

Mehr

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

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

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

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

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

Kurzreferenz UML. Autor: Michael Puff. Stand: 2010-05-21. http://www.michael-puff.de mail@michael-puff.de

Kurzreferenz UML. Autor: Michael Puff. Stand: 2010-05-21. http://www.michael-puff.de mail@michael-puff.de Kurzreferenz UML Autor: Michael Puff Stand: 2010-05-21 http://www.michael-puff.de mail@michael-puff.de Inhaltsverzeichnis Inhaltsverzeichnis 1 Die Modellierungssprache UML 5 1.1 Definition Klasse - Objekt......................

Mehr

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung

Mehr

2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik

Mehr

Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung

Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung Uwe Hehn TAV Februar 2005 Hochschule Bremen Uwe.Hehn@methodpark.de Abnahmetest: Warum brauchen wir denn so etwas? Projektabnahme

Mehr

Agile Methoden bei der Entwicklung medizinischer Software

Agile Methoden bei der Entwicklung medizinischer Software Agile Methoden bei der Entwicklung medizinischer Software Bernhard Fischer Fischer Consulting GmbH Fischer Consulting GmbH Technologie-Forum 2008 Folie 1 Wie soll Software entwickelt werden? Fischer Consulting

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester 2004 Das Komponentendiagramm Dient Darstellung

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander?

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander? INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung Rütistrasse 9, Postfach 5401 Baden, Switzerland Phone: +41 56 222 65 32 Internet: www.infogem.ch Robust und Agil gegeneinander oder miteinander?

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 10. Vorlesung 1 Test...(4) Oberflächentests testen die Benutzerschnittstelle des Systems, nicht nur auf Fehlerfreiheit sondern z.b. auch auf Konformität mit

Mehr

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander?

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander? INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung Rütistrasse 9, Postfach 5401 Baden, Switzerland Phone: +41 56 222 65 32 Internet: www.infogem.ch Robust und Agil gegeneinander oder miteinander?

Mehr

UML Notation für objektorientierte Systeme

UML Notation für objektorientierte Systeme UML Notation für objektorientierte Systeme Die Unified Modeling Language (UML) ist eine graphische Notation, eine visuelle Modellierungssprache [UML Referenz], die es erlaubt die Artefakte eines Softwaresystems

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

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

Mehr

Softwaretechnik WS 2013/14. Fomuso Ekellem

Softwaretechnik WS 2013/14. Fomuso Ekellem WS 2013/14 Organisatorisches Dozentin : Ango (Raum 2.250) Fragen und Übungen: mathe_ekellem@yahoo.com (Nur hier, sonst wird nicht bewertet) Folien: http://www.gm.fh-koeln.de/~afomusoe/softwaretechnik.html

Mehr

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1 Test Dipl. Wirtsch. Ing. Alexander Werth 9-1 Phasen der Problemdefinition Anforderungsanalyse Spezifikation Entwurf Implementation Erprobung Wartung Methoden der 9-2 Software Test / Erprobung Messen der

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Lösungsvorschlag für Übungsblatt 4 Software Engineering 1 (WS 2012/13)

Lösungsvorschlag für Übungsblatt 4 Software Engineering 1 (WS 2012/13) Prof. Ina Schaefer Software Systems Engineering TU Braunschweig Lösungsvorschlag für Übungsblatt 4 Software Engineering 1 (WS 2012/13) Ausgabe: Kleine Übung: 07. Dezember/10. Dezember 2012 Abgabe: Kleine

Mehr

Software Engineering und Projektmanagement Fragenausarbeitung der Prüfung vom 26.04.2007

Software Engineering und Projektmanagement Fragenausarbeitung der Prüfung vom 26.04.2007 Software Engineering und Projektmanagement Fragenausarbeitung der Prüfung vom 26.04.2007 Christoph Redl Quelle der Fragen: http://www.informatik-forum.at/showthread.php?t=54097 1 SCRUM Prinzip + Vorteile

Mehr

1 Objektorientierte Software-Entwicklung

1 Objektorientierte Software-Entwicklung 1 Objektmodellierung 1 Objektorientierte Software-Entwicklung Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Wissen, was unter objektorientierter

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

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

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem

Mehr

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

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

Mehr

Klausurvorbereitung Software Engineering I @ TFH Berlin

Klausurvorbereitung Software Engineering I @ TFH Berlin Teil 1 Einführung in Software Engineering Definition: Was ist Software Engineering? Unter Software Engineering (SE) versteht man den systematischen, disziplinierten und in seiner Größe abschätzbaren Ansatz,

Mehr

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung 30.10.2008 Dr. Georg Pietrek, itemis AG Inhalt Wer ist itemis? Modellgetriebene Entwicklung Ein Praxis-Beispiel Fazit 2 Vorstellung IT-Dienstleister Software-Entwicklung

Mehr

Softwaretechnik für den Entwurf

Softwaretechnik für den Entwurf Projektseminar RIKA Wintersemester 1999/2000 18.11.1999 Holm Wegner, Florian Matthes Entwurfsphase: Einordnung Planungsphase Lastenheft Definitionsphase Pflichtenheft Entwurfsphase Produktentwurf Implementierungsphase

Mehr

Testen im Software- Entwicklungsprozess

Testen im Software- Entwicklungsprozess Technologie-Event 2006 Testen im Software- Entwicklungsprozess W.Lukas, INGTES AG Was nicht getestet wurde, funktioniert nicht. -- R.Güdel (ca. 1998) Seite 2 Was sollen wir tun? Anomalien & Defekte von

Mehr

Prozesskette Funktionsdaten und Funktionsmodelle

Prozesskette Funktionsdaten und Funktionsmodelle Prozesskette Funktionsdaten und Funktionsmodelle Stuttgart, 11. Februar 2015 D. Ruschmeier 2/15 Wesentliche Eingangsparameter für die funktional-basierten Berechnungsverfahren sind: Anforderungs-, Modellbeschreibungen

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 5. UML Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 5. UML 2 Unified Modeling Language (UML) Standardisierte grafische Notationen um Strukturen und Abläufe eines

Mehr

Anforderungsmanagement im Projekt BIS-BY. BIS-BY: Requirement Management

Anforderungsmanagement im Projekt BIS-BY. BIS-BY: Requirement Management Anforderungsmanagement im Projekt BIS-BY von B. KREUZER Schlüsselwörter: Änderungswünsche, Anforderungsmanagement, DOORS Kurzfassung Softwaresysteme unterliegen während ihrer Entwicklung und während ihres

Mehr

Objektorientierte Analyse und Design

Objektorientierte Analyse und Design Folien basieren auf folgendem Buch: Objektorientierte Analyse und Design Kernziele: Strukturen für erfolgreichen SW-Entwicklungsprozess kennen lernen Realisierung: Von der Anforderung zur Implementierung

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 9. Vorlesung 1 Pläne Kein Plan überlebt die erste Feindberührung - Feldmarschall Helmuth von Moltke Prognosen sind schwierig, besonders wenn sie die Zukunft

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Was ist Software-Architektur?

Was ist Software-Architektur? Was ist Software-Architektur? Stephan Schulze Martin Knobloch 28.04.2004 Seminar: Software-Architektur Humboldt Universität zu Berlin sschulze knobloch@informatik.hu-berlin.de Gliederung Begriffsbestimmung

Mehr

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

Qualitä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.

Mehr

Software Engineering in

Software Engineering in Software Engineering in der Werkzeuge für optimierte LabVIEW-Entwicklung Folie 1 Best Practices Requirements Engineering Softwaretest Versionsmanagement Build- Automatisierung Folie 2 Arbeiten Sie im Team?

Mehr

Software Engineering. 2. Requirements Engineering. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 2. Requirements Engineering. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 2. Requirements Engineering Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 2. Requirements Engineering 2 Definitionen Anforderungen (Requirements) legen fest,

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

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

Mehr

Informationswirtschaft II

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

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim Software- Der Strategien und ist der zum Definieren der Architektur, der Komponenten, der Schnittstellen und anderer Charakteristika (Datenstrukturen, Algorithmen etc.) eines Systems oder einer Komponente

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung Übersicht s s Gregoire Kemgne 1 Motivation Problem: Software wird immer größer und komplexer, dadurch ist diese immer schwerer zu überschauen Ein Projekt benötigt mehr Zeit und/oder Entwickler. Lösung:

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Softwaretechnik (Medieninformatik) Überblick

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

Mehr

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

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

Mehr

Software Engineering

Software Engineering Software Engineering Informatik II. 10. Software-Entwicklung Konfigurations-Management Dipl.-Inform. Hartmut Petters Vorwort was ich noch zu sagen hätte... Basis dieser Vorlesung sind vor allem die folgenden

Mehr

Praktikum Software Engineering: Verfahren und Werkzeuge

Praktikum Software Engineering: Verfahren und Werkzeuge Praktikum Software Engineering: Verfahren und Werkzeuge Lehrstuhl für Software Engineering (Informatik 11) Verfahren und Werkzeuge Seite 1 Software Engineering Absichten, Aufgaben Systemnutzung Anforderungsspezifikation

Mehr

Prozess-Modelle. Modelle. Einführung in UML

Prozess-Modelle. Modelle. Einführung in UML Modelle Prozess-Modelle Wasserfallmodell V-Modell Prototypenmodell Evolutionäres/inkrementelles Modell Objektorientiertes Modell Nebenläufiges Modell Spiralmodell Einführung in UML Klassendiagramme Anwendungsfalldiagramme

Mehr

Methodenbasiert in der Durchführung V-Modell XT-konform im Ergebnis

Methodenbasiert 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

Mehr