Μεθοδολογίες Ανάπτυξης Εφαρμογών

Κωδικός Μαθήματος: Ν2-4040
Εβδομαδιαίες ώρες διδασκαλίας: 5 (3Θ + 2Ε)
Πιστωτικές μονάδες: 5
Τυπικό εξάμηνο διδασκαλίας: 4ο
Κατηγορία μαθήματος: Μαθήματα Γενικής Υποδομής
Προαπαιτούμενα: Προγραμματισμός Υπολογιστών

Μαθησιακά αποτελέσματα

Το μάθημα αυτό εξετάζει τις διάφορες μεθοδολογίες προγραμματισμού και αποσαφηνίζει τους λόγους που τις εισήγαγαν. Εξετάζονται διαδοχικά τα: Δομημένος προγραμματισμός (Structured Programming), Συναρτησιακός Προγραμματισμός (Functional Programming), Λογικός προγραμματισμός (Logic Programming), Αντικειμενοστρεφής Προγραμματισμός (Object Oriented Programming), Προγραμματισμός με Συνιστώσες (Component Based Programming) και Ταχεία Ανάπτυξη Εφαρμογών (Rapid Αpplication Development – RAD).

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

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

  • Κατανοεί και να αξιοποιεί την έννοια της Αφαίρεσης (Abstract data types).
  • Να μπορεί να κατατάξει τις γλώσσες προγραμματισμού.
  • Να σχεδιάζει και να υλοποιεί Αντικειμενοστρεφή Προγράμματα (Object-Oriented Programming).
  • Να βασίζει τη λειτουργία των εφαρμογών (που αναπτύσσει) σε γεγονότα (events).
  • Να αναπτύσσει εφαρμογές που βασίζονται σε Συνιστώσες (Component-Oriented Programming).
  • Να σχεδιάζει διεπαφές με τα περιβάλλοντα γρήγορης ανάπτυξης εφαρμογών (Rapid application development).
  • Να γνωρίζει και να μπορεί να αναπτύξει τα ισοδύναμα προγράμματα (διεπαφές) μόνο με τη χρήση συνιστωσών (components) και διαχειριστών γεγονότων (event handlers) χωρίς τη χρήση περιβαλλόντων γρήγορης ανάπτυξης εφαρμογών (χωρίς RAD περιβάλλοντα).
  • Να μπορεί να συγκρίνει τα διάφορα περιβάλλοντα γρήγορης ανάπτυξης εφαρμογών (Rapid Application Development).
  • Να αναπτύσσει εφαρμογές με αντίστοιχες αντικειμενοστρεφής γλώσσες (π.χ. Java) και με αντίστοιχα περιβάλλοντα γρήγορης ανάπτυξης εφαρμογών (π.χ. NetBeans, Eclipse, VB.NET, κλπ).
  • Να αναπτύσσει πολυνηματικές εφαρμογές (multithread).

Περιεχόμενο μαθήματος
  • Κλάσεις και αντικείμενα
  • Αυτόνομες εφαρμογές κονσόλας
  • Αυτόνομες γραφικές εφαρμογές
  • Εφαρμογές σε περιβάλλον browser
  • Στοιχεία διαλόγων (Dialog items)
  • Διάταξη στοιχείων διαλόγου
  • Γεγονότα (events) και διαχειριστές γεγονότων (eventhandlers)
  • Προγραμματιστική σχεδίαση διεπαφής
  • Προηγμένες συνιστώσες λογισμικού (Components)
  • Εξαιρέσεις και αντιμετώπιση
  • Πολυνηματικές εφαρμογές
  • Ιεραρχία αντικειμένων εισόδου και εξόδου
  • Δομές δεδομένων (Πίνακες, Λίστες, Δένδρα, Χάρτες)
  • Διεπαφή με βάσεις δεδομένων
  • Γραφική σχεδίαση διεπαφής (σχεδίαση σε περιβάλλοντα RAD)
  • Case study υλοποίησης σύνθετης εφαρμογής

Βιβλιογραφία
  1. Νικήτα Ν. Καρανικόλα, Java για όλους, Εκδόσεις Νέων Τεχνολογιών, 2015
  2. Λιακέας Γ., Εισαγωγή στην Java 2, Κλειδάριθμος, 2003
  3. Herbert Schildt, Java 2, The Complete Reference, Fifth Edition, 2002, McGraw Hill/Osborne,
  4. Laura Lemay και Rogers Cadenhead, Πλήρες Εγχειρίδιο της Java, Ελληνική Έκδοση, Εκδότης Μ. Γκιούρδας,
  5. Holzner S., Teach Yourself Visual Basic.NET in 21 Days, (Sams Teach Yourself), Sams Publishing, 2003.
  6. Szyperski C., Component Software, Addison-Wesley, 1998.
  7. Spencer Κ., Eberhard Τ., Alexander J., OOP: Building Reusable Components with Microsoft® Visual Basic® .NET, Microsoft Press, 2002.
  8. Dobson R., Programming Microsoft® Visual Basic® .NET for Microsoft Access Databases, Microsoft Press, 2003.

Internationalisation I18n