Skip to main content

Τι είναι η εξέλιξη του λογισμικού;

Η εξέλιξη του λογισμικού είναι μια διαδικασία με την οποία ένα πρόγραμμα εμπορικού υπολογιστή απαιτεί συνεχή ενημέρωση, συντήρηση και βελτίωση με την πάροδο του χρόνου, προκειμένου να παραμείνει ένα βιώσιμο προϊόν.Από την άποψη αυτή, η εξέλιξη του λογισμικού οδηγείται από τις εξωτερικές επιχειρήσεις και τις ανάγκες των καταναλωτών που αλλάζουν καθώς άλλα λογισμικά και τεχνολογίες προχωρούν γύρω από αυτό.Ο παράγοντας οδήγησης πίσω από την εξέλιξη του λογισμικού, ωστόσο, είναι συχνά εσωτερικός που επικεντρώνεται στην ομάδα μηχανικών που παρήγαγε το προϊόν και την εταιρεία που εξαρτάται από την επιτυχία της για την κερδοφορία.Το Imperial College του Λονδίνου, Αγγλία, δημοσίευσε πρώτα τρεις θεμελιώδεις νόμους της εξέλιξης του λογισμικού στις αρχές της δεκαετίας του 1970, οι οποίοι έκτοτε επεκτάθηκαν σε συνολικά οκτώ νόμους από το 2011. Έχουν επίσης γίνει και άλλες προσπάθειες για την ποσοτικοποίηση της διαδικασίας που χρησιμοποιεί μοντέλα όπως όπωςΤο γραμμικό διαδοχικό μοντέλο και το πρωτότυπο μοντέλο, αλλά το πρότυπο που φαίνεται να ταιριάζει καλύτερα στους κύκλους ζωής του λογισμικού είναι αυτό που μοιάζει με τη Δαρβινική εξέλιξη για τα ζωντανά πράγματα.

Οι βασικοί παράγοντες οδήγησης πίσω από τις αλλαγές στην αρχιτεκτονική λογισμικού μοιάζουνΑναβάθμιση βιομηχανικών μηχανημάτων ή τυποποιημένες διαδικασίες λειτουργίας, καθώς οι κοινωνικές ανάγκες αλλάζουν.Καθώς το λογισμικό χρησιμοποιείται όλο και περισσότερο, οι νέες ανάγκες ή λειτουργίες για να γίνουν εμφανές ότι πρέπει να επεξεργαστούν σε μεταγενέστερες κυκλοφορίες του προϊόντος.Όλο το λογισμικό απελευθερώνεται επίσης με προηγουμένως άγνωστα σφάλματα, επομένως πρέπει να διεξαχθούν περιοδικά μπαλώματα και διαδικασίες συντήρησης για να διορθωθούν καταστάσεις όπως τα κενά ασφαλείας που θα μπορούσαν να κάνουν μια εταιρεία ευάλωτη στην επίθεση μέσω του ίδιου του λογισμικού.Ένα κλειδί για την εξέλιξη του λογισμικού είναι επίσης το γεγονός ότι τα προγράμματα αυτά πρέπει να προσαρμοστούν όλο και περισσότερο ώστε να εργάζονται σε διαφορετικούς τύπους αναδυόμενων υπολογιστών και σε διάφορες αρχιτεκτονικές λειτουργικού συστήματος, ώστε το πρόγραμμα να έχει ευρύτερη έκκληση.

Η ικανοποίηση όλων αυτών των αναγκών είναι ζωτικής σημασίας για τον προσδιορισμό εάν ένα πρόγραμμα λογισμικού παραμένει βιώσιμο και, δεδομένου ότι τα περιουσιακά στοιχεία του λογισμικού είναι μια τόσο κρίσιμη πτυχή της οικονομίας της πληροφορίας από το 2011, η εξέλιξη του λογισμικού έχει γίνει μια θεμελιώδη πτυχή της επιχειρηματικής προσαρμογής και ανάπτυξης.Ο Meir Lehman, επιστήμονας υπολογιστών στο Imperial College του Λονδίνου, πιστώνεται με τη δημιουργία νόμων Lehmans, οι οποίοι καθόρισαν συνοπτικά τη διαδικασία της εξέλιξης του λογισμικού και των καθοδηγούμενων προγραμματιστών στην προοπτική της οπτικοποίησης λογισμικού.Οι νόμοι της Lehmans βασίζονται στην προϋπόθεση ότι το λογισμικό εξελίσσεται ως ανατροφοδότηση για τις επιδόσεις του αυξάνεται και ότι η αναπόφευκτη τάση του είναι να γίνει όλο και πιο πολύπλοκη.

Ο Lehman δήλωσε ότι η φύση της εξέλιξης του λογισμικού αντικατοπτρίζει φυσικές αλλαγές όπως η μετάλλαξη στις μύγες φρούτων, ο τρόποςότι οι πόλεις επεκτείνονται με την πάροδο του χρόνου και πώς οι στρατιωτικές δομές βελτιώνουν σταδιακά τα συστήματα όπλων.Οι πρώτοι τρεις νόμοι της διαδικασίας μιμούνται αυτές τις τάσεις στη λεπτομερή συνεχιζόμενη αλλαγή, αυξάνοντας την πολυπλοκότητα και αυτό που είναι γνωστό ως μεγάλη εξέλιξη του προγράμματος.Η συνεχιζόμενη αλλαγή αναφέρεται στο γεγονός ότι το πρόγραμμα πρέπει να προσαρμοστεί ώστε να ανταποκρίνεται στις τρέχουσες επιχειρηματικές συνθήκες του πραγματικού κόσμου και αυτό αντικατοπτρίζει την αυξανόμενη πολυπλοκότητα καθώς το πρόγραμμα πρέπει να ανταποκρίνεται σε μια συνεχώς αυξανόμενη ποικιλία απροσδόκητων αναγκών.Η μεγάλη εξέλιξη του προγράμματος αναφέρεται στην αναγκαιότητα για διόρθωση σφαλμάτων και νέες κυκλοφορίες του προγράμματος που συνδέονται αναπόφευκτα με τις απαιτήσεις της αγοράς.Η ανάπτυξη ενός προγράμματος αναλαμβάνει μια δική του ζωή, ανεξάρτητα από το επίπεδο των πόρων που είναι σκόπιμα αφιερωμένο σε αυτό, και ο αριθμός πέντε είναι η διατήρηση της εξοικείωσης που δηλώνει ότι η αυξημένη ανάπτυξη του προγράμματος είναι αναπόφευκτη.Ο αριθμός έξι στους οκτώ νόμους Lehman συνεχίζει την ανάπτυξη, η οποία είναι απαραίτητη για την ικανοποίηση της ζήτησης των καταναλωτών και ο αριθμός επτά μειώνεται η ποιότητα, γεγονός που τονίζει το γεγονός ότι όλο το λογισμικό αντιμετωπίζει τελικά όρια στη λειτουργικότητα που δεν μπορεί να ανταποκριθεί.Ο τελικός νόμος Lehman για την εξέλιξη του λογισμικού είναι το ίδιο το σύστημα ανάδρασης, το οποίο συνδέει όλες τις δυνάμεις που επηρεάζουν τη βιωσιμότητα ενός προγράμματος λογισμικού για να το οδηγήσουν γρήγορα είτε σε μεγαλύτερη επιτυχία είτε σε αναπόφευκτη απαξίωση και θάνατο.