Ιεράρχηση Απαιτήσεων Λογισμικού με Εφαρμογή Διαδικασιών Λήψης Αποφάσεων Μεγάλης Κλίμακας υποστηριζόμενες από Τεχνικές των Ασαφών Συνόλων και των Συστημάτων Συστάσεων

Software Requirements Prioritization through applying Large Scale Decision Making supported by Fuzzy Sets and Recommender Systems (Αγγλική)

  1. MSc thesis
  2. Tzimos, Dimitrios
  3. Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα (ΠΛΣ)
  4. 31 Μαρτίου 2021 [2021-03-31]
  5. Αγγλικά
  6. 135
  7. Gerogiannis, Vassilis
  8. Vasilakopoulos, Michail | Sakkopoulos, Evangelos
  9. Software Requirements Prioritization | Intuitionistic Fuzzy Sets | Recommender Systems | Large Scale Decision Making | Software Project
  10. 2
  11. 61
  12. 32 figures, 33 tables
    • Η ιεράρχηση απαιτήσεων είναι μια σημαντική διαδικασία της μηχανικής απαιτήσεων λογισμικού, η οποία στοχεύει να ταξινομήσει ή να κατηγοριοποιήσει τις υποψήφιες απαιτήσεις για την επόμενη έκδοση ενός υπό ανάπτυξη συστήματος λογισμικού. Η ιεράρχηση απαιτήσεων εφαρμόζεται συχνά επαναληπτικά, σύμφωνα με συγκεκριμένα κριτήρια και με την συμμετοχή πολλών ενδιαφερόμενων μερών με διαφορετικούς ρόλους, ανάγκες, γνώσεις και υπόβαθρο. Καθώς ο αριθμός των υποψηφίων απαιτήσεων αυξάνεται, οι ενδιαφερόμενοι μπορεί να έχουν δυσκολίες ή αβεβαιότητα στην ακριβή και αντικειμενική ιεράρχηση όλων των απαιτήσεων. Οι ενδιαφερόμενοι ενδέχεται επίσης να έχουν χρονικούς περιορισμούς για να εξετάσουν από κοινού όλες τις υποψήφιες απαιτήσεις, ενώ συχνά έχουν δυσκολίες να συζητήσουν και να επιτύχουν συναίνεση σχετικά με την τελική προτεραιότητα των απαιτήσεων. Τα προβλήματα που συναντώνται κατά τη διάρκεια της ιεράρχησης ενός μεγάλου αριθμού απαιτήσεων μπορούν να αντιμετωπιστούν ακολουθώντας μια συστηματική διαδικασία λήψης αποφάσεων μεγάλης κλίμακας. Ο σκοπός της εργασίας είναι να παρουσιάσει μια διαδικασία ιεράρχησης απαιτήσεων, υπό πολλαπλά κριτήρια, δομημένη στη θεωρία λήψης αποφάσεων μεγάλης κλίμακας και με την χρήση των διαισθητικά ασαφών συνόλων (IFS). Τα IFS χρησιμοποιούνται για την παρουσίαση της αβεβαιότητας και του δισταγμού των συμμετεχόντων σχετικά με την εκτίμηση της σπουδαιότητας κάθε απαίτησης ως προς τα κριτήρια ιεράρχησης. Η διαδικασία υποστηρίζεται από ένα σύστημα συστάσεων, το οποίο παρέχει χρήσιμες προτάσεις στους συμμετέχοντες και τους καθοδηγεί να επιτύχουν συνεργατικά τη συναίνεση για την ιεράρχηση των υποψηφίων απαιτήσεων. Η προτεινόμενη διαδικασία υλοποιείται στην γλώσσα προγραμματισμού Python και επικυρώνεται χρησιμοποιώντας ένα πραγματικό σύνολο δεδομένων έργου λογισμικού, καθώς και ένα ενδεικτικό παράδειγμα. Τα αποτελέσματα είναι υποσχόμενα, καθώς αποδεικνύουν ότι η προτεινόμενη διαδικασία μπορεί να υποστηρίξει αποτελεσματικά πολλούς συμμετέχοντες για την ιεράρχηση μεγάλου αριθμού απαιτήσεων υπό πολλαπλά κριτήρια, ενώ συνδυάζει την επεκτασιμότητα και την ευελιξία με την ευκολία χρήσης.
    • Requirements Prioritization (RP) is an important process in software requirements engineering, which aims to rank or categorize all candidate requirements to be included in the next release of a software system under development. RP is often applied iteratively, according to various prioritization criteria, by multiple project stakeholders who may have different roles, needs, knowledge and background. As the number of candidate requirements gets larger, the involved stakeholders may have difficulties and uncertainty in accurately and objectively prioritizing all requirements. Stakeholders may also have time constraints to collaboratively examine all requirements in question and often have difficulties to discuss and reach a consensus on the final requirements’ priorities. The challenges encountered during the RP of a large size of candidate requirements can be addressed by following a systematic Large Scale Decision Making (LSDM) process. The aim of this dissertation is to present an LSDM-structured RP process which applies multi-criteria evaluation based on Intuitionistic Fuzzy Sets (IFSs). IFSs are utilized to represent and consider stakeholders’ uncertainty and hesitation regarding the criteria importance and requirements ratings. The LSDM structured RP process is supported by a Recommender System (RS), which provides useful suggestions to stakeholders, through analyzing the large number of possible options, and also guides them to collaboratively reach consensus for the prioritization of the candidate requirements. The proposed RP process is implemented using Python and validated using an illustrative artificial dataset and a real software project dataset as well. The results are promising since they demonstrate that the suggested process can effectively support multiple stakeholders in order to prioritize a large number of requirements under multiple criteria, while combining scalability and flexibility with ease of use.
  13. Items in Apothesis are protected by copyright, with all rights reserved, unless otherwise indicated.