Pages: [1]   Go Down
Print
Author Topic: Un bel diagramma UML per tenervi in forma :p  (Read 4007 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Fr3d3R!K
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.463



« on: 03-11-2008, 19:15:45 »

A parte gli scherzi del titolo volevo solo chiedervi di dare un occhio al diagramma uml che ho fatto, giusto per sapere se è giusto, e casomai come "raddrizzarlo". L'esercizio è quello dei veicoli, che per chi non lo conoscesse eccolo qui. Letto quello il mio uml è rintracciabile presso questo indirizzo quel che vi chiedo è di vedere solo se vi sembra "funzionante". Nessun obbligo se volete aiutarmi vi ringrazio se non volete semplicemente vi salterà in aria la casa  .
Salutoni!
Fr3d3R!K
EDIT: nell'ultimo "aggiornamento" del grafico ho aggiunto (tanto per completezza) tutti i metodi necessari delle classi. Se non è 'buono' così... 
« Last Edit: 07-11-2008, 18:51:24 by Fr3d3R!K » Logged

Search Button, CODE Tag, Google & Italian language are your friends! Use Them!
Aigor
Forumista Esperto
****
Offline Offline

Gender: Male
Posts: 1.184


"Il destino non è una catena, ma un volo."[A.B.]


« Reply #1 on: 03-11-2008, 20:04:15 »

Sembrerebbe giusto ... manca soltanto una cosettina piccola piccola a mio parere ....

"3 • c + P • G per i quad,
dove c è un coefficiente costante per tutti i veicoli, P è la somma della pressione delle ruote del veicolo, ed G è il numero di giorni trascorsi dall'ultima revisione dell'antifurto"

Nel tuo grafico UML manca il metodo che ti restituisca G.
Il professore non ti chiederà di implementare il metodo, ma indicarlo sarà già un bel passo avanti 
Logged

"Era d'altronde uno di quegli uomini che amano assistere alla propria vita, ritenendo impropria qualsiasi ambizione a viverla.
Si sarà notato che essi osservano il loro destino nel modo in cui, i più, sono soliti osservare una giornata di pioggia." - Seta,Baricco
Fr3d3R!K
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.463



« Reply #2 on: 03-11-2008, 20:38:58 »

hai ragione quella l'ho dimenticata e ti ringrazio, ma a me interessa sapere (domani od in seguito proverò l'implementazione anche via codice di tutto la classe Veicoli e affini, con tanto di main & Co.) se in un eventuale compito mi "darà" problemi, anche se a me sembra pure giusto...
Logged

Search Button, CODE Tag, Google & Italian language are your friends! Use Them!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #3 on: 03-11-2008, 20:44:30 »

da un analisi non troppo approfondita (e col rischio di fare qualche figuraccia, ma comprendimi ho avuto una giornata pesante  )
eccoti le mie "revisioni"
  • toglierei abstrac a NumRuote in Veicoli e numero marce in Pedale
  • nel testo dice dimensione (una tripla di interi) quindi imensione dovrebbe essere un int[3] e non int
  • smonta e monta non è specificato de nessuna parte che sono metodi privati
  • tutti gli attributi dovrebbero essere private
  • la classe pedale dovrebbe essere abstract

riflettici e poi mi dici se ho detto baggianate!!  pray
Logged
Fr3d3R!K
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.463



« Reply #4 on: 03-11-2008, 21:51:25 »

da un analisi non troppo approfondita (e col rischio di fare qualche figuraccia, ma comprendimi ho avuto una giornata pesante  )
eccoti le mie "revisioni"
  • toglierei abstrac a NumRuote in Veicoli e numero marce in Pedale
  • nel testo dice dimensione (una tripla di interi) quindi imensione dovrebbe essere un int[3] e non int
  • smonta e monta non è specificato de nessuna parte che sono metodi privati
  • tutti gli attributi dovrebbero essere private
  • la classe pedale dovrebbe essere abstract

riflettici e poi mi dici se ho detto baggianate!!  pray

1. perchè?
2. giusto, altra dimenticanza che comunque nel codice avrei messo, non è questo il problema...
3. nemmeno gli altri loro sono specificati, quei due sono privati perchè esclusivi delle singole classi, quindi protected non ha senso, e public sarebbe concettualmente errato perchè appunto non servono ad altre classi se non bici e quad.
4. non tutti, quelli che vanno ereditati messi privati non funzionerebbero.
5. vedi la 2.
grazie comunque per l'intervento!
Logged

