* Απαιτήσεις καθορισμού: Αυτό συνεπάγεται πλήρη κατανόηση των αναγκών και των στόχων των χρηστών και των ενδιαφερομένων. Αυτό περιλαμβάνει λειτουργικές απαιτήσεις (τι πρέπει να κάνει το λογισμικό *) και μη λειτουργικές απαιτήσεις (πώς πρέπει να εκτελεί το λογισμικό *, π.χ., η επεκτασιμότητα, η ασφάλεια, η απόδοση). Χωρίς καλά καθορισμένες απαιτήσεις, το λογισμικό είναι πιθανό να μην ανταποκριθεί στον επιδιωκόμενο σκοπό του.
* Ανάπτυξη ολοκληρωμένης αρχιτεκτονικής: Αυτό περιλαμβάνει το σχεδιασμό της συνολικής δομής και της οργάνωσης του συστήματος λογισμικού. Αυτό περιλαμβάνει την επιλογή των τεχνολογιών, την αλληλεπίδραση μεταξύ διαφορετικών εξαρτημάτων και τη ροή δεδομένων. Μια καλά σχεδιασμένη αρχιτεκτονική εξασφαλίζει ότι το σύστημα είναι κλιμακωτό, διατηρήσιμο, αξιόπιστο και αποτελεσματικό. Η αρχιτεκτονική πρέπει επίσης να ευθυγραμμιστεί με τις καθορισμένες απαιτήσεις.
Αυτές οι δύο δραστηριότητες δεν είναι διαδοχικές. Συχνά ενημερώνουν και επηρεάζουν ο ένας τον άλλον επαναληπτικά. Για παράδειγμα, οι αρχιτεκτονικές επιλογές ενδέχεται να επηρεάσουν τη σκοπιμότητα ορισμένων απαιτήσεων, οδηγώντας σε προσαρμογές είτε στις απαιτήσεις είτε στην αρχιτεκτονική. Μια καλή διαδικασία σχεδιασμού λογισμικού ενσωματώνει βρόχους ανάδρασης μεταξύ αυτών των δύο δραστηριοτήτων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα