Τι είναι η Μηχανική Λογισμικού; Ορισμός, Βασικά, Χαρακτηριστικά
Τι είναι η Μηχανική Λογισμικού;
Η μηχανική λογισμικού ορίζεται ως μια διαδικασία ανάλυσης των απαιτήσεων των χρηστών και στη συνέχεια σχεδίασης, κατασκευής και δοκιμής εφαρμογής λογισμικού που θα ικανοποιήσει αυτές τις απαιτήσεις.
Ας δούμε τους διάφορους ορισμούς της μηχανικής λογισμικού:
- Το IEEE, στο πρότυπο 610.12-1990 του, ορίζει τη μηχανική λογισμικού ως την εφαρμογή μιας συστηματικής, πειθαρχημένης, η οποία είναι μια υπολογιστική προσέγγιση για την ανάπτυξη, λειτουργία και συντήρηση λογισμικού.
- Ο Fritz Bauer το όρισε ως «την καθιέρωση και χρησιμοποίηση τυπικών αρχών μηχανικής. Σας βοηθά να αποκτήσετε, οικονομικά, λογισμικό που είναι αξιόπιστο και λειτουργεί αποτελεσματικά στις πραγματικές μηχανές».
- Η Boehm ορίζει τη μηχανική λογισμικού, η οποία περιλαμβάνει «την πρακτική εφαρμογή της επιστημονικής γνώσης στον δημιουργικό σχεδιασμό και την κατασκευή προγραμμάτων υπολογιστών. Περιλαμβάνει επίσης τη σχετική τεκμηρίωση που απαιτείται για την ανάπτυξη, τη λειτουργία και τη συντήρησή τους».
Γιατί Μηχανική Λογισμικού; Κρίση λογισμικού και η λύση της
Τι ήταν η κρίση λογισμικού;
- Ήταν στα τέλη της δεκαετίας του 1960 όταν πολλά έργα λογισμικού απέτυχαν.
- Πολλά λογισμικά ξεπέρασαν τον προϋπολογισμό. Το Output ήταν ένα αναξιόπιστο λογισμικό που είναι ακριβό στη συντήρηση.
- Το μεγαλύτερο λογισμικό ήταν δύσκολο και αρκετά ακριβό στη συντήρηση.
- Πολλά λογισμικά δεν μπορούν να ικανοποιήσουν τις αυξανόμενες απαιτήσεις του πελάτη.
- Η πολυπλοκότητα των έργων λογισμικού αυξανόταν κάθε φορά που αυξανόταν η ικανότητα υλικού του.
- Η ζήτηση για νέο λογισμικό αυξήθηκε ταχύτερα σε σύγκριση με τη δυνατότητα δημιουργίας νέου λογισμικού.
Όλα τα παραπάνω ζητήματα οδηγούν σε "Κρίση λογισμικού".
Η Λύση
Η λύση ήταν στο πρόβλημα η μετατροπή της μη οργανωμένης προσπάθειας κωδικοποίησης σε κλάδο μηχανικής λογισμικού. Αυτά τα μοντέλα μηχανικής βοήθησαν τις εταιρείες να εξορθολογίσουν τις λειτουργίες τους και να προσφέρουν λογισμικό που ανταποκρίνεται στις απαιτήσεις των πελατών.
- Στα τέλη της δεκαετίας του 1970 παρατηρήθηκαν οι ευρείες χρήσεις των αρχών της μηχανικής λογισμικού.
- Στη δεκαετία του 1980 παρατηρήθηκε η αυτοματοποίηση της διαδικασίας μηχανικής λογισμικού και η ανάπτυξη της (CASE) Μηχανικής Λογισμικού Υποβοηθούμενης από Υπολογιστές.
- Στη δεκαετία του 1990 δόθηκε αυξημένη έμφαση στις πτυχές «διαχείρισης» των προτύπων ποιότητας και των διαδικασιών έργων όπως το ISO 9001
Γιατί η Μηχανική Λογισμικού είναι δημοφιλής;
Ακολουθούν σημαντικοί λόγοι πίσω από τη δημοτικότητα της μηχανικής λογισμικού:
- Μεγάλο λογισμικό – Στην πραγματική μας ζωή, είναι πολύ πιο άνετο να χτίσουμε έναν τοίχο παρά ένα σπίτι ή ένα κτίριο. Με τον ίδιο τρόπο, καθώς το μέγεθος του λογισμικού γίνεται μεγάλο, η μηχανική λογισμικού σάς βοηθά να δημιουργήσετε λογισμικό.
- Επεκτασιμότητα- Εάν η διαδικασία ανάπτυξης λογισμικού βασιζόταν σε επιστημονικές και μηχανολογικές έννοιες, είναι ευκολότερο να δημιουργήσετε ξανά νέο λογισμικό για να κλιμακώσετε ένα υπάρχον.
- Ικανότητα προσαρμογής: Κάθε φορά που η διαδικασία λογισμικού βασίστηκε σε επιστημονικά στοιχεία και μηχανικούς, είναι εύκολο να δημιουργήσετε ξανά νέο λογισμικό με τη βοήθεια της μηχανικής λογισμικού.
- Κόστος- Η βιομηχανία υλικού έχει δείξει τις δεξιότητές της και η τεράστια κατασκευή έχει μειώσει το κόστος του υπολογιστή και του ηλεκτρονικού υλικού.
- Δυναμική Φύση– Πάντα αναπτυσσόμενη και προσαρμοστική φύση του λογισμικού. Εξαρτάται από το περιβάλλον στο οποίο εργάζεται ο χρήστης.
- Διαχείρισης Ποιότητας: Προσφέρει καλύτερη μέθοδο ανάπτυξης λογισμικού για την παροχή ποιοτικών προϊόντων λογισμικού.
Σχέση Μηχανικής Λογισμικού με άλλους κλάδους
Δείτε πώς σχετίζεται η μηχανική λογισμικού με άλλους κλάδους:
- Επιστήμη των υπολογιστών: Δίνει την επιστημονική βάση για το λογισμικό καθώς η ηλεκτρική μηχανική εξαρτάται κυρίως από τη φυσική.
- Διοικητική επιστήμη: Η μηχανική λογισμικού είναι εργασία έντασης εργασίας που απαιτεί τόσο τεχνικό όσο και διαχειριστικό έλεγχο. Ως εκ τούτου, χρησιμοποιείται ευρέως στην επιστήμη της διαχείρισης.
- Οικονομικά: Σε αυτόν τον τομέα, η μηχανική λογισμικού σάς βοηθά στην εκτίμηση των πόρων και στον έλεγχο του κόστους. Το υπολογιστικό σύστημα πρέπει να αναπτυχθεί και τα δεδομένα θα πρέπει να διατηρούνται τακτικά εντός ενός δεδομένου προϋπολογισμού.
- Μηχανική Συστήματος: Το μεγαλύτερο μέρος του λογισμικού είναι συστατικό ενός πολύ μεγαλύτερου συστήματος. Για παράδειγμα, το λογισμικό σε ένα σύστημα παρακολούθησης της βιομηχανίας ή το λογισμικό πτήσης σε ένα αεροπλάνο. Στη μελέτη αυτού του τύπου συστημάτων θα πρέπει να εφαρμόζονται μέθοδοι μηχανικής λογισμικού.
Προκλήσεις της Μηχανικής Λογισμικού
Ακολουθούν ορισμένες κρίσιμες προκλήσεις που αντιμετωπίζουν οι μηχανικοί λογισμικού:
- Σε τομείς κρίσιμους για την ασφάλεια, όπως το διάστημα, η αεροπορία, οι πυρηνικοί σταθμοί, κ.λπ., το κόστος της αποτυχίας λογισμικού μπορεί να είναι τεράστιο επειδή κινδυνεύουν ζωές.
- Αυξημένες απαιτήσεις της αγοράς για γρήγορο χρόνο ανάκαμψης.
- Αντιμετώπιση της αυξημένης πολυπλοκότητας της ανάγκης λογισμικού για νέες εφαρμογές.
- Η ποικιλία των συστημάτων λογισμικού θα πρέπει να επικοινωνεί μεταξύ τους.
Χαρακτηριστικά για προϊόντα λογισμικού
Τα χαρακτηριστικά οποιουδήποτε προϊόντος λογισμικού περιλαμβάνουν χαρακτηριστικά που εμφανίζονται από το προϊόν όταν εγκαθίσταται και τίθεται σε χρήση.
Δεν είναι οι υπηρεσίες που παρέχονται από το προϊόν. Αντίθετα, έχουν συσχετιστεί με τη δυναμική συμπεριφορά των προϊόντων και τη χρήση του προϊόντος.
Παραδείγματα αυτών των χαρακτηριστικών είναι:
Efficiency, reliability, robustness, maintainability, etc.
Ωστόσο, η σχετική σημασία αυτών των χαρακτηριστικών διαφέρει από το ένα σύστημα λογισμικού στο άλλο.
Χαρακτηριστικών του Προϊόντος | Descriptιόν |
---|---|
Συντήρηση | Το λογισμικό θα πρέπει να εξελίσσεται για να ανταποκρίνεται στις μεταβαλλόμενες απαιτήσεις των πελατών. |
Αξιοπιστία | Η αξιοπιστία περιλαμβάνει διάφορα χαρακτηριστικά. Το αξιόπιστο λογισμικό δεν πρέπει ποτέ να προκαλεί φυσική ή οικονομική ζημιά τη στιγμή της βλάβης του συστήματος. |
Αποδοτικότητα | Η εφαρμογή λογισμικού θα πρέπει να χρησιμοποιεί υπερβολικά πόρους του συστήματος, όπως τη μνήμη και τον κύκλο του επεξεργαστή. |
Ευχρηστία | Η εφαρμογή λογισμικού θα πρέπει να έχει συγκεκριμένο περιβάλλον χρήστη και τεκμηρίωση. |
Η βελτιστοποίηση του παραπάνω χαρακτηριστικού είναι πολύ δύσκολη. Για παράδειγμα, η προσφορά καλύτερης διεπαφής χρήστη μπορεί να μειώσει την αποτελεσματικότητα του συστήματος.
Χαρακτηριστικά Καλού Λογισμικού
Οποιοδήποτε λογισμικό πρέπει να κρίνεται από το τι προσφέρει και ποιες είναι οι μέθοδοι που σας βοηθούν να το χρησιμοποιήσετε.
Κάθε λογισμικό πρέπει να πληροί τα ακόλουθα χαρακτηριστικά:
- Operaλογικό
- Μεταβατικός
- Συντήρηση
Ακολουθούν ορισμένα σημαντικά χαρακτηριστικά ενός καλού λογισμικού που έχουν αναπτυχθεί από επαγγελματίες λογισμικού
Operaλογικό
Αυτό το χαρακτηριστικό μας ενημερώνει για το πόσο καλά λειτουργεί το λογισμικό στις λειτουργίες που μπορούν να μετρηθούν σε:
- Προϋπολογισμός
- Αποδοτικότητα
- Ευχρηστία
- Αξιοπιστία
- Ορθότητα
- Λειτουργικότητα
- Ασφάλεια
- Ασφάλεια
Μεταβατικός
Αυτή είναι μια ουσιαστική πτυχή όταν το λογισμικό μετακινείται από τη μια πλατφόρμα στην άλλη:
- Διαλειτουργικότητα
- Επαναχρησιμοποίηση
- Φορητότητα
- Ικανότητα προσαρμογής
Συντήρηση
Αυτή η πτυχή μιλά για το πόσο καλά το λογισμικό έχει τις δυνατότητες να προσαρμόζεται στο ταχέως μεταβαλλόμενο περιβάλλον:
- Ευελιξία
- Συντήρηση
- Αρθρωτότητα
- Απεριόριστες δυνατότητες
Σύνοψη
- Η μηχανική λογισμικού είναι μια διαδικασία ανάλυσης των απαιτήσεων των χρηστών και στη συνέχεια σχεδίασης, κατασκευής και δοκιμής εφαρμογής λογισμικού που θα ικανοποιήσει αυτές τις απαιτήσεις
- Σημαντικοί λόγοι για τη χρήση της μηχανικής λογισμικού είναι: 1) Μεγάλο λογισμικό, 2) Επεκτασιμότητα 3) Προσαρμοστικότητα 4) Κόστος και 5) Δυναμική φύση.
- Στα τέλη της δεκαετίας του 1960, πολλά λογισμικά ξεπερνούν τον προϋπολογισμό. Ως εκ τούτου, προσφέρει αναξιόπιστο λογισμικό που είναι ακριβό στη συντήρηση.
- Στα τέλη της δεκαετίας του 1970 παρατηρήθηκαν οι ευρείες χρήσεις των αρχών της μηχανικής λογισμικού.
- Έννοια της μηχανικής λογισμικού 1) Επιστήμη Υπολογιστών 2) Επιστήμη Διοίκησης 3) Μηχανική Συστημάτων και 4) Οικονομικά
- Οι αυξημένες απαιτήσεις της αγοράς για γρήγορο χρόνο διεκπεραίωσης είναι οι μεγαλύτερες προκλήσεις στον τομέα της μηχανικής λογισμικού.
- 1)Δυνατότητα συντήρησης, 2) αξιοπιστία, 3) αποτελεσματικότητα και, 4) χρηστικότητα είναι τα πιο σημαντικά χαρακτηριστικά των προϊόντων λογισμικού.
- Τα τρία πιο σημαντικά χαρακτηριστικά ενός καλού λογισμικού είναι 1) Operaμεταβατικό 2)Μεταβατικό 3)Συντήρ.