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



Σχετικά έγγραφα
Εισαγωγή στη Σχεδίαση Λογισμικού

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Κεφάλαιο 4: Λογισμικό Συστήματος

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον»

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

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

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

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

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Εισαγωγή στην Τεχνολογία Λογισμικού

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

Η Διαδικασία Σχεδιασμού Συστημάτων

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

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

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

Σύστηµα Αρχείων και Καταλόγων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Α. Ερωτήσεις Ανάπτυξης

Δείχτες Επιτυχίας και Δείχτες Επάρκειας

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ΑΕΠΠ Ερωτήσεις θεωρίας

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική 2. Δομές δεδομένων και αρχείων

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Πρόβλημα 37 / σελίδα 207

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

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

Διαχείριση Πολιτισμικών Δεδομένων

Περιεχόμενα. 2 Αριθμητικά συστήματα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

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

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

Λειτουργικά Συστήματα (Λ/Σ)

Πληροφορική 2. Τεχνολογία Λογισμικού

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Μαλούτα Θεανώ Σελίδα 1

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

Λίγα λόγια από το συγγραφέα...7

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Αρχιτεκτονική Υπολογιστών

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Κεφάλαιο 4. Λογισμικό Συστήματος

Θερμοδυναμική - Εργαστήριο

Διαχείριση Πολιτισμικών Δεδομένων

Λειτουργικά Συστήματα (Λ/Σ)

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

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

Βάσεις Δεδομένων Εισαγωγή

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

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

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

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Προγραμματισμός Ι (HY120)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Σκοπός του μαθήματος

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

Επίλυση προβλήματος με Access

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

Σχεδιασµός βασισµένος σε συνιστώσες

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

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

Εισαγωγή στην ανάλυση

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

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

Transcript:

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 1 ΜΕΘΟΔΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΜΠΟΡΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Η μεθοδολογία ανάπτυξης μιας εμπορικής εφαρμογής δίνει την δυνατότητα στην ομάδα εργασίας να έχει τον πλήρη έλεγχο όλων των φάσεων ανάπτυξης της εφαρμογής και να διασφαλίσει τον σωστό συντονισμό των ενεργειών που θα οδηγήσουν στην επιτυχία του έργου. Για να ολοκληρωθεί ένα έργο, το οποίο περιλαμβάνει την ανάπτυξη μιας εμπορικής εφαρμογής, είναι απαραίτητο να ακολουθηθούν κάποιες συγκεκριμένες διαδικασίες, που τοποθετούνται μέσα σε σαφώς καθορισμένα στάδια. Τα βασικά στάδια-φάσεις για την ολοκλήρωση μιας εμπορικής εφαρμογής παρουσιάζονται στην συνέχεια. 1. Εισαγωγή στην Ανάπτυξη Εφαρμογών 1.1. Στάδια Ανάπτυξης Εφαρμογών Στάδιο 1: Ανάλυση αναγκών και απαιτήσεων (Πρόκειται για τον ορισμό του προβλήματος) Καταγράφεται ένα σύνολο απαιτήσεων που συμφωνούνται μεταξύ του πελάτη και της ομάδας που παράγει το λογισμικό. Συνήθως η καταγραφή γίνεται σε φυσική γλώσσα και το αποτέλεσμα είναι ένα κείμενο που περιγράφει σε γενικές γραμμές τι θα είναι το προϊόν αλλά και πώς θα δουλεύει ακριβώς ή πώς θα είναι δομημένο εσωτερικά. Στάδιο 2: Προδιαγραφές (Συμβόλαιο Πελάτη-Ομάδα Προγραμματιστών) Το τμήμα που αναπτύσσει τις τυπικές προδιαγραφές δηλ. Λεπτομέρειες τρόπου λειτουργίας Περιγραφή συνδεομένων τμημάτων Απαιτήσεις σε ζητήματα λειτουργίας Στάδιο 3: Πλάνο εργασιών Χρονοπρογραμματισμός Σε αυτό το στάδιο το έργο χωρίζεται σε πακέτα εργασίας, καθένα από τα οποία μπορεί να χωρισθεί σε μικρότερα κομμάτια, τις εργασίες. Οι εργασίες αυτές κατανέμονται χρονικά σε όλο το έργο και μπορεί κάποιος να τις διαχειρισθεί ανεξάρτητα. Οι εργασίες αποτελούν τα δομικά στοιχεία της διαχείρισης του έργου. Ο υπολογισμός και η κατανομή του χρόνου που θα απαιτήσει κάθε εργασία μπορεί να αναπαρασταθεί οπτικά πάνω σε ένα ημερολόγιο. Αυτό θα αποτελέσει και το πλάνο εργασιών του έργου (project plan). Στον χρονοπρογραμματισμό θα πρέπει πάντα να υπολογίζεται και ο χρόνος έγκρισης του αποτελέσματος των διάφορων φάσεων του έργου από τον πελάτη. Ο χρόνος αυτός είναι συνήθως αρκετά μεγάλος και οδηγεί σε επανασχεδιασμό της εργασίας. Στάδιο 4: Σχεδιασμός (Επιλογή δομών δεδομένων, σύνδεση μεταξύ των διαφόρων τμημάτων του συστήματος και ροή ελέγχου μέσα στα τμήματα αυτά). Δίνει απάντηση στο ερώτημα του πώς θα δουλεύει το πρόγραμμα. Από το σωστό σχεδιασμό εξαρτάται η ευκολία υλοποίησης, ελέγχου και συντήρησης της εφαρμογής. Μερικές φορές το στάδιο αυτό περιλαμβάνει και την επιλογή γλώσσας προγραμματισμού ή εργαλείων.

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 2 Στάδιο 5: Υλοποίηση (Ανάπτυξη κώδικα) Δεν πρέπει να γράφεται γραμμή κώδικα εάν δεν έχουν λυθεί όλα τα σχεδιαστικά προβλήματα. Η στιγμή ανάπτυξης του κώδικα είναι και η στιγμή για να γραφτεί η αντίστοιχη τεκμηρίωση. Στάδιο 6: Έλεγχος και εγκατάσταση εφαρμογής. (Απαραίτητο στάδιο πριν την παράδοση του προϊόντος στον πελάτη) Προτεινόμενη ανάλυση ελέγχων: 1. Προσεκτική ανάγνωση του κώδικα (από κάποιο μέλος της ομάδας ανάπτυξης) 2. Έλεγχος υπορουτινών (κάθε πρόγραμμα ελέγχεται ανεξάρτητα). 3. Έλεγχος ενοτήτων (modules). Κάθε ομάδα υποπρογραμμάτων που ανήκουν σε ένα μεγαλύτερο ανεξάρτητο τμήμα ελέγχεται για σωστή επικοινωνία μεταξύ των υπορουτινών. 4. Έλεγχος υποσυστήματος (Πολλά modules ελέγχονται μαζί). 5. Έλεγχος συστήματος (Όλο το προϊόν ελέγχεται στο σύνολό του για να είναι βέβαιο ότι πληροί τις προδιαγραφές λειτουργίας του). 6. Έλεγχος αποδοχής (Έλεγχος παρουσία του πελάτη με χρήση πραγματικών πλέον δεδομένων). 7. Έλεγχος εγκατάστασης (Επιβεβαιώνεται η λειτουργία του συστήματος στο περιβάλλον που θα δουλεύει). Στάδιο 7: Συντήρηση (Ακολουθεί αναπόφευκτα την παράδοση του συστήματος). Μπορεί να είναι 3 ειδών: 1. Συντήρηση για διόρθωση (λάθη ή παραλείψεις που έχουν διαφύγει από προηγούμενους ελέγχους ή δεν είχαν προβλεφθεί). 2. Συντήρηση για προσαρμογή (για να ανταποκριθεί σε αλλαγές του επιχειρηματικού περιβάλλοντος). 3. Συντήρηση για τελειοποίηση (για να προσφέρει νέες δυνατότητες). 1.2. Γενικές Μέθοδοι Σχεδιασμού 1. Μέθοδος bottom-up Αποφασίζουμε ποιες είναι οι μικρότερες μονάδες που αποτελούν το πρόγραμμα και το συνθέτουμε προχωρώντας προς τα ανώτερα επίπεδα του ιεραρχικού διαγράμματος HIPO. Συρραφή της εφαρμογής με βάση τα κομμάτια του κώδικα που έχουν γραφτεί. 2. Μέθοδος Top-Down Παίρνουμε το πρόβλημα σαν ένα γενικό αφηρημένο θέμα και προχωρούμε σιγά σιγά στις λεπτομέρειες κάνοντας ένα βήμα την φορά.

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 3 1.3 Μοντέλα Ανάπτυξης Λογισμικού 1. Μοντέλο Καταρράκτη Παρέχει ένα σύνολο εργασιών που πρέπει να εκτελεσθούν ιεραρχικά. Κάθε στάδιο-ενέργεια μας δίνει ένα «προϊόν»-παραδοτέο (artifact). Κάθε φάση ολοκληρώνεται και μετά «παγώνει» (δεν μπορεί να τροποποιηθεί το προϊόν της). Ανάγκες Στάδιο Ανάλυση Προβλήματος & Αναγκών Προϊόν Μελέτη Σκοπιμότητας Καθορισμός Απαιτήσεων Προδιαγραφές Συμβόλαιο Αρχιτεκτονική Σχεδίαση Αρχιτεκτονικό Σχέδιο Λεπτομερής Σχεδίαση Μονάδες προγράμματος Κωδικοποίηση & Έλεγχος Μονάδων Ελεγμένες Μονάδες Συνένωση μονάδων Ολοκληρωμένο λογισμικό Έλεγχος Αποδοχής Αποδεκτό λογισμικό Λειτουργία & Συντήρηση Νέες εκδόσεις λογισμικού Απόσυρση προϊόντος 2. Μοντέλο πρωτοτυποποίησης (rapid prototyping) Ετοιμάζεται ένα «πρωτότυπο» (prototype) δηλαδή ένα δείγμα-demo της εφαρμογής που περιέχει τις πιο κρίσιμες λειτουργίες του συστήματος. Δίνεται στους χρήστες για δοκιμή, γίνονται παρατηρήσεις και βελτιώσεις που υιοθετούνται στην ανάπτυξη του συστήματος, ξαναδίνεται στους χρήστες κ.ο.κ. μέχρι να ικανοποιηθούν οι προδιαγραφές του συστήματος.

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 4 1.4. ΑΠΑΙΤΗΣΕΙΣ Οι απαιτήσεις είναι μια περιγραφή του τι μπορεί να κάνει το σύστημα ώστε να ικανοποιεί τον σκοπό για τον οποίο αναπτύσσεται. Οι απαιτήσεις διακρίνονται σε Λειτουργικές & Μη λειτουργικές Απαιτήσεις. 1. Λειτουργικές απαιτήσεις Περιγράφουν την συμπεριφορά του συστήματος λογισμικού σε κάποια δεδομένα εισόδου. Είναι ανεξάρτητες από την υλοποίηση του συστήματος (Σ). Π.χ. να μπορεί το (Σ) να βγάζει μισθοδοσία κάθε μέρα/εβδομάδα/μήνα. 2. Μη Λειτουργικές απαιτήσεις Περιορισμοί που τίθενται κατά την ανάπτυξη του λογισμικού και περιορίζουν τις επιλογές λύσης. Π.χ. σε ποια γλώσσα θα αναπτυχθεί η εφαρμογή, να τρέχει η εφαρμογή σε UNIX κλπ. Στάδια Προσδιορισμού απαιτήσεων Λογισμικού 1 ο βήμα: Διατύπωση από τον πελάτη του προβλήματος σε φυσική γλώσσα (Ανάλυση Συστήματος) 2 ο βήμα: Πλάνο έργου (οργανώνεται το έργο ανάπτυξης) 3 ο βήμα: Προσδιορισμός των απαιτήσεων του συστήματος (τι θα κάνει, καταμερισμός λειτουργιών κλπ.) 4 ο βήμα: Προσδιορισμός απαιτήσεων S/W. Ανάλυση απαιτήσεων S/W Προσδιορισμός απαιτήσεων S/W Τεκμηρίωση απαιτήσεων S/W Επανεξέταση / Επικύρωση απαιτήσεων Σχεδίαση S/W ΠΕΛΑΤΗΣ Χρηματοδότης ΧΡΗΣΤΗΣ Λογισμικό Σύστημα ανάγκες Συμβατικές υποχρεώσεις (συμβόλαιο) ΟΜΑΔΑ ΑΝΑΠΤΥΞΗΣ Ικανοποίηση του χρήστη Αναπτύσσει το λογισμικό

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 5 2. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Η επεξεργασία και διαχείριση αρχείων αποτελεί το κεντρικό και βασικό στοιχείο τόσο στον προγραμματισμό συστημάτων όσο και στον προγραμματισμό των εφαρμογών. Με τον όρο επεξεργασία αρχείων εννοούμε ένα ή περισσότερα αρχεία με μια σειρά προγραμμάτων που διαχειρίζονται αυτά τα αρχεία. Σε αντίθεση με τα συστήματα αρχείων τα συστήματα βάσεων δεδομένων είναι πολύπλοκα συστήματα με ολοκληρωμένη υποστήριξη για πολλές δραστηριότητες επεξεργασίας, όπως για παράδειγμα επεξεργασία ερωτήσεων (query processing), παραγωγή αναφορών, εισαγωγή στοιχείων κτλ. Η βασική διαφορά μεταξύ των όρων οργάνωση αρχείων και βάσεων δεδομένων είναι ότι ο όρος οργάνωση αρχείων χρησιμοποιείται συνήθως για να δηλώσει την διαχείριση πληροφοριών στο φυσικό επίπεδο, δηλαδή τον τρόπο αποθήκευσης των πληροφοριών στα μέσα, ενώ ο όρος βάση δεδομένων χρησιμοποιείται στο λογικό επίπεδο το οποίο ουσιαστικά αποτελεί μια αφαίρεση (abstraction) του τρόπου αποθήκευσης των πληροφοριών. Η κλασική προσέγγιση ανάπτυξης εφαρμογών ήταν προσανατολισμένη προς τις ανάγκες των προγραμμάτων και στηριζόταν στην δημιουργία αρχείων που βρίσκονταν σε εξάρτηση και από την γλώσσα προγραμματισμού και από το ίδιο το πρόγραμμα. Η μια εφαρμογή ήταν ανεξάρτητη από την άλλη, χωρίς μεταξύ τους επικοινωνία, και καθεμία χρησιμοποιούσε τα δικά της αρχεία που είχαν διαφορετικές προδιαγραφές (μήκος και πεδία εγγραφών), ανάλογα με τις δικές της απαιτήσεις. Η σύγχρονη προσέγγιση ανάπτυξης εφαρμογών όμως είναι προσανατολισμένη στα δεδομένα και στηρίζεται στην χρήση των συστημάτων βάσεων δεδομένων. Όλες οι εφαρμογές υλοποιούνται και λειτουργούν μέσω ενός συστήματος βάσεων δεδομένων. Τα δεδομένα αντιμετωπίζονται ως αυθύπαρκτες οντότητες, και υπάρχει προτυποποίησή τους μέσα σε μια εφαρμογή. Κάθε τύπος εγγραφής ορίζεται μόνο μια φορά και στην συνέχεια απλώς καλείται κατά την εκτέλεση του προγράμματος της εφαρμογής που τον χρειάζεται. Όλα τα προγράμματα χρησιμοποιούν τώρα τα ίδια δεδομένα από την βάση, χωρίς να υπάρχουν διπλότυπες εγγραφές σε πολλά αρχεία. 2.1 Δομή ενός Αρχείου Δεδομένων και λειτουργίες σε αυτό Αρχείο είναι μια συλλογή από δεδομένα που σχετίζονται μεταξύ τους και βρίσκονται αποθηκευμένα μέσα σε ένα μέσο αποθήκευσης. Η χρήση των αρχείων είναι αναπόφευκτη για μια εμπορική εφαρμογή, οι αναφορές όμως σε αυτά θα πρέπει να είναι όσο το δυνατόν λιγότερες. Για το λόγο αυτό η επιλογή της δομής ή οργάνωσης ενός αρχείου η οποία καθορίζει και την επίδοση των αλγορίθμων επεξεργασίας του, αποτελεί την πιο δύσκολη και κρίσιμη απόφαση του αναλυτή ενός προγράμματος εμπορικής εφαρμογής. Φυσικό Αρχείο είναι μια συλλογή από ψηφιοσυλλαβές (bytes) πάνω σε ένα μέσο αποθήκευσης. Λογικό Αρχείο είναι μια συλλογή από συσχετιζόμενες πληροφορίες όπως αυτές φαίνονται μέσα από ένα πρόγραμμα. Το λειτουργικό σύστημα αναλαμβάνει να κάνει την σύνδεση μεταξύ λογικού και φυσικού αρχείου με κατάλληλες εντολές που δίνονται μέσα από το πρόγραμμα. Η χρήση λογικών αρχείων επιτρέπει στο πρόγραμμα να χρησιμοποιήσει διάφορες πράξεις (λειτουργίες) για την επεξεργασία του αρχείου χωρίς καμιά άλλη γνώση του αντίστοιχου φυσικού αρχείου. Το πρόγραμμα μπορεί έτσι να επεξεργαστεί διάφορα αρχεία τα οποία όμως έχουν την ίδια ακριβώς δομή.

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 6 Κάθε ένα από τα στοιχεία που αποτελούν ένα αρχείο χαρακτηρίζεται από τα εξής γνωρίσματα: μια μονάδα (π.χ. εργαζόμενος), ένα πλήθος ιδιοτήτων της μονάδας αυτής (π.χ. Αριθμός Μητρώου, Ονοματεπώνυμο, Διεύθυνση, Μισθός κτλ.) και ένα πλήθος τιμών για τις ιδιότητες αυτές (π.χ. 1132, Κίμων Καραϊσκάκης, Αχαρνών 23, 1000 ). Κάθε στοιχείο μονάδα μαζί με τις ιδιότητες που την χαρακτηρίζουν αποτελεί μια εγγραφή (record). Κάθε μια από τις ιδιότητες της εγγραφής αναφέρεται και ως πεδίο της εγγραφής. Το πεδίο μιας εγγραφής είναι η μικρότερη λογική μονάδα με νόημα σε ένα αρχείο. Συνήθως σε ένα αρχείο οι εγγραφές είναι όλες του ίδιου τύπου, δηλαδή έχουν τα ίδια πεδία, την ίδια διάταξη πεδίων και το ίδιο μήκος. Τέτοιες εγγραφές ονομάζονται εγγραφές σταθερού μήκους (fixed length records). Γενικά μια εγγραφή χαρακτηρίζεται σταθερού μήκους είτε με βάση το μήκος της σε bytes είτε με βάση τα πεδία της. Το ότι όλες οι εγγραφές ενός αρχείου έχουν το ίδιο μήκος δεν σημαίνει ότι και τα μεγέθη ή το πλήθος των πεδίων τους είναι πάντα σταθερά. Σε πολλές εφαρμογές το μέγεθος των εγγραφών είναι μεταβλητό (variable length records). Αυτό οφείλεται σε διάφορους λόγους, είτε γιατί τα πεδία των εγγραφών είναι μεταβλητού μήκους (ονοματεπώνυμα), είτε γιατί υπάρχουν διαφορετικού τύποι πεδίων (ωρομίσθιοι και μόνιμοι υπάλληλοι μιας επιχείρησης) είτε τέλος γιατί σε μια εγγραφή υπάρχουν επαναλαμβανόμενα πεδία (πληροφορίες για τα παιδιά κάθε υπαλλήλου). Το πεδίο που χρησιμοποιούμε για να κάνουμε επιλογή (selection) μιας εγγραφής ή για να ταξινομήσουμε (sort) ένα αρχείο λέγεται κλειδί (key). Θεωρητικά όλα τα πεδία μιας εγγραφής μπορούν να χρησιμοποιηθούν ως κλειδιά. Συνήθως ένα από τα κλειδιά χαρακτηρίζεται ως πρωτεύον κλειδί (primary key). Αυτό σημαίνει ότι το κλειδί αυτό μπορεί να χρησιμοποιηθεί για την μονοσήμαντη επιλογή μιας εγγραφής από το αρχείο (ξεχωρίζει την εγγραφή αυτή από όλες τις άλλες), π.χ. σε ένα αρχείο μισθοδοσίας ο αριθμός μητρώου του ΙΚΑ μπορεί να αποτελέσει το πρωτεύον κλειδί. Όλα τα άλλα κλειδιά λέγονται δευτερεύοντα. Λειτουργίες Επεξεργασία αρχείων σε Εμπορικές Εφαρμογές Δημιουργία Αρχείου Εισαγωγή Εγγραφής σε αρχείο Διαγραφή Εγγραφής από αρχείο Τροποποίηση Εγγραφής σε αρχείο Ανάγνωση (Αναζήτηση) Εγγραφής σε αρχείο Εκτύπωση Εγγραφών αρχείου Ένα αρχείο κειμένου (text file) αποτελείται από ψηφιοσυλλαβές (bytes) όπου κάθε ψηφιοσυλλαβή αντιστοιχεί σε ένα χαρακτήρα από το σύνολο των χαρακτήρων του συστήματος. Για τους περισσότερους υπολογιστές το σύνολο των χαρακτήρων είναι το ASCII. Πολλές φορές λέμε ότι ένα αρχείο κειμένου είναι εκείνο το αρχείο που περιέχει μόνο εκτυπώσιμους χαρακτήρες συν ορισμένους άλλους χαρακτήρες (whitespace characters) όπως είναι οι χαρακτήρες: newline, space, tab, backspace. Ένα δυαδικό αρχείο (binary file) αποτελείται από ψηφιοσυλλαβές που μπορεί να αντιστοιχούν σε ένα χαρακτήρα ή σε μια αριθμητική τιμή ή σε ένα χαρακτήρα ελέγχου (control character). Το εκτελέσιμο αρχείο που δημιουργείται από τη μεταγλώττιση ενός προγράμματος είναι χαρακτηριστικό παράδειγμα ενός δυαδικού αρχείου. Ένα αρχείο κειμένου μπορεί να επεξεργασθεί από έναν επεξεργαστή κειμένου, να εκτυπωθεί κανονικά μέσω μιας απλής εντολής (όπως print), και είναι αναγνώσιμο

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 7 από τον άνθρωπο (human-readable) ενώ το ίδιο δεν συμβαίνει για τα δυαδικά αρχεία. Οι περισσότερες γλώσσες προγραμματισμού παρέχουν και τους δύο τύπους αρχείων. 2.3. Συσχετίσεις Αρχείων Δεδομένων Οι συσχετίσεις μεταξύ των αρχείων δεδομένων γίνονται μέσω των πρωτευόντων και δευτερευόντων (εξωτερικών) πεδίων-κλειδιών τους. Στο παράδειγμα του φροντιστηρίου: Συσχέτιση Αρχείων Μαθημάτων-Δηλώσεων: ως προς το πεδίο «Κωδικός Μαθήματος». Συσχέτιση Αρχείων Σπουδαστών- Δηλώσεων: ως προς το πεδίο «Κωδικός Φοιτητή». 2.4. Οργάνωση αρχείων Οι συνήθεις μέθοδοι οργάνωσης αρχείων είναι οι εξής: 1. Σειριακή ή Ακολουθιακή (Sequential). Είναι η απλούστερη μέθοδος οργάνωσης ενός αρχείου και χρησιμοποιείται όταν δεν μας ενδιαφέρει η σειρά (διάταξη) με την οποία θα επεξεργαστούν οι εγγραφές του αρχείου. Οι εγγραφές (records) γράφονται στο αρχείο αλλά και επεξεργάζονται ακολουθιακά, με τη σειρά η μία μετά την άλλη. Προσθήκες εγγραφών σε ένα τέτοιο αρχείο γίνονται μόνο στο τέλος του. Αν χρειασθεί να γίνουν προσθήκες εγγραφών οπουδήποτε αλλού ή μεταβολές που επηρεάζουν το μήκος τους, τότε απαιτείται η επαναγραφή όλου του αρχείου. 2. Άμεση (Direct ή Relative). Μια οργάνωση αρχείου άμεσης προσπέλασης επιτρέπει την άμεση προσπέλαση στη ζητούμενη εγγραφή. Τα διάφορα στοιχεία ανακαλούνται ή απ ευθείας, αν είναι γνωστές οι διευθύνσεις τους ή μέσω των κλειδιών τους. Συνήθως το κλειδί μιας εγγραφής με την βοήθεια κάποιου αλγόριθμου μετατρέπεται στην ακριβή διεύθυνση της εγγραφής στον δίσκο, ή στην διεύθυνση ενός μεγαλύτερου χώρου που περιέχει την εγγραφή και στην συνέχεια με σειριακή αναζήτηση, η εγγραφή ανευρίσκεται. Υπάρχει δηλαδή μια συνάρτηση η οποία δέχεται σαν όρισμα το κλειδί της εγγραφής (την λογική της διεύθυνση) και επιστρέφει την πραγματική (φυσική) διεύθυνση της στο δίσκο. 3. Σειριακή με δείκτες. Η σειριακή οργάνωση με δείκτες επιτρέπει την άμεση και σειριακή προσπέλαση των εγγραφών ενός αρχείου. Δίνεται η δυνατότητα στον προγραμματιστή να προσαρτήσει, να ενθέσει αλλά και να διαγράψει εγγραφές διατηρώντας την σειριακή δομή του αρχείου. Παρέχεται επίσης η δυνατότητα επιλογής της άμεσης ή σειριακής προσπέλασης. Υπάρχει ουσιαστικά ένα ευρετήριο (index) με δείκτες οι οποίοι αντιστοιχίζουν τα πρωτεύοντα κλειδιά των ορισμένων εγγραφώνορόσημων (π.χ. ανά 10 εγγραφές) στις φυσικές θέσεις τους στο δίσκο. Για τις επόμενες εγγραφές η αναζήτηση γίνεται σειριακά.

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 8 2.5. Βασικές αρχές ανάπτυξης μιας Εμπορικής Εφαρμογής χρησιμοποιώντας στοιχεία Τεχνολογίας Λογισμικού Βήμα 1 ο : Απόφαση για τις απαιτήσεις και την γραμμογράφηση των αρχείων της εφαρμογής. Π.χ. Εφαρμογή διαχείρισης φροντιστηρίου Απαιτήσεις: διαχείριση σπουδαστών διαχείριση καθηγητών διαχείριση μαθημάτων διαχείριση δηλώσεων μαθημάτων διαχείριση απουσιών διαχείριση βαθμών Γραμμογράφηση αρχείων: Αποφασίζουμε ποια πεδία θα περιλαμβάνει κάθε αρχείο δεδομένων της εφαρμογής. (Προσοχή! Κατά την τήρηση των αρχείων δεν πρέπει τα ίδια στοιχεία να κρατούνται άνω της μίας φοράς). αρχείο σπουδαστών αρχείο καθηγητών αρχείο μαθημάτων αρχείο δηλώσεων μαθημάτων αρχείο απουσιών αρχείο βαθμών Κωδικός σπουδαστή Ονοματεπώνυμο Τάξη Διεύθυνση Τηλέφωνο Κωδικός καθηγητή Ονοματεπώνυμο Διεύθυνση Τηλέφωνο Κωδικός μαθήματος Τίτλος Κωδικός καθηγητή Κωδικός μαθήματος Κωδικός σπουδαστή Κωδικός σπουδαστή Αριθμός απουσιών Κωδικός μαθήματος Κωδικός σπουδαστή Βαθμός Βήμα 2 ο : Απόφαση για την υλοποίηση των πράξεων διαχείρισης στα αρχεία Δυνατές Επιλογές: A. Δήλωση όλων των υποπρογραμμάτων διαχείρισης στο κυρίως πρόγραμμα που είναι δομημένο με βάση τις αρχές του δομημένου προγραμματισμού (topdown design, bottom-up υλοποίηση). (Για το προηγούμενο παράδειγμα 24 υποπρογράμματα, 6 αρχεία * 4 πράξεις για το καθένα) B. Δήλωση των υποπρογραμμάτων διαχείρισης που αφορούν κάθε αρχείο σε ξεχωριστά προγράμματα διαχείρισης του καθενός και κατασκευή ενός κύριου προγράμματος που καλεί τα υποπρογράμματα αυτά. (7 προγράμματα για το προηγούμενο παράδειγμα). C. Δήλωση όλων των υποπρογραμμάτων διαχείρισης σε μια βιβλιοθήκη προγραμμάτων και σύνδεση της βιβλιοθήκης με το κυρίως πρόγραμμα μέσω εντολών της γλώσσας προγραμματισμού. D. Ως επέκταση του (C) και εφόσον το επιτρέπει η γλώσσα προγραμματισμού, στην βιβλιοθήκη μπορούν να υπάρχουν υποπρογράμματα γενικού σκοπού που

Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 9 να λειτουργούν ανεξαρτήτως της γραμμογράφησης των αρχείων. (4 υποπρογράμματα, ένα για κάθε πράξη σε αρχείο). Βήμα 3 ο : Απόφαση για την σχεδίαση και την υλοποίηση των διεπαφών με το χρήστη. Δυνατές Επιλογές: A. Δήλωση τόσων υποπρογραμμάτων όσα τα αρχεία και οι καταστάσεις για την κατασκευή οθονών με εντολές της γλώσσας προγραμματισμού. B. Κατασκευή βιβλιοθήκης με παράθυρα στη γλώσσα ανάπτυξης της εμπορικής εφαρμογής ή σε άλλη γλώσσα και σύνδεση με το κυρίως πρόγραμμα. C. Κατασκευή οθονών μέσω χρήσης προγραμμάτων Screen Generator. Βήμα 4 ο : Απόφαση για την σχεδίαση και την υλοποίηση των εκτυπωτικών καταστάσεων. Δυνατές Επιλογές: A. Δήλωση στο κυρίως πρόγραμμα τόσων διαδικασιών όσες και οι εκτυπωτικές καταστάσεις. B. Κατασκευή βιβλιοθήκης για την δημιουργία καταστάσεων. C. Χρήση εργαλείου Report Generator αν είναι διαθέσιμο από την γλώσσα προγραμματισμού για εύκολη κατασκευή καταστάσεων. Βήμα 5 ο : Σχεδιασμός του συστήματος ασφαλείας της εφαρμογής και των χρηστών. Δυνατές Επιλογές: A. Δήλωση κωδικών ασφαλείας με την μορφή σταθερών τιμών μέσα στο κυρίως πρόγραμμα και έλεγχος των προσπελάσεων στις επιλογές της εφαρμογής μέσω εντολών ελέγχου και ροής (υποτυπώδης παροχή ασφάλειας) B. Σχεδίαση προγράμματος δημιουργίας και συντήρησης του συστήματος ασφαλείας. Κατασκευή αρχείου στο δίσκο με περιεχόμενα τα κωδικοποιημένα αρχικά passwords. Το καλύτερο κλείδωμα γίνεται με ενσωμάτωση στο σύστημα ασφάλειας διαδικασιών σε γλώσσα προσανατολισμένη προς την μηχανή. Βήμα 6 ο : Σχεδιασμός του συστήματος μεταφερσιμότητας της εφαρμογής. 2.6 ΔΟΜΗ ΕΦΑΡΜΟΓΗΣ Μπορεί να αποτελείται από: 1. Διαδικασίες (procedures) και συναρτήσεις (functions) 2. Ανεξάρτητες ενότητες-προγράμματα (modules) που καλούνται από ένα γενικό κύριο πρόγραμμα. Οι εμπορικές εφαρμογές αποτελούνται από ανεξάρτητες προγραμματιστικές ενότητες. Παράδειγμα: Ενότητα 1: Διαχείριση Αρχείων Ενότητα 2: Έλεγχος ορθότητας εισαγωγής δεδομένων στην εφαρμογή Ενότητα 3: Διαχείριση οθονών Ενότητα 4: Βοηθητικά προγράμματα Ενότητα 5: Εξασφάλιση μεταφερσιμότητας εφαρμογής