Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROGETTO 1
- Software Repository: versioning e gestione issues.
- Si sviluppi una base di dati per la gestione di un repository di software. Il database contine i descrittori di progetti software, la loro strutturazione in moduli o packages. L'unità di descrizione è la classe (si immagini per semplicità di lavorare in un ambiente di programmazione java). I sorgenti SW non sono contenuti in un database ma sono contenuti in un file system. Il sistema deve permettere l'associazione tra i descrittori delle strutture dei vari livelli ed i file che li contengono depositati nel file system. Nei descrittori viene mantenuto traccia degli autori del codice e la tempistica relativa allo sviluppo (apertura chiusura etc). Per ciascun progetto esistono diverse versioni del progetto (release). Tra gli elementi delle release successive del medesimo progetto va tenuta una traccia di corrispondenza che indichi se l'elemento è rimasto immutata, se è cambianto, se è stato cancellato dalla vecchia release, se è stato aggiunto nella nuova release. Ad esempio, al livello più basso va tenuta corrispondenza tra le classi nelle diverse release in modo da tener traccia dei cambiamenti: se sono mutati gli attributi, se sono mutati i metodi (cambiamneti della segnatura o cambiamenti nell'implementazione). Il livello più basso di dettaglio è il metodo di una classe. Il data base deve permettere poi di associare agli elementi del codice delle istanze di intervento (issues) che devono essere affidate a membri dello staff di sviluppo. Una issue corrisponde ad esempio ad una segnalazione di errore o malfunzionamento di un metodo di una classe rilevato in attività di test. La descrizione della issue ha descrizione della sua apertura (creazione) del personale a cui viene affidata, del suo contenuto, della sua chiusura (se il problema è stato gestito) etc. Issues possono essere associate a tutti i livelli degli elementi descritti.
- -----------------------------------------------------------------------------------------------------------------------
- PROGETTO 2
- Software Repository: progettazione, implementazione.
- Si sviluppi una base di dati per la gestione delle corrispondenze tra class diagram di progettazione di un sistema e i sorgenti del codice che ne costituisce l'implementazione e che viene memorizzato in un repository di software. Il database contiene gli elementi descrittivi di un class diagram e permette l'associazione tra gli elementi del calss diagram e le corrispondenti entità presenti nei sorgenti (in particolare, classi, attributi, metodi, specializzazioni, dipendenze etc). I sorgenti SW non sono contenuti in un database ma sono contenuti in un file system. E' necessario dunque che il database sia in grado di ospitare sia la descrizione di un class diagram, sia le descrizione di un progetto software nei suoi elementi strutturali rilevanti (si assuma di lavorare in un ambiente di programazione java): packages, classi metodi, specializzazioni, interfacce etc. Il database deve permettere ad un applicativo (di cui non si chiede l'analisi) di selezionare un elemento di un class diagram e di ottenere un legame a tutti gli elementi del codice sorgente ad esso collegati.
- ------------------------------------------------------------------------------------------------------------------------
- PROGETTO 3
- Software Repository: Testing
- Si sviluppi una base di dati per la gestione di un repository di software e delle attività di testing ad esso correlate. Il database contine i descrittori di progetti software, la loro strutturazione in moduli o packages. L'unità di descrizione è la classe e i suoi elementi (si immagini per semplicità di lavorare in un ambiente di programmazione java). I sorgenti SW non sono contenuti in un database ma sono contenuti in un file system. Il sistema deve permettere l'associazione tra i descrittori delle strutture dei vari livelli ed i file che li contengono depositati nel file system. Nei descrittori viene mantenuto traccia degli autori del codice e la tempistica relativa allo sviluppo (apertura chiusura etc). Per ciascun progetto esistono diverse versioni del progetto (release). Per ogni progetto nel repository vengono ospitati anche i casi di test (da considerarsi a tutti gli effetti dei sorgenti di codice) usati per validare un progetto. Nel database viene tenuta traccia di tutte le esecuzioni dei casi di test e del loro esito. In particolare lo stesso caso di test può essere eseguito più volte sulla stessa release del progetto e su release diverse dello stesso progetto. Per ogni escuzione di un caso di test viene tenuta traccia nel database di tutte le strutture che sono state interessate dall'esecuzione (il livello più basso da considerare è quello del metodo).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement