Le basi per sviluppare un progetto sono:
- Analisi del problema (Definire i bisogni, gli obiettivi, il target e la strategia del progetto, partendo da un’analisi della situazione esistente e delle opportunità)
- Idea (soluzione informale) Pianificare il progetto, stabilendo le attività, le risorse, i costi, le scadenze e i criteri di qualità
- Algoritmo (soluzione formale)
- Programma (traduzione dell’algoritmo in una forma comprensibile da un computer, pseudo-linguaggio o pseudo-codice)
- Test (su molti casi, con particolare attenzione ai casi limite)
- Documentazione (manuale utente + manuale del programmatore)
Questi sono gli step principali che scandiscono il ciclo di vita di un progetto, secondo il modello proposto dal Project Management Institute (PMI) Esistono anche altri modelli e metodi di gestione dei progetti, adatti a diversi tipi di progetto e contesti.
Compiti del programmatore:
- Analizzare il problema riducendolo in termini astratti, eliminando ogni componente non indispensabile e formulando un modello del problema
- Individuare una strategia risolutiva e ricondurla ad un algoritmo
- Codificare l’algoritmo in modo tale da renderlo comprensibile al calcolatore
- Analizzare il risultato dell’elaborazione evidenziando eventuali errori nella formulazione del problema, nella strategia risolutiva, nella codifica dell’algoritmo
Competenze e abilità del programmatore:
- Deve essere in grado di capire i problemi e schematizzarli, distinguendone le diverse componenti (dati in input, parametri del problema, dati in output)
- Deve essere in grado di risolvere problemi mediante un approccio algoritmico, individuando gli aspetti del problema che possano essere risolti reiterando più volte operazioni simili
- Deve conoscere i metodi fondamentali di risoluzione dei problemi, gli approcci più comuni, le strade notoriamente meno convenienti
- Deve conoscere a fondo le caratteristiche e le capacità del calcolatore
- Deve essere in grado di comunicare con il calcolatore: ne deve conoscere il linguaggio
Capacità del calcolatore:
- Sa memorizzare le informazioni
- Sa distinguere in modo pignolo tra informazioni di tipo numerico ed altri tipi di informazione (parole, immagini, ecc.). Anche i numeri vengono trattati in modo differente a seconda dell’insieme a cui appartengono (naturali, relativi, razionali, ecc.)
- Sa eseguire alcune operazioni elementari: addizione, sottrazione, prodotto e rapporto fra numeri, concatenazione di parole
- Sa eseguire il confronto fra informazioni dello stesso tipo: confronto fra numeri (es.: a>b, a=b, a&b) e sa verificare l’uguaglianza fra due parole
- Sa «leggere» le informazioni dall’esterno (input)
- Sa «scrivere» le informazioni all’esterno (output)
- Sa memorizzare sequenze di istruzioni elementari (programma) e le sa eseguire secondo un ordine stabilito dal programma stesso
Spero che questo riassunto ti sia stato utile per capire le basi e le fasi di un progetto.