[basi di dati]

oligo1
salve a tutti ragazzi avrei bisogno di un vostro aiuto devo fare il 3 progetto ( potrete vederlo guardando le tracce qui http://pastebin.com/0gk5EaGw)ma purtroppo non riesco a implementare il class diagram.
Per ora ho pensato a una classe system (che sarebbe il file system) che si associa alla classe progetto,release,packages.
Dove release contiene le release del progetto e la classe packages contiene i pacchetti del software e poi ho messo una classe
test che si connette direttamente alla release.
Spero di essere stato abbastanza chiaro,purtroppo non so se quello che ho scritto è giusto sono in alto mare.Grazie per la pazienza

Risposte
apatriarca
Puoi postare direttamente la traccia nella discussione.. In questo modo eviti a tutti quelli che potrebbero aiutarti di dover andare a cercare tale traccia nel link che hai inserito. Questa volta la inserisco io, ma ricordatene in futuro.


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).

oligo1
scusami la prossima volta lo farò

apatriarca
Venendo al problema. Non mi è chiaro che cosa dovrebbe fare la classe System nella tua proposta. Piuttosto ci vedrei una classe File (che rappresenta un singolo file nel file system). Le varie strutture (classi, test..) faranno quindi riferimento a questo File per sapere dove si trovano in memoria.

oligo1
la traccia dice che il file system dovrebbe avere traccia dei file del progetto ecc ecc...quindi questa classe system identifica un progetto dalla quale poi si legano le classi di package di release di test

apatriarca
Ma come dovrebbe essere fatta questa classe? Esiste certamente un file-system nel computer, ma non credo sia necessario averlo come classe nel tuo diagramma. Ogni classe o metodo o test o pacchetto farà riferimento ad un file o ad una cartella, non al file system secondo me.

oligo1
quindi dovrò creare una classe file a cui il progetto deve fare riferimento?

apatriarca
In questo genere di esercizi non esiste una soluzione corretta e una sbagliata. Ci possono essere soluzioni peggiori o migliori, ma si possono sicuramente definire diversi diagrammi ugualmente corretti e validi. L'importante è che ci sia una qualche logica dietro al tuo diagramma. Le mie erano più che altro domande, se ritieni che una classe File System abbia senso e riesci a trovare come definirla non c'è nulla di sbagliato ad inserirla.

Tecnicamente un progetto può fare riferimento a una o più cartelle comunque. Non tanto a singoli file. Quindi forse il tuo file system corrisponderebbe a queste cartelle?

oligo1
si nella mia idea c'è questo che questo file system contiene queste cartelle e in ognuna di queste cartelle trovo i dati per il progetto

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.