Read Aloud the Text Content
This audio was created by Woord's Text to Speech service by content creators from all around the world.
Text Content or SSML code:
SOFTWARE ENGINEERING. 1. Ian Sommerville definisce il software come... Risposta. …programmi per computer e documentazione associata. 2. Quali sono gli attributi di un buon software? Risposta. Un buon software deve fornire all'utente le funzionalità e le prestazioni richieste e deve essere mantenibile, affidabile e utilizzabile. 3. Il software deve essere efficiente. Che cosa significa? Risposta. Che non deve sprecare le risorse del sistema, come la memoria e i cicli del processore. L'efficienza comprende quindi la reattività, il tempo di elaborazione, l'utilizzo delle risorse, ecc. 4. I prodotti software possono essere sviluppati per... Risposta. …per il mercato generale o per un cliente particolare. 5. L'affidabilità del software comprende una serie di caratteristiche, tra cui l'affidabilità. Che cosa significa? Risposta. Un software affidabile non dovrebbe causare danni fisici o economici in caso di guasto del sistema. 6. Qual è la differenza tra ingegneria del software e ingegneria dei sistemi? Risposta. L'ingegneria dei sistemi si occupa di tutti gli aspetti dello sviluppo di sistemi informatici, compresi l'hardware, il software e l'ingegneria dei processi. L'ingegneria del software fa parte di questo processo più generale. 7. Rispetto alle discipline ingegneristiche più tradizionali, possiamo dire che l'ingegneria del software è... (1 parola) Risposta. Giovane. 8. Il software deve essere accettabile per il tipo di utenti per cui è stato progettato. Che cosa significa? Risposta. Significa che deve essere comprensibile, utilizzabile e compatibile con gli altri sistemi che utilizzano. 9. Qual è la differenza tra ingegneria del software e informatica? Risposta. L'informatica si concentra sulla teoria e sui fondamenti; l'ingegneria del software si occupa della pratica dello sviluppo e della fornitura di software utile. 10. Quali differenze ha apportato Internet all'ingegneria del software? Risposta.Internet non solo ha portato allo sviluppo di sistemi massicci, altamente distribuiti e basati su servizi, ma ha anche sostenuto la creazione di un'industria delle "app" per i dispositivi mobili. 11. Ian Sommerville definisce l'ingegneria del software come... Risposta.…una disciplina ingegneristica che si occupa di tutti gli aspetti della produzione di software (dalla concezione iniziale al funzionamento e alla manutenzione). 12. Quali sono le migliori tecniche e metodi di ingegneria del software? Risposta.Sebbene tutti i progetti software debbano essere gestiti e sviluppati in modo professionale, diverse tecniche sono appropriate per diversi tipi di sistema. 13. Il software deve essere manutenibile. Che cosa significa? Risposta. Significa che deve essere scritto in modo tale da potersi evolvere per soddisfare le mutevoli esigenze dei clienti. 14. Quali sono le attività fondamentali dell'ingegneria del software? Risposta. Specifica del software, sviluppo del software, validazione del software ed evoluzione del software. 15. L'affidabilità del software comprende una serie di caratteristiche, tra cui la sicurezza e la protezione. Che cosa significa? Risposta. Il software deve essere sicuro, in modo che gli utenti malintenzionati non possano accedere al sistema o danneggiarlo. 16. Quali sono i costi dell'ingegneria del software? Risposta. Circa il 60% è rappresentato dai costi di sviluppo, il 40% dai costi di test. 17. Quali sono le sfide principali che l'ingegneria del software deve affrontare? Sempre maggiore diversità, tempi di consegna sempre più ridotti, software affidale. 18. Per il software personalizzato, i costi di evoluzione spesso superano quelli di sviluppo. Perché? Risposta. Perché i requisiti cambiano e si evolvono continuamente. E di conseguenza anche il software. NUOVO CAPITOLO. DIPENDENZE DAL SOFTWARE. 1. Una "dipendenza software" è semplicemente definita come... risposta. …qualsiasi pezzo di codice su cui si fa affidamento per il corretto funzionamento di un servizio digitale. 2. Ho bisogno di un algoritmo di hashing per le password. Decido di svilupparne uno mio. Sto prendendo una buona decisione? Perché? Risposta. No. Il problema è già stato risolto. La mia implementazione non può che essere peggiore di quelle disponibili. 3. Nello sviluppo di un prodotto software voglio riutilizzare il più possibile il codice esistente. Indicate almeno due ragioni per cui questa affermazione è vera o falsa. Risposta.È vero. Il riutilizzo del codice esistente velocizza lo sviluppo e riduce i rischi di bug. 4. In un contesto Java, qual è il nome di uno strumento di gestione delle dipendenze? Risposta.Maven 5. Le dipendenze del software sollevano un problema importante. Che cos'è? Risposta.La fiducia 6. Per il prodotto software che sto sviluppando ho bisogno di una libreria matematica. Decido di scaricarne una e di "venderla" nella struttura del mio progetto. È un buon approccio? Risposta.Esclusi rari casi, si tratta di una scelta sbagliata. L'uso di uno strumento di gestione delle dipendenze è in generale una scelta migliore. 7. Uno strumento di gestione delle dipendenze del software si affida tipicamente a un repository su Internet. Quale rischio comporta e come può essere mitigato? Risposta.Il rischio è legato alla disponibilità del repository. Possiamo quindi creare un nostro mirror. 8. Per un determinato prodotto software che sto sviluppando, definisco una dipendenza senza fissarne il numero di versione. Il mio strumento di gestione delle dipendenze scaricherà quindi sempre l'ultima versione disponibile. Quando e perché è una buona decisione e quando no? Risposta.È una buona decisione solo se posso testare sistematicamente la dipendenza (funzionalità, sicurezza, performance, ecc.). Altrimenti è una decisione sbagliata. 9. Che cos'è una "dipendenza transitiva"? Risposta. Una dipendenza di una dipendenza. 10. Che cos'è l'"inferno delle dipendenze"? Risposta.È un fenomeno in cui le dipendenze non possono essere risolte.