Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 2D.

Ähnliche Präsentationen


Präsentation zum Thema: "SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 2D."—  Präsentation transkript:

1 SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 2D

2 Software technology © dr. Z. László2 Mit einer Bankkarte kann Geld überwiesen werden vom eigenen Bankkonto. Ein Sparauftrag kann auch erstellt werden. Ein Bankassistent kann ein neues Konto eröffnen. Das Konto zu sperren und ein Kredit zu erstellen ist nur der Filialenleiter zuständig. Der Filialenleiter hat selbstverständlich die Rechte eines Assistenten auch. Ein UML Anwendungsfall (use-case) Diagramm ist zu zeichnen ! Client Clerk Head Initiating transfer Fixing deposit Opening Locking Establishing credit

3 Software technology © dr. Z. László3 Anmerkung: Client-Opening,Locking, EstablishingCredit Verbindungen sind angezeigt, weil diese Transaktionen werden vom Client initiiert, der Clark und Head erteilt nur eine Genehmigung. Client Clerk Head Initiating transfer Fixing deposit Opening Locking Establishing credit

4 Software technology © dr. Z. László4 In einer Verkaufstelle in England können die Kunden einige Produkte kaufen (Milch, Sandwichs, Zeitung usw.) und Briefe senden. Die Zahlung wird mit einer Bankkarte oder bar gemacht. In einigen Verkaufstellen können auch Verschriebene Briefe versendet werden. Ein use case Diagramm ist zu erstellen! Customer Buying Mailing Registration Paying Cash-paying Card-paying >

5 Software technology © dr. Z. László5 Hr. X hat kein Geld mehr. Er ruft sein Freund auf um Rat zu bitten. Sein Freund stellt Fragen an Herr X über seinen finanziellen Zustand, und schlägt vor Hilfe vom lokalen Verwaltungsamt zu bitten. Hr. X erstellt einen Antrag, und reicht es bei dem lokalen Verwaltungsamt ein. Später die lokale Verwaltungsamt – auf dem Antrag basiert – sendet eine Hilfe zu. Ein UML Sequenzdiagramm ist zu zeichnen !

6 Software technology © dr. Z. László6 Hr. X: PersonFreund: Person :Amt. l:Antrag RatBitten() financialle Zust() create Einr.(l) get_data() HilfeSend() Rat sd example

7 Software technology © dr. Z. László7 Anmerkungen zu Hr X kein geld hat... Wird create anstatt > benutzt (noch erlaubt). Create liefert selbstverständlich ein Referenz auf das Antragobjekt I zurück. Get_data() entspricht auf Antrag basiert. Get_data() könnte I als Parameter haben (in C++ ist es der 'this' pointer, was automatisch da ist). Einreichen() ist asynchron, wartet nicht auf return, die execution Spezifikation beendet sich gleich. Hilfesend() ist auch asynchron, wartet auch nicht. Die Objekte können unterstrichen werden.

8 Software technology © dr. Z. László8 Ein UML Sequenzdiagramm ist zu zeichnen ! Die Methode foo() des Objekts a1 der Klasse A, erstellt die Instanz b1 der Klasse B, und ruft die Methode start() des neuen Objekts auf. Zum Abschluss die Funktion foo() ruft die Methode bar() von a1. Nach dem Starten der Methode ba r(), ruft b1 die Methode ready() von a1 auf. Falls bar() seine Tätigkeit beendet hat, ruft a1 die Methode stop() von b1 auf. Wenn stop() sich beendet hat, vernichtet sich b1.

9 Software technology © dr. Z. László9 a1:A 1: foo() 1.1:create b1:B 1.2: start() 1.3: bar() 1.2.1: ready() 1.4: stop() sd example

10 Software technology © dr. Z. László10 Anmerkungen zur Abb. Foo()... Die Objekten sind untergezogen (noch kein Pflicht) (Untesctrich sollte allerdings weiß sein) create anstatt > ist noch erlaubt. Alle Methoden werden default als synchron aufgerufen (die sind z.B. C++ Funktionen). Ausnahme: start(). Das kann nur asynchron sein, sonst hat man nicht die Steuerung um bar() aufrufen zu können. ready() wird in einer Unterbalke verarbeitet, weil bar() läuft noch. stop() wird in einer Unterbalke verarbeitet, weil start() läuft noch.

