Software Engineering

Diomidis Spinellis
Department of Management Science and Technology
Athens University of Economics and Business
Athens, Greece
dds@aueb.gr

Η σημασία του λογισμικού

Το λογισμικό Μέσα αποθήκευσης γνώσης:
  1. DNA
  2. Εγκέφαλος
  3. Υλικό
  4. Βιβλία
  5. Λογισμικό

Προβλήματα στην υλοποίηση συστημάτων που βασίζονται σε λογισμικό

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

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

  1. Η εφαρμογή μιας συστηματικής πειθαρχημένης και ποσοτικοποιούμενης προσέγγισης στην ανάπτυξη, λειτουργία και συντήρηση του λογισμικού. με άλλα λόγια η εφαρμογή των τεχνικών του μηχανικού στο λογισμικό.
  2. Η μελέτη προσεγγίσεων στο παραπάνω πρόβλημα.
Η τεχνολογία λογισμικού περιλαμβάνει τις παρακάτω περιοχές:
  1. Απαιτήσεις
  2. Σχεδιασμός
  3. Υλοποίηση
  4. Έλεγχος
  5. Συντήρηση
  6. Διαχείριση σχηματισμών
  7. Διαχείριση του οργανισμού, της διεργασίας (process) και του έργου
  8. Διεργασίες τεχνολογίας λογισμικού
  9. Εργαλεία και μέθοδοι
  10. Ποιότητα

Κατηγορίες λογισμικού

Χαρακτηριστικά του λογισμικού

Ιδιότητες του λογισμικού

Ο κύκλος ζωής του λογισμικού

Σχεδιασμός με UML

Η ενοποιημένη γλώσσα σχεδιασμού (unified modeling language) (UML) είναι μια γραφική γλώσσα για την οπτική παράσταση, τη διαμόρφωση προδιαγραφών και την τεκμηρίωση συστημάτων που βασίζονται σε λογισμικό. Η UML στοχεύει στο σχεδιασμό αντικειμενοστρεφών συστημάτων. Το σχέδιο είναι μια απλοποιημένη παράσταση της πραγματικότητας.

Σχεδιάζουμε για να μπορέσουμε να καταλάβουμε το σύστημα που αναπτύσσουμε. Έτσι δημιουργώντας ένα σχέδια επιτυγχάνουμε τέσσερεις στόχους:

  1. παριστάνουμε οπτικά το σύστημα που έχουμε ή θέλουμε να κατασκευάσουμε,
  2. προσδιορίζουμε τη δομή και τη συμπεριφορά του συστήματος,
  3. δημιουργούμε ένα πρότυπο για να βασίσουμε την κατασκευή του συστήματος,
  4. τεκμηριώνουμε τις αποφάσεις που λάβαμε.

Σε όλους τους τεχνολογικούς τομείς ο σχεδιασμός βασίζεται σε τέσσερεις βασικές αρχές:

  1. η επιλογή του είδους του σχεδίου έχει επίπτωση στον τρόπο και την μορφή επίλυσης του προβλήματος,
  2. όλα τα σχέδια εκφράζονται σε διαφορετικές βαθμίδες ακρίβειας,
  3. τα καλύτερα σχέδια σχετίζονται με την πραγματικότητα,
  4. ένα είδος σχεδίων δεν είναι ποτέ αρκετό.

Η UML περιλαμβάνει τρία βασικά στοιχεία:

  1. Οντότητες
  2. Σχέσεις
  3. Διαγράμματα
Η UML είναι μια πλήρης και πλούσια γλώσσα με εξαιρετικά ευρύ πεδίο εφαρμογής. Στο μάθημα αυτό θα εξετάσουμε εξαιρετικά συνοπτικά τον τρόπο παράστασης ορισμένων αντικειμενοστρεφών δομών σε UML.

Διαγράμματα της UML

Η UML ορίζει τα παρακάτω διαγράμματα:

Προβλήματα στη διοίκηση έργων λογισμικού

This project is extremely important, but it has no budget ...

Οι σημαντικότεροι κίνδυνοι

This project is extremely important, but it has no budget ...

Στοιχεία της ευέλικτης ανάπτυξης

Η ευέλικτη ανάπτυξη λογισμικού (agile software development) προσδίδει αξία:

Ασυμβίβαστος προγραμματισμός

Ο ασυμβίβαστος προγραμματισμός (ΑΠ) (eXtreme programing (XP)) εδραιώθηκε ως μεθοδολογία ανάπτυξης για μικρές ομάδες ανάπτυξης έργων στα οποία αλλάζουν συχνά οι προδιαγραφές. Βασικά του χαρακτηριστικά είναι: Η μεθοδολογία δεν είναι κατάλληλη για:

Βιβλιογραφία