Ingegneria del software ● ● ● ● Per ingegneria del software (software engineering) si intende quella disciplina che si occupa della progettazione, produzione, riutilizzabilità e manutenzione dei sistemi software. Nasce intorno alla metà degli anni '60. Obiettivo principale: creare sistemi sofware di qualità abbassando il rapporto costo/qualità. Persone coinvolte nel processo: (1) Clienti (richiedono e utilizzano il software); (2) Fornitori (sviluppano e vendono il software). Processo di sviluppo ● ● Per processo di sviluppo si intende l'insieme delle attività e procedure che vengono messe in atto per sviluppare un prodotto di qualità. Affinché un processo di sviluppo sia efficace occorre: (a) stabilire la successione ottimale delle attività; (b) fornire la necessaria documentazione; (c) assegnare i vari compiti agli sviluppatori; (d) monitorare l'andamento del progetto. ● Nella fase di progettazione è opportuno utilizzare linguaggi e strumenti per modellare, comunicare e documentare gli elementi del progetto. Ciclo di vita del software Analisi Progettazione Fase di produzione del software (dalla richiesta da parte del cliente al rilascio del prodotto) Realizzazione Manutenzione Fase di gestione del software (dal rilascio del prodotto fino al suo abbandono) Analisi, progettazione e realizzazione Fase Sottofasi Documentazione Analisi Definizione dei requisiti Specifica dei requisiti Studio di fattibilità Progettazione Programmazione (codifica) Test Integrazione e test Realizzazione Rilascio del prodotto e collaudo Avviamento Architettura di progetto Disegno di dettaglio Manuale d'uso Manutenzione ● Manutenzione correttiva ➔ ● Manutenzione adattiva ➔ ● Correzione di eventuali errori dovuti a dettagli non ben testati o a aspetti non considerati (es: millenium bug) Adeguamento delle funzionalità in seguito a mutate condizioni sociali e/o legislative Manutenzione evolutiva ➔ Miglioramenti apportati per soddisfare nuove esigenze dell'utenza
© Copyright 2024 ExpyDoc