ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ "ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ" ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ιδάσκων: Β.Βεσκούκης

Σχετικά έγγραφα
Ηλεκτρονικό Κατάστημα

ηµιουργία ιαλογικών Προγραµµάτων για το Web

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

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

3 Αλληλεπίδραση Αντικειμένων

Θα κάνετε φύλαξη όλων των αρχείων σας σε δισκέτες που θα κρατήσετε για λόγους ασφαλείας και ιστορίας,δεδοµένων χρήσεων.

Κλάσεις και Αντικείµενα

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

Μοντελοποίηση Συστημάτων

01 SOLUTIONS HELLAS Ε.Π.Ε. Χελμού 20, Μαρούσι Αττικής Τηλ FAX Ηλεκτρονικό Πρωτόκολλο & Διακίνηση Εγγράφων

Υποβολή στοιχείων ΜΥΦ

Μονάδες 10. Μονάδες 9 5 PROLOG. Μονάδες 5

ιεθνής Αερολιµένας Αθηνών Τεχνολογίες ροής δεδοµένων σε ΙΡ δίκτυα: Ένας δρόµος προς τα συστήµατα πληροφόρησης επιβατών επόµενης γενιάς

Διαχείριση Εισπράξεων. Στη διαδικασία αυτή περιγράφεται η διαχείριση των εισπράξεων

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

Πίνακας Περιεχομένων

Διαχείριση εισπράξεων

Συνεργείο Αυτοκινήτων

Λογισµικό (Software SW) Γλώσσες

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2.1 Αντικειµενοστρεφής προγραµµατισµός

Εγχειρίδιο Χρήσης Εφαρμογής One View

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Αντιµετώπιση προβληµάτων MPEG

Εγχειρίδιο χρήσης Εκκαθάρισης Παραγγελιών

Δημιουργία πληρωμής μετρητών Πεδία Παραστατικού Πληρωμής Δημιουργία πληρωμής αξιογράφων Καταχώρηση Αξιογράφου...

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG

Εγχειρίδιο Χρήσης. για ΟΙΚΟΝΟΜΙΚΟΥΣ ΦΟΡΕΙΣ

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Παρακάτω προτείνεται μια αλληλουχία ενεργειών την οποία ο χρήστης πρέπει να ακολουθήσει για να αξιοποιήσει τις δυνατότητες της εφαρμογής.

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

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

Παρακάτω προτείνεται μια αλληλουχία ενεργειών την οποία ο χρήστης πρέπει να ακολουθήσει για να αξιοποιήσει τις δυνατότητες της εφαρμογής.

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Περιγραφή. Προέλευση εδοµένου (Στοιχεία «ΥΠΕΡ ΟΥ» κλπ) Πρόσβαση & εδοµένα. Υπεύθυνος Λειτουργίας (Web Officer)

«ΕΘΝΙΚΟ ΣΥΣΤΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΔΗΜΟΣΙΩΝ ΠΡΟΜΗΘΕΙΩΝ» (Ε.Σ.Η.Δ.Π.) ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΠΡΟΣΦΟΡΑΣ

Σύλλογος Οδηγίες Χρήσης Εφαρμογής

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Αναβάθμιση αποκωδικοποιητών Μέσω Δορυφόρου σε hybrid

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Εγχειρίδιο Χρήστη Φάση 2: Αρχική Καταχώρηση Συµβάσεων

Οδοραµα mobile ΦΟΡΗΤΗ ΤΙΜΟΛΟΓΗΣΗ XVAN

Εργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω.

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο

Εγχειρίδιο Εισαγωγής Στοιχείων στο Πληροφοριακό Σύστημα του προγράμματος Εξοικονόμηση Κατ Οίκον ΙΙ, για την υποβολή αιτήσεων

ΠΕΡΙΕΧΟΜΕΝΑ ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΤΟΥ ΛΟΓΙΣΤΗΣ ΈΣΟ Α - ΈΞΟ Α 4

Ανάλυση Περιπτώσεων Χρήσης

Εγχειρίδιο Χρήστη Φάση 3: Ωρολόγια Προγράµµατα Καταχώρηση Παρουσιολογίων

Οδηγίες Χρήσης Εφαρμογής

Αναβάθμιση αποκωδικοποιητών Μέσω Δορυφόρου σε hybrid

Κλείσιµο Άνοιγµα Χρήσης

Dynamic Business Systems. Παρουσίαση Εφαρμογής

Ηλεκτρονικό εμπόριο. HE5 Ηλεκτρονικό κατάστημα Σχεδιασμός και λειτουργίες

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

BeACTA Syllabus Beginners #1, #2, #3 και #4

Τα διαγράµµατα ακολουθίας

BeACTA Syllabus Beginners #1, #2, #3 και #4

Rational Unified Process:

Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για /νσεις και Γραφεία /θµιας Εκπαίδευσης και για Περιφερειακές /νσεις Εκπαίδευσης

Μετασχηµατισµός διαγράµµατος ER σε σχεσιακό σχήµα Β

Εγχειρίδιο Χρήσης Εφαρμογής TRS Client

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Document Scanning System Ιανουάριος, 2014

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1

Εισαγωγή στην Πληροφορική

Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη

ΑΝΑΛΥΤΙΚΟΙ ΟΡΟΙ ΚΑΙ ΠΡΟΫΠΟΘΕΣΕΙΣ ΣΥΜΜΕΤΟΧΗΣ ΣΤΗΝ ΠΡΟΩΘΗΤΙΚΗ ΕΝΕΡΓΕΙΑ ΤΗΣ ΕΚΠΟΜΠΗΣ ΜΕ ΤΙΤΛΟ «ANNITAGR»

Εγχειρίδιο Εισαγωγής Στοιχείων στο Πληροφοριακό Σύστημα του προγράμματος Εξοικονόμηση Κατ Οίκον ΙΙ (Β Κύκλος), για την υποβολή αιτήσεων

EBS Version Entersoft Business Suite Entersoft CRM

Γενικά (για τις γραπτές εξετάσεις)

1 Εισαγωγή στην Πληροφορική

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

Δυνατότητες cloud εφαρμογής «Τιμολόγησης Διαχείρισης οφειλών και υποχρεώσεων Μητρώο παγίων με Τήρηση Λογιστικών Βιβλίων»

ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ

εφαρμογή ηλεκτρονικής υποβολής εκτελωνισμών

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Ενδεικτικές λύσεις ασκήσεων

Οικονοµική Χρήση - Μεταφορές Υπολοίπων

(Logic Gate Simulator)

Γνωριµία µε τη Microsoft Access

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού

Ο ΗΓΙΕΣ ΣΥΜΠΛΗΡΩΣΗΣ ΤΗΣ ΦΟΡΜΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 2 ο Εργαστήριο -

Σενάριο Χρήσης myschool

Νέα λειτουργικότητα - Βελτιώσεις. Έκδοση /02/2016. Ημ/νία έκδοσης 10/02/2016 1

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Εγχειρίδιο Εισαγωγής Στοιχείων στο Πληροφοριακό Σύστημα του προγράμματος Εξοικονόμηση Κατ Οίκον ΙΙ, για τη διαδικασία Δανειοδότησης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ ÈÅÌÅËÉÏ

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο -

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

