L'ingegneria del software è definita come il processo di analisi delle esigenze degli utenti e quindi di progettazione, costruzione e test di applicazioni software in grado di soddisfare tali esigenze.
Descrive l'ingegneria del software come un'applicazione sistematica e disciplinata, un modo responsabile per sviluppare, far funzionare e mantenere il software.
Fritz Bauer lo ha descritto come un "istituto" e ha applicato i principi standard dell'ingegneria. Ti aiuta a ottenere un software economico, affidabile e funzionante in modo efficiente su macchine reali.
Boehm definisce l'ingegneria del software come l'applicazione pratica della conoscenza scientifica nella progettazione creativa e nella costruzione di programmi per computer. Include anche i documenti pertinenti necessari per svilupparli, gestirli e mantenerli. "
In questo tutorial di ingegneria del software imparerai:
Che cos'è l'ingegneria del software?
Perché Ingegneria del Software? Crisi del software e sua soluzione
Perché l'ingegneria del software è popolare?
Il rapporto dell'ingegneria del software con altri campi
Sfide dell'ingegneria del software
Attributi per prodotti software
Buone funzionalità del software
Perché Ingegneria del Software? Crisi del software e soluzioni:
Qual è stata la crisi del software?
Fu alla fine degli anni '60 che molti progetti software fallirono.
Molti software superano il budget. L'output è stato un incredibile pezzo di software costoso da mantenere.
Il software di grandi dimensioni era difficile e costoso da mantenere.
Molti servizi software non sono in grado di soddisfare le crescenti esigenze dei clienti.
Con l'aumento della sua capacità hardware, è aumentata anche la complessità dei progetti software.
La domanda di questa specialità è cresciuta in modo significativo a causa dei recenti scandali aziendali.
Tutti i problemi di cui sopra portano a una "crisi del software".
La soluzione a questo problema è stata quella di trasformare lo sforzo della codifica non organizzata in una disciplina di ingegneria del software. Questi modelli ingegneristici hanno aiutato le aziende a semplificare le operazioni e a fornire software in grado di soddisfare le esigenze dei clienti.
La fine degli anni '70 ha visto un uso diffuso dei principi dell'ingegneria del software.
Gli anni '80 hanno visto lo sviluppo dell'automazione dei processi di ingegneria del software e dell'ingegneria del software assistita da computer (CASE).
Simile alla ISO 9001 negli anni '90, l'enfasi è stata posta sugli aspetti di "gestione" dei progetti di qualità e qualità dei processi.
Perché l'ingegneria del software è popolare?
I motivi principali alla base della popolarità dell'ingegneria del software sono:
Ottimo software - Nella nostra vita reale, costruire un muro è molto più comodo che costruire una casa o un edificio. Allo stesso modo, con l'aumento delle dimensioni del software, l'ingegneria del software ti aiuta a creare software.
Scalabilità: se il processo di sviluppo del software fosse basato su concetti scientifici e ingegneristici, sarebbe facile ricreare il nuovo software per ridimensionare il software esistente.
Adattamento: ogni volta che il processo del software era basato sulla scienza e l'ingegneria, è facile ricreare un nuovo software con l'aiuto dell'ingegneria del software.
Costo - L'industria dell'hardware ha mostrato la sua abilità e la produzione su larga scala ha ridotto il costo del computer e dell'hardware elettronico.
Natura dinamica - La natura del software è in continua evoluzione ed evoluzione. Dipende dall'ambiente in cui l'utente lavora.
Gestione della qualità: offre un modo migliore di sviluppo del software per fornire prodotti software di qualità.
Il rapporto dell'ingegneria del software con altri campi
Ecco cosa ha a che fare l'ingegneria del software con altri campi:
Informatica: fornisce una base scientifica per il software perché l'ingegneria elettrica dipende principalmente dalla fisica.
Scienza gestionale: l'ingegneria del software è un duro lavoro che richiede controllo sia tecnico che gestionale. Pertanto, è ampiamente utilizzato nella scienza della gestione.
Economia: in quest'area, l'ingegneria del software ti aiuta a stimare le risorse e controllare i costi. È necessario sviluppare sistemi informatici e mantenere i dati entro un determinato budget.
Ingegneria dei sistemi: la maggior parte del software è un componente di un sistema molto grande. Ad esempio, software nei sistemi di monitoraggio del settore o software di volo sugli aeroplani. I metodi di ingegneria del software dovrebbero essere applicati allo studio di tali sistemi.
Sfide dell'ingegneria del software
Alcune delle principali sfide che gli ingegneri del software devono affrontare sono:
I guasti del software in aree critiche per la sicurezza come l'aerospaziale, l'aviazione, le centrali nucleari, ecc., possono essere molto costosi perché sono in gioco vite umane.
Crescente domanda del mercato per un periodo di rapidi cambiamenti.
Affrontare la crescente complessità dei requisiti software per le nuove applicazioni.
La diversità dei sistemi software dovrebbe comunicare tra loro.
Attributi per prodotti software
Le funzionalità di qualsiasi prodotto software includono le funzionalità visualizzate dal prodotto quando viene installato e utilizzato.
Non sono i servizi forniti dal prodotto. Si riferiscono invece alla dinamica del prodotto e all'uso del prodotto.
Esempi di questi attributi sono:
Prestazioni, affidabilità, robustezza, ritenzione, ecc.
Tuttavia, l'importanza relativa di queste funzionalità varia da un sistema software all'altro.
Descrizione delle caratteristiche del prodotto
Il software di manutenzione deve essere pronto per soddisfare le mutevoli esigenze dei clienti.
Affidabilità L'affidabilità include varie funzionalità. Un software affidabile non dovrebbe mai causare danni fisici o finanziari in caso di guasto del sistema.
Le applicazioni software per le prestazioni dovrebbero sfruttare al massimo le risorse di sistema come la memoria e i cicli del processore.
Le applicazioni software utilizzabili devono avere interfacce utente e documentazione specifiche.
La funzionalità di cui sopra è molto difficile da migliorare. Ad esempio, l'offerta di un'interfaccia utente migliore può ridurre le prestazioni del sistema.
Buone funzionalità del software
Qualsiasi software dovrebbe essere giudicato in base a ciò che offre e quali sono i modi in cui ti aiuta a usarlo.
Ogni software deve soddisfare i seguenti attributi:
Operativo
di transizione
prendersi cura di
Ecco alcune caratteristiche chiave di un buon software sviluppato da professionisti del software.
Operativo
Questa funzione ci dice quanto bene funziona il software in queste operazioni che possono essere misurate:
Bilancio
Prestazione
Utilizzabile
Dipendenza
correzione
Funzionalità
Sicurezza
sicurezza
di transizione
Questo è un aspetto importante durante il trasferimento di software da una piattaforma all'altra:
Interoperabilità
Possibilità di riutilizzo
Portabilità
Adattamento
prendersi cura di
Questo aspetto la dice lunga sulla capacità del software di adattarsi ad ambienti in rapida evoluzione:
Flessibilità
Manutenzione
Modularità
Scalabilità
Astratto
L'ingegneria del software è il processo di analisi delle esigenze degli utenti e quindi di progettazione, costruzione e test di applicazioni software in grado di soddisfare tali esigenze.
I motivi principali per utilizzare l'ingegneria del software sono: 1) ottimo software, 2) scalabilità 3) adattamento 4) costo e 5) natura dinamica.
Alla fine degli anni '60, molti software erano fuori budget. Quindi offre un software incredibile che è costoso da mantenere.
La fine degli anni '70 ha visto un uso diffuso dei principi dell'ingegneria del software.
Il concetto di ingegneria del software 1) Informatica 2) Scienze gestionali 3) Ingegneria dei sistemi e 4) Economia
La crescente domanda del mercato per un rapido cambiamento è una delle maggiori sfide che il settore dell'ingegneria del software deve affrontare.
1) Capacità di mantenere, 2) Dipendenza, 3) Prestazioni e, 4) Software utilizzabile sono le caratteristiche più importanti di un prodotto.
Le tre caratteristiche più importanti di un buon software sono 1) Operativa 2) Transitoria 3) Manutenzione.
No comments:
Post a Comment