Search Button, CODE Tag, Google & Italian language are your friends! Use Them!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #5 on: 03-11-2008, 23:02:25 »


1. perchè?
2. giusto, altra dimenticanza che comunque nel codice avrei messo, non è questo il problema...
3. nemmeno gli altri loro sono specificati, quei due sono privati perchè esclusivi delle singole classi, quindi protected non ha senso, e public sarebbe concettualmente errato perchè appunto non servono ad altre classi se non bici e quad.
4. non tutti, quelli che vanno ereditati messi privati non funzionerebbero.
5. vedi la 2.
grazie comunque per l'intervento!

1. Il modificatore abstract può essere applicato a classi e metodi (non attributi). (tratto da un manuale java)
    inoltre il compilatore dice "modifier abstract not allowed here
                                            public abstract int[] NumRuote;"
2. non è come dici tu, è un errore se dice una tripla il tipo è un array di int e non un int (in uml puoi anche mettere la dimenzione quindi int[3])
3. se lo fai privato una chiamata del tipo miaBicicletta.monta() ti dirà metodo inaccessibile perché privato
4. il modo più corretto è metterli private e fare una cosa del genere
Code:
abstract class Pedale extends Veicoli{
private int numeroMarce;

public Pedale(int n){
this.numeroMarce = n;


}

public int getNumeroMarce(){
return this.numeroMarce;
}

abstract double getPrezzo();

}
class Tricicli extends Pedale{
//public int numeroMarce;

public Tricicli(int n){
super(n);


}
}

5. come nel due, errore=punti in meno

sto sbagliando?!... credo di no...
Logged
Fr3d3R!K
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.463



« Reply #6 on: 04-11-2008, 13:32:11 »

per i numeri 2 e 5 ti avevo detto che non erano errori perchè li ho dimenticati in questo uml (che l'ho fatto velocemente diciamo a "tempo perso"). Per l'1 non lo sapevo, grazie di avermi informato 
nel 4 ti sei contraddetto con quanto hai detto invece nel 3, comunque non sono questi problemi, a quanto ho capito l'uml, lo schema in generale è corretto. Questo mi interessava.
Grazie e a risentirci! 
Logged

Search Button, CODE Tag, Google & Italian language are your friends! Use Them!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #7 on: 04-11-2008, 15:21:23 »

nel 4 ti sei contraddetto con quanto hai detto invece nel 3

Assolutamente no nel punto 3 si parla di metodi nel punto 4 di attributi.
I metodi private sono inaccessibili all'esterno mentre gli attributi private si possono rendere accessibili con dei metodi public ad hoc tipo get e set

quando ho fatto l'esame io, anni addietro, tutti gli attributi li ho messi private e ho preso un buon voto, qualcuno che aveva messo public no!
Chiedi al prof e chiarisciti il dubbio
Logged
Fr3d3R!K
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.463



« Reply #8 on: 05-11-2008, 17:34:31 »

ok ho fatto l'uml come dici tu (modificato il messaggio iniziale con il nuovo screenshot), grazie del consiglio. Visto che ci sei però ti chiedi una piccola curiosità che mi è passata per la testa: nell'uml vanno indicati TUTTI i "metodi ad hoc" che servono nella classe, oppure SOLO quelli che servono in quel momento (cioè che sono richiesti dal testo)? faccio un esempio chiarificatore: della classe antifurto mi servirebbe solo il metodo getDecibel() per quanto riguarda il secondo esercizio del B (si trovi il quad con l'antifurto più rumoroso), per cui va bene scrivere solo quello, oppure nell'uml bisogna scrivere tutti i metodi, quindi anche getFrequenza() e getUltimaRevisione()?
Grazie e 
Logged

Search Button, CODE Tag, Google & Italian language are your friends! Use Them!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #9 on: 05-11-2008, 20:52:10 »

ai fini dell'esame non so, credo di no alla fine non devi accedere a quegli attributi
 
Logged
Fr3d3R!K
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.463



« Reply #10 on: 05-11-2008, 21:32:59 »

appunto quello che pensavo anche io...grazie e buona serata!!
Logged

Search Button, CODE Tag, Google & Italian language are your friends! Use Them!
Pages: [1]   Go Up
Print
Jump to: