- Στην Ανάλυση καθορίζονται σε συνεργασία με τους τελικούς χρήστες (end-users) τι ακριβώς θα κάνει το λογισμικό - ποιες ακριβώς λειτουργίες- και ποιοι ενδεχόμενοι περιορισμοί
τίθενται στη λειτουργία του. Η δραστηριότητα που εμπεριέχει αυτό το βήμα λέγεται προσδιορισμός απαιτήσεων. Σε αυτή προδιαγράφουμε το τι θα κάνει το σύστημα. Η ομάδα εργασίας-ανάπτυξης (του αναδόχου) συνεργάζεται με τον πελάτη (οργανισμό ή εταιρεία ή ιδιώτη)
και τους τελικούς χρήστες με σκοπό να συμφωνήσουν από κοινού στη λειτουργικότητα του
λογισμικού και την παραγωγή του εγγράφου προδιαγραφών απαιτήσεων λογισμικού.
Κατά την Κατασκευή αναπτύσσεται προϊόν που ικανοποιεί τις απαιτήσεις του βήματος
της ανάλυσης. Η Σχεδίαση απαντά στο ερώτημα πώς θα κατασκευαστεί το λογισμικό έτσι
ώστε να κάνει αυτά που περιγράφουν οι απαιτήσεις. Συνήθως περιλαμβάνει δύο επίπεδα.
Το πρώτο επίπεδο είναι η αρχιτεκτονική σχεδίαση (architectural design) που αφορά τον
προσδιορισμό του σκελετού του λογισμικού (κατ’ αναλογία με την αρχιτεκτονική των κτηρίων) και το δεύτερο επίπεδο είναι η λεπτομερής σχεδίαση (detailed design) που αφορά
στην οργάνωση και επικοινωνία των επιμέρους μονάδων του λογισμικού. Η Κωδικοποίηση είναι η δραστηριότητα που περιλαμβάνει κυρίως τον προγραμματισμό και παράγει το τελικό προϊόν του λογισμικού.
ян. 18
Τα βήματα ανάπτυξης λογισμικού
ян. 10
ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ
1.1. Το Λογισμικό, Κατηγορίες Λογισμικού
«Θα μπορούσαμε να ορίσουμε το λογισμικό ως ένα σύνολο προγραμμάτων -δομές δεδομένων και εντολές- καθώς και υλικού τεκμηρίωσης. Οι δομές δεδομένων επιτρέπουν στο πρόγραμμα να διαχειρίζεται πληροφορίες, ενώ οι εντολές, όταν εκτελούνται, παρέχουν στους
χρήστες τις επιθυμητές λειτουργίες. Η τεκμηρίωση περιγράφει τον τρόπο λειτουργίας και
χρήσης των προγραμμάτων».
Στην ορολογία της επιστήμης των υπολογιστών μπορούμε να διακρίνουμε τις παρακάτω
κατηγορίες λογισμικού (με βάση τον τρόπο παρέμβασης) χωρίς να είναι πλήρως διακριτές
μεταξύ τους:
● Λογισμικό Συστήματος (system software): λειτουργικά συστήματα, λειτουργικά περιβάλλοντα, οδηγοί συσκευών, λογισμικά δικτύου μεταγλωττιστές, λογισμικά για αντιμετώπιση ιών, λογισμικά περιήγησης στο Διαδίκτυο κ.α.
● Λογισμικό Εφαρμογών (applications software): κάθε λογισμικό που σκοπό έχει να αντιμετωπίσει συγκεκριμένες ανάγκες του χρήστη ή/και συγκεκριμένου φορέα ή επιχείρησης
(π.χ. Διαχείριση Φαρμακείου, Διαχείριση Βιοϊατρικού εξοπλισμού κ.α.). Το λογισμικό
αυτό εντάσσεται στα λεγόμενα εσωτερικά Πληροφοριακά Συστήματα οργανισμών ή φορέων. Το Λογισμικό Διαδικτυακών Εφαρμογών (web applications) αποτελεί μια ειδική
κατηγορία εφαρμογών λογισμικού. Είναι το λογισμικό που αξιοποιεί τις τεχνολογίες του
Διαδικτύου για την παροχή ηλεκτρονικών υπηρεσιών σε εστιασμένους χρήστες ή σε ένα
ευρύτερο κοινό ενός φορέα ή μιας επιχείρησης (π.χ. Υποβολή φορολογικών δηλώσεων στο
Υπουργείο Οικονομικών, Αγορά αγαθών π.χ. βιβλίων από ηλεκτρονικά καταστήματα).
● Λογισμικό για την αύξηση της παραγωγικότητας (productivity software): λογισμικό
που χρησιμοποιείται από ευρύ φάσμα χρηστών για την εκτέλεση κάποιων λειτουργιών
ευρείας χρήσης (π.χ. επεξεργαστές κειμένου, επεξεργαστές πινάκων, Εργαλεία παρουσ