Übungen zur Softwaretechnik



Ähnliche Dokumente
Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Übungen zur Softwaretechnik

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Updatehinweise für die Version forma 5.5.5

teischl.com Software Design & Services e.u. office@teischl.com

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

1. Einführung. 2. Die Abschlagsdefinition

Software Engineering Klassendiagramme Assoziationen

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

ecaros2 - Accountmanager

Neuerungen PRIMUS 2014

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Was meinen die Leute eigentlich mit: Grexit?

Kostenstellen verwalten. Tipps & Tricks

Klausur Software Engineering für WI (EuI)

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Marketing Funnel INSIDERWISSEN INSIDERWISSEN: MARKETING FUNNEL

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

SJ OFFICE - Update 3.0

Einführung in Eclipse und Java

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

FIS: Projektdaten auf den Internetseiten ausgeben

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Hilfe zur Urlaubsplanung und Zeiterfassung

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

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

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Prüfung Software Engineering I (IB)

Internet Explorer Version 6

Installation von NetBeans inkl. Glassfish Anwendungs-Server

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

SWE5 Übungen zu Software-Engineering

ELO Print&Archive so nutzen Sie es richtig

e LEARNING Kurz-Anleitung zum Erstellen eines Forums 1. Wie erstellt man ein Forum?

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

WhiteStarUML Tutorial

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einfügen von Bildern innerhalb eines Beitrages

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Die Bundes-Zentrale für politische Bildung stellt sich vor

Bearbeiten elektronische Rechnungen (Invoices)

Benutzerhandbuch MedHQ-App

Schulungsunterlagen zur Version 3.3

Webseitenintegration. Dokumentation. v1.0

Wie Sie mit Mastern arbeiten

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

Prüfung Software Engineering I (IB)

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Professionelle Seminare im Bereich MS-Office

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

OP-LOG

Schnittstelle Drittmeldepflicht Ab ImmoTop

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Wärmebildkamera. Arbeitszeit: 15 Minuten

Die Wirtschaftskrise aus Sicht der Kinder

5. Bildauflösung ICT-Komp 10

Ihren Kundendienst effektiver machen

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Gimp Kurzanleitung. Offizielle Gimp Seite:

Solution Manager Kurzanleitung

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Erstellen einer in OWA (Outlook Web App)

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

EINFACHES HAUSHALT- KASSABUCH

Internet online Update (Internet Explorer)

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Kurzanleitung für das IdeaClouds-Whiteboard. 1. Ablauf eines Workshops... S Auf Whiteboard arbeiten... S FAQ.. S. 14

Die Invaliden-Versicherung ändert sich

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Quartalsabrechnung! " " " " " " " Stufe 1! Beheben von Abrechnungsfehlern" Stufe 2! Neue Abrechnung erstellen"

Grundlagen verteilter Systeme

Arbeiten mit UMLed und Delphi

Microsoft Access 2013 Navigationsformular (Musterlösung)

Anleitung für die Einrichtung weiterer Endgeräte in 4SELLERS SalesControl

Ferngesteuerte Logistikprozesse

Inhalt. Inhalt Voraussetzungen Liegenschaften und Adressen auswählen Abgleich mit Internet-Office Dokumente...

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

1 Was ist das Mediencenter?

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Anleitung OpenCms 8 Webformular Auswertung

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Einrichtung HBCI-Chipkarte in VR-NetWorld-Software

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Transkript:

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 Übungen zur Softwaretechnik Aufgabe 20 : Sichtbarkeiten a) Leiter können ihren Namen auslesen Name protected ; gleiches Paket => Ja b) Leiter können ihre ID auslesen ID private ; andere Klasse => nein c) Büroangestellte können ihre ID auslesen ID private ; andere Klasse => nein d) Büroangestellte können ihren Namen auslesen Name protected ; Oberklasse => ja e) Büroangestellte können ihre Berwertung auslesen Bewertung package; anderes Paket => nein f) Büroangestellte können den Kredit von Kunden auslesen Kredit protected; anderes Paket, keine Oberklasse => nein g) Personen können den Namen anderer Personen auslesen Name protected; gleiche Klasse => ja h) Personen können die ID anderer Personen auslesen ID private; gleiche Klasse => ja i) Leiter können den Kredit von Kunden auslesen Kredit protected; gleiches Paket => Ja für Java ; andere Klasse => nein für UML Aufgabe 21 : Verfeinerung a) Ermitteln von Klassen Eine Möglichkeit wäre, entsprechend Aufgabe 19) eine Webapplikation zu erstellen, die die Daten verwaltet. Zur Speicherung der Daten benötigt man eine Persistenzklasse, die die Daten speichert. Ebenfalls benötigt man eine Klasse, die die Ausgabe und Eingabe von Daten handhabt. Eine Applikationsklasse kann die Verarbeitung der Daten übernehmen und eine weitere Klasse den Seitenfluss der Anwendung. Konkret gibt es bei diesem Vorschlag also folgende Klassen: Controller (Seitenfluss) Application (Verarbeitung der Daten) Storage (Zugriff auf JDBC) generierte JSP-Klasse (für Ein und Ausgabe) Request (enthält HTML-Formulardaten) Seite 1 von 6

b) Einzeichen der implementierungsnahen Klassen Entsprechend der Lösung aus Aufgabe 19) werden hier die Klassen gemäß dem Schichten- Muster angewandt. Die Klassen JSP, Controller, Application und Storage sind dementsprechend über unidirektionale Assoziationen verbunden. Die hier gegebene Lösung ist noch nicht komplett, zeigt aber bereits die Kernelemente auf. c) Einzeichnen wichtiger Operationen Die Operationen sind in den Objekten des Schichten-Musters abgelegt. Die in Aufgabe 15 ermittelte Datenstruktur wird von der Applikationsschicht bearbeitet. Diese Schicht reicht die Daten entsprechend an die Klassen Storage und Controller weiter. In dieser Lösung werden nur ein paar der nötigen Operationen angegeben. Seite 2 von 6

d) Eintragen der Sichtbarkeiten Möchte man Sichtbarkeiten festlegen, so müssen bereits die Pakete Das in dieser Lösung verwendete Programm nutzt eine Spezialisierung der UML in dem die Sichtbarkeit package mit ~ ausgedrückt wird. Alternativ zu diesem Lösungsvorschlag könnte man mit der Sichtbarkeit protected zulassen, dass in einem anderen Paket eine neue angepasste Version der Software entwickelt wird, die auf die bestehenden Operationen zugreifen kann. Seite 3 von 6

Aufgabe 22 : Entwurfsmuster State a) Umsetzen des Statecharts mittels des Musters State Die Klasse Verkauf hält ihren aktuellen Zustand in einem Attribut. Weitere Attribute dienen zur Unterstützung der Ausgabe des Automaten. So muss zum Beispiel bei der Ausgabe der Nachricht Rechnung die Bankverbindung angegeben werden. Die Start-Transition wird im Konstruktor der Klasse ausgeführt. Des Weiteren existiert noch eine Methode für das Unmarschalling der Nachrichten.!" " "! # $ $$# $ % & ' ( ) * $$, *,, # $ & % - (. & - ) % /, $, - 0 # $ % 1 % 2 2 ' ( ) / $$, $, - 0 *, $, - 3 *, $, - 4 *, $, - 5 # $ 2 %. % &. % # 2 % & / 6 $, $, - 0 *, $, - 3 *, $, - 4 # $ % 1 - ) 1 ) % % ( 7 ' ( ) /, $, - 0 *, $, - 3 *, $, - 4 / 8, $, 9! :! Seite 4 von 6

$$ *, * * *, * 6 $ *, *, ; $!" " "! 3 4 5 # $ $$# $ & % % < - ( ( 1 ) - % * $$ *, * *, # $ $$# $ % 1 - % 1 ) % - '. 1 & - ) *, # $ $$# $ % & % ( 7 % * *, * 8, $!. 6 $ =1 $$ 6 6 $ >! 6 $ *, * 8, $!. 6 $ =1 $$ 6 6 $ >! Die Automaten senden ihre Nachrichten über ein Framework, welches in diesem Falle in der Klasse Handler abgelegt ist. Dieses Framework hat die Aufgabe, einerseits bei asynchronen Nachrichten den Prozess entsprechend anzupassen und die ausgehenden Nachrichten an den richtigen Adressaten zu senden. Seite 5 von 6

b) Behandlung von Zustandshierarchien Wie immer gibt es bei der Behandlung von Zustandshierarchien verschiedene Konzepte für deren Umsetzung in Java. Ein Konzept ist, die hierarchischen Zustände aufzulösen und dann den flachen Automaten mit den bereits bekannten Methoden umzusetzen. => c) Muster State vs. Fallunterscheidung Das Muster State erlaubt eine sehr flexible und einfache Anpassung und Einführung neuer Zustände. Der Nachteil ist jedoch, dass viele Klassen benötigt werden, und so sowohl der Programmieraufwand bei der erstmaligen Erstellung, wie auch der Rechenaufwand bei der Ausführung des Automaten höher ist. ANHANG: Was Sie nach dieser Übung können sollten. Die Bedeutung der Sichtbarkeiten erklären Den Unterschied zwischen UML in der Analyse und UML beim Design erklären Das Entwurfsmuster State anwenden und erklären Hierarchische Zustände auflösen Ein Statechart entsprechend des Musters State in Java umsetzen. Seite 6 von 6