11 Software technology © dr. Z. László11 Ein Objekt der Klasse Alpha hat eine Kollektion (Objektensammlung) von Beta. Alpha leiht einen Element dieser Kollektion mit der Methode get() aus, dann ruft foo() des Elements auf. Zum Abschluss löscht den Element in der Kollektion. Ein UML Kommunikationsdiagramm ist zu erstellen! 1: get(): b :Collection 2: foo() b :Beta sd example :Alpha 3: remove(b)

12 Software technology © dr. Z. László12 Anmerkungen: - :Collection kann von Array und Beta abgeleitet werden - man kann mit den Pfeilen sparsam umgehen. (wurde ein Pfeil erspart)

13 Software technology © dr. Z. László13 Auf dem Kommunikationsdiagramm basiert ein UML Sequenzdiagram ist zu zeichnen! Auf die richtige Benutzung der Executionspecifikation ist zu achten! 1.1: bar():x :C 1: foo() :B sd example :A 1.1.1: ret() 1.2: pre(x)

14 Software technology © dr. Z. László14 1.1: bar():x :C 1: foo() :B sd example :A 1.1.1: ret() 1.2: pre(x) bar :B x foo sd example :A pre(x) ret :C

15 Software technology © dr. Z. László15 Anmerkungen ret() ist eine Funktion, die synchron aufgerufen wurde. X muss als Returnwert zurückgegeben werden Objektnahmen können unterstrichen werden (noch optional)

16 Software technology © dr. Z. László16 Schneewittchen Ein UML Sequenzdiagramm ist zu zeichnen! Irene, die böse Stiefmutter will Schneewittchen vergiften. Dazu fertigt Sie ein Kuchen. Etwas Gift reingetan liegt sie das Kuchen in den Ofen zum backen. Solange das Kuchen gebacken wird, bricht sie ihren Kopf über böse Sachen. Halbe Stunde später piepst der Ofen, weil das Kuchen fertig wurde. Irene nimmt das Kuchen raus, und sendet sie es an Schneewittchen.

17 Software technology © dr. Z. László17 s:Kuchen :OfenSchneewittchen:Frau 3.1: piepsen( ) 1: > 3: einlegen(s ) 3.1.1: ausnehmen( ) 2: giften( ) Irene:Stiefmutter 3.1.2: senden(s)

18 Software technology © dr. Z. László18 Sequence diagramm Ein UML Ablaufdiagramm (sequence diagram) ist zu zeichnen! Das Objekt a der Klasse A ruft asynchron die Methode foo() des Objekts b der Klasse B auf, und gerät gleich in passiven Zustand. In foo() b erstellt ein Objekt c der Klasse C, und ruft asynchron die Methode bar() des Objekts a mit Parameter c auf. Im bar() ruft a die Methode do() des Objekts als Parameter bekommen synchron auf.

19 Software technology © dr. Z. László19 c:C b:Ba:A 1. foo() 1.1. > 1.2. bar(c) do()

20 Software technology © dr. Z. László20 Kasza Blanka Ein UML Ablaufdiagramm (sequence diagram) ist zu zeichnen! Die berühmte Ingenieurin, Kasza Blanka fertigt einen Oszilloculminator, startet es, dann überreicht es ihrem Sohn, Schlingelner Maxim. Der Sohn den nächsten Tag zieht die noch laufende Maschine auf.

21 Software technology © dr. Z. László21 SM:Sohn 1. > 2. starten() 3. ubergeben() 4. aufziehen() KB:Mutter oc:OC

22 Software technology © dr. Z. László22 Money Or Life Ein UML use-case Diagramm ist zu zeichnen aufgrund der Beschreibung! Im Bank MoneyOrLife können die Kunden auf dem Internetportal Überweisung und Sparauftrag angeben. In den Bankfilialen können die Bankbeamten mit demselben Programm neben Überweisungen und Sparaufträge auch ein neues Konto eröffnen. Der Filialenleiter kann die Tätigkeiten der Bankbeamten jederzeit übernehmen, und zusätzlich kann auch Kontos sperren.

23 Software technology © dr. Z. László23


Herunterladen ppt "SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 2D."

Ähnliche Präsentationen


Google-Anzeigen