Μετά από μία συζήτηση που είχα σήμερα στο MediaCamp2 με τον συνάδελφο Γιώργο Κασσελάκη σχετικά με το Enterprise Architect της Sparx Systems, ήθελα να μοιραστώ μαζί σας την χρήση αυτού του εργαλείου.
Το ανακάλυψα φέτος για μία εργασία Τεχνολογίας Λογισμικού στο αντίστοιχο πρόγραμμα του μεταπτυχιακού μου και μπορώ να πώ ότι ήταν πολύ καλή λύση για όσα θέλαμε να κάνουμε, ανακαλύπτωντας σε κάθε βήμα πόσες περισσότερες δυνατότητες έχει από όσες το θέλαμε για τις ανάγκες της εργασίας μας. To Enterprise Architect είναι μία ολοκληρωμένη σουιτα από CASE functionality. Case tools είναι κατά βάση τα εργαλεία που βοηθούν την διαδικασία ανάπτυξης λογισμικού καθόλες τις φάσεις ανάπτυξης, από Requirements Engineering μέχρι τελικό deployment modeling, εξοπλισμένο με πλήρες tracing από τα requirements μέχρι την υλοποίηση.
Είναι χτισμένο πάνω στο 2.1 specification της UML αλλά δεν περιορίζεται μέχρι εκεί. Περιέχει extensions για modeling domain όπως για παράδειγμα, modeling επιχειρησιακών διαδικασιών μέσω workflows κτλ.
Υποστηρίζει τα παρακάτω διαγράμματα:
Structural Diagrams:
• Class
• Object
• Composite
• Package
• Component
• Deployment
Behavioral Diagrams:
• Use Case
• Communication
• Sequence
• Interaction Overview
• Activity
• State
• Timing
Extended:
• Analysis (simple activity)
• Custom (for requirements, change, UI)
Επίσης έχει ένα αρκετά εύχρηστο κομμάτι για Versioning που πιστεύουμε ότι καλύπτει και τις πιο απαιτητικές ανάγκες. Στην εργασία μας, εμείς, είχαμε στήσει SVN version control (υποστηρίζει και SCC) όπου ενώ ο κάθε ένας μας είχε το βασικό αρχείο του project, υπήρχε εκ των έσω επικοινωνία με το server κομμάτι, πραγματοποιώντας τα commit και τα update under the hood. Το κομμάτι του versioning ήταν πολύ σημαντικό για εμάς και μας διευκόλυνε άπειρα. Το EA παράγει και αντιστρέφει (reverse engineer) κώδικα από τις γλώσσες: C++, C#, Java, Delphi, VB.Net, Visual Basic, ActionScript, PHP and Python. Η δική μας προσέγγιση ήταν με ASP.NET και C# και από την έρευνα που κάναμε, το αποτέλεσμα που είδαμε στο generation ήταν ότι ήταν το καλύτερο από πλευράς παραγωγής κώδικα (πράγμα που επιβεβαίωσαν και άλλοι, πιο έμπειροι από εμάς, στον χώρο). Βέβαια για να μπορέσει ο κώδικας να είναι όσο ποιο πλήρης γίνεται απαιτήται εξαντλητική συμπλήρωση απαραίτητων πεδίων (π.χ., παράμετροι, τιμές, τύποι δεδομένων, …)
Ένα πολύ σημαντικό addon (που εμείς δεν χρησιμοποιήσαμε, αλλά με την πρώτη ευκαιρία θα το αγοράσω για προσωπική χρήση) ήταν το MDG Integration, μία καταπληκτική δυνατότητα σύνδεσης του IDE (Visual Studio ή Eclipse) με το EA. Με αυτό, χωρίς να ξέρω πολλά, υπάρχουν δυνατότητες, για Model Driven Architectures, style transformations, Real Time execution με ταυτόχρονο reflection στα UML μοντέλα. Αλλαγές στον κώδικα ή στα σχήματα γίνονται αυτόματα sychronize και πάρα πολλά άλλα, που καλώ όποιον έχει πληροφορίες να τις μοιραστεί μαζί μας.
Το καλύτερο από όλα είναι ότι το Enterprise Architect Professional Edition κοστίζει 200$ και αν πάρετε το academic version (με έπίδειξη φοιτητικής ταυτότητας ή κάτι άλλο που να πιστοποιεί ότι είστε φοιτητής από Πανεπιστήμιο) η τιμή πέφτει στα 105$ που είναι πραγματικά απίστευτο για ένα τέτοιο εργαλείο.
Το προτείνω ανεπιφύλακτα και στόχος μου είναι οτιδήποτε χρειαστεί να το κάνω με αυτό το εργαλείο, για να μπορέσω να αξιοποιήσω/κατανοήσω όσες περισσότερες δυνατότητές του μπορώ.
Πάρα πολύ ωραία, σήμερα, η πρώτη μέρα στο MediaCamp2 (μία φοβερή πρωτοβουλία που φέρνει κοντά και ενώνει όσους ασχολούμαστε με τεχνολογία, από όποια φιλοσοφία και αν έχουμε υιοθετήσει). Ο χώρος είναι ένα από τα πιο ευχάριστα και φωτεινά μέρη που έχω δει (Microsoft Innovation Center), που ευγενικά παραχώρησε η MS Hellas.
Μοιραστήκαμε ιδέες και ενδιαφέροντα τόσο μέσω ομιλιών όσο και στα μικρά πηγαδάκια που σχηματίζονταν ανά τους ορόφους. Προσωπικά παρακολούθησα ομιλίες σχετικά με Drupal όπου ακολούθησε και ωραία συζήτηση για διάφορα Web Frameworks, για code conventions, Windows Mobile Development, WPF, Expression Design, Expression Blend, ASP.NET και την εισαγωγή σε αυτή τη νέα στροφή στο development που “ακούει” στον όρο Cloud Computing, μέσω της νέας οικογένειας υπηρεσιών της Microsoft (Windows Azure realm ;) ).
Αναμένω με αγωνία την δεύτερη μέρα, καθώς δεν υπάρχει κάτι καλύτερο από το να γνωρίζεις διαφορετικές τεχνολογίες και ταυτόχρονα έμπειρους εκφραστές τις.
Για όσους ενδιαφέρονται να έρθουν αύριο μπορούν να περάσουν ότι ώρα θέλουν ώστε ή να παρακολουθήσουν, ή να συζητήσουν ή ακόμα και να παρουσιάσουν την δουλειά τους και ότι τους τρελλαίνει. Πληροφορίες μπορείτε να βρείτε και μέσω Facebook.