Software and System Engineering
Περιγραφή Μαθήματος
Το μάθημα εισάγει Software and System Engineering practices που είναι απαραίτητες για την ανάπτυξη των σύγχρονων πολύπλοκων σημερινών συστημάτων. Από τα συστήματα Μηχανοτρονικής και τα Cyber-Physical συστήματα στο Διαδίκτυο των Αντικειμένων (ΙοΤ).
Παρουσιάζει Mεθοδολογίες, Τεχνικές, Σημειολογίες (notations) που χρησιμοποιούνται στην ανάπτυξη συστημάτων με ιδιαίτερη έμφαση στις φάσεις της Ανάλυσης και του Σχεδιασμού του Συστήματος.
Γενικές Πληροφορίες για το μάθημα (Επιδιωκόμενα μαθησιακά αποτελέσματα, Δεξιότητες, Προαπαιτήσεις, Πιστωτικές μονάδες ECTS, κλπ) εδώ
Στόχος
Στόχος είναι να δώσει την γνώση που απαιτείται ώστε ο Μηχανικός να μπορεί να παράγει plans and specifications:
a) to communicate to the builder (programmer) the client’s needs and requirements for the development of the system, and,
b) to effectively refine these specs to executable specifications.
Επιδιωκόμενα μαθησιακά αποτελέσματα του μαθήματος
Εκμάθηση των βασικών εννοιών της μεθοδολογίας της δομημένης ανάλυσης (SA) και της αντικειμενοστρεφούς ανάλυσης και σχεδιασμού συστήματος.
Εξοικείωση με την σημειολογία της Unified Modeling Language (UML).
Εξοικείωση με τις βασικές έννοιες της βασισμένης σε μοντέλα ανάπτυξης συστήματος (model driven development).
Εκμάθηση των βασικών αρχών των βασισμένων σε συνιστώσες (component based) και υπηρεσίες (service oriented) παραδειγμάτων ανάπτυξης συστήματος και τις δυνατότητες που τα παραδείγματα αυτά παρέχουν για την ανάπτυξη διαδικτυωμένων ενσωματωμένων συστημάτων (networked embedded systems). Η μετάβαση στο Διαδίκτυο των Αντικειμένων. Εξοικείωση με την γλώσσα μοντελοποίησης συστήματος SysML.
Περιεχόμενο Μαθήματος
1. Εισαγωγή στη Μηχανιστική Λογισμικού (Software Engineering). Ενσωματωμένα Συστήματα, συστήματα Μηχανοτρονικής, Cyber Physical Systems, ΙοΤ. Κύκλος ζωής διαδικασίας ανάπτυξης συστήματος.
2. Η έννοια του μοντέλου. Μοντέλα κύκλου ζωής λογισμικού. Φάσεις διαδικασίας ανάπτυξης συστήματος λογισμικού. H μεθοδολογία Scrum.
3. Η μεθοδολογία της σύγχρονης δομημένης ανάλυσης. Τεκμηρίωση προδιαγραφών συστήματος, Διαγράμματα ροής δεδομένων, Λεξικό δεδομένων, τεκμηρίωση συναρτήσεων, Διαγράμματα συσχέτισης οντοτήτων (ERDs), διαγράμματα αλλαγής καταστάσεων (STDs).
4. Η μετάβαση στη φάση του σχεδιασμού. Ποιότητα σχεδιασμού, σύζευξη, συνεκτικότητα.
5. Τεχνολογία αντικειμένων. Η UML ως γλώσσα αναπαράστασης μοντέλων ανάλυσης και σχεδιασμού. Βασικά διαγράμματα. Μοντέλα δομής και συμπεριφοράς.
6. Αρχιτεκτονική Συστήματος. Μοντέλα αρχιτεκτονικής.
7. Ανάπτυξη βασισμένη στην έννοια του μοντέλου (model driven development). Model-to-model transformations.
8. Ανάπτυξη συστήματος βασισμένη στην έννοια της συνιστώσας (component-based development).
9. Ανάπτυξη βασισμένη στην έννοια της υπηρεσίας. Αρχιτεκτονικές με βάση την έννοια της υπηρεσίας (SOA). Βασικές έννοιες και τεχνολογίες. Η αρχιτεκτονική CORBA.
10. Μοντέλο αρχιτεκτονικής διαδικτύου Αντικειμένων (ΙοΤ).
11. Μοντελοποίηση συστήματος. Η γλώσσα μοντελοποίησης συστήματος SysML. Βασικές έννοιες.
12. Verification and Validation. Safety critical συστήματα. Safety Engineering.
13. Σύγχρονες τάσεις στην ανάπτυξη συστημάτων.
Εργασία
Ανάλυση, σχεδιασμός και υλοποίηση ενσωματωμένου συστήματος στο περιβάλλον του Διαδικτύου Αντικειμένων.
Ενδεικτικά συστήματα:
1η Εργασία - [Liqueur Plant case study]
https://sites.google.com/site/uml4iot/liqueur-plant-case-study
2η Εργασία - [ IKEA Gregor chair case study]
https://sites.google.com/view/cyber-physical-microservice/gregor-chair
4η Εργασία - [Blood Pressure Monitoring case study]
5η Εργασία - [FESTO MPS system]
To φυσικό σύστημα link
Περιγραφή της εργασίας link
Περιγραφή του συστήματος link
6η Εργασία - [washing machine]
7η Εργασία - [Intruder Alarm System]
8η Εργασία - [FESTO MPP system]
To φυσικό σύστημα link
Περιγραφή της εργασίας link
Περιγραφή του συστήματος link
Σχηματικό Διάγραμμα link
9η Εργασία - [Multi Cabin Elevator Control System]
Περιγραφή της εργασίας link
Εκπαιδευτικές Δραστηριότητες:
Διδασκαλία (3 ώρες/βδομάδα)
Εργασία (Project) Υποχρεωτική. Ανάπτυξη κατά βήματα (Δραστηριότητες).
Παρουσίαση και εξέταση της εργασίας.
Συγγράμματα
Βασικά Συγγράμματα
ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ
Κωδικός Βιβλίου στον Εύδοξο: 13625
Έκδοση: 8η/2009
Συγγραφείς: IAN SOMMERVILLE
ISBN: 978-960-461-220-8
Διαθέτης (Εκδότης): ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ
Τεχνολογία Λογισμικού
Κωδικός Βιβλίου στον Εύδοξο: 18548873
Έκδοση: 7η Έκδοση/2011
Συγγραφείς: Pressman
ISBN: 978-960-418-330-2
Τύπος: Σύγγραμμα
Διαθέτης (Εκδότης): ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε.
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ: ΘΕΩΡΙΑ ΚΑΙ ΠΡΑΞΗ
Κωδικός Βιβλίου στον Εύδοξο: 13009253
Έκδοση: 2η ΑΜΕΡΙΚΑΝΙΚΗ/2011
Συγγραφείς: SHARI LAWRENCE PFLEEGER
ISBN: 978-960-461-477-6
Τύπος: Σύγγραμμα
Διαθέτης (Εκδότης): ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ
ΤΕΧΝΟΛΟΓΊΑ ΑΝΆΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΎ ΩΣ ΥΠΗΡΕΣΊΑΣ
Κωδικός Βιβλίου στον Εύδοξο: 68386127
Πανεπιστημιακές Παραδόσεις
Τίτλος: Ανάλυση και Σχεδιασμός Συστημάτων Λογισμικού
Συγγραφέας: Κλεάνθης Θραμπουλίδης
Εγκεκριμένος αριθμός σελίδων: 281
Πάτρα 2000. URL: http://seg.ece.upatras.gr/A&DBook
Structured Analysis Wiki http://yourdon.com/strucanalysis/wiki/index.php/Introduction
Επιπλέον βιβλιογραφία δίνεται στo βασικό σύγγραμμα