05 Ανάλυση Απαιτήσεων

Σχετικά έγγραφα
05 Ανάλυση απαιτήσεων

03 Ανάλυση Απαιτήσεων και Σχεδιασμός Λογισμικού

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Απαιτήσεις Λογισμικού

02α Διαχείριση Έργων Λογισμικού

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

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

Αρχιτεκτονική Λογισμικού

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

Πολιτικές Ασφάλειας Πληροφοριακών Συστημάτων. Σωκράτης Κ. Κάτσικας Τμήμα Μηχ/κών Πληροφοριακών & Επικοινωνιακών Συστημάτων Πανεπιστήμιο Αιγαίου

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Εισαγωγή στην. Γιάννης Σμαραγδάκης

12 Έλεχος και επαλήθευση λογισμικού

Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες

10α Έλεγχος και επαλήθευση λογισμικού

ΙΔΡΥΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΡΕΥΝΑΣ (ITE)

Κεφάλαιο 7: Τεχνολογία Λογισμικού

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

Αρχιτεκτονική Υπολογιστών

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

ISMS κατά ISO Δεκέμβριος 2016

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

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

ΕΡΓΑΣΙΑ: Ετήσιας Συντήρησης και Υποστήριξης Λειτουργίας Δημοτικής Διαδικτυακής Πύλης

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Όροι Χρήσης της IBM Όροι για Συγκεκριμένες Προσφορές SaaS. IBM Bluemix Garage Services

Πληροφορική 2. Τεχνολογία Λογισμικού

ΥΠΟΔΟΧΗ ΠΡΩΤΟΕΤΩΝ ΦΟΙΤΗΤΩΝ Παρουσίαση του Τµήµατος

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

Πολιτική Ασφαλείας Δεδομένων Πιστοποίηση ISO 27001:2013 από την TÜV Austria Hellas

Η ενίσχυση των δικαιωμάτων στην πράξη & τα εργαλεία συμμόρφωσης για τη μετάβαση από το ν.2472/1997 στον ΓΚΠΔ

Εκπόνηση σχεδίων. 1a. Διαδικασία Εκκίνησης (Project Initiation) Επιχειρηματικό σχέδιο έργου (Project Business Case)

Η Διαλειτουργικότητα στην Υπηρεσία του Πολίτη

ΠΙΝΑΚΑΣ ΚΡΙΤΗΡΙΩΝ ΑΞΙΟΛΟΓΗΣΗΣ. Τίτλος Κριτηρίου. Α.1 Οργανωτική Δομή - Οικονομικά στοιχεία 10%

723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας

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

Ενδιάμεσο πληροφοριακό σύστημα αξιολόγησης μαθημάτων: λειτουργία και συμπεράσματα

Σχεδιαστής Ιστοσελίδων

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι

Εισαγωγή στη Δασική Πληροφορική

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape

Φάση 3: Λεπτομερής Σχεδιασμός

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: Στόχος Σκοπός μαθήματος

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

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

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

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

Οι περιπτώσεις χρήσης

Έλεγχος Λογισμικού. Software Testing

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Π3.1 ΣΧΕΔΙΟ ΑΞΙΟΛΟΓΗΣΗΣ

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

Η Διαδικασία Σχεδιασμού Συστημάτων

Αρχιτεκτονική Υπολογιστών

Καλώς ήλθατε στην παρουσίαση του έργου SmartGov.

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

Κεφάλαιο 3 Η στρατηγική της λειτουργίας της παραγωγής

Κριτήρια πρόβλεψης. της ποιότητας εκπαιδευτικού λογισμικού : αξιολόγηση της μάθησης σε συνδυασμό με την ευχρηστία

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

Βασικά Στοιχεία Διαχείρισης Έργων

ΑΠΟΦΑΣΗ. (αριθμ.: 53 /2009)

Ολοκληρωμένο Πληροφοριακό Σύστημα Εξυπηρέτησης Πολιτών και Παρόχων

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Διαχείριση Ετερογενών Δικτύων

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΨΗΦΙΑΚΕΣ ΒΙΒΛΙΟΘΗΚΕΣ. Σαράντος Καπιδάκης

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

2.3 Κριτήρια Ανάθεσης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ- ΤΜΗΜΑ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΠΤΥΞΗΣ, ΜΑΘΗΜΑ: ΔΙΑΧΕΙΡΙΣΗ ΑΝΘΡΩΠΙΝΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΠΟΡΩΝ- ΧΡΙΣΤΟΣ ΑΠ.

κώστας βεργίδης εισαγωγή στις βασικές έννοιες των επιχειρησιακών διεργασιών γραφείο 322 κτίριο Γ

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

14o ΕΤΗΣΙΟ ΣΥΝΕΔΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΨΗΦΙΑΚΩΝ 16/10/2012

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΑΓΡΟΤΙΚΗΣ ΑΝΑΠΤΥΞΗΣ (ΟΠΣΑΑ): ΒΑΣΙΚΕΣ ΑΡΧΕΣ

Προγραμματισμός και στρατηγική διοίκηση. 4 ο Κεφάλαιο

Βασικά Στοιχεία Διαχείρισης Έργων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

Εισαγωγή στην Τεχνολογία Λογισμικού

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

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία. Ενότητα 11: Αξιολόγηση Σχεδίασης Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διοίκηση Ολικής Ποιότητας. Τα Πρότυπα Ποιότητας ISO9000, HCACP

Οµοσπονδία HEAL-Link. Παράρτηµα - 4. Εικονικός Οργανισµός Προέλευσης (VHO) Περιγραφή της υπηρεσίας. Πολιτική Εγγραφής

ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Για να φτάσεις ψηλά, στοχεύεις ψηλότερα

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

ΔΙΟΙΚΗΣΗ ΕΡΓΩΝ Ο Ρ Ι Σ Μ Ο Ι Γ Ε Ν Ι Κ Ε Σ Ε Ν Ν Ο Ι Ε Σ. ΡΟΜΠΟΓΙΑΝΝΑΚΗΣ ΙΩΑΝΝΗΣ, PhD.

Υπηρεσία εγκατάστασης και εκκίνησης HP για το HP Insight Control

Τ.Ε.Ι. ΚΡΗΤΗΣ, Σ.Δ.Ο., Τμήμα Λογιστικής. Business Processes

Έλεγχος Συστημάτων Πληροφορικής

Transcript:

05 Ανάλυση Απαιτήσεων Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr

Περιεχόμενα 1. Οι απαιτήσεις λογισμικού και τα είδη τους 2. Από την ανάλυση απαιτήσεων στη σύνταξη των προδιαγραφών και ο ρόλος του επικεφαλής μηχανικού Software Architect 2

1. Ανάλυση απαιτήσεων 3

Απαιτήσεις λογισμικού Συνήθως είναι ανεξάρτητες από την τεχνολογία υλοποίησης. Απαίτηση: Τι θέλουμε να κάνει το λογισμικό Ικανοποίηση απαίτησης: Πώς το λογισμικό καλύπτει την απαίτηση σχεδιαστική απόφαση και υλοποίηση. Εκτός, βέβαια, αν η υποστήριξη κάποιας τεχνολογίας είναι ρητή απαίτηση 4

Είδη απαιτήσεων Λειτουργικές απαιτήσεις Μη λειτουργικές απαιτήσεις Απαιτήσεις συστήματος Αναδυόμενες απαιτήσεις 5

Λειτουργικές απαιτήσεις Οι απαιτήσεις της λειτουργίας του λογισμικού συνήθως η νέα λειτουργικότητα που πρέπει να αναπτυχθεί στο πλαίσιο του έργου Παραδείγματα: διαπίστευση και δικαιοδοσία χρηστών, επιχειρησιακή λογική, περιπτώσεις και σενάρια χρήσης, διαχειριστικές λειτουργίες 6

Διαπίστευση χρηστών user authentication Σημεία εισόδου στο σύστημα entry points μηχανισμοί διαπίστευσης χρηστών Επιβεβαίωση ότι ο χρήστης είναι: "υπαρκτός" π.χ. ο λογαριασμός του είναι εγγεγραμμένος στον "πίνακα" των χρηστών της ΒΔ "έγκυρος" π.χ. γνωρίζει το προσωπικό του "μυστικό" που έχει συνδεθεί με το λογαριασμό του "ενεργός" π.χ. δεν έχει απενεργοποιηθεί από το διαχειριστή 7

Δικαιοδοσία χρηστών user authorization Διαχείριση δικαιωμάτων: ποιος χρήστης επιτρέπεται να εκτελέσει ποια ενέργεια. Στατική ή δυναμική ανάθεση/ανάκληση δικαιωμάτων; Ρόλοι Access Control Lists ACLs Guards 8

Επιχειρησιακή λογική business logic Οι επιχειρησιακές διαδικασίες business processes Οι επιχειρησιακοί κανόνες business rules Μερική ή πλήρης "ηλεκτρονικοποίηση" των λειτουργιών του οργανισμού 9

Πιο απλά Τα υποστηριζόμενα σενάρια και περιπτώσεις χρήσης use cases του λογισμικού Οι ενέργειες, λειτουργίες και διαδικασίες που εκτελούν οι χρήστες μέσω του συστήματος 10

Διαχειριστικές λειτουργίες administrative functions Ποιες είναι οι διαχειριστικές λειτουργίες; Πώς εκτελούνται; Θα παραμετροποιούνται από το χρήστη και πόσο; 11

Λειτουργίες αναφορών reporting requirements Τι αναφορές απαιτούνται ; Πόσο παραμετροποιήσιμες πρέπει να είναι; Ποιος έχει δικαίωμα να τις προσπελαύνει; 12

Μη λειτουργικές απαιτήσεις Απαιτήσεις για ποιοτικά χαρακτηριστικά του λογισμικού Διαθεσιμότητα Ανάνηψη από καταστροφές Ασφάλεια Ακεραιότητα Ευελιξία Επεκτασιμότητα Απόδοση Απροκρισιμότητα Υποστήριξη διεθνών προτύπων Καθορίζουν σε μεγάλο βαθμό την επιτυχία του έργου 13

Απαιτήσεις συστήματος Απαιτήσεις σχετικές με το "σύστημα" ή το "περιβάλλον" στο οποίο εντάσσεται το υπό ανάπτυξη λογισμικό π.χ. μπορεί να είναι συστατικό ενός μεγαλύτερου όλου Απαιτήσεις υλικού, απαιτήσεις δικτύου, κ.ά 14

Αναδυόμενες απαιτήσεις Ποιοτικά χαρακτηριστικά που προκύπτουν από την ένταξη του λογισιμικού στο "σύστημα" ή "περιβάλλον" και αναφέρονται στη λειτουργία του ως όλον. 15

Στην πράξη Στην πράξη, κάποιες απαιτήσεις μπορεί να βρίσκονται "κάπου ανάμεσα" στα παραπάνω είδη Αλλά αυτό ποικίλει ανάλογα με το υπό ανάπτυξη λογισμικό, το περιβάλλον λειτουργίας του και τους εμπλεκόμενους φορείς χρήστες του Ας δούμε μερικά παραδείγματα 16

Τήρηση ημερολογίων audit tracking Ποιες ενέργεις καταγράφονται σε ημερολόγια; Σε ποιο βαθμό λεπτομέρειας; Για ποιο σκοπό και με ποια τελική χρήση; 17

Μαζική εισαγωγή / εξαγωγή δεδομένων Data import / export Απατείται η μαζική εισαγωγή / εξαγωγή δεδομένων; Θα παραμετροποιείται από το χρήστη και πόσο; Ποιοι μορφότυποι αρχείων / δεδομένων θα πρέπει να υποστηρίζονται; 18

Υποστήριξη διεθνούς προτύπου Ανάλογα με την περίπτωση, μπορεί να επηρεάζει: Ένα συγκεκριμένο συστατικό Ένα υποσύνολο των συστατικών Το σχεδιασμό συνολικά 19

Διαλειτουργικότητα interoperability Το υπό ανάπτυξη σύστημα θα διαλειτουργεί με τρίτα συστήματα; Τι είδους δεδομένα θα ανταλλάσονται; Με ποιους μηχανισμούς, μορφότυπους και πρωτόκολλα; 20

Νομικές ή κανονιστικές απαιτήσεις Το υπό ανάπτυξη σύστημα θα πρέπει να είναι σύννομο προσωπικά δεδομένα, πνευματικά δικαιώματα, κτλ. Το υπό ανάπτυξη σύστημα μπορεί να διέπεται από συγκεκριμένο νομικό ή κανονιστικό πλαίσιο για παράδειγμα, πληροφοριακά συστήματα δημοσίου τομέα. 21

Ορισμός των απαιτήσεων Σαφήνεια η απαίτηση είναι σαφώς διατυπωμένη Συνέπεια η μία απαίτηση δεν αντιβαίνει με την άλλη Πληρότητα η απαίτηση καλύπτει όλες τις περιπτώσεις Επαληθευσιμότητα η απαίτηση μπορεί να ελεγχθεί σε σχέση με την υλοποίηση 22

Επίσης Σε μεγάλα έργα Καταγωγή/γενεαλογία απαίτησης Ποιος τη ζήτησε Ποιον επιχειρησιακό στόχο εξυπηρετεί Για παράδειγμα, θα πρέπει να γνωρίζει η ομάδα του έργου αν "το ζητάει ο διευθυντής" 23

Έγγραφο ανάλυσης απαιτήσεων Περιγραφή σε φυσική γλώσσα: Σκοπός του συστήματος Κατηγορίες χρηστών users & stakeholders Εμβέλεια του συστήματος Περιορισμοί Παραδοχές Απαιτήσεις λειτουργικές ή μη 24

2. Από την ανάλυση απαιτήσεων στη σύνταξη των προδιαγραφών και ο ρόλος του επικεφαλής μηχανικού Software Architect 25

Ζητούμενα από το κείμενο των τεχνικών προδιαγραφών Να προσδιορίσουν τον τρόπο με τον οποίο το λογισμικό θα ικανοποιήσει τις απαιτήσεις 26

Συγκεκριμένα Αρχιτεκτονικός σχεδιασμός και συστατικά του λογισμικού Σαφής περιγραφή της αλληλεπίδρασης του λογισμικού με το παραγωγικό του περιβάλλον production environment Λεπτομερής προδιαγραφή των λειτουργιών και των διαδικασιών που υποστηρίζονται από το λογισμικό Σύνδεση των προδιαγραφών με τις απαιτήσεις πηγή/ προέλευση προδιαγραφής Καθορισμός κριτηρίων αποδοχής / απόρριψης τμημάτων ή όλου του συστήματος 27

Έλεγχοι αποδοχής acceptance tests Έλεγχοι που καθορίζουν την αποδοχή ή την απόρριψη συστατικών ή λειτουργιών ή "οθονών" του λογισμικού Είναι καλή πρακτική να έχουν προβλεφθεί μερικώς ή πλήρως στις προδιαγραφές Ένας από τους κύριους στόχους ένταξης ελέγχων στον κύκλο του λογισμικού είναι η ελαχιστοποίηση των σφαλμάτων που θα προκύψουν κατά τους ελέγχους αποδοχής 28

Σχεδιαστικές αποφάσεις Για να μετατραπούν οι υψηλού επιπέδου απαιτήσεις του λογισμικού Σε χαμηλού επιπέδου τεχνικές προδιαγραφές αυτού Θα πρέπει να παρθούν συγκεκριμένες σχεδιαστικές αποφάσεις 29

Δηλαδή Οι τεχνικές προδιαγραφές μοντελοποιούν τις απαιτήσεις εντός ενός οριοθετημένου σχεδιαστικού / αρχιτεκτονικού πλαισίου Δεν είναι πάντα εφικτό ο σχεδιασμός / αρχιτεκτονική να έχουν ολοκληρωθεί μέχρι τελευταίας λεπτομέρειας Από την άλλη δεν είναι αποδεκτό να προκύψει στην πορεία υλοποίησης μιας προδιαγραφής ένα ζήτημα που θα "ακυρώσει" το σχεδιασμό Το ότι θα τον αλλάξει είναι σχεδόν βέβαιο! 30

Σχεδιαστικές αποφάσεις Οι αποφάσεις σχετικά με κάποια πτυχή του λογισμικού που είναι "ακριβό" ή "δύσκολο" να αλλάξουν άπαξ και παγιωθούν. 31

Θυμηθείτε 32

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

Θυμηθείτε από την εισαγωγή Στα μεγάλα έργα λογισμικού εμπλέκονται πολλοί συμμετέχοντες: Χρήστες Πελάτες Διοίκηση ακόμα και Μέτοχοι ή Επενδυτές Αναλυτές Προγραμματιστές Δοκιμαστές Σχεδιαστές διεπαφών Υπεύθυνοι έργου κτλ. 34

Ο ρόλος του Software Architect Διαχείριση της πολυπλοκότητας 50% αρχιτεκτονική ουσιώδης πολυπλοκότητα 50% επικοινωνία τεχνητή πολυπλοκότητα με τους stakeholders με την επιχειρησιακή ομάδα έργου Project Manager, Business Analyst, κ.ά με την ομάδα ανάπτυξης engineers 35

Κοινή γλώσσα Κάθε ένας από τους συμμετέχοντες έχει διαφορετικές εμπειρίες, βιώματα, αφετηρίες, στόχους και επιδιώξεις από την υλοποίηση του έργου Η ομάδα ανάπτυξης, η επιχειρησιακή ομάδα και οι stakeholders του έργου μάλλον "θα μιλάνε" σε διαφορετικές γλώσσες Ο Architect θα πρέπει να κάνει το διερμηνέα και να "μιλάει" τη γλώσσα και των τριών 36

Ιεράρχηση απαιτήσεων Δεν είναι όλες οι απαιτήσεις εξίσου σημαντικές Μια μικρή θεωρητικά απαίτηση μπορεί να οδηγήσει το έργο εκτός δρόμου/στόχου Η ομάδα ανάπτυξης ή η επιχειρησιακή ομάδα μπορεί να μη δώσουν προσοχή "αφού το ζητάει ο πελάτης" Ο stakeholder ενδέχεται να μην το καταλάβει Ο Architect πρέπει να το διαγνώσει έγκαιρα και να προτείνει εναλλακτικές 37

Αντίστοιχα Μια "ακριβή" απαίτηση μπορεί να έχει πιο "φθηνή" εναλλακτική Μια "σύνθετη" απαίτηση μπορεί να έχει πιο "απλή" εναλλακτική κ.ο.κ 38

Προσοχή Ο ασφαλέστερος τρόπος να αποτύχει ένα έργο είναι να επιτραπεί στις "λάθος" απαιτήσεις να γίνουν προδιαγραφές! 39

Συμπέρασμα Ο Architect θα πρέπει να έχει απευθείας επαφή με τους stakeholders Αναλύοντας και διαμορφώνοντας μαζί με την επιχειρησιακή ομάδα του έργου τις απαιτήσεις Ενώ παράλληλα σχεδιάζει το σύστημα Για να είναι σε θέση να φιλτράρει τις "λάθος" απαιτήσεις Και να μεταφράσει τις υπόλοιπες σε προδιαγραφές για την ομάδα ανάπτυξης 40

The belief that complex systems require armies of programmers and designers is wrong. A system that is not understood in its entirety, or at least to a significant degree of detail by a single individual, should probably not be built. N. Wirth 41

Superman By J.Schulenklopper, E. Rommes 42

Για να γίνεις Superman! Ενσυναίσθηση empathy : Για τις ανάγκες και τους προβληματισμούς όλων των εμπλεκόμενων Τεχνική αρτιότητα: Γι την επιλογή αρχιτεκτονικής / τεχνολογίας που να είναι συμβατή με τις ανάγκες του έργου και τις ικανότητες της ομάδας Επικοινωνιακή ικανότητα: Για τη συνεχή επικοινωνία με όλους τους εμπλεκόμενους για την εύρεση των βέλτιστων συμβιβασμών trade offs Εμπειρία: Για να μπορούν να γίνουν καλά όλα τα παραπάνω Ενδεικτικά 43