Η παρούσα διδακτορική διατριβή εστιάζει στον τομέα της σημασιολογικής διαχείρισης γνώσης στην ανάπτυξη λογισμικού και προτείνει μια προσέγγιση που βασίζεται στον κύκλο ζωής της διαχείρισης γνώσης ο οποίος αποτελείται από τα ακόλουθα δομικά συστατικά: αναγνώριση, ανάκτηση, ανάπτυξη, διανομή, διατήρηση και χρήση της γνώσης. Ο κύριος ερευνητικός στόχος της διατριβής είναι η ανάπτυξη και εφαρμογή μιας καινοτόμου προσέγγισης για τη διαχείριση γνώσης στην ανάπτυξη λογισμικού, καθώς και η σχεδίαση, ανάπτυξη και αξιολόγηση ενός συστήματος διαχείρισης γνώσης που βοηθά τους προγραμματιστές λογισμικού και στηρίζεται σε τεχνολογίες κοινωνικών σημασιολογικών επιφανειών εργασίας. Λαμβάνοντας υπόψη τα προβλήματα των υπαρχόντων μεθόδων για διαχείριση γνώσης στον τομέα της ανάπτυξης λογισμικού, είναι προφανές ότι χρειάζονται καινούριες πρακτικές για να καταστεί πιο εύκολη η εκμετάλλευση της γνώσης σε εταιρείες ανάπτυξης λογισμικού. Το κύριο πρόβλημα είναι ότι παρόλο που η ρητή γνώση αποθηκεύεται και επαναχρησιμοποιείται, η άρρητη γνώση παραμένει στους προγραμματιστές και σπάνια επαναχρησιμοποιείται από άλλους υπαλλήλους μέσα στην εταιρεία ανάπτυξης λογισμικού.
Η συμβολή της διατριβής εντοπίζεται σε τρία βασικά θέματα:
• Μια προσέγγιση για τη διαχείριση γνώσης στην ανάπτυξη λογισμικού (υποστηρίζοντας τους προγραμματιστές σε ολόκληρο τον κύκλο ζωής διαχείρισης γνώσης) εκμεταλλευόμενη τεχνολογίες κοινωνικών σημασιολογικών επιφανειών εργασίας (social semantic desktops)
• Ένα σημασιολογικό σύστημα διαχείρισης γνώσης (KnowBench) που υποστηρίζει τους προγραμματιστές στην καθημερινή τους εργασία. Το KnowBench απαρτίζεται από τα ακόλουθα μέρη:
o Χειροκίνητη και ημιαυτόματη σημασιολογική επισημείωση
o Επεξεργασία γνωσιακής βάσης
o Διαμοιρασμός μετα-δεδομένων με χρήση ομότιμων δικτύων (P2P)
o Σημασιολογική αναζήτηση
o Σημασιολογικό Wiki ανάπτυξης λογισμικού (DevWiki)
o Πλοήγηση στη γνωσιακή βάση χρησιμοποιώντας γραφική αναπαράσταση
• Αθροιστική (summative) αξιολόγηση του KnowBench εφαρμόζοντας τη μέθοδο Goal-Question-Metric (GQM) στο feedback για τον υπολογισμό των στόχων της αξιολόγησης σε τέσσερεις οργανισμούς (INTRASOFT, LIPSZ, THALES, TXT)
This doctoral thesis focuses on the domain of semantic-based knowledge management in software development and proposes an approach that is based on the knowledge management lifecycle which is synthesized by the following building blocks: identification, acquisition, development, distribution, preservation, and use of knowledge. The main research goal of the thesis is the development and application of an innovative approach for managing knowledge in software development, as well as the design, development and evaluation of a knowledge management system that aids software developers and is powered by social semantic desktop technologies. Considering the problems of the existing methods for managing knowledge in the software development domain, it is prominent that new practices are needed in order to better exploit knowledge in software development houses in an easier and more flexible manner. The main problem is that even though explicit knowledge is captured and reused, implicit knowledge remains in the developers’ heads and is seldom reused by other employees inside the software development company.
The contribution of this thesis is constituted by three main topics:
• An approach towards managing knowledge in software development (supporting developers in the whole knowledge management lifecycle) by exploiting social semantic desktop technologies
• A semantic-based knowledge management system (KnowBench) that assists software developers in their daily work. KnowBench is constituted by the following parts:
o Manual and semi-automatic semantic annotation
o Knowledge base editing
o Meta-data sharing using P2P services
o Semantic search
o Software Development semantic Wiki (DevWiki)
o Knowledge base graph-based browsing
• KnowBench’s summative evaluation by applying the Goal-Question-Metric (GQM) method on the collected feedback for the calculation of the evaluation goals in four organizations (INTRASOFT, LIPSZ, THALES, TXT)