Pages: [1]   Go Down
Print
Author Topic: Informazione Terza parte  (Read 1374 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Seferex
Matricola
*
Offline Offline

Gender: Male
Posts: 34



« on: 18-09-2010, 16:40:09 »

Ipotizzando di avere questo testo

Quote
Si consideri la seguente situazione che si vorrebbe modellare con un opportuno insieme di classi JAVA:

In un negozio di elettrodomestici si vendono televisori analogici, LCD ed al plasma. Ogni televisore è caratterizzato dalla dimensione del video in pollici e dalla potenza dissipata in watt. Le Tv analogiche contengono al proprio interno un tubo catodico  e possono subire l’operazione di sintonizzazione manuale. Le Tv digitali contengono un banco di memoria di al più 20 chip di ram interamente estraibile; quelle di tipo LCD sono caratterizzate dalla profondità in cm e quelle al plasma  sono caratterizzate dal peso in Kg. Tra le Tv analogiche si distinguono quelle a schermo piatto caratterizzate dal peso del trasformatore. I tubi catodici sono caratterizzati dalla lunghezza in cm, dal calore dissipato e dalla data di produzione. Ogni singolo chip di ram contiene 12KB di informazioni, il codice del produttore (long), e  la data di fabbricazione.

A: analisi e disegno.
Riportare il diagramma UML di tutte le classi che si ritengono necessarie alla corretta descrizione e rappresentazione della situazione sopra descritta.  Nella gerarchia ereditaria si considerino anche i seguenti metodi eventualmente polimorfi e se ne dia un’implementazione:
•    getTotale;     restituisce il numero di televisori analogici creati fino all’istante di invocazione del metodo;
•    getTuboCatodico;   restituisce il tubo catodico;
•    getTerzo;              restituisce il terzo chip di ram del banco di memoria;
•    getDurata;                restituisce la vita media attesa delle Tv, espressa in numero di giorni, calcolata mediante la formula:
o    (c / Δ) • Potenza      per le Tv analogiche,
o    c • Peso             per quelle al plasma,
o    3 • c + B           per gli LCD,
dove c  è un coefficiente costante per tutte le Tv, B è il numero di chip di ram effettivamente presenti nel banco di memoria, e Δ è il numero di giorni di vita del tubo catodico.

B: utilizzo delle classi.
Si fornisca un frammento di programma che descriva la creazione e l’inizializzazione casuale di una esposizione di 56 televisori e
    si trovi la Tv analogica più longeva,
    si ordinino (in base alla dimensione in pollici) in un array indipendente tutte le Tv della collezione (gli oggetti non devono essere clonati),
     si conti il numero di Tv digitali non originali (una Tv è non originale se l’ultimo bit dell’ultimo chip di ram presente nel banco di memoria è 1).


Si deve fare sicuramente il grafico UML e fin qua tutto chiaro... Ma quando si parla di frammento di codice, si riferisce solo al main? O devo fare tutte le classi? In quest'ultimo caso non sarebbe un frammento di codice xD ma tutto il codice... Spero di essere stato chiaro ^^"
Attendo delucidazioni Smiley
Logged
R3m
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 486



« Reply #1 on: 19-09-2010, 09:33:40 »

in realtà tutte le classi le hai già fatte....facendo l'uml...immagina dopo aver fatto l'uml che le classi siano scritte come se fosse codice reale e implementa i metodi che ti chiede (creare i tv ecc)...
Logged

Ciò che è nostro è stato in campo sudato....ciò che vostro è stato in aula assegnato.
In serie B non sei mai stato perchè la prescrizione t'ha salvato.
Seferex
Matricola
*
Offline Offline

Gender: Male
Posts: 34



« Reply #2 on: 19-09-2010, 14:00:49 »

Bè un conto è farle in uml un conto è scriverle proprio una ad una...
Non che sia difficile avendo l'uml davanti, ma ci vorrebbe decisamente più tempo... La mia paura è non arrivarci col tempo ^^"
Poi ad esempio nell'uml non devi scrivere (in questo caso) la formula per ricavarti la "durata" data dal metodo "getDurata", quindi è leggermente semplificato ^^
Logged
ExEcUtIvE
Apprendista Forumista
**
Offline Offline

Posts: 114


Compila o non compila, questo è il problema!


« Reply #3 on: 19-09-2010, 16:29:43 »

ragazzi visto il titolo del topic ne approfitto per chiedere una cosa su cui ho un dubbio...
-questo testo:
Quote
Un’azienda produce serbatoi per acqua potabile: orizzontali (caratterizzati dalla
larghezza) , verticali (caratterizzati dalla altezza) ed esterni (caratterizzati dal diametro).
Tutti i serbatoi hanno una capacità totale ed una quantità di liquido contenuto.
I serbatoi orizzontali e quelli verticali possono essere interrati ed entrambe contengono
una valvola di sfiato caratterizzata dal peso, da un codice alfanumerico a 5 cifre e da un
coefficiente.
Tra i serbatoi verticali si distinguono quelli termoisolati, caratterizzati dalla
data di produzione, che subiscono periodicamente l’operazione di disinfezione.
significa che "orizzontali" e "verticali" sono delle sottoclassi di "interrati" e che quest'ultima classe contiene la valvola di sfiato no?

-e poi, ad esempio, quando si incontrano 3 tipi di variabili "Data" in tre diverse classi, nel grafico va fatto tre volte il rombo e la linea che portano alla definizione di questo tipo particolare di classe o basta farla la prima volta e poi quando si incontra una variabile di questo "tipo particolare" si può tranquillamente omettere la linea?
 
Grazie in anticipo!
« Last Edit: 19-09-2010, 16:39:10 by ExEcUtIvE » Logged
Seferex
Matricola
*
Offline Offline

Gender: Male
Posts: 34



« Reply #4 on: 19-09-2010, 17:57:11 »

Giusto, ma la valvola di sfiato io la metterei nella classe interrati

Non ho capito la seconda domanda però O.o
"Data" cos'è? una classe a se stante? Tipo con variabili gg, mm, aaaa o altro?


EDIT: ho letto male, ho visto solo ora che anche tu la valvola la metti in interrati ^^
Logged
ExEcUtIvE
Apprendista Forumista
**
Offline Offline

Posts: 114


Compila o non compila, questo è il problema!


« Reply #5 on: 19-09-2010, 18:15:25 »

sisi, "Data" è una classe a se stante con gg,mm,aaa...
per farti un altro esempio, ho appena finito di scrivere l'uml del testo da te postato e in questo esercizio abbiamo il "tubocatodico" della classe "Analogici" che ha una classe definita a parte e tra le variabili della "classe speciale" chiamiamola "tubocat" viene definita una variabile "dataproduzione" che a sua volta avrà una "classe speciale" di nome "Data"...adesso nella classe "Digitali" la variabile "RAM" ha anch'essa una classe speciale, che a sua vola all'interno ha una variabile di tipo "Data"...
tu nel grafico la tabella "Data" la colleghi sia con "dataproduzione" di "tubocat" che con "datafabbricazione" della classe di "RAM"Huh?
Logged
Seferex
Matricola
*
Offline Offline

Gender: Male
Posts: 34



« Reply #6 on: 19-09-2010, 18:17:47 »

bè si, credo si debbano collegare...

Cmq volevo farti un appunto (magari sbaglio), ma nell'esercizio di prima, mi sa che "valvola" è una classe e non una semplice variabile
Logged
ExEcUtIvE
Apprendista Forumista
**
Offline Offline

Posts: 114


Compila o non compila, questo è il problema!


« Reply #7 on: 19-09-2010, 19:06:45 »

è una variabile per le classi "orizzontali" e "verticali" ma è una variabile ti tipo "valvola" e per questo viene specificata una nuova classe "valvola"...non so se intendevi questo, io ho fatto così...ti ho mandato un pm comunque..

EDIT: scusa, come ti ho detto prima, "valvoladisfiato" è una variabile di tipo "valvola" per la classe "interrati"..sto solo fondendo un pò Cheesy
« Last Edit: 20-09-2010, 08:59:41 by ExEcUtIvE » Logged
Seferex
Matricola
*
Offline Offline

Gender: Male
Posts: 34



« Reply #8 on: 20-09-2010, 11:48:53 »

Sisi intendevo questo Wink
Risposto al pm cmq
Logged
Pages: [1]   Go Up
Print
Jump to: