Metodologie di programmazione - Introduzione
Quando i programmi vengono sviluppati per risolvere problemi della vita reale come la gestione dell'inventario, l'elaborazione delle buste paga, l'ammissione degli studenti, l'elaborazione dei risultati degli esami, ecc., Tendono ad essere enormi e complessi. Viene chiamato l'approccio all'analisi di problemi così complessi, alla pianificazione dello sviluppo del software e al controllo del processo di sviluppoprogramming methodology.
Tipi di metodologie di programmazione
Esistono molti tipi di metodologie di programmazione prevalenti tra gli sviluppatori di software:
Programmazione procedurale
Il problema è suddiviso in procedure o blocchi di codice che eseguono un'attività ciascuno. Tutte le procedure prese insieme formano l'intero programma. È adatto solo per piccoli programmi che hanno un basso livello di complessità.
Example- Per un programma di calcolo che esegue addizioni, sottrazioni, moltiplicazioni, divisioni, radici quadrate e confronti, ciascuna di queste operazioni può essere sviluppata come procedure separate. Nel programma principale ogni procedura verrebbe richiamata in base alla scelta dell'utente.
Programmazione orientata agli oggetti
Qui la soluzione ruota attorno a entità o oggetti che fanno parte del problema. La soluzione si occupa di come memorizzare i dati relativi alle entità, come si comportano le entità e come interagiscono tra loro per fornire una soluzione coesa.
Example - Se dobbiamo sviluppare un sistema di gestione delle buste paga, avremo entità come dipendenti, struttura salariale, regole di ferie, ecc. Attorno alle quali deve essere costruita la soluzione.
Programmazione funzionale
Qui il problema, o la soluzione desiderata, è suddiviso in unità funzionali. Ogni unità svolge il proprio compito ed è autosufficiente. Queste unità vengono poi cucite insieme per formare la soluzione completa.
Example - Un'elaborazione delle buste paga può avere unità funzionali come la gestione dei dati dei dipendenti, il calcolo dello stipendio base, il calcolo dello stipendio lordo, l'elaborazione delle ferie, l'elaborazione del rimborso del prestito, ecc.
Programmazione logica
Qui il problema è suddiviso in unità logiche piuttosto che in unità funzionali. Example:In un sistema di gestione scolastica, gli utenti hanno ruoli molto definiti come insegnante di classe, insegnante di materia, assistente di laboratorio, coordinatore, responsabile accademico, ecc. Quindi il software può essere suddiviso in unità a seconda dei ruoli utente. Ogni utente può avere un'interfaccia, autorizzazioni, ecc. Differenti.
Gli sviluppatori di software possono scegliere una o una combinazione di più di una di queste metodologie per sviluppare un software. Si noti che in ciascuna delle metodologie discusse, il problema deve essere suddiviso in unità più piccole. Per fare ciò, gli sviluppatori utilizzano uno dei seguenti due approcci:
- Approccio dall 'alto verso il basso
- Approccio dal basso verso l'alto
Approccio top-down o modulare
Il problema è suddiviso in unità più piccole, che possono essere ulteriormente suddivise in unità ancora più piccole. Ogni unità è chiamata amodule. Ogni modulo è un'unità autosufficiente che dispone di tutto il necessario per svolgere il proprio compito.
La figura seguente mostra un esempio di come è possibile seguire un approccio modulare per creare moduli diversi durante lo sviluppo di un programma di elaborazione delle buste paga.
Approccio bottom-up
Nell'approccio bottom-up, la progettazione del sistema inizia con il livello più basso di componenti, che vengono quindi interconnessi per ottenere componenti di livello superiore. Questo processo continua finché non viene generata una gerarchia di tutti i componenti del sistema. Tuttavia, nello scenario di vita reale è molto difficile conoscere tutti i componenti di livello più basso all'inizio. Quindi l'approccio dal basso verso l'alto viene utilizzato solo per problemi molto semplici.
Esaminiamo i componenti di un programma di calcolatrice.