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

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

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

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

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

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

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

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

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

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

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

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

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

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

Klassendiagramm. (class diagram)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Teil IX. Software Engineering

Teil IX. Software Engineering Teil IX Software Engineering Überblick 1 Einführung 2 Der Softwareentwicklungsprozess 3 Methoden und Werkzeuge Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 636/666 Die Softwarekrise

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

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

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

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

Techniken der Projektentwicklung

Techniken der Projektentwicklung diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!

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

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

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

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

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

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

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

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

J.2 Objektorientiertes Modellieren mit UML

J.2 Objektorientiertes Modellieren mit UML Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Ministerium für Kultus, Jugend und Sport Baden-Württemberg

Ministerium für Kultus, Jugend und Sport Baden-Württemberg Anlage zu 45-6512-2420/31 Ministerium für Kultus, Jugend und Sport Baden-Württemberg Schulversuch 51-6624.20/100 (früher: /84) vom 26. August 2003 Lehrpläne für das berufliche Gymnasium der sechs- und

Mehr

SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST

SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST Gliederung 2 0. 1. 2. 3. Vorstellung Testvorbereitungen Planungsphase Definitionsphase Implementierungs-, Abnahme-und Einführungsphase Testphasen

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

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

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

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für

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

Software Engineering in der Praxis

Software Engineering in der Praxis Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

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