Μέθοδοι ανάπτυξης λογισμικού. Για άλλη μια φορά για τις επτά κύριες μεθοδολογίες ανάπτυξης. Πότε να χρησιμοποιήσετε το μοντέλο V

Σχόλιο: Η έννοια της διαδικασίας ανάπτυξης λογισμικού. Καθολική διαδικασία. Τρέχουσα διαδικασία. Συγκεκριμένη διαδικασία. Τυπική διαδικασία. Βελτίωση της διαδικασίας. Στρατηγικές έλξης/ώθησης. Κλασικά μοντέλα διαδικασίας: μοντέλο καταρράκτη, σπειροειδές μοντέλο. Φάσεις και δραστηριότητες.

Το πλεονέκτημα αυτού του μοντέλου είναι ότι περιορίζει τη δυνατότητα επιστροφής σε ένα αυθαίρετο βήμα πίσω, για παράδειγμα, από τη δοκιμή στην ανάλυση, από την ανάπτυξη στην εργασία σε απαιτήσεις κ.λπ. Σημειώθηκε ότι τέτοιες επιστροφές θα μπορούσαν να αυξήσουν καταστροφικά το κόστος του έργου και τον χρόνο ολοκλήρωσής του. Για παράδειγμα, εάν ανακαλυφθούν σφάλματα σχεδιασμού ή ανάλυσης κατά τη διάρκεια της δοκιμής, η διόρθωσή τους συχνά οδηγεί σε έναν πλήρη επανασχεδιασμό του συστήματος. Αυτό το μοντέλο επέτρεπε επιστροφές μόνο στο προηγούμενο βήμα, για παράδειγμα, από τη δοκιμή στην κωδικοποίηση· από το λογισμικό, αυτό το μοντέλο επικρίθηκε ενεργά από σχεδόν κάθε συγγραφέα σχετικών άρθρων και σχολικών βιβλίων. Έχει γίνει μια γενικά αποδεκτή άποψη ότι δεν αντικατοπτρίζει τα χαρακτηριστικά της ανάπτυξης λογισμικού. Τα μειονεκτήματα του μοντέλου καταρράκτη είναι:

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

Διδάξτε στον εαυτό σας μια γλώσσα προγραμματισμού. Ο καθένας μπορεί να βρει ιδέες, αλλά ένας προγραμματιστής μπορεί να μετατρέψει αυτές τις ιδέες σε κάτι απτό. Ακόμα κι αν θέλετε να εργαστείτε μόνο σε πτυχές του σχεδιασμού λογισμικού, θα πρέπει να έχετε κάποια εξοικείωση με την κωδικοποίηση και να είστε σε θέση να δημιουργήσετε βασικά πρωτότυπα. Υπάρχει μια τεράστια ποικιλία γλωσσών προγραμματισμού που μπορείτε να διδάξετε μόνοι σας. Μερικά από τα πιο χρήσιμα και σημαντικά περιλαμβάνουν.

  • προσδιορισμός φάσεων και δραστηριοτήτων, που συνεπάγεται απώλεια της αναπτυξιακής ευελιξίας, ιδίως, δυσκολίες στην υποστήριξη μιας επαναληπτικής αναπτυξιακής διαδικασίας·
  • την απαίτηση για την πλήρη ολοκλήρωση της φάσης δραστηριότητας, ενοποίηση των αποτελεσμάτων με τη μορφή λεπτομερούς εγγράφου πηγής (τεχνική ανάθεση, προδιαγραφές σχεδιασμού)· Ωστόσο, η εμπειρία ανάπτυξης λογισμικού δείχνει ότι είναι αδύνατο να ολοκληρωθεί πλήρως η ανάπτυξη απαιτήσεων, ο σχεδιασμός συστήματος κ.λπ. – όλα αυτά υπόκεινται σε αλλαγές· Και οι λόγοι για αυτό δεν είναι μόνο ότι το περιβάλλον του έργου είναι ρευστό, αλλά και ότι πολλές αποφάσεις δεν μπορούν να καθοριστούν και να διατυπωθούν με ακρίβεια εκ των προτέρων· διευκρινίζονται και προσδιορίζονται μόνο αργότερα.
  • Η ενοποίηση όλων των αναπτυξιακών αποτελεσμάτων συμβαίνει στο τέλος, με αποτέλεσμα τα προβλήματα ολοκλήρωσης να γίνονται αισθητά πολύ αργά.
  • οι χρήστες και ο πελάτης δεν μπορούν να εξοικειωθούν με τις επιλογές του συστήματος κατά την ανάπτυξη και να δουν το αποτέλεσμα μόνο στο τέλος. Ως εκ τούτου, δεν μπορούν να επηρεάσουν τη διαδικασία δημιουργίας του συστήματος και επομένως οι κίνδυνοι παρεξήγησης μεταξύ προγραμματιστών και χρηστών/πελατών αυξάνονται.
  • το μοντέλο είναι ασταθές σε αποτυχίες στη χρηματοδότηση έργων ή στην ανακατανομή των κεφαλαίων· η ανάπτυξη που έχει ξεκινήσει, στην πραγματικότητα, δεν έχει εναλλακτικές «στην πορεία».

Ωστόσο αυτό το μοντέλοσυνεχίζει να χρησιμοποιείται στην πράξη - για μικρά έργα ή στην ανάπτυξη τυπικών συστημάτων, όπου η επαναληπτικότητα δεν είναι τόσο απαιτητική. Με τη βοήθειά του, είναι βολικό να παρακολουθείτε την ανάπτυξη και να διεξάγετε βήμα προς βήμα έλεγχο του έργου. Αυτό το μοντέλο χρησιμοποιείται επίσης συχνά σε υπεράκτια έργα 1 Από τα αγγλικά offshore -εκτός της ακτής, σε διευρυμένη ερμηνεία- εκτός μιας χώρας.με ωρομίσθιο. Το μοντέλο καταρράκτη έχει ενσωματωθεί ως συστατικό σε άλλα μοντέλα και μεθοδολογίες, όπως οι ΓΧΣ.

Είναι μια εξαιρετική γλώσσα για να μάθεις ως ελεύθερος επαγγελματίας. Βρείτε πόρους που θα σας βοηθήσουν να μάθετε. Ένα καλογραμμένο βιβλίο προγραμματισμού θα είναι πιθανότατα ο καλύτερος πόρος που μπορείτε να έχετε και θα σας επιτρέψει να το αναφέρετε γρήγορα καθώς εργάζεστε σε έργα. Εκτός από βιβλία, το Διαδίκτυο είναι ένας ατελείωτος θησαυρός οδηγών και εγχειριδίων. . Πάρτε πολλές τάξεις. Αν και δεν χρειάζεστε ένα πλήρες πτυχίο για να ασχοληθείτε με την ανάπτυξη λογισμικού, μπορεί να μην βλάψετε να παρακολουθήσετε μαθήματα σε τοπικό κολέγιο ή κέντρο εκπαίδευσης.

Πότε είναι βέλτιστο να χρησιμοποιήσετε ένα επαναληπτικό μοντέλο;

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

Σπειροειδές μοντέλοπροτάθηκε από τον Barry Boehm το 1988 για να ξεπεραστούν οι ελλείψεις του μοντέλου καταρράκτη, κυρίως για καλύτερη διαχείριση κινδύνων. Σύμφωνα με αυτό το μοντέλο, η ανάπτυξη προϊόντος πραγματοποιείται σε μια σπείρα, κάθε στροφή της οποίας είναι μια συγκεκριμένη φάση ανάπτυξης. Σε αντίθεση με το μοντέλο καταρράκτη, το σπειροειδές μοντέλο δεν έχει ένα προκαθορισμένο και υποχρεωτικό σύνολο στροφών· κάθε στροφή μπορεί να είναι η τελευταία κατά την ανάπτυξη του συστήματος· με την ολοκλήρωσή του, καταρτίζονται σχέδια για την επόμενη στροφή. Τέλος, μια επανάσταση είναι ακριβώς μια φάση, και όχι ένας τύπος δραστηριότητας, όπως στο μοντέλο καταρράκτη· πολλοί διαφορετικοί τύποι δραστηριοτήτων μπορούν να πραγματοποιηθούν στο πλαίσιο του, δηλαδή το μοντέλο είναι δισδιάστατο.

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

Πότε να χρησιμοποιήσετε το αυξητικό μοντέλο;

Για παράδειγμα, αντί να χρησιμοποιείτε το πρόγραμμα ημερολογίου του υπολογιστή σας για να παραμένετε οργανωμένοι, δοκιμάστε να δημιουργήσετε το δικό σας! Εάν ενδιαφέρεστε να αναπτύξετε βιντεοπαιχνίδια, δουλέψτε σε απλά παιχνίδια που δεν εστιάζουν στα γραφικά ή σε πολύπλοκους μηχανισμούς. Μια συλλογή μικρών παιχνιδιών που έχετε δημιουργήσει θα φαίνεται υπέροχη στο χαρτοφυλάκιό σας. Αντίθετα, εστιάστε σε αυτό που τα κάνει διασκεδαστικά και μοναδικά. . Το Πρόγραμμα Διπλώματος Σχεδιασμού και Ανάπτυξης Εφαρμογών για κινητά του Algonquin College προετοιμάζει τους μαθητές για σταδιοδρομία στους επεκτεινόμενους και εξελισσόμενους τομείς της ανάπτυξης ιστού και εφαρμογών για κινητά.

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

Κάθε στροφή έχει την ακόλουθη δομή (τομείς):

  • καθορισμός στόχων, περιορισμών και εναλλακτικών λύσεων του έργου·
  • αξιολόγηση εναλλακτικών λύσεων, αξιολόγηση και επίλυση κινδύνων. είναι δυνατή η χρήση πρωτοτύπων (συμπεριλαμβανομένης της δημιουργίας μιας σειράς πρωτοτύπων), προσομοίωσης συστήματος, οπτικής μοντελοποίησης και ανάλυσης προδιαγραφών. εστίαση στα πιο επικίνδυνα μέρη του έργου·
  • ανάπτυξη και δοκιμή - εδώ είναι δυνατό να χρησιμοποιήσετε ένα μοντέλο καταρράκτη ή να χρησιμοποιήσετε άλλα μοντέλα και μεθόδους ανάπτυξης λογισμικού.
  • προγραμματισμός των επόμενων επαναλήψεων - αναλύονται τα αποτελέσματα, τα σχέδια και οι πόροι για την επακόλουθη ανάπτυξη, λαμβάνεται (ή δεν λαμβάνεται) απόφαση για έναν νέο γύρο. αναλύει εάν έχει νόημα να συνεχιστεί η ανάπτυξη του συστήματος ή όχι. Η ανάπτυξη μπορεί να ανασταλεί, για παράδειγμα, λόγω αποτυχιών χρηματοδότησης. σπειροειδές μοντέλοσας επιτρέπει να το κάνετε σωστά.

Μια ξεχωριστή σπείρα μπορεί να αντιστοιχεί στην ανάπτυξη κάποιου στοιχείου λογισμικού ή στην εισαγωγή τακτικών αλλαγών στο προϊόν. Έτσι, το μοντέλο μπορεί να έχει μια τρίτη διάσταση.

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

Αυτό είναι ένα πρόγραμμα εκπαίδευσης για φορητές συσκευές. Ως μαθητής σε αυτό το πρόγραμμα, θα χρειαστείτε μια φορητή υπολογιστική συσκευή, όπως φορητό υπολογιστή ή υπολογιστή tablet. Αυτό το διετές πρόγραμμα του Ontario College Diploma προετοιμάζει τους μαθητές για σταδιοδρομία στους επεκτεινόμενους και εξελισσόμενους τομείς της ανάπτυξης ιστού και εφαρμογών για κινητά. Οι μαθητές μελετούν τη σχεδίαση διεπαφής χρήστη, την εμπειρία χρήστη και τη χρηστικότητα των λύσεων για φορητές συσκευές. Συμμετέχουν στην ανάπτυξη πολλαπλών πλατφορμών, ιστού για κινητά και εγγενών εφαρμογών.

Το σπειροειδές μοντέλο δεν συνιστάται να χρησιμοποιείται σε έργα με χαμηλό βαθμό κινδύνου, με περιορισμένο προϋπολογισμό, για μικρά έργα. Επιπλέον, η έλλειψη καλά κεφάλαιαΗ δημιουργία πρωτοτύπων μπορεί επίσης να κάνει το σπειροειδές μοντέλο άβολο στη χρήση.

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

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

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

Φέρτε τη δική σας συσκευή: Οι μαθητές αναμένεται να έχουν εγγεγραμμένο φορητό υπολογιστή ή φορητή συσκευή υπολογιστών σε αυτό το πρόγραμμα στην πανεπιστημιούπολη. Οι προδιαγραφές υλικού και λογισμικού που απαιτούνται από το πρόγραμμά σας περιγράφονται στο.

Αυτό το πρόγραμμα είναι κατάλληλο για μαθητές που... Να διαθέτει βασικές γνώσεις Η/Υ όπως πληκτρολόγηση και χρήση λογισμικού γραφείου. Αφοσιωμένος και αφοσιωμένος. . Οι απόφοιτοι μπορούν να εργαστούν σε μια μεγάλη ποικιλία θέσεων στον δημόσιο και ιδιωτικό τομέα. Σε αυτά περιλαμβάνονται προγραμματιστής ηλεκτρονικού εμπορίου, σχεδιαστής αλληλεπίδρασης, σχεδιαστής διεπαφής, σχεδιαστής ιστοσελίδων, προγραμματιστής ιστού από την πλευρά του πελάτη, προγραμματιστής ιστού από πλευράς διακομιστή, προγραμματιστής υβριδικών εφαρμογών, σχεδιαστής εμπειρίας χρήστη, σχεδιαστής νέων μέσων, βοηθός παραγωγής, διαχειριστής έργου , επιχειρησιακός αναλυτής , εφαρμογή για κινητόΕλεγκτής ευχρηστίας, μάρκετινγκ εφαρμογών για κινητά, τεχνικός υπεύθυνος έργου, προγραμματιστής, υπεύθυνος μάρκετινγκ διαδικτύου, παραγωγός διαδικτυακών διαφημίσεων, επιχειρηματίας στο Διαδίκτυο, επιχειρηματίας για κινητές συσκευές, συντονιστής παραγωγής, προγραμματιστής εφαρμογών για κινητά ή προγραμματιστής εφαρμογών για κινητά.

1. "Μοντέλο καταρράκτη" (μοντέλο καταρράκτη ή "καταρράκτης")



Ένα από τα παλαιότερα, περιλαμβάνει το διαδοχικό πέρασμα σταδίων, καθένα από τα οποία πρέπει να ολοκληρωθεί πλήρως πριν ξεκινήσει το επόμενο. Το μοντέλο Waterfall διευκολύνει τη διαχείριση ενός έργου. Χάρη στην ακαμψία του, η ανάπτυξη προχωρά γρήγορα, το κόστος και η προθεσμία είναι προκαθορισμένα. Αλλά αυτό είναι ένα δίκοπο μαχαίρι. Το μοντέλο καταρράκτη θα δώσει εξαιρετικά αποτελέσματα μόνο σε έργα με ξεκάθαρες και προκαθορισμένες απαιτήσεις και τρόπους υλοποίησής τους. Δεν υπάρχει τρόπος να κάνετε ένα βήμα πίσω· η δοκιμή ξεκινά μόνο αφού ολοκληρωθεί ή σχεδόν ολοκληρωθεί η ανάπτυξη. Τα προϊόντα που αναπτύχθηκαν σύμφωνα με αυτό το μοντέλο χωρίς αιτιολογημένη επιλογή ενδέχεται να έχουν ελλείψεις (η λίστα απαιτήσεων δεν μπορεί να προσαρμοστεί ανά πάσα στιγμή), τα οποία γίνονται γνωστά μόνο στο τέλος λόγω της αυστηρής σειράς ενεργειών. Το κόστος της πραγματοποίησης αλλαγών είναι υψηλό γιατί απαιτεί αναμονή μέχρι να ολοκληρωθεί ολόκληρο το έργο για να ξεκινήσει. Ωστόσο, το σταθερό κόστος συχνά υπερτερεί των μειονεκτημάτων της προσέγγισης. Η διόρθωση των ελλείψεων που διαπιστώθηκαν κατά τη διαδικασία δημιουργίας είναι δυνατή και, σύμφωνα με την εμπειρία μας, απαιτεί μία έως τρεις επιπλέον συμφωνίες στη σύμβαση με μια μικρή τεχνική προδιαγραφή.

Πότε να χρησιμοποιήσετε το μοντέλο V;

Ο απόφοιτος έχει αποδείξει αξιόπιστα ικανότητες. Οι μαθητές πρέπει επίσης να παρέχουν το smartphone και το tablet τους. Οι μαθητές πρέπει να παρέχουν το ενεργοποιημένο και λειτουργικό smartphone τους από την παρακάτω λίστα. Απολυτήριο Λυκείου του Οντάριο ή ισοδύναμο. . Εάν ο αριθμός των προσόντων υποψηφίων υπερβαίνει τον αριθμό των διαθέσιμων θέσεων, οι υποψήφιοι θα επιλεγούν με βάση την επάρκειά τους αγγλική γλώσσακαι τα μαθηματικά.

Οι αιτήσεις για ημερήσια προγράμματα πλήρους απασχόλησης πρέπει να υποβάλλονται με επίσημα αντίγραφα που αποδεικνύουν την ολοκλήρωση των απαιτήσεων ακαδημαϊκής εισαγωγής μέσω. Για περισσότερες πληροφορίες σχετικά με τη διαδικασία εισαγωγής, επικοινωνήστε. Αν και συνιστώνται βασικές γνώσεις Η/Υ, δεν απαιτείται εμπειρία προγραμματισμού για την είσοδο στο πρόγραμμα.

Χρησιμοποιώντας το μοντέλο καταρράκτη, δημιουργήσαμε πολλά έργα από την αρχή, συμπεριλαμβανομένης της ανάπτυξης μόνο τεχνικών προδιαγραφών. Έργα που γράφτηκαν στο Habré: μεσαία - , μικρά - .

Πότε να χρησιμοποιήσετε τη μεθοδολογία καταρράκτη;

  • Μόνο όταν οι απαιτήσεις είναι γνωστές, κατανοητές και καταγεγραμμένες. Δεν υπάρχουν αντικρουόμενες απαιτήσεις.
  • Δεν υπάρχουν προβλήματα με τη διαθεσιμότητα προγραμματιστών με τα απαιτούμενα προσόντα.
  • Σε σχετικά μικρά έργα.

2. "V-Model"



Κληρονόμησε τη δομή «βήμα προς βήμα» από το μοντέλο καταρράκτη. Το μοντέλο σε σχήμα V είναι εφαρμόσιμο σε συστήματα για τα οποία η αδιάλειπτη λειτουργία είναι ιδιαίτερα σημαντική. Για παράδειγμα, προγράμματα εφαρμογήςσε κλινικές για την παρακολούθηση ασθενών, ενσωματωμένο λογισμικό για μηχανισμούς ελέγχου για αερόσακους έκτακτης ανάγκης σε οχήματα κ.λπ. Ιδιαίτερο χαρακτηριστικό του μοντέλου είναι ότι στοχεύει στον ενδελεχή έλεγχο και δοκιμή ενός προϊόντος που βρίσκεται ήδη στα αρχικά στάδια σχεδιασμού. Το στάδιο δοκιμής πραγματοποιείται ταυτόχρονα με το αντίστοιχο στάδιο ανάπτυξης, για παράδειγμα, οι δοκιμές μονάδας γράφονται κατά την κωδικοποίηση.

Δυστυχώς, αυτό ισχύει σε πολλές περιπτώσεις. Εικόνα 1: Πρακτικό στην ανάπτυξη ιστοσελίδων. Αυτό σήμαινε ότι τα παράθυρα θα μπορούσαν πλέον να εμφανίζονται και ως επικαλυπτόμενα. Ξεκινώντας με αυτήν την έκδοση, κάρτες ήχουυποστηριζόταν από προεπιλογή και ήταν δυνατή η έξοδος με υψηλές αναλύσεις οθόνης και βάθη χρωμάτων έως και 32 bit.

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

Ένα παράδειγμα της δουλειάς μας που βασίζεται στη μεθοδολογία V - μια εφαρμογή για φορητές συσκευές για την Ευρώπη φορέας κινητής τηλεφωνίας, που εξοικονομεί κόστος περιαγωγής όταν ταξιδεύετε. Το έργο εκτελείται σύμφωνα με μια σαφή προδιαγραφή, αλλά περιλαμβάνει ένα σημαντικό στάδιο δοκιμών: ευκολία διεπαφής, λειτουργικότητα, φορτίο και ενσωμάτωση, η οποία θα πρέπει να επιβεβαιώσει ότι πολλά εξαρτήματα από διαφορετικούς κατασκευαστές συνεργάζονται σταθερά, κλοπή χρημάτων και δανείων είναι αδύνατο.

Προκυκλοφόρησε σε περισσότερους από 000 πελάτες, λάτρεις, προγραμματιστές λογισμικού και κατασκευαστές υλικού σε περισσότερες από 20 χώρες. Το λογισμικό κατέβηκε πάνω από ένα εκατομμύριο φορές μέσα στην πρώτη εβδομάδα από την επίσημη ημερομηνία διαθεσιμότητάς του, αν και το Διαδίκτυο δεν ήταν καθόλου κοντά στην τρέχουσα κατάστασή του.

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

Πότε να χρησιμοποιήσετε το μοντέλο V;

  • Εάν απαιτείται ενδελεχής δοκιμή ενός προϊόντος, τότε το μοντέλο V θα δικαιολογήσει την εγγενή του ιδέα: επικύρωση και επαλήθευση.
  • Για έργα μικρού και μεσαίου μεγέθους όπου οι απαιτήσεις είναι σαφώς καθορισμένες και καθορισμένες.
  • Σε συνθήκες διαθεσιμότητας μηχανικών με τα απαραίτητα προσόντα, ιδιαίτερα δοκιμαστών.

3. "Αυξητικό μοντέλο" (αυξητικό μοντέλο)

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


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

Για να τοποθετήσετε ένα στοιχείο ελέγχου από τη γραμμή εργαλείων σε μια φόρμα, απλώς σύρετέ το από τη γραμμή εργαλείων στη φόρμα. Ή μπορείτε πρώτα να κάνετε κλικ στο στοιχείο ελέγχου με το ποντίκι και στη συνέχεια στη θέση στη φόρμα όπου πρέπει να βρίσκεται η επάνω αριστερή γωνία.

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

Ως παράδειγμα, θα περιγράψουμε την ουσία μιας αύξησης. αντικατέστησε το DefView. Το DefView είναι συνδεδεμένο σε έναν διακομιστή εγγράφων και πλέον μπορεί να συνδεθεί σε πολλούς. Ένας διακομιστής αποθήκευσης εγκαθίσταται στον ιστότοπο ενός ιδρύματος που θέλει να μεταδώσει το περιεχόμενό του σε ένα συγκεκριμένο κοινό, το οποίο έχει άμεση πρόσβαση στα έγγραφα και τα μετατρέπει στην απαιτούμενη μορφή. Το βασικό στοιχείο της αρχιτεκτονικής έχει εμφανιστεί - ο κεντρικός διακομιστής Vivaldi, που λειτουργεί ως ενιαίος μηχανή αναζήτησηςσε όλους τους διακομιστές αποθήκευσης που είναι εγκατεστημένοι σε διάφορα ιδρύματα.

Παράδειγμα. Αφού τοποθετήσετε την ετικέτα, το πεδίο κειμένου και το κουμπί στη φόρμα, φαίνεται κάπως έτσι. Μπορείτε να το εκτελέσετε έτσι. Εντοπισμός σφαλμάτων Εντοπισμός σφαλμάτων στη γραμμή μενού ή. Φροντίστε να βγείτε από το πρόγραμμά σας προτού συνεχίσετε να εργάζεστε σε αυτό. Δεν μπορείτε να επανεκκινήσετε τον μεταγλωττιστή ενώ το πρόγραμμα εκτελείται.

Το τελευταίο στοιχείο στο οποίο έγινε κλικ στη φόρμα ονομάζεται τρέχον επιλεγμένο στοιχείο. Μπορείτε να τα αναγνωρίσετε ως μικρά τετράγωνα στην άκρη όπου μπορείτε να σύρετε με το ποντίκι σας και να αλλάξετε το μέγεθος του στοιχείου. Στο τελευταίο παράδειγμα, το κουμπί1 είναι το τρέχον επιλεγμένο στοιχείο. Το παράθυρο Ιδιότητες εμφανίζει τις ιδιότητες του τρέχοντος επιλεγμένου στοιχείου.

Πότε να χρησιμοποιήσετε το αυξητικό μοντέλο;

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

4. «Μοντέλο RAD» (μοντέλο ταχείας ανάπτυξης εφαρμογών ή ταχεία ανάπτυξη εφαρμογών)

Το μοντέλο RAD είναι ένας τύπος αυξητικού μοντέλου. Στο μοντέλο RAD, τα στοιχεία ή οι λειτουργίες αναπτύσσονται από πολλές ομάδες υψηλής εξειδίκευσης παράλληλα, όπως πολλά μίνι έργα. Το χρονικό πλαίσιο ενός κύκλου είναι αυστηρά περιορισμένο. Στη συνέχεια, οι δημιουργημένες μονάδες ενσωματώνονται σε ένα λειτουργικό πρωτότυπο. Το Synergy σάς επιτρέπει να παρέχετε πολύ γρήγορα στον πελάτη κάτι που λειτουργεί για έλεγχο για να το λάβει ανατροφοδότησηκαι κάνοντας αλλαγές.


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

Το επόμενο βήμα είναι να επεκτείνετε το πρόγραμμα από την τελευταία ενότητα για να εκτελέσετε εντολές ως απόκριση σε ένα πάτημα κουμπιού. Αυτό προκαλεί αυτό που ονομάζεται συμβάν στο πρόγραμμα, το οποίο μπορεί να οδηγήσει σε κλήση μιας συνάρτησης. Η συνάρτηση που καλείται στο κλικ στο κουμπί είναι πιο εύκολη πρόσβαση κάνοντας διπλό κλικ σε ένα κουμπί σε μια φόρμα. Αυτές μπορεί να είναι οποιεσδήποτε δηλώσεις C.

Το μοντέλο ταχείας ανάπτυξης εφαρμογών περιλαμβάνει τις ακόλουθες φάσεις:

  • Επιχειρηματική μοντελοποίηση: ορισμός λίστας ροών πληροφοριών μεταξύ διαφορετικών τμημάτων.
  • Μοντελοποίηση δεδομένων: οι πληροφορίες που συλλέγονται στο προηγούμενο στάδιο χρησιμοποιούνται για τον προσδιορισμό των αντικειμένων και άλλων οντοτήτων που είναι απαραίτητες για την κυκλοφορία των πληροφοριών.
  • Μοντελοποίηση διαδικασίας: Οι ροές πληροφοριών συνδέουν αντικείμενα για την επίτευξη στόχων ανάπτυξης.
  • Δημιουργία της εφαρμογής: Χρησιμοποιεί αυτοματοποιημένα εργαλεία συναρμολόγησης για τη μετατροπή μοντέλων CAD σε κώδικα.
  • Δοκιμή: δοκιμάζονται νέα στοιχεία και διεπαφές.
Πότε χρησιμοποιείται το μοντέλο RAD;

Μπορεί να χρησιμοποιηθεί μόνο με υψηλά καταρτισμένους και εξαιρετικά εξειδικευμένους αρχιτέκτονες. Ο προϋπολογισμός του έργου είναι μεγάλος για να πληρώσει αυτούς τους ειδικούς μαζί με το κόστος των έτοιμων αυτοματοποιημένων εργαλείων συναρμολόγησης. Το μοντέλο RAD μπορεί να επιλεγεί με σίγουρη γνώση της επιχείρησης-στόχου και την ανάγκη για επείγουσα παραγωγή του συστήματος εντός 2-3 μηνών.

5. «Agile Model» (ευέλικτη μεθοδολογία ανάπτυξης)



Στη μεθοδολογία «ευκίνητης» ανάπτυξης, μετά από κάθε επανάληψη ο πελάτης μπορεί να παρατηρήσει το αποτέλεσμα και να καταλάβει αν τον ικανοποιεί ή όχι. Αυτό είναι ένα από τα πλεονεκτήματα του ευέλικτου μοντέλου. Στα μειονεκτήματά του συγκαταλέγεται το γεγονός ότι λόγω της έλλειψης συγκεκριμένων διατυπώσεων των αποτελεσμάτων, είναι δύσκολο να εκτιμηθεί το κόστος εργασίας και το κόστος που απαιτείται για την ανάπτυξη. Ο Extreme Programming (XP) είναι μια από τις πιο γνωστές εφαρμογές του ευέλικτου μοντέλου στην πράξη.

Αυτός ο τύπος βασίζεται σε σύντομες καθημερινές συναντήσεις - «Scrum» και τακτικά επαναλαμβανόμενες συναντήσεις (μία φορά την εβδομάδα, μία φορά κάθε δύο εβδομάδες ή μία φορά το μήνα), που ονομάζονται «Sprint». Στις καθημερινές συναντήσεις, τα μέλη της ομάδας συζητούν:

  • έκθεση σχετικά με το έργο που έγινε από το τελευταίο Scrum·
  • μια λίστα εργασιών που πρέπει να ολοκληρώσει ο εργαζόμενος πριν από την επόμενη συνάντηση·
  • δυσκολίες που συναντήθηκαν κατά τη διάρκεια της εργασίας.
Η μεθοδολογία είναι κατάλληλη για μεγάλα έργα ή για έργα που στοχεύουν σε μεγάλο κύκλο ζωής, προσαρμόζοντας συνεχώς τις συνθήκες της αγοράς. Αντίστοιχα, οι απαιτήσεις αλλάζουν κατά τη διαδικασία υλοποίησης. Αξίζει να θυμηθούμε την τάξη των δημιουργικών ανθρώπων που τείνουν να δημιουργούν, να βρίσκουν και να δοκιμάζουν νέες ιδέες σε εβδομαδιαία ή και καθημερινή βάση. Η ευέλικτη ανάπτυξη είναι η πλέον κατάλληλη για αυτόν τον τύπο διαχειριστή. Αναπτύσσουμε τις εσωτερικές startups της εταιρείας χρησιμοποιώντας το Agile. Ένα παράδειγμα έργων πελατών είναι το Ηλεκτρονικό Σύστημα Ιατρικών Εξετάσεων, που δημιουργήθηκε για τη διεξαγωγή μαζικών ιατρικών εξετάσεων μέσα σε λίγα λεπτά. Στη δεύτερη παράγραφο αυτής της ανασκόπησης, οι Αμερικανοί εταίροι μας περιέγραψαν ένα πολύ σημαντικό πράγμα που είναι θεμελιώδες για την επιτυχία στο Agile.

Πότε να χρησιμοποιήσετε το Agile;

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

6. «Επαναληπτικό μοντέλο» (επαναληπτικό ή επαναληπτικό μοντέλο)

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


Το διάγραμμα δείχνει την επαναληπτική «ανάπτυξη» της Μόνα Λίζα. Όπως μπορείτε να δείτε, στην πρώτη επανάληψη υπάρχει μόνο ένα σκίτσο της Μόνα Λίζα, στη δεύτερη εμφανίζονται τα χρώματα και η τρίτη επανάληψη προσθέτει λεπτομέρειες, κορεσμό και ολοκληρώνει τη διαδικασία. Στο επαυξητικό μοντέλο, η λειτουργικότητα του προϊόντος χτίζεται κομμάτι-κομμάτι, το προϊόν αποτελείται από μέρη. Σε αντίθεση με το επαναληπτικό μοντέλο, κάθε κομμάτι αντιπροσωπεύει ένα πλήρες στοιχείο.

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

Πότε είναι βέλτιστο να χρησιμοποιήσετε ένα επαναληπτικό μοντέλο;

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

7. "Spiral Model" (σπιράλ μοντέλο)



Το «σπιράλ μοντέλο» είναι παρόμοιο με το επαυξητικό μοντέλο, αλλά με έμφαση στην ανάλυση κινδύνου. Λειτουργεί καλά για την επίλυση κρίσιμων επιχειρηματικών προβλημάτων όταν η αποτυχία είναι ασυμβίβαστη με τις δραστηριότητες της εταιρείας, στο πλαίσιο της κυκλοφορίας νέων σειρών προϊόντων, όταν απαιτείται επιστημονική έρευνα και πρακτικές δοκιμές.

Το σπειροειδές μοντέλο περιλαμβάνει 4 στάδια για κάθε στροφή:

  1. σχεδίαση;
  2. ανάλυση κινδύνου;
  3. σχέδιο;
  4. αξιολόγηση του αποτελέσματος και, εάν η ποιότητα είναι ικανοποιητική, μετάβαση σε ένα νέο στάδιο.
Αυτό το μοντέλο δεν είναι κατάλληλο για μικρά έργα· είναι λογικό για πολύπλοκα και ακριβά, για παράδειγμα, όπως η ανάπτυξη ενός συστήματος ροής εγγράφων για μια τράπεζα, όταν κάθε επόμενο βήμα απαιτεί περισσότερη ανάλυση για την αξιολόγηση των συνεπειών από τον προγραμματισμό. Σε ένα έργο για την ανάπτυξη ενός EDMS για το ODU της Σιβηρίας SO UES, δύο συναντήσεις για την αλλαγή της κωδικοποίησης των τμημάτων του ηλεκτρονικού αρχείου χρειάζονται 10 φορές περισσότερο χρόνο από τον συνδυασμό δύο φακέλων από έναν προγραμματιστή. Τα κυβερνητικά έργα στα οποία συμμετείχαμε ξεκίνησαν με την προετοιμασία από την κοινότητα των ειδικών ενός ακριβού concept, το οποίο σε καμία περίπτωση δεν είναι πάντα άχρηστο, αφού αποδίδει σε εθνική κλίμακα.

Ας συνοψίσουμε



Η διαφάνεια δείχνει τις διαφορές μεταξύ των δύο πιο κοινών μεθοδολογιών.

Στη σύγχρονη πρακτική, τα μοντέλα ανάπτυξης λογισμικού είναι πολυπαραγοντικά. Δεν υπάρχει ένα σωστό μοντέλο για όλα τα έργα, τις προϋποθέσεις εκκίνησης και τα μοντέλα πληρωμής. Ακόμη και το Agile, τόσο αγαπητό σε όλους μας, δεν μπορεί να εφαρμοστεί παντού λόγω της ανετοιμότητας ορισμένων πελατών ή της αδυναμίας ευέλικτης χρηματοδότησης. Οι μεθοδολογίες επικαλύπτονται εν μέρει ως προς τα μέσα και είναι εν μέρει παρόμοιες μεταξύ τους. Ορισμένες άλλες έννοιες χρησιμοποιήθηκαν μόνο για την προώθηση των δικών τους μεταγλωττιστών και δεν έφεραν τίποτα νέο στην πράξη.

Σχετικά με τις τεχνολογίες ανάπτυξης:
.
.
.
.

Ποιες μεθοδολογίες χρησιμοποιείτε;