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

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

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

EINFÜHRUNG IN DIE 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

Klassendiagramm. (class diagram)

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

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

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

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

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

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

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

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

Mehr

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

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Software Engineering Interaktionsdiagramme

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

Mehr

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

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

Mehr

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

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

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler

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

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

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

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

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

Vorlesung Programmieren

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

Mehr

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

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

Ü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

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

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

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr -

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr - PRÜFUNG FÜR ELEKTROINGENIEURE Softwaretechnik I Musterlösung SS 12 - Ohne Gewähr - LfdNr. Thema Punkte Zeitbedarf in min 1 Analyse und Entwurf 15 30 2 Basistechniken und Test 15 30 3 Projektmanagement

Mehr

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT SWT II Projekt Chat - Anwendung Pflichtenheft 2000 SWT i Versionen Datum Version Beschreibung Autor 3.11.2000 1.0 erste Version Dietmar Matthes ii Inhaltsverzeichnis 1. ZWECK... 1 1.1. RAHMEN... 1 1.2.

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 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

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

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

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

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

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

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Was versteht man unter Softwaredokumentation?

Was versteht man unter Softwaredokumentation? Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie

Mehr

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

Mehr

Microsoft Update Windows Update

Microsoft Update Windows Update Microsoft bietet mehrere Möglichkeit, Updates durchzuführen, dies reicht von vollkommen automatisch bis zu gar nicht. Auf Rechnern unserer Kunden stellen wir seit September 2006 grundsätzlich die Option

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

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

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

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

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

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

IKP Uni Bonn Medienpraxis EDV II Internet Projekt IKP Uni Bonn Medienpraxis EDV II Internet Projekt WS 2001/2002 Dozentin: Lucie Prinz Grundlagen der Projektarbeit Was ist ein Projekt? Die Phasen eines Software Projektes Die Projektunterlagen Die Projektplanung

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

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

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

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

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern Windows XP in fünf Schritten absichern Inhalt: 1. Firewall Aktivierung 2. Anwendung eines Anti-Virus Scanner 3. Aktivierung der automatischen Updates 4. Erstellen eines Backup 5. Setzen von sicheren Passwörtern

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Klausur Software Engineering für WI (EuI)

Klausur Software Engineering für WI (EuI) Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 14. Februar 2006 Klausur Software Engineering für WI (EuI) Ihr Name: Ihre Matrikelnummer Erreichte Punkte (von insgesamt 57 Punkten):

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

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

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

Mehr

Informationswirtschaft II

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

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

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

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Das Warenwirtschaftswunder

Das Warenwirtschaftswunder Das Warenwirtschaftswunder UNSERE HISTORIE Mit Individualität zum Produkterfolg. Die Geschichte der VARIO Software GmbH beginnt schon einige Jahre vor ihrer Gründung. Zunächst auf Projektbasis programmierte

Mehr

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1.. Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart

Mehr

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004 Use Cases Die Sicht des Nutzers Fortgeschrittenenpraktikum SS 2004 Gunar Fiedler Lehrstuhl für Technologie der Informationssysteme Kontakt: fiedler@is.informatik.uni-kiel.de Use Cases 2 Was ist ein Use

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

Software Systems Engineering

Software Systems Engineering Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend

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

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

Praktikum Software Engineering

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

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

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

Blacktip-Software GmbH. http://www.blacktip-software.de FVS. Fahrschul-Verwaltungs-System. Umstieg von V3 auf V4

Blacktip-Software GmbH. http://www.blacktip-software.de FVS. Fahrschul-Verwaltungs-System. Umstieg von V3 auf V4 Blacktip-Software GmbH http://www.blacktip-software.de FVS Fahrschul-Verwaltungs-System Umstieg von V3 auf V4 Version 4.0 Dezember 2012 Die in diesem Handbuch enthaltenen Informationen können ohne besondere

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

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

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management

Mehr

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut

Mehr

SERVICE SUCHE ZUR UNTERSTÜTZUNG

SERVICE SUCHE ZUR UNTERSTÜTZUNG SERVICE SUCHE ZUR UNTERSTÜTZUNG VON ANFORDERUNGSERMITTLUNG IM ERP BEREICH MARKUS NÖBAUER NORBERT SEYFF ERP SYSTEME Begriffsbestimmung: Enterprise Resource Planning / Business Management Solution Integrierte

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. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 3. Anforderungsanalyse Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 3. Anforderungsanalyse 2 Definitionen Anforderungen (Requirements): Beschreibung aller

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