Newsgroup: it.istruzione.universita.ingegneria
Titolo: [Informatica] Analisi su progetto doppio , contesto di sistema

Salve a tutti ,
avrei un quesito da fare a voi poichè io non mi sono mai trovato in questa situazione .
Vi assegnano un progetto tipo :
"VideoBox"
1) elenco DVD
2) registrazione utenti
3) seleziona il DVD
4) ordina il DVD
5) pagamento (bonifico bancario)
voi cosa fate ?
analisi,progettazione,implementazione .
E fin qui è ok , non ci piove .
il problema NASCE quando ci sono 2 versioni del progetto da sviluppare ;
la prima è quella sopra che ho scritto,
la seconda invece è :
1) elenco DVD, VHS e LP
2) registrazione utenti (solo gli utenti che sono 'parenti' di un titorale possono registrarsi)
3) seleziona il DVD, chiedi supporto tramite chat ad un operatore
4) ordina il DVD, controlla se l'utente ha un credito sufficiente per l'ordine
5) attendi la conferma ordine (verifica se ha un buon credito)
6) consenti pagamento ( se non ha un buon credito ) / conferma ordine (se ha soldi )
7) ricarica l'eventuale scheda di pagamento (bonifico da 10 euro e ricarichi la scheda)
vabbe' è solo un esempio questo,
fa un pò schifo come l'ho scritto magari fosse cosi' semplice :-)
sono due progetti DIVERSI , che partono su due .exe diversi ,
e che hanno 2 contesti di sistema diversi .
praticamente , il secondo ESTENDE il primo come vedete .
Come devo procedere ?
prendo i requisiti di TUTTI e due i progetti ,
li butto nell'analisi ?
ad intuito mi verrebbe da dire :
analisi globale di tutti i requisiti .
Ed a seconda di un Flag finale (true/false)
faccio partire una versione anzicchè un'altra .
praticamente avere una situazione analoga a :
mioBottone.setEnabled(false);
// mi fa partire il progetto 1
mioBottone.setEnabled(true);
//mi fa partire il progetto 2
cioè prendere spunto dal comportamento di un oggetto GUI :-)
da cui,
deduco che il progetto è SOLO 1
e quindi richiede un'analisi GLOBALE .
Qualsiasi consiglio (anche , cambia mestire) è ben lieto di essere letto !
NB :
per caso ha pure un NOME particolare questa tipologia di analisi ?
magari ditemi solo il nome che poi me la leggo e cerco da solo ...
A.

Io non procederei con il classico sistema water-fall, ma utilizzeri
un approccio iterativo (tipo Rational Unified Process).
L'unico (che io conosca) che ti permette (detto a vino e tarallucci)
di progettare "bene" per poter estendere un domani.
Buon lavoro!

: Io non procederei con il classico sistema water-fall, ma utilizzeri
: un approccio iterativo (tipo Rational Unified Process).
: L'unico (che io conosca) che ti permette (detto a vino e tarallucci)
: di progettare "bene" per poter estendere un domani.
Si ok ,
ma non ho ben capito cosa intendi xo' ...
Quindi dici di mettere TUTTI i requisiti di tutti e due i progetti insieme ,
e poi da li che fare ?
ripeto che non ho difficoltà sull'analisi e progettazione ,
ma su un singolo progetto .
qui ne ho due ,
di cui uno è l'esteso di un altro e non capisco come è meglio procedere :-(
A.

 ha scritto nel messaggio
news:xjhL9.5562$%p6.4...@news.edisontel.com...

Sta proprio qui il punto: se riesci a progettare _bene_ il primo in seguito
puoi facilmente
estenderlo per coprire i requisiti del secondo.
Per progettare _bene_ intendo (in questo caso) l'utilizzo di RUP, che con
l'uso pesante
di UML ti (quasi) impone un'architettura modulare ed estendibile.
Buon lavoro (cmq) !

: Sta proprio qui il punto: se riesci a progettare _bene_ il primo in seguito
: puoi facilmente
: estenderlo per coprire i requisiti del secondo.
Ah , quindi dici di sviluppare prima il progetto BASE e solo dopo sviluppare il secondo ?
quindi ,
arrivo alla fase di analisi del progetto 1 ,
poi gli aggiungo i requisiti del progetto 2 e rifaccio da capo l'analisi ?
: Per progettare _bene_ intendo (in questo caso) l'utilizzo di RUP, che con
: l'uso pesante
: di UML ti (quasi) impone un'architettura modulare ed estendibile.
C'entra poco ,
il problema è se oppure no dividere l'analisi dei due progetti .
A

Come devo procedere ?
Rispondo solo ora perchè ho avuto una certa difficoltà a capire di cosa
stessi parlando e cosa tu volessi fare e cercassi.
Per quanto ho capito, devi sviluppare due applicazioni molto simili, con
funzionalità ad alto livello diverse tra loro, ma con un dominio del
problema assai prossimo, se non identico.
Se è così, la cosa migliore che puoi fare è una rigorosa scomposizione
dei due problemi cercando gli elementi in comune: probabilmente troverai
molte similitudini a livello di basi di dati da gestire, intese come
quali dati gestire e quali operazioni rendere disponibili.
Incapsula queste similitudini in un server (o in una applicazione
base). Poi le tue due diverse applicazioni si ridurranno a interfacce
utente diverse, client del server suddetto (o ulteriori livelli software
dell'applicazione monolitica, se pensi ad una soluzione non c/s: nota
che questa soluzione non è accettabile se gli utenti delle due
applicazioni modificano dei dati in comune, in questo caso un server
centrale è indispensabile).
A livello architetturale devi quindi decidere se pensi ad una soluzione
c/s o solo ad una riusabilità interna del codice che gestisce i dati, e
lo saprai decidere solo dopo aver sviluppato e iterato le fasi iniziali
di analisi dei requisiti e progettazione ad alto livello.
Se poi devi passare ad una fase implementativa, se hai scelto il c/s
pensa in prima battuta a Java, oppure ad un middleware tipo CORBA. Se
invece avrai distinte applicazioni monolitiche, fai come ti pare e
piace.
-- 
"L'Italia è un interessante esempio di avanguardia teatrale" (Gore Vidal)
Per rispondermi, ricordati di togliere il nome del poeta.

 il problema č se oppure no dividere l'analisi dei due progetti .
Io non la dividerei, perň utilizzando il RUP ti verrebbe molto naturale.
Chiaramente se non lo ha mai utilizzato prima lascia perdere, c'č tempo..