Phase 2 Report V1.1

needlebookkeeperΛογισμικό & κατασκευή λογ/κού

17 Νοε 2012 (πριν από 4 χρόνια και 7 μήνες)

279 εμφανίσεις


MS..&C


Σελίδα
1





ΦΑΣΗ 2



Course Number and Name:

ΗΜΥ 317: ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΜΟΥ
=
(
pof瑷a牥
=
Eng楮ie物ng
)
=

Semester and Year:

2008

Name of Student:

Μενέλαος Πισσαρίδης
=
Σταύρος Χατζηθεοφάνους
=
Χριστόφορος Βοσκαρής
=
Name of Lab Instructor:

Ανδρέας Σάββα
=
=
Date of Repo
rt Submitted:



Grade:



MS..&C


Σελίδα
2

Περιεχόμενα:


1)
Abstract
……………………………………………………………………...Σελ.3


2)
Προδιαγραφές
………………………………………………………………Σελ.3


3)
Πλεονεκτήματα


Μειονεκτήματα
……………………………………….Σελ.4


4) Παραδοτέα…………………………………………………………………..Σελ.4


5)

Δημιουργία Συναρτήσ
εων
………………………………………………..Σελ.5


6)

Προβλήματα
……………………………………………………………….Σελ.11


7)

Αποτελέσματα
…………………………………………………………….Σελ.11


8) Επίλογος
…………………………………………………………………...Σελ.12


9)
APPENDICES
……………………………………………………………...Σελ.12

































MS..&C


Σελίδα
3






1)
A
BSTRACT


Η ομάδα μας ανέλαβε την δημιουργία ενός συστήματος επεξεργασίας
εικόνων(
Image

Processing
). Είχαμε στην διάθεση μας ολόκληρο το εξάμηνο,
για αυτό η υλοποίηση του συστήματος έγινε ακολουθώντας όλα τα στάδια του
σχεδιασμού και υλοποίησης.

Το σύστημα
μας εκτελεί τις βασικές λειτουργίες
επεξεργασίας εικόνας. Μερικές από αυτές είναι το
Image

Scaling

,
Image

Rotation

και
Brightness

Adjustment
. Για την υλοποίηση
του προγράμματος
χρησιμοποιήσαμε τη γλώσσα προγραμματισμού
JAVA
. Για τον σχεδιασμό του
προγράμμ
ατος (
source

code
) και του interface χρησιμοποιήσουμε το
λογισμικό
NetBeans
. Ο λόγος επιλογής του συγκεκριμένου λογισμικού ήταν
επειδή μας δίνει την δυνατότητα προγραμματισμού του
interface
. Έτσι το
τελικό σύστημα που θα παραδοθεί στον χρήστη θα περιέχει έ
να εύκολο και
κατανοητό
interface

με τις διάφορες λειτουργίες υλοποιημένες στα διάφορα
κουμπιά που θα υπάρχουν στο
interface
.

Ξεκινώντας την υλοποίηση του προγράμματος αποφασίσαμε ότι η
τεχνική που θα χρησιμοποιήσουμε για τη δημιουργία του προγράμματος είν
αι
η
Component
-
based software engineering
Αυτή η τεχνική βασίζεται πάνω
στη συστηματική χρήση των υπάρχων λειτουργικών μονάδων. Δηλαδή πρώτα
θα δημιουργηθούν οι διάφορες λειτουργίες και στη συνέχεια αφού
επιβεβαιωθεί η λειτουργία τους θα ενωθούν. Επίσης θα

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

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

και ότι θα είχαμε βοηθούς τον ΤΑ της
τάξης καθώς και ότι χρήσιμο θα μπορούσαμε να βρούμε και να
αξιοποιήσουμε κατάλληλα από το διαδίκτυο.


Διαβάσαμε σημειώσεις και βιβλία εισαγωγικά στη
JAVA
, είχαμε βοήθεια
και επίλυση αποριών από τον ΤΑ και επίσης βρήκαμ
ε βοηθητικό υλικό από το
διαδίκτυο. Συνδυάζοντας όλα τα πιο πάνω καταφέραμε δημιουργήσουμε ένα
πρωτότυπο το οποίο εκτελεί τις ακόλουθες λειτουργίες
Load
,
Save
,
Rotate
,
Scale

και
Brightness

Adjustment
.



2)
Προδιαγραφές
:


2.1)
Προδιαγραφές Χρήστη
:




Δημιουργ
ία ενός συστήματος για επεξεργασία εικόνας (
Image

Processing
), η οποία θα διαχειρίζεται
JPG

εικόνες.




Υλοποίηση βασικών λειτουργιών επεξεργασίας εικόνας:





Περιστροφή εικόνας (
Image

Rotations
)


MS..&C


Σελίδα
4





Μεγέθυνση εικόνας (
Image

Scaling
)





Μετατροπή Φωτεινότ
ητας εικόνας (
Brightness

Adjustment
)





Μετατροπή σε Αρνητική εικόνα (
Negative

Image
)





Μετατροπή της έγχρωμης εικόνας σε εικόνα αποτελούμενη
από επίπεδα του γκρίζου (
GrayScale

Image
).



Επεξεργασία Πολλαπλών Εικόνων


2.2)
Προδιαγραφές Συστήματος
:




Το π
ρόγραμμα υποστηρίζεται από το λειτουργικό σύστημα
Windows




Java Compiler



Λογισμικό
NetBeans 6



Ελάχιστες απαιτήσεις Η.Υ.



Επεξεργαστής
Pentium

3
,

667
Mhz



256
MB

RAM



200
MB

free

space



Κάρτα Γραφικών 4ΜΒ



3)


Πλεονεκτήματα


Μειονεκτήματα


3.1)
Πλεονεκ
τήματα:



Χαμηλό Κόστος
: Έχει χαμηλό κόστος αφού δημιουργήθηκε στα πλαίσια
πανεπιστημιακής μελέτης από φοιτητές και ταυτόχρονα το χαμηλό
κόστος θα μπορεί να ανταγωνιστεί ψηλά κόστη άλλων προϊόντων.




Μικρές Υπολογιστικές Απαιτήσεις
: Το πρόγραμμα όπως είδαμε
και στις
απαιτήσεις συστήματος θα έχει χαμηλές υπολογιστικές α
παιτήσεις

έτσι
δεν θα επιβαρύνει τον υπολογιστή του χρήστη αφού οι ελάχιστες
υπολογιστικές α
παιτήσεις

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





Υψηλής Ποιότητας Επεξεργασία Εικόνων
: Η επεξεργασία η οποία
γίνεται από το σύστημα μας δεν έχει να ζηλέψει τίποτα από
προγράμματα μεγάλης κλάσεως και εμβέλειας και αυτό το δείχνουν τα
αποτελέσματα.




Χρησιμοποίηση
JAVA

compiler

ο

οποίος υπάρχει
στους
περισσότερους υπολογιστές: Ένας
JAVA

compiler

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


3.2)
Μειονεκτήματα:



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




4
) Παραδοτέα:



MS..&C


Σελίδα
5

Στην Φάση 2 η ομάδα μας η
ομάδα

μας βρίσκεται
σύμφωνα

με το
χρονοδιάγραμμα.
Είμαστε

σε
θέση

να
παρουσιάσουμε

ένα

πρωτότυπο

το
οποίο

έχει

ελέχθη

και
πι
στοποιηθεί

η
λειτουργία

του. Το
σύστημα

μας
αφού

πάρει

σαν
είσοδο

μια .
jpeg

εικόνα
χρησιμοποιώντας

την
συνάρτηση

L
oad

μπορεί

να
εκτελέσει

τις
ακόλουθες

λειτουργίες

Scale
,
Rotate

και
Brightness

Adjustment
.

Εκτελώντας τις λειτουργίες αυτές ο χρήστης πρέπει ν
α μπορεί να
αποθηκεύσει τις εικόνες έτσι υλοποιήθηκαν οι λειτουργίες
Save

As

και
Save
.


Επιπρόσθετα η ομάδα μας θεώρησε σημαντικό να προσθέσει ακόμα δυο
λειτουργίες στο σύστημα. Την λειτουργιά
Negative

image

και τη λειτουργιά
grayscale
. Έτσι το σύστημα μα
ς γίνεται ακόμα πιο
σε

πιο απαιτητικούς
χρήστες που πιθανόν να χρειάζονται αυτές τις λειτουργίες.



5
) Δημιουργία Συναρτήσεων:



5
.1) Συνάρτηση
FILE
:

Περιέχει τα εξής κουμπιά:

5
.1.1

Open

-
> Άνοιγμα εικόνας

5
.1.2

Close

-
> Κλείσιμο εικόνας

5
.1.3

Save

-
> Φύλ
αξη εικόνας

5
.1.4
.
Save

As

-
> Φύλαξη εικόνας με προεπιλεγμένο χώρο από τον
χρήστη στον υπολογιστή

5
.1.5

Exit

-
> Έξοδος από το πρόγραμμα



Εικόνα: 1


Εκτέλεση συνάρτησης
FILE





5
.2)

Οι συναρτήσεις
Load
,
Save

As

και
Save

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


MS..&C


Σελίδα
6



5
.2.1) Συνάρτηση
LOAD
:


Αυτή η διεργασία (κουμπί) επιτρέπει στον χρήστη να ανοίγει μια νέα
πλατφόρμα πλοήγησης η οποία βοηθά τον χρήστη να εντοπίσει

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


Εικόνα: 2


Εκτέλεση συνάρτησης φόρτωσης



5
.2.2) Συνάρτηση
SAVE

AS
:


Αυτή η διεργασία (κουμπί) επιτρ
έπει στον χρήστη αφού θα τελειώσει
την όποια επεξεργασία εικόνας και επιθυμεί να αποθηκεύσει τις αλλαγές που
ενδεχομένως έκανε στην φωτογραφία, έχει την δυνατότητα να το κάνει με τη
χρήση του κουμπιού
save
, το οποίο ομοίως με το κουμπί
load

δίνει την
δυνατ
ότητα στο χρήστη να αποθηκεύσει την καινούργια εικόνα οπουδήποτε
επιθυμεί στον σκληρό δίσκο.


MS..&C


Σελίδα
7



Εικόνα: 3


Εκτέλεση συνάρτησης Αποθήκευση Ως.


5
.2.3) Συνάρτηση
SAVE
:


Η συνάρτηση
Save

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


5
.3)

Την υλοποίηση της λειτουργίας του
Image

Scaling

ανέλαβε ο Σταύρος
Χ”θεοφάνους. Ο λόγος που του ανατέθηκε αυτή η λειτουργιά ήταν, επειδή στο
στάδιο των προδιαγραφών είχε αναλάβει την μελέτη τ
ης συγκεκριμένης
λειτουργίας και είχε ήδη μερικές ιδέες σχετικά με τη κωδικοποίησης της
λειτουργίας. Επιπρόσθετα είχε και στο παρελθόν χρησιμοποιήσει το
Image

Scaling

χρησιμοποιώντας το λογισμικό
Photoshop
.


5
.3.1) Συνάρτηση
SCALE
:


Το
scaling

είναι η μεγέ
θυνση της εικόνας κατά ένα σταθερό ποσοστό. Το
scaling

μπορεί να υλοποιηθεί εύκολα επειδή βασίζεται στις εξής ιδιότητες:



Παρόλο που οι αποστάσεις μεταξύ των
pixel

δεν διατηρούνται,
το ποσοστό της μεγέθυνσης είναι το ίδιο σε ολόκληρη την εικόνα.



Αν το ποσο
στό αυτό τυχαίνει να είναι ακέραιος αριθμός, τότε το
πλέγμα των
pixel

της νέας εικόνας είναι υποσύνολο του πλέγματος της
αρχικής.

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

Στο
interface

μόλις ο χρήστης επιλέξει το
File

me
nu
, μετά επιλέξει το
Open

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

MS..&C


Σελίδα
8

επιλέξει την εικόνα που θέλει να φορτώσει στο σύστημα μας για επεξεργασία.
Στην συνέχεια ο χρήστης με την επιλογή του
Operation

από το
menu

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

εμφανίζεται στην οθόνη ένα
menu
. Σε αυτό δίνεται η
επιλογή στον χρήστη να δηλώσει το
scale

factor
.
Scale

factor

είναι ο
συντελεστής κατά τον οποίο θα μεγαλώσει η εικόνα. Δηλαδή με
scale

factor

=
2 εννοούμε ότι η

εικόνα θα διπλασιαστεί. Επιπρόσθετα το σύστημα μας
προσφέρει την επιλογή στον χρήστη για
scale

κατά πλάτος (
Width
) ή κατά
ύψος (
Height
). Μόλις ο χρήστης επιλέξει τις κατάλληλες τιμές στα πεδία
Width

και
Height

τότε το σύστημα μας δεν εκτελεί τον αλγόριθμο

για το
scaling

μέχρι
που ο χρήστης να επιλέξει το
Scale
. Ο λόγος που υλοποιήσαμε έτσι στο
σύστημα ήταν επειδή σε περίπτωση που ο χρήστης επιλέξει λάθος
scale

factor

το σύστημα να του δίνεται η ευκαιρία να το διορθώσει πριν το σύστημα
μας αρχίσει την εκτέλ
εση του αλγόριθμου για το
scale
.

Ακολουθεί εικόνα για το τον τρόπο που θα παρουσιάζονται στον χρήστη οι
επιλογές που του προσφέρονται με την επιλογή του
scale
:




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

γλώσσα προγραμματισμού
java
. Λόγω του
ότι ο τρόπος κωδικοποίησης απαιτεί την δημιουργία
objects

και την
συνύπαρξη πολλών
objects

μαζί, καλώντας το ένα μέσα από άλλο.
Αντιμετωπίσαμε προβλήματα στον να στέλνονται οι διάφορες παράμετροι
σωστά στα διάφορα
obj
ects
, για να μπορούν να εκτελούνται σωστά οι
διάφοροι υπολογισμοί.

Μετά την υλοποίηση του
scale

ακολούθησε λεπτομερής έλεγχος για
την πιστοποίηση της λειτουργίας του. Αρχικά έγινε
load

μια μέσου μεγέθους
εικόνα (320*320) και επιβεβαιώσαμε ότι όντος η λειτ
ουργιά του
scaling

εκτελείται κανονικά. Έπειτα δοκιμάσαμε εικόνες μικρού μεγέθους (20*20) άλλα
και εικόνες πιο μεγάλου μεγέθους και παρατηρήσαμε ότι όντος δουλεύει
σωστά.



Το επόμενο στάδιο ήταν η σύνδεση της λειτουργίας του
scaling

στο
USER

Interface
. Σχ
εδιάσαμε ένα πεδίο στο
menu

bar

με την ονομασία
Operations

και τοποθετήσαμε το
Scale

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

θα εμφανίζ
ονται στην
οθόνη του όλες οι λειτουργίες που θα προαφαιρεί το σύστημα μας. Το μονό
που απομένει είναι να επιλέξει άπλα το
scale
.


MS..&C


Σελίδα
9


Εικόνα: 4


Εκτέλεση συνάρτησης
Scale
.


5
.4)
Την υλοποίηση της λειτουργίας του
Rotate

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

που
επέδειξε ο ίδιος για να υλοποιήσει τη διεργασία αυτή.


5
.4.1) Συνάρτηση
Rotate
:



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

rotation

(
x
,
y

d
).

Αφού φορτωθεί η εικόνα στη μεταβλητή
temp
, τα
pixels

της εικόνας
αποθηκεύονται σε ένα πίνακα (Μ Χ Ν). Η νέα εικόνα δημιουργείται και είναι
rotated

με βάση τα στοιχεία που θα έχει σαν εισόδους η συνάρτηση όταν
καλεστεί.



Εικόνα: 5


Εκτέλεση συνάρτησης
Rotate
.


MS..&C


Σελίδα



5
.5
)

Συνάρτηση
Negative

image



Για τη μετατροπή μιας εικόνας στην αρνητική της θα πρέπει να
αντικαταστήσουμε την τιμή κάθε εικονοστοιχείου

(
pixel
)

με τη διαφορά της
από το 255. Έτσι αν ένα pixel είχε τιμή 255 (λευκό) θα πάρει
τώρα την τιμή
255


255 = 0 (μαύρο). Αν ένα pixel είχε τιμή 0, η νέα τιμή θα είναι 255


0 =
255 = μαύρο, αν είχε την τιμή 100 θα πάρει την τιμή 255


100 = 155 κλπ. Για
τον υπολογισμό της μέσης τιμής των pixel μιας εικόνας ακολουθήσαμε την
μέθοδο διαιρώντ
ας το άθροισμα των τιμών όλων των εικονοστοιχείων διά το
πλήθος τους
.




















Εικόνα: 6 Αρχική εικόνα

Εικόνα: 7 Εικόνα μετά την εκτέλεση
της λειτουργίας του
Negative

image



5.6)

Συνάρτηση
grayscale


Μετατροπή της έγχρωμης εικόνας σε εικόνα
αποτελούμενη από επίπεδα

του
γκρίζου














MS..&C


Σελίδα



Εικόνα: 8 Αρχική εικόνα















Εικόνα: 9 Μετά την μετατροπή


Εικόνα: 10 Μετά την μετατροπή

grayscale

factor
1





grayscale

factor
2




6)
Προβλήματα
:


α)
Δυσκολία κατανόησης της γλώσσας προγρα
μματισμού
JAVA
:

Λόγω του ότι

ήταν η πρώτη φορά που θα χρησιμοποιούσαμε αντικειμενοστρεφή
προγραμματισμό

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


β)
Δυσκολία στην υλοποίηση της επ
ιφάνεια εργασίας (
Interface
)

γ)
Δυσκολία στην υλοποίηση της φόρτωσης (
Load
) της εικόνας.

δ)
Δυσκολία στην ενοποίηση των λειτουργιών (
Components
) μεταξύ τους.

Αυτά τα προβλήματα ουσιαστικά πηγάζουν από το πρώτο αφού αν ξέραμε
καλά τη γλώσσα θα μπορούσαμε να

την χειριστούμε καλύτερα και πιο εύκολα.
Θα μπορούσαμε να χρησιμοποιήσουμε πιο σωστά τις κλάσεις και τα
αντικείμενα με τελικό σκοπό την υλοποίηση αυτών των οποίων έπρεπε να
υλοποιηθούν.



7)
Αποτελέσματα
:


7.1)
Υλοποιήθηκαν:



Load, Save, Save As, Rotati
on, Scaling, Brightness, Negative,
Grayscale.

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


7.2)
Δεν υλοποιήθηκε:



Contrast

Η λειτουργία του
Contrast

δεν υλοποιήθηκε αφού υπήρχε

κάποια σύγχυση
μεταξύ του
Brightness

και του

Negative

αφού οι δυο λειτουργίες ήταν πολύ
κοντά στο σκεπτικό του
Contrast
. Έτσι προτιμήσαμε να μην το υλοποιήσουμε

MS..&C


Σελίδα


και να έχουμε δυο ή ακόμα και τρεις λειτουργίες οι οποίες θα έμοιαζαν μεταξύ
τους.

7.3

)
Τι μπορε
ί να γίνει επιπλέον:



Draw Rect, Zoom Out, Rotate Counter Clockwise

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




8
) Επίλογος:


Κλείνοντας, όπως είπαμε αρχικά , μέχρι τη Φάση 2 η ομάδα μας θα
έπρεπε να είχε έτοιμα, βάση του χρονοδιαγράμματος μας, την αρχική
επιφάνεια
interface
, τις συναρτήσεις
Open
,
Save

As
,
Save
,
Scale
,
Rotate

και
Brightness

Adjustment

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

μια
εικόνα στο σύστημα, ήμασταν πίσω με βάση το χρονοδιάγραμμα, στην
συνέχεια αναγκαστήκαμε να δουλέψουμε ακόμα πιο εντατικά για να
καταφέρουμε να φτάσουμε στην Φάση 2 και να έχουμε υλοποιημένα ότι

είχαμε προγραμματίσει.

Επιπρόσθετα μετά την περαιτέρω μελέτη του θέματος
επεξεργασία εικόνας(
image

processing
) θεωρήσαμε σημαντικό να
προσθέσαμε ακόμα δυο λειτουργίες στο σύστημα μας για να το κάνει ακόμα
πιο προσιτό και σε πιο απαιτητικούς χρήστες. Έτσι
υλοποιήσαμε την
λειτουργιά
Negative

image

και τη λειτουργιά
grayscale
.

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

ένα ολοκληρωμένο και πιστοποιημένο
σύστημα στον χρήστη.



9)
APPENDICES
:


Appendix 1:


Βιβλιοθήκες:


Η
JAVA

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

συνεχώς επομένως οι δημιουργοί της
JAVA

της
έχουν υλοποιήσει για να διευκολύνουν το έργο των όσων προγραμματίζουν
σε
JAVA
.
Οι συναρτήσεις
που
χρησιμοποιούμε είναι:


import javax.swing.*;


Provides a set of "lightweight" (all
-
Java language)
components tha
t, to the maximum degree possible, work the same on all
platforms.



MS..&C


Σελίδα


import java.awt.event.*;

Provides interfaces and classes for dealing with
different types of events fired by AWT components.


import java.awt.*;

Contains all of the classes for creating
user interfaces and
for painting graphics and images.


import java.io.*;

Contains function for reading and writing.


import javax.swing.filechooser.*;

Contains classes and interfaces used by
the
JFileChooser (
provides a simple mechanism for the user to c
hoose a file
)

component.


import java.awt.image.*;

Provides classes for creating and modifying
images.


import javax.imageio.*;


Contains package of the Java Image I/O API
dealing with reading and writing metadata.