Τίτλος Μαθήματος: Προχωρημένη Μηχανική Λογισμικού & Μοντελοποίηση Μεγάλων Δεδομένων
Διδακτικές Ώρες:
Πιστωτικές Μονάδες (ECTS): 7,5
Εξάμηνο: 1ο
Διδάσκων:
Στόχοι του Μαθήματος
Το μάθημα αποσκοπεί στην παρουσίαση των αρχών, τεχνικών και μεθόδων για την επαγγελματική και συστηματική ανάπτυξη λογισμικού. Η Ενοποιημένη Γλώσσα Μοντελοποίησης (UML), τα εργαλεία CASE όπως το Visual Paradigm και γλώσσες προγραμματισμού όπως η Python και η JAVA χρησιμοποιούνται στο πλαίσιο του μαθήματος. Επιπλέον, το μάθημα δείχνει πώς να χειρίζεστε τον όγκο, την ταχύτητα και την ποικιλία των μεγάλων δεδομένων των βάσεων δεδομένων SQL και noSQL. Εξετάζονται επίσης ζητήματα που σχετίζονται με τη διαχείριση και την ποιότητα των δεδομένων. Για την εμβάθυνση στη Μηχανική Λογισμικού και τη Μοντελοποίηση Μεγάλων Δεδομένων, παρουσιάζονται παραδείγματα λογισμικού κατά τη διάρκεια των διαλέξεων.
Μετά την ολοκλήρωση του μαθήματος, ο φοιτητής θα έχει τις απαραίτητες γνώσεις για:
- Να είναι σε θέση να σχεδιάζει λογισμικό
- Χρησιμοποιεί τα εργαλεία CASE για την ανάλυση και το σχεδιασμό λογισμικού
- Να είναι σε θέση να διαχειρίζεται την ανάπτυξη λογισμικού
- Να μπορεί να χρησιμοποιεί συστήματα μοντελοποίησης γλώσσας
- Να μπορεί να εφαρμόζει επαγγελματικό λογισμικό
- Προσδιορίσει διαφορετικά στοιχεία δεδομένων
- Επιλέξει ένα μοντέλο δεδομένων που ταιριάζει με τα χαρακτηριστικά δεδομένων του
- Εφαρμόσει τεχνικές για τη διαχείριση δεδομένων ροής
- Γνωρίζει τις διαφορές μεταξύ ενός παραδοσιακού συστήματος διαχείρισης βάσεων δεδομένων και ενός μεγάλου συστήματος διαχείρισης δεδομένων
- Αναγνωρίζει γιατί υπάρχουν τόσα πολλά συστήματα διαχείρισης δεδομένων
Ενδεικτική Ύλη
Δημιουργία και διαχείριση λογισμικού
- Γλώσσες περιγραφής συστήματος – Ενοποιημένη γλώσσα μοντελοποίησης (UML)
- Σχεδιασμός λογισμικού
- Ανάλυση απαιτήσεων
- Σχεδίαση λογισμικού
- Συμβιβασμοί σχεδιασμού λογισμικού
- Σχεδιασμός υλοποίησης λογισμικού
- Τεχνικές σχεδιασμού λογισμικού
Διαχείριση διαδικασίας ανάπτυξης λογισμικού
- Μέθοδοι ανάπτυξης λογισμικού
- Ταχεία ανάπτυξη εφαρμογών
- Ευέλικτη ανάπτυξη λογισμικού
- Μοντέλο ωριμότητας ικανότητας
- Μοντέλο καταρράκτη
- Spiral μοντέλο
- Μοντέλο V
- Σχεδιαστικά μοτίβα
- Διαχείριση κινδύνων
Τεχνικές ανάπτυξης λογισμικού
- Δημιουργία πρωτοτύπων λογισμικού
- Αντικειμενοστραφής ανάπτυξη
- Διαγράμματα ροής
- Επαναχρησιμοποίηση
- Σειρές προϊόντων λογισμικού
- Χειρισμός και αποκατάσταση σφαλμάτων
Μοντελοποίηση μεγάλων δεδομένων
- Εισαγωγή στη Μοντελοποίηση Μεγάλων Δεδομένων
- Εισαγωγή στα μοντέλα δεδομένων (Δομές, Λειτουργίες & Περιορισμοί)
- Εισαγωγή σε Σχεσιακά Μοντέλα Δεδομένων και Ημιδομημένα Μοντέλα Δεδομένων
- XML έναντι JSON στο Διαδίκτυο
- Διερεύνηση του μοντέλου σχεσιακών δεδομένων των τιμών διαχωρισμένων με κόμματα (CSV)
- Διερεύνηση του μοντέλου ημιδομημένων δεδομένων των δεδομένων JSON
- Διανυσματικό μοντέλο χώρου, μοντέλο δεδομένων γραφήματος, άλλα μοντέλα δεδομένων
- Εργασία με μοντέλα δεδομένων
- Μοντέλο δεδομένων έναντι Μορφής δεδομένων
- Ροές δεδομένων
- Λίμνες Δεδομένων
- Εφαρμογές δεδομένων ροής
- Εξερεύνηση δεδομένων αισθητήρα ροής
- Διαχείριση μεγάλων δεδομένων: Το “M” στο DBMS
- Προσεγγίσεις σε μεγάλα δεδομένα που βασίζονται σε DBMS και χωρίς DBMS
- Από το DBMS στο BDMS
Βιβλιογραφία:
- Ian Sommerville, “Software Engineering” (8th edition), Addison-Wesley, May 25, 2006
- Pfleeger Shari Lawrence, “Τεχνολογία λογισμικού Θεωρία και Πράξη”, Α’ & Β’ ΤΟΜΟΣ, Κλειδάριθμος, 2003
- Grady Booch, James Rumbaugh, “The Unified Modeling Language User Guide”, (2nd Edition), Pearson Education Limited, 2005
- Grady Booch, Robert A. Maksimchuk, J. Newkirk et.al., “Object Oriented Analysis and Design with Applications”, Pearson Education Limited, 2007
- Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object Modeling Language” (3rd Edition) (The Addison-Wesley Object Technology Series) (Paperback), Pearson Education Limited, 2003
- Alan Dennis, “Systems Analysis & Design with UML”, 2nd Edition with Visio 2007 Set, John Wiley and Sons Ltd, 2008
- Ivar Jacobson, Grady Booch, James Rumbaugh: “The Unified Software Development Process”, Addison-Wesley, 1999
- Ivar Jacobson, Magnus Christerson, Patrik Jonsson, Gunnar Oevergaard: “Object-Oriented Software Engineering (A use case Driven Approach)”, Addison-Wesley, 1995
- Rational Rose Home Page: http://www.rational.com/products/rose/ index.jtmpl
- Object Management Group – UML: http://www.uml.org
- The Carnegie Mellon Software Engineering Home: http:// www.sei.cmu.edu /sei-home.html
- RabbitMQ in Action: Distributed Messaging for Everyone, Manning Pubs Co Series, Alvaro Videla, Jason J. W. Williams, Manning Publications Company, 2012, ISBN 1935182978, 9781935182979
- Evan Stubbs, Big data, big innovation: enabling competitive differentiation through business analytics, 2018 ISBN 978-1-118-72464-4
- Pete Warden, Big Data Glossary, 2011, O’Reilly, ISBN: 978-1-449-31459-0
Συνοπτική περιγραφή του μαθήματος “Προχωρημένη Μηχανική Λογισμικού”.pdf
