Your SlideShare is downloading. ×
Ingegneria del softwareINTERVENTI DI MANUTENZIONEE PROGETTO DI UN MODULO DI   REGISTRAZIONE AL SITO     www.ing.units.it/b...
Ingegneria del software                                 INDICE GENERALE1. DEFINIZIONE DEL PROBLEMA                        ...
Ingegneria del software    1.   Definizione del problema           La tesina riguarda la sostituzione nel sito http://www....
Ingegneria del softwareLe attività dell’Associazione supportano anche i diplomati che desiderano riposizionarsi sul mercat...
Ingegneria del softwareIndirizzo per invio corrispondenza*                                     *Telefono *                ...
Ingegneria del software                 c. Modulo d’iscrizione:Tutti i campi* da riempire sono obbligatori,tranne         ...
Ingegneria del software     SITO WEB           AT ALUMNI                         FORM      ARCHIVIO                       ...
Ingegneria del software                                                                                ACCESSO            ...
Ingegneria del software4. Progettazione     a) Pagina di accesso del sito:la pagina del sito www.ing.units.it/bca reca il ...
Ingegneria del software                                           TABELLA CORSI MASTER       ID_MAS                      C...
Ingegneria del software                                                                                                   ...
Ingegneria del software     All’apertura del file Iscritti.mdb viene aperta in automatico la maschera     “Principale”.Da ...
Ingegneria del software5. Implementazione     a) Menu di accesso alla pagina informativa:in fig.10 è visualizzata la nuova...
Ingegneria del software          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <!-- saved from url=(0052...
Ingegneria del software   height=75 alt="Logo università di Pordenone" src="menu_file/logo_unipn2.jpg"   width=68> <IMG he...
Ingegneria del software  <o:_AdHocReviewCycleID dt:dt="float">918374387</o:_AdHocReviewCycleID>  <o:_NewReviewCycle dt:dt=...
Ingegneria del software      {mso-style-name:stile2;      margin-right:0cm;      mso-margin-top-alt:auto;      mso-margin-...
Ingegneria del softwaresuoi studenti. </strong><o:p></o:p></span></p><p><span style=font-family:Verdana>L’Associazione vuo...
Ingegneria del softwareAT Alumni AssociationAT Alumni Association è l’associazione aperta agli studenti ed ex studenti del...
Ingegneria del software                          MASCHERA PRINCIPALE                                                      ...
Ingegneria del softwareAl rilascio del tasto del mouse dopo il click sul pulsante Iscriviti cambia il colore della scritta...
Ingegneria del softwareSe si clicca sul pulsante EsciPrivate Sub Comando_Chiudi_Principale_Click()Se cè un errore salta al...
Ingegneria del software                                   MASCHERA ADMIN                                                  ...
Ingegneria del software  Corpo.BackColor = COLORE_BIANCO  Etichetta_Corsisti.FontSize = 14  Etichetta_Iscritti.FontSize = ...
Ingegneria del software===========================================ISCRITTI===================================Se si clicca ...
Ingegneria del software  Apre la maschera corsisti collegandola tramite il cognome  stDocName = "Corsisti"  stLinkCriteria...
Ingegneria del software    On Error GoTo Err_Comando_Lettura_Corsisti_Click       Apre la maschera Corsisti in modalità st...
Ingegneria del software=========================================================================================CODICE MAS...
Ingegneria del softwareEnd SubSe si clicca nella casella di Cognome vengono definiti colore egrandezza scritta delletichet...
Ingegneria del software  DoCmd.Close acForm, "Admin"Procedura di uscitaExit_Comando_Torna_Principale_Click:   Exit SubProc...
Ingegneria del software                                      MASCHERA AUTORIZZATI                                         ...
Ingegneria del software  Imposta i colori dello sfondo(BackColor) e dei pulsanti di comando Iscriviti(Comando_Apri_Iscritt...
Ingegneria del software  Etichetta_MAT.ForeColor = COLORE_BLUEnd SubSe ci si sposta col mouse nel campo o etichetta Telefo...
Ingegneria del softwareSe si clicca nella casella di Nome vengono definiti colore egrandezza scritta delletichetta e grand...
Ingegneria del software  Indirizzo_di_invio.FontSize = 8End SubSe si clicca nella casella di Indirizzo di invio vengono de...
Ingegneria del softwareSe ci si sposta col mouse nel campo o etichetta Password ingrandisce il carattere delle scritte di ...
Ingegneria del softwareAl rilascio del tasto del mouse dopo il click sul pulsante Torna allamaschera principale cambia il ...
Ingegneria del software                                              MASCHERA ISCRITTI                                    ...
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Ing sftw Fabiano Dalla Piazza
Upcoming SlideShare
Loading in...5
×

Ing sftw Fabiano Dalla Piazza

430

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
430
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Ing sftw Fabiano Dalla Piazza"

  1. 1. Ingegneria del softwareINTERVENTI DI MANUTENZIONEE PROGETTO DI UN MODULO DI REGISTRAZIONE AL SITO www.ing.units.it/bca A CURA DI:Fabiano Dalla Piazza 1
  2. 2. Ingegneria del software INDICE GENERALE1. DEFINIZIONE DEL PROBLEMA 32. CONTESTO E FATTIBILITA’ 33. ANALISI DEI REQUISITI 3 a. Menù di accesso alla pagina 3 b.Parola chiave di accesso al modulo di iscrizione 3 c.Modulo d’iscrizione 6 d.Archivio 7 e.Schemi 74. PROGETTAZIONE 9 a.Pagina di accesso del sito 9 b.Pagina di accesso al form 9 c.Schema Entità-Relazione 9 d.Progettazione delle maschere 115.IMPLEMENTAZIONE 13 a.Menu di accesso alla pagina informativa 13 b.Pagina di accesso al form 15 c.Database in Microsoft Access 19 maschera principale 20 codice maschera principale 20 maschera admin 23 codice maschera admin 23 maschera corsisti 27 codice maschera principale 27 maschera autorizzati 31 codice maschera autorizzati 31 maschera iscritti 38 codice maschera iscritti 38 maschera richiedi password 45 codice maschera richiedi password 45 maschera password 47 codice maschera password 47 codice modulo1 49 d.Form di iscrizione in .asp 49 interfaccia alumni.asp 50 codice alumni.asp 51 interfaccia psswrd2.asp 54 codice psswrd2.asp 546.CONCLUSIONI 57 2
  3. 3. Ingegneria del software 1. Definizione del problema La tesina riguarda la sostituzione nel sito http://www.ing.units.it/bca della colonna e relativo titolo “Registrazione” con una pagina contenente un’informativa sulla AT Alumni Association provvista di un collegamento con un’altra pagina dove è possibile iscriversi.Al termine della procedura,che deve accertarsi di eventuali errori ortografici e controllare i nomi autorizzati,viene rilasciata una password che consente al sottoscrittore di ricevere gli aggiornamenti.In caso di “utente non autorizzato” viene previsto un messaggio recante tale dicitura. 2. Contesto e fattibilità Il sito http://www.ing.units.it/bca si occupa del Master universitario di primo livello in Assistite technology,uno dei cui curatori,la prof.Scotti è anche l’ideatrice di questo lavoro,ed eventualmente collaboratrice nel progetto.Il lavoro non è vincolato da contratto,per cui non presenta,almeno in linea teorica,limiti di costo o tempo.Ed è stato eseguito in armonia con il lavoro svolto dal collega Maurizio Chivella sull’omonimo sito. 3. Analisi dei requisiti a. Menù di accesso alla pagina:In basso col colore blu(fig.1) è riportato un fac-simile del menù di scelta una volta che ci si collega con http://www.ing.units.it/bca.Un primo aggiustamento riguarda la voce “Registrazione” da sostituire con “Alumni”.Naturalmente cliccando poi su tale voce, si deve aprire il file con l’informativa sull’AT Alumni Association(fig. 2). Home | Chi siamo | Didattica| FAQ| Sponsor| Registrazione| News| Contatti| Edizioni precedenti | Figura 1AT Alumni AssociationAT Alumni Association è l’associazione aperta agli studenti ed ex studenti del Master in Assistive Technology.L’obiettivo della AT Alumni Association è quello di valorizzare e tenere unito il più grande patrimonio di unMaster: il network dei suoi studenti.L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia ilnetworking, favorisce lo sviluppo delle relazioni, organizza attività di formazione continua.- Attraverso il networking e le numerose occasioni di incontro, tutti gli associati hanno la possibilità dicondividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propriaprofessionalità.- Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare leproprie competenze sui principali temi dell’Assistive Technology. 3
  4. 4. Ingegneria del softwareLe attività dell’Associazione supportano anche i diplomati che desiderano riposizionarsi sul mercato del lavoro;attraverso azioni di networking e diffusione mirata di curricula, l’Associazione diviene uno strumento privilegiatodi supporto al replacement dei diplomati del Master AT.Per iscriversi per la prima volta si deve compilare il form on-line.Iscrizione riservata ai Diplomati del Master in Assistive Technology e ai due Corsi di Perfezionamento inAssistive TechnologyL’Associazione opera attraverso: • organizzazione di incontri periodici itineranti su specifiche tematiche di Assistive Technology • organizzazione di iniziative di formazione continua • attività destinate tipicamente al replacement degli associati • circolazione di newsletter periodiche di aggiornamento • organizzazione di occasioni di svago e intrattenimento destinate agli associati • Figura 2 b. Parola chiave di accesso al modulo di iscrizione:nella fig.2 ,dove è riportata la pagina informativa,c’è la parola chiave form on-line (qui riprodotta fedelmente).Cliccando su questa,si deve poter accedere al modulo di iscrizione,una cui rappresentazione viene visualizzata nella figura sottostante(fig.3),compresiva dei titoli.Iscriviti allassociazione AT AlumniE-MAIL * * Invalid EmailNome * *Cognome * *Riempi i campi sottostantiIndirizzo di residenza * * 4
  5. 5. Ingegneria del softwareIndirizzo per invio corrispondenza* *Telefono * *Corso Frequentato *CPAT: Corso di Perfezionamento CPATin Assistive TechnologyMAT: Master in Assistive MATTechnology * Seleziona quale corso hai frequentatoEdizione * * Inserire l’anno accademico dell’edizione frequentataNote Invia Figura 3 5
  6. 6. Ingegneria del software c. Modulo d’iscrizione:Tutti i campi* da riempire sono obbligatori,tranne uno.Vanno effettuati dei controlli che accertino eventuali incongruenze,mentre la lunghezza dei vari campi* è stabilita nell’ottica di eccedere,piuttosto che difettare: Nome:deve essere costituito solo da caratteri alfabetici,fino ad un massimo fissato arbitrariamente di 40; Cognome:deve essere costituito solo da caratteri alfabetici, fino ad un massimo fissato arbitrariamente di 40; E-mail:può essere costituito da caratteri alfanumerici e contenere almeno un @, fino ad un massimo fissato arbitrariamente di 50; Indirizzo di residenza:deve essere costituito solo da caratteri alfanumerici, fino ad un massimo fissato arbitrariamente di 60; Indirizzo per invio corrispondenza: deve essere costituito solo da caratteri alfanumerici, fino ad un massimo fissato arbitrariamente di 60; Telefono:sono ammessi esclusivamente caratteri numerici,con minimo di 9 fino ad un massimo fissato di 14(4 cifre di prefisso estero+4 cifre di prefisso distretto+6 cifre del numero); Corso frequentato:è obbligatorio indicare almeno uno dei corsi frequentati; Edizione:è obbligatorio inserire una cifra numerica di quattro lettere “realistica”(per es. una persona non può aver frequentato un corso nel 3014); Note:campo opzionale in cui sono ammessi caratteri alfanumerici, fino ad un massimo fissato arbitrariamente di 120. Password:deve essere costituita da caratteri ASCII validi in numero totale di 9. d. Archivio:Naturalmente non è sufficiente un controllo ortografico o formale.Un requisito necessario affinché un utente si possa iscrivere è la partecipazione a uno dei corsi precedenti.La consultazione dell’archivio deve consentire questo controllo. Una volta che la registrazione ha avuto successo,viene richiesta una password(e conferma) per ciascun sottoscrittore,che verrà comunicata dall’utente.Qualora il processo di identificazione dia risultato negativo deve comparire il messaggio “Utente non autorizzato”. Il committente non ha fornito,al momento,ulteriori dettagli sul successivo processo di riconoscimento finalizzato all’accesso,una volta che l’iscrizione sia già avvenuta. e. Schemi:Uno schema generale indica l’interazione tra le parti(fig.4). Un collegamento consente di raggiungere dal sito,la pagina ancorata AT Alumni.Un secondo permette di giungere da questa al form di registrazione;il form richiede i dati utente,esegue controlli ortografici e di coerenza,richiede se l’utente risulti abilitato(utente autorizzato);l’utente riceve una risposta condizionata in base al controllo autorizzazione.* campi:qui si intende il valore alfabetico,numerico o alfanumerico di una singola voce invocata dal modulo.Es. Nome 6
  7. 7. Ingegneria del software SITO WEB AT ALUMNI FORM ARCHIVIO ISCRIZIONE # # L E UTENTE LEGENDA: Collegamento Risposta Richiesta dati Invio password o messaggio utente non autorizzato Figura 4Uno schema delle varie funzioni fatto mediante diagramma di flusso è riportatoa pagina seguente(fig.5).In esso è indicata la sequenza delle operazioni.Laconvenzione adottata piuttosto diffusa stabilisce di indicare con rettangoli gliagenti esterni,con cerchi funzioni o processi,con doppia linea parallela gliarchivi o basi di dati,con dei rombi le decisioni condizionate(per es.nel caso“inserisci Nome”,se dal controllo emergono dei valori incoerenti oscorretti,uscita rossa “NO” e ridigitazione Nome da parte dell’utente;in casocontrario uscita blu “OK” e prosegui con inserisci Cognome). 7
  8. 8. Ingegneria del software ACCESSO ACCESSO AL PAGINA AT ACCESSO AL SITO COMMUNITY FORM UTENTE SITO WEB PAGINA FORM AT COMM OK INSERISCI E- NO MAIL NO NO NO INSERISCI INDIRIZZO INSERISCI INSERISCI INDIRIZZO COGNOME NOME E-MAIL RESIDENZA COGNOME NOME RESIDENZA OK OK OK INSERISCI NO INDIRIZZOOK INVIO CORRISPONDEN ZA OK OK OK INDIRIZZO INSERISCI CORSO INVIO INSERISCI CORSO FREQUENTA INSERISCI TELEFONO EDIZIONE CORRISPON TELEFONO FREQUENTATO EDIZIONE TO DENZA NO NO NO COMUNICAZIONE INSERISCI ISCRIZIONE NOTE INVIA SI SI CHIEDIMESSAGGIO DI AUTORIZZAZIO CHIEDI NOME ERRORE CONFERMA GENERA NE INVIA CONFERMA ESISTENTE CONTROLLO NOTE ISCRIZIONE PASSWORD PASSWORD NELL’ARCHIVIO NO NO Figura 5 8
  9. 9. Ingegneria del software4. Progettazione a) Pagina di accesso del sito:la pagina del sito www.ing.units.it/bca reca il menu con cui si accede alla pagina di informazione.Un primo intervento prevede la sostituzione di “Registrazione” con “Alumni” nel codice HTML della pagina,memorizzata in un file la cui sottocartella è:Master Assistive Technology_filemenu.htm.Quando si apre la pagina web,il codice HTML esegue delle chiamate delimitate da <A> e </A> tramite delle href a delle risorse memorizzate,che,nel caso venga scelto “Registrati”,carica il file contenuto in: "http://www.ing.units.it/bca/contenuti/06-07/registrazioni06- 07.htm".Bisogna quindi memorizzare a tale indirizzo la nuova pagina comprensiva dell’informativa all’AT Alumni e accesso al form.E’ bene variare anche il titolo “Registrazione al sito” con “AT Alumni”,per evitare equivoci. b) Pagina di accesso al form:nella pagina di accesso viene inserito un link di collegamento a: "http://www.mib.edu/forms/Alumni.asp".Nel sito mib.edu si ricerca,tra le risorse forms,la pagina Alumni che effettua il controllo sui record. c) Schema Entità-Relazione:in fig.6 è riportato lo schema Entità-Relazione per il database. INDIRIZZO INDIRIZZO ID_COR RESIDENZA INVIO SOM TELEFONO COGNOME COGNOME NOTE NOME (1,1) (0,1) E-MAIL ISCRITTI APPARTENENZA CORSISTI ID (1,N) PASSWORD NOME PARTECIPAZIONE (1,N) ID CORSO TIPO MASTER EDIZIONE Figura 6 9
  10. 10. Ingegneria del software TABELLA CORSI MASTER ID_MAS CONTATORE A CHIAVE PRIMARIA;CAMPO AGGIORNATO AUTOMATICAMENTE TIPO STRINGA NUMERICA:AI NUMERI I PULSANTI OPZIONALI ASSOCIANO I VALORI NUMERICI INCREMENTALI;CAMPO OBBLIGATORIO EDIZIONE STRINGA NUMERICA DI 4 CARATTERI ACCETTABILE;CAMPO OBBLIGATORIO TABELLA CORSISTI COGNOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO NOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO TABELLA ISCRITTI ID_ISC CONTATORE A CHIAVE PRIMARIA;CAMPO AGGIORNATO AUTOMATICAMENTE E-MAIL STRINGA ALFANUMERICA <=50 CARATTERI CONTENENTE ‘@’;CAMPO OBBLIGATORIO NOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO COGNOME STRINGA ALFANUMERICA <=40 CARATTERI;CAMPO OBBLIGATORIO INDIRIZZO DI RESIDENZA STRINGA ALFANUMERICA <=60 CARATTERI;CAMPO OBBLIGATORIO INDIRIZZO DI INVIO STRINGA ALFANUMERICA <=60 CARATTERI;CAMPO OBBLIGATORIO TELEFONO STRINGA NUMERICA >=9 E <=14 CARATTERI;CAMPO OBBLIGATORIO NOTE STRINGA ALFANUMERICA DI MAX 120 CARATTERI;CAMPO OBBLIGATORIO PASSWORD STRINGA ALFANUMERICA DI MAX 9 CARATTERI;CAMPO OBBLIGATORIO ID_CORSOM STRINGA NUMERICA DI COLEGAMENTO TABELLA CORSI MASTER Figura 7In figura 7 compaiono le caratteristiche dei campi nelle tabelle,mentre a paginaseguente(fig.8)è riportato lo schema di collegamento fra le tabelle.L’iscrizionedi un’utente può avvenire tramite confronto e relativo accertamentodell’appartenenza all’archivio corsisti,poiché ha partecipato ad un corsomaster.Ogni riga individua un campo della tabella,mentre i campi in rossorappresentano le chiavi primarie. 10
  11. 11. Ingegneria del software Figura 8 N OM E ID _ IS C ID _ M A S CO GN O M E E -M A IL T IP O N O M E E D IZ IO N E CO G N OM E IN D IR IZ Z O D I R E S ID E N Z A IN D IR IZ Z O D I IN V IO N O TE PASSW O RD ID _ C O R S O Md. Progettazione delle maschere:nella figura sotto(fig.9) è riportato loschema utilizzato per le maschere. modalità inserimento PRINCIPALE ADMIN utente accedi al record dove utente non autorizzato:esci amministratore registrarsi AUTORIZZATI CORSISTI ISCRITTI leggi o modifica i dati leggi ,modifica o inserisci i dati utente utente autorizzato iscritti inserisci dei corsisti RICHIEDI PASSWORD inserisci la password messaggio iscrizione riuscita Password confermata:invia Password confermata:invia confermata:ripeti confermata:ripeti Password non PASSWORD conferma la password Figura 9 11
  12. 12. Ingegneria del software All’apertura del file Iscritti.mdb viene aperta in automatico la maschera “Principale”.Da essa si sceglie se inserire un nuovo iscritto,o agire da amministratore.Se si sceglie l’opzione “Admin” viene aperta la maschera “Iscritti” in modalità Aggiungi come form di iscrizione utente,selezionando il record.Qui i dati utente vengono confrontati con quelli dell’archivio partecipanti.Nonostante sia previsto un filtraggio(nome e cognome risultanti in archivio),qualora un cognome non soddisfi i requisiti,viòla comunque i requisiti dell’integrità referenziale,generando un errore e abortendo la transazione.L’errore viene successivamente “intercettato” e riformulato con la frase “UTENTE NON AUTORIZZATO”,che provoca l’uscita dal file. La maschera “Richiedi Password” permette l’inserimento di una parola chiave;usa poi una maschera “Password” per richiedere la digitazione.Se le due coincidono,viene comunicato all’utente l’avvenuta iscrizione,altrimenti viene inoltrata un’ulteriore richiesta,fino al successo dell’operazione,salvo uscita volontaria. L’uscita provoca la chiusura di tutte le maschere. Se invece si opta per la maschera “Amministratore,si aprono le maschere “Autorizzati” per le operazioni sui dati “Iscritti” e “Corsisti” per immettere o modificare i corsisti. GLI OGGETTI DI CLASSE IMPIEGATI: Form_Principale USA Form_Admin e Form_Autorizzati e Form_Corsisti Form_Admin USA Form_Iscritti Form_Iscritti USA Form_Richiedi_Password Form_Richiedi_Password USA Form_Password Form_Password Form_Corsisti Form_Autorizzati I MODULI UTILIZZATI: Modulo1 PER IMPOSTARE COSTANTIIl codice relativo alle maschere è riportato in testa al codice sorgente(parte 5). 12
  13. 13. Ingegneria del software5. Implementazione a) Menu di accesso alla pagina informativa:in fig.10 è visualizzata la nuova pagina del sito recante a sinistra il menu di scelta. Figura 10 Sotto viene visualizzato il codice HTML (fig.11)della precedente pagina che è stata sostituita.Il codice è variato poiché è stata modificata la veste grafica del sito.La variazione da eseguire alla data di assegnazione del lavoro nella vecchia pagina riguarda la parte indicata in rosso,da sostituire con la parola in verde. Le modifiche alla pagina sono state apportate dai responsabili della progettazione sito e E-Learning,fra cui Roberto Tomat. 13
  14. 14. Ingegneria del software <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0052)http://www.ing.units.it/bca/contenuti/06-07/menu.htm --><HTML><HEAD><TITLE>Master in Assistive Technology 2004-2005</TITLE> <META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><META content="MSHTML 6.00.6000.16481" name=GENERATOR><SCRIPT language=JavaScript1.2><!--var yourwords = Si raccomanda di consultare frequentemente il sito in quanto viene spesso aggiornato;var speed = 1000;var control = 1;function flash(){ if (control == 1) { document.forms["myform"].testo2.value=yourwords; control=0; speed=1400 } else { document.forms["myform"].testo2.value=""; control=1; speed=500 } setTimeout("flash();",speed);}function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();}MM_reloadPage(true);//--></SCRIPT></HEAD><BODY vLink=#000000 aLink=#000000 link=#ffffff bgColor=#006699background=menu_file/color_background.jpg><DIV id=Layer1style="Z-INDEX: 1; LEFT: 1px; WIDTH: 858px; POSITION: absolute; TOP: 218px; HEIGHT: 35px"align=center><P><FONT face="Verdana, Arial, Helvetica, sans-serif" size=3><Atitle="Home page" href="http://www.ing.units.it/bca/contenuti/06-07/intro.htm"target=contenuti><STRONG>Home</STRONG></A> | <A title="chi siamo"href="http://www.ing.units.it/bca/contenuti/06-07/chisiamo06-07.htm"target=contenuti><STRONG>Chi siamo </STRONG></A>| <A title="programma didattico" href="http://www.ing.units.it/bca/contenuti/06-07/didattica06-07.htm"target=contenuti><STRONG>Didattica</STRONG></A>| <A title=faqhref="http://www.ing.units.it/bca/contenuti/06-07/faq06-07.htm"target=contenuti><STRONG>FAQ</STRONG></A>| <A title=sponsorhref="http://www.ing.units.it/bca/contenuti/06-07/sponsor06-07.htm"target=contenuti><STRONG>Sponsor</STRONG></A>| <A title="Registrazione al sito"href="http://www.ing.units.it/bca/contenuti/06-07/registrazioni06-07.htm"target=contenuti><STRONG>Registrazione SOSTITUITA CON Alumni </STRONG></A>| <A title=Eventihref="http://www.ing.units.it/bca/contenuti/06-07/eventi06-07.htm"target=contenuti><STRONG>News</STRONG></A>| <A title=Contattihref="http://www.ing.units.it/bca/contenuti/06-07/contatti06-07.htm"target=contenuti><STRONG>Contatti</STRONG></A>| <Atitle="Edizioni precedenti del Master"href="http://www.ing.units.it/bca/contenuti/06-07/edizioni_precedenti06-07.htm"target=contenuti><STRONG>Edizioni precedenti</STRONG></A> | </FONT></P></DIV><DIV id=Layer2style="Z-INDEX: 11; LEFT: 5px; WIDTH: 281px; POSITION: absolute; TOP: 7px; HEIGHT: 70px"><IMGheight=77 alt="Logo università di Trieste" src="menu_file/logo_units2.jpg"width=77> <IMG height=37 alt="Facoltà di ingegneria"src="menu_file/logo_units2_testo.jpg" width=192 align=top> </DIV><DIV id=Layer3style="Z-INDEX: 3; LEFT: 5px; WIDTH: 271px; POSITION: absolute; TOP: 85px; HEIGHT: 58px"><IMG 14
  15. 15. Ingegneria del software height=75 alt="Logo università di Pordenone" src="menu_file/logo_unipn2.jpg" width=68> <IMG height=68 alt="Consorzio di Pordenone per la Formazione Superiore gli Studi Universitari e la Ricerca" src="menu_file/logo_unipn2_testo.jpg" width=183 align=top></DIV> <DIV id=Layer4 style="Z-INDEX: 4; LEFT: 4px; WIDTH: 266px; POSITION: absolute; TOP: 168px; HEIGHT: 42px"><IMG height=41 alt="Logo Fondazione Risorsa Donna" src="menu_file/logo_risdonna2.jpg" width=67><IMG height=36 alt="Con il Patrocinio della Fondazione risorsa donna" src="menu_file/logo_fonddonna2_testo.jpg" width=172></DIV> <DIV id=Layer5 style="Z-INDEX: 5; LEFT: 503px; WIDTH: 322px; POSITION: absolute; TOP: 7px; HEIGHT: 211px"> <P align=center><IMG height=62 alt="Master di I livello" src="menu_file/master_univ_testo.jpg" width=245><BR><IMG height=81 alt="Assistive Technology" src="menu_file/ass_technology_testo.jpg" width=259> <BR><IMG height=27 alt="Ausili per lutenza ampliata" src="menu_file/ausili_per_testo.jpg" width=314> <BR><IMG height=32 src="menu_file/quartaedizione.jpg" width=333> </P></DIV> <DIV id=Layer8 style="Z-INDEX: 8; LEFT: 286px; WIDTH: 186px; POSITION: absolute; TOP: 5px; HEIGHT: 209px"><IMG height=203 src="menu_file/Vitruvio-web%2520small.png"width=177></DIV></BODY></HTML> Figura 11 b) Pagina di accesso al form:di seguito(fig.12) viene riportato il codice HTML della pagina informativa per accedere al form di iscrizione.In rosso è evidenziato il collegamento href,con in verde il form di iscrizione Alumni.asp.In fig.13,una visualizzazione zoomata della pagina come appare nel web.Il committente ha alla fine deciso di modificare il titolo “AT Community” con “AT Alumni”.Comunque basta sostituire la parola in alcuni programmi e il codice viene generato automaticamente.Se si opera direttamente in HTML bisogna cambiare il codice stesso(più laborioso). <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> <meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 9"> <meta name=Originator content="Microsoft Word 9"> <link rel=File-List href="./Alumni_file/filelist.xml"> <title>Registrazione al sito</title> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>fiorenza</o:Author> <o:Template>Normal</o:Template> <o:LastAuthor>FABIANO DALLA PIAZZA</o:LastAuthor> <o:Revision>2</o:Revision> <o:TotalTime>43</o:TotalTime> <o:Created>2007-08-21T15:30:00Z</o:Created> <o:LastSaved>2007-08-21T15:30:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>300</o:Words> <o:Characters>1710</o:Characters> <o:Lines>14</o:Lines> <o:Paragraphs>3</o:Paragraphs> <o:CharactersWithSpaces>2100</o:CharactersWithSpaces> <o:Version>9.2812</o:Version> </o:DocumentProperties> <o:CustomDocumentProperties> 15
  16. 16. Ingegneria del software <o:_AdHocReviewCycleID dt:dt="float">918374387</o:_AdHocReviewCycleID> <o:_NewReviewCycle dt:dt="string"></o:_NewReviewCycle> <o:_EmailSubject dt:dt="string">argomento per tesina desame</o:_EmailSubject> <o:_AuthorEmail dt:dt="string">SCOTTI@UNIV.TRIESTE.IT</o:_AuthorEmail> <o:_AuthorEmailDisplayName dt:dt="string">Fiorenza Scotti</o:_AuthorEmailDisplayName> </o:CustomDocumentProperties></xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:HyphenationZone>14</w:HyphenationZone> <w:PunctuationKerning/> </w:WordDocument></xml><![endif]--><style><!-- /* Font Definitions */@font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;}@font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 0 0 0 415 0;} /* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";}h1 {margin-right:0cm; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; mso-outline-level:1; font-size:24.0pt; font-family:"Times New Roman"; mso-font-kerning:18.0pt; font-weight:bold;}h3 {margin-right:0cm; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; mso-outline-level:3; font-size:13.5pt; font-family:"Times New Roman"; font-weight:bold;}p.MsoFooter, li.MsoFooter, div.MsoFooter {margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:center 240.95pt right 481.9pt; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";}p {margin-right:0cm; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";}p.stile2, li.stile2, div.stile2 16
  17. 17. Ingegneria del software {mso-style-name:stile2; margin-right:0cm; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";}p.p1, li.p1, div.p1 {mso-style-name:p1; margin-right:0cm; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";}span.evidenziaprogrammi {mso-style-name:evidenzia_programmi;} /* Page Definitions */@page {mso-footnote-separator:url("./Alumni_file/header.htm") fs; mso-footnote-continuation-separator:url("./Alumni_file/header.htm") fcs; mso-endnote-separator:url("./Alumni_file/header.htm") es; mso-endnote-continuation-separator:url("./Alumni_file/header.htm") ecs;}@page Section1 {size:595.3pt 841.9pt; margin:70.85pt 2.0cm 2.0cm 2.0cm; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-even-footer:url("./Alumni_file/header.htm") ef1; mso-footer:url("./Alumni_file/header.htm") f1; mso-paper-source:0;}div.Section1 {page:Section1;} /* List Definitions */@list l0 {mso-list-id:999767469; mso-list-template-ids:-1750029814;}@list l0:level1 {mso-level-number-format:bullet; mso-level-text:F0B7; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;}ol {margin-bottom:0cm;}ul {margin-bottom:0cm;}--></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="2050"/></xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> </o:shapelayout></xml><![endif]--></head><body lang=IT style=tab-interval:35.4pt><div class=Section1><p class=MsoNormal><span style=font-family:Verdana>AT Alumni Association <o:p></o:p></span></p><p><strong><span style=font-family:Verdana>AT Alumni Association</span></strong><spanstyle=font-family:Verdana>&nbsp;è l’associazione aperta agli studenti ed exstudenti del Master in Assistive Technology.<span style="mso-spacerun: yes"></span><o:p></o:p></span></p><p><span style=font-family:Verdana>&nbsp;L’obiettivo della AT AlumniAssociation è quello di <strong>valorizzare e tenere unito il più grandepatrimonio di<span style="mso-spacerun: yes"> </span>un Master: il network dei 17
  18. 18. Ingegneria del softwaresuoi studenti. </strong><o:p></o:p></span></p><p><span style=font-family:Verdana>L’Associazione vuole offrire a tutti gliiscritti opportunità di aggiornamento e di crescita professionale: incoraggiail networking, favorisce lo sviluppo delle relazioni, organizza attività diformazione continua. <o:p></o:p></span></p><p class=MsoNormal><span style=font-family:Verdana>- Attraverso&nbsp;il <strong>networkinge le numerose occasioni di incontro</strong>, tutti gli associati hanno lapossibilità di condividere esperienze, informazioni e conoscenze, fondamentaliper il continuo aggiornamento della propria professionalità.<o:p></o:p></span></p><p class=MsoNormal><span style=font-family:Verdana>- Attraverso le <strong>attivitàdi formazione</strong> organizzate dall’Associazione, gli iscritti hannol’occasione di perfezionare le proprie competenze sui principali temidell’Assistive Technology.<o:p></o:p></span></p><p class=MsoNormal><span style=font-family:Verdana>&nbsp;<o:p></o:p></span></p><p class=MsoNormal><span style=font-family:Verdana>Le attivitàdell’Associazione supportano anche i diplomati che desiderano riposizionarsisul mercato del lavoro; attraverso azioni di <strong>networking e diffusionemirata di curricula</strong>, l’Associazione diviene uno strumento privilegiatodi supporto al replacement dei diplomati del Master AT.<o:p></o:p></span></p><p class=MsoNormal><span style=font-family:Verdana>&nbsp;<o:p></o:p></span></p><p class=MsoNormal><span style=font-family:Verdana>&nbsp;<o:p></o:p></span></p><p class=MsoNormal><strong><span style=font-family:Verdana>Per iscriversi perla prima volta si deve compilare il </span></strong><span style=font-family:Verdana><a href="http://www.mib.edu/forms/Alumni.asp"><strong>form on-line</strong></a><strong>.</strong><o:p></o:p></span></p><p class=MsoNormal><span style=font-family:Verdana><br><strong><span style=color:red>Iscrizione riservata ai Diplomati del Master inAssistive Technology e ai due Corsi di Perfezionamento in Assistive Technology</span></strong><b><spanstyle=color:red><br><br></span></b><span class=evidenziaprogrammi>L’Associazione opera attraverso:</span><o:p></o:p></span></p><ul type=disc><li class=MsoNormal style=mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-list:l0 level1 lfo1;tab-stops:list 36.0pt><span style=font-family: Verdana>organizzazione di incontri periodici itineranti su specifiche tematiche di Assistive Technology <o:p></o:p></span></li><li class=MsoNormal style=mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-list:l0 level1 lfo1;tab-stops:list 36.0pt><span style=font-family: Verdana>organizzazione di iniziative di formazione continua<o:p></o:p></span></li><li class=MsoNormal style=mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-list:l0 level1 lfo1;tab-stops:list 36.0pt><span style=font-family: Verdana>attività destinate tipicamente al replacement degli associati<o:p></o:p></span></li><li class=MsoNormal style=mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-list:l0 level1 lfo1;tab-stops:list 36.0pt><span style=font-family: Verdana>circolazione di newsletter periodiche di aggiornamento<o:p></o:p></span></li><li class=MsoNormal style=mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-list:l0 level1 lfo1;tab-stops:list 36.0pt><span style=font-family: Verdana>organizzazione di occasioni di svago e intrattenimento destinate agli associati<o:p></o:p></span></li></ul><h1><span style=font-size:12.0pt;font-family:Verdana><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></h1></div></body></html> Figura 12 18
  19. 19. Ingegneria del softwareAT Alumni AssociationAT Alumni Association è l’associazione aperta agli studenti ed ex studenti del Master in Assistive Technology.L’obiettivo della AT Alumni Association è quello di valorizzare e tenere unito il più grande patrimonio di unMaster: il network dei suoi studenti.L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia ilnetworking, favorisce lo sviluppo delle relazioni, organizza attività di formazione continua.- Attraverso il networking e le numerose occasioni di incontro, tutti gli associati hanno la possibilità dicondividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propriaprofessionalità.- Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare leproprie competenze sui principali temi dell’Assistive Technology.Le attività dell’Associazione supportano anche i diplomati che desiderano riposizionarsi sul mercato del lavoro;attraverso azioni di networking e diffusione mirata di curricula, l’Associazione diviene uno strumento privilegiatodi supporto al replacement dei diplomati del Master AT.Per iscriversi per la prima volta si deve compilare il form on-line.Iscrizione riservata ai Diplomati del Master in Assistive Technology e ai due Corsi di Perfezionamento inAssistive TechnologyL’Associazione opera attraverso: • organizzazione di incontri periodici itineranti su specifiche tematiche di Assistive Technology • organizzazione di iniziative di formazione continua • attività destinate tipicamente al replacement degli associati • circolazione di newsletter periodiche di aggiornamento • organizzazione di occasioni di svago e intrattenimento destinate agli associati Figura 13 c) Database in Microsoft Access:in fig.14 viene mostrata la maschera “principale” avviata in automatico all’apertura del file,mentre in fig.15 ne viene visualizzato il codice.Di seguito vengono proposti la maschera “Admin”(fig.16) e relativo codice(fig.17) e la maschera(fig.18) e il codice(fig.19) “Corsisti”. 19
  20. 20. Ingegneria del software MASCHERA PRINCIPALE Figura 14 CODICE MASCHERA PRINCIPALEOption Compare Database=====================================================================================CODICE MASCHERA PRINCIPALE=====================================================================================Tutte le Sub eseguite sono procedure interneLe costanti usate sono FORM_ATTIVO e le COSTANTI per i coloriAll apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principalePrivate Sub Form_Open(Cancel As Integer) Rendi il Form attivo FORM_ATTIVO = True Imposta i colori dello sfondo(BackColor) e dei pulsanti di comando Iscriviti(Comando_Apri_Iscritti, Esci(Comando_Chiudi_Principale) e Amministratore(Apri_Admin) Corpo.BackColor = COLORE_BIANCO Etichetta_Scegliere.FontSize = 14 Comando_Apri_Iscritti.ForeColor = COLORE_ROSSO Comando_Chiudi_Principale.ForeColor = COLORE_ROSSO Comando_Apri_Admin.ForeColor = COLORE_ROSSOEnd SubSe si clicca con il mouse sul pulsante Iscriviti cambia il colore della scrittaPrivate Sub Comando_Apri_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Iscritti.ForeColor = COLORE_ROSSOEnd SubSe ci si sposta con il mouse sopra il pulsante Iscriviti cambia il colore e lo spessore della scrittaPrivate Sub Comando_Apri_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Iscritti.ForeColor = COLORE_NERO Comando_Apri_Iscritti.FontBold = TrueEnd Sub 20
  21. 21. Ingegneria del softwareAl rilascio del tasto del mouse dopo il click sul pulsante Iscriviti cambia il colore della scrittaPrivate Sub Comando_Apri_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Iscritti.ForeColor = COLORE_BLUEnd SubSe si clicca con il mouse sul pulsante Esci cambia il colore della scrittaPrivate Sub Comando_Chiudi_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Chiudi_Principale.ForeColor = COLORE_ROSSOEnd SubSe ci si sposta con il mouse sopra il pulsante Esci cambia il colore e lo spessore della scrittaPrivate Sub Comando_Chiudi_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Chiudi_Principale.ForeColor = COLORE_NERO Comando_Chiudi_Principale.FontBold = TrueEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Esci cambia il colore della scrittaPrivate Sub Comando_Chiudi_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Chiudi_Principale.ForeColor = COLORE_BLUEnd SubSe si clicca con il mouse sul pulsante Amministratore cambia il colore della scrittaPrivate Sub Comando_Apri_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Admin.ForeColor = COLORE_ROSSOEnd SubSe ci si sposta con il mouse sopra il pulsante Amministratore cambia il colore e lo spessore della scrittaPrivate Sub Comando_Apri_Admin_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Admin.ForeColor = COLORE_NERO Comando_Apri_Admin.FontBold = TrueEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Amministratore cambia il colore della scrittaPrivate Sub Comando_Apri_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Admin.ForeColor = COLORE_BLUEnd SubSe si clicca sul corpo della maschera cambia il colorePrivate Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULTEnd SubSe si clicca sul pulsante IscrivitiPrivate Sub Comando_Apri_Iscritti_Click()Se cè un errore salta all etichetta Err_Comando_Apri_Iscritti_Click e ne esegue il codiceOn Error GoTo Err_Comando_Apri_Iscritti_ClickVa fino allultimo record registrato DoCmd.GoToRecord , , acLastApre la maschera Iscritti in modalità aggiungi record DoCmd.OpenForm "Iscritti", acNormal, "", "", acAdd, acNormalProcedura di uscitaExit_Comando_Apri_Iscritti_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Apri_Iscritti_Click: MsgBox Err.Description Resume Exit_Comando_Apri_Iscritti_ClickEnd Sub 21
  22. 22. Ingegneria del softwareSe si clicca sul pulsante EsciPrivate Sub Comando_Chiudi_Principale_Click()Se cè un errore salta all etichetta Err_Comando_Chiudi_Principale_Click e ne esegue il codiceOn Error GoTo Err_Comando_Chiudi_Principale_Click Chiude la maschera attuale DoCmd.Close Esce dal file DoCmd.QuitProcedura di uscitaExit_Comando_Chiudi_Principale_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Chiudi_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Chiudi_Principale_ClickEnd SubSe si clicca sul comando AmministratorePrivate Sub Comando_Apri_Admin_Click()Se cè un errore salta all etichetta Err_Comando_Apri_Admin e ne esegue il codiceOn Error GoTo Err_Comando_Apri_Admin_Click Variabili stringhe Dim stDocName As String Dim stLinkCriteria As String Memorizza il nome della maschera che verrà aperta stDocName = "Admin" Apre la maschera Richiedi password con i criteri esposti DoCmd.OpenForm stDocName, , , stLinkCriteriaProcedura di uscitaExit_Comando_Apri_Admin_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Apri_Admin_Click: MsgBox Err.Description Resume Exit_Comando_Apri_Admin_ClickEnd Sub Figura 15 22
  23. 23. Ingegneria del software MASCHERA ADMIN Figura 16 CODICE MASCHERA ADMINOption Compare Database============================================================================================================CODICE MASCHERA ADMIN============================================================================================================Tutte le Sub eseguite sono procedure interneLe costanti utilizzate sono quelle per i coloriAll apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principalePrivate Sub Form_Open(Cancel As Integer) Allapertura imposta il colore degli sfondi maschera e menu pulsanti opzionali,ingrandisce i caratteri delle due etichette istruttive,stabilisce il colore della scritta del pulsante invio e fissa i colori di tutte le etichette di tutti i campi 23
  24. 24. Ingegneria del software Corpo.BackColor = COLORE_BIANCO Etichetta_Corsisti.FontSize = 14 Etichetta_Iscritti.FontSize = 14 Comando_Lettura_Corsisti.ForeColor = COLORE_ROSSO Comando_Inserisci_Corsisti.ForeColor = COLORE_ROSSO Comando_Modifica_Corsisti.ForeColor = COLORE_ROSSO Comando_Lettura_Iscritti.ForeColor = COLORE_ROSSO Comando_Modifica_Iscritti.ForeColor = COLORE_ROSSO Comando_Torna_Principale.ForeColor = COLORE_ROSSOEnd Sub=======================================CORSISTI=====================================Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scrittaPrivate Sub Comando_Lettura_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Lettura_Corsisti.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scrittaPrivate Sub Comando_Lettura_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Corsisti.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scrittaPrivate Sub Comando_Lettura_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Lettura_Corsisti.ForeColor = COLORE_NERO Comando_Lettura_Corsisti.FontBold = TrueEnd SubSe si clicca con il mouse sul pulsante Inserisci cambia il colore della scrittaPrivate Sub Comando_Inserisci_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Inserisci_Corsisti.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Inserisci cambia il colore della scrittaPrivate Sub Comando_Inserisci_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Inserisci_Corsisti.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Inserisci cambia il colore e lo spessore della scrittaPrivate Sub Comando_Inserisci_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Inserisci_Corsisti.ForeColor = COLORE_NERO Comando_Inserisci_Corsisti.FontBold = TrueEnd SubSe si clicca con il mouse sul pulsante Modifica cambia il colore della scrittaPrivate Sub Comando_Modifica_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Modifica_Corsisti.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scrittaPrivate Sub Comando_Modifica_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Corsisti.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scrittaPrivate Sub Comando_Modifica_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Modifica_Corsisti.ForeColor = COLORE_NERO Comando_Modifica_Corsisti.FontBold = TrueEnd Sub 24
  25. 25. Ingegneria del software===========================================ISCRITTI===================================Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scrittaPrivate Sub Comando_Lettura_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Iscritti.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scrittaPrivate Sub Comando_Lettura_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Iscritti.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scrittaPrivate Sub Comando_Lettura_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Iscritti.ForeColor = COLORE_NERO Comando_Lettura_Iscritti.FontBold = TrueEnd SubSe si clicca con il mouse sul pulsante Modifica cambia il colore della scrittaPrivate Sub Comando_Modifica_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Modifica_Iscritti.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scrittaPrivate Sub Comando_Modifica_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Iscritti.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scrittaPrivate Sub Comando_Modifica_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Modifica_Iscritti.ForeColor = COLORE_NERO Comando_Modifica_Iscritti.FontBold = TrueEnd SubSe si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scrittaPrivate Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Torna_Principale.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Torna alla maschera principalecambia il colore della scrittaPrivate Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Torna alla maschera principalecambia il colore e lo spessore della scrittaPrivate Sub Comando_Torna_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y AsSingle) Comando_Torna_Principale.ForeColor = COLORE_NERO Comando_Torna_Principale.FontBold = TrueEnd SubSe si clicca sul corpo della maschera cambia il colorePrivate Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULTEnd SubSe si clicca sul pulsante Inserisci di corsisti:se cè un errore esegue la sua proceduraPrivate Sub Comando_Inserisci_Corsisti_Click()On Error GoTo Err_Comando_Inserisci_Corsisti_Click Variabili stringhe Dim stDocName As String Dim stLinkCriteria As String 25
  26. 26. Ingegneria del software Apre la maschera corsisti collegandola tramite il cognome stDocName = "Corsisti" stLinkCriteria = "[Cognome]=" & "" & Me![Cognome] & "" DoCmd.OpenForm stDocName, , , stLinkCriteriaProcedura di uscitaExit_Comando_Inserisci_Corsisti_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Inserisci_Corsisti_Click: MsgBox Err.Description Resume Exit_Comando_Inserisci_Corsisti_ClickEnd SubSe si clicca sul pulsante Torna alla maschera principale di corsisti:se cè un errore esegue la sua proceduraPrivate Sub Comando_Torna_Principale_Click()On Error GoTo Err_Comando_Torna_Principale_Click Chiude la maschera DoCmd.CloseProcedura di uscitaExit_Comando_Torna_Principale_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Torna_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Principale_ClickEnd SubSe si clicca sul pulsante Modifica di corsisti:se cè un errore esegue la sua proceduraPrivate Sub Comando_Modifica_Corsisti_Click()On Error GoTo Err_Comando_Modifica_Corsisti_Click Apre la maschera corsisti e visualizza la maschera Trova record DoCmd.OpenForm "Corsisti", acNormal, "", "", acEdit, acNormal Screen.PreviousControl.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70Procedura di uscitaExit_Comando_Modifica_Corsisti_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Modifica_Corsisti_Click: MsgBox Err.Description Resume Exit_Comando_Modifica_Corsisti_ClickEnd SubSe si clicca sul pulsante Modifica di iscritti:se cè un errore esegue la sua proceduraPrivate Sub Comando_Modifica_Iscritti_Click()On Error GoTo Err_Comando_Modifica_Iscritti_Click Apre la maschera Autorizzati(con i dati iscritti) e visualizza la maschera Trova record DoCmd.OpenForm "Autorizzati", acNormal, "", "", acEdit, acNormal Screen.PreviousControl.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70Procedura di uscitaExit_Comando_Modifica_Iscritti_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Modifica_Iscritti_Click: MsgBox Err.Description Resume Exit_Comando_Modifica_Iscritti_ClickEnd SubSe si clicca sul pulsante Sola lettura di corsisti:se cè un errore esegue la sua proceduraPrivate Sub Comando_Lettura_Corsisti_Click() 26
  27. 27. Ingegneria del software On Error GoTo Err_Comando_Lettura_Corsisti_Click Apre la maschera Corsisti in modalità struttura DoCmd.OpenForm "Corsisti", acDesign, "", "", acReadOnly, acNormal Procedura di uscita Exit_Comando_Lettura_Corsisti_Click: Exit Sub Procedura di errore:visualizza lerrore(description) ed esce Err_Comando_Lettura_Corsisti_Click: MsgBox Err.Description Resume Exit_Comando_Lettura_Corsisti_Click End Sub Se si clicca sul pulsante Sola lettura di iscritti:se cè un errore esegue la sua procedura Private Sub Comando_Lettura_Iscritti_Click() On Error GoTo Err_Comando_Lettura_Iscritti_Click Apre la maschera Autorizzati(con i dati iscritti) in modalità struttura DoCmd.OpenForm "Autorizzati", acDesign, "", "", acReadOnly, acNormal Procedura di uscita Exit_Comando_Lettura_Iscritti_Click: Exit Sub Procedura di errore:visualizza lerrore(description) ed esce Err_Comando_Lettura_Iscritti_Click: MsgBox Err.Description Resume Exit_Comando_Lettura_Iscritti_Click End Sub Figura 17 MASCHERA CORSISTI Figura 18 CODICE MASCHERA CORSISTIOption Compare Database 27
  28. 28. Ingegneria del software=========================================================================================CODICE MASCHERA CORSISTI=========================================================================================Tutte le Sub eseguite sono procedure interneNon sono utilizzate costanti stringhe o booleaneAll apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principalePrivate Sub Form_Open(Cancel As Integer) Imposta i colori dello sfondo,dei pulsanti di comando Torna alla maschera amministratore e Torna alla maschera principale,delle etichette Nome e Cognome e il carattere delletichetta Inserisci i dati Corpo.BackColor = COLORE_BIANCO Etichetta_Inserisci_Dati.FontSize = 14 Nome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.ForeColor = COLORE_NERO Comando_Torna_Admin.ForeColor = COLORE_ROSSO Comando_Torna_Principale.ForeColor = COLORE_ROSSOEnd SubSe ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambiPrivate Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Nome_Etichetta.FontSize = 10 Nome.FontSize = 10End SubSe ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambiPrivate Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Cognome_Etichetta.FontSize = 10 Cognome.FontSize = 10End SubSe si entra nella casella di Nome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Nome_Enter() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8End SubSe si clicca nella casella di Nome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Nome_Click() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8End SubSe si esce dalla casella di Nome vengono definiti colore egrandezza scrittadelletichetta e grandezza scritta nella casellaPrivate Sub Nome_Exit(Cancel As Integer) Nome_Etichetta.ForeColor = COLORE_BIANCO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8End SubSe si entra nella casella di Cognome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Cognome_Enter() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8 28
  29. 29. Ingegneria del softwareEnd SubSe si clicca nella casella di Cognome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Cognome_Click() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8End SubSe si esce dalla casella di Cognome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Cognome_Exit(Cancel As Integer) Cognome_Etichetta.ForeColor = COLORE_BIANCO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8End SubSe si clicca con il mouse sul pulsante Torna alla maschera principalecambia il colore della scrittaPrivate Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Torna allamaschera principale cambia il colore della scrittaPrivate Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Torna alla maschera principalecambia il colore e lo spessore della scrittaPrivate Sub Comando_Torna_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_NERO Comando_Torna_Principale.FontBold = TrueEnd SubSe si clicca con il mouse sul pulsante Torna alla maschera amministratore cambia il colore della scrittaPrivate Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsanteTorna alla maschera amministratore cambia il colore della scrittaPrivate Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_BLUEnd SubSe ci si sposta con il mouse sopra il pulsante Torna allamaschera amministratore cambia il colore e lo spessore della scrittaPrivate Sub Comando_Torna_Admin_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_NERO Comando_Torna_Admin.FontBold = TrueEnd SubSe si clicca sul corpo della maschera cambia il colorePrivate Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULTEnd SubSe si clicca sul pulsante Torna alla maschera principale:se cè un errore esegue la sua proceduraPrivate Sub Comando_Torna_Principale_Click()On Error GoTo Err_Comando_Torna_Principale_Click Chiude la maschera e la precedente DoCmd.Close 29
  30. 30. Ingegneria del software DoCmd.Close acForm, "Admin"Procedura di uscitaExit_Comando_Torna_Principale_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Torna_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Principale_ClickEnd SubSe si clicca sul pulsante Torna alla maschera amministratore:se cè un errore esegue la sua proceduraPrivate Sub Comando_Torna_Admin_Click()On Error GoTo Err_Comando_Torna_Admin_Click Chiude la maschera DoCmd.CloseProcedura di erroreExit_Comando_Torna_Admin_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Torna_Admin_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Admin_ClickEnd Sub Figura 19Nelle seguenti fig.20 e fig.21 sono riportati rispettivamente la maschera e icodici della maschera “Autorizzati”.Infine le ultime tre maschere in sequenza:“Iscritti”(fig.22)con suo relativo codice(fig.23),”Richiedi_Password”(fig.24) erelativo codice(fig.25) e “Password”(fig.26) con codice visualizzato in fig.27. 30
  31. 31. Ingegneria del software MASCHERA AUTORIZZATI Figura 20 CODICE MASCHERA AUTORIZZATIOption Compare Database==========================================================================================CODICE MASCHERA AUTORIZZATI==========================================================================================Tutte le Sub eseguite sono procedure interneLe costanti usate sono le COSTANTI per i coloriAll apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principalePrivate Sub Form_Open(Cancel As Integer) 31
  32. 32. Ingegneria del software Imposta i colori dello sfondo(BackColor) e dei pulsanti di comando Iscriviti(Comando_Apri_Iscritti, Esci(Comando_Chiudi_Principale) e Amministratore(Apri_Admin) Corpo.BackColor = COLORE_BIANCO Etichetta_dati_Iscritti.FontSize = 14 Etichetta_Seleziona.BackColor = COLORE_BIANCO Comando_Torna_Admin.ForeColor = COLORE_ROSSO Comando_Torna_Principale.ForeColor = COLORE_ROSSO E_Mail_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO Telefono_Etichetta.ForeColor = COLORE_NERO Corso_Frequentato_Etichetta.ForeColor = COLORE_NERO Edizione_Etichetta.ForeColor = COLORE_NERO Password_Etichetta.ForeColor = COLORE_NEROEnd SubSe ci si sposta col mouse nel campo o etichetta E-Mail ingrandisce il carattere delle scritte di entrambiPrivate Sub E_Mail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) E_Mail_Etichetta.FontSize = 10 E_Mail.FontSize = 10End SubSe ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambiPrivate Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Nome_Etichetta.FontSize = 10 Nome.FontSize = 10End SubSe ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambiPrivate Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Cognome_Etichetta.FontSize = 10 Cognome.FontSize = 10End SubSe ci si sposta col mouse nel campo o etichetta Indirizzo di residenza ingrandisceil carattere delle scritte di entrambiPrivate Sub Indirizzo_di_residenza_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Indirizzo_di_residenza_Etichetta.FontSize = 10 Indirizzo_di_residenza.FontSize = 10End SubSe ci si sposta col mouse nel campo o etichetta Indirizzo di invio ingrandisceil carattere delle scritte di entrambiPrivate Sub Indirizzo_di_invio_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Indirizzo_di_invio_Etichetta.FontSize = 10 Indirizzo_di_invio.FontSize = 10End SubSe si clicca con il mouse sul pulsante opzionale CPAT cambia il colore della scrittaPrivate Sub Opzione_CPAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_CPAT.ForeColor = COLORE_ROSSOEnd SubSe si clicca con il mouse sul pulsante opzionale MAT cambia il colore della scrittaPrivate Sub Opzione_MAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_MAT.ForeColor = COLORE_ROSSOEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante opzionale CPAT cambia il colore della scrittaPrivate Sub Opzione_CPAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_CPAT.ForeColor = COLORE_BLUEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante opzionale MAT cambia il colore della scrittaPrivate Sub Opzione_MAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 32
  33. 33. Ingegneria del software Etichetta_MAT.ForeColor = COLORE_BLUEnd SubSe ci si sposta col mouse nel campo o etichetta Telefono ingrandisce il carattere delle scritte di entrambiPrivate Sub Telefono_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Telefono_Etichetta.FontSize = 10 Telefono.FontSize = 10End SubSe ci si sposta col mouse nell etichetta Corso frequentato ingrandisce la scritta delletichetta,ne toglie il corsivo e la tramuta in grassettoPrivate Sub Corso_Frequentato_Etichetta_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Corso_Frequentato_Etichetta.FontSize = 10 Etichetta_CPAT.FontItalic = False Etichetta_MAT.FontItalic = False Etichetta_CPAT.FontBold = True Etichetta_MAT.FontBold = TrueEnd SubSe ci si sposta col mouse nel pulsante opzionale CPAT trasforma la scritta in corsivoPrivate Sub Opzione_CPAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_CPAT.FontItalic = TrueEnd SubSe ci si sposta col mouse nel pulsante opzionale MAT trasforma la scritta in corsivoPrivate Sub Opzione_MAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_MAT.FontItalic = TrueEnd SubSe ci si sposta col mouse nel campo o etichetta Edizione ingrandisce il carattere delle scritte di entrambiPrivate Sub Edizione_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Edizione_Etichetta.FontSize = 10 Edizione.FontSize = 10End SubSe si entra nella casella di E-Mail vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub E_Mail_Enter() E_Mail_Etichetta.ForeColor = COLORE_NERO E_Mail_Etichetta.FontSize = 8 E_Mail.FontSize = 8End SubSe si clicca nella casella di E-Mail vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub E_Mail_Click() E_Mail_Etichetta.ForeColor = COLORE_NERO E_Mail_Etichetta.FontSize = 8 E_Mail.FontSize = 8End SubSe si esce dalla casella di E-Mail vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub E_Mail_Exit(Cancel As Integer) E_Mail_Etichetta.ForeColor = COLORE_BIANCO E_Mail_Etichetta.FontSize = 8 E_Mail.FontSize = 8End SubSe si entra nella casella di Nome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Nome_Enter() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8End Sub 33
  34. 34. Ingegneria del softwareSe si clicca nella casella di Nome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Nome_Click() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8End SubSe si esce dalla casella di Nome vengono definiti colore egrandezza scrittadelletichetta e grandezza scritta nella casellaPrivate Sub Nome_Exit(Cancel As Integer) Nome_Etichetta.ForeColor = COLORE_BIANCO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8End SubSe si entra nella casella di Cognome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Cognome_Enter() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8End SubSe si clicca nella casella di Cognome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Cognome_Click() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8End SubSe si esce dalla casella di Cognome vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Cognome_Exit(Cancel As Integer) Cognome_Etichetta.ForeColor = COLORE_BIANCO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8End SubSe si entra nella casella di Indirizzo di residenza vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Indirizzo_di_residenza_Enter() Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_residenza_Etichetta.FontSize = 8 Indirizzo_di_residenza.FontSize = 8End SubSe si clicca nella casella di Indirizzo di residenza vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Indirizzo_di_residenza_Click() Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_residenza_Etichetta.FontSize = 8 Indirizzo_di_residenza.FontSize = 8End SubSe si esce dalla casella di Indirizzo di residenza vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Indirizzo_di_residenza_Exit(Cancel As Integer) Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_BIANCO Indirizzo_di_residenza_Etichetta.FontSize = 8 Indirizzo_di_residenza.FontSize = 8End SubSe si entra nella casella di Indirizzo di invio vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Indirizzo_di_invio_Enter() Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_invio_Etichetta.FontSize = 8 34
  35. 35. Ingegneria del software Indirizzo_di_invio.FontSize = 8End SubSe si clicca nella casella di Indirizzo di invio vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Indirizzo_di_invio_Click() Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_invio_Etichetta.FontSize = 8 Indirizzo_di_invio.FontSize = 8End SubSe si esce dalla casella di Indirizzo di invio vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Indirizzo_di_invio_Exit(Cancel As Integer) Indirizzo_di_invio_Etichetta.ForeColor = COLORE_BIANCO Indirizzo_di_invio_Etichetta.FontSize = 8 Indirizzo_di_invio.FontSize = 8End SubSe si entra nella casella di Telefono vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Telefono_Enter() Telefono_Etichetta.ForeColor = COLORE_NERO Telefono_Etichetta.FontSize = 8 Telefono.FontSize = 8End SubSe si clicca nella casella di Telefono vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Telefono_Click() Telefono_Etichetta.ForeColor = COLORE_NERO Telefono_Etichetta.FontSize = 8 Telefono.FontSize = 8End SubSe si esce dalla casella di Telefono vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Telefono_Exit(Cancel As Integer) Telefono_Etichetta.ForeColor = COLORE_BIANCO Telefono_Etichetta.FontSize = 8 Telefono.FontSize = 8End SubSe si entra nella casella di Edizione vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Edizione_Enter() Edizione_Etichetta.ForeColor = COLORE_NERO Edizione_Etichetta.FontSize = 8 Edizione.FontSize = 8End SubSe si clicca nella casella di Edizione vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Edizione_Click() Edizione_Etichetta.ForeColor = COLORE_NERO Edizione_Etichetta.FontSize = 8 Edizione.FontSize = 8End SubSe si esce dalla casella di Edizione vengono definiti colore egrandezza scritta delletichetta egrandezza scritta nella casellaPrivate Sub Edizione_Exit(Cancel As Integer) Edizione_Etichetta.ForeColor = COLORE_BIANCO Edizione_Etichetta.FontSize = 8 Edizione.FontSize = 8End Sub 35
  36. 36. Ingegneria del softwareSe ci si sposta col mouse nel campo o etichetta Password ingrandisce il carattere delle scritte di entrambiPrivate Sub Password_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Password_Etichetta.FontSize = 10 Password.FontSize = 10End SubSe si entra nella casella di Password vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Password_Enter() Password_Etichetta.ForeColor = COLORE_NERO Password_Etichetta.FontSize = 8 Password.FontSize = 8End SubSe si clicca nella casella di Password vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Password_Click() Password_Etichetta.ForeColor = COLORE_NERO Password_Etichetta.FontSize = 8 Password.FontSize = 8End SubSe si esce dalla casella di Password vengono definiti colore egrandezza scritta delletichetta e grandezza scritta nella casellaPrivate Sub Password_Exit(Cancel As Integer) Password_Etichetta.ForeColor = COLORE_BIANCO Password_Etichetta.FontSize = 8 Password.FontSize = 8End SubSe si clicca sul corpo della maschera cambia il colorePrivate Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULT Etichetta_Seleziona.BackColor = COLORE_DEFAULTEnd SubSe si clicca con il mouse sul pulsante Torna alla maschera amministratorecambia il colore della scrittaPrivate Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_ROSSOEnd SubSe ci si sposta con il mouse sopra il pulsante Torna alla maschera amministratorecambia il colore e lo spessore della scrittaPrivate Sub Comando_Torna_Admin_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_NERO Comando_Torna_Admin.FontBold = TrueEnd SubAl rilascio del tasto del mouse dopo il click sul pulsante Tornaalla maschera amministratore cambia il colore della scrittaPrivate Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_BLUEnd SubSe si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scrittaPrivate Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_ROSSOEnd SubSe ci si sposta con il mouse sopra il pulsante Torna alla maschera principalecambia il colore e lo spessore della scrittaPrivate Sub Comando_Torna_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_NERO Comando_Torna_Principale.FontBold = TrueEnd Sub 36
  37. 37. Ingegneria del softwareAl rilascio del tasto del mouse dopo il click sul pulsante Torna allamaschera principale cambia il colore della scrittaPrivate Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_BLUEnd SubSe si clicca su Torna alla maschera amministratore:se cè errore esegue la sua proceduraPrivate Sub Comando_Torna_Admin_Click()On Error GoTo Err_Comando_Torna_Admin_Click Chiude la maschera DoCmd.CloseProcedura di uscitaExit_Comando_Torna_Admin_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Torna_Admin_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Admin_ClickEnd SubSe si clicca su Torna alla maschera principale:se cè errore esegue la sua proceduraPrivate Sub Comando_Torna_Principale_Click()On Error GoTo Err_Comando_Torna_Principale_Click Chiude la maschera e la precedente DoCmd.Close DoCmd.Close acForm, "Admin"Procedura di uscitaExit_Comando_Torna_Principale_Click: Exit SubProcedura di errore:visualizza lerrore(description) ed esceErr_Comando_Torna_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Principale_ClickEnd Sub Figura 21 37
  38. 38. Ingegneria del software MASCHERA ISCRITTI Figura 22 CODICE MASCHERA ISCRITTIOption Compare Database===============================================================================================CODICE MASCHERA ISCRITTI===============================================================================================Tutte le Sub eseguite sono procedure interneLe costanti usate sono STRINGA_NOME e STRINGA_COGNOMEAll apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principalePrivate Sub Form_Open(Cancel As Integer) 38

×