MinusXL. MinusXL (Requirements Definition) Έκδοση <1.0>



Σχετικά έγγραφα
Γενικό πλαίσιο. Απαιτήσεις Μοντέλο εδοµένων. MinusXLRequirements. Απόστολος Ζάρρας

Software Evolution Monitor. Software Evolution Monitor (Requirements Definition) Έκδοση <1.0>

Income Tax Calculator. Income Tax Calculator 1 η Φάση. Έκδοση <1.0>

Income Tax Calculator. Income Tax Calculator 1 η Φάση. Έκδοση <1.0>

Γενικό πλαίσιο. Software Evolution Monitor Requirements. Απόστολος Ζάρρας

Χρήσεις Η/Υ και Βάσεις Βιολογικών Δεδομένων : ΒΙΟ109 [4] Επεξεργασία Δεδομενων σε λογιστικα φυλλα

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πεδί α

Μπορούμε να δημιουργήσουμε διάφορα γραφήματα που αναπαριστούν τα δεδομένα ή υπολογισμούς του λογιστικού φύλλου μας.

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Excel Μέρος 1

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Excel Μέρος 1

Τα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη. χρήση συναρτήσεων ομαδοποίησης κατά την εκτέλεση ενός ερωτήματος προβολής

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Σ η μ ε ι ώ σ ε ι ς γ ι α τ ο υ π ο λ ο γ ι σ τ ι κ ό φ ύ λ λ ο

Γνωρίστε το Excel 2007

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

Εισαγωγή στο Πρόγραμμα Maxima

Διαχείριση Έργων Πληροφορικής Εργαστήριο

ΕΠΕΡΙΝΟ ΓΕΝΙΚΟ ΛΤΚΕΙΟ ΚΑΣΟΡΙΑ ΕΡΕΤΝΗΣΙΚΗ ΕΡΓΑΙΑ Α ΛΤΚΕΙΟΤ

Επιλέξτε Κελιά /Γραμματοσειρά και δώστε συγκεκριμένο μέγεθος και τύπο

Υπολογιστικά Συστήματα

ΕΡΓΑΣΙΑ 2. Κατασκευάζοντας Ημερολόγια. Ημερομηνία Ανάρτησης: 23/02/2018 Ημερομηνία Παράδοσης: 13/03/2018, 09:00

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

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

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Excel Μέρος 2

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Excel Μέρος 2

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

Εγγραφή στο Portal για νέους συνδρομητές

Στη γραμμή διεύθυνσης ενός φυλλομετρητή (web browser) πληκτρολογούμε hrm.lib.aegean.gr για να οδηγηθούμε στην σελίδα εισόδου του Αυτοματοποιημένου

Μέρος Α Περιβάλλον Εργασίας Windows Εργαστηριακή Άσκηση 1 Το Γραφικό Περιβάλλον του Υπολογιστή... 21

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb)

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

Εγχειρίδιο Invest i. Εγχειρίδιο Invest

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0

Ηλεκτρονικοί Υπολογιστές

Survey 123 User Manual

Δημιουργία μιας εφαρμογής Java με το NetBeans

8o ΕΡΓΑΣΤΗΡΙΟ ΣΦΑΛΜΑΤΑ, ΜΟΡΦΟΠΟΙΗΣΗ ΥΠΟ ΟΡΟΥΣ ΚΑΙ ΓΡΑΦΗΜΑΤΑ

Παράδειγμα «Ημίτονο και ζωγραφική!»: Έχει δει στα μαθηματικά τη γραφική παράσταση της συνάρτησης του ημιτόνου; Σας θυμίζει κάτι η παρακάτω εικόνα;

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) MASTER IN OFFICE

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Παρουσίαση Libreoffice. Βασίλειος Καραβασίλης Μονάδα Αριστείας ΕΛΛΑΚ ΕΤΕΠΗ 27/04/2015

ANDROID Προγραμματισμός Εφαρμογών

Εργαστήριο 4 ΔΗΜΙΟΥΡΓΙΑ ΓΡΑΦΗΜΑΤΩΝ ΜΕ ΤΟ EXCEL ΑΚ ΤΡΑΥΛΟΣ

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Χρήση του προγράμματος Excel για τον υπολογισμό της αντίστασης και της ισχύος, την κατασκευή χαρακτηριστικής I V, και της ευθείας φόρτου.

Oικονομικές και Mαθηματικές Eφαρμογές

Τα αλφαριθμητικά αποτελούνται από γράμματα, λέξεις ή άλλους χαρακτήρες (π.χ. μήλο, Ιούλιος 2009, You win!).

Μαθηματική Εισαγωγή Συναρτήσεις

Επιλογή ενός στοιχείου γραφήματος από μια λίστα στοιχείων γραφήματος

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Τεχνολογία Λογισμικού

Εργαστηριακή άσκηση 8 η (EXCEL) ΣΥΝΑΡΤΗΣΕΙΣ-ΣΧΗΜΑΤΑ-ΕΙΚΟΝΕΣ- ΓΡΑΦΗΜΑΤΑ

Τίτλος Μαθήματος: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Ενότητα: Εισαγωγή στους Επεξεργαστές Κειμένου-Μέρος 2

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

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

HP Workspace. Οδηγός χρήσης

ΚΕΦΑΛΑΙΟ 3 ο ΣΥΝΑΡΤΗΣΕΙΣ, ΤΡΙΓΩΝΟΜΕΤΡΙΑ( FUNCTIONS,TRIGONOMETRY)

Διαχείριση Βάσης Δεδομένων (dbadmin)

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ SCADA Pro 16

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

Εργασία 4: Υπολογιστικά Φύλλα και Επεξεργασία Δεδομένων. Ομάδα Β: Επεξεργασία πειραματικών δεδομένων

Υπολογιστικά Φύλλα Microsoft Excel 2016 Level I

Μαθηματική Εισαγωγή Συναρτήσεις

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Απλές συναρτήσεις του Excel (Συνέχεια)

Microsoft EXCEL ΛΟΓΙΣΤΙΚΑ ΦΥΛΛΑ ECDL. Περιεχόμενα. Απόκτησε τώρα το δίπλωμα. για να θεωρείσαι Επαγγελματίας! 1 Χρήση της Εφαρμογής.

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

Microsoft EXCEL ΛΟΓΙΣΤΙΚΑ ΦΥΛΛΑ ECDL. Περιεχόμενα. Απόκτησε τώρα το δίπλωμα. για να θεωρείσαι Επαγγελματίας! 1 Μορφοποίηση. 2 Τύποι και Συναρτήσεις

MAΘΗΜΑΤΙΚΑ. κριτήρια αξιολόγησης B ΓΥΜΝΑΣΙΟΥ. Πέτρος Μάρκος

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Διαδικασία καταχώρησης προϋπολογισμών από το web-rescom

Επίδραση της βαρύτητας στο απλό εκκρεμές. Δύο λάθη ένα σωστό!

Εικόνα 1: Κριτήρια αναζήτησης προϋπολογισμών

Παρατηρήσεις για τη χρήση ενός κυκλικού διαγράμματος

Αναλυτικός Πίνακας Περιεχομένων

Στατιστικές συναρτήσεις Γραφική και πινακοποιημένη αναπαράσταση δεδομένων (ιστόγραμμα) Διαχειριστής Σεναρίων Κινητός Μέσος σε Χρονοσειρές o o o

Φύλλο εργασίας Επιλέγουμε τα κελιά από το A1 έως το C1 και πατάμε το (Συγχώνευση και στοίχιση στο κέντρο)

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ :

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Περιεχόμενα. Λίγα λόγια από το συγγραφέα...7 Κεφάλαιο 1: Προετοιμασία παρουσίασης...9. Κεφάλαιο 2: Διαχείριση παρουσίασης...44

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ

Εισαγωγή στην Αριθμητική Ανάλυση

Αντικείμενα Αξιολόγησης Γνώσεις Δεξιότητες Ενέργειες Διαδικασίες (Excel) 1. Βασικές Λειτουργίες & Περιβάλλον Εφαρμογής Υπολογιστικών Φύλλων

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1: Μια πρώτη επαφή με το Excel. ΚΕΦΑΛΑΙΟ 2: Ανοίγω Κλείνω Ανοίγω Κλείνω και αποθηκεύω. ΚΕΦΑΛΑΙΟ 3: Μαθαίνω να κάνω υπολογισμούς

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΣΧΗΜΑΤΑ-ΕΙΚΟΝΕΣ-ΕΞΙΣΩΣΕΙΣ

Management School School Profile Save

Transcript:

MinusXL MinusXL (Requirements Definition) Έκδοση <1.0>

Ιστορικό Προηγούμενων Εκδόσεων Ημερομηνία Έκδοση Περιγραφή Συγγραφέας <11/09/2015> <1.0> 1 η έκδοση της περιγραφής των απαιτήσεων. Α. Ζάρρας Confidential, 2015 Page 2

Περιεχόμενα 1. Εισαγωγή 4 1.1 Σκοπός 4 1.2 Εύρος 5 1.3 Αναφορές 5 1.4 Σύνοψη 5 2. Μοντέλο δεδομένων 6 3. Λειτουργικές Απαιτήσεις 8 4. Μη Λειτουργικές Απαιτήσεις 11 5. Απαιτήσεις Τεκμηρίωσης 11 6. Απαιτήσεις Σχετικές με τη Διεργασία Ανάπτυξης 11 7. Εργαλεία υλοποίησης, βιβλιοθήκες κ.α. 11 Confidential, 2015 Page 3

Περιγραφή Απαιτήσεων (Software Requirements Definition) 1. Εισαγωγή 1.1 Σκοπός Το παρόν κείμενο περιλαμβάνει τις αρχικές απαιτήσεις που συλλέχθηκαν για την κατασκευή μιας εφαρμογής για τη διαχείριση λογιστικών φύλλων (spreadsheets). Μια από τις πιο γνωστές και ευρέως διαδεδομένες εμπορικές εφαρμογές για τη διαχείριση λογιστικών φύλλων είναι το Excel της Microsoft. Στόχος της εργασίας μας είναι να αναπτύξουμε μια αντίστοιχη εφαρμογή, MinusXL, με λιγότερες λειτουργίες άλλα ταυτόχρονα και πιο απλή στη χρήση για χρήστες που δεν έχουν εμπειρία από υπολογιστές. Σχήμα 1. Confidential, 2015 Page 4

Σε γενικές γραμμές με το MinusXL ο χρήστης μπορεί να δημιουργήσει ένα ή περισσότερα βιβλία εργασίας (workbook) και κάθε workbook μπορεί να αποτελείται από ένα ή περισσότερα λογιστικά φύλλα (spreadsheet), κάθε λογιστικό φύλλο αποτελείται από κελιά όπου καταχωρούνται δεδομένα (π.χ., αριθμητικές τιμές, λογικές τιμές, αλφαριθμητικά). Επίσης η τιμή ενός κελιού μπορεί να μην είναι καθορισμένη ή μπορεί να υπολογίζεται με βάση κάποια συνάρτηση που εφαρμόζεται στις τιμές άλλων κελιών. Το MinusXL προσφέρει διάφορες συναρτήσεις που αναλύονται στη συνέχεια. Με το MinusXL ο χρήστης μπορεί να δημιουργήσει γραφικές παραστάσεις που αναπαριστούν τα δεδομένα με διάφορους τρόπους (διάγραμμα γραμμών (line chart), ραβδόγραμμα (bar chart), κλπ.). Ένα παράδειγμα των βασικών εννοιών του προβλήματος μας (βασισμένο στο Excel της Microsoft) δίνεται στο Σχήμα 1. Στο σχήμα εικονίζεται ένα workbook που αποτελείται από 2 spreadsheets τα Expenses per month και Expenses previous years. Στο Expenses per year υπάρχουν άδεια κελιά, κελιά με αλφαριθμιτικά, κελιά με αριθμητικές τιμές (π.χ., τα κελιά της κολώνας Heat) και κελιά που υπολογίζονται με βάση συναρτήσεις (π.χ., τα κελιά της γραμμής Max που υπολογίζουν το μέγιστο κάθε μιας από τις κολώνες Electricity, Heat, Rent, Salaries) Περεταίρω λεπτομέρειες σχετικά με τις επιμέρους λειτουργικές και μη-λειτουργικές απαιτήσεις που αφορούν στο εργαλείο δίνονται στη συνέχεια. 1.2 Εύρος Το παρόν κείμενο αποτελεί την είσοδο στη φάση της ανάλυσης και προδιαγραφής των απαιτήσεων όπου και αναμένεται μια τυπική περιγραφή των απαιτήσεων που συλλέχθηκαν για το MinusXL και οι οποίες δίνονται στη συνέχεια. 1.3 Αναφορές [1] S. Pfleeger. «Τεχνολογία Λογισμικού, Θεωρία και Πράξη», Κλειδάριθμος. [2] I. Sommerville. «Εισαγωγή στην Τεχνολογία Λογισμικού», Κλειδάριθμος. 1.4 Σύνοψη Το υπόλοιπο του παρόντος κειμένου χωρίζεται σε ενότητες οι οποίες περιλαμβάνουν πιο συγκεκριμένα απαιτήσεις σχετικές με τα δεδομένα που χειρίζεται το MinusXL (Ενότητα 2), τις λειτουργικές απαιτήσεις του MinusXL (Ενότητα 3), τις μη-λειτουργικές απαιτήσεις του MinusXL (Ενότητα 4) και περαιτέρω πληροφορίες που αφορούν στην τεκμηρίωσή του (Ενότητα 5), τη διεργασία ανάπτυξής του (Ενότητα 6) και τα εργαλεία ανάπτυξης (Ενότητα 7). Confidential, 2015 Page 5

2. Μοντέλο δεδομένων Στην ενότητα αυτή καθορίζεται ένα γενικό μοντέλο των δεδομένων που διαχειρίζεται το MinusXL. Πιο συγκεκριμένα, τα δεδομένα που χειρίζεται η εφαρμογή οργανώνονται σε βιβλία εργασίας. Ένα βιβλίο εργασίας χαρακτηρίζεται από: 1. Ένα όνομα. 2. Μία λίστα από λογιστικά φύλλα. Ένα λογιστικό φύλλο χαρακτηρίζεται από: a. Ένα όνομα. Συνάρτηση Είσοδος b. Ένα πίνακα NxM του οποίου το μέγεθος καθορίζεται δυναμικά κατά τη δημιουργία του λογιστικού φύλλου. Ένα κελί χαρακτηρίζεται από τις συντεταγμένες του στον πίνακα. Για ένα κελί έχουμε τα εξής ενδεχόμενα: i. Είναι κενό. ii. Έχει μια αριθμητική τιμή στους πραγματικούς αριθμούς. iii. Έχει μια λογική τιμή (true, false). iv. Έχει ένα αλφαριθμητικό. v. Σχετίζεται με μια συνάρτηση που υπολογίζει την τιμή του με βάση άλλα κελιά. Υπάρχουν οι εξής γενικές κατηγορίες συναρτήσεων: 1. Μαθηματικές και τριγωνομετρικές. Οι επιμέρους συναρτήσεις αυτής της κατηγορίας περιγράφονται στον Πίνακα 1. 2. Λογικές. Οι επιμέρους συναρτήσεις αυτής της κατηγορίας περιγράφονται στον Πίνακα 2. 3. Στατιστικές. Οι επιμέρους συναρτήσεις αυτής της κατηγορίας περιγράφονται στον Πίνακα 3. 4. Αλφαριθμητικές. Οι επιμέρους συναρτήσεις αυτής της κατηγορίας περιγράφονται στον Πίνακα 4. Γενικά μια συνάρτηση χαρακτηρίζεται από ένα ή περισσότερα κελιά με βάση τα οποία υπολογίζεται η τιμή της. Έξοδος abs Ένα μη κενό κελί (i, j) Απόλυτη τιμή της τιμής του κελιού (i, j) cos sin tan pow Ένα μη κενό κελί (i, j) που περιέχει ως τιμή μια γωνία από 0-360 μοίρες Ένα μη κενό κελί (i, j) που περιέχει ως τιμή μια γωνία από 0-360 μοίρες Ένα μη κενό κελί (i, j) που περιέχει ως τιμή μια γωνία από 0-360 μοίρες Δύο μη κενά κελιά που περιέχουν τιμές x, y Συνημίτονο της γωνίας Ημίτονο της γωνίας Εφαπτομένη της γωνίας. Η τιμή x y Confidential, 2015 Page 6

sum Ένα μη κενό σύνολο κελιών Το άθροισμα των τιμών των κελιών mult Ένα μη κενό σύνολο κελιών Το γινόμενο των τιμών των κελιών log log10 Ένα μη κενό κελί (i, j) που περιέχει μια τιμή > 0 Ένα μη κενό κελί (i, j) που περιέχει μια τιμή > 0 Το λογάριθμο της τιμής του κελιού (i, j) με βάση το e Το λογάριθμο της τιμής του κελιού (i, j) με βάση το 10 Πίνακας 1 - Μαθηματικές και Τριγωνομετρικές Συναρτήσεις Συνάρτηση Είσοδος and or Δύο μη κενά κελιά που περιέχουν λογικές τιμές x, y Δύο μη κενά κελιά που περιέχουν λογικές τιμές x, y Έξοδος Λογικό και των x,y Λογικό ή των x,y not Ένα μη κενό κελί (i, j) Λογική άρνηση xor Δύο μη κενά κελιά που περιέχουν λογικές τιμές x, y Πίνακας 2 - Λογικές Συναρτήσεις Αποκλειστικό ή των x,y Συνάρτηση Είσοδος Έξοδος max Ένα μη κενό σύνολο κελιών Μέγιστη τιμή για τις τιμές των κελιών Min Ένα μη κενό σύνολο κελιών Ελάχιστη τιμή για τις τιμές των κελιών Mean Ένα μη κενό σύνολο κελιών Μέση τιμή για τις τιμές των κελιών Median Ένα μη κενό σύνολο κελιών Ενδιάμεση τιμή για τις τιμές των κελιών Stddev Ένα μη κενό σύνολο κελιών Τυπική απόκλιση για τις τιμές των κελιών Πίνακας 3 - Στατιστικές Συναρτήσεις Συνάρτηση Είσοδος Concat includes Trim Remove Δύο μη κενά κελιά που περιέχουν τα string x, y Δύο μη κενά κελιά που περιέχουν τα string x, y Ένα μη κενό κελί (i, j) που περιέχει το string x Δύο μη κενά κελιά που περιέχουν τα string x, y Έξοδος Συνένωση των x, y, σε νέο αλφαριθμητικό xy True αν το x περιέχει το y, αλλιώς false Νέο αλφαριθμητικό που προκύπτει από την αφαίρεση κενών από το x Νέο αλφαριθμητικό που προκύπτει από την αφαίρεση όλων των εμφανίσεων του y από το x Confidential, 2015 Page 7

Πίνακας 4 - Αλφαριθμητικές Συναρτήσεις 3. Λειτουργικές Απαιτήσεις Ο χρήστης της εφαρμογής χρησιμοποιεί την εφαρμογή ενεργοποιώντας τα παρακάτω σενάρια χρήσης. 1. Δημιουργία νέου βιβλίου εργασίας: Ο χρήστης καθορίζει το όνομα. Το νέο workbook δημιουργείται και εμφανίζεται στο χρήστη.. Σε περίπτωση που ο χρήστης δεν καθορίσει όνομα για το νέο workbook, αυτό θα έχει ένα default όνομα και εμφανίζεται στο χρήστη μια αντίστοιχη προειδοποίηση. Σε περίπτωση που η εφαρμογή χειρίζεται ήδη κάποιο workbook υπάρχει σχετική ειδοποίηση στο χρήστη η οποία του δίνει τη δυνατότητα να αποθηκεύσει τα δεδομένα του παλιού workbook στο δίσκο πριν τη δημιουργία του νέου workbook. 2. Αποθήκευση δεδομένων ενός βιβλίου εργασίας: Όταν ο χρήστης επιθυμεί μπορεί να ενεργοποιήσει την αποθήκευση των δεδομένων ενός βιβλίου εργασίας. Τότε για κάθε λογιστικό φύλλο του workbook δημιουργείται ένα αρχείο στο δίσκο στο οποίο αποθηκεύονται τα δεδομένα του εν λόγω λογιστικού φύλλου σε μορφή CSV. Σύμφωνα με τη μορφή αυτή οι τιμές κάθε γραμμής του φύλλου αποθηκεύονται σε αντίστοιχες γραμμές στο αρχείο. Η τιμή κάθε κελιού, εκτός από το τελευταίο της γραμμής, ακολουθείται από το χαρακτήρα ';'. Αν ένα κελί δεν έχει τιμή στο αρχείο αποθηκεύεται μόνο το ';' (π.χ. Πίνακας 5). Στην περίπτωση που προκύψει πρόβλημα στην αποθήκευση του αρχείου εμφανίζεται αντίστοιχο μήνυμα λάθους στο χρήστη. 3. Προσθήκη λογιστικού φύλλου: Ο χρήστης καθορίζει το όνομα και τις διαστάσεις του νέου φύλλου. Στη συνέχεια το νέο φύλλο δημιουργείται και εμφανίζεται στο χρήστη. Επίσης το νέο φύλλο καταχωρείται σε μια λίστα με τα φύλλα που αποτελούν το τρέχον βιβλίο εργασίας. Στη συνέχεια ο χρήστης μπορεί να καταχωρήσει δεδομένα, να επεξεργαστεί τα δεδομένα, να φτιάξει γραφικές παραστάσεις, κλπ. Σε περίπτωση που ο χρήστης δεν καθορίσει τα στοιχεία που απαιτούνται αυτά παίρνουν default τιμές και εμφανίζεται στο χρήστη μια αντίστοιχη προειδοποίηση. 4. Διαγραφή λογιστικού φύλλου: Ο χρήστης επιλέγει ένα λογιστικό φύλλο και ενεργοποιεί τη διαγραφή του. Το εν λόγω φύλλο αφαιρείται από τη λίστα των φύλλων που αποτελούν το τρέχον βιβλίο εργασίας. Σε περίπτωση που ο χρήστης ενεργοποιήσει τη διαγραφή χωρίς να επιλέξει κάποιο φύλλο εμφανίζεται αντίστοιχο μήνυμα λάθους. 5. Εισαγωγή δεδομένων από αρχείο: Ο χρήστης καθορίζει το όνομα ενός αρχείου CSV που περιέχει τα δεδομένα ενός λογιστικού φύλλου. Στη συνέχεια γίνεται ανάγνωση του αρχείου και δημιουργείται ένα νέο λογιστικό φύλλο που περιέχει τα εν λόγω δεδομένα. Το όνομα του φύλλου είναι το ίδιο με το όνομα του αρχείου. Στην περίπτωση που προκύψει πρόβλημα στην ανάγνωση Confidential, 2015 Page 8

του αρχείου εμφανίζεται αντίστοιχο μήνυμα λάθους στο χρήστη. ;Electricity;Heat;Rent;Salaries;Operational Expenses January;230,34;678,67;1000;3000;1909,01 February;123,00;567,34;1000;3000;1690,34 March;145,00;345,67;1000;3000;1490,67 April;234,00;234,56;1000;3000;1468,56 May;300,05;256,00;1000;3000;1556,05 June;230,00;0,00;1000;3000;1230,00 July;123,00;0,00;1000;5000;1123,00 August;145,67;0,00;1000;5000;1145,67 September;234,00;123,00;1000;5000;1357,00 October;100,00;345,67;1000;4000;1445,67 November;456,00;234,56;1000;4000;1690,56 December;333,00;567,34;1000;4000;1900,34 ;;;;; Max;456,00;678,67;1000,00;5000,00;1909,01 Min;100,00;0,00;1000,00;3000,00;1123,00 Average;221,17;279,40;1000,00;3750,00;1500,57 StdDev;104,37;233,01;0,00;866,03;264,28 ;;;;; Πίνακας 5 - Μια CSV περιγραφή των δεδομένων του λογιστικού φύλλου Expenses per Month 6. Χειροκίνητη επεξεργασία δεδομένων: Ο χρήστης μπορεί να επιλέξει ένα λογιστικό φύλλο και να επεξεργαστεί τα δεδομένα του, εισάγοντας, διαγράφοντας και αλλάζοντας τιμές, συναρτήσεις, κλπ. στα κελιά του επιλεγμένου φύλλου. Αν διαγραφεί/αλλαχθεί η τιμή ενός κελιού το οποίο χρησιμοποιείται σαν είσοδος σε κάποια(ες) συνάρτηση(εις) το αποτέλεσμα της(ων) συνάρτησης(ων) ανανεώνεται αυτόματα και εμφανίζεται στο(α) κελί(α) της(ων) συνάρτησης(ων). Σε περίπτωση που οι αλλαγές έχουν ως αποτέλεσμα τα δεδομένα εισόδου της(ων) συνάρτησης(ων) να είναι ελλειπή ή να μην πληρούν τους περιορισμούς της(ων) συνάρτησης(ων) (βλέπε Πίνακες 1, 2, 3, 4) εμφανίζεται αντίστοιχο μήνυμα λάθους στο χρήστη. 7. Επεξεργασία δεδομένων με συναρτήσεις: Για να συσχετίσει μια συνάρτηση με ένα κελί ο χρήστης επιλέγει το κελί, καθώς και τη συνάρτηση. Στη συνέχεια επιλέγει τα κελιά από τα οποία θα προκύψουν τα δεδομένα εισόδου της συνάρτησης. Για δεδομένα εισόδου που περιλαμβάνουν ένα σύνολο κελιών ο χρήστης μπορεί είτε να καθορίζει καθένα από τα κελιά δίνοντας τις συντεταγμένες τους (π.χ. κελί (1, 1), κελί (2, 3), κλπ.) ή να δώσει σαν είσοδο το υποσύνολο των κελιών μιας γραμμής ή στήλης (π.χ. από κελί (1, 3) έως κελί (1, 10)). Το αποτέλεσμα της εν λόγω διαδικασίας είναι η εμφάνιση του αποτελέσματος της συνάρτησης στο κελί που επιλέχθηκε Confidential, 2015 Page 9

αρχικά. Σε περίπτωση που τα δεδομένα εισόδου της συνάρτησης είναι ελλειπή ή δεν πληρούν τους περιορισμούς της συνάρτησης (βλέπε Πίνακες 1, 2, 3, 4) τότε εμφανίζεται σχετικό μήνυμα λάθους. 8. Δημιουργία γραφικών παραστάσεων: Ο χρήστης μπορεί να επιλέξει από μια λίστα το τύπο της γραφικής παράστασης που θέλει να χρησιμοποιήσει. Η εφαρμογή υποστηρίζει 2 είδη γραφικών παραστάσεων: γραφήματα γραμμών (π.χ., Σχήμα 2) και ραβδογράμματα (π.χ., Σχήμα 3). Εν συνεχεία, ο χρήστης καθορίζει ένα τίτλο για τη γραφική παράσταση, τίτλους για τους άξονες και τα δεδομένα που θα απεικονιστούν. Ο καθορισμός μπορεί να γίνει όπως και στην περίπτωση της επεξεργασίας δεδομένων με συναρτήσεις. Τέλος η γραφική παράσταση εμφανίζεται στο χρήστη. Στην περίπτωση που κάποια από τα στοιχεία που απαιτούνται για την δημιουργία των γραφικών παραστάσεων δεν καθοριστούν εμφανίζεται ενημερωτικό μήνυμα. Σχήμα 2. Σχήμα 3. Confidential, 2015 Page 10

4. Μη Λειτουργικές Απαιτήσεις 1. Όλες οι λειτουργίες της εφαρμογής προσφέρονται μέσω κατάλληλης γραφικής επαφής με το χρήστη. 2. Κατά την παράδοση της εφαρμογής ο κατασκευαστής υποχρεούται να οργανώσει σεμινάριο επίδειξης των βασικών λειτουργιών του στους χρήστες. 5. Απαιτήσεις Τεκμηρίωσης 1. Η εφαρμογή θα παραδοθεί συνοδευόμενη από λεπτομερή οδηγό χρήσης. 2. Η εφαρμογή θα περιλαμβάνει και online help. 6. Απαιτήσεις Σχετικές με τη Διεργασία Ανάπτυξης 1. Η εφαρμογή θα βασιστεί στο αντικειμενοστραφές στυλ. Κατά συνέπεια η υλοποίηση της θα αποτελείται από κλάσεις που αντιστοιχούν στο μοντέλο δεδομένων και σε όλες τις βασικές έννοιες που αφορούν στο πρόβλημα. 2. Οι μέθοδοι που θα χρησιμοποιηθούν για τον καθορισμό απαιτήσεων καθώς και τη σχεδίαση του συστήματος θα βασίζονται στη UML. Κατά συνέπεια θα χρησιμοποιηθεί αντικειμενοστρεφής προσέγγιση. 3. Στη φάση της ανάλυσης των απαιτήσεων θα αναπτυχθεί ένα prototype της γραφικής διεπαφής της εφαρμογής με το χρήστη. 7. Εργαλεία υλοποίησης, βιβλιοθήκες κ.α. Το εργαλείο θα υλοποιηθεί σε Java. Για την σχεδίαση και την υλοποίηση θα χρησιμοποιηθεί το εργαλείο Eclipse. Παρακάτω δίνονται χρήσιμα links για την εγκατάσταση της τελευταίας έκδοσης του Eclipse καθώς και των επεκτάσεων του (plug ins) που θα χρειαστούν για την εφαρμογή. Eclipse - https://eclipse.org/downloads/ Eclipse Violet UML Editor plugin για τη σχεδίαση UML διαγραμμάτων - http://sourceforge.net/projects/violetumlplugin/ Για την εγκατάσταση του Violet στο Eclipse κατεβάστε το jar αρχείο από το παραπάνω URL και αντιγράψτε το στον υποφάκελο plugins του φακέλου στον οποίο έχετε εγκαταστήσει το Eclipse. Επανεκκινήστε το Eclipse. Standalone Violet UML Editor (δεν χρειάζεται να χρησιμοποιηθεί μέσω του Eclipse) - http://alexdp.free.fr/violetumleditor/page.php Eclipse WindowBuilder plugin (προσφέρει ένα Eclipse editor για την υλοποίηση Java GUIs) - http://www.eclipse.org/windowbuilder/ Confidential, 2015 Page 11

Για την εγκατάσταση του WindowBuilder στο Eclipse πατήστε Help -> Install New Software. Στο πεδίο Work With επιλέξτε το βασικό site του Eclipse (Mars - http://download.eclipse.org/releases/mars). Στη λίστα με τα plugins που θα εμφανιστεί επιλέξτε την κατηγορία General Purpose Tools. Στη συνέχεια επιλέξτε για εγκατάσταση τα παρακάτω: o SWT Designer o SWT Designer Core o WindowBuilder Core o WindowBuilder Core UI o WindowBuilder GroupLayout Support o WindowBuilder Java Core Ολοκληρώστε την εγκατάσταση ακολουθώντας τα επόμενα βήματα του Wizard. Tutorial (youtube video) για τη χρήση του WindowBuilder - https://www.youtube.com/watch?v=1seyde5i7j8 JFreeChart βιβλιοθήκη για υλοποίηση γραφικών παραστάσεων σε Java - http://www.jfree.org/jfreechart/ Tutorial για το JFreeChart - http://www.codeproject.com/articles/650480/introduction-to- JFreeChart Confidential, 2015 Page 12