|
Wiki
UniCrema
Materie per semestre
Materie per anno
Materie per laurea
Help
|
|
Uni.LPSUMLEx History
Hide minor edits - Show changes to output
Changed line 113 from:
!!21.02.07 - N°5 - Autenticazione Sito Web
to:
!!21.02.07 - N°4 - Autenticazione Sito Web
Added lines 109-117:
!!21.02.07 - N°5 - Autenticazione Sito Web Modellare con una macchina di stato composta UML la procedura di connessione di un utente ad un sito web che può riconoscere o no l’utente. La procedura di autenticazione dell’utente avviene tramite username e password (in passi sucessivi). L’utente ha al più 4 tentitivi per connettersi in caso di credenzialità errate. Ad ogni passo del processo di autenticazione, l’utente ha a disposizione due bottoni: OK per procedere e CANCEL per interrompere la procedura. Al termine della procedura di autenticazione l’utente potrà essere stato autenticato, aver fallito laprocedura di autenticazione o interrotto la procedura.
Attach:LPSsitoweb.png
Added lines 103-108:
!!Innaffiatoio Modellare con una macchina di stato UML il comportamento di un sistema d’irrigazione automatica. Il sistema è composto da un controllore e da un annaffiatoio. In modalità inverno il controllore invia il comando di erogazione dell’acqua ogni 12 ore e l’annaffiatoio eroga acqua per 15 minuti, dopo di che riceve il comando di interruzione di erogazione acqua. In modalità inverno l’erogazione dell’acqua è richiesta ogni 8 ore per la durata di 30 minuti. Il controllore è dotato di un sensore di umidità. Se il segnale che arriva da tale sensore è alto, l’erogazione dell’acqua, per il ciclo corrente, è sospesa; se il segnale è basso, l’acqua è erogata, nel ciclo corrente, per ulteriori 5 minuti.
Attach:LPSinnaffiatoio.png
Changed line 99 from:
Modellare con una macchina di stato UML il comportamento di un ascensore. L’ ascensore ha un tasto (interno) per ogni piano da servire, un tasto per aprire le porte se l’ascensore è fermo, ed un tasto di emergenza che se pigiato causa il suono di una sirena e mette l’ascensore “fuori servizio”. Ogni piano (ad eccezione del piano terra e dell’ultimo piano che ne hanno uno solo) ha due tasti con le frecce é e ê per chiamare l’ascensore al piano.
to:
Modellare con una macchina di stato UML il comportamento di un ascensore. L’ ascensore ha un tasto (interno) per ogni piano da servire, un tasto per aprire le porte se l’ascensore è fermo, ed un tasto di emergenza che se pigiato causa il suono di una sirena e mette l’ascensore “fuori servizio”. Ogni piano (ad eccezione del piano terra e dell’ultimo piano che ne hanno uno solo) ha due tasti con le frecce (SU) e (GIU') per chiamare l’ascensore al piano.
Added lines 94-101:
!!Ascensore Modellare con una macchina di stato UML il comportamento di un ascensore. L’ ascensore ha un tasto (interno) per ogni piano da servire, un tasto per aprire le porte se l’ascensore è fermo, ed un tasto di emergenza che se pigiato causa il suono di una sirena e mette l’ascensore “fuori servizio”. Ogni piano (ad eccezione del piano terra e dell’ultimo piano che ne hanno uno solo) ha due tasti con le frecce é e ê per chiamare l’ascensore al piano.
Attach:LPSascensore.png
Changed line 97 from:
[[Torna alla pagina di LPS -> LinguaggiProgrammazioneSicurezza]]
to:
[[Torna alla pagina di LPS -> LinguaggiProgrammazioneSicurezza]]
Changed line 74 from:
!!Macchina per l'imbottigliamento
to:
!!5.06.07 - N°5 - Macchina per l'imbottigliamento
Added lines 80-96:
!!5.02.08 - N°2 - Bancomat Quando è in idle, attende l'arrivo di un utente. Quando arriva l'utente: * lo valida * fa scegliere la transazione all'utente * processa la transazione * stampa la ricevuta * torna in idle Può anche trovarsi nello stato di manutenzione, in cui esegue due cose parallele: # testing dei devices e del sistema # caricamento del denaro Finita la manutenzione, torna in idle.
Attach:LPSbancomat.png
[[<<]] ----
Added lines 74-79:
!!Macchina per l'imbottigliamento Quando è accesa, aspetta una bottiglia nella sede apposita. Un sensore la rileva, e comincia a riempirla. Un secondo sensore rileva che si è arrivati a livello, e provvede a farla tappare; a questo punto il sistema richiede la rimozione della bottiglia, e quando è stata rimossa (il sensore ce lo dice) la macchina torna in attesa.\\ Se si interrompe il riempimento in modo manuale, la bottiglia viene tappata e si entra in uno stato di allarme.\\ La macchina può essere spenta solo se si trova nello stato di attesa.
Attach:LPSimbottigliamento.png
Added lines 61-72:
!!Orologio digitale C'è un orologio digitale che segna l'ora come '''hh::mm'''. La variabile '''dh''' salva le ore, '''dm''' salva i minuti. * quando viene acceso, l'ora è impostata su '''00:00''' * se premo il pulsante '''set''', passo nello stato di '''modifica''': ** se premo il pulsante '''M''' modifico i minuti ** se premo il pulsante '''H''' modifico l'ora ** se premo ancora '''set''' torno al funzionamento normale * durante il funzionamento normale, l'ora non lampeggia * durante il settaggio delle ore, l'ora lampeggia
Attach:LPSorologiodigitale.png
Changed line 60 from:
Attach:LPSUMLappletjava.png
to:
Added lines 51-60:
!!Applet Java Si tratta dell'esercizio dell'applet Java in un browser, ma in salsa UML. Ecco le specifiche: * quando viene caricata una pagina contenente un applet, questa viene istanziata * il metodo '''init()''' viene chiamato al caricamento * il metodo '''start()''' esegue l'applet all'inizio e ogni qualvolta la si resuscita dallo stato di '''stopped''' * il metodo '''stop()''' termina temporaneamente l'esecuzione dell'applet * il metodo '''destroy()''' viene chiamato quando il browser chiude la pagina
Attach:LPSUMLappletjava.png
Added lines 33-50:
!!ISPDialer Vogliamo modellare un sistema ISPDialer, che cerca di connettersi ad un ISP tramite un modem. Può trovarsi in 3 stati: connesso, disconnesso oppure tentando di connettersi.\\ Quando tenta di connettersi, accadono molte cose: * mette il modem in modalità '''off-hook''' * aspetta per 20 secondi il dialtone * se non arriva entro 20 secondi, passa a disconnesso e mette il modem in hook * se invece arriva, esegue l'attività '''dialISP''' * attende per 20 secondi il carrier dall'ISP: se non arriva, va in disconnesso e mette il modem in hook * al termine della connessione, mette il modem in hook e va in disconnesso Se arriva un segnale '''cancel''' in qualsiasi istante del tentativo di connessione, va in disconnesso e mette il modem in hook.
note: * lo stato '''tentativo di connessione''' è a sua volta una macchina UML, perché è piuttosto complesso * è ragionevole supporre che la '''entry''' di '''disconnesso''' metta il modem in hook, perché tutte le volte che nelle specifiche si parla di disconnessione, si parla anche di mettere il modem in modalità hook. * le frecce senza etichetta rappresentano eventi di completamento
Attach:LPSUMLEx004.png
Changed line 1 from:
(:titolo LPS - Esercizi sulle macchine UML:)
to:
(:title LPS - Esercizi sulle macchine UML:)
Added lines 28-30:
Note: * la prenotazione sarebbe l'evento '''clientePrenotaSettimana(cliente, anticipo)''' che nel grafo è segnato come '''cpS(c,a)'''
Added lines 23-29:
!!Esempio fatto in classe Una ditta offre seminari, uno a settimana. C'è l'oggetto '''settimanaSeminario''' che rappresenta una settimana del calendario. La settimana può essere '''disponibile''', '''prenotataProvvisoriamente''' oppure '''prenotataDefinitivamente'''. All'inizio, una settimana è disponibile. Se un cliente la prenota, diventa prenotata provvisoriamente. Se il cliente quando prenota versa un anticipo, allora diventa prenotata definitivamente.
Noi dobbiamo modellare l'oggetto '''settimanaSeminario'''.
Attach:LPSUMLEx003.png
Added lines 17-22:
!!Esempio fatto in classe Modellare un UML la carriera di uno studente. Egli può essere in corso, fuori corso, ritirato oppure laureato. Quando si iscrive è in corso; se sostiene gli esami rimane in corso; se non fa tutti gli esami che dovrebbe fare passa fuori corso; quando non si iscrive più si ritira; quando ha superato tutti gli esami si laurea.
La modellazione viene fatta ad alto livello.
Attach:LPSUMLEx002.png
Added line 10:
* t = temperatura; m = modalità
Added lines 13-15:
* abbiamo stabilito arbitrariamente che all'inizio della vita del sistema la modalità sia "condizionatore"
Attach:LPSUMLEx001.png
Added lines 1-13:
(:titolo LPS - Esercizi sulle macchine UML:) %titolo%''':: LPS - Esercizi sulle macchine UML ::'''
!!Esempio fatto in classe Ho una macchina che fa da condizionatore oppure da pompa di calore. Passa da una modalità all'altra premendo il pulsante '''Inverno/Estate'''. Quando viene spenta, memorizza la modalità in cui si trova e al riavvio riparte da lì.\\ Quando viene avviata come pompa di calore, imposta la temperatura a 20°. Quando invece viene avviata come condizionatore, la temperatura è impostata a 24°. Quando si preme il tasto '''+''', la temperatura viene incrementata, e viene decrementata quando si preme il tasto '''-'''.
Ecco alcune note salienti relative a questo esercizio: * gli stati sono 2: condizionatore e pompa di calore * quando si accende in una certa modalità, la temperatura viene impostata ad un certo valore: è la tipica '''azione di ingresso''' che si specifica nella voce '''entry''' di uno stato * invece di avere dei '''loop''' per indicare la permanenza in uno stato con la pressione di '''+''' o '''-''', si usano le '''transizioni interne'''
[[Torna alla pagina di LPS -> LinguaggiProgrammazioneSicurezza]]
|
|