Organisatorisches „[SE]“ als Teil des -Betreffs

Slides:



Advertisements
Ähnliche Präsentationen
Netzplantechnik Stephan Köppen.
Advertisements

Business Engineering Philipp Osl, Alexander Schmidt
Die Schulkonsole für Lehrerinnen und Lehrer
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
RIS mit Treibereinbindung, Ewest/Rau, Windows 200x Musterlösung 1 RIS (mit Treibereinbindung) Teil 1 – Was ist RIS?
IT – Struktur an Schulen
Pflege der Internetdienste
Assoziationen Verbindungen zwischen Objekten einer Klasse
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Sequenzdiagramm.
Projektorganisationsformen
Java: Objektorientierte Programmierung
Abhängigkeitsbeziehung
Abstrakte Klassen.
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
Objektorientierte Konzepte und Notation in UML
Gliederung der Vorlesung Software Engineering WS 2001/2002
Übung Datenbanksysteme UML
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
– Team 2 Aktueller Projektleiter: Christian Krapp
Buch S70ff (Informatik I, Oldenbourg-Verlag)
Grundschutztools
Heute: Scherenzange zeichnen
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Rational Rose und UML: Erstellung einer Kontoverwaltung
Objektorientierte Modellierung
Objektorientierte Modellierung
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
6. Vorlesung: Statische Konzepte
10. Vorlesung: Dynamische Konzepte
Standard-Software Prof. Dr. Erik Jacobson Lehrveranstaltung im SS 2006
5 Methoden und Werkzeuge zur Prozessmodellierung
Delphi II - OOP IFB Fortbildung
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Entwurf und Realisierung des Add-On’s Projektmanagement in SiSy
Entwurfs- und Implementationsdiagramme
Übersicht Auf den folgenden Seiten wird Ihnen anhand einer kleinen Abteilung gezeigt, wie Sie PQM an Ihre Bedürfnisse anpassen können. Mitarbeiter einrichten.
1 Service H.-Georg Harries AGCO GmbH Inhalt Seite 2Allgemeines Seite 3 bis 12Programm Installationshinweise Seite 13 bis 22Programmierungshinweise.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Information und Kommunikation
Konzepte der objektorientierten Programmierung
Objektorientierte Analyse
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
UML-Kurzüberblick Peter Brusten.
UML Modellierung des Verhaltens von Klassen und Objekten
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
SWT-Übung WS 10/ Zusammenfassung.
Klassen und Klassenstruktur
Bienert EDV Software für das 21. Jahrhundert Der Vermieter ist eine universelle Lösung für jeden Vermieter. Durch reichhaltige Anpassungsmöglichkeiten.
1 VeranstaltungThemaVortragende AINF-Lehrgang 2003 Titel: Grundlagen der Objektorientierten Programmierung Name: Gruppe Programmierung.
Das IT - Informationssystem
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Aufgabe 4 Betrachten Sie das unten dargestellte Klassendiagramm, das für eine Bibliothek zur Verwaltung ihrer Buchbestände modelliert wurde. Modellieren.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Software-Demo: CASE-Tool „Together“
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
November 18 Informatik Kurse
4. Modellieren und Diagrammarten
1. Die rekursive Datenstruktur Liste 1.5 Das Entwurfsmuster Kompositum
1. Die rekursive Datenstruktur Liste 1
 Präsentation transkript:

2. Übung zu Software Engineering WS 2007/2008

Organisatorisches „[SE]“ als Teil des E-Mail-Betreffs nicht: SE, Software Engineering, Blatt 01 etc. Abgabe: EINE pdf-Datei, spätestens 11:30 Uhr nicht: xls, doc, rar oder zip 2 HiWis für die Korrektur der Übungszettel

Aufgabe 2 Die Durchführung eines Großprojekts sei in die folgenden Vorgänge untergliedert: Nummer Vorgänger Dauer 1 - 6 2 5 3 7 4 1;2 9 11 8 3;4;6

Aufgabe 2a) Erstellen Sie einen Projektplan für das beschriebene Projekt mit einem Projektplanungstool Ihrer Wahl. Gehen Sie davon aus, dass das Projekt mit 4 Mitarbeitern am 12. November 2007 beginnt und dass jeder Vorgang nur von genau einem Mitarbeiter bearbeitet werden kann. Bestimmen Sie den kritischen Pfad des Projekts. Wann ist das Projekt abgeschlossen?

Aufgabe 2a) Vorgänge eingeben und verknüpfen Vorgangsdauer eintragen siehe Tabelle Vorgangsdauer eintragen Ressourcen eintragen und zuordnen 4 beliebige Ressourcen anlegen jeder Vorgang darf nur von einer Ressource bearbeitet werden Kritischer Pfad: Vorgänge 1, 5, 6 und 9 Frühester Endtermin: 13. Dezember 2007 Dauer: 24 Werktage bzw. 32 Kalendertage (inkl. Wochenenden)

Aufgabe 2a)

Aufgabe 2b) Erstellen Sie einen Netzplan für das Projekt und bestimmen Sie für jeden Vorgang den frühesten Anfang, das späteste Ende sowie die Pufferzeit. Ermitteln Sie erneut den kritischen Pfad. Setzen Sie dabei den Anfang des ersten Vorgangs auf 0 statt mit konkreten Datumsangaben zu rechnen. Stimmt der so ermittelte kritische Pfad mit dem aus Ihrem Projektplan überein?

Aufgabe 2b) Netzplantechnik frühester Anfang spätestes Ende Pufferzeit Vorwärtsterminierung FAi = max{FAj + Dauerj mit j ∈ Vorgänger von Vorgang i} FAStartvorgang = 0 spätestes Ende Rückwärtsterminierung SEi = min{FAj - Dauerj mit j ∈ Nachfolger von Vorgang i} SEEndvorgang = max{FAj + Dauerj mit j ∈ Vorgänger von Endvorgang} Pufferzeit PZ = SA - FA = SE - FA - Dauer, da SA = SE - Dauer kritischer Pfad = Vorgänge mit 0 Pufferzeit frühestes Ende, spätester Anfang

Aufgabe 2b) 3 8 6 16 16 24 1 7 3 5 3 6 6 4 9 6 16 16 24 2 9 1 6 8 6 12 16 5 1 4 5 6 12 6 7 Nr. 12 24 FA SE 11 1 D PZ

Aufgabe 2b) Vorgang 1 Vorgang 2 Vorgang 3 Vorgang 4 Vorgang 5 Dauer = 6 FA = 0 (per Definition) SE = min(16 - 7;16 - 9;12 - 6) = 6 PZ = 6 - 6 - 0 = 0 Vorgang 2 Dauer = 5 SE = min(16 - 9; 12 - 6) = 6 PZ = 6 - 5 - 0 = 1 Vorgang 3 Dauer = 7 FA = max(0 + 6) = 6 SE = min(24 - 5; 24 - 8) = 16 PZ = 16 - 7 - 6 = 3 Vorgang 4 Dauer = 9 FA = max(6 + 0; 5 + 0) = 6 SE = min(24 - 8) = 16 PZ = 16 - 9 - 6 = 1 Vorgang 5 Dauer = 6 SE = min(16 - 4; 24 - 11) = 12 PZ = 12 - 6 - 6 = 0 Vorgang 6 Dauer = 4 FA = max(6 + 6) = 12 SE = min(24 - 5; 24 - 8) = 16 PZ = 16 - 12 - 4 = 0

Aufgabe 2b) Vorgang 7 Vorgang 8 Vorgang 9 Dauer = 11 FA = max(6 + 6) = 12 SE = max(12 + 11; 16 + 5; 16 + 8) = 24 PZ = 24 - 12 - 11 = 1 Vorgang 8 Dauer = 5 FA = max(7 + 6; 9 + 6; 4 + 12) = 16 PZ = 24 - 16 - 5 = 3 Vorgang 9 Dauer = 8 PZ = 24 - 16 - 8 = 0

Aufgabe 2c) Für das Projekt steht kurzfristig ein weiterer Mitarbeiter zur Verfügung. Dieser Mitarbeiter darf ausnahmsweise als zweite Ressource für beliebige Vorgänge eingesetzt werden. Als zusätzliche Einschränkung sei angenommen, dass dieser Mitarbeiter einem Vorgang entweder ganz oder gar nicht zugeordnet, d.h. nicht überlastet werden darf. Wie lässt sich die Projektdauer minimieren, wenn die sonstigen Zuordnungen von Ressourcen zu Vorgängen bestehen bleiben? Welche Auswirkungen hat dies auf den kritischen Pfad und den Projektendtermin?

Aufgabe 2c) Höchstes Minimierungspotenzial befindet sich auf dem kritischen Pfad Neue Ressource sukzessive den Vorgängen zuordnen kritischer Pfad ändert sich nach jeder Zuordnung nach jeder Zuordnung neu über die nächste Zuordnung entscheiden neuen Mitarbeiter den Vorgängen 1, 5 und 9 zuordnen Vorgang 7 auch möglich, ändert den Endtermin aber nicht Neue kritische Pfade Vorgänge 2, 4 und 8 Vorgänge 2, 5 und 7 (falls Vorgang 7 ohne neuen Mitarbeiter) Frühester Endtermin: 06. Dezember 2007

Aufgabe 2c) vorher: nachher:

Aufgabe 3 Das fiktive Geldinstitut Bank365 beauftragt Sie mit der Entwicklung eines Prototypen zur Verwaltung ihrer Bestandsdaten. Das Softwaresystem soll die grundlegenden Funktionalitäten zur Verfügung stellen, die von einer Bankensoftware erwartet werden: Kunden und deren Konten sollen verwaltet sowie deren Kontobewegungen aufgezeichnet werden. Als Teil ihres ausgeklügelten Geschäftsmodells will die Bank ihre Konten darüber hinaus in Unter- bzw. Oberkonten strukturieren können, wobei die Tiefe dieser Struktur nicht begrenzt sein soll.

Aufgabe 3a) Erstellen Sie für das beschriebene Szenario ein UML Klassendiagramm. Ordnen Sie dabei die folgenden Methoden sinnvoll einer von Ihnen modellierten Klasse zu: void überweisen(String ziel, double betrag) void einzahlen(double betrag) void abheben(double betrag)

Aufgabe 3a) benötigte Klassen, Attribute und Methoden Kunde Bank Konto Attribute: Name, Vorname, Geburtstag, Anschrift, ... Methoden: berechneAlter() Bank Attribute: - Methoden: abheben(), erzeugeKonto(), überweisen() Konto Attribute: kontonummer, kontostand, letzterKontoauszug Methoden: abheben(), einzahlen(), überweisen(), kontoauszugDrucken() Kontobewegung Attribute: betrag, datum, kommentar Methoden: -

Aufgabe 3a) Konten sollen in Ober- und Unterkonten strukturiert werden können Assoziation der Klasse Konto zu sich selbst reflexive Assoziation bzw. Hierarchie Kardinalitäten ein Konto hat 0..1 Oberkonten und 0..* Unterkonten Kontobewegungen sind Teil eines Kontos Komposition (starke Aggregation) jede Kontobewegung gehört zu genau einem Konto mit dem Konto sollen auch alle Kontobewegungen gelöscht werden eine Kontobewegung gehört zu genau einem Konto, ein Konto kann beliebig viele Kontobewegungen besitzen

Aufgabe 3a)

Aufgabe 3a) Klasse Bank365 nicht modelliert wer verwaltet sonst Kunden und Konten? Oberklasse Konto, Unterklassen Ober- und Unterkonto wenig sinnvoll, da sich Ober- und Unterkonto nicht unterscheiden Kontobewegung als String-Attribut nicht sehr elegant, da String-Arithmetik notwendig nicht objektorientiert Komposition zwischen Konto und Kontobewegung nicht unbedingt notwendig, stellt den Sachverhalt aber präziser dar Wichtig dabei nur: Konsistenz!

Aufgabe 3b) Erstellen Sie für die folgenden Anwendungsfälle jeweils ein UML Sequenzdiagramm: Überweisen von 100 Euro auf das Konto 200 300. Abheben von 500 Euro vom eigenen Konto. Ausdrucken aller Kontobewegungen, die seit dem letzten Ausdruck stattgefunden haben. Gehen Sie bei der Bearbeitung der Aufgabe davon aus, dass sämtliche Aktionen ohne Fehler durchgeführt werden können. Ergänzen Sie gegebenenfalls fehlende Attribute und/oder Methoden in Ihrem Klassendiagramm.

Aufgabe 3b) Sequenzdiagramm Veranschaulichung von zeitlichen Vorgängen Nachrichten, Antworten, beteiligte Objekte dokumentieren Kommunikations- und Interaktionsprozesse sehr implementierungsnah Nachricht = Methoden- bzw. Funktionsaufruf Antwort = Rückgabewert (evtl. void) wichtigste Frage: Woher kennen sich Objekte? (Konsistenz) selbst erzeugtes Objekt (<<erzeuge>>) Objekt einer Nachbarklasse (Assoziation) ermitteltes Objekt (Rückgabewert von Methoden)

Aufgabe 3b) Überweisen von 100 Euro auf das Konto 200 300.

Aufgabe 3b) Abheben von 500 Euro vom eigenen Konto.

Aufgabe 3b) Ausdrucken aller Kontobewegungen, die seit dem letzten Ausdruck stattgefunden haben.

Aufgabe 3b) häufige Fehler Inkonsistenzen zwischen Klassen- und Sequenzdiagramm Objekte schicken sich Nachrichten, obwohl sich diese nicht kennen Sequenzdiagramm verwendet Objekte, die im Klassendiagramm nicht modelliert wurden Kommunikation zwischen den Objekten zu simpel dargestellt überweisen verlangt mehr als eine Nachricht erzeugen von Kontobewegungen nicht modelliert syntaktische Fehler im Sequenzdiagramm Lebenslinien Aktivitätsbalken löschen von Objekten

Literatur R. Holert: Microsoft Office Project 2003. Das Profibuch. Microsoft Press, 2004. H. Balzert: Lehrbuch der Software-Technik. Software Entwicklung. Spektrum Akademischer Verlag, 2000. Klassendiagramme: S. 163ff Assoziationen und Kardinalitäten: S. 186ff Aggregation und Komposition: S. 194ff Sequenzdiagramme: S. 209ff