Ιεράρχηση Απαιτήσεων, Λειτουργικές – Μη Λειτουργικές Απαιτήσεις, Ανάπτυξη Λογισμικού
1
3
98
εικόνες, πίνακες, σχήματα
Οι υπάρχουσες τεχνικές για την ιεράρχηση των απαιτήσεων λογισμικού που έχουν προταθεί, χρησιμοποιούνται κυρίως για την ιεράρχηση των λειτουργικών απαιτήσεων, ενώ αντιθέτως, η υλοποίηση των μη λειτουργικών απαιτήσεων ταυτόχρονα με τις λειτουργικές είναι κρίσιμος παράγοντας για την επιτυχία ενός συστήματος λογισμικού. Από τις αξιολογήσεις των τεχνικών ιεράρχησης, προκύπτει ότι πολλές τεχνικές παρουσιάζουν ευκολία στη χρήση, βοηθούν στη λήψη αποφάσεων, παρέχουν ακριβή αποτελέσματα, αλλά δεν έχουν εφαρμοστεί σε πραγματικά έργα ανάπτυξης ώστε να φανούν τα αποτελέσματα και οι επιδόσεις τους στην πραγματικότητα και επιπλέον, οι περισσότερες από αυτές δεν είναι επεκτάσιμες, δηλαδή υπάρχει δυσκολία στην εφαρμογή τους με μεγάλο πλήθος απαιτήσεων ή/και μεγάλο πλήθος κριτηρίων. Αποτέλεσμα αυτών είναι η περιορισμένη ικανότητα τους να υποστηρίζουν τη λήψη αποφάσεων σε έναν τόσο περίπλοκο τομέα όπως η ανάπτυξη λογισμικού. Η αξία ενός προϊόντος λογισμικού δεν περιλαμβάνεται σε κάθε απαίτηση αυτή καθαυτή, αλλά γίνεται αντιληπτή κατά τη φάση της χρήσης του συστήματος και επομένως εξαρτάται από το βαθμό κατά τον οποίο ικανοποιούνται οι απαιτήσεις. Έτσι, η επιλογή των μεμονωμένα πιο πολύπλοκων απαιτήσεων που πρέπει να υλοποιηθούν δεν οδηγεί οπωσδήποτε στη μεγιστοποίηση της αξίας του προϊόντος λογισμικού.
Λαμβάνοντας όλα τα παραπάνω υπόψη, η εργασία αυτή έχει ως στόχο τη δημιουργία μιας ολοκληρωμένης διαδικτυακής εφαρμογής, την οποία ονομάσαμε “Re_Prio”, που ιεραρχεί τις απαιτήσεις ενός υπό ανάπτυξη έργου λογισμικού, ενσωματώνοντας την ιεράρχηση των λειτουργικών και μη λειτουργικών απαιτήσεων ως προς τους επιχειρηματικούς στόχους, λαμβάνοντας επιπλέον υπόψη τις μεταξύ τους αλληλεπιδράσεις.
Η μεθοδολογία στην οποία στηρίζεται η προτεινόμενη τεχνική ιεράρχησης που υλοποιείται στην εφαρμογή, χρησιμοποιεί εργαλεία ασαφών πολυκριτηριακών συστημάτων υποστήριξης αποφάσεων ώστε να επεξεργάζεται, ως δεδομένα εισόδου, ποιοτικές αξιολογήσεις που εκφράζονται με γλωσσικούς όρους (linguistic terms) από τους συμμετέχοντες (stakeholders) και να υλοποιεί υπολογισμού που βασίζονται στο μοντέλο αναπαράστασης/υπολογισμού δυάδων ασαφών γλωσσικών μεταβλητών (fuzzy linguistic 2-tuple representation/computation model). Τα αποτελέσματα των υπολογισμών αποτελούν τα δεδομένα εξόδου που παρουσιάζονται ως λίστα ιεραρχημένων απαιτήσεων.
Η προτεινόμενη τεχνική, συνυπολογίζει τις συσχετίσεις των λειτουργικών απαιτήσεων με τους επιχειρηματικούς στόχους και με τις μη λειτουργικές απαιτήσεις, καθώς επίσης, λαμβάνει υπόψη τις αλληλεξαρτήσεις των μη λειτουργικών απαιτήσεων, ώστε να καταλήγει σε ασφαλή συμπεράσματα για το ρίσκο υλοποίησης των απαιτήσεων. Τελικά, παρέχονται στον project manager όλα τα απαραίτητα στοιχεία που αφορούν στην αξία και το ρίσκο υλοποίησης των απαιτήσεων, συμβάλλοντας έτσι το μέγιστο δυνατό στη διαδικασία λήψης αποφάσεων για την τελική ιεράρχηση. Επιπλέον, η εφαρμογή που σχεδιάστηκε λειτουργεί διαδικτυακά, επιτρέποντας στους stakeholders (π.χ. εκπροσώπους χρηστών) να συμμετέχουν στις αξιολογήσεις ακόμα και απομακρυσμένα.
The existing techniques for prioritizing the proposed software requirements are mainly used to prioritize functional requirements, while the implementation of non-functional requirements at the same time as functional ones is a critical factor for the success of a software system. Based on hierarchical methodologies, many techniques are easy to use, help with decision-making, provide accurate results but have not been applied to real development projects to see their results and performance in reality, and most of them are not scalable; there is difficulty in applying them with a large number of requirements and/or a large number of criteria. The result is their limited ability to support decision-making in such a complex area as software development. The value of a software product is not included in each requirement but it is perceived during the use of the system. Therefore, the value depends on the extent to which the requirements are met. Thus, the choice of the most valuable requirements to be implemented does not necessarily lead to the maximization of the value of the software product.
Taking all this into consideration, this work aims to create an integrated web application that we named Re_Prio, that prioritizes the requirements of a software project under development, integrating the hierarchy of functional and non-functional requirements into business objectives, taking also into account the interactions between them.
The methodology used in the proposed hierarchy technique that is implemented by the application, uses the tools of fuzzy multi-critirial decision support systems to process as input data qualitative evaluations expressed by linguistic terms by the stakeholders and to implement calculations based on the fuzzy linguistic 2-tuple representation/computation model. The results of the calculations are the output data presented as a list of prioritized requirements.
The proposed technique takes into account the correlations of functional requirements with business objectives and with non-functional requirements, and also takes into account the interdependencies of non-functional requirements, in order to arrive at safe conclusions about the risk of meeting the requirements. Eventually, the project manager is provided with all the necessary data regarding the value and the risk of implementation of the requirements, thus contributing as much as possible to the decision making process for the final hierarchy. In addition, the designed application works on-line, allowing stakeholders (eg, user representatives) to participate in evaluations remotely.
Hellenic Open University
Items in Apothesis are protected by copyright, with all rights reserved, unless otherwise indicated.
Κύρια Αρχεία Διατριβής
Ανάπτυξη τεχνικής για την ιεράρχηση λειτουργικών και μη λειτουργικών απαιτήσεων σε επαναληπτικά έργα ανάπτυξης λογισμικού Περιγραφή: HOU-CS-UGP-2016-24.pdf (pdf)
Book Reader Πληροφορίες: Ιεράρχηση Απαιτήσεων, Λειτουργικές – Μη Λειτουργικές Απαιτήσεις, Ανάπτυξη Λογισμικού Μέγεθος: 6.0 MB
Ανάπτυξη τεχνικής για την ιεράρχηση λειτουργικών και μη λειτουργικών απαιτήσεων σε επαναληπτικά έργα ανάπτυξης λογισμικού - Identifier: 72301
Internal display of the 72301 entity interconnections (Node labels correspond to identifiers)