Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ"— Μεταγράφημα παρουσίασης:

1 HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ

2 Τεχνικές Μοντελοποίησης Απαιτήσεων

3 Τεχνικές Μοντελοποίησης Απαιτήσεων
Κλασική Τεχνική Το σύστημα ορίζεται σαν μια συλλογή από διαδικασίες (processes) Οι διαδικασίες δέχονται δεδομένα σαν είσοδο και παράγουν νέα δεδομένα σαν αποτέλεσμα Οι διαδικασίες αλληλεπιδρούν με άλλες (πιθανόν εξωτερικές) διαδικασίες Αντικειμενοστραφής Τεχνική Ένα σύστημα ορίζεται από μια συλλογή αντικειμένων Τα αντικείμενα αλληλεπιδρούν το ένα με το άλλο και με αντικείμενα εξωτερικά προς το σύστημα Τα αντικείμενα στέλνουν μηνύματα, και αντιδρούν σε εισερχόμενα μηνύματα

4 Κλασική Τεχνική Μοντελοποίησης Απαιτήσεων

5 Προοπτική Θεώρηση της Κλασικής Τεχνικής
Διαδικαστική Προοπτική Συστήματος (Process/functional view) : Χρήση Διαγραμμάτων Ροής Δεδομένων (Data Flow Diagrams) Ο σκοπός είναι να ΄δώσουμε μια σχηματική εικόνα των διαδικασιών του συστήματος Δεδομενο-κεντρική Προοπτική Συστήματος (Data-centric view) : Χρήση διαγραμμάτων Οντότητας-Συσχέτισης (Entity-Relation Diagrams) Ο σκοπός είναι να περιγράψουμε τα δομικά στοιχεία του συστήματος τις ιδιότητες τους και τις σχέσεις που έχουν μεταξύ τους Προοπτική της Συμπεριφοράς Συστήματος (Behavior view): Χρήση μηχανών κατάστασης (State machines) Ο σκοπός είναι να περιγράψουμε τη συμπεριφορά του συστήματος σαν ένα σύνολο καταστάσεων

6 Διαγράμματα Ροής Δεδομένων (Data Flow Diagrams)
Δομικά στοιχεία των ΔΡΔ: Εξωτερικοί Δράστες (external agents): Αλληλεπιδρούν με το περιβάλλον του συστήματος, παράγουν και χρησιμοποιούν γεγονότα (events) Παράδειγμα: Χρήστες, δίκτυο, άλλες εφαρμογές Διαδικασίες (processes): Ορίζουν την λειτουργία του συστήματος Αποθήκες Δεδομένων (data stores): Μοντέλα αποθήκευσης δεδομένων Ροές δεδομένων (data flows): δηλώνουν είσοδο/έξοδο δεδομένων σε/από συγκεκριμένες διαδικασίες (processes)

7 Παράδειγμα ΔΡΔ Orders order part_number new_order Customer Validate
Stock

8 ΔΡΔ: Αφαιρετικά Επίπεδα
Τα ΔΡΔ μπορούν να ορισθούν σε διαφορετικά επίπεδα αφαίρεσης (levels of abstraction) Αυτά τα επίπεδα είναι: Επίπεδο 0: Το πιο γενικό επίπεδο. Περιγράφει το σύστημα σαν μια διαδικασία που επικοινωνεί με εξωτερικούς δράστες (context diagram) Επίπεδο 1: Η διαδικασία του Επιπέδου 0 αναλύεται σε υπο-διαδικασίες Επίπεδο 2: Οι διαδικασίες του Επιπέδου 1, αναλύονται σε υπο-διαδικασίες Επίπεδο n: Οι διαδικασίες του Επιπέδου n-1, αναλύονται σε υπο-διαδικασίες. Σε αυτό το αφαιρετικό Επίπεδο είτε οι διαδικασίες είναι πια τόσο απλές που μπορούν πλέον να περιγραφούν είτε με ψευδοκώδικα είτε, με πίνακες αποφάσεων (decision tables)

9 Οδηγίες για Προδιαγραφή ΔΡΔ Επιπέδου 0
Οι βασικές κατευθυντήριες γραμμές για την υλοποίηση των ΔΡΔ Επιπέδου 0 είναι: Κοιτάμε για οντότητες που παράγουν δεδομένα που θα χρησιμοποιηθούν από το σύστημα Κοιτάμε για οντότητες που χρησιμοποιούν δεδομένα από το σύστημα Κοιτάμε για δεδομένα που επηρεάζουν / επηρεάζονται από τη λειτουργία του συστήματος

10 Παράδειγμα ΔΡΔ Επιπέδου 0

11 Οδηγίες για Προδιαγραφή ΔΡΔ Επιπέδου 1
Περιγράφουμε Το σύστημα με περισσότερη λεπτομέρεια (όσον αφορά τις διαδικασίες και τα δεδομένα που ανταλλάσσουν) Τα εξωτερικά δεδομένα που εισάγονται στο σύστημα Τις διαδικασίες του συστήματος που χρησιμοποιούν τα εξωτερικά δεδομένα Τα δεδομένα που εξέρχονται από το σύστημα Οι διαδικασίες που περιγράφονται στο Επίπεδο 1 είναι μια ταξινόμηση / ανάλυση (3-7 υπο-διαδικασίες) της βασικής διαδικασίας που έχει περιγραφεί στο Επίπεδο 0

12 Παράδειγμα ΔΡΔ Επιπέδου 1

13 Περαιτέρω Ανάλυση της Διαδικασίας “PBX”

14 Κομμάτι (segment) του ΔΡΔ που Αντιστοιχεί στο Γεγονός “off hook”

15 Παράδειγμα Ψευδοκώδικα
1. IF the dollar amount of the invoice times the number of weeks overdue is greater than $10,000 THEN: a. Give a photocopy of the invoice to the appropriate salesperson who is to call the customer. b. Log on the back of the invoice that a copy has been given to the salesperson, with the date on which it was done. c. Refile the invoice in the file for examination two weeks from today. 2: OTHERWISE IF more than four overdue notices have been sent THEN: a. Give a photocopy of the invoice to the appropriate salesperson to call the customer. c. Refile the invoice in the file to be examined one week from today. 3: OTHERWISE (the situation has not yet reached serious proportions): ...

16 Παράδειγμα Πίνακα Αποφάσεων

17 Παράδειγμα Πίνακα Αποφάσεων

18 Διαγράμματα Οντότητας-Συσχέτισης (Entity-Relationship Diagram)
ΔΟΣ περιγράφουν αντικείμενα και τις σχέσεις μεταξύ αυτών των αντικειμένων (πραγμάτων) Προτάθηκαν από τον P. Chen το 1976 Ενοποιούν διαφορετικές μεθοδολογίες για τη σχεδίαση σχημάτων βάσεων δεδομένων (hierarchical, network and relational) Στη βιβλιογραφία έχουμε διαφορετικούς τρόπους παρουσίασης των ΔΟΣ, αλλά η ιδέα είναι η ίδια για όλες τις διαφορετικές μορφές παρουσίασης

19 Τα Συστατικά Στοιχεία των ΔΟΣ
Οντότητες-Τύποι (Entities): Τα αρχέτυπα των στοιχείων του συστήματος που μοντελοποιούνται (Π.χ., προμηθευτές, εμπορεύματα, αγοραστές κλπ.). Όπως θα δούμε και αργότερα μπορούμε να έχουμε και ΔΟΣ όπου οι οντότητες δεν είναι τύποι αλλά συγκεκριμένα αντικείμενα. Ορίσματα (Attributes): Χαρακτηριστικά των οντοτήτων (π.χ. Όνομα προμηθευτή, κωδικός εμπορεύματος) Ατομικά - Atomic Σύνθετα - Compound Πολλών Τιμών - Multi-valued Παραγόμενα - Derived Κλειδιά - Key Σχέσεις (Relationships): Σχέσεις ανάμεσα σε δύο ή περισσότερες οντότητες (π.χ. Εμπορεύματα έχουν προμηθευτή)

20 Παράδειγμα ΔΟΣ παρακολουθεί Τύπος Οντότητας (Entity)
(or more precisely: entity set or type) Φοιτητής Μάθημα Όνομα παρακολουθεί Τίτλος Επων. Περιγραφή Κωδικ. Εξάμηνο Σχέση Όρισμα (attribute)

21 Σχέσεις How two or more entities are related (if at all…)
Οι σχέσεις μπορεί να είναι: 1:1 1:N N:M Ολικής κάλυψης Π.χ. Κάθε παιδί έχει μια μητέρα Μερικής κάλυψης Π.χ. Δεν έχουν όλοι οι άνθρωποι παιδιά

22 Η Σημασιολογική Έννοια των ΔΟΣ
Οντότητες αντιστοιχούν σε Τύπους 1 1 Νύφη Γαμπρός Οι σχέσεις υλοποιούνται σε συγκεκριμένα αντικείμενα

23 1-Ν Σχέση 1 n Μητέρα Παιδιά

24 Ν-Μ Σχέση Παππούδες 2 m Εγγόνια

25 Μερική Σχέση 1

26 Σημειογραφία ΔΟΣ Οντότητα Σχέση Ακριβώς Ένα
Πολλά (μηδέν ή περισσότερα) Προαιρετικό (μηδέν ή περισσότερα) +1 Ένα ή περισσότερα 1-3,6 Συγκεκριμένες Τιμές

27 Παράδειγμα ΔΟΣ

28 Μηχανές Κατάστασης (Αυτόματα)
Ένα σύνολο από σήματα εισόδου (input alphabet) Ένα σύνολο από σήματα εξόδου (output alphabet) Ένα σύνολο από καταστάσεις (states) Ένα σύνολο από πιθανές δράσεις Ένα σύνολο από μεταβολές (Κατάσταση x Σήμα  Κατάσταση x Δράση Αρχική κατάσταση Ένα σύνολο τελικών καταστάσεων

29 Παράδειγμα Μηχανής Κατάστασης
off on Lamp On Lamp Off

30 Αποτελέσματα και Δράσεις
Καθώς η μηχανή αλλάζει κατάσταση μπορεί να παράγει και συγκεκριμένα αποτελέσματα και να καλεί συγκεκριμένες δράσεις: on off Lamp On Lamp Off on/print(”on”) Αυτόματο Mealy on off Lamp On print(”on”) Lamp Off Αυτόματο Moore

31 Διευρυμένη Μηχανή Κατάστασης
Χρήση μεταβλητών off on Lamp On Lamp Off on/ctr := ctr + 1 ctr : Integer

32 Guards Selling Happy Unhappy
Οι μεταβολές από κατάσταση σε κατάσταση ενεργοποιούνται με συγκεκριμένες συνθήκες που δεν έχουν παράπλευρες συνέπειες) Selling Unhappy Happy bid [(value >= 100) & (value < 200)] /sell bid [value >= 200] /sell bid [value < 100] /reject


Κατέβασμα ppt "HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google