Τεχνολογία λογισμικού στην πράξη

Σχετικά έγγραφα
Τεχνολογία λογισμικού στην πράξη

Τεχνολογία λογισμικού στην πράξη

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Τεχνολογία λογισμικού στην πράξη

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ειδικά θέματα τεχνολογίας λογισμικού

UML: Unified modelling language

Διαχείριση Πληροφοριακών Συστημάτων

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Τεχνολογία λογισμικού στην πράξη

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Εισαγωγή στη γλώσσα UML

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

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

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάλυση Πληροφοριακών Συστημάτων. «Διαγράμματα περιπτώσεων χρήσης» Βασίλειος Καρακόιδας

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

περιεχόμενα παρουσίασης

Περιεχόμενο του μαθήματος

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 2: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (2ο Μέρος)

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Περιεχόμενο του μαθήματος

Τεχνολογία Λογισμικού

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Τεχνολογία Λογισμικού

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

Τα διαγράµµατα συστατικών

Τεχνολογία Λογισμικού

Μεθοδολογίες Παραγωγής Λογισµικού

Ανάλυση Περιπτώσεων Χρήσης

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

Κωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού

Δομημένος Προγραμματισμός

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

Ενότητα 1 (κεφάλαια 3 και 23.4) Ευέλικτη Ανάπτυξη Λογισμικού

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΜΑΤΟΣ. Ευέλικτες μέθοδοι στη διοίκηση έργων ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ: 8 ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ (ΑΝΑ ΕΒΔΟΜΑΔΑ):

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Ανάλυση Πληροφοριακών Συστημάτων. «Εισαγωγή στην UML» Βασίλειος Καρακόιδας

«ΕΥΕΛΙΚΤΟ ERP. ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ ΜΙΚΡΟΥ ΣΥΣΤΗΜΑΤΟΣ ERP»

Σχεδιασµός βασισµένος σε συνιστώσες

Τεχνολογία Λογισμικού

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Ανάλυση / Σχεδίαση και Υλοποίηση Εφαρμογής Υποβοήθησης Καθηγητών

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

Διαχείριση Έργων. Ενότητα 5: Χρονοδιάγραμμα προμηθειών, προγραμματισμός πόρων

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΤΛΟΠΟΙΗΗ STANDALONE ΕΦΑΡΜΟΓΗ ΚΡΑΣΗΕΩΝ ΔΩΜΑΣΙΩΝ ΞΕΝΟΔΟΧΕΙΟΤ ΜΕ C-SHARP ΚΑΙ SQL-SERVER

Διδακτική Πληροφορικής

Μοντελοποίηση Συστημάτων

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων,

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Σκοπός του μαθήματος

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

Συστήματα Διοίκησης. Διδάσκοντες Καθηγητής Δημήτρης Ασκούνης, Ιωάννα Μακαρούνη, Δημήτρης Πανόπουλος

3 Αλληλεπίδραση Αντικειμένων

UML

Εισαγωγή στην ανάλυση

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Α.Ε.Ι. Πειραιά Τ.Τ. Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Διαχείριση Έργων Αυτοματισμού και Πληροφορικής

Κεφάλαιο 1. Εισαγωγή

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Τι είναι η UML. H UML (Unified Modeling Language) είναι µιά γλώσσα µοντελοποίησης γιά

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

Πληροφοριακά Συστήματα Απομακρυσμένης Εποπτείας και Μετρήσεων

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Database Design. Τύποι Σχέσεων Relationship Types. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

Transcript:

