Ingegneria del software

L'Ingegneria del software è una disciplina ingegneristica Informatica che caratterizza l'intero processo di produzione di un software: dalla sua ideazione iniziale all’operatività fino al suo mantenimento.

Distinguiamo i seguenti principali approcci ingegneristici allo sviluppo software:

Cosa fa un software ben ingegnerizzato?

Un software ben ingegnerizzato restituisce le funzionalità aspettate, è performante, manuntenibile, affidabile e utilizzabile dall’utente finale. Ad esempio:

graph LR
    A[Utente] -- Interagisce con --> B(Frontend / UI);
    B -- Invia Richiesta HTTP (API Call) --> C{Backend / Server};
    C -- Legge/Scrive Dati --> D[(Database)];
    D -- Restituisce Dati --> C;
    C -- Invia Risposta --> B;
    B -- Mostra il Risultato --> A;

    subgraph "Lato Client (Browser/App)"
        A
        B
    end

    subgraph "Lato Server"
        C
        D
    end