Income Tax Calculator 2 η Φάση (Refactoring) Έκδοση <1.0>

Σχετικά έγγραφα
Income Tax Calculator. Income Tax Calculator 1 η Φάση. Έκδοση <1.0>

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

ΠΟΛΥ ΜΕΓΑΛΗ : ΜΕΓΑΛΗ : ΜΕΣΑΙΑ: ΜΙΚΡΗ

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Δομές ελέγχου ροής προγράμματος

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 5η: Εντολές Επανάληψης

Περιεχόμενα. Πρόλογος... xiii

Βασικά Στοιχεία της Java

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Βασικά στοιχεία του CSS

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

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

Οι εντολές ελέγχου της ροής ενός προγράµµατος

Οδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος

Συγγραφή Προγραμμάτων

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

Δομές Επανάληψης. Εισαγωγή στη C++

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

NATIONAL & KAPODISTRIAN UNIVERSITY OF ATHENS. Ανάπτυξη Λογισμικού για Δίκτυα και Τηλεπικοινωνίες Εργασία Δεύτερη φάση

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

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

Βασικά Στοιχεία της Java

Κεφάλαιο ΙII : Εργαστηριακές ασκήσεις που αφορούν εντολές ελέγχου της ροής ενός προγράµµατος.

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ανάπτυξη και Σχεδίαση Λογισμικού

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

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

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 4

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

ΒΑΣΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΔΟΜΕΣ ΣΕ ΨΕΥΔΟΚΩΔΙΚΑ ΚΑΙ ΣΕ ΔΡΠ

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

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

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

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

CSS Εργαστήριο 1. Εισαγωγή - Σύνταξη - Εφαρμογή στην HTML

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Δομημένος Προγραμματισμός

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Συστήματα Αναμονής (Queuing Systems)

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

EBS Version Entersoft Business Suite Entersoft CRM

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων Σωτήρης Γυφτόπουλος

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΤΕΙ Πελοποννήσου Τμήμα Πληροφορικής. Οδηγίες Εγκατάστασης VPN Σύνδεσης στο ΤΕΙ Πελοποννήσου

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

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

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Java 7. Μάθετε την. σε 24 Ώρες. Εκδόσεις: Μ. Γκιούρδας. 6 η ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού

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

Περιεχόμενα. Πρόλογος 15

Ιεραρχία Οργανισµών Οι οργανισµοί που ζουν στο οικοσύστηµά µας κατατάσσονται σύµφωνα µε την παρακάτω ιεραρχία: Organisms

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Σχεδιασμός Βάσεων Δεδομένων

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΑΝΑΚΟΙΝΩΣΗ ΚΑΤΑΤΑΚΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ ΑΚ. ΈΤΟΥΣ

ASPA: A translator from ASP to PHP

Βαθμός Σχόλιο. lab3_grades

Δείκτες σε συναρτήσεις. Προγραμματισμός II 1

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΜΑΘΗΤΗ

Περιεχόμενα. Πρόλογος 15

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

Κατανεμημένα Συστήματα

ACE ERP. Μπορείτε να το αποκτήσετε τώρα! Περισσότερες εφαρµογές, απεριόριστες δυνατότητες

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

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

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

ιαφάνειες παρουσίασης #3

Προγραμματισμός I (Θ)

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

Δομές Δεδομένων και Αλγόριθμοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

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

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Φροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα

Τµήµα Πληροφορικής. Δοµές Δεδοµένων - Εργασία 1. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης. Στοίβες και Ουρές. Οικονοµικό Πανεπιστήµιο Αθηνών

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

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

Transcript:

Income Tax Calculator 2 η Φάση (Refactoring) Έκδοση <1.0>

Ιστορικό Προηγούμενων Εκδόσεων Ημερομηνία Έκδοση Περιγραφή Συγγραφέας Confidential, 2016 Page 2

Περιεχόμενα 1. Εισαγωγή 4 2. Ονοματολογία & Μορφοποίηση Κώδικα 4 3. Μέγεθος & Πολυπλοκότητα Κώδικα 4 4. Επεκτασιμότητα 4 Confidential, 2016 Page 3

Περιγραφή Απαιτήσεων 2 ης Φάσης 1. Εισαγωγή Στόχος της 2 ης φάσης της εργασίας είναι η αναδόμηση της εφαρμογής που αναπτύχθηκε στην 1 η φάση της εργασίας για την επίτευξη των στόχων που αναλύονται στις παρακάτω ενότητες. 2. Ονοματολογία & Μορφοποίηση Κώδικα Ακολουθήστε τους κανόνες της Oracle στο standard Java Coding Style (http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html). Ακολουθήστε τον step down κανόνα μορφοποίησης (newspaper metaphor). 3. Μέγεθος, Πολυπλοκότητα & Ποιότητα Κώδικα Άνω όριο μεγέθους αρχείων του project: 200 γραμμές κώδικα. Ο περιορισμός ισχύει μόνο για τα αρχεία των υποσυστημάτων εισόδου, εξόδου και διαχείρισης δεδομένων (βλ. αρχικές απαιτήσεις εργασίας). Άνω όριο μεγέθους των μεθόδων των κλάσεων: 10 γραμμές κώδικα. Ο περιορισμός ισχύει μόνο για τις κλάσεις των υποσυστημάτων εισόδου, εξόδου και διαχείρισης δεδομένων (βλ. αρχικές απαιτήσεις εργασίας). Άνω όριο πλήθους παραμέτρων των μεθόδων των κλάσεων: 2 παράμετροι. Ο περιορισμός ισχύει μόνο για τις κλάσεις των υποσυστημάτων εισόδου, εξόδου και διαχείρισης δεδομένων (βλ. αρχικές απαιτήσεις εργασίας). Βελτίωση κώδικα των υποσυστημάτων εισόδου, εξόδου και διαχείρισης δεδομένων, έτσι ώστε να: o Μην περιλαμβάνει εντολές switch, εκτός αν πρόκειται για κώδικα κάποιας Factory κλάσης. o Μην περιλαμβάνει φωλιασμένες εντολές if, if-else, εκτός αν πρόκειται για κώδικα κάποιας Factory κλάσης. o Μην περιλαμβάνει φωλιασμένους βρόχους (οποιοδήποτε συνδυασμό for, while, do-while) o Είναι σε συμφωνία με το νόμο της Δήμητρας (Demeter law). 4. Επεκτασιμότητα Για λόγους επεκτασιμότητας (βλ. αρχικές απαιτήσεις εργασίας) τα υποσυστήματα εισόδου/εξόδου περιλαμβάνουν κατάλληλες ιεραρχίες κλάσεων που είναι αρμόδιες για την επεξεργασία διαφορετικής μορφής αρχείων εισόδου/εξόδου (π.χ., απλή μορφή κειμένου, XML, οτιδήποτε άλλο προστεθεί στο μέλλον). Επίσης τα υποσυστήματα εισόδου/εξόδου περιλαμβάνουν κλάσεις Factory, μια για κάθε ιεραρχία κλάσεων. Κάθε Factory προσφέρει μια μέθοδο που είναι αρμόδια για την κατασκευή των αντικειμένων της ιεραρχίες. Η κλάση των αντικειμένων που δημιουργούνται καθορίζεται από την τιμή που δέχεται σαν παράμετρο η μέθοδος. 5. Bonus 15% σε περίπτωση που γίνουν βελτιώσεις στον κώδικα του υποσυστήματος γραφικής διεπαφής ώστε να πληρούνται οι περιορισμοί που καθορίζονται στις Ενότητες 2,3. Confidential, 2016 Page 4

6. Εργαλεία και Απαιτήσεις Υλοποίησης Για τον έλεγχο κάποιων εκ των περιορισμών που καθορίστηκαν στις ενότητες 2, 3 εγκαταστήστε στο Eclipse, το εργαλείο CheckStyle. o Για να ρυθμίσετε κατάλληλα το εργαλείο CheckStyle, ξεκινήστε από τις στάνταρντ ρυθμίσεις του εργαλείου (Sun Checks) που ελέγχουν αν ο κώδικας είναι συμβατός με το standard Java Coding Style της Oracle. Για να αποκτήσετε πρόσβαση στις ρυθμίσεις αυτές ακολουθήστε το εξής μονοπάτι στα μενού του Eclipse: Window>Preferences>CheckStyle o Φτιάξτε μια κόπια των ρυθμίσεων Sun Checks o Κάντε configure την κόπια που φτιάξατε, προσθέτοντας τους περιορισμούς μεγέθους και πολυπλοκότητας στα Size violations. Για να εγκαταστήσετε το CheckStyle δείτε το παρακάτω link: http://eclipsecs.sourceforge.net/downloads.html Tutorial για τη ρύθμιση και χρήση του CheckStyle: http://www.javatips.net/blog/2013/07/eclipsecheckstyle-tutorial Confidential, 2016 Page 5