Software evolution (Εξέλιξη έργων λογισμικού).
Abstract
Η παρούσα διπλωματική εργασία έχει ως βασικό στόχο την ανάπτυξη μιας διαδικτυακής εφαρμογής η οποία προβλέπει τις τάσεις στην ανάπτυξη λογισμικού σε προγράμματα ανοικτού κώδικα. Η πλατφόρμα αυτή σχεδιάστηκε έτσι ώστε να εξυπηρετεί και να ικανοποιεί τις ανάγκες των προγραμματιστών ή ερευνητών που θέλουν να ελέγχουν τα προγράμματα που δημιουργούν και το πόσο τελικά εξελίσσονται με την πάροδο του χρόνου και των νέων εκδόσεων. Η πλατφόρμα έχει δημιουργηθεί για να λειτουργεί τοπικά σε έναν υπολογιστή ή διαδικτυακά αν τοποθετηθεί σε έναν διακομιστή ο οποίος θα έχει την ισχύ ώστε να ελέγχει το λογισμικό που κατασκευάζουν προγραμματιστές. Τα συμπεράσματα τα οποία μπορεί να βγάλει ένας από τους παραπάνω χρήστες είναι σημαντικά για την εξέλιξη του λογισμικού που παράγουν ή και για περαιτέρω έρευνα πάνω σε νέες τάσεις για την ανάπτυξη του λογισμικού έργων διαφόρων παραγωγών.
Ολοένα και περισσότερα λογισμικά γράφονται σε γλώσσες προγραμματισμού όπως η JavaScript. Τα προγράμματα ανοικτού κώδικα συνεχώς εξελίσσονται κάτι που κάνει δύσκολο να προβλεφθεί η επιτυχία και η πορεία αυτών η οποία τελικά επηρεάζεται από ποικίλους τομείς και παράγοντες. Συνεπώς είναι καίριο και απαραίτητο να δημορφωθεί μια πλατφόρμα η οποία θα ελέγχει, θα αναλύει και θα μελετάει τις αλλαγές αυτές με επιτυχία και φυσικά παρέχοντας οφέλη για τους προγραμματιστές αλλά ταυτόχρονα να τροφοδοτεί με στοιχεία μελλοντικές έρευνες.
Συνοψίζοντας τα βασικά στοιχεία αυτής της διπλωματικής εργασίας, επικεντρώνονται σε τέσσερις θεματικούς άξονες. Συγκεκριμένα, στον πρώτο άξονα, γίνεται διερεύνηση και ανάλυση παρόμοιων θεμάτων που αφορούν διάφορα λογισμικά ανοικτού κώδικα και το πως εξελίσσονται από τα χρόνια δημιουργίας τους μέχρι και σήμερα. Τα περισσότερα από αυτά είναι γραμμένα σε γλώσσες προγραμματισμού οι οποίες είναι βασικές και έχουν δημιουργηθεί εδώ και πολλά χρόνια. Επιπλέον, γίνεται ξεκάθαρος ο λόγος και ο στόχος δημιουργίας της έρευνας αυτής και των συστημάτων που την απαρτίζουν για την εύρεση αποτελεσμάτων. Στο δεύτερο άξονα γίνεται η παρουσίαση των απαιτήσεων και τον προγραμμάτων που χρησιμοποιούνται καθώς και στοιχεία για την πλήρη εγκατάσταση αυτών. Στον τρίτο άξονα παρουσιάζεται αναλυτικά η πλατφόρμα και η χρήση της με ακριβή παραδείγματα και επεξηγήσεις για το κάθε σύστημα που έχει δημιουργηθεί. Τέλος, στον τέταρτο άξονα γίνεται ανάλυση και παρουσίαση των αποτελεσμάτων της έρευνας που δημιουργήθηκε με θέμα την «Εξέλιξη Έργων Λογισμικού».
The primary goal of the present Diploma Thesis is the development of a web application that predicts trends in software development in open source programs. This platform was designed to serve and meet the needs of developers or researchers who want to control the applications they create and how they eventually evolve these over time with new releases. The platform has been designed to work locally on a computer or online if it is placed on a server that has the power to control the software that developers build. The conclusions that one of the above users may make is vital for the development of the software they produce or for further research on new trends in the development of the software of various projects developers.
More and more software is written in programming languages such as JavaScript. Open source programs are continually evolving, making it difficult to anticipate success and progress, which is ultimately influenced by a variety of sectors and factors. It is therefore crucial and necessary to develop a platform that will control, analyze and study these changes successfully and of course providing benefits for developers but at the same time supplying data with future research.
Summarizing the essential elements of this Diploma Thesis, we focus on four main topics. Precisely, in the first topic, investigation, and analysis of similar issues related to various open source software and how they evolve from their creation years to the present. Most of them are written in programming languages, which are fundamental and have been created many years ago. Also, the purpose and goal of creating this research and the systems that make up the search for results are clear. The second topic presents the requirements and the programs used as well as data for their complete installation. The third topic shows the platform and its use with precise examples and explanations for each system that has been created. Finally, the fourth topic analyzes and gives the results of the research that was built on the subject of "Software Evolution."