Διαχείριση Διαμόρφωσης Λογισμικού στη Μηχανική Λογισμικού
⚡ Έξυπνη Σύνοψη
Η Διαχείριση Διαμόρφωσης Λογισμικού (SCM) είναι μια διαδικασία για τη συστηματική διαχείριση, οργάνωση και έλεγχο των αλλαγών σε έγγραφα, κώδικα και άλλα στοιχεία καθ' όλη τη διάρκεια του Κύκλου Ζωής Ανάπτυξης Λογισμικού. Ο κύριος στόχος της είναι η αύξηση της παραγωγικότητας, διατηρώντας παράλληλα...ping λάθη στο ελάχιστο.

Τι είναι η Διαχείριση Διαμόρφωσης Λογισμικού;
Στη Μηχανική Λογισμικού, Διαχείριση Διαμόρφωσης Λογισμικού (SCM) είναι μια διαδικασία για τη συστηματική διαχείριση, οργάνωση και έλεγχο των αλλαγών στα έγγραφα, τους κώδικες και άλλες οντότητες κατά τη διάρκεια του Κύκλου Ζωής Ανάπτυξης Λογισμικού. Ο πρωταρχικός στόχος είναι η αύξηση της παραγωγικότητας με ελάχιστα λάθη. Το SCM αποτελεί μέρος του διεπιστημονικού πεδίου της διαχείρισης διαμόρφωσης και μπορεί να προσδιορίσει με ακρίβεια ποιος έκανε ποια αναθεώρηση.
Γιατί χρειαζόμαστε διαχείριση διαμόρφωσης;
Οι κύριοι λόγοι για την εφαρμογή ενός Συστήματος Διαχείρισης Διαμόρφωσης Τεχνικού Λογισμικού είναι:
- Υπάρχουν πολλά άτομα που εργάζονται σε λογισμικό το οποίο ενημερώνεται συνεχώς.
- Μπορεί να πρόκειται για περίπτωση όπου πολλές εκδόσεις, κλάδοι και συντάκτες εμπλέκονται σε ένα έργο διαμόρφωσης λογισμικού και η ομάδα είναι γεωγραφικά κατανεμημένη και εργάζεται ταυτόχρονα.
- Πρέπει να λαμβάνονται υπόψη οι αλλαγές στις απαιτήσεις των χρηστών, την πολιτική, τον προϋπολογισμό και το χρονοδιάγραμμα.
- Το λογισμικό θα πρέπει να μπορεί να εκτελείται σε διάφορα μηχανήματα και Operating Systems.
- Βοηθά στην ανάπτυξη του συντονισμού μεταξύ των ενδιαφερόμενων μερών.
- Η διαδικασία SCM είναι επίσης ωφέλιμη για τον έλεγχο του κόστους που συνεπάγεται η πραγματοποίηση αλλαγών σε ένα σύστημα.
Οποιαδήποτε αλλαγή στα στοιχεία διαμόρφωσης λογισμικού θα επηρεάσει το τελικό προϊόν. Επομένως, οι αλλαγές στα στοιχεία διαμόρφωσης πρέπει να ελέγχονται και να διαχειρίζονται.
Εργασίες στη διαδικασία SCM
- Αναγνώριση διαμόρφωσης
- γραμμές βάσης
- Έλεγχος αλλαγής
- Λογιστική κατάστασης διαμόρφωσης
- Έλεγχοι διαμόρφωσης και Revβλ
Αναγνώριση διαμόρφωσης
Η αναγνώριση διαμόρφωσης είναι μια μέθοδος προσδιορισμού του πεδίου εφαρμογής του συστήματος λογισμικού. Με τη βοήθεια αυτού του βήματος, μπορείτε να διαχειριστείτε ή να ελέγξετε κάτι ακόμα κι αν δεν γνωρίζετε τι είναι. Είναι μια περιγραφή που περιέχει τον τύπο CSCI (Στοιχείο Διαμόρφωσης Λογισμικού Υπολογιστή), ένα αναγνωριστικό έργου και πληροφορίες έκδοσης.
Δραστηριότητες κατά τη διάρκεια αυτής της διαδικασίας:
- Αναγνώριση στοιχείων διαμόρφωσης όπως μονάδες πηγαίου κώδικα, περίπτωση δοκιμής, και τις προδιαγραφές απαιτήσεων.
- Αναγνώριση κάθε CSCI στο αποθετήριο SCM, χρησιμοποιώντας μια αντικειμενοστρεφή προσέγγιση.
- Η διαδικασία ξεκινά με βασικά αντικείμενα τα οποία ομαδοποιούνται σε συγκεντρωτικά αντικείμενα. Λεπτομέρειες για το τι, γιατί, πότε και από ποιον γίνονται οι αλλαγές στη δοκιμή.
- Κάθε αντικείμενο έχει τα δικά του χαρακτηριστικά που προσδιορίζουν το όνομά του, το οποίο είναι σαφές σε όλα τα άλλα αντικείμενα.
- Λίστα απαιτούμενων πόρων, όπως το έγγραφο, το αρχείο, τα εργαλεία κ.λπ.
Παράδειγμα:
Αντί να ονομάσετε ένα αρχείο login.php, θα πρέπει να το ονομάσετε login_v1.2.php όπου το v1.2 αντιπροσωπεύει τον αριθμό έκδοσης του αρχείου.
Αντί να ονομάσετε έναν φάκελο "Code», θα έπρεπε να ονομαστεί «Code_D” όπου το D αντιπροσωπεύει ότι ο κώδικας θα πρέπει να δημιουργείται αντίγραφο ασφαλείας καθημερινά.
Baseline
Η γραμμή βάσης είναι μια επίσημα αποδεκτή έκδοση ενός στοιχείου διαμόρφωσης λογισμικού. Καθορίζεται και καθορίζεται σε συγκεκριμένο χρόνο κατά τη διεξαγωγή της διαδικασίας SCM. Μπορεί να αλλάξει μόνο μέσω επίσημων διαδικασιών ελέγχου αλλαγών.
Δραστηριότητες κατά τη διάρκεια αυτής της διαδικασίας:
- Διευκόλυνση της κατασκευής διαφόρων εκδόσεων μιας εφαρμογής.
- Ορισμός και προσδιορισμός μηχανισμών για τη διαχείριση διαφόρων εκδόσεων αυτών των προϊόντων εργασίας.
- Η λειτουργική γραμμή βάσης αντιστοιχεί στις αναθεωρημένες απαιτήσεις συστήματος.
- Οι ευρέως χρησιμοποιούμενες γραμμές βάσης περιλαμβάνουν λειτουργικές, αναπτυξιακές και γραμμές βάσης προϊόντος.
Με απλά λόγια, η γραμμή βάσης σημαίνει έτοιμη για απελευθέρωση.
Έλεγχος αλλαγής
Ο έλεγχος αλλαγών είναι μια διαδικαστική μέθοδος που διασφαλίζει την ποιότητα και τη συνέπεια όταν γίνονται αλλαγές στο αντικείμενο διαμόρφωσης. Σε αυτό το βήμα, το αίτημα αλλαγής υποβάλλεται στον διαχειριστή διαμόρφωσης λογισμικού.
Δραστηριότητες κατά τη διάρκεια αυτής της διαδικασίας:
- Ελέγξτε τις ad-hoc αλλαγές για να δημιουργήσετε ένα σταθερό περιβάλλον ανάπτυξης λογισμικού. Οι αλλαγές καταχωρούνται στο αποθετήριο.
- Το αίτημα θα ελεγχθεί με βάση την τεχνική του αξία, τις πιθανές παρενέργειες και τη συνολική επίδραση σε άλλα αντικείμενα διαμόρφωσης.
- Διαχειρίζεται τις αλλαγές και καθιστά διαθέσιμα τα στοιχεία διαμόρφωσης κατά τη διάρκεια του κύκλου ζωής του λογισμικού.
Λογιστική κατάστασης διαμόρφωσης
Λογιστική κατάστασης διαμόρφωσης tracks κάθε έκδοσης κατά τη διάρκεια της διαδικασίας SCM. Αυτό το στάδιο περιλαμβάνει tracβασιλιάς τι έχει κάθε έκδοση και τις αλλαγές που οδήγησαν σε αυτήν την έκδοση.
Δραστηριότητες κατά τη διάρκεια αυτής της διαδικασίας:
- Διατηρεί αρχείο με όλες τις αλλαγές που έγιναν στην προηγούμενη γραμμή βάσης για να επιτευχθεί μια νέα γραμμή βάσης.
- Προσδιορίστε όλα τα στοιχεία για να ορίσετε τη διαμόρφωση λογισμικού.
- Παρακολούθηση της κατάστασης των αιτημάτων αλλαγών.
- Πλήρης καταγραφή όλων των αλλαγών από την τελευταία γραμμή βάσης.
- Επιτρέπει tracβασιλιάς της προόδου στην επόμενη βασική γραμμή.
- Επιτρέπει την εκδοχή προηγούμενων εκδόσεων/κυκλοφοριώνtracτεδ για δοκιμή.
Έλεγχοι διαμόρφωσης και Revβλ
Οι έλεγχοι διαμόρφωσης λογισμικού επαληθεύουν ότι όλο το προϊόν λογισμικού ικανοποιεί τις βασικές ανάγκες. Διασφαλίζει ότι αυτό που κατασκευάζεται είναι αυτό που παραδίδεται.
Δραστηριότητες κατά τη διάρκεια αυτής της διαδικασίας:
- Ο έλεγχος διαμόρφωσης διενεργείται από ελεγκτές ελέγχοντας ότι ακολουθούνται καθορισμένες διαδικασίες και διασφαλίζοντας ότι ικανοποιούνται οι στόχοι SCM.
- Για την επαλήθευση της συμμόρφωσης με τα πρότυπα ελέγχου διαμόρφωσης, τον έλεγχο και την αναφορά των αλλαγών που πραγματοποιήθηκαν.
- Οι έλεγχοι του SCM διασφαλίζουν επίσης ότι tracΗ λειτουργικότητα διατηρείται κατά τη διάρκεια της διαδικασίας.
- Διασφαλίζει ότι οι αλλαγές που γίνονται σε μια γραμμή βάσης συμμορφώνονται με τις αναφορές κατάστασης διαμόρφωσης.
- Επικύρωση πληρότητας και συνέπειας.
Συμμετέχοντας στη διαδικασία SCM
Ακολουθούν οι βασικοί συμμετέχοντες στο SCM:
1. Διαχειριστής διαμόρφωσης
- Ο Διαχειριστής Διαμόρφωσης είναι ο επικεφαλής που είναι υπεύθυνος για τον εντοπισμό στοιχείων διαμόρφωσης.
- Ο CM διασφαλίζει ότι η ομάδα ακολουθεί τη διαδικασία SCM.
- Πρέπει να εγκρίνει ή να απορρίψει τα αιτήματα αλλαγών.
2. Προγραμματιστής
- Ο προγραμματιστής πρέπει να αλλάξει τον κώδικα σύμφωνα με τις τυπικές δραστηριότητες ανάπτυξης ή τα αιτήματα αλλαγών. Είναι υπεύθυνος για τη διατήρηση της διαμόρφωσης του κώδικα.
- Ο προγραμματιστής θα πρέπει να ελέγξει τις αλλαγές και να επιλύσει τυχόν διενέξεις.
3. Ελεγκτής
- Ο ελεγκτής είναι υπεύθυνος για τους ελέγχους και τις επιθεωρήσεις SCM.
- Πρέπει να διασφαλιστεί η συνέπεια και η πληρότητα της έκδοσης.
4. Υπεύθυνος έργου:
- Βεβαιωθείτε ότι το προϊόν αναπτύσσεται εντός συγκεκριμένου χρονικού πλαισίου.
- Παρακολουθεί την πρόοδο της ανάπτυξης και αναγνωρίζει προβλήματα στη διαδικασία SCM.
- Δημιουργήστε αναφορές σχετικά με την κατάσταση του συστήματος λογισμικού.
- Βεβαιωθείτε ότι ακολουθούνται οι διαδικασίες και οι πολιτικές για τη δημιουργία, την αλλαγή και τη δοκιμή.
5. Χρήστης
Ο τελικός χρήστης θα πρέπει να κατανοεί τους βασικούς όρους του SCM για να βεβαιωθεί ότι διαθέτει την πιο πρόσφατη έκδοση του λογισμικού.
Σχέδιο διαχείρισης διαμόρφωσης λογισμικού
Η διαδικασία SCMP (Σχεδιασμός Διαχείρισης Ρύθμισης Λογισμικού) ξεκινά στα αρχικά στάδια κωδικοποίησης ενός έργου. Το αποτέλεσμα της φάσης σχεδιασμού είναι το σχέδιο SCM, το οποίο μπορεί να επεκταθεί ή να αναθεωρηθεί κατά τη διάρκεια του έργου.
- Το SCMP μπορεί να ακολουθήσει ένα δημόσιο πρότυπο όπως το IEEE 828 ή ένα πρότυπο ειδικό για κάθε οργανισμό.
- Ορίζει τους τύπους εγγράφων που θα διαχειρίζονται και μια σύμβαση ονομασίας εγγράφων. Παράδειγμα: Test_v1.
- Το SCMP ορίζει το άτομο που θα είναι υπεύθυνο για ολόκληρη τη διαδικασία SCM και τη δημιουργία βασικών γραμμών.
- Διόρθωση πολιτικών για τη διαχείριση εκδόσεων και τον έλεγχο αλλαγών.
- Ορίστε εργαλεία που μπορούν να χρησιμοποιηθούν κατά τη διάρκεια της διαδικασίας SCM.
- Βάση δεδομένων διαχείρισης διαμόρφωσης για την καταγραφή πληροφοριών διαμόρφωσης.
Εργαλεία διαχείρισης διαμόρφωσης λογισμικού
Οποιοδήποτε λογισμικό διαχείρισης αλλαγών θα πρέπει να έχει τα ακόλουθα 3 βασικά χαρακτηριστικά:
Διαχείριση συγχρονισμού:
Όταν δύο ή περισσότερες εργασίες εκτελούνται ταυτόχρονα, αυτό ονομάζεται ταυτόχρονη λειτουργία. Η ταυτόχρονη λειτουργία στο πλαίσιο του SCM σημαίνει ότι το ίδιο αρχείο επεξεργάζεται από πολλά άτομα ταυτόχρονα.
Εάν η διαχείριση του συγχρονισμού δεν γίνεται σωστά με τα εργαλεία SCM, τότε μπορεί να δημιουργήσει πολλά πιεστικά ζητήματα.
Έλεγχος έκδοσης:
Το SCM χρησιμοποιεί μια μέθοδο αρχειοθέτησης ή αποθηκεύει κάθε αλλαγή που γίνεται σε ένα αρχείο. Με τη βοήθεια της λειτουργίας αρχειοθέτησης ή αποθήκευσης, είναι δυνατή η επαναφορά στην προηγούμενη έκδοση σε περίπτωση προβλημάτων.
Syncχρονισμός:
Οι χρήστες μπορούν να ελέγξουν περισσότερα από ένα αρχεία ή ένα ολόκληρο αντίγραφο του αποθετηρίου. Στη συνέχεια, ο χρήστης εργάζεται στο απαραίτητο αρχείο και ελέγχει τις αλλαγές πίσω στο αποθετήριο. Μπορεί να συγχρονίσει το τοπικό του αντίγραφο για να παραμένει ενημερωμένος με τις αλλαγές που έχουν κάνει άλλα μέλη της ομάδας.
Τα παρακάτω είναι δημοφιλή εργαλεία:
1.Git: Το Git είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο που βοηθά στον έλεγχο της έκδοσης. Έχει σχεδιαστεί για να χειρίζεται όλους τους τύπους έργων με ταχύτητα και αποτελεσματικότητα.
Download link: https://git-scm.com/
2. Ομάδα Foundation Server: Η ομάδα μας Foundation είναι μια ομάδα εργαλείων και τεχνολογιών που επιτρέπουν στην ομάδα να συνεργάζεται και να συντονίζεται για την κατασκευή ενός προϊόντος.
Download link: https://azure.microsoft.com/en-us/services/devops/server/
3. Πιθανό: Είναι ένα εργαλείο διαχείρισης διαμόρφωσης λογισμικού ανοιχτού κώδικα. Εκτός από τη διαχείριση διαμόρφωσης, προσφέρει επίσης ανάπτυξη εφαρμογών και αυτοματοποίηση εργασιών.
Download link: https://www.ansible.com/


