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

Vorlesung Programmieren

Vorlesung Programmieren 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

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. 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

Mehr

1. Grundbegriffe des Software-Engineering

1. 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

Mehr

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 05. Basiskonzepte Sichten auf das Produkt PD-TES/Hoyer, Frank-Michael SWE1: 05. Basiskonzepte - Sichten 16. Juli 2010 geändert: 4. Oktober 2013 SW-Architektur

Mehr

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht Platz für ein Bild (optional) Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht 1.0 1.1 Elektronik? Was heisst modellbasierte Software-Entwicklung für uns? Was sind für eine

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12 Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

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

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

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

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Otto-von-Guericke Universität Magdeburg Fakultät für Informatik Prof. Dr. R. Dumke. Prüfungsklausur Softwaretechnik I. Bewertung

Otto-von-Guericke Universität Magdeburg Fakultät für Informatik Prof. Dr. R. Dumke. Prüfungsklausur Softwaretechnik I. Bewertung Otto-von-Guericke Universität Magdeburg Fakultät für Informatik Prof. Dr. R. Dumke Prüfungsklausur Softwaretechnik I A Bewertung Aufgabe 1 (2 Punkte): Für die phasenbezogene Software-Entwicklung (Problemdefinition

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

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

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

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Software 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

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

IT-Projekt-Management

IT-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

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Weiteren Verlauf der Vorlesung 31.10.2011(2 Std) OO Vorgehensmodelle, UML, Teamarbeit, Gruppenbildung,. 07.11.2011(2,5Std) Projektvorstellung, Planungsphase 14.11.2011(2 Std) Angebotspräsentation,

Mehr

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller UML Crashkurs v0.1 UML für Fachinformatiker von Hanjo Müller 3. Mai 2005 Inhaltsverzeichnis Inhaltsverzeichnis 1 UML - Unified Modeling Language 3 2 UML im Software Entwurf 4 2.1 Ablauf der Softwareentwicklung.............................

Mehr

Software Engineering

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

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 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

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

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

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Softwarearchitekturen I Softwareentwicklung mit Komponenten Softwarearchitekturen I Softwareentwicklung mit Komponenten Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Softwarearchitekturen I 1 Beispiel: Bibliothekssystem

Mehr

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das 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?

Mehr

Softwaretechnik. Fomuso Ekellem

Softwaretechnik. Fomuso Ekellem WS 2011/12 Inhalt Entwurfsphase Systementwurf Software Architektur Entwurf Software Komponenten Entwurf Struktur Verhalten OO Entwurf (OOD) 2 Entwurfsphase 3 Entwurfsphase Lernziele Aufgaben der Entwurfsphase

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

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

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

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

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (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

Mehr

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur Hochschule Darmstadt Fachbereich Informatik Softwaretechnik II 4.1 Darstellung der Architektur Darstellung der Architektur Was macht ein Architekt? Viele Pläne! Endkunde Elektro Bauarbeiter Sanitär Softwaretechnik

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

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

Softwaretechnik Unified Modeling Language (UML)

Softwaretechnik Unified Modeling Language (UML) Softwaretechnik Unified Modeling Language () Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She s so charismatic, and she s brilliant and beautiful. I mean, a real artist, and,

Mehr

Übersicht der UML Diagramme

Übersicht der UML Diagramme Dieser Fachbeitrag ist ein Service der InfraSoft Profis für Ihre professionelle Softwareentwicklung. Übersicht der UML Diagramme Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von

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

Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung

Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung Skript zur Vorlesung Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung IT Kompaktkurs Sommersemester 2001 Prof. Dr. Herbert Fischer Fachhochschule Deggendorf 1 Methoden für Entwurf und Realisierung

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

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

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

Programmieren in Java

Programmieren in Java FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML

Mehr

Vorgehensmodelle zur Softwareentwicklung

Vorgehensmodelle 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

Ü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

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

Softwarepraktikum SS 2005 Inhalt - VL 10. Softwaretechnik. Softwareentwicklungszyklus (2) Wasserfallmodell. Softwareentwicklungszyklus

Softwarepraktikum SS 2005 Inhalt - VL 10. Softwaretechnik. Softwareentwicklungszyklus (2) Wasserfallmodell. Softwareentwicklungszyklus Softwarepraktikum SS 2005 Inhalt - VL 10 1 Softwaretechnik 2 Anforderungsanalyse 3 Systemmodelle Softwaretechnik Technische Disziplin, mit dem Ziel, kosteneffektiv Softwaresysteme zu entwickeln Techniken

Mehr

Inhaltsverzeichnis.

Inhaltsverzeichnis. Wegweiser durch das Buch 1 1 Problembereich und Lösungsbereich 10 1.1.Unterschiede zwischen Problembereich und Lösungsbereich 10 1.2 Paradigmen der Softwareentwicklung 12 1.3 Methoden für die verschiedenen

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

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML FH Wedel Prof. Dr. Sebastian Iwanowski

Mehr

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6. 6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information

Mehr

6. Programmentwicklung

6. Programmentwicklung 6. Programmentwicklung Fertigungsprozess Qualitativ hochwertige Software ist ein Industrieprodukt -> Methoden der Industrie übertragen auf der Herstellprozess -> Herstellprozess gliedert sich in Phasen

Mehr

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes Dozent: G.Döben-Henisch (Version vom 16.April 2005) PPmP VL2 VL2: Softwareprojekt - Anforderungsanalyse Inhalt 1. Struktur eines Softwareprojektes 2. Anforderungsanalyse 1. Struktur eines Softwareprojektes

Mehr

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

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

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen Folien zum Textbuch Kapitel 2: Planung, Entwicklung und Betrieb von IS Teil 4: Modellierung von betrieblichen Informationssystemen Textbuch-Seiten 209-245 WI Planung, Entwicklung und Betrieb von IS IS-Modellierung

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

Software Engineering und Projektmanagement

Software Engineering und Projektmanagement Software Engineering und Projektmanagement Motivation! Fachliche Sicht trifft auf technische Realisierung Entwurf 2009W - 5. November 2009 Andreas Mauczka Email: andreas.mauczka@inso.tuwien.ac.at Web:

Mehr

Requirements Dokumentation Seminar- Requirements Engineering. Manoj Samtani Oliver Frank

Requirements Dokumentation Seminar- Requirements Engineering. Manoj Samtani Oliver Frank Requirements Dokumentation Seminar- Requirements Engineering Manoj Samtani Oliver Frank 24.07.2007 TU Berlin SS 2007 Inhaltsübersicht Ziel des Dokumentierens Dokumentation vs. Spezifikation Qualitätskriterien

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. Maria Spichkova

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

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press Christoph Kecher UML2 Das umfassende Handbuch Galileo Press Vorwort 11 TEIL I Strukturdiagramme i '...,....,...,.;..,,,...,, 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (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

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

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

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

Software 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

Mehr

Anforderungsanalyse, Requirements Engineering

Anforderungsanalyse, Requirements Engineering Anforderungsanalyse, Requirements Engineering, Lastenheft, Pflichtenheft, Spezifikation, Zielgruppen Natürliche Sprache, Formulare Pflichtenheft, an ein Pflichtenheft von Funktionale, nicht-funktionale

Mehr

Systemanalyse. - Seminar für AI/DM 3 im Wintersemester 2004/05 -

Systemanalyse. - Seminar für AI/DM 3 im Wintersemester 2004/05 - Systemanalyse - Seminar für AI/DM 3 im Wintersemester 2004/05 - Prof. Dr. Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule Kaiserslautern,

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

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

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies OOAD in UML Seminar Software-Entwurf B. Sc. Sascha Tönnies Agenda 1. Einordnung des Themas im Seminar 2. UML kompakt 3. UML detailliert 4. Werkzeugunterstützung 2 Einordnung des Themas UML Hilfsmittel

Mehr

Softwaretechnik. Wesentliche Inhalte der Vorlesung

Softwaretechnik. Wesentliche Inhalte der Vorlesung Softwaretechnik Prof. Dr. Bernhard Schiefer schiefer@informatik.fh-kl.de http://www.informatik.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1 Wesentliche Inhalte der Vorlesung Phasen der Software-Entwicklung

Mehr

Anforderungsanalyse. 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! 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

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

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

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

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

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

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

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

SEA. Modellgetriebene Softwareentwicklung in der BA

SEA. Modellgetriebene Softwareentwicklung in der BA SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

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

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering Helmut Balzert Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering 3. Auflage Unter Mitwirkung von Heide Balzert Rainer Koschke Uwe Lämmel Peter Liggesmeyer Jochen Quante Spektrum

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

Software Engineering. 3. Analyse und Anforderungsmanagement

Software Engineering. 3. Analyse und Anforderungsmanagement Software Engineering 3. Analyse und Anforderungsmanagement Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz

Mehr