Δραστηριότητα Απαιτήσεων

advertisement
Απαιτήσεις
REQUIREMENTS
Δρ. Μαρία Ι. Ανδρέου
Περιεχόμενα








Κατανόηση των αναγκών του πελάτη
Η δραστηριότητα των απαιτήσεων
Κατανόηση του πλαισίου (domain)
Το επιχειρησιακό μοντέλο (business model)
Αρχικές απαιτήσεις (Initial requirements)
Αρχική κατανόηση πλαισίου στο: Osbert Oglesby
case study
Το αρχικό επιχειρησιακό μοντέλο του: Osbert
Oglesby case study
Αρχικές απαιτήσεις: στο Osbert Oglesby case
study
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
2
Περιεχόμενο (συνέχ.)









Συνεχίζοντας τη δραστηριότητα των απαιτήσεων:
στο Osbert Oglesby case study
Δραστηριότητα Ελέγχου: στο Osbert Oglesby case
study
Η ΚΑΛΣΙΚΗ φάση Απαιτήσεων
Γρήγορο Πρωτότυπο (Rapid prototyping)
Ανθρώπινοι παράγοντες (Human factors)
Επαναχρησιμοποίηση του rapid prototype
Εργαλεία στη δραστηριότητα των απαιτήσεων
(CASE tools για το requirements workflow)
Μετρικές για τη δραστηριότητα των απαιτήσεων
Προκλήσεις στη δραστηριότητα των απαιτήσεων
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
3
Ο στόχος της Δραστηριότητας των Απαιτήσεων
Requirements Workflow

Κύριος στόχος της πρώτης δραστηριότητας στο
κύκλο ζωής ενός λογισμικού είναι να απαιτηθεί η
ερώτηση

Τι πρέπει να είναι ικανό να κάνει το προϊόν;
(What must the product be able to do?)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
4
Καθορίζουμε ΤΙ χρειάζεται ο πελάτης
(Determining What the Client Needs)
 Misconception



Πρέπει να καθορίσουμε ΤΙ θέλει ο πελάτης
“I know you believe you understood what you think
I said, but I am not sure you realize that what you
heard is not what I meant!”
Πρέπει να καθορίσουμε ΤΙ χρειάζεται ο πελάτης
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
5
Καθορίζουμε ΤΙ χρειάζεται ο πελάτης

Είναι δύσκολο για ένα αναλυτή συστημάτων
(systems analyst) να φανατιστεί (to visualize) ένα
προϊόν λογισμικού και της λειτουργικότητας τους



(συνεχ.)
Το πρόβλημα είναι πολύ χειρότερο για τον πελάτη
Χρειάζεται ένας έμπειρος αναλυτή συστημάτων
για να μπορέσει να εκμαιεύσει κατάλληλες
πληροφορίες από τον πελάτη.
Ο πελάτης είναι η μόνη πυγή για αυτή τη
πληροφόρηση
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
6
Καθορίζουμε ΤΙ χρειάζεται ο πελάτης

(συνεχ.)
Η λύση :
1.
2.
3.
Παίρνουμε τις πρώτες πληροφορίες από το πελάτη
Χρησιμοποιούμε τις αρχικές πληροφορίες σαν είσοδο
στην Unified Process
Ακολουθούμε τα βήματα της Unified Process για να
καθορίσουμε τις ΠΡΑΓΜΑΤΙΚΕΣ ανάγκες του πελάτη
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
7
Η Δραστηριότητα των Απαιτήσεων

Πρώτο, κατανοούμε το πλαίσιο της εφαρμογής
application domain (ή πλαίσιο για συντομία) την οποία
καλούμαστε να αναπτύξουμε


Δεύτερο, χτίζουμε το επιχειρησιακό μοντέλο (business
model)



Δηλ. το συγκεκριμένο περιβάλλον στο οποίο το
στοχευόμενο προϊόν θα λειτουργήσει
Είναι το μοντέλο (ο τρόπος) με τον οποίο λειτουργεί η
επιχείρηση του πελάτη
Τρίτο, χρησιμοποιούμε το επιχειρησιακό μοντέλο για να
κατανοήσουμε και να καθορίσουμε τις ανάγκες και τις
απαιτήσεις του πελάτη
Επανάληψη και σταδιακή εκλέπτυνση των πιο πάνω
βημάτων
Τεχνολογία Υπολογισμού
8
Δρ. Μαρία Ι. Ανδρέου
Ορισμοί

Ανακάλυψη των Απαιτήσεων του πελάτη

Εκμαίευση των Απαιτήσεων


Μέθοδοι: συνεντεύξεις και δημοσκοπήσεις
Εκλέπτυνση και επέκταση των αρχικών
απαιτήσεων

Ανάλυση Απαιτήσεων
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
9
Κατανόηση του Πεδίου

Κάθε μέλος της ομάδας ανάπτυξης ενός
συγκεκριμένου λογισμικού πρέπει να είναι γνώστης
σε μεγάλο βαθμό του πεδίου της εφαρμογής


Είναι ουσιαστικής (καθοριστικής) σημασίας η
διόρθωση της ονοματολογίας (terminology) που
χρησιμοποιείται
Δημιουργία Γλωσσάριου (glossary)

Μια λίστα από τεχνικούς όρους (technical words) που
χρησιμοποιούνται στο πεδίο εφαρμογής του
ζητούμενου λογισμικού και η σημασία τους
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
10
Επιχειρησιακό Μοντέλο
Business Model

Το επιχειρησιακό μοντέλο (business model) είναι μια
περιγραφή της επιχειρησιακής διαδικασίας (business
processes) ενός οργανισμού

Το επιχειρησιακό μοντέλο δείχνει το πως κατανοήσαμε την
επιχείρησης του πελάτη σας σύνολο


Αυτή η γνώση είναι ουσιαστική έτσι ώστε να είναι δυνατό να
συμβουλεύσουμε το πελάτη μας σε σχέση με θέματα
μηχανογράφησης της επιχείρησης του
Ο αναλυτής του συστήματος πρέπει να κατανοεί σε βάθος
και με κάθε λεπτομέρεια όλες τις επιμέρους επιχειρηματικές
λειτουργίες

Χρησιμοποιεί διάφορες τεχνικές για να το επιτύχει αυτό, κυρίως
συνεντεύξεις
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
11
Συνεντεύξεις

Η ομάδα η οποία έχει αναλάβει να εκμαιεύσει τις
απαιτήσεις συναντάται με το πελάτη και με τελικούς
χρήστες του συστήματος για να εξάξει όλες τις
σχετικές πληροφορίες
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
12
Συνεντεύξεις

Υπάρχουν δυο ειδών ερωτήσεις



(συνέχ.)
Κλειστού τύπου ερωτήσεις (Close-ended questions)
 Απαιτούν συγκεκριμένη απάντηση
Ανοικτού τύπου ερωτήσεις (Open-ended questions)
 Ερωτούνται για να ενθαρρύνουν το άτομο το οποίο δίνει τη
συνέντευξη να μιλήσεις ελεύθερα και να εκφράσει όλα όσα
θέλει
Υπάρχουν δυο τύποι Συνεντεύξεων

Δομημένη Συνέντευξη (structured interview)
 Ερωτούνται συγκεκριμένες και προσχεδιασμένες ερωτήσεις


Συχνά κλειστού τύπου ερωτήσεις
Αδόμητη Συνέντευξη (unstructured interview)
 Οι ερωτήσεις θέτονται σε σχέση με τις απαντήσεις που δίνει ο
ερωτώμενος

Τεχνολογία Υπολογισμού
Συχνά είναι ανοικτού τύπου ερωτήσεις
Δρ. Μαρία Ι. Ανδρέου
13
Συνεντεύξεις

Η διαδικασία ετοιμασία και λήψεις μια συνέντευξης
Δεν είναι εύκολη



(συνέχ.)
Μια εντελώς αδόμητη συνέντευξη δεν θα εκμαιεύσει
πολλές χρήσιμες και σχετικές με το έργο πληροφορίες
Το άτομο που παίρνει τη συνέντευξη (και το άτομο που
δίνει τη συνέντευξη) πρέπει να είναι πλήρως γνώστης
του πεδίου της εφαρμογής και να είναι σε εγρήγορση
όλη την ώρα
Μετά την συνέντευξη


το άτομο που πήρε τη συνέντευξη, πρέπει να
ετοιμάσει μια γραπτή αναφορά (written report)
Συνίσταται να δώσει την αναφορά και στο άτομο που
έδωσε την συνέντευξη (για λόγους ελέγχου)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
14
Άλλες Τεχνικές

Οι συνεντεύξεις είναι η πρωτεύων τεχνική

Τα ερωτηματολόγια είναι μια δεύτερη τεχνική και
είναι χρήσιμη όταν πρέπει να ληφθεί υπόψη η
γνώμη πολλών (εκατοντάδων) διαφορετικών
ανθρώπων
Μελέτη (εξέταση) των εντύπων της επιχείρησης για
να κατανοήσουμε πως ο πελάτης μας κάνει μέχρι
τώρα τη δουλειά του

Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
15
Άλλες Τεχνικές

(συνέχ.)
Η Απευθείας παρακολούθηση των εργαζομένων
κατά την διάρκεια εκτέλεσης των καθηκόντων τους
είναι πολλές φορές χρήσιμη στο να κατανοήσουμε
πλήρως την επιχειρηματική διαδικασία

Οι βιντεοκάμερες (Videotape cameras) είναι η
μοντέρνα (σύγχρονη) μορφή της τεχνικής
παρακολούθησης


Όμως, παίρνει πολύ χρόνο να αναλυθούν οι ταινίες (cd)
Οι εργαζόμενοι μπορεί να θεωρούν ότι οι κάμερες
παραβιάζουν με απαράδεκτο τρόπο τα ατομικά τους
δικαιώματα
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
16
Περιπτώσεις Χρήσης (ενός λογισμικού)
Use Cases
 Μια περίπτωση χρήσης (use case) μοντελοποιεί
μια αλληλεπίδραση ανάμεσα στο προϊόν
λογισμικού και στους χρήστες του (που είναι οι
ηθοποιοί -actors)
 Παράδειγμα:
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
17
Περιπτώσεις Χρήσης (ενός λογισμικού)
(συνέχ.)

Ένας ηθοποιός (actor) είναι ένα μέλος του κόσμου έξω από
το (ζητούμενο) προϊόν λογισμικού

Συχνά είναι εύκολο να αναγνωρίσουμε τους ηθοποιούς


Ένας ηθοποιός είναι συχνά ένας χρήστης του λογισμικού
Γενικά, ένας ηθοποιός παίζει κάποιο ρόλο σε σχέση με το
λογισμικό. Ο ρόλος αυτός μπορεί να αφορά



Ένα χρήστη, ή
Κάποιο που κάνει αρχικοποίηση ή
Κάποιο που έχει ένα σημαντικό (καθοριστικό) ρόλο σε κάποια use
case του λογισμικού
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
18
Περιπτώσεις Χρήσης (ενός λογισμικού)
(συνέχ.)

Ένας χρήστης του συστήματος μπορεί να παίξει
περισσότερο από ένα ρόλους

Παράδειγμα: Ένας πελάτης μιας τράπεζας μπορεί
να είναι


A Borrower or
A Lender
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
19
Περιπτώσεις Χρήσης (ενός λογισμικού)
(συνέχ.)

Αντιστρόφως, ένας ηθοποιός μπορεί να συμμετέχει
σε πολλές περιπτώσεις χρήσης του λογισμικού

Παράδειγμα: ένας Borrower μπορεί να είναι
ηθοποιός στις ακόλουθες use cases




The Borrow Money use case;
The Pay Interest on Loan use case; and
The Repay Loan Principal use case
Επίσης, ο ηθοποιός Borrower μπορεί να
αντιπροσωπεύει πολλές χιλιάδες πελατών μιας
τράπεζας
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
20
Περιπτώσεις Χρήσης (ενός λογισμικού)
(συνέχ.)

Ο ηθοποιός σε ένα προϊόν λογισμικού ΔΕΝ
χρειάζεται να είναι πάντα άνθρωπος

παράδειγμα: ένα e-commerce information system
πρέπει να αλληλεπιδρά με ένα credit card
company information system


το credit card company information system είναι ένας
ηθοποιός αν το βλέπουμε από την σκοπιά του ecommerce information system
Το e-commerce information system είναι ένας
ηθοποιός αν το βλέπουμε από την σκοπιά του credit
card company information system
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
21
Περιπτώσεις Χρήσης (ενός λογισμικού)

Ένα ενδεχόμενο πρόβλημα όταν αναγνωρίζουμε
τους ηθοποιούς είναι η:


(συνέχ.)
Επικάλυψη ηθοποιών
Παράδειγμα: προϊόν λογισμικού για νοσοκομεία



Μια περίπτωση χρήσης (use case) έχει σαν ηθοποιό
μια νοσοκόμα (Nurse)
Μια άλλη use case έχει σαν ηθοποιό Ιατρικό
προσωπικό (Medical Staff)
Είναι καλύτερα οι ηθοποιοί να ήταν οι εξής:

Ηθοποιοί: Physician and Nurse
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
22
Περιπτώσεις Χρήσης (ενός λογισμικού)

(συνέχ.)
Εναλλακτικά:

Ο ηθοποιός θα ήταν το Medical Staff με δυο
ιδιόκτητες : Physician and Nurse
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
23
Αρχικές Απαιτήσεις
Initial Requirements
 Οι αρχικές απαιτήσεις βασίζονται στο αρχικό
επιχειρησιακό μοντέλο

Στη συνέχεια εκλεπτύνονται

Οι απαιτήσεις είναι δυναμικές — αλλάζουν συχνά

Διατηρείτε μια λίστα από ενδεχόμενες απαιτήσεις, μαζί
με τις περιπτώσεις χρήσης (use cases) που έχουν
εγκριθεί από τον πελάτη
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
24
Αρχικές Απαιτήσεις


Υπάρχουν δυο κατηγορίες απαιτήσεων
Μια λειτουργική απαίτηση (functional requirement)
καθορίζει μια ενέργεια που το προϊόν λογισμικού
πρέπει να είναι ικανό να εκτελεί


(συνέχ.)
Συχνά εκφράζεται σε σχέση με όρους που αφορούν
είσοδο δεδομένων και έξοδο πληροφοριών από το
σύστημα
Μια Μη-λειτουργική απαίτηση (nonfunctional
requirement) καθορίζει Ιδιότητες του λογισμικού,
όπως


Χρόνος απόκρισης (Response times)
Αξιοπιστία (Reliability)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
25
Αρχικές Απαιτήσεις
(συνέχ.)

Οι λειτουργικές απαιτήσεις χειρίζονται σας μέρος
των δραστηριοτήτων απαιτήσεων και ανάλυσης
(requirements and analysis workflows)

Μερικές μη-λειτουργικές απαιτήσεις θα πρέπει να
περιμένουν (για να διαχειριστούν) μέχρι τη
δραστηριότητα του σχεδιασμού

Λεπτομερείς πληροφορίες για μερικές από αυτές Δεν
είναι διαθέσιμες πριν το τέλος της δραστηριότητας της
ανάλυσης
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
26
Αρχική Κατανόηση του Πεδίου : The Osbert Oglesby Case Study




Ο Osbert Oglesby, είναι ένας έμπορος έργων
τέχνης (Art Dealer), και χρειάζεται ένα προϊόν
λογισμικού για να τον βοηθά στην αγορά και
πώληση πινάκων.
Αρχικά, θα πρέπει να αποκτήσουμε γνώσεις
αναφορικά με το πεδίο της εφαρμογής.
Στη συνέχεια μέσω συνεντεύξεων ο Osbert δίνει
σχετικές πληροφορίες.
Σε ένα γλωσσάρι καταγράφονται ανάμεσα σε άλλα
ορισμοί και όροι που χρησιμοποιεί ο Osbert στην
συνέντευξη.
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
27
Γλωσσάρι: The Osbert Oglesby Case Study
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
28
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study

Ο Osbert θέλει ένα προϊόν λογισμικού, που να
εκτελείται στο laptop του, και θα



Υπολογίζει την μέγιστη τιμή του ποσού που θα πρέπει
να πληρώσει για την αγορά ενός πίνακα
Ανιχνεύει όσο το δυνατό πιο νωρίς νέες τάσεις στην
αγορά τέχνης
Για επίτευξη ικανοποίησης των απαιτήσεων του
Osbert, το λογισμικό που θα αναπτυχθεί θα πρέπει
να διατηρεί μια εγγραφή για κάθε αγορά και για μια
για κάθε πώληση.
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
29
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνέχ.)

Μέχρι τώρα, ο Osbert δημιουργεί στο χέρι
αναφορές σχετικά με τις ετήσιες πωλήσεις και
αγορές του


Με μικρό πρόσθετο κόστος, το λογισμικό που θα
αναπτυχθεί μπορεί να δημιουργεί και να τυπώνει
αυτές τις δυο αναφορές όταν τις ζητήσει ο Osbert
Είναι ΠΟΛΥ σημαντικό να κατανοήσετε και να
καθορίσετε τις ΠΡΑΓΜΑΤΙΚΕΣ ανάγκες του πελάτη
από την αρχή, και όχι μετά την παράδοση του
προϊόντος λογισμικού
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
30
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνεχ.)

Ο Osbert έχει τρις επιχειρηματικές δραστηριότητες:



Αγοράζει πίνακες
Πουλά πίνακες
Παράγει (ετοιμάζει) αναφορές (reports)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
31
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνεχ.)
 Buy a Painting use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
32
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνεχ.)
 Sell a Painting use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
33
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνέχ.)
 Produce a Report use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
34
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνεχ.)
 For conciseness, all three use cases are combined
into a use-case diagram
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
35
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνέχ.)

Το μόνο άτομο που χρησιμοποιεί το τρέχον σύστημα
(χειροποίητο) είναι ο Osbert



Ο Osbert είναι λοιπών ηθοποιός σε όλες τις
περιπτώσεις χρήσης (use cases)
Ο πελάτης πουλητής αρχικοποιεί την Buy a
Painting περίπτωση χρήσης και ο πελάτης αγοραστής
την Sell a Painting περίπτωση χρήσης
Ο πελάτης παίζει κρίσιμο ρόλο και στις δυο
περιπτώσεις χρήσης παρέχοντας δεδομένα που
εισάγονται στο προϊόν λογισμικό από τον Osbert

Ο πελάτης είναι λοιπόν ηθοποιός και στις δυο αυτές use
cases
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
36
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνέχ.)
 Buy a Painting use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
37
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνέχ.)

Sell a Painting use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
38
Τα αρχικό επιχειρησιακό μοντέλο: The Osbert Oglesby
Case Study
(συνέχ.)

Produce a Report use case
Figure 10.10
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
39
Αρχικές Απαιτήσεις : The Osbert Oglesby Case Study

Το αρχικό επιχειρησιακό μοντέλο (δηλ., οι τρις use cases)
δείχνει πως κάνει ο Osbert τη δουλεία του μέχρι τώρα

Στη συνέχεια πρέπει να παρθεί απόφαση για το ποιες από
αυτές τις use cases είναι επίσης απαιτήσεις του προϊόντος
λογισμικού που θα αναπτυχθεί


Είναι ξεκάθαρο ότι και οι τρις αυτές use cases είναι απαιτήσεις
Το επόμενο βήμα είναι εκλέπτυνση των αρχικών
απαιτήσεων

Οι περιγραφές των use cases πρέπει να επεκταθούν και να
εκλεπτυνθούν
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
40
Αρχικές Απαιτήσεις : The Osbert Oglesby Case Study

(συνέχ.)
Buy a Painting use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
41
Αρχικές Απαιτήσεις : The Osbert Oglesby Case Study

(συνέχ.)
Sell a Painting use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
42
Αρχικές Απαιτήσεις : The Osbert Oglesby Case Study

(συνέχ.)
Produce a Report use case
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
43
Αρχικές Απαιτήσεις : The Osbert Oglesby Case Study
(συνέχ.)

Και οι τρις περιγραφές είναι ακόμα ασαφείς



Είναι συνέπεια της επαναλαμβανόμενης φύσης της
Unified Process
Για παράδειγμα, οι λεπτομέρειες του αλγόριθμου
υπολογισμού της μέγιστης τιμής αγοράς δεν μας
ενδιαφέρουν στο παρόν στάδιο
Βασική αρχή: Να καθυστερείτε να λαμβάνεται
υπόψη σας λεπτομέρειες όσο περισσότερο
μπορείτε

Αυτό θα ευκολύνει τη διαχείριση αλλαγών που θα
προκύψουν στην επόμενη επανάληψη
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
44
Συνέχεια της Δραστηριότητας των Απαιτήσεων : The Osbert Oglesby Case Study

Τώρα χρειάζονται περισσότερες λεπτομέρειες για
κάθε use case

Αρχικά μελετούμε τις use cases



Buy a Painting, και
Sell a Painting
Για να εκλεπτύνουμε, καθορίζουμε ΠΟΙΑ
χαρακτηριστικά πρέπει να εισαχθούν στο σύστημα
(στο λογισμικό) όταν ένας πίνακας αγοράζεται ή
πωλείται
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
45
Χαρακτηριστικά: The Osbert Oglesby Case Study

Χαρακτηριστικά για αγορά πίνακα περιλαμβάνουν :


Τίτλο της δουλειάς, όνομα καλλιτέχνη, ημερομηνία
δημιουργίας, κατηγοριοποίηση, μέσο, τιμή αγοράς,
όνομα και διεύθυνση πουλητή (Title of work, name of
artist, date of painting, classification, medium,
purchase price, name and address of seller)
Χαρακτηριστικά όταν ένας πίνακας πωλείται :

Ημερομηνία πώλησης, όνομα αγοραστή, διεύθυνση
αγοραστή, πραγματική τιμή πώλησης (Date of sale,
name of buyer, address of buyer, actual selling price)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
46
Χαρακτηριστικά: The Osbert Oglesby Case Study (συνέχ.)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
Figure 10.14
47
Συνέχεια της Δραστηριότητας των Απαιτήσεων : The Osbert Oglesby Case Study

Τώρα (στην δεύτερη επανάληψη), λαμβάνουμε
υπόψη μας τον αλγόριθμο υπολογισμού της
μέγιστής τιμής αγοράς

Κατηγοριοποίηση των πινάκων ως:



Masterpiece
Masterwork, or
Other painting
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
48
Μέγιστη τιμή για ένα Masterpiece: The Osbert Oglesby Case Study

Ψάξε παγκοσμίως σε αγοραπωλησίες πινάκων τα
τελευταία 25 χρόνια για την εύρεση της πιο
παρόμοιας δουλείας από τον ίδιο καλλιτέχνη

Χρησιμοποιεία την τελευταία τιμή αγοράς της πιο
παρόμοιας δουλείας σαν βασική τιμή για τον
υπολογισμό της τιμής αγοράς κάποιου πίνακα

Η μέγιστη τιμή αγοράς βρίσκεται προσθέτοντας
8.5% στη βασική τιμή (υπολογιζόμενη κάθε χρόνο),
για κάθε χρόνο που πέρασε από τη χρονιά
τελευταίας πώλησης του πιο παρόμοιου πίνακα
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
49
Μέγιστη τιμή για ένα Masterwork: The Osbert Oglesby Case Study

Υπολόγισε την μέγιστη τιμή αγοράς του πίνακα σας
να ήταν masterpiece από τον ίδιο καλλιτέχνη

Αν ο πίνακας ζωγραφίστηκε τον 21ο αιώνα,
πολλαπλασίασε τη τιμή επί 0.25

διαφορετικά, πολλαπλασίασε με (21 – c)/(22 – c),
όπου c είναι ο αιώνας που το έργο ζωγραφίστηκε
(12 < c < 21)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
50
Μέγιστη τιμή για ένα for an Other Painting: The Osbert Oglesby Case Study


Μετρήστε τις διαστάσει του καμβά
Η μέγιστη τιμή αγοράς δίνεται τότε από τον τύπο F  A,
όπου



F είναι μια σταθερά σχετική με τον καλλιτέχνη, είναι ο
συντελεστής δημοφιλότητας (fashionability coefficient), and
A είναι το εμβαδόν του καμβά σε τετραγωνικά εκατοστά
Αν δεν είναι γνωστός ο συντελεστής δημοφιλότητας του
καλλιτέχνη, ο Osbert δεν αγοράζει τον πίνακα
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
51
Συντελεστής Ομοιότητας : The Osbert Oglesby Case Study

Για ένα masterpiece ή masterwork, ο συντελεστής
ομοιότητας ανάμεσα σε δυο πίνακες υπολογίζεται
να ακολούθως :




Score 1 για ταίριασμα στο μέσο, διαφορετικά 0
Score 1 για ταίριασμα στο θέμα , διαφορετικά 0
Προσθέστε αυτούς τους δυο αριθμούς,
πολλαπλασιάστε με το εμβαδόν του μικρότερου
πίνακα και διαιρέστε με το εμβαδόν του μεγαλύτερου
Ο αριθμός που θα προκύψει είναι ο συντελεστής
ομοιότητας
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
52
Συντελεστής Ομοιότητας: The Osbert Oglesby Case Study (contd)

Αν ο συντελεστής ομοιότητας ανάμεσα στον πίνακα
που μας ενδιαφέρει και σε όλους τους πίνακες στο
αρχείο με δεδομένα για πουλήσεις τα τελευταία
χρόνια είναι 0, τότε ο Osbert δεν αγοράζει τον
πίνακα masterwork or masterpiece
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
53
Συντελεστής Δημοφιλότητας : The Osbert Oglesby Case Study

Το προϊόν λογισμικού πρέπει να περιλαμβάνει μια
λίστα καλλιτεχνών και τις αντίστοιχες τιμές για το F

Οι τιμές του F μπορούν αν αλλάζουν από μήνα σε
μήνα, σε σχέση με την τρέχουσα δημοφιλότητα
κάθε καλλιτέχνη

Ο Osbert καθορίζει τη τιμή του F με βάση τις
γνώσεις και την εμπειρία του

Αλλάζει την τιμή ανάλογα με το αν ανεβαίνουν οι τιμές
για ένα καλλιτέχνη ή αν πέφτουν
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
54
Auction Data: The Osbert Oglesby Case Study

Το προϊόν λογισμικού θα πρέπει να χρησιμοποιεί
πληροφορίες από ενέργειες πώλησης σε
παγκόσμιο επίπεδο masterpieces τα τελευταία 25
χρόνια

Κάθε μήνα ο Osbert λαμβάνει ένα CD με
ενημερωμένες αυτές τις τιμές πολώσεων. Οι τιμές
αυτές ΔΕΝ μεταβάλλονται από τον Osbert
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
55
Updated Use Cases: The Osbert Oglesby Case Study

The use-case descriptions must reflect this
information

The resulting description of the Buy a Painting
use case is shown in Figure 10.14 (see 9 slides
back)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
56
Updated Use Cases: The Osbert Oglesby Case Study

The description of the Sell a Painting use case:
Figure 10.15
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
57
Reports: The Osbert Oglesby Case Study

There are three reports:




Purchases during the past year
Sales during the past year
Detection of new trends
Sample reports show Osbert’s needs are as
follows (question marks in the first or last name of
artist, or in the title or date of the work are to be
included in all reports):
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
58
Report of Purchases during the Past Year: The Osbert Oglesby Case Study

A report is needed to display all the paintings
purchased during the past year

The average ratio of the purchase price to the suggested
maximum price is required at the end of the report
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
Figure 10.16
59
Report of Sales during the Past Year: The Osbert Oglesby Case Study

A report is needed to display all the paintings sold
during the past year

The average ratio of the actual selling price to the
target selling price is required at the end of the report
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
Figure 10.17
60
Report of Trends during the Past Year: The Osbert Oglesby Case Study

A report showing artists whose works Osbert has
sold at a price that has exceeded the target selling
price in every instance during the past year

To appear in this report, at least two of the artist’s
works must have been sold by Osbert during that
period
Figure 10.18
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
61
Updated Use Cases: The Osbert Oglesby Case Study

The updated description of the Produce a Report
use case, incorporating the details listed earlier,
appears in Figure 10.19 (see over)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
62
Updated Use Cases: The Osbert Oglesby Case Study (contd)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
Figure 10.19
63
The Test Workflow: The Osbert Oglesby Case Study

There is a serious omission


The use case for updating a fashionability coefficient
has been overlooked
Missing use case Update a Fashionability
Coefficient
Figure 10.20
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
64
Second Iteration of the Use-Case Diagram: The Osbert Oglesby Case Study

Incorporate all four use cases
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
Figure 10.22
65
The Test Workflow: The Osbert Oglesby Case Study (contd)

The description of the use case Update a
Fashionability Coefficient
Figure 10.21
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
66
The Test Workflow: The Osbert Oglesby Case Study (contd)

A fault was detected



There was a missing use case
The existing artifacts did not need to be changed
Two additional artifacts had to be added


A use case, and
Its description
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
67
The Test Workflow: The Osbert Oglesby Case Study (contd)

The Unified Process is iterative and incremental

Members of the development team must always be
aware that changes and extensions to the current
version of the software product may have to made at
any time
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
68
The Classical Requirements Phase

There is no such thing as “object-oriented
requirements”


The requirements workflow has nothing to do with how
the product is to be built
However, the approach presented in this chapter is


Model oriented, and therefore
Object oriented
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
69
The Classical Requirements Phase (contd)

The classical approach to requirements

Requirements elicitation

Requirements analysis

Construction of a rapid prototype

Client and future users experiment with the rapid
prototype
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
70
Rapid Prototyping

Hastily built (“rapid”)

Imperfections can be ignored

Exhibits only key functionality

Emphasis on only what the client sees


Error checking, file updating can be ignored
Aim:

To provide the client with an understanding of the
product
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
71
Rapid Prototyping (contd)

A rapid prototype is built for change

Languages for rapid prototyping include 4GLs and
interpreted languages
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
72
Human Factors

The client and intended users must interact with
the user interface

Human-computer interface (HCI)



Menu, not command line
“Point and click”
Windows, icons, pull-down menus
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
73
Human Factors (contd)

Human factors must be taken into account





Avoid a lengthy sequence of menus
Allow the expertise level of an interface to be modified
Uniformity of appearance is important
Advanced psychology vs. common sense?
Rapid prototype of the HCI of every product is
obligatory
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
74
Reusing the Rapid Prototype

Reusing a rapid prototype is essentially code-andfix

Changes are made to a working product

Expensive

Maintenance is hard without specification and
design documents

Real-time constraints are hard to meet
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
75
Reusing the Rapid Prototype (contd)

One way to ensure that the rapid prototype is
discarded

Implement it in a different language from that of the
target product

Generated code can be reused

We can safely retain (parts of) a rapid prototype if



This is prearranged
Those parts pass SQA inspections
However, this is not “classical” rapid prototyping
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
76
CASE Tools for the Requirements Workflow

We need graphical tools for UML diagrams


To make it easy to change UML diagrams
The documentation is stored in the tool and therefore
is always available

Such tools are sometimes hard to use

The diagrams may need considerable “tweaking”

Overall, the strengths outweigh the weaknesses
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
77
CASE Tools for the Requirements Workflow (contd)

Graphical CASE environments extended to support
UML include



System Architect
Software through Pictures
Object-oriented CASE environments include



Rose
Together
ArgoUML (open source)
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
78
Metrics for the Requirements Workflow

Volatility and speed of convergence are measures
of how rapidly the client’s needs are determined
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
79
Metrics for the Requirements Workflow (contd)

The number of changes made during subsequent
phases

Changes initiated by the developers


Too many changes can mean the process is flawed
Changes initiated by the client

Moving target problem
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
80
Challenges of the Requirements Phase

Employees of the client organization often feel
threatened by computerization

The requirements team members must be able to
negotiate

The client’s needs may have to be scaled down

Key employees of the client organization may not
have the time for essential in-depth discussions

Flexibility and objectivity are essential
Τεχνολογία Υπολογισμού
Δρ. Μαρία Ι. Ανδρέου
81
Download