M102. Μηχανική Λογισμικού για Διαδικτυακές Εφαρμογές

1. Ταυτότητα Μαθήματος

Τίτλος μαθήματος: Μηχανική Λογισμικού για Διαδικτυακές εφαρμογές (SoftwareEngineeringforWebApplications).

Εξάμηνο διδασκαλίας: 1ο

Ώρες εβδομαδιαίως: 3

Μονάδες ECTS: 6

2. Μαθησιακοί Στόχοι:

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

Με την ολοκλήρωση του μαθήματος οι φοιτητές θα μπορούν να:

  • κατανοούν και επιλύουν τα προβλήματα που προκύπτουν στην ανάλυση, σχεδίαση και ανάπτυξη διαδικτυακών εφαρμογών
  • γνωρίζουν και να χρησιμοποιούν τις πιο σύγχρονες έννοιες και τεχνικές στην τεχνολογία λογισμικού, όπως αντικειμενοστρεφή ανάλυση, σχεδίαση και ανάπτυξη
  • εφαρμόζουν τις πιο σύγχρονες και πιο αποτελεσματικές μεθοδολογίες ανάπτυξης, όπως ο Ακραίος Προγραμματισμός, η SCRUM και γενικότερα οι Ευέλικτες μέθοδοι
  • γνωρίζουν να χρησιμοποιούν εργαλεία ανάπτυξης (CASE tools) και να υλοποιούν την ανάπτυξη του κώδικα μέσα από τους διαρκείς ελέγχους.
  • αξιολογούν την ποιότητα της διαδικασίας ανάπτυξης αλλά και των προϊόντων λογισμικού

3. Αντικείμενο του μαθήματος

Τα θέματα που καλύπτει είναι:

  • Ανάλυση, σχεδίαση και αρχιτεκτονική των εφαρμογών διαδικτύου
  • Αντικειμενοστρεφείς μεθοδολογίες ανάπτυξης (ΟΟ development – Unified Modelling Language – UML)
  • Εργαλεία ανάπτυξης στην τεχνολογία λογισμικού
  • Προχωρημένη σχεδίαση και ανάπτυξη εφαρμογών (με την Java)
  • Διασφάλιση της ποιότητας στις διαδικτυακές εφαρμογές
  • Νέες μεθοδολογίες ανάπτυξης, ICONIX, Ακραίος Προγραμματισμός, SCRUM και γενικότερα οι Ευέλικτες Μέθοδοι
  • Ανάπτυξη κώδικα καθοδηγούμενη από διαρκείς Ελέγχους – Αναδόμηση κώδικα (χρήση του JUNIT σε διάφορα εργαλεία)

4. Διδακτική Μέθοδος

Η εκπαίδευση των φοιτητών συνδυάζει διαλέξεις, συζητήσεις, πρακτική εξάσκηση με χρήση εργαλείων Λογισμικού (Case tools) και εκπόνηση εργασίας.

5. Μέθοδος αξιολόγησης φοιτητών

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

6. Απαιτήσεις εξοπλισμού – λογισμικού

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

7. ΠροτεινόμενηΒιβλιογραφία

  • Braude, Ε. Software Engineering: Modern Approaches, 2nd Edition, 2010, ISBN: 978-0-471-69208-9.
  • Beck, K., Extreme Programming Explained: Embrace Change, Addison Wesley, 2000.
  • Auer, K. and R. Miller, Extreme Programming Applied, Addison Wesley, 2002.
  • Schwaber, K. and M. Beedle, Agile Software Development with SCRUM, Pearson Technology Group, 2002.
  • Boehm, B., A. Egyed, J. Kwan, D. Port, A. Shah, R. Madachy, Using the Win-Win Spiral Model: A Case Study, IEEE Computer, July 1998.