CRM για Εκπαιδευτικούς Φορείς

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ "ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ" ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2001-2002 ιδάσκων: Β.Βεσκούκης ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΤΩΝ ΘΕΜΑΤΩΝ ΘΕΜΑ 1 (Μονάδες 3) Η ψηφιακή διαδραστική (interactive) τηλεόραση βασίζεται στη δορυφορική µετάδοση ψηφιακά κωδικοποιηµένου τηλεοπτικού σήµατος το οποίο λαµβάνεται και αποκωδικοποιείται από πλευράς των συνδροµητών µε τη βοήθεια κατάλληλου εξοπλισµού (set top box). Ένα από τα σηµαντικότερα πλεονεκτήµατά της είναι η δυνατότητα χρέωσης των συνδροµητών όχι µε βάση κάποια µηνιαία συνδροµή, αλλά µε βάση τα προγράµµατα που παρακολουθούν (pay-per-view). Επίσης, υπάρχει η δυνατότητα ετεροχρονισµένης παρακολούθησης των εκποµπών, µε τη βοήθεια αποκωδικοποιητή που περιλαµβάνει σκληρό δίσκο στον οποίο "κατεβαίνει" το επιθυµητό πρόγραµµα είτε κατά την ώρα που προβάλλεται, είτε σε άλλη ώρα που καθορίζεται από τον πελάτη και το κανάλι. Ένα σενάριο λειτουργίας του σχήµατος "pay-per-view" είναι το ακόλουθο: Ο πελάτης ανοίγει ένα λογαριασµό στην εταιρία συνδροµητικής διαδραστικής τηλεόρασης (κανάλι) και εγκαθιστά τον απαραίτητο εξοπλισµό. Μία φορά το µήνα ή όσο συχνά απαιτείται, το κανάλι ανακοινώνει στη σελίδα του στο Internet τις εκποµπές που πρόκειται να προβληθούν από τις διαθέσιµες δορυφορικές συχνότητες, καθώς και το κόστος κάθε εκποµπής. Το κόστος αυτό µπορεί να είναι µικρότερο για ετεροχρονισµένη παρακολούθηση. Ο πελάτης συνδέεται στο δικτυακό τόπο του καναλιού µε χρήση είτε του προσωπικού του υπολογιστή είτε του αποκωδικοποιητή του και παραγγέλλει τα προγράµµατα που θέλει να παρακολουθήσει δίνοντας όλες τις κατά περίπτωση αναγκαίες πληροφορίες (ώρα προβολής, ετεροχρονισµένη προβολή κλπ). Η παραγγελία δύναται να ακυρωθεί από τον πελάτη το αργότερο 30 λεπτά πριν την προβολή και από το κανάλι σε οποιαδήποτε στιγµή. Σε περίπτωση µη ακύρωσης της παραγγελίας από τον πελάτη, ο αποκωδικοποιητής προγραµµατίζεται και "ξεκλειδώνεται" για το συγκεκριµένο πρόγραµµα, ενώ γίνεται η ανάλογη χρέωση στο λογαριασµό του. Σε περίπτωση ακύρωσης της προβολής από το κανάλι, ο πελάτης ενηµερώνεται µέσω e-mail καθώς και µε µήνυµα στην οθόνη της τηλεόρασης µέσω του αποκωδικοποιητή του, δεν γίνεται καµία χρέωση και η παραγγελία πρέπει να επαναληφθεί. Στο τέλος κάθε µήνα το κανάλι εκδίδει λογαριασµούς πελατών οι οποίοι εξοφλούνται είτε αυτόµατα µέσω πιστωτικής κάρτας, είτε µε on-line εντολή του πελάτη στο δικτυακό τόπο της εταιρίας, είτε µε πάγια εντολή τράπεζας, είτε, τέλος, µε ταχυδροµική επιταγή. Η εξόφληση των λογαριασµών παρακολουθείται από το κανάλι έτσι ώστε να µην είναι δυνατή η παραγγελία εκποµπών από πελάτες οι οποίοι δεν τακτοποιούν εγκαίρως τους λογαριασµούς τους. Επίσης, στο τέλος κάθε µήνα παράγονται συγκεντρωτικά δεδοµένα που αφορούν την κατά παραγγελία τηλεθέαση. Τέτοια δεδοµένα υπολογίζονται ανά εκποµπή, ανά κινηµατογραφικό στούντιο, ανά εταιρία διανοµής, ανά κατηγορία εκποµπής (ενηµερωτική, ντοκιµαντέρ, ταινία, σειρά, κλπ), ανά ζώνη τηλεθέασης, ανά ηµέρα, ανά γεωγραφική θέση τηλεθεατών και, τέλος, ανά αιτία ακύρωσης εκποµπής. Στο τέλος κάθε τηλεοπτικής περιόδου παράγονται στατιστικά στοιχεία µε βάση τα παραπάνω συγκεντρωτικά δεδοµένα, τα οποία ανακοινώνονται στο δικτυακό τόπο του καναλιού. Καλείστε να αναλάβετε το ρόλο του µηχανικού λογισµικού ο οποίος κατασκευάζει µια εφαρµογή για την υποστήριξη των εργασιών που περιγράφηκαν παραπάνω, βασισµένοι στην αντικειµενοστρεφή τεχνολογία και ακολουθώντας την Ενοποιηµένη Προσέγγιση Ανάπτυξης Λογισµικού. Συγκεκριµένα, καλείστε: 1

Α. Να κατασκευάσετε ένα διάγραµµα δραστηριοτήτων UML (activity diagram) για τη διαδικασία παραγγελίας προβολής που αναφέρεται στις τρεις πρώτες παραγράφους της ανωτέρω περιγραφής [0,9]. UML activity diagram για τη διαδικασία παραγγελίας Ο πελάτης ανοίγει ένα λογαριασµό στην εταιρία συνδροµητικής διαδραστικής τηλεόρασης (κανάλι) και εγκαθιστά τον απαραίτητο εξοπλισµό ΑΡΧΗ το κανάλι ανακοινώνει στη σελίδα του στο Internet τις εκποµπές που πρόκειται να προβληθούν από τις διαθέσιµες δορυφορικές συχνότητες 1. ΑΝΟΙΓΜΑ ΛΟΓΑΡΙΑΣΜΟΥ 2. ΕΓΚΑΤΑΣΤΑΣΗ ΕΞΟΠΛΙΣΜΟΥ 3. ΑΝΑΚΟΙΝΩΣΗ ΕΚΠΟΜΠΩΝ 3. ΕΠΙΛΟΓΗ ΕΚΠΟΜΠΩΝ ΤΕΛΟΣ ΝΑΙ ΕΠΙΛΟΓΩΝ ΟΧΙ ΤΕΛΟΣ Ο πελάτης συνδέεται στο δικτυακό τόπο του καναλιού µε χρήση είτε του προσωπικού του υπολογιστή είτε του αποκωδικοποιητή του και παραγγέλλει τα προγράµµατα που θέλει να παρακολουθήσει Σε περίπτωση ακύρωσης της προβολής από το κανάλι, ο πελάτης ενηµερώνεται µέσω e-mail καθώς και µε µήνυµα στην οθόνη της τηλεόρασης µέσω του αποκωδικοποιητ ή του, δεν γίνεται καµία χρέωση και η παραγγελία πρέπει να επαναληφθεί. 6. ΑΚΥΡΩΣΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 10. ΑΚΥΡΩΣΗ ΧΡΕΩΣΗΣ 9. ΕΜΦΑΝΙΣΗ ΜΗΝΥΜΑΤΟΣ 8. ΑΠΟΣΤΟΛΗ E-MAIL ΝΑΙ 4. ΠΑΡΑΓΓΕΛΙΑ ΕΚΠΟΜΠΩΝ ΑΚΥΡΩΣΗ ΑΠΟ ΠΕΛΑΤΗ ΟΧΙ 5. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ STB ΝΑΙ 7. ΧΡΕΩΣΗ ΑΚΥΡΩΣΗ ΑΠΟ ΚΑΝΑΛΙ ΟΧΙ Η παραγγελία δύναται να ακυρωθεί από τον πελάτη το αργότερο 30 λεπτά πριν την προβολή Σε περίπτωση µη ακύρωσης της παραγγελίας από τον πελάτη, ο αποκωδικοποιητής προγραµµατίζεται και "ξεκλειδώνεται" για το συγκεκριµένο πρόγραµµα, ενώ γίνεται η ανάλογη χρέωση στο λογαριασµό του 11. ΠΡΟΒΟΛΗ και από το κανάλι σε οποιαδήποτε στιγµή 2

Β. Από την περιγραφή που δόθηκε, να διακρίνετε τρεις περιπτώσεις χρήσης και για κάθε µία να αναφέρετε τον τίτλο της µαζί µε µια συνοπτική περιγραφή που δεν θα ξεπερνά τις 3 γραµµές [0,9]. Περιπτώσεις χρήσης του λογισµικού που χρησιµοποιεί το κανάλι για τη διαχείριση των δραστηριοτήτων του (Ενδεικτική αναφορά όλων των περιπτώσεων χρήσης που µπορούν να συναχθούν από τον ορισµό του προβλήµατος - δεν ζητείται και δεν είναι απαραίτητη) 1. ηµιουργία - µεταβολές λογαριασµών πελατών 2. ιαχείριση αρχείου ταινιών 3. Προγραµµατισµός προβολής ταινιών 4. Κοστολόγηση προβολής ταινιών 5. Ανακοίνωση προγράµµατος στο Internet 6. Λήψη παραγγελιών εκποµπών 7. Μεταβολές παραγγελιών από πελάτες 8. Ακύρωση προβολής εκποµπής 9. Προγραµµατισµός αποκωδικοποιητή 10. Χρέωση λογαριασµών πελατών 11. Ενηµέρωση πελατών για ακύρωση προβολής 12. Ακύρωση χρέωσης πελατών 13. Εκδοση µηνιαίων λογαριασµών 14. Εξοφλήσεις λογαριασµών πελατών 15. Υπολογισµός συγκεντρωτικών στοιχείων ανά τηλεοπτικό στούντιο 16. Υπολογισµός συγκεντρωτικών στοιχείων ανά εταιρία διανοµής 17. Υπολογισµός συγκεντρωτικών στοιχείων ανά κατηγορία εκποµπής 18. Υπολογισµός συγκεντρωτικών στοιχείων ανά ζώνη τηλεθέασης 19. Υπολογισµός συγκεντρωτικών στοιχείων ανά ηµέρα 20. Υπολογισµός συγκεντρωτικών στοιχείων ανά γεωγραφική θέση πελάτη 21. Υπολογισµός συγκεντρωτικών στοιχείων ανά αιτία ακύρωσης εκποµπής 22. ιαχείριση τηλεοπτικών περιόδων 23. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά 24. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά εταιρία διανοµής 25. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά κατηγορία εκποµπής 26. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά ζώνη τηλεθέασης 27. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά ηµέρα 28. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά γεωγραφική θέση πελάτη 29. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά αιτία ακύρωσης εκποµπής 30. Ανακοίνωση στατιστικών στοιχείων στο web Περιγραφή επιλεγµένων περιπτώσεων χρήσης (Ζητείται για τρεις περιπτώσεις χρήσης. Ακολούθως δίνεται ενδεικτικά για πέντε περιπτώσεις χρήσης) 1. ιαχείριση αρχείου ταινιών Η εφαρµογή δέχεται από το πληκτρολόγιο και αρχειοθετεί τα στοιχεία νέων ταινιών (τίτλος, διάρκεια συντελεστές, στούντιο, κατηγορία, εταιρία διανοµής, χρονολογία παραγωγής, κ.ά.), καθώς και τις µεταβολές τους. 2. Προγραµµατισµός προβολής ταινιών Η εφαρµογή εµφανίζει πίνακα µε ηµεροµηνίες (σε στήλες) και ώρες (σε γραµµές) στα κελιά του οποίου τοποθετούνται από τον χρήστη οι ταινίες των οποίων η προβολή προγραµµατίζεται ή τροποποιείται, για διάστηµα ενός µηνός από την τρέχουσα ηµεροµηνία. 3

3. Ακύρωση χρέωσης πελατών Ο χρήστης δίνει την ηµεροµηνία και την ώρα εκποµπής και το λογισµικό εντοπίζει όλους τους πελάτες που την έχουν παραγγείλει και σε κάθε πελάτη ακυρώνει τη χρέωση που αφορά την εκποµπή που έχει προγραµµατιστεί για τη δεδοµένη ηµεροµηνία και ώρα. 4. Υπολογισµός συγκεντρωτικών στοιχείων ανά κατηγορία εκποµπής Η εφαρµογή υπολογίζει το σύνολο των παραγγελιών και των ακυρώσεων για κάθε κατηγορία εκποµπής, για ένα χρονικό διάστηµα που δίνεται σε παράθυρο διαλόγου. 5. Παραγωγή στατιστικών στοιχείων τηλεοπτικής περιόδου ανά κατηγορία εκποµπής Εµφανίζεται κάποιο παράθυρο στο οποίο επιλέγεται από το χρήστη η τηλεοπτική περίοδος. Για την επιλεγµένη περίοδο, ανοίγει το αρχείο συγκεντρωτικών στοιχείων ανά κατηγορία εκποµπής και υπολογίζονται στατιστικά στοιχεία που αφορούν την επιλεγµένη τηλεοπτική περίοδο, όπως η µέση τιµή και η τυπική απόκλιση τηλεθεάσεων εκποµπών κάθε κατηγορίας ανά εβδοµάδα. Γ. Να κατασκευάσετε ένα διάγραµµα συνεργασίας UML (collaboration diagram) για κάθε µία από τις περιπτώσεις χρήσης που διακρίνατε [1,2]. ιαγράµµατα συνεργασίας (Για τις τρεις πρώτες από τις περιπτώσεις χρήσεις που αναφέρθηκαν στο Β) Σηµείωση: Τα διαγράµµατα δεν είναι δεσµευτικά και εξαρτώνται από την σύλληψη για τη ροή γεγονότων σε κάθε περίπτωση χρήσης. Απαιτείται µόνο η τήρηση των κανόνων σχετικά µε τα αντικείµενα που συνεργάζονται, οι οποίοι αναφέρονται στις σηµειώσεις (ενότητα 2.5.2, σελ 53-56, παραδείγµατα και ασκήσεις) 1. ιαχείριση αρχείου ταινιών 2: Νέα ταινία 1: Καταχώρηση νέας ταινίας : Παράθυρο καρτέλας ταινίας : ιαχείριση αρχείου ταινιών : Χειριστής εφαρµογής διαχείρισης ppv 3: Νέα ταινία : Interface ταινιών 4: Νέα ταινία : Ταινίες 4

2. Προγραµµατισµός προβολής ταινιών : Χειριστής εφαρµογής διαχείρισης ppv 1: Ενηµέρωση προγράµµατος 5: Προγραµµατισµός 2: Ετοιµασία προγραµµατισµού 3: ιαθέσιµες ταινίες : Παράθυρο προγραµµατισµού : Προγραµµατισµός προβολών 6: Νέα εγγραφή : Interface ταινιών : Interface προγράµµατος 4: ιαθέσιµες ταινίες 7: Νέα εγγραφή : Ταινίες : Πρόγραµµα προβολής 3. Ακύρωση χρέωσης πελατών 1: Αναζήτηση εκποµπής 5: Ακύρωση χρέωσης 2: Επιλογή εκποµπών : Χειριστής εφαρµογής διαχείρισης ppv : Παράθυρο ακύρωσης χρέωσης : Ακύρωση χρέωσης 6: ιαγραφή εγγραφής χρέωσης 3: Μελλοντικές εκποµπές : Interface χρεώσεων πελατών 7: ιαγραφή εγγραφής χρέωσης : Interface προγράµµατος : Χρεώσεις πελατών 4: Μελλοντικές εκποµπές : Πρόγραµµα προβολής 5

ΘΕΜΑ 2 (Μονάδες 2) Στο δικτυακό τόπο του καναλιού του θέµατος 1, στη σελίδα που χρησιµοποιείται για την παραγγελία εκποµπής για λήψη, τρέχει ένα java applet µε αναγνωριστικό PayPerViewProg. Με το που φορτώνεται η σελίδα δηµιουργείται µια λίστα µε τις εκποµπές που προβάλλονται από την τρέχουσα ηµεροµηνία και για τις επόµενες επτά ηµέρες, µε χρήση της κλήσης [α] NextShowsList=broadcasts.NextWeek(system.date()). Η λίστα αυτή εµφανίζεται στην οθόνη µέσα στο χώρο που χρησιµοποιεί το applet µε χρήση της κλήσης [β] this.displayshows(), ενώ η επιλογή και η παραγγελία εκποµπών γίνεται µε τις κλήσεις [γ] SelectedShows=this.SelectShows()και [δ] OrderedShows=this.OrderShows(), αντίστοιχα. Όταν ο χρήστης εγκαταλείψει τη σελίδα οι επιλογές που έχει κάνει µέχρι εκείνη τη στιγµή, διατηρούνται µε χρήση της κλήσης [ε] this.saveselections(), ενώ όταν κλείσει τον browser απελευθερώνεται η δεσµευµένη µνήµη µε την κλήση [στ] this.releasememory(). Α. Να δώσετε τον ορισµό της κλάσης PayPerViewProg στον οποίο να περιέχονται ονοµαστικά τα πεδία και οι µέθοδοι που πρέπει να οριστούν µε βάση τα προααναφερθέντα και τα ισχύοντα [1,0]. Πρόκειται για applet, οπότε πρέπει υποχρεωτικά να κάνει extend την κλάση Applet και να ορίζει τις µεθόδους init(), start(), stop(), και destroy() (σηµειώσεις σελ 99, διαφάνειες σελ 23). Οι κλήσεις α, γ και δ είναι αναθέσεις οι οποίες απαιτούν την ύπαρξη των πεδίων NextShowList, SelectedShows και OrderedShows. Οι αναφορές this.* (β, γ, δ, ε, στ) υπονοούν όλες µεθόδους που ανήκουν στην τρέχουσα κλάση, οπότε έχουµε επιπλέον τις µεθόδους DisplayShows(), SelectShows(), OrderShows(), SaveSelections() και ReleaseMemory(). Η κλήση broadcasts.nextweek(system.date()) αναφέρεται στη µέθοδο NextWeek() ενός αντικειµένου broadcasts η οποία ΕΝ ανήκει στη δική µας κλάση (αν ανήκε θα καλείτο είτε µε σκέτο το όνοµά της, είτε µε "this"). Κατόπιν τούτων, ο ορισµός της ζητούµενης κλάσης είναι ο ακόλουθος: class PayPerViewProg extends Applet { /* αναφέρονται µόνο τα ονόµατα των πεδίων και των µεθόδων που συνάγονται από την εκφώνηση */ /***************************** ΠΕ ΙΑ *****************************/ private NextShowList; private SelectedShows; private OrderedShows; /**************************** ΜΕΘΟ ΟΙ ****************************/ /* 1. Υποχρεωτικές σε όλα τα applets init: εκτελείται µε το φόρτωµα της σελίδας start: κάθε φορά που ο χρήστης επανέρχεται στη σελίδα stop: όταν ο χρήστης εγκαταλείπει τη σελίδα destroy: όταν κλείνει ο browser */ public void init() { public void start() { public void stop() { public void destroy() { /* 2. Στο συγκεκριµένο applet, συναγόµενες από τον ορισµό */ public void DisplayShows() { public void SelectShows() { public void OrderShows() { public void SaveSelections() { public void ReleaseMemory() { 6

Β. Να τοποθετήσετε κατάλληλα τις κλήσεις [α] - [στ] µέσα στις µεθόδους που αναφέρατε στον ορισµό της κλάσης PayPerViewProg [1,0]. Σύµφωνα µε τις συνθήκες κλήσης των init(), start(), stop(), και destroy() (σηµειώσεις σελ 99, διαφάνειες σελ 23), καθώς και την εκφώνηση, οι κλήσεις [α] - [στ] τοποθετούνται µέσα σε αυτές, ως ακολούθως: public void init() { NextShowsList=broadcasts.NextWeek(system.date()); // διότι γίνεται αρχικοποίηση public void start() { this.displayshows(); SelectedShows=this.SelectShows(); OrderedShows=this.OrderShows(); // διότι πρόκειται για τι κύριο µέρος της δουλειάς του applet public void stop() { this.saveselections(); // διότι οι επιλογές πρέπει να αποθηκεύονται // όταν ο χρήστης φεύγει από τη σελιδα public void destroy() { this.releasememory(); // διότι υποδηλώνει το τέλος χρησιµότητας του applet, // εφόσον κλείνει ο browser 7

ΘΕΜΑ 3 (Μονάδες 2) Κατά την επεξεργασία των δεδοµένων των εκποµπών δηµιουργείται ένα αντικείµενο της κλάσης BroadcastTotals, η οποία ορίζεται ως εξής: class BroadcastTotals { private int showsnumber; // ο αριθµός των εκποµπών private String[] shownames; // οι τίτλοι των εκποµπών private int[] showorders; // το πλήθος παραγγελιών για κάθε εκποµπή public BroadcastTotals() { // δίνει τιµές στο πεδίο showsnumber // γεµίζει µε δεδοµένα τα πεδία-πίνακες shownames[showsnumber] // και showorders[showsnumber] // θεωρείται γνωστή public int BestShow() { // επιστρέφει τον κωδικό της εκποµπής (θέση στον πίνακα shownames/showorders) // µε τον µεγαλύτερο αριθµό παραγγελιών (ζητείται) // τέλος ορισµού της κλάσης Εκδοχή 1: Να δώσετε τον πηγαίο κώδικα της µεθόδου BestShow() σε Java, που επιστρέφει τη θέση του πίνακα shownames/showorders στην οποία βρίσκεται η εκποµπή µε το µεγαλύτερο αριθµό παραγγελιών. Στην ουσία, µας ζητά να επιστρέψουµε τη θέση του µέγιστου στοιχείου του πίνακα showorders. public int BestShow() { int i, tmpmaxdata=integer.min_value, tmpmaxpos=0; for (i=0; i<showsnumber; i++) { if (showorders[i] > tmpmaxdata) { tmpmaxdata=showorders[i]; tmpmaxpos=i; return (tmpmaxpos); Εκδοχή 2: Να δώσετε τον πηγαίο κώδικα της µεθόδου WorseShow() σε Java, που επιστρέφει τη θέση του πίνακα shownames/showorders στην οποία βρίσκεται η εκποµπή µε το µικρότερο αριθµό παραγγελιών. Στην ουσία, µας ζητά να επιστρέψουµε τη θέση του ελαχίστου στοιχείου του πίνακα showorders. public int WorseShow() { int i, tmpmindata=integer.max_value, tmpminpos=0; for (i=0; i<showsnumber; i++) { if (showorders[i] < tmpmindata) { tmpmindata=showorders[i]; tmpminpos=i; return (tmpminpos); 8