Η σωστή σύνταξη των λειτουργικών απαιτήσεων αποτελεί ϐασική προϋπόθεση για την ανάπτυξη ενός έργου λογισµικού. Σφάλµατα στον ορισµό των λειτουργικών απαι τήσεων και ο ορισµός ελλιπούς λειτουργικότητας αποτελούν τα σηµαντικότερα προ ϐλήµατα που οδηγούν στην αποτυχία της διαδικασίας ανάπτυξης λογισµικού. Ο µη ολοκληρωµένος ορισµός των λειτουργικών απαιτήσεων έχει ως αποτέλεσµα τον λανθασµένο προγραµµατισµό των απαραίτητων εργασιών και ακολούθως την αποτυχία της υλοποίησης του έργου λογισµικού. Η παρούσα διπλωµατική εργασία αρχικά συγκεντρώνει ένα σύνολο δεδοµένων από λειτουργικές απαιτήσεις έργων λογισµικού από διάφορες πηγές. Σε πρώτο στάδιο ορίζεται η οντολογία που καλείται να περιγράψει την στατική όψη ενός έργου λογισµικού. Οι οντότητες που ορίζονται εντοπίζονται στις λειτουργικές απαιτήσεις του συνόλου δεδοµένων και δίνεται η δυνατότητα της αποδοτικής αποθήκευσης των δεδοµένων µε τη µορφή της οντολογίας. Σε επόµενο στάδιο γίνεται χρήση αλγορίθµων µηχανικής µάθησης µε στόχο την ε ξαγωγή προτάσεων ϐελτίωσης σε όλα τα επίπεδα ανάλυσης απαιτήσεων λογισµικού. Για την αξιολόγηση της απόδοσης των αλγορίθµων, µετά την εκπαίδευσή τους στο σύνολο δεδοµένων, δέχονται ως είσοδο ένα νέο έργο λογισµικού µε µη ολοκληρωµένη λειτουργικότητα και εξετάζεται η πληροφορία που εξάγεται από τον κάθε αλγόριθµο. Πιο συγκεκριµένα, υλοποιείται ο αλγόριθµος Apriori για την εξαγωγή κανόνων συσχέτισης µε στόχο τον εντοπισµό απούσας λειτουργικότητας. Επιπλέον, χρησιµοποιείται ο αλγόριθµος Λανθάνουσας Κατανοµής Dirichlet που εκτελεί τη ϑεµατική µοντελοποίηση των έργων λογισµικού του συνόλου δεδοµένων. Τέλος, γίνεται χρήση ενός αλγορίθµου Ιεραρχικής Οµαδοποίησης κειµένου και συγκρίνονται τα αποτελέσµατά του µε αυτά του προηγούµενου αλγορίθµου.
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
Similaire à Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των ϕάσεων ανάλυσης απαιτήσεων λογισµικού (20)
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τη βελτιστοποίηση των ϕάσεων ανάλυσης απαιτήσεων λογισµικού
1. Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς
διαχείρισης πληροφορίας για τη βελτιστοποίηση των φάσεων
ανάλυσης απαιτήσεων λογισμικού
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών
Υπολογιστών
Επιβλέπων: Ανδρέας Συμεωνίδης
Αν. Καθηγητής Α.Π.Θ.
Αναστάσιος Μουρατίδης
ΑΕΜ: 9040
Θεσσαλονίκη, Μάρτιος 2022
2. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
2
02 Μεθοδολογία
05
Μελλοντική Εργασία
01
Εισαγωγή
04 Συμπεράσματα
03
Αποτελέσματα &
Αξιολόγηση
3. Περιγραφή του προβλήματος
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
3
4. Σκοπός της διπλωματικής
Συλλογή συνόλου δεδομένων με
σωστές λειτουργικές απαιτήσεις
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
4
Αποθήκευση με αποδοτικό τρόπο
Ομαδοποίηση δεδομένων και
συμπεράσματα
Εξαγωγή προτάσεων για νέο έργο
λογισμικού
5. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
5
02 Μεθοδολογία
05
Μελλοντική Εργασία
01
Εισαγωγή
04 Συμπεράσματα
03
Αποτελέσματα &
Αξιολόγηση
6. Μεθοδολογία
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
6
7. Δεδομένα
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
7
• Συλλογή δεδομένων από 4 διαφορετικές πηγές
• Συνδυασμός τεχνικών επεξεργασίας φυσικής γλώσσας και χειροκίνητων παρεμβάσεων για την παραγωγή
δεδομένων με παρόμοια μορφή
A user must be able to create an account by providing a username and a password.
123 Έργα Λογισμικού – 4030 Λειτουργικές Απαιτήσεις
• Καθαρισμός από δεδομένα που δεν εισάγουν χρήσιμη πληροφορία
8. Προεπεξεργασία δεδομένων
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
8
• Απλοποίηση της σύνταξης: Μετατροπή δευτερευουσών προτάσεων σε κύριες
• Μετατροπή παθητικής φωνής σε ενεργητική
• Όλες οι λειτουργικές απαιτήσεις ξεκινούν με
• A user must be able to…
• A user must have the ability to…
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. Οντότητες Οντολογίας
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. Εξαγωγή κανόνων συσχέτισης – Αλγόριθμος Apriori
• Είσοδος: Projects αποθηκευμένα με βάση την οντολογία Actor/Action & Action/Object
• Εξαγωγή κανόνων συσχέτισης για συγκεκριμένες τιμές της υποστήριξης (σ) και εμπιστοσύνης (c)
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
11
𝑆𝑢𝑝𝑝𝑜𝑟𝑡: 𝑠 𝑋 → 𝛶 =
𝜎(𝛸 ∪ 𝛶)
𝛮
𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒: 𝑐 𝑋 → 𝛶 =
𝜎(𝛸 ∪ 𝛶)
𝜎(𝛸)
• Κανόνες → Υπόδειξη απούσας λειτουργικότητας
12. Θεματική Μοντελοποίηση – Αλγόριθμος LDA
• Κατανομή θεμάτων − λέξεων
• Κατανομή εγγράφων − θεμάτων
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
12
13. • Αναπαράσταση λέξεων ως διανύσματα
Ιεραρχική Ταξινόμηση με TF-IDF
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
13
𝑇𝐹(𝑡) =
Αριθμός εμφάνισης του όρου t στο έγγραφο
Αριθμός όρων στο έγγραφο
IDF(𝑡) =
Αριθμός εγγράφων
Αριθμός εγγράφων που περιέχουν τον όρο t
TF−IDF(t) = 𝑇𝐹 𝑡 × 𝐼𝐷𝐹 𝑡
• Απόσταση λέξεων
𝑑𝑖𝑠𝑡 = 1 − 𝑠𝑖𝑚 𝑨, 𝑩 = 1 −
𝑨 ∙ 𝑩
𝑨 ∙ 𝑩
• Υπολογισμός πίνακα Linkage
• Μέθοδος Ward
14. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
14
02 Μεθοδολογία
05
Μελλοντική Εργασία
01
Εισαγωγή
04 Συμπεράσματα
03
Αποτελέσματα &
Αξιολόγηση
15. Έργο Λογισμικού Εισόδου
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
15
• Ημιτελές project: Stereo, εφαρμογή μουσικής με λειτουργικότητα κοινωνικού δικτύου
• 2 παρόμοια projects στο σύνολο δεδομένων: Mob, Spotify
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. Κανόνες για το Stereo
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
17
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. Επιλογή καλύτερων σεναρίων χρήσης
• Υπολογισμός topic coherence για κάθε σενάριο για αριθμό θεμάτων από 2 μέχρι το μήκος
του συνόλου δεδομένων
• Εκπαίδευση των 10 καλύτερων μοντέλων για κάθε σενάριο
• Εισαγωγή του ημιτελούς project σε κάθε μοντέλο
• Απόφαση καλύτερων ομαδοποιήσεων
• Έστω ένα από τα δύο παρόμοια projects να έχει το ίδιο κυρίαρχο θέμα
• Μικρός άλλων projects με το ίδιο κυρίαρχο θέμα
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
19
20. Καλύτερα σενάρια χρήσης
• Σενάριο χρήσης 3, Αριθμός Θεμάτων: 10, 14
• Σενάριο χρήσης 4 , Αριθμός Θεμάτων: 5
• Σενάριο χρήσης 7 , Αριθμός Θεμάτων: 9, 11
• Σενάριο χρήσης 8 , Αριθμός Θεμάτων: 7, 10
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
20
21. Ενδεικτικά: Σενάριο χρήσης 7, αριθμός θεμάτων 9
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
21
• 14 projects στην ομάδα του Stereo
• Και οι 2 παρόμοιες εφαρμογές
22. Ιεραρχική ομαδοποίηση
• Ιεραρχική ομαδοποίηση για τα καλύτερα σενάρια χρήσης του LDA με αντιστοίχιση αριθμού θεμάτων σε
αριθμό clusters
• Ενδεικτικά: Σενάριο χρήσης 7, Αριθμός clusters 9
• 5 projects στην ομάδα του Stereo
• 1 παρόμοια εφαρμογή
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
22
23. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
23
02 Μεθοδολογία
05
Μελλοντική Εργασία
01
Εισαγωγή
04 Συμπεράσματα
03
Αποτελέσματα &
Αξιολόγηση
24. Συμπεράσματα
• Παραγωγή του πρώτου συνόλου δεδομένων λειτουργικών απαιτήσεων
• Αποδοτική εξαγωγή της οντολογίας από τις λειτουργικές απαιτήσεις παρά την απλή προσέγγιση με χρήση
εμπειρικών κανόνων
• Εύκολη δυνατότητα επαναχρησιμοποίησης
• Κανόνες συσχέτισης που υποδεικνύουν επιτυχημένα απούσα λειτουργικότητα
• Καλύτερα αποτελέσματα LDA για τα σενάρια χρήσης που πρότειναν την αφαίρεση της κοινής λειτουργικότητας
• Ιεραρχική ομαδοποίηση: αποδοτικές ομαδοποιήσεις για τα καλύτερα σενάρια χρήσης του LDA
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
24
25. Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
25
02 Μεθοδολογία
05
Μελλοντική Εργασία
01
Εισαγωγή
04 Συμπεράσματα
03
Αποτελέσματα &
Αξιολόγηση
26. Μελλοντική εργασία
Χρήση αλγορίθμου Word2Vec αντί για
τον TF-IDF
Ενσωμάτωση συστήματος προτάσεων
στην πλατφόρμα UseReq
Μάρτιος 2022 Εφαρμογή τεχνικών μηχανικής μάθησης και ευφυούς διαχείρισης πληροφορίας για τη
βελτιστοποίηση των φάσεων ανάλυσης απαιτήσεων λογισμικού
26
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.