Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: Fr3d3R!K on 03-11-2008, 19:15:45



Title: Un bel diagramma UML per tenervi in forma :p
Post by: Fr3d3R!K 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 (http://laurenstephens.net/uploads/82d445ad80.pdf). Letto quello il mio uml è rintracciabile presso questo indirizzo (http://img293.imageshack.us/my.php?image=veicolizj1.jpg) 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  .whistling .
Salutoni!
Fr3d3R!K
EDIT: nell'ultimo "aggiornamento" del grafico ho aggiunto (tanto per completezza) tutti i metodi necessari delle classi. Se non è 'buono' così...  .timido


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: Aigor 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  .rido


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: Fr3d3R!K 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...


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: genietto84 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  .leggo)
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


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: Fr3d3R!K 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  .leggo)
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!


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: genietto84 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...


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: Fr3d3R!K 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  .wink
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!  .ciaociao


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: genietto84 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


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: Fr3d3R!K 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  .ciaociao


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: genietto84 on 05-11-2008, 20:52:10
ai fini dell'esame non so, credo di no alla fine non devi accedere a quegli attributi
 .ciaociao


Title: Re:Un bel diagramma UML per tenervi in forma :p
Post by: Fr3d3R!K on 05-11-2008, 21:32:59
appunto quello che pensavo anche io...grazie e buona serata!!