Ο Κύκλος Ζωής Ανάπτυξης Λογισμικού (SDLC) περνά από διάφορα στάδια όπως σχεδιασμός, αξιολόγηση απαιτήσεων, ανάλυση, σχεδιασμός, εκτέλεση, τεκμηρίωση, δοκιμή κ.λπ. Κάθε φάση χωρίζεται περαιτέρω σε εργασίες με σωστά καθορισμένους στόχους και αποτελέσματα.
Η ανάλυση και ο σχεδιασμός είναι φάσεις όπου καθορίζεται η πραγματική αρχιτεκτονική, το μοντέλο εργασίας και η διαδικασία εκτέλεσης της κατασκευής ενός προϊόντος λογισμικού.
Δύο κρίσιμα βήματα σε αυτές τις φάσεις είναι ο σχεδιασμός συστήματος υψηλού επιπέδου και ο σχεδιασμός συστήματος χαμηλού επιπέδου.
Τι είναι ο σχεδιασμός συστήματος υψηλού επιπέδου;
Ο σχεδιασμός υψηλού επιπέδου (HLD) παρέχει μια ολοκληρωμένη επισκόπηση της διαδικασίας ανάπτυξης λογισμικού μαζί με την αρχιτεκτονική του συστήματος, τις εφαρμογές, τη διαχείριση βάσεων δεδομένων και το πλήρες διάγραμμα ροής του συστήματος και πλοήγηση. Είναι ένα σχέδιο που ενοποιεί τα διάφορα βήματα και τις ενότητες, τους στόχους, τα μεταβλητά στοιχεία, τα αποτελέσματα, την αρχιτεκτονική και το χρονοδιάγραμμα για την ανάπτυξη του λογισμικού. Το HLD μεταφράζει ένα επιχειρηματικό σχέδιο σε προϊόν ή υπηρεσία λογισμικού.
Παραδείγματα HLD στην ανάπτυξη λογισμικού περιλαμβάνουν έγγραφα αρχιτεκτονικής συστήματος, διαγράμματα ροής ανάπτυξης εφαρμογών κ.λπ.
Τι είναι ο σχεδιασμός συστήματος χαμηλού επιπέδου;
Ο σχεδιασμός χαμηλού επιπέδου (LLD) ασχολείται με τον προγραμματισμό, την κωδικοποίηση και την εκτέλεση των διαφόρων στοιχείων, μονάδων και βημάτων στο HLD, σε μεμονωμένο επίπεδο. Κάθε ενότητα σε ένα HLD έχει ένα μοναδικό έγγραφο LLD που παρέχει αναλυτικές λεπτομέρειες σχετικά με τον τρόπο κωδικοποίησης, εκτέλεσης, δοκιμής ποιότητας και ενσωμάτωσης της μονάδας στο μεγαλύτερο πρόγραμμα. Η LLD παρέχει δραστικά σχέδια αποδομώντας τα στοιχεία HLD σε λειτουργικές λύσεις.
Παραδείγματα LLD στην ανάπτυξη λογισμικού περιλαμβάνουν ενσωμάτωση καλαθιού, δοκιμές ασφαλείας, σχεδιασμός διεπαφής χρήστη κ.λπ.
Διαφορές μεταξύ HLD και LLD
Το HLD και το LLD εξυπηρετούν επίσης διαφορετικές λειτουργίες και σκοπούς όπως γλώσσες προγραμματισμού υψηλού επιπέδου και γλώσσες προγραμματισμού χαμηλού επιπέδου.
Μακροεντολή εναντίον Μικροαρχιτεκτονική και Σχεδιασμός
Το HLD είναι μια σχεδίαση μακρο-επίπεδου που παρέχει μια οπτική γωνία της διαδικασίας ανάπτυξης λογισμικού. Περιλαμβάνει διαγράμματα, διαγράμματα ροής, λεπτομέρειες πλοήγησης και άλλες τεχνικές απαιτήσεις που θα αποτελέσουν το επίκεντρο της διαδικασίας ανάπτυξης.
Εκτός από τα διαγράμματα ροής, τα διαγράμματα, τις πληροφορίες πλοήγησης και τις τεχνικές απαιτήσεις, το LLD διαθέτει επίσης ολοκληρωμένες πληροφορίες σχετικά με τη σταδιακή εκτέλεση κάθε στοιχείου του HLD. Ασχολείται με την ανάπτυξη λογισμικού σε μικρο-επίπεδο.
Κάθε στοιχείο ενός HLD έχει ένα μοναδικό έγγραφο LLD.
Χρονολόγιο Ανάπτυξης
Το HLD προηγείται της φάσης LLD. Μόλις εγκατασταθεί το HLD και εγκριθεί για εκτέλεση, μπορούν να ξεκινήσουν οι εργασίες για τα μεμονωμένα LLD.
Το HLD ξεκινά μόλις διευθετηθούν τα στάδια σχεδιασμού και απαιτήσεων και δεν έχει άλλες εξαρτήσεις.
Από την άλλη πλευρά, το LLD πρέπει να εκτελεστεί με συγκεκριμένη σειρά. Ορισμένες μονάδες πρέπει να περιμένουν την εκτέλεση μέχρι να ολοκληρωθούν άλλες.
Το LLD εμπίπτει στη φάση Σχεδίασης του SDLC, ενώ το HLD εμπίπτει στη φάση Ανάλυσης του SDLC.
Σκοπός
- Ο σκοπός ενός HLD είναι να απαριθμήσει τις λειτουργικές πτυχές των διαφόρων μονάδων μαζί με το τελικό αποτέλεσμα.
- Ο σκοπός ενός LLD είναι να αναφέρει λεπτομερώς τη λογική και την εκτέλεση κάθε ενότητας σε ένα HLD.
Ενδιαφερόμενα μέρη
Οι αρχιτέκτονες λύσεων είναι υπεύθυνοι για τη δημιουργία ενός εγγράφου HLD. Μπορεί να έχει εσωτερικούς και εξωτερικούς ενδιαφερομένους, όπως η ομάδα αξιολόγησης που λαμβάνει γνώση του μετρήσεις λογισμικού, την ομάδα σχεδιασμού, τους πελάτες και τους διαχειριστές.
Το LLD διαχειρίζονται προγραμματιστές λογισμικού, διαχειριστές ιστού, μηχανικοί ασφαλείας κ.λπ., οι οποίοι αποτελούν μέρος της εταιρείας ή των ομάδων προμηθευτών. Οι LLD γενικά περιορίζονται σε εσωτερικά ενδιαφερόμενα μέρη.
Στοχευμένο κοινό
Τα έγγραφα HLD έχουν το κοινό-στόχο των διαχειριστών, των πελατών και των ομάδων ανάπτυξης λογισμικού.
Οι μηχανικοί λογισμικού, οι κωδικοποιητές, οι δοκιμαστές και οι προγραμματιστές που εργάζονται στο έργο είναι το κοινό-στόχος για έγγραφα LLD.
Αναμενόμενο αποτέλεσμα
- Το αποτέλεσμα ενός HLD είναι ένα προϊόν ή μια υπηρεσία λογισμικού έτοιμη να αποσταλεί στον τελικό χρήστη.
- Το αποτέλεσμα ενός LLD είναι η ολοκλήρωση μιας μεμονωμένης ενότητας του HLD, όπως οι φάσεις κωδικοποίησης ή δοκιμής.
Κατανόηση Εγγράφων Σχεδιασμού Λογισμικού
Τα έγγραφα σχεδιασμού λογισμικού περιγράφουν τις δομικές, λειτουργικές και λογικές πτυχές της ανάπτυξης α προϊόν ή υπηρεσία λογισμικού επιπλέον των τεχνικών απαιτήσεων και άλλων εφαρμογών Λεπτομέριες. Είτε η σχεδίαση αφορά την εκτέλεση σε μακροεπίπεδο είτε σε μικροεπίπεδο, οι προγραμματιστές και άλλοι ενδιαφερόμενοι πρέπει να γνωρίζουν και να κατανοούν το εύρος και τα διάφορα βήματα της διαδικασίας ανάπτυξης λογισμικού.