Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των ϕάσεων ανάλυσης απαιτήσεων λογισµικού

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 27 Publicité

Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των ϕάσεων ανάλυσης απαιτήσεων λογισµικού

Télécharger pour lire hors ligne

Η σωστή σύνταξη των λειτουργικών απαιτήσεων αποτελεί ϐασική προϋπόθεση για την ανάπτυξη ενός έργου λογισµικού. Σφάλµατα στον ορισµό των λειτουργικών απαι τήσεων και ο ορισµός ελλιπούς λειτουργικότητας αποτελούν τα σηµαντικότερα προ ϐλήµατα που οδηγούν στην αποτυχία της διαδικασίας ανάπτυξης λογισµικού. Ο µη ολοκληρωµένος ορισµός των λειτουργικών απαιτήσεων έχει ως αποτέλεσµα τον λανθασµένο προγραµµατισµό των απαραίτητων εργασιών και ακολούθως την αποτυχία της υλοποίησης του έργου λογισµικού. Η παρούσα διπλωµατική εργασία αρχικά συγκεντρώνει ένα σύνολο δεδοµένων από λειτουργικές απαιτήσεις έργων λογισµικού από διάφορες πηγές. Σε πρώτο στάδιο ορίζεται η οντολογία που καλείται να περιγράψει την στατική όψη ενός έργου λογισµικού. Οι οντότητες που ορίζονται εντοπίζονται στις λειτουργικές απαιτήσεις του συνόλου δεδοµένων και δίνεται η δυνατότητα της αποδοτικής αποθήκευσης των δεδοµένων µε τη µορφή της οντολογίας. Σε επόµενο στάδιο γίνεται χρήση αλγορίθµων µηχανικής µάθησης µε στόχο την ε ξαγωγή προτάσεων ϐελτίωσης σε όλα τα επίπεδα ανάλυσης απαιτήσεων λογισµικού. Για την αξιολόγηση της απόδοσης των αλγορίθµων, µετά την εκπαίδευσή τους στο σύνολο δεδοµένων, δέχονται ως είσοδο ένα νέο έργο λογισµικού µε µη ολοκληρωµένη λειτουργικότητα και εξετάζεται η πληροφορία που εξάγεται από τον κάθε αλγόριθµο. Πιο συγκεκριµένα, υλοποιείται ο αλγόριθµος Apriori για την εξαγωγή κανόνων συσχέτισης µε στόχο τον εντοπισµό απούσας λειτουργικότητας. Επιπλέον, χρησιµοποιείται ο αλγόριθµος Λανθάνουσας Κατανοµής Dirichlet που εκτελεί τη ϑεµατική µοντελοποίηση των έργων λογισµικού του συνόλου δεδοµένων. Τέλος, γίνεται χρήση ενός αλγορίθµου Ιεραρχικής Οµαδοποίησης κειµένου και συγκρίνονται τα αποτελέσµατά του µε αυτά του προηγούµενου αλγορίθµου.

Η σωστή σύνταξη των λειτουργικών απαιτήσεων αποτελεί ϐασική προϋπόθεση για την ανάπτυξη ενός έργου λογισµικού. Σφάλµατα στον ορισµό των λειτουργικών απαι τήσεων και ο ορισµός ελλιπούς λειτουργικότητας αποτελούν τα σηµαντικότερα προ ϐλήµατα που οδηγούν στην αποτυχία της διαδικασίας ανάπτυξης λογισµικού. Ο µη ολοκληρωµένος ορισµός των λειτουργικών απαιτήσεων έχει ως αποτέλεσµα τον λανθασµένο προγραµµατισµό των απαραίτητων εργασιών και ακολούθως την αποτυχία της υλοποίησης του έργου λογισµικού. Η παρούσα διπλωµατική εργασία αρχικά συγκεντρώνει ένα σύνολο δεδοµένων από λειτουργικές απαιτήσεις έργων λογισµικού από διάφορες πηγές. Σε πρώτο στάδιο ορίζεται η οντολογία που καλείται να περιγράψει την στατική όψη ενός έργου λογισµικού. Οι οντότητες που ορίζονται εντοπίζονται στις λειτουργικές απαιτήσεις του συνόλου δεδοµένων και δίνεται η δυνατότητα της αποδοτικής αποθήκευσης των δεδοµένων µε τη µορφή της οντολογίας. Σε επόµενο στάδιο γίνεται χρήση αλγορίθµων µηχανικής µάθησης µε στόχο την ε ξαγωγή προτάσεων ϐελτίωσης σε όλα τα επίπεδα ανάλυσης απαιτήσεων λογισµικού. Για την αξιολόγηση της απόδοσης των αλγορίθµων, µετά την εκπαίδευσή τους στο σύνολο δεδοµένων, δέχονται ως είσοδο ένα νέο έργο λογισµικού µε µη ολοκληρωµένη λειτουργικότητα και εξετάζεται η πληροφορία που εξάγεται από τον κάθε αλγόριθµο. Πιο συγκεκριµένα, υλοποιείται ο αλγόριθµος Apriori για την εξαγωγή κανόνων συσχέτισης µε στόχο τον εντοπισµό απούσας λειτουργικότητας. Επιπλέον, χρησιµοποιείται ο αλγόριθµος Λανθάνουσας Κατανοµής Dirichlet που εκτελεί τη ϑεµατική µοντελοποίηση των έργων λογισµικού του συνόλου δεδοµένων. Τέλος, γίνεται χρήση ενός αλγορίθµου Ιεραρχικής Οµαδοποίησης κειµένου και συγκρίνονται τα αποτελέσµατά του µε αυτά του προηγούµενου αλγορίθµου.

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των ϕάσεων ανάλυσης απαιτήσεων λογισµικού (20)

Publicité

Plus par ISSEL (20)

Plus récents (17)

Publicité

Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των ϕάσεων ανάλυσης απαιτήσεων λογισµικού

  1. 1. Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Επιβλέπων: Ανδρέας Συμεωνίδης Αν. Καθηγητής Α.Π.Θ. Αναστάσιος Μουρατίδης ΑΕΜ: 9040 Θεσσαλονίκη, Μάρτιος 2022
  2. 2. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 2 02 Μεθοδολογία 05 Μελλοντική Εργασία 01 Εισαγωγή 04 Συμπεράσματα 03 Αποτελέσματα & Αξιολόγηση
  3. 3. Περιγραφή του προβλήματος Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 3
  4. 4. Σκοπός της διπλωματικής Συλλογή συνόλου δεδομένων με σωστές λειτουργικές απαιτήσεις Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 4 Αποθήκευση με αποδοτικό τρόπο Ομαδοποίηση δεδομένων και συμπεράσματα Εξαγωγή προτάσεων για νέο έργο λογισμικού
  5. 5. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 5 02 Μεθοδολογία 05 Μελλοντική Εργασία 01 Εισαγωγή 04 Συμπεράσματα 03 Αποτελέσματα & Αξιολόγηση
  6. 6. Μεθοδολογία Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 6
  7. 7. Δεδομένα Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 7 • Συλλογή δεδομένων από 4 διαφορετικές πηγές • Συνδυασμός τεχνικών επεξεργασίας φυσικής γλώσσας και χειροκίνητων παρεμβάσεων για την παραγωγή δεδομένων με παρόμοια μορφή A user must be able to create an account by providing a username and a password. 123 Έργα Λογισμικού – 4030 Λειτουργικές Απαιτήσεις • Καθαρισμός από δεδομένα που δεν εισάγουν χρήσιμη πληροφορία
  8. 8. Προεπεξεργασία δεδομένων Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 8 • Απλοποίηση της σύνταξης: Μετατροπή δευτερευουσών προτάσεων σε κύριες • Μετατροπή παθητικής φωνής σε ενεργητική • Όλες οι λειτουργικές απαιτήσεις ξεκινούν με • A user must be able to… • A user must have the ability to…
  9. 9. Επεξεργασία Φυσικής Γλώσσας - spaCy Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 9 • Τμηματοποίηση σε λέξεις (Tokenization) • Αναγνώριση μέρους του λόγου (Part of speech tagging) • Λημματοποίηση (Lemmatization) • changes, changing, changed → change • Ανάλυση Εξαρτήσεων (Dependency Parsing) • Αφαίρεση stopwords (the, be, have) • spaCy: Open-source βιβλιοθήκη • Γλωσσικά μοντέλα για 64 γλώσσες
  10. 10. Οντότητες Οντολογίας A user must be able to create an account by providing a username and a password. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 10 A user must be able to create an account by providing a username and a password. Object Action Property A user must be able to create an account by providing a username and a password. A user must be able to create an account by providing a username and a password. Actor
  11. 11. Εξαγωγή κανόνων συσχέτισης – Αλγόριθμος Apriori • Είσοδος: Projects αποθηκευμένα με βάση την οντολογία Actor/Action & Action/Object • Εξαγωγή κανόνων συσχέτισης για συγκεκριμένες τιμές της υποστήριξης (σ) και εμπιστοσύνης (c) Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 11 𝑆𝑢𝑝𝑝𝑜𝑟𝑡: 𝑠 𝑋 → 𝛶 = 𝜎(𝛸 ∪ 𝛶) 𝛮 𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒: 𝑐 𝑋 → 𝛶 = 𝜎(𝛸 ∪ 𝛶) 𝜎(𝛸) • Κανόνες → Υπόδειξη απούσας λειτουργικότητας
  12. 12. Θεματική Μοντελοποίηση – Αλγόριθμος LDA • Κατανομή θεμάτων − λέξεων • Κατανομή εγγράφων − θεμάτων Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 12
  13. 13. • Αναπαράσταση λέξεων ως διανύσματα Ιεραρχική Ταξινόμηση με TF-IDF Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 13 𝑇𝐹(𝑡) = Αριθμός εμφάνισης του όρου t στο έγγραφο Αριθμός όρων στο έγγραφο IDF(𝑡) = Αριθμός εγγράφων Αριθμός εγγράφων που περιέχουν τον όρο t TF−IDF(t) = 𝑇𝐹 𝑡 × 𝐼𝐷𝐹 𝑡 • Απόσταση λέξεων 𝑑𝑖𝑠𝑡 = 1 − 𝑠𝑖𝑚 𝑨, 𝑩 = 1 − 𝑨 ∙ 𝑩 𝑨 ∙ 𝑩 • Υπολογισμός πίνακα Linkage • Μέθοδος Ward
  14. 14. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 14 02 Μεθοδολογία 05 Μελλοντική Εργασία 01 Εισαγωγή 04 Συμπεράσματα 03 Αποτελέσματα & Αξιολόγηση
  15. 15. Έργο Λογισμικού Εισόδου Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 15 • Ημιτελές project: Stereo, εφαρμογή μουσικής με λειτουργικότητα κοινωνικού δικτύου • 2 παρόμοια projects στο σύνολο δεδομένων: Mob, Spotify
  16. 16. Κανόνες συσχέτισης για το σετ εκπαίδευσης Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 16 Left Hand Side Right Hand Side Support Confidence user/edit user/search 0.138 0.630 user/search user/view 0.138 0.405 user/create user/search 0.130 0.615 user/delete user/edit 0.122 0.652 user/delete user/search 0.106 0.565 user/search user/select 0.106 0.310 user/create user/delete 0.098 0.462 user/search user/see 0.098 0.286 notify/user system/notify 0.089 0.786 create/account user/create 0.089 0.579 user/delete user/view 0.089 0.478 user/create user/edit 0.089 0.423 user/create user/view 0.089 0.423 login/system user/login 0.081 0.833 system/notify user/search 0.081 0.714 user/add user/delete 0.081 0.455 user/add user/search 0.081 0.455 Left Hand Side Right Hand Side Support Confidence user/add user/select 0.081 0.455 user/login user/search 0.081 0.417 user/edit user/select 0.081 0.370 user/navigate user/search 0.073 0.750 notify/user user/search 0.073 0.643 user/add user/edit 0.073 0.409 user/see user/select 0.073 0.360 user/create user/see 0.073 0.346 user/edit user/view 0.073 0.333 user/rate user/search 0.065 0.727 administrator/delete user/login 0.065 0.571 create/account user/search 0.065 0.421 user/delete user/login 0.065 0.348 user/delete user/select 0.065 0.348 user/login user/logout 0.065 0.333 user/login user/select 0.065 0.333 user/create user/login 0.065 0.308
  17. 17. Κανόνες για το Stereo Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 17
  18. 18. Σενάρια χρήσης LDA Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 18 Νο. Σύνολο δεδομένων Αρχείο εισόδου Φιλτράρισμα λέξεων 1 Ολόκληρο Οντολογία τύπου «all» Όχι 2 Ολόκληρο Ολόκληρα τα Projects Όχι 3 Ολόκληρο Οντολογία τύπου «all» Ναι 4 Ολόκληρο Ολόκληρα τα Projects Ναι 5 Υποσύνολο Οντολογία τύπου «all» Όχι 6 Υποσύνολο Ολόκληρα τα Projects Όχι 7 Υποσύνολο Οντολογία τύπου «all» Ναι 8 Υποσύνολο Ολόκληρα τα Projects Ναι access, account, add, be, change, create, delete, edit, have, information, login, other, provide, search, select, system, that, use, user, see, view, new, update, datum, administrator, log, know, able, ability Φιλτράρισμα Λέξεων • Συχνότερη εμφάνιση στα δεδομένα • Λέξεις που περιγράφουν την κοινή λειτουργικότητα
  19. 19. Επιλογή καλύτερων σεναρίων χρήσης • Υπολογισμός topic coherence για κάθε σενάριο για αριθμό θεμάτων από 2 μέχρι το μήκος του συνόλου δεδομένων • Εκπαίδευση των 10 καλύτερων μοντέλων για κάθε σενάριο • Εισαγωγή του ημιτελούς project σε κάθε μοντέλο • Απόφαση καλύτερων ομαδοποιήσεων • Έστω ένα από τα δύο παρόμοια projects να έχει το ίδιο κυρίαρχο θέμα • Μικρός άλλων projects με το ίδιο κυρίαρχο θέμα Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 19
  20. 20. Καλύτερα σενάρια χρήσης • Σενάριο χρήσης 3, Αριθμός Θεμάτων: 10, 14 • Σενάριο χρήσης 4 , Αριθμός Θεμάτων: 5 • Σενάριο χρήσης 7 , Αριθμός Θεμάτων: 9, 11 • Σενάριο χρήσης 8 , Αριθμός Θεμάτων: 7, 10 Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 20
  21. 21. Ενδεικτικά: Σενάριο χρήσης 7, αριθμός θεμάτων 9 Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 21 • 14 projects στην ομάδα του Stereo • Και οι 2 παρόμοιες εφαρμογές
  22. 22. Ιεραρχική ομαδοποίηση • Ιεραρχική ομαδοποίηση για τα καλύτερα σενάρια χρήσης του LDA με αντιστοίχιση αριθμού θεμάτων σε αριθμό clusters • Ενδεικτικά: Σενάριο χρήσης 7, Αριθμός clusters 9 • 5 projects στην ομάδα του Stereo • 1 παρόμοια εφαρμογή Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 22
  23. 23. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 23 02 Μεθοδολογία 05 Μελλοντική Εργασία 01 Εισαγωγή 04 Συμπεράσματα 03 Αποτελέσματα & Αξιολόγηση
  24. 24. Συμπεράσματα • Παραγωγή του πρώτου συνόλου δεδομένων λειτουργικών απαιτήσεων • Αποδοτική εξαγωγή της οντολογίας από τις λειτουργικές απαιτήσεις παρά την απλή προσέγγιση με χρήση εμπειρικών κανόνων • Εύκολη δυνατότητα επαναχρησιμοποίησης • Κανόνες συσχέτισης που υποδεικνύουν επιτυχημένα απούσα λειτουργικότητα • Καλύτερα αποτελέσματα LDA για τα σενάρια χρήσης που πρότειναν την αφαίρεση της κοινής λειτουργικότητας • Ιεραρχική ομαδοποίηση: αποδοτικές ομαδοποιήσεις για τα καλύτερα σενάρια χρήσης του LDA Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 24
  25. 25. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 25 02 Μεθοδολογία 05 Μελλοντική Εργασία 01 Εισαγωγή 04 Συμπεράσματα 03 Αποτελέσματα & Αξιολόγηση
  26. 26. Μελλοντική εργασία Χρήση αλγορίθμου Word2Vec αντί για τον TF-IDF Ενσωμάτωση συστήματος προτάσεων στην πλατφόρμα UseReq Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 26
  27. 27. Ευχαριστώ πολύ για την προσοχή σας! Ερωτήσεις; Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού 27

Notes de l'éditeur

  • Εδώ μπορείς να πεις ότι με τη βοήθεια την προεπεξεργασίας

    Actor: Πρόκειται για τον δράστη του εκάστοτε project όπως π.χ. Χρήστης - User, ∆ιαχειριστής -Administrator, Σύστημα - System
    Object: Πρόκειται για οποιοδήποτε αντικείμενο ή πόρο πάνω στο οποίο εκτελείται κάποια ενέργεια όπως π.χ. A user must be able to create an account by providing a username and a password.
    Action: Πρόκειται για μια διαδικασία την οποία εκτελεί ο Actor πάνω σε ένα Object όπως π.χ. A user must be able to create an account by providing a username and a password.
    Property: Πρόκειται για οποιαδήποτε ιδιότητα μπορεί να προσδιορίζει το Object όπως π.χ. A user must be able to create an account by providing a username and a password.

×