Βάσεις Γνώσεων
DESCRIPTION
Βάσεις Γνώσεων. Διαγράμματα Ροής Δεδομένων Πάνος Βασιλειάδης [email protected] Μάρτης 200 3. www.cs.uoi.gr/~pvassil/courses/knowledge_bases/. Διαγράμματα Ροής Δεδομένων – DFD’s. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/1.jpg)
Βάσεις Γνώσεων
Διαγράμματα Ροής ΔεδομένωνΠάνος Βασιλειάδης
[email protected] Μάρτης 2003
www.cs.uoi.gr/~pvassil/courses/knowledge_bases/
![Page 2: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/2.jpg)
2
Διαγράμματα Ροής Δεδομένων – DFD’s
Εκτός από τη στατική περιγραφή των δεδομένων, όπου καταγράφονται η δομή και οι αλληλοσυσχετίσεις τους, υπάρχει και η δυναμική συμπεριφορά ενός συστήματος
Τα διαγράμματα ροής δεδομένων, απεικονίζουν το υπό μοντελοποίηση σύστημα σαν ένα δίκτυο από διαδικασίες που επικοινωνούν
Ελληνικά: Dataflow Diagrams (DFD’s)
![Page 3: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/3.jpg)
3
Ένα τυπικό DFD
STAKEHOLDERXXX
XXX DATA
1.
IMPORTXXX DATA
REJECTEDDATA
ACCEPTEDDATA
CLIENT
2.
PROCESSPARAMETERS
CERTIFICATE PARAMETERS
RESPONSE
SESSIONDATA
1ο ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ ΓΙΑ ΤΟ ΣΥΣΤΗΜΑ ΦΟΡΤΩΣΗΣ ΚΑΙΕΠΕΡΩΤΗΣΗΣ ΔΕΔΟΜΕΝΩΝ
![Page 4: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/4.jpg)
4
Διαγράμματα Ροής Δεδομένων – DFD’s
Τα στοιχεία ενός DFD είναι:Διαδικασίες (processes ή bubbles –φούσκες)
Ροές (flows, ή ακμές)
Σημεία Αποθήκευσης (store ή δεδομένα)
Πράκτορες (ελεύθερη μετάφραση για το terminator)
![Page 5: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/5.jpg)
5
Περιεχόμενα
Διαδικασίες
Ροές
Σημεία Αποθήκευσης
Πράκτορες
Οδηγίες Χρήσης
![Page 6: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/6.jpg)
6
Περιεχόμενα
Διαδικασίες
Ροές
Σημεία Αποθήκευσης
Πράκτορες
Οδηγίες Χρήσης
![Page 7: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/7.jpg)
7
Διαδικασίες
Διαδικασία (process) είναι ένα τμήμα του συστήματος που μετασχηματίζει εισόδους σε εξόδους.
Τα DFD’s είναι προσανατολισμένα στην επεξεργασία των δεδομένων (γι αυτό άλλωστε και μαζί με τα ER διαγράμματα περίπου μονοπωλούσαν τα διαγράμματα ανάλυσης για εφαρμογές βάσεων δεδομένων μέχρι την εμφάνιση της UML)
![Page 8: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/8.jpg)
8
Διαδικασίες
Αναπαριστώνται με κύκλο
Αριθμώνται (βλ. συνέχεια)
Ονοματίζονται με τρόπο που εξηγεί τη λειτουργία τους (συνήθως ρήμα + ουσιαστικό) με τρόπο μονοσήμαντο και σαφή
1.
IMPORT DATA
![Page 9: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/9.jpg)
9
Περιεχόμενα
Διαδικασίες
Ροές
Σημεία Αποθήκευσης
Πράκτορες
Οδηγίες Χρήσης
![Page 10: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/10.jpg)
10
Ροές
Ροή (flow) είναι μια μεταβίβαση κομματιών (ή «πακέτων») πληροφορίας από ένα τμήμα του συστήματος σε ένα άλλο.
Τα κομμάτια της πληροφορίας είναι συνήθως ηλεκτρονικά (π.χ., records, tuples, ή τμήματα αυτών), αλλά μπορεί να είναι και φυσικά αντικείμενα (π.χ., μια φόρμα που πρέπει να συμπληρώσει κάποιος)
![Page 11: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/11.jpg)
11
Ροές
Η ροές περιγράφουν δεδομένα υπό κίνηση
Αναπαριστώνται από ακμές, οι οποίες μπορούν (και πρέπει) να έχουν και όνομα
Οι ακμές έχουν κατεύθυνση υποχρεωτικά
Ακμές διπλής κατεύθυνσης δηλώνουν «διάλογο»
ΖΗΤΟΥΜΕΝΟ ISBN
ΧΧ
ΖΗΤΟΥΜΕΝΟ ISBN
ΣΤΟΙΧΕΙΑ ΒΙΒΛΙΟΥ
CLIENT
![Page 12: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/12.jpg)
12
Ροές
Μπορεί το ίδιο δεδομένο (όνομα ροής) να μετονομάζεται σε διαφορετικές ροές, διότι απέκτησε άλλη σημασία
Έλεγξε στοιχεία
ΖΗΤΟΥΜΕΝΟ ISBN
VALIDISBN
INVALIDISBN
![Page 13: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/13.jpg)
13
Ροές
Μπορεί το ίδιο δεδομένο (όνομα ροής) να αντιγράφεται σε διαφορετικές ροές
Έλεγξε στοιχεία
ΖΗΤΟΥΜΕΝΟ ISBN
ISBN
Process Order
Log Session
![Page 14: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/14.jpg)
14
Ροές
Μπορεί το ίδιο δεδομένο (όνομα ροής) να σπάει σε διαφορετικά υποτμήματά του
Incoming Address
CheckZip
CheckPhone
Telephone
ZipCode
![Page 15: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/15.jpg)
15
Ροές
Ένα DFD δεν επεξηγεί ούτε τη σειρά με την οποία συγχρονίζονται οι ροές, ούτε τη σειρά άφιξης ή αποστολής των πακέτων πληροφορίας
Υπάρχουν συμπληρωματικές τεχνικές και μοντέλα, όπως το λεξικό μεταπληροφορίας και διαγράμματα καταστάσεων που καταγράφουν αυτή την πληροφορία.
![Page 16: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/16.jpg)
16
Περιεχόμενα
Διαδικασίες
Ροές
Σημεία Αποθήκευσης
Πράκτορες
Οδηγίες Χρήσης
![Page 17: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/17.jpg)
17
Σημεία Αποθήκευσης
Σημεία Αποθήκευσης (stores) είναι συλλογές από στατικά δεδομένα (σε αντιπαράθεση με τα δεδομένα των ροών που είναι υπό κίνηση)
Τα δεδομένα μπορεί να είναι είτε ηλεκτρονικά είτε φυσικά αντικείμενα
Απεικονίζονται με δύο παράλληλες γραμμές, αλλά και με αρίθμηση
ORDERSD1ORDERS
![Page 18: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/18.jpg)
18
Σημεία Αποθήκευσης
Τα σημεία αποθήκευσης προκύπτουν είτε από τις απαιτήσεις του χρήστη, είτε από σχεδιαστική απόφαση (οπότε και μπορούν να παραλειφθούν)
Συντακτική ορθότητα για τα σημεία αποθήκευσης:είτε πηγές για μια ροή,
είτε αποδέκτες μιας ροής
![Page 19: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/19.jpg)
19
Σημεία Αποθήκευσης
Το όνομα μιας ροής περιγράφει τα δεδομένα που μετακινούνται από/προς ένα σημείο αποθήκευσης σε σχέση
με το αν είναι ένα ή πολλά “records”
με το αν είναι ολόκληρα “records” ή τμήματά τους
Αν η ροή δεν έχει όνομα, ή αν έχει το όνομα του σημείου αποθήκευσης, αφορά ένα ολόκληρο record – αλλιώς πρόκειται για άλλη περίπτωση
![Page 20: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/20.jpg)
20
Σημεία Αποθήκευσης
Μια ροή από ένα σημείο αποθήκευσης, μόνο διαβάζει και ποτέ δεν το μεταβάλλει
Μια ροή προς ένα σημείο αποθήκευσης, κάνει μια από τις πράξεις INSERT/UPDATE/DELETE.
Το ποια θα είναι αυτή η πράξη φαίνεται μόνο από το όνομα της σχετικής διαδικασίας
![Page 21: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/21.jpg)
21
Περιεχόμενα
Διαδικασίες
Ροές
Σημεία Αποθήκευσης
Πράκτορες
Οδηγίες Χρήσης
![Page 22: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/22.jpg)
22
Πράκτορες
Πράκτορες (Terminators) είναι οντότητες εξωτερικές του συστήματος.
Συνήθως αφορά ένα χρήστη ή ένα σύνολο χρηστών ή κάποιο πρόγραμμα – αντίστοιχα με τους actors της UML
Αναπαριστώνται με ένα παραλληλόγραμμο
CLIENTTOYS
DEPARTMENTRADAR
CONTROL
![Page 23: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/23.jpg)
23
Πράκτορες
Είναι ΕΞΩΤΕΡΙΚΕΣ οντότητες του συστήματος
Ο αναλυτής/σχεδιαστής μπορεί να επηρεάσει τη σχεδίαση των τμημάτων του συστήματος, ΔΕΝ ΜΠΟΡΕΙ ΝΑ ΕΠΗΡΑΣΕΙ ΤΗ ΔΟΜΗ Ή ΤΗ ΣΥΜΠΕΡΙΦΟΡΑ ΤΩΝ ΠΡΑΚΤΟΡΩΝ
Οποιαδήποτε σχέση μεταξύ πρακτόρων ΔΕΝ ΜΑΣ ΑΦΟΡΑ (αν μας αφορά, πάει να πει ότι δεν πρόκειται για πράκτορες)
![Page 24: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/24.jpg)
24
Περιεχόμενα
Διαδικασίες
Ροές
Σημεία Αποθήκευσης
Πράκτορες
Οδηγίες Χρήσης
![Page 25: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/25.jpg)
25
Οδηγίες προς Ναυτιλομένους
Διαλέξτε ονόματα με νόημα για διαδικασίες, ροές, σημεία αποθήκευσης και πράκτορες
Αριθμήστε τις διαδικασίες
Ζωγραφίστε ένα διάγραμμα όσες φορές χρειάζεται (ως συνήθως)
Μην ζωγραφίζετε πολύπλοκα DFD’s
Το διάγραμμα πρέπει να είναι συντακτικά σωστό, πλήρες και ακριβές
![Page 26: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/26.jpg)
26
Ονοματολογία με νόημα
Μια διαδικασία είναι μια λειτουργία πάνω σε κάτι => συνήθως τα ονόματα είναι ρήμα + ουσιαστικό
Μη βάζετε κοινότοπα ρήματα / ονόματα (αν δεν έχετε ένα ακριβές όνομα, μάλλον δεν έχετε καταλάβει τι ακριβώς κάνει η διαδικασία)
Καλά ονόματα: ΥΠΟΛΟΓΙΣΕ ΠΟΡΕΙΑ ΒΛΗΜΑΤΟΣ, ΕΠΙΚΥΡΩΣΕ ΖΙΡ
Κακά ονόματα: ΚΑΝΕ ΠΡΑΜΑΤΑ, ΚΑΝΕ ΚΑΤΙ ΜΕ ΤΟ INPUT, PROCESS DATA
![Page 27: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/27.jpg)
27
Σύνθετα DFD’s
Ένα DFD εν γένει αναλύεται σε πιο λεπτομερή DFD’s
Η αρίθμηση των DFD’s ακριβώς αυτό επιδιώκει
ΔΕΝ βάζουμε παραπάνω από 5-6 διαδικασίες σε ένα διάγραμμα (αν ναι, συνήθως αυτό σημαίνει ότι πρέπει να αναλύσουμε το διάγραμμα κι άλλο)
![Page 28: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/28.jpg)
28
Context DFD
Το πρώτο (= ελάχιστα λεπτομερές) DFD λέγεται και context DFD και περιγράφει με μία διαδικασία ΟΛΟ το σύστημα και ΟΛΟΥΣ τους πράκτορες
![Page 29: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/29.jpg)
29
Case Study
Ο οργανισμός Ψ αποφάσισε να φτιάξει ένα Data Warehouse (DW), που θα αποκτά στοιχεία από υπάρχουσες εφαρμογές COBOL, τις οποίες διαχειρίζεται ήδη το σύστημα SOURCE. Τα στοιχεία αυτά θα έρχονται στη βάση δεδομένων του Ψ με απλή μεταφορά αρχείων.
Ο Ψ αποφάσισε την ανάπτυξη εφαρμογής, που θα παρέχει πιστοποιητικά όπως Π1, Π2, ..., στους χρήστες (clients), στα οποία στο εξής θα αναφερόμαστε και με τον ισοδύναμο όρο 'αναφορές‘
ΧΧΧ είναι το περιεχόμενο των δεδομένων
![Page 30: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/30.jpg)
30
DWSOURCE
CLIENT
ΔΕΔΟΜΕΝΑ XXX
ΠΙΣΤΟΠΟΙΗΤΙΚΟ XXX
ΣΤΟΙΧΕΙΑ XXX
CONTEXT DIAGRAM ΤΗΣ ΕΦΑΡΜΟΓΗΣ
![Page 31: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/31.jpg)
31
Case Study
Στο 1ο Διάγραμμα Ροής Δεδομένων, διαχωρίζουμε τις διαδικασίες σε (1) Εισαγωγή δεδομένων και (2) Επερώτηση δεδομένων. Για την πρώτη διαδικασία, τα δεδομένα από το SOURCE είτε γίνονται αποδεκτά, είτε παραβιάζουν κάποιυς από τους κανόνες αξιοπιστίας της βάσης και απορρίπτονται. Για την Επερώτηση δεδομένων, η διαδικασία είναι όπως περιγράφηκε προηγουμένως, με την επιπλέον πληροφορία ότι κάθε user session καταγράφεται στη βάση του DW.
![Page 32: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/32.jpg)
32
STAKEHOLDERXXX
XXX DATA
1.
IMPORTXXX DATA
REJECTEDDATA
ACCEPTEDDATA
CLIENT
2.
PROCESSPARAMETERS
CERTIFICATE PARAMETERS
RESPONSE
SESSIONDATA
1ο ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ ΓΙΑ ΤΟ ΣΥΣΤΗΜΑ ΦΟΡΤΩΣΗΣ ΚΑΙΕΠΕΡΩΤΗΣΗΣ ΔΕΔΟΜΕΝΩΝ
Προσοχή στην Αρίθμηση!!
![Page 33: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/33.jpg)
33
Case Study
Στο διάγραμμα της ροής Επεξεργασίας των δεδομένων (2), η βασική ιδέα είναι ότι (α) τοπικά ο client κάνει μια πρώτη επιβεβαίωση των στοιχείων εισόδου (και τα απορρίπτει ή τα αποδέχεται ανάλογα) και (β) στη διαδικασία 2.1, χρησιμοποιεί τη βάση του DW (accepted data) για να παράγει την αιτούμενη αναφορά και τα αντίστοιχα session data.
Τα νούμερα, π.χ., 1 και 2 δεν παίζουν πάντα ρόλο σε σχέση με τη σειρά εκτέλεσης των διαδικασιών – εν γένει οι διαδικασίες εκτυλίσσονται ΑΣΥΓΧΡΟΝΑ!!
![Page 34: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/34.jpg)
34
ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΤΗΣ ΔΙΑΔΙΚΑΣΙΑΣ (2) PROCESS PARAMETERS
CERTIFICATEPARAMETERS
2.1
VALIDATEPARAMETERS
REJECTEDPARAMETERS
RESPONSE
VALID PARAMETERS
2.2
GENERATECERTIFICATE
CERTIFICATE DATARESPONSE
ACCEPTED DATA
SESSION DATA
![Page 35: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/35.jpg)
35
Case Study
ΣΥΝΕΠΕΙΑ: όποιες ροές μπαίνουν ή βγαίνουν στο πιο αδρομερές διάγραμμα, αυτές ακριβώς βρίσκονται και στο λεπτομερές
Δεν χρειάζεται να αναλύσουμε όλες τις DFD’s στο ίδιο βάθος. Π.χ., εδώ θα αναλύσουμε ΜΟΝΟ τη 2.2 και τη 2.1 την αφήνουμε ως έχει.
ΑΠΑΡΑΒΑΤΟΣ ΚΑΝΟΝΑΣ: Η ΑΡΙΘΜΗΣΗ ΤΗΡΕΙΤΑΙ ΕΥΛΑΒΙΚΑ!!
![Page 36: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/36.jpg)
36
ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΤΗΣ ΔΙΑΔΙΚΑΣΙΑΣ (2.2) GENERATE CERTIFICATE
2.2.1CALCULATECERTIFICATE
FIELDS
VALIDPARAMETERS
CERTIFICATESPECS
CERTIFICATE
FIELDS
2.2.2
GENERATEREPORT
CERTIFICATEDATA
XXX DATA
CERTIFICATE FORMAT
CERTIFICATE DATARESPONSE
SESSION DATA
![Page 37: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/37.jpg)
37
Κι άλλες οδηγίες...
Συνήθως ένα απλό σύστημα έχει 2-3 επίπεδα λεπτομέρειας, ένα μεσαίο σύστημα έχει 3-6 και ένα μεγάλο σύστημα 5 -8.
Στη διάρκεια σχεδίασης, συνήθως χρειάζεται ένα μίγμα από αναλυτική και συνθετική σχεδίαση
Οι εμπλεκόμενοι στο έργο (χρήστες, προγραμματιστές κλπ) κανονικά πρέπει να ενδιαφέρονται το πολύ για ένα με δύο επίπεδα διαγραμμάτων
![Page 38: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/38.jpg)
38
Κι άλλες οδηγίες...
Αποφασίστε ένα στυλ αισθητικής και κρατήστε το ΜΕ ΣΥΝΕΠΕΙΑ!
Όλα τα διαγράμματα πρέπει να χωράνε σε μια σελίδα
Αποφύγετε (να είστε καχύποπτοι με):Διαδικασίες χωρίς output
Διαδικασίες χωρίς output
Ροές χωρίς labels
![Page 39: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/39.jpg)
39
Κι άλλες οδηγίες...
Όπως και στα ER διαγράμματα, τα DFD’s πρέπει να είναι :
Συντακτικώς ορθά
Πλήρη
Ακριβή
σε σχέση με τις προδιαγραφές του χρήστη!
![Page 40: Βάσεις Γνώσεων](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813aab550346895da2a700/html5/thumbnails/40.jpg)
40
Κι άλλες οδηγίες...
... κι επειδή ομιλούμε περί εννοιολογικών διαγραμμάτων, ΤΑ ΟΠΟΙΑ ΕΙΝΑΙ ΜΕΣΑ ΕΠΙΚΟΙΝΩΝΙΑΣ ΓΙΑ ΟΛΟΥΣ ΤΟΥς ΕΜΠΛΕΚΟΜΕΝΟΥΣ πρέπει να είναι
Κατανοητά
Εύκολα στη διαχείριση
Προϊόντα συζήτησης με τους σχετικούς χρήστες...