Per la pulizia stilistica che ne consegue è consigliabile l'uso di JAVA (che è il linguaggio preso come riferimento nel libro di testo). Ricordo a tutti che l'interfacciamento del linguaggio JAVA con i database è possibile con estrema facilità grazie al JDBC (vedi sito SUN). Sono sconsigliate soluzioni basate su pagine web dinamiche ASP o php in quanto violano lo spirito del corso e falserebbero gli obbiettivi di valutazione posti per la tesina. Infatti, la metodologia di progettazione studiata nel corso non è particolarmente adatta alla progettazione di soluzioni web-based.
- Problem Statement
- Software Project Management Plan (SPMP)
- Requirements Analysis Document (RAD)
- System Design Document (SDD)
- Object Design Document (ODD)(vedasi esempi degli autori del libro: progetto JAMES, progetto TRAMP)
Domanda: Sul sito dedicato al corso di Ing. del Software, lei ha messo a disposizione alcuni template da usare come linea guida per la stesura di alcuni documenti (Object Design Document, Requirements Analysis Document, ...). Le sarebbe possibile mettere sul sito anche un template di "più alto livello" che definisca l'insieme minimale di documenti che dovranno costituire la tesina ?
Risposta: Vedere gli esempi di tesine svolte o esempi degli autori del libro: progetto JAMES, progetto TRAMP.
Domanda: Riguardo allo strumento MS-Project, vorrei sapere a chi rivolgermi per averlo con licenza.
Risposta: Si rivolga all'ing. Burrafato (pmb@csai.unipa.it) allo CSAI lab (terzo piano DIE)
Domanda: Dobbiamo cominciare a sviluppare il progetto relativo alla tesina, ma ovviamente abbiamo bisogno di conoscere prima l'esatta scaletta della tesina. Non abbiamo capito dove dobbiamo inserire la parte relativa all'ERD e al database. Potrebbe indicarci la corretta collocazione all'interno del progetto?
Risposta: Per quanto riguarda la scaletta complessiva, vi consiglierei di riferirvi a quanto illustrato nel punto 5 dei consigli sulla stesura della tesina.
Per la progettazione del database potrete procedere in tal modo:
1) la progettazione concettuale poichè è strettamente legata alla analisi del
dominio può essere posta nel capitolo 3.5.3 (modello degli oggetti) del
documento RAD. A titolo di esempio si considerino i diagrammi delle classi
presenti nell'esempio http://james.globalse.org/james1/J_courseDocs/RAD/RAD_VIP/RAD_VIP.html.
Come si può notare essi sono dei dagrammi entità-relazioni espressi sotto forma
di diagrammi delle classi (pratica abbastanza comune). Si può quindi usare lo
stesso approccio dell'esempio anzidetto (definizione delle entità nel paragrafo
Dizionario dei dati e descrizione delle loro relazioni in un altro paragrafo che
chiamerei diagrammi entità relazioni se si usano gli ERD al posto dei diagrammi
delle classi).
2) il progetto logico può essere inserito nel capitolo 5 (Data Management) del
documento di System Design. Esso è infatti dedicato ad esplorare le
problematiche relative ai dati e dar loro soluzione. Da questa analisi potrebbe
ad esempio emergere l'esigenza di una distribuzione dei dati in più database (in
base alla loro disponibilità/reperibilità) o server (per problemi di
prestazioni).
3) Nell'Object Design andranno ovviamente dettagliate tutte le classi che
permettono l'accesso ai dati e che sono state (probabilmente) introdotte nelle
fasi precedenti.
Domanda: Non risulta chiara la strategia di composizione dei lotti di produzione
Risposta: Il processo si articola in tre fasi. Nella
prima il programma provvederà ad associare automaticamente gli ordini che avendo
data di consegna ragionevolmente vicina danno luogo ad un numero di pezzi
coerente con le specifiche del lotto di produzione (50-150). Non è richiesto un
particolare sforzo di identificazione di algoritmi sofisticati in questa fase.
Essi prescinderebbero dagli obbiettivi e contenuti di questo corso. Nella
seconda fase l'addetto alla produzione provvederà a comporre gli altri lotti di
produzione (o ad aggiungere ordini a quelli creati dal programma). Qualora egli
non potesse inserire uno o più ordini perchè facendo ciò violerebbe le
specifiche numeriche del lotto di produzione allora tali ordini verranno
sottoposti all'attenzione del responsabile della produzione che provvederà ad
inserirli.
Si pensi al caso di un ordine da 180 pezzi. Esso può essere schedulato in due
lotti successivi (ad es. 150 e 30 pezzi) . Questo pone il problema di far
lavorare la fabbrica al di sotto del regime ottimale (50-150) di pezzi prodotti
nel secondo lotto. Ovviamente può capitare che questi pezzi vadano a sommarsi a
quelli di un altro ordine. In tal caso il problema può essere affrontato
dall'addetto alla produzione. In caso contrario (non esistono altri ordini da
sommare ai rimanenti 30 pezzi) viene coinvolto il responsabile della produzione
che potrà scegliere se creare un unico lotto di 180 pezzi (facendo fare dello
straordinario agli operai dell'azienda) oppure ad esempio due lotti da 90 pezzi
che rientrano nei parametri standard di produzione ma avrebbero il difetto di
impegnare la catena produttiva per il doppio del tempo relativo alla precedente
scelta.
C'è da aspettarsi che il responsabile alla produzione sia coinvolto nella
composizione di pochissimi lotti. La maggior parte del lavoro spetta all'addetto
alla produzione.
Domanda: Risulta poco chiaro il testo della tesina dove nella sezione "Requisiti minimi del sistema" discute la composizione dei lotti di produzione.
Risposta: Al fine di rendere più chiaro il testo lo si modifica come segue (modifiche in corsivo):
Domanda: Come è possibile produrre lotti di più di 150 pezzi se la produzione giornaliera si suppone di 50 pezzi al giorno senza aumentare l'impegno della catena produttiva oltre i tre giorni (solitamente massimo impegno temporale per un lotto di 150 pezzi con 50 pezzi prodotti al giorno)?
Risposta: L'azienda può usufruire di turni di lavoro più lunghi (lavoro straordinario) oppure in determinate condizioni di sovraccarico di lavoro aggiungere un altro turno di lavoro (es. turno di notte) al fine di raddoppiare la produttività giornaliera. Questa scelta spetta al responsabile alla produzione. Ovviamente non è ragionevole supporre che la produzione giornaliera possa arrivare a qualunque numero di pezzi (es. 400).
Domanda: Ci sono errori nelle tesine proposte come esempio oppure è sbagliato il libro/sto sbagliando io (studente) l'impostazione?
Risposta: Le tesine proposte contengono probabilmente degli errori. Non sono da prendersi come strumento di studio ma pura esemplificazione di massima del lavoro da svolgere in termini di dimensioni delle parti e stile di documentazione. Mi è stato ad esempio riportato che in alcuni sequence diagram non sono presenti le dovute classi di controllo e/o entità. E' possibile, ciò non vuol dire che non dovevano esserci. La fonte di studio principale rimane il libro, secondariamente ci sono le slide da me presentate e gli appunti presi a lezione.
Domanda: Abbiamo un dubbio su quale sia la mansione dell'addetto ufficio clienti: interagisce col software o consegna gli ordini raccolti all'addetto produzione in maniera non automatica?
Risposta: Mi pare ragionevole supporre che l'addetto all'ufficio clienti introduca i dati dell'ordine ricevuti dal cliente nel sistema informatico. L'addetto alla produzione potrà quindi consultarli tramite il software.
Domanda: Bisogna fare degli senari delle eccezioni?
Risposta: Le eccezioni spesso necessitano di un approfondimento che giustifica uno scenario apposito ma nella tesina potete evitare quelle più banali
Domanda: Possiamo fare un caso d'uso senza aver fatto uno scenario inerente?
Risposta: Come da regola generale, un caso d'uso deve discendere dalla generalizzazione di uno o più scenari (testuali nella raccolta dei requisiti, sotto forma di sequence diagram nella analisi dei requisiti).
Domanda: Stiamo creando dei casi d'uso generali che comprendono, al loro interno, altri casi d'uso particolari. Che tipo di documentazione dobbiamo mettere per questo tipo di casi d'uso?
Risposta: La documentazione del caso d'uso va fatta come da scaletta proposta nel libro ed a lezione anche quando esso viene decomposto in altri più dettagliati. In più ovviamente esso avrà un nuovo diagramma dei casi d'uso contenente il maggior livello di dettaglio