Τεχνολογία λογισμικού στην πράξη Μοντέλα και μέθοδοι τεχνολογίας λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds @CoolSWEng 2017-03-13 Άσκηση (Μοντέλα και μέθοδοι τεχνολογίας λογισμικού) Για ένα δημοφιλές-σημαντικό έργο ανοιχτού λογισμικού απαντήστε τα ακόλουθα. Τι είδους μοντέλο τεχνολογίας λογισμικού θα ταίριαζε περισσότερο για τη μοντελοποίησή του; Ποια μέθοδος τεχνολογίας λογισμικού επιλέχθηκε για την ανάπτυξή του; Μπορείτε να αντλήσετε στοιχεία από τον πηγαίο κώδικα και την τεκμηρίωση του έργου. Αν το σύστημα άρχιζε να αναπτύσσεται τώρα ποια μέθοδος πιστεύετε ότι θα έπρεπε να επιλεγεί; Τι προσφέρουν τα μοντέλα και οι μέθοδοι; Συστηματοποίηση Επαναληψιμότητα Μοντέλα Τρόπο επίλυσης προβλημάτων Συμβολισμούς Διαδικασίες κατασκευής και ανάλυσης Μέθοδοι συστηματοποιούν Προδιαγραφές Σχεδιασμό Κατασκευή 1

Δοκιμές Επισκόπηση Μοντελοποίηση Είδη μοντέλων Ανάλυση μοντέλων Μέθοδοι τεχνολογίας λογισμικού Αρχές μοντελοποίησης Μοντελοποιούμε τα σημαντικά Προσφέρουμε οπτικές Επιτρέπουμε την επικοινωνία μεταξύ μερών «Κάθε μοντέλο είναι μια αφαίρεση και κατά συνέπεια όχι πλήρης παράσταση της πραγματικότητας» ## Έκφραση μοντέλων * Ένα μοντέλο απαρτίζεται από * Οντότητες * Σχέσεις * Μπορεί να εκφραστεί * Γραφικά * Με μορφή κειμένου * Ορισμός του τρόπου έκφρασης * Για γραφική μορφή: μεταμοντέλο * Για κείμενο: BNF ## Ιδιότητες μοντέλων * Πληρότητα (completeness) * Συνέπεια (consistency) * Ορθότητα (correctness) (Οι δύο πρώτες ιδιότητες μπορούν να ελεγχθούν αυτόματα.) Σχεδιασμός μέσω Συμβολαίου Ένα μοντέλο μπορεί να ορίζει: Προϋποθέσεις (preconditions) Συνθήκες που πρέπει να ισχύουν πριν την εκτέλεση κάποιου τμήματος κώδικα (π.χ. μεθόδου). Μετασυνθήκες (postconditions) Συνθήκες που ξέρουμε πως θα ισχύουν μετά την εκτέλεση κάποιου τμήματος κώδικα. Αναλλοίωτα χαρακτηριστικά Είδη μοντέλων Μοντέλα πληροφοριών, π.χ. 2

ER UML (συσχετίσεις) Μοντέλα δομής, π.χ. Διάγραμμα κλάσεων (class diagram) Διάγραμμα αντικειμένων (object diagram) Διάγραμμα εξαρτημάτων (component diagram) Διάγραμμα ανάπτυξης (deployment diagram) Μοντέλα συμπεριφοράς, π.χ. Διάγραμμα καταστάσεων (statechart diagram) Διάγραμμα δραστηριοτήτων (activity diagram) Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα συνεργασίας (collaboration diagram) Ανάλυση μοντέλων Πληρότητα Συνέπεια Ορθότητα Ιχνηλασιμότητα Αλληλεπιδράσεις Ευρετικές μέθοδοι τεχνολογίας λογισμικού Δομημένη ανάλυση και σχεδιασμός Μέθοδοι μοντελοποίησης δεδομένων Αντικεμενοστρεφής ανάλυση και σχεδιασμός Τυπικές μέθοδοι τεχνολογίας λογισμικού Γλώσσες προδιαγραφών 3

Τυπικός έλεγχος (formal verification) Λογική τεκμηρίωση (logical inference) Πρωτότυπα Είδη Σε χαρτί Εκτελέσιμη προδιαγραφή Κώδικας που θα πεταχτεί Κώδικας που θα εξελιχθεί Στόχος Προδιαγραφές Αρχιτεκτονική Αλγόριθμος UI Ευέλικτες μέθοδοι Rapid Application Development (RAD) Ακραίος προγραμματισμός (XP) Scrum Feature-Driven Development (FDD) Μανιφέστο για την ευέλικτη ανάπτυξη λογισμικού Ανακαλύπτουμε καλύτερους τρόπους ανάπτυξης λογισμικού στην πράξη και βοηθάμε τους άλλους να κάνουν το ίδιο. Αυτή η δραστηριότητα μας έχει οδηγήσει στο να αξιολογούμε: Tα άτομα και τις αλληλεπιδράσεις πάνω από τις διαδικασίες και τα εργαλεία Tο λογισμικό που λειτουργεί πάνω από την εκτενή τεκμηρίωση Tην συνεργασία με τον πελάτη πάνω από τις συμβατικές διαπραγματεύσεις 4

Tην ανταπόκριση στην αλλαγή πάνω από την τήρηση ενός προδιαγεγραμμένου σχεδίου Χαρακτηριστικά του ακραίου προγραμματισμού Ο προγραμματισμός σε ζευγάρια Η συγγραφή ελέγχων μονάδος πριν από τον κώδικα. Η συνεχής ολοκλήρωση και ο συνεχής έλεγχος του κώδικα (πολλές φορές μέσα στην ημέρα). Η βαθμιαία εξέλιξη του σχεδίου του έργου. Η γρήγορη παραγωγική χρήση του συστήματος για την εκμαίευση των απαιτήσεων με το μεγαλύτερο όφελος για τον πελάτη. Χαρακτηριστικά της Scrum Scrum master διοικεί τις ενέργειες Sprint < 30 ημέρες Product Backlock Item Προϋπολογισμός Επιλογή Καθημερινές συναντήσεις Διεργασία FDD (Feature-Driven Development) Μοντέλο του προϊόντος Κατάλογος χαρακτηριστικών Πλάνο υλοποίησης χαρακτηριστικών Σχέδιο ανά κύκλο Ανά χαρακτηριστικό: 5

Υλοποίηση Έλεγχος Ολοκλήρωση ## Προετοιμασία για το επόμενο μάθημα (1) * Διαβάστε το κεφάλαιο 10 του SWE- BOK v 3.0 * Άσκηση (Ποιότητα λογισμικού) Για ένα δημοφιλέςσημαντικό έργο ανοιχτού λογισμικού απαντήστε τα ακόλουθα. 6

* Πώς γίνεται έλεγχος της ποιότητας λογισμικού που αναπτύσσεται; * Ποιοι παράγοντες επίδρασης και ποια χαρακτηριστικά ποιότητας είναι σημαντικότερα για τις απαιτήσεις ποιότητας λογισμικού; * Πώς μετράται η ποιότητα του λογισμικού που αναπτύσσεται; 7

Μπορείτε να αντλήσετε στοιχεία από τον πηγαίο κώδικα και την τεκμηρίωση του έργου. Αν δε βρίσκετε στοιχεία για κάποια από τα παραπάνω αυτό ίσως σημαίνει ότι δεν έγιναν στα πλαίσια του έργου που μελετάτε. Πως πιστεύετε ότι θα έπρεπε να γίνουν; 8

Προετοιμασία για το επόμενο μάθημα (2) Βίντεο (Ποιότητα λογισμικού: Διαβεβαίωση ποιότητας λογισμικού) https://www.youtube.com/watch?v=hmfpcdf07ha&list=plz Άδεια διανομής Εκτός αν αναφέρεται κάτι διαφορετικό, όλο το πρωτότυπο υλικό της σελίδας αυτής του οποίου δημιουργός είναι ο Διομήδης Σπινέλλης παρέχεται σύμφωνα με τους όρους της άδειας Creative Commons Αναφορά-Παρόμοια διανομή 3.0 Ελλάδα. 9