Fondamenti di Ingegneria del Software e Gestione dei Requisiti

Classificato in Informatica

Scritto il in italiano con una dimensione di 4,37 KB

Processi dell'Ingegneria del Software

L'Ingegneria del Software rappresenta il set totale di attività necessarie per trasformare le esigenze di un utente in software.

Fasi Principali dei Processi

  • Specifiche software: i clienti e gli ingegneri definiscono il software da produrre e le restrizioni per il loro funzionamento.
  • Sviluppo del software: il software viene progettato e programmato.
  • Validazione del software: il software viene verificato per garantire che sia esattamente ciò che il cliente desidera.
  • Evoluzione del software: il programma viene modificato per adattarsi alle mutevoli esigenze dei clienti e del mercato.

Esigenza di Software

Queste sono le proprietà desiderabili per un software di sistema. Tali requisiti riflettono le necessità dei clienti per un sistema che aiuti a risolvere alcuni problemi. Il processo di scoprire, analizzare, documentare e verificare fa parte del concetto di obbligo di software.

Modelli di Sviluppo

Modello a Spirale

Il modello a spirale unisce la prototipazione iterativa con gli aspetti sistematici e controllati del modello lineare e sequenziale, prendendo in considerazione la prospettiva dell'analisi dei rischi.

Modello Incrementale

Il modello incrementale combina elementi del modello a cascata e viene utilizzato in modo interattivo. Il modello di processo è un prototipo incrementale iterativo; oltre a ciò, il prototipo incrementale si propone di presentare un prodotto operativo con ogni incremento effettuato.

Ciclo di Vita: Passi del Modello a Cascata

Le fasi principali includono:

  • Requisiti di specifica: generazione della documentazione del sistema che serve come base per il budget e la pianificazione.
  • Discussione: precisa comprensione del problema e del dominio del software.
  • Caratteristiche del progetto: definizione di strutture dati, architetture software, procedure e interfacce.
  • Codifica: traduzione del progetto in un linguaggio leggibile per la macchina.
  • Test: deve garantire che l'input del programma produca i risultati sperati.
  • Manutenzione: analizzare i problemi di prestazioni, il verificarsi di errori e così via.

Continuous Integration

La Continuous Integration è un processo che integra le pratiche di sviluppo agile e mira a mantenere la qualità nello sviluppo del software, riducendo così i fallimenti. Questo avviene perché si eseguono automaticamente molti test automatizzati e si costruisce il progetto; se c'è qualcosa di sbagliato o fuori dagli standard stabiliti (standard di qualità), gli interessati vengono comunicati automaticamente.

Project Manager e Cronologia

Project Manager

Il Project Manager deve definire lo scopo, monitorare i progressi, gestire il rischio, coordinare i componenti del team, assegnare le responsabilità e verificare se il progetto rientra nel bilancio previsto.

Cronologia

Identificare le attività e le dipendenze, stimare le attività, prevedere le risorse necessarie, allocare le persone per ogni attività e creare diagrammi di progetto.

Requisiti di Progettazione

  • Requisiti funzionali: dichiarazioni dei servizi che il sistema dovrebbe fornire, come il sistema deve reagire a input particolari e come deve comportarsi in determinate situazioni.
  • Requisiti non funzionali: restrizioni sui servizi o funzioni offerte dal sistema. Esempi includono requisiti di affidabilità, robustezza ed efficienza.
  • Requisiti utente: istruzioni in un linguaggio naturale con diagrammi, che descrivono quali servizi sono attesi dal sistema e i vincoli ai quali esso deve operare.
  • Requisiti di sistema: definiscono le funzioni, i servizi e i vincoli operativi del sistema. Il documento dei requisiti di sistema deve essere preciso.

Voci correlate: