Introduction to Java. Module 6: Class Diagrams and Use case Diagrams. Prepared by Costantinos Costa for EPL 233

Σχετικά έγγραφα
Αντικειμενοστρεφής Σχεδιασμός

Πρώτη είσοδος στην θυρίδα φωνητικού ταχυδρομείου

(C) 2010 Pearson Education, Inc. All rights reserved.

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

Οδηγίες Χειρισμού Απλής Συσκευής

SOAP API. Table of Contents

Test Data Management in Practice

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

Quick Installation Guide

CYTA Cloud Server Set Up Instructions

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

SPEEDO AQUABEAT. Specially Designed for Aquatic Athletes and Active People

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 IRIS PHONE

Κατανεμημένα Συστήματα. Javascript LCR example

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ. Οδηγός ενεργοποίησης, χρήσης και διαμόρφωσης της υπηρεσίας φωνοκιβωτίου

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

The challenges of non-stable predicates

Χρήση του τηλεφωνητή

2 Composition. Invertible Mappings

Υπηρεσία τηλεφωνητή. Μεταφορά σε νέα πλατφόρμα. Μάιος 2017

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

PortSip Softphone. Ελληνικά Ι English 1/20

LESSON 14 (ΜΑΘΗΜΑ ΔΕΚΑΤΕΣΣΕΡΑ) REF : 202/057/34-ADV. 18 February 2014

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

TMA4115 Matematikk 3

Σύνοψη Προηγούμενου. Λίστες (Lists) Συνδεδεμένες Λίστες: Εισαγωγή (1/2) Συνδεδεμένες Λίστες. Ορέστης Τελέλης

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Jesse Maassen and Mark Lundstrom Purdue University November 25, 2013

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Strain gauge and rosettes

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ USE INSTRUCTIONS

ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15

Right Rear Door. Let's now finish the door hinge saga with the right rear door

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Advanced Subsidiary Unit 1: Understanding and Written Response

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

How to register an account with the Hellenic Community of Sheffield.

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Instruction Execution Times

The municipality of Apokoronas has created a new app for your smart phone.

Περίγραμμα. Κάρτες CRC. Παράδειγμα. n για να πραγματοποιηθεί μια ενέργεια, κάποιος πρέπει να είναι

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ηλεκτρονικό Ταχυδρομείο - SMTP

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

FSM Toolkit Exercises

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

Modbus basic setup notes for IO-Link AL1xxx Master Block

Χρειάζεται να φέρω μαζί μου τα πρωτότυπα έγγραφα ή τα αντίγραφα; Asking if you need to provide the original documents or copies Ποια είναι τα κριτήρια

Ηχογράφηση στο Audacity

Galatia SIL Keyboard Information

ΑΣΚΗΣΗ 4: ΟΜΕΣ ΒΑΣΙΚΩΝ ΒΡΟΧΩΝ

EE512: Error Control Coding

Chap. 6 Pushdown Automata

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Homework 3 Solutions

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

Bizagi Modeler: Συνοπτικός Οδηγός

Πρόβλεμα Online Gaming με modem Thomson και Speedtouch

Solutions to the Schrodinger equation atomic orbitals. Ψ 1 s Ψ 2 s Ψ 2 px Ψ 2 py Ψ 2 pz

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ

The Simply Typed Lambda Calculus

Αντικειμενοστρεφής Προγραμματισμός

MICROSOFT NETMEETING

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

Αντικειμενοστρεφής Σχεδιασμός

Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα

17TimeThis.h function returns reference pointer to same object { return *this; }

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Section 8.3 Trigonometric Equations

Living and Nonliving Created by: Maria Okraska

ΑΓΓΛΙΚΑ Ι. Ενότητα 7α: Impact of the Internet on Economic Education. Ζωή Κανταρίδου Τμήμα Εφαρμοσμένης Πληροφορικής

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 3 Μοντελοποίηση Εστιατορίου (take-away)

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Partial Trace and Partial Transpose

derivation of the Laplacian from rectangular to spherical coordinates

Παλεπηζηήκην Πεηξαηώο Τκήκα Πιεξνθνξηθήο Πξόγξακκα Μεηαπηπρηαθώλ Σπνπδώλ «Πξνεγκέλα Σπζηήκαηα Πιεξνθνξηθήο»

Βασική Παραμετροποίηση Τηλεφωνικού κέντρου NEC Xn-120

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

Υπηρεσία Πληροφορικών Συστημάτων Τομέας Διαχείρισης Συστημάτων και Εφαρμογών

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΤΟΝ ΕΛΕΓΧΟ ΤΩΝ HX-GO02 & HX-GO1

Areas and Lengths in Polar Coordinates

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

b. Use the parametrization from (a) to compute the area of S a as S a ds. Be sure to substitute for ds!

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Transcript:

Introduction to Java Module 6: Class Diagrams and Use case Diagrams Prepared by Costantinos Costa for EPL 233 ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1

Σχεδίαση Συστήματος Φωνοκιβωτίου Διατύπωση αποστολής συστήματος (mission statement) Σχεδίαση και υλοποίηση ενός προγράμματος προσομοίωσης συστήματος φωνοκιβωτίου(όχι πλήρες σύστημα). Θα αναπαραστήσουμε τη φωνή με κείμενο που εισάγεται μέσω πληκτρολογίου.χρειάζεται η προσομοίωση τριών διακριτών γεγονότων το πραγματικού κόσμου: ομιλία, πάτημα πλήκτρου τηλεφώνου και κατέβασμα ακουστικού. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 2

Διευκρινίσεις Χρησιμοποιούμε την ακόλουθη μέθοδο για είσοδο: Μία γραμμή που αποτελείται από τους χαρακτήρες εισόδου 1 9 και το χαρακτήρα #. Για παράδειγμα. Αν κάποιος εισάγει 1 3 # και «enter»τότε καλεί τον αριθμό 13 Δίνοντας τον χαρακτήρα Ηυποδηλώνει κατέβασμα του ακουστικού. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 3

Σύστημα Φωνοκιβωτίων(Περιπτώσεις Χρήσης) Εγκατάσταση σύνδεσης Αλλαγή χαιρετισµού Μήνυµα Καλών Σύνδεση Ιδιοκτήτης Ανάκτηση µηνυµάτων Voice Mail System Αλλαγή κωδικού ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 4

Εγκατάσταση σύνδεσης 1.User dials the main number of the Voice Mail System 2.The VMSspeaks a prompt: Enter mailbox number followed by the # 3.The user types in the extension number of the message recipient 4.The VMS speaks: You have reached mailbox xxxx. Please leave a message now. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 5

Μήνυμα 1. The caller carries out Reach an Extension. 2. The caller speaks the message. 3.The caller hangs up. 4. The VMS places the recorded message in the recipient s mailbox ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 6

Σύνδεση 1. The mailbox owner carries out Reach an Extension. 2.The mailbox owner types the passcode, followed by the # key. (The default passcode is the same as the mailbox number. The mailbox owner can change it -see Change the Passcode). 3.The voice mail system plays the mailbox menu: Enter 1 to retrieve your messages Enter 2 to change your passcode Enter 3 to change your greeting. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 7

Retrieve Messages 1.Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3.The VMS plays the message menu: Enter 1 to listento the current message. Enter 2 to savethe current message. Enter 3 to deletethe current message. Enter 4 to returnto the mailbox menu. 4.The mailbox owner selects the listen to the current message menu option. 5.The VMS plays the current new message, or, if there are no new messages, the current old message. Note that the message is played, not removed from the queue. 6.The VMS plays the message menu. 7.The user selects delete the current message. The message is permanently deleted. 8.Continue with Step 3. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 8

Απόκλιση#1: Saving a Message i. Start at Step 6. ii.the user selects save the current message. The message is removed from its queue and appended to the queue of old messages. iii.continue with Step 3. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 9

Κάρτες CRC για το Σύστημα Φωνοκιβωτίων Προφανείς κλάσεις: Mailbox Βασικήλειτουργία του να κρατάει μηνύματα. Πρέπει να διατηρεί πληροφορία για το ποιά μηνύματα είναι νέα και ποιά έχουν διαβαστεί και σωθεί. Τα μηνύματα πρέπει να αποθηκεύονται σε μια δομή δεδομένων με λειτουργικότητα FIFO Πρέπει να διαφοροποιείται η αποθήκευση των νέων και των αποθηκευμένων μηνυμάτων Message MailSystem Διατηρεί και διαχειρίζεται τα φωνοκιβώτια ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 10

Mailbox CRC Mailbox Responsibilities - keep new and saved messages Collaborators - MessageQueue ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 11

MessageQueue CRC MessageQueue Responsibilities - add and remove messages in FIFO order ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 12

MailSystem CRC MailSystem Responsibilities - manage mailboxes Collaborators - Mailbox ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 13

Άλλες κλάσεις Ποιός διαχειρίζεται την εισροή δεδομένων από τους χρήστες; Πρέπει να έχουμε μια κλάση η οποία να προσομοιώνει τις τηλεφωνικές συσκευές, οι οποίες λαμβάνουν οδηγίες από τους χρήστες και διαβάζουν τα μηνύματα. Τοσύστημα πρέπει να μπορεί να διαχειρίζεται ταυτόχρονηείσοδο και έξοδο προς περισσότερες της μιας τηλεφωνικές συσκευές, οι οποίες συνδέονται μαζί του την ίδια χρονική περίοδο. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 14

Telephone CRC Telephone Responsibilities - take user input from touchpad, microphone, hangup - speak output ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 15

Connection CRC Connection Responsibilities - get input from telephone - carry out user commands - keep track of state Collaborators - Telephone - MailSystem ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 16

Άφησε μήνυμα 1.Caller dials extension. The Telephonesends the dialed extension to the Connection. 2.Connection asks the MailSystemto find the Mailbox object with the given extension number. 3.Connection asks the Mailbox object to play the greeting on the speaker. 4.The users speaks the message. The Telephoneasks the Connectionto record it. 5. The caller hangs up. The Telephone notifies the Connection. 6.ΤheConnectionconstructs a Message object that contains the recorded message. 7. The Connection adds the Message object to the Mailbox. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 17

Telephone CRC - updated Telephone Responsibilities - take user input from touchpad, microphone, hangup Collaborators - Connection - speak output ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 18

Connection CRC - updated Connection Responsibilities - get input from telephone - carry out user commands - keep track of state - record voice input Collaborators - Telephone - MailSystem - MailBox - Message ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 19

Mailbox CRC - updated Mailbox Responsibilities - keep new and saved messages - manage greeting - manage passcode - retrieve, save, delete messages Collaborators - MessageQueue ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 20

Message CRC Message Responsibilities - manage message contents ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 21

Ανάκτηση μηνυμάτων 1. User types passcode. Telephone notifies Connection. 2. Connection asks Mailbox to check passcode. 3. Assuming the passcode was correct, the Connectionsets the Mailboxas the current mailbox and asks the Telephone to speak the Mailbox menu. Enter 1 to listen to the current message. Enter 2 to save the current message. Enter 3 to delete the current message. Enter 4 to return to the mailbox menu. 4. Users types in the retrieve messages menu option. The Telephonepasses it on to the Connection. 5. The Connection asks Mailboxto plays the current new message, or, if there are no new messages, the current old message. Note that the message is played, not removed from the queue. 6. The VMS plays the message menu. 7. The user selects delete the current message. The message is permanently deleted. 8. Continue with Step 3. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 22

UML Διαγράμματα Κλάσεων - Εξαρτήσεις MailSystem MailBox Message Queue Connection Message Telephone ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 23

UML Διαγράμματα Κλάσεων - Εξαρτήσεις MailSystem MailBox Message Queue Connection Message Telephone ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 24

Διαγράμματα Ακολουθίας (Leave a msg) : Telephone : Connection : MailSystem : Mailbox dial() speak() findmailbox() getgreeting() record() hangup() create() addmessage() : Message ΕΠΛ233: Αντικειμενοστρεφής Προγραμματισμός 25

Διαγράμματα Ακολουθίας (Retrieve a msg) : Telephone : Connection : Mailbox : Message dial() speak() dial() speak() checkpasscode() dial() speak() hangup() getcurrentmessage() gettext() savecurrentmessage() ΕΠΛ233: Αντικειμενοστρεφής Προγραμματισμός 26

Διάγραμμα Κατάστασης (Connection states) Connected Extension dialed Hang up Hang up Connected Change passcode 2# Greeting entered Passcode entered Mailbox menu Passcode entered Change greeting 3# 4# Message menu 1# 1#, 2#, 3# ΕΠΛ233: Αντικειμενοστρεφής Προγραμματισμός 27