ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE (Computer Assisted Systems Engineering) Ορισμός: Προγράμματα (λογισμικό) που αυτοματοποιούν ή υποστηρίζουν μια ή περισσότερες φάσεις του κύκλου ανάπτυξης ενός συστήματος. Σκοπός των εργαλείων CASE είναι η επιτάχυνση της διαδικασίας ανάπτυξης και η βελτίωση της ποιότητας του τελικού συστήματος Η τεκμηρίωση που παρέχεται από τα συστήματα CASE υποβοηθά μελλοντικές αλλαγές του συστήματος. Τύποι εργαλείων CASE upper-case : αυτοματοποιούν ή υποστηρίζουν τον στρατηγικό σχεδιασμό (systems planning), την ανάλυση, καθώς και τη γενική σχεδίαση συστημάτων. lower-case: αυτοματοποιούν ή υποστηρίζουν την λεπτομερή σχεδίαση, υλοποίηση, και υποστήριξη συστημάτων. 2 1
Αρχιτεκτονική εργαλείων CASE CASE TOOL Αναλυτές Συστημάτων Κατασκευή Διαγραμμάτων Λεξικό Όρων Σχεδιασμός Πρωτότυπων Εργαλεία Ελέγχου Εργαλεία Τεκμηρίωσης Αυτόματη Παραγωγή Κώδικα μοντέλα όροι περιγραφής συστήματος πρωτότυπες οθόνες αναφορές ποιότητας τεκμηρίωση συστήματος και διαδικασίας υλοποίησης εκτελέσιμος κώδικας ΑΠΟΘΗΚΗ κοινήπροσπέλασηδεδομένων & υποστήριξη πολλών χρηστών μέσω χρήσης server 3 Δυνατότητες Τα εργαλεία CASE προσφέρουν αυτοματοποίηση μίας ή περισσοτέρων φάσεων του κύκλου ανάπτυξης λογισμικού με δυνατότητες: Μοντελοποίησης με χρήση έτοιμων σχημάτων Ελέγχου διαγραμμάτων με κανόνες συντακτικού, έλεγχο εισόδου/εξόδου διαγραμμάτων Παραγωγής κώδικα σε μία τουλάχιστον γλώσσα προγραμματισμού Αντίστροφης ανάπτυξης (από κώδικα σε διάγραμμα) Κυκλικής ανάπτυξης (διάγραμμα-κώδικας-διάγραμμα) Ομαδικής ανάπτυξης (δυνατότητα συνεργασίας και διαχωρισμός εργασιών) Εξαγωγής διαγραμμάτων σε διάφορες μορφές αρχείων 4 2
Πλεονεκτήματα των εργαλείων CASE Αύξηση παραγωγικότητας. αυτοματοποιούν τις περισσότερες από τις διαδικασίες ρουτίνας των κατασκευαστών του συστήματος. Βελτίωση ποιότητας. Υπό την προϋπόθεση ότι οι αναλυτές, σχεδιαστές και προγραμματιστές χρησιμοποιούν σωστές τεχνικές, τα CASE περιορίζουν σημαντικά τα λάθη. Υποστηρίζουν ή διευκολύνουν την τροποποίηση / επέκταση των σχεδιασμένων συστημάτων και τη μετάβαση σε μια νέα μορφή. Βελτίωση τεκμηρίωσης. Τα εργαλεία δημιουργίας και διαχείρισης της τεκμηρίωσης βοηθούν τους κατασκευαστές να ετοιμάζουν εύκολα ολοκληρωμένη και υψηλής ποιότητας τεκμηρίωση. Μείωση της ανάγκης συντήρησης δίνει χρόνο για ανάπτυξη νέων συστημάτων. Τα CASE ανανέωσαν το ενδιαφέρον για την σημασία των μεθοδολογιών. ΗεπιτυχίαενόςCASE εξαρτάται από την σωστή χρήση της μεθοδολογίας 5 Πλεονεκτήματα Είναι κατάλληλα για μεγάλες εφαρμογές, και πολυμελείς ομάδες ανάπτυξης λογισμικού. Προωθούν τη χρήση προτύπων και την τεκμηρίωση. Μπορούν να επιταχύνουν τη διαδικασία της ανάπτυξης παρέχοντας έτοιμο σχεδιασμό της μεθόδου: οι αλληλεξαρτήσεις των διάφορων γλωσσών μοντελοποίησης έχουν ήδη καθοριστεί από τους σχεδιαστές των εργαλείων CASE. Οδηγούν σε καλύτερο σχεδιασμό με την αποφυγή σημαντικών λαθών με τη βοήθεια των μηχανισμών ελέγχου. 6 3
Μειονεκτήματα Έχουν προκαθορισμένο συντακτικό, γραφικές παραστάσεις και σημασιολογία της διάδρασης μεταξύ γλωσσών μοντελοποίησης και συνεπώς μικρότερη ευελιξία. Δεν είναι διαθέσιμα για όλες τις εννοιολογικές μοντελοποιήσεις. Απευθύνονται κυρίως σε αντικειμενοστραφή σχεδιασμό λογισμικού. 7 Γνωστά Εργαλεία για σχεδιασμό UML διαγραμμάτων Rational Rose ArgoUML/ Poseidon Together SmartDraw 8 4
Rational Rose Προηγμένο πακέτο εργαλείων ανάπτυξης λογισμικού βασισμένων στη UML. Κατάλληλο για μεγάλες εταιρίες και έμπειρους χρήστες. Μπορεί να μοντελοποιήσει την αρχιτεκτονική ολόκληρης της εφαρμογής και να τη μετατρέψει σε ένα πλήθος τεχνολογιών. Υποστηρίζει αντικειμενο-σχεσιακή απεικόνιση, παραγωγή λογικών σχημάτων, και μεταξύ άλλων συγχρονισμό κώδικα και μοντέλου για ανάπτυξη σε Java και άλλες γλώσσες προγραμματισμού. 9 ArgoUML / Poseidon Ανοικτού κώδικα. Διαθέσιμο δωρεάν. Κατάλληλο για σχεδιασμό, ανάπτυξη και τεκμηρίωση αντικειμενοστραφών εφαρμογών. 8 από τα 9 διαγράμματα της UML διαγράμματα ακολουθίας θα ενσωματωθούν μελλοντικά. Παρέχει συντακτικό έλεγχο, παραγωγή κώδικα σε Java, αποθήκευση διαγραμμάτων σε μορφή γραφήματος και XMΙ. Κριτική σχεδιασμού με προτάσεις για βελτίωση και λίστα υπενθυμίσεων Θεωρείται εύχρηστο και αξιόπιστο. To Poseidon στηρίχτηκε στο ArgoUML, υποστήριζει όλα τα διαγράμματα και περισσότερες λειτουργίες. Είναι διαθέσιμο σε διάφορες εκδόσεις -και δωρεάν. 10 5
Together Εργαλείο προσανατολισμένο κυρίως στις εφαρμογές ηλεκτρονικού εμπορίου Προσφέρει επεξεργαστή για μοντελοποίηση σε UML, για προγραμματισμό, καθώς και άλλα στοιχεία που υποστηρίζουν την ανάπτυξη λογισμικού. Παρέχει αυτόματη ενημέρωση του κώδικα όταν αλλάζει ένα διάγραμμα και αντίστοιχα ενημέρωση των διαγραμμάτων όταν αλλάζει ο κώδικας. Είναι αρκετά δημοφιλές, λόγω της ευχρηστίας του, αλλά αρκετά ακριβό. 11 SmartDraw Σχεδιαστικό πρόγραμμα που παρέχει μεταξύ πολλών άλλων και διαγράμματα UML Είναι βασισμένο στη διεπαφή των Windows με πολλά από τα στοιχεία του MS office: Δίνει δυνατότητα δημοσίευσης των διαγραμμάτων στην ιστοσελίδα του SmartDraw 12 6
Συγκριτικά Together και Rational Rose, λόγω κόστους απευθύνονται σε επαγγελματίες, όμως θεωρούνται καλά για τυπικές εφαρμογές, αλλά ακατάλληλα για νέες προσεγγίσεις στην ανάπτυξη λογισμικού, αντίθετα με Poseidon κ.ά. λιγότερο δημοφιλή εργαλεία, ίσως λίγο πιο περίπλοκα, τα οποία προσφέρουν ανταγωνιστικά πλεονεκτήματα. ArgoUML και Together θεωρούνται αρκετά λειτουργικά. Rational Rose δε είναι γνωστό για την ευχρηστία και την αξιοπιστία του παρότι ανήκει στην κατηγορία επαγγελματικών εργαλείων. SmartDraw είναι ίσως το πιο απλό και φιλικό προς το χρήστη, αλλά 13 προσφέρει μόνο σχεδιασμό. Χρήσιμες ηλεκτρονικές διευθύνσεις Rational Rose: http://www-306.ibm.com/software/rational/offerings/design.html ArgoUML: http://www.argouml.com/ Poseidon: http://www.gentleware.com/ Smartdraw: http://www.smartdraw.com Together: www.togethersoft.com Haubenschild, F., Crisis Management, Linux Magazine, 2001 http://www.linux-magazine.com/issue/11/case_tools.pdf Smith, R., Evaluating Two Next-Generation UMLTools http://archive.devx.com/uml/articles/smith04/smith04-1.asp Leelou group, Project Planning Document v. 1.0, Jmodeller, http://www.d.kth.se/~md96-ani/jmodeller/ppd.htm Πλεξουσάκης Δ., Εργαλεία Μοντελοποίησης, http://zeus.ics.forth.gr/forth/culturenet/seminar1.html Visio templates for UML Diagrams http://www.objectmentor.com/resources/downloads/index 14 7
Εργαλεία διοίκησης (upper case) PERT chart ένα γραφικό εργαλείο το οποίο παριστάνει τις αλληλεξαρτήσεις ανάμεσα στις εργασίες του έργου με τη μορφή δικτύου. Gantt chart διάγραμμα χρονοπρογραμματισμού των εργασιών το οποίο αντιπαραβάλει τις εργασίες έναντι σε ένα ημερολόγιο 15 Παράδειγμα PERT chart 16 8
Παράδειγμα Gantt Chart 17 Microsoft Project - Pert Chart 18 9
Microsoft Project Gantt Chart 19 10