-

Μηχανική Λογισμικού Ι

  • Κωδικός: 5502
  • Εξάμηνο: Εξαμ. Ε
  • Τύπος: Μάθημα Επιστημονικής Περιοχής (ΜΕΠ)
  • Κατηγορία: Μάθημα Ειδικής Υποδομής (ΜΕΥ)
  • Είδος: Υποχρεωτικό (Υ)

1. ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

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

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

Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση να:
1) Γνωρίζει τα μέρη που συνθέτουν (διαγράμματα σχεδίασης, κανόνες, δραστηριότητες, τεχνικές, κλπ) την μεθοδολογία της Ενοποιημένης Προσέγγισης (RationalUnifiedProcess)
2) Εφαρμόζει τη μεθοδολογία της Ενοποιημένης Προσέγγισης (RationalUnifiedProcess) για την ανάπτυξη συστημάτων λογισμικού
3) Διακρίνει και εκτιμά τους πόρους και το ανθρώπινο δυναμικό που θα απαιτηθεί για την ολοκληρωμένη ανάπτυξη συστημάτων λογισμικού
4) Περιγράφει το σύνολο των δραστηριοτήτων, κανόνων και τεχνικών που περιλαμβάνει η ανάπτυξη ενός αντικειμενοστρεφούς συστήματος
5) Υπολογίζει τον χρόνο που απαιτείται για την ολοκλήρωση ενός συστήματος λογισμικού, εφαρμόζοντας την τεχνική‘Υπολογισμός Κόστους βάσει Περιπτώσεων χρήσης’ (UseCaseCostEstimation)
6) Διακρίνει τη διαφορά μεταξύ του διαδικαστικού (procedural) τύπου ανάπτυξης ενός συστήματος λογισμικού και αντικειμενοστρεφούς (object-oriented)
7) Δημιουργεί/παράγει ένα ολοκληρωμένο, λειτουργικό και τεκμηριωμένο σύστημα λογισμικού, εφαρμόζοντας αποδεδειγμένα δοκιμασμένες μεθόδους και τεχνικές που συντελούν στην υλοποίηση ποιοτικών συστημάτων.
8) Εφαρμόζει/παράγει συστατικά (components) λογισμικού με στόχο την επίτευξη το δυνατόν μεγαλύτερου βαθμού επαναχρησιμοποίησης
9) Εξηγεί την σημασία της ύπαρξης και της χρήσης κάθε διαγράμματος, δραστηριότητας και τεχνικής που συντελεί στην ανάπτυξη ποιοτικών και εύκολα συντηρήσιμων συστημάτων λογισμικού

2. ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Εισαγωγικές έννοιες

    • Πολυπλοκότητα
    • Αντικειμενοστρεφής Τεχνολογία
    • Ενοποιημένη γλώσσα μοντελοποίησης – UML (Unified Modeling Language)
    • ΕνοποιημένηΔιεργασία – RUP (Rational Unified Process)
    • Μοντέλα Ανάπτυξης λογισμικού

 

Ανάλυση

    • Τεχνικές εξαγωγής (elicitation), καταγραφής (specification) και επικύρωσης των απαιτήσεων (validation).
      Εκτίμηση έργου με σημεία περιπτώσεων χρήσης
    • Περιπτώσεις Χρήσης (Use Case). Ορισμός, διάγραμμα περιπτώσεων χρήσης (Use Case Diagram), συσχετίσεις.
    • Πρωτοτυποποίηση Λογισμικού (Software Prototyping). Είδη προτυποποίησης λογισμικού. Δημιουργία διεπαφών χρήστη.
    • Μοντέλο Περιοχή προβλήματος ή Εννοιολογικό Μοντέλο (Conceptualmodel). Εξαγωγή εννοιολογικών κλάσεων, πολλαπλότητες σχέσεων, συσχετίσεις.

 

Σχεδίαση

    • Διάγραμμα Δραστηριοτήτων (ActivityDiagram). Εισαγωγή στα δυναμικά διαγράμματα. Συμβολισμοί και σχέσεις.
    • Διάγραμμα Ακολουθίας – Διάγραμμα Ακολουθίας Συστήματος (SequenceDiagrams).
    • Διάγραμμα Συνεργασίαςή Επικοινωνίας (Collaborationή Communication).
    • Πρότυπαανάθεσηςαρμοδιοτήτων GRASP (General Responsibility Assignment Patterns).
    • Διάγραμμα Κλάσεων (ClassDiagram). Συμβολισμοί και συσχετίσεις στο διάγραμμα κλάσεων.
    • Διάγραμμα Καταστάσεων (StateDiagram). Εμβάθυνση στα δυναμικά διαγράμματα.
    • Διαγράμματα Πακέτων, Συστατικών και Διάταξης.

 

Υλοποίηση

    • Υλοποίηση της σχεδίασης με την αντικειμενοστρεφή γλώσσα προγρ/μού Java.

 

Συντήρηση

    • Τεχνικές συντήρησης ενός συνεχώς εξελισσόμενου συστήματος λογισμικού

 

Επαναχρησιμοποίηση

    • Σχεδίαση με γνώμονα την επαναχρησιμοποίηση μελών του συστήματος, αλλά και ένταξη σε ένα σύστημα λογισμικού έτοιμων συστατικών λογισμικού

 

3. ΔΙΔΑΚΤΙΚΕΣ και ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ – ΑΞΙΟΛΟΓΗΣΗ

ΤΡΟΠΟΣ ΠΑΡΑΔΟΣΗΣ

Στην τάξη και στο εργαστήριο

ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

Οι διαλέξεις γίνονται με την χρήση διαφανειών σε video προβολέα.
Στα εργαστήρια χρησιμοποιούνται εργαλεία: όπως το VisualParadigm, MSproject, NetBeans
Υποστήριξη της μαθησιακής διαδικασίας μέσω της ηλεκτρονικής πλατφόρμας Moodle.

ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ

σκήσεις

Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 13 x 3= 39
Πρακτική εξάσκηση στο σπίτι 13 x 2= 26
Ασκήσεις στο εργαστήριο 13 x 2 = 26
Επικοινωνία/συνεργασία 8
Αυτοτελής μελέτη 18 x 4.5= 81
Σύνολο Μαθήματος (30 ώρες φόρτου εργασίας ανά πιστωτική μονάδα) 180
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Ι. Γραπτή τελική εξέταση (50%) στο θεωρητικό μέρος του μαθήματος που περιλαμβάνει:
-Θέματα που αφορούν τις έννοιες του μαθήματος
– Ασκήσεις που αφορούν στην εφαρμογή της μεθοδολογίας

ΙΙ. Εξάσκηση στο εργαστήριο (50%)
– Ασκήσεις για πρακτική εξάσκηση, σε εβδομαδιαία βάση
– Τελική εξέταση στο εργαστηριακό μέρος του

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

4. ΣΥΝΙΣΤΩΜΕΝΗ-ΒΙΒΛΙΟΓΡΑΦΙΑ

α) Ελληνική

    • Τεχνολογία Λογισμικού, Μ. Γιακουμάκης, Ν. Διαμαντίδης, εκδ. Αθ. Σταμούλης, 2009
    • Ανάλυση και σχεδιασμός συστημάτων με τη UML 2.0, 2010, A. Dennis, B. Wixom, D. Tegarden, Εκδ. Κλειδάριθμος
    • ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ, S.L. Pflegger, εκδ. Κλειδάριθμος, 2003

 

β) Διεθνής

    • Object-Oriented Software Engineering: Practical Software Development using UML and Java, Second Edition, Timothy C. Lethbridge and Robert Laganière, McGraw Hill, 2001
    • Software Engineering, 8η έκδοση, Sommerville, 2007
    • Object Oriented Analysis and Design with Applications, G. Booch, 3rd edition, 2008

Πρόσφατες Ανακοινώσεις

10 Αύγ 2019
Πρόσκληση για Απόκτηση Ακαδημαϊκής Διδακτικής Εμπειρίας σε Νέους Επιστήμονες
31 Ιούλ 2019
Λειτουργία της Γραμματείας κατά το διάστημα των θερινών διακοπών 2018-19.
24 Ιούλ 2019
Προσωπικές Ιστοσελίδες Φοιτητών
17 Ιούλ 2019
Κατατακτήριες εξετάσεις για το ακαδημαϊκό έτος 2019-2020
16 Ιούλ 2019
Βίντεο Ενημερωτικής Εκδήλωσης Πέμπτης 11/7/2019
11 Ιούλ 2019
Οδηγός Μετάβασης στο νέο Πρόγραμμα Σπουδών
11 Ιούλ 2019
ΣΥΝΔΕΣΜΟΣ ΓΙΑ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΤΗΣ ΕΚΔΗΛΩΣΗΣ – Πέμπτη 11/7/2019 στις 12:00
10 Ιούλ 2019
Λίστα αιτήσεων για πρακτική μέσω Erasmus+ (Χειμερινό εξάμηνο 2019-2020)

Πρόσφατες Εκδηλώσεις

10 Ιούν 2019
Ημερίδα «Εθνική Στρατηγική Κυβερνοασφάλειας» στο Υπουργείο Ψηφιακής Πολιτικής
14 Απρ 2019
6ο Technology Forum – 15 Απριλίου 2019 (τελικό πρόγραμμα)
19 Μάρ 2019
6ο Technology Forum – 15 Απριλίου 2019 (εισιτήρια με μειωμένο κόστος)
19 Μάρ 2019
OWASP Student Chapter Συνάντηση «Introduction to Digital Forensics»
17 Δεκ 2018
Ομιλία του καθηγητή Man Wai Mak (Hong Kοng Polytechnic University)
3 Δεκ 2018
Εκδήλωση «Robotic Operating System to Reality»
27 Νοέ 2018
IEEE Career Day 2018
16 Νοέ 2018
Livestreaming των εργασιών του SingularityU Greece Summit (19-20 Νοεμβρίου 2018)

Δείτε επίσης