SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
Ingegneria del software




INTERVENTI DI MANUTENZIONE
E PROGETTO DI UN MODULO DI
   REGISTRAZIONE AL SITO
     www.ing.units.it/bca




     A CURA DI:Fabiano Dalla Piazza

                                      1
Ingegneria del software




                                 INDICE GENERALE


1. DEFINIZIONE DEL PROBLEMA                                 3
2. CONTESTO E FATTIBILITA’                                  3
3. 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                                               7
4. 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                         11
5.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                             54
6.CONCLUSIONI                                               57




                                                                 2
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 1




AT Alumni Association

AT 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 un
Master: il network dei suoi studenti.

L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia il
networking, 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à di
condividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propria
professionalità.
- Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare le
proprie competenze sui principali temi dell’Assistive Technology.




                                                                                                                            3
Ingegneria del software



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 privilegiato
di 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 in
Assistive Technology

L’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 all'associazione AT Alumni

E-MAIL *                           * Invalid
              Email
Nome *
                                   *
Cognome *
                                   *


Riempi i campi sottostanti
Indirizzo di residenza *




                                          *
                                                                                                                      4
Ingegneria del software




Indirizzo per invio corrispondenza
*




                                     *

Telefono *
                                                               *

Corso Frequentato *
CPAT: Corso di Perfezionamento              CPAT
in Assistive Technology
MAT: Master in Assistive                    MAT
Technology
                                     *

                                     Seleziona quale corso hai frequentato

Edizione *
                                               *
                                     Inserire l’anno accademico dell’edizione frequentata

Note




                                         Invia


                                                                                            Figura 3




                                                                                                       5
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
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 4




Uno schema delle varie funzioni fatto mediante diagramma di flusso è riportato
a pagina seguente(fig.5).In esso è indicata la sequenza delle operazioni.La
convenzione adottata piuttosto diffusa stabilisce di indicare con rettangoli gli
agenti esterni,con cerchi funzioni o processi,con doppia linea parallela gli
archivi o basi di dati,con dei rombi le decisioni condizionate(per es.nel caso
“inserisci Nome”,se dal controllo emergono dei valori incoerenti o
scorretti,uscita rossa “NO” e ridigitazione Nome da parte dell’utente;in caso
contrario uscita blu “OK” e prosegui con inserisci Cognome).




                                                                                  7
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
                                                                                                         CHIEDI
MESSAGGIO DI




                                                                                                      AUTORIZZAZIO
                                                  CHIEDI              NOME
  ERRORE




                                  CONFERMA                GENERA                                           NE
   INVIA




                                                CONFERMA            ESISTENTE CONTROLLO                                  NOTE
                                  ISCRIZIONE             PASSWORD
                                                PASSWORD          NELL’ARCHIVIO

                                                 NO
                                                                                      NO




                                                                                                                      Figura 5




                                                                                                                                    8
Ingegneria del software




4. 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
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 7




In figura 7 compaiono le caratteristiche dei campi nelle tabelle,mentre a pagina
seguente(fig.8)è riportato lo schema di collegamento fra le tabelle.L’iscrizione
di un’utente può avvenire tramite confronto e relativo accertamento
dell’appartenenza all’archivio corsisti,poiché ha partecipato ad un corso
master.Ogni riga individua un campo della tabella,mentre i campi in rosso
rappresentano le chiavi primarie.




                                                                                                                   10
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 M




d. Progettazione delle maschere:nella figura sotto(fig.9) è riportato lo
schema 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
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 COSTANTI

Il codice relativo alle maschere è riportato in testa al codice sorgente(parte 5).




                                                                                     12
Ingegneria del software




5. 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
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=#006699
background=menu_file/color_background.jpg>
<DIV id=Layer1
style="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><A
title="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=faq
href="http://www.ing.units.it/bca/contenuti/06-07/faq06-07.htm"
target=contenuti><STRONG>FAQ</STRONG></A>| <A title=sponsor
href="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=Eventi
href="http://www.ing.units.it/bca/contenuti/06-07/eventi06-07.htm"
target=contenuti><STRONG>News</STRONG></A>| <A title=Contatti
href="http://www.ing.units.it/bca/contenuti/06-07/contatti06-07.htm"
target=contenuti><STRONG>Contatti</STRONG></A>| <A
title="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=Layer2
style="Z-INDEX: 11; LEFT: 5px; WIDTH: 281px; POSITION: absolute; TOP: 7px; HEIGHT: 70px"><IMG
height=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=Layer3
style="Z-INDEX: 3; LEFT: 5px; WIDTH: 271px; POSITION: absolute; TOP: 85px; HEIGHT: 58px"><IMG

                                                                                                          14
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 l'utenza 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
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 d'esame</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
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><span
style='font-family:Verdana'>&nbsp;è l’associazione aperta agli studenti ed ex
studenti 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 Alumni
Association è quello di <strong>valorizzare e tenere unito il più grande
patrimonio di<span style="mso-spacerun: yes"> </span>un Master: il network dei


                                                                                                    17
Ingegneria del software



suoi studenti. </strong><o:p></o:p></span></p>

<p><span style='font-family:Verdana'>L’Associazione vuole offrire a tutti gli
iscritti opportunità di aggiornamento e di crescita professionale: incoraggia
il networking, favorisce lo sviluppo delle relazioni, organizza attività di
formazione continua. <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:Verdana'>- Attraverso&nbsp;il <strong>networking
e le numerose occasioni di incontro</strong>, tutti gli associati hanno la
possibilità di condividere esperienze, informazioni e conoscenze, fondamentali
per 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 hanno
l’occasione di perfezionare le proprie competenze sui principali temi
dell’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 riposizionarsi
sul mercato del lavoro; attraverso azioni di <strong>networking e diffusione
mirata di curricula</strong>, l’Associazione diviene uno strumento privilegiato
di 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 per
la 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 in
Assistive Technology e ai due Corsi di Perfezionamento in Assistive Technology</span></strong><b><span
style='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
Ingegneria del software




AT Alumni Association

AT 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 un
Master: il network dei suoi studenti.

L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia il
networking, 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à di
condividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propria
professionalità.
- Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare le
proprie 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 privilegiato
di 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 in
Assistive Technology

L’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
Ingegneria del software




                          MASCHERA PRINCIPALE




                                                                                                  Figura 14


                    CODICE MASCHERA PRINCIPALE
Option Compare Database


'=====================================================================================

'CODICE MASCHERA PRINCIPALE

'=====================================================================================



'Tutte le Sub eseguite sono procedure interne
'Le costanti usate sono FORM_ATTIVO e le COSTANTI per i colori




'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private 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_ROSSO
End Sub


'Se si clicca con il mouse sul pulsante Iscriviti cambia il colore della scritta
Private Sub Comando_Apri_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Comando_Apri_Iscritti.ForeColor = COLORE_ROSSO
End Sub


'Se ci si sposta con il mouse sopra il pulsante Iscriviti cambia il colore e lo spessore della scritta
Private 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 = True
End Sub



                                                                                                              20
Ingegneria del software



'Al rilascio del tasto del mouse dopo il click sul pulsante Iscriviti cambia il colore della scritta
Private Sub Comando_Apri_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Apri_Iscritti.ForeColor = COLORE_BLU
End Sub


'Se si clicca con il mouse sul pulsante Esci cambia il colore della scritta
Private Sub Comando_Chiudi_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Chiudi_Principale.ForeColor = COLORE_ROSSO
End Sub


'Se ci si sposta con il mouse sopra il pulsante Esci cambia il colore e lo spessore della scritta
Private Sub Comando_Chiudi_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Chiudi_Principale.ForeColor = COLORE_NERO
   Comando_Chiudi_Principale.FontBold = True
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Esci cambia il colore della scritta
Private Sub Comando_Chiudi_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As
Single)
    Comando_Chiudi_Principale.ForeColor = COLORE_BLU
End Sub


'Se si clicca con il mouse sul pulsante Amministratore cambia il colore della scritta
Private Sub Comando_Apri_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Apri_Admin.ForeColor = COLORE_ROSSO
End Sub


'Se ci si sposta con il mouse sopra il pulsante Amministratore cambia il colore e lo spessore della scritta
Private 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 = True
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Amministratore cambia il colore della scritta
Private Sub Comando_Apri_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Apri_Admin.ForeColor = COLORE_BLU
End Sub


'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
   Corpo.BackColor = COLORE_DEFAULT
End Sub


'Se si clicca sul pulsante Iscriviti
Private Sub Comando_Apri_Iscritti_Click()


'Se c'è un errore salta all' etichetta Err_Comando_Apri_Iscritti_Click e ne esegue il codice
On Error GoTo Err_Comando_Apri_Iscritti_Click


'Va fino all'ultimo record registrato
  DoCmd.GoToRecord , , acLast

'Apre la maschera Iscritti in modalità aggiungi record
  DoCmd.OpenForm "Iscritti", acNormal, "", "", acAdd, acNormal


'Procedura di uscita
Exit_Comando_Apri_Iscritti_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Apri_Iscritti_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Apri_Iscritti_Click
End Sub


                                                                                                            21
Ingegneria del software




'Se si clicca sul pulsante Esci
Private Sub Comando_Chiudi_Principale_Click()

'Se c'è un errore salta all' etichetta Err_Comando_Chiudi_Principale_Click e ne esegue il codice
On Error GoTo Err_Comando_Chiudi_Principale_Click

  'Chiude la maschera attuale
  DoCmd.Close

  'Esce dal file
  DoCmd.Quit

'Procedura di uscita
Exit_Comando_Chiudi_Principale_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Chiudi_Principale_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Chiudi_Principale_Click
End Sub


'Se si clicca sul comando Amministratore
Private Sub Comando_Apri_Admin_Click()

'Se c'è un errore salta all' etichetta Err_Comando_Apri_Admin e ne esegue il codice
On 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, , , stLinkCriteria

'Procedura di uscita
Exit_Comando_Apri_Admin_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Apri_Admin_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Apri_Admin_Click
End Sub
                                                                                                   Figura 15




                                                                                                               22
Ingegneria del software




                                   MASCHERA ADMIN




                                                                                                       Figura 16


                            CODICE MASCHERA ADMIN
Option Compare Database


'=====================================================================================
=======================

'CODICE MASCHERA ADMIN

'=====================================================================================
=======================



'Tutte le Sub eseguite sono procedure interne
'Le costanti utilizzate sono quelle per i colori




'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)

   'All'apertura 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
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_ROSSO
End Sub


'=======================================CORSISTI=====================================
'Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Lettura_Corsisti.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Lettura_Corsisti.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scritta
Private Sub Comando_Lettura_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Lettura_Corsisti.ForeColor = COLORE_NERO
   Comando_Lettura_Corsisti.FontBold = True
End Sub


'Se si clicca con il mouse sul pulsante Inserisci cambia il colore della scritta
Private Sub Comando_Inserisci_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Inserisci_Corsisti.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Inserisci cambia il colore della scritta
Private Sub Comando_Inserisci_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Inserisci_Corsisti.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Inserisci cambia il colore e lo spessore della scritta
Private Sub Comando_Inserisci_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Inserisci_Corsisti.ForeColor = COLORE_NERO
   Comando_Inserisci_Corsisti.FontBold = True
End Sub



'Se si clicca con il mouse sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Modifica_Corsisti.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Modifica_Corsisti.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scritta
Private Sub Comando_Modifica_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Modifica_Corsisti.ForeColor = COLORE_NERO
   Comando_Modifica_Corsisti.FontBold = True
End Sub




                                                                                                            24
Ingegneria del software



'===========================================ISCRITTI===================================
'Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Comando_Lettura_Iscritti.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scritta
Private Sub Comando_Lettura_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Lettura_Iscritti.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scritta
Private 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 = True
End Sub


'Se si clicca con il mouse sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Modifica_Iscritti.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scritta
Private Sub Comando_Modifica_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Modifica_Iscritti.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scritta
Private Sub Comando_Modifica_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Modifica_Iscritti.ForeColor = COLORE_NERO
   Comando_Modifica_Iscritti.FontBold = True
End Sub


'Se si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
   Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla maschera principale
'cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Torna_Principale.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale
'cambia il colore e lo spessore della scritta
Private 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 = True
End Sub


'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
   Corpo.BackColor = COLORE_DEFAULT
End Sub


'Se si clicca sul pulsante Inserisci di corsisti:se c'è un errore esegue la sua procedura
Private Sub Comando_Inserisci_Corsisti_Click()
On Error GoTo Err_Comando_Inserisci_Corsisti_Click

  'Variabili stringhe
  Dim stDocName As String
  Dim stLinkCriteria As String


                                                                                                          25
Ingegneria del software




  'Apre la maschera corsisti collegandola tramite il cognome
  stDocName = "Corsisti"
  stLinkCriteria = "[Cognome]=" & "'" & Me![Cognome] & "'"
  DoCmd.OpenForm stDocName, , , stLinkCriteria

'Procedura di uscita
Exit_Comando_Inserisci_Corsisti_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Inserisci_Corsisti_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Inserisci_Corsisti_Click
End Sub


'Se si clicca sul pulsante Torna alla maschera principale di corsisti:se c'è un errore esegue la sua procedura
Private Sub Comando_Torna_Principale_Click()
On Error GoTo Err_Comando_Torna_Principale_Click

  'Chiude la maschera
  DoCmd.Close

'Procedura di uscita
Exit_Comando_Torna_Principale_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Principale_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Torna_Principale_Click
End Sub


'Se si clicca sul pulsante Modifica di corsisti:se c'è un errore esegue la sua procedura
Private 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, , acMenuVer70

'Procedura di uscita
Exit_Comando_Modifica_Corsisti_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Modifica_Corsisti_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Modifica_Corsisti_Click
End Sub


'Se si clicca sul pulsante Modifica di iscritti:se c'è un errore esegue la sua procedura
Private 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, , acMenuVer70

'Procedura di uscita
Exit_Comando_Modifica_Iscritti_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Modifica_Iscritti_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Modifica_Iscritti_Click
End Sub


'Se si clicca sul pulsante Sola lettura di corsisti:se c'è un errore esegue la sua procedura
Private Sub Comando_Lettura_Corsisti_Click()


                                                                                                                 26
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 l'errore(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 l'errore(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 CORSISTI
Option Compare Database


                                                                                                               27
Ingegneria del software




'=========================================================================================

'CODICE MASCHERA CORSISTI

'=========================================================================================



'Tutte le Sub eseguite sono procedure interne
'Non sono utilizzate costanti stringhe o booleane




'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private 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 dell'etichetta 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_ROSSO
End Sub


'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi
Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Nome_Etichetta.FontSize = 10
   Nome.FontSize = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi
Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Cognome_Etichetta.FontSize = 10
   Cognome.FontSize = 10
End Sub


'Se si entra nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Enter()
    Nome_Etichetta.ForeColor = COLORE_NERO
    Nome_Etichetta.FontSize = 8
    Nome.FontSize = 8
End Sub


'Se si clicca nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Click()
    Nome_Etichetta.ForeColor = COLORE_NERO
    Nome_Etichetta.FontSize = 8
    Nome.FontSize = 8
End Sub


'Se si esce dalla casella di Nome vengono definiti colore e
'grandezza scrittadell'etichetta e grandezza scritta nella casella
Private Sub Nome_Exit(Cancel As Integer)
    Nome_Etichetta.ForeColor = COLORE_BIANCO
    Nome_Etichetta.FontSize = 8
    Nome.FontSize = 8
End Sub


'Se si entra nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Enter()
    Cognome_Etichetta.ForeColor = COLORE_NERO
    Cognome_Etichetta.FontSize = 8
    Cognome.FontSize = 8


                                                                                                              28
Ingegneria del software



End Sub


'Se si clicca nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Click()
    Cognome_Etichetta.ForeColor = COLORE_NERO
    Cognome_Etichetta.FontSize = 8
    Cognome.FontSize = 8
End Sub


'Se si esce dalla casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Exit(Cancel As Integer)
    Cognome_Etichetta.ForeColor = COLORE_BIANCO
    Cognome_Etichetta.FontSize = 8
    Cognome.FontSize = 8
End Sub


'Se si clicca con il mouse sul pulsante Torna alla maschera principale
'cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla
'maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Torna_Principale.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale
'cambia il colore e lo spessore della scritta
Private 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 = True
End Sub


'Se si clicca con il mouse sul pulsante Torna alla maschera amministratore cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Comando_Torna_Admin.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante
'Torna alla maschera amministratore cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Torna_Admin.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta con il mouse sopra il pulsante Torna alla
'maschera amministratore cambia il colore e lo spessore della scritta
Private 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 = True
End Sub


'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
   Corpo.BackColor = COLORE_DEFAULT
End Sub



'Se si clicca sul pulsante Torna alla maschera principale:se c'è un errore esegue la sua procedura
Private Sub Comando_Torna_Principale_Click()
On Error GoTo Err_Comando_Torna_Principale_Click

  'Chiude la maschera e la precedente
  DoCmd.Close


                                                                                                              29
Ingegneria del software



  DoCmd.Close acForm, "Admin"

'Procedura di uscita
Exit_Comando_Torna_Principale_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Principale_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Torna_Principale_Click
End Sub


'Se si clicca sul pulsante Torna alla maschera amministratore:se c'è un errore esegue la sua procedura
Private Sub Comando_Torna_Admin_Click()
On Error GoTo Err_Comando_Torna_Admin_Click

  'Chiude la maschera
  DoCmd.Close

'Procedura di errore
Exit_Comando_Torna_Admin_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Admin_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Torna_Admin_Click
End Sub
                                                                                                    Figura 19




Nelle seguenti fig.20 e fig.21 sono riportati rispettivamente la maschera e i
codici della maschera “Autorizzati”.Infine le ultime tre maschere in sequenza:
“Iscritti”(fig.22)con suo relativo codice(fig.23),”Richiedi_Password”(fig.24) e
relativo codice(fig.25) e “Password”(fig.26) con codice visualizzato in fig.27.




                                                                                                                30
Ingegneria del software



                                      MASCHERA AUTORIZZATI




                                                                                                            Figura 20




                             CODICE MASCHERA AUTORIZZATI

Option Compare Database


'==========================================================================================

'CODICE MASCHERA AUTORIZZATI

'==========================================================================================



'Tutte le Sub eseguite sono procedure interne
'Le costanti usate sono le COSTANTI per i colori




'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)


                                                                                                                        31
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_NERO
End Sub


'Se ci si sposta col mouse nel campo o etichetta E-Mail ingrandisce il carattere delle scritte di entrambi
Private Sub E_Mail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   E_Mail_Etichetta.FontSize = 10
   E_Mail.FontSize = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi
Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Nome_Etichetta.FontSize = 10
   Nome.FontSize = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi
Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Cognome_Etichetta.FontSize = 10
   Cognome.FontSize = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Indirizzo di residenza ingrandisce
'il carattere delle scritte di entrambi
Private 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 = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Indirizzo di invio ingrandisce
'il carattere delle scritte di entrambi
Private 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 = 10
End Sub


'Se si clicca con il mouse sul pulsante opzionale CPAT cambia il colore della scritta
Private Sub Opzione_CPAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Etichetta_CPAT.ForeColor = COLORE_ROSSO
End Sub


'Se si clicca con il mouse sul pulsante opzionale MAT cambia il colore della scritta
Private Sub Opzione_MAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Etichetta_MAT.ForeColor = COLORE_ROSSO
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante opzionale CPAT cambia il colore della scritta
Private Sub Opzione_CPAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Etichetta_CPAT.ForeColor = COLORE_BLU
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante opzionale MAT cambia il colore della scritta
Private Sub Opzione_MAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)


                                                                                                              32
Ingegneria del software



  Etichetta_MAT.ForeColor = COLORE_BLU
End Sub


'Se ci si sposta col mouse nel campo o etichetta Telefono ingrandisce il carattere delle scritte di entrambi
Private Sub Telefono_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Telefono_Etichetta.FontSize = 10
   Telefono.FontSize = 10
End Sub


'Se ci si sposta col mouse nell' etichetta Corso frequentato ingrandisce la scritta dell'etichetta,
'ne toglie il corsivo e la tramuta in grassetto
Private 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 = True
End Sub


'Se ci si sposta col mouse nel pulsante opzionale CPAT trasforma la scritta in corsivo
Private Sub Opzione_CPAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Etichetta_CPAT.FontItalic = True
End Sub


'Se ci si sposta col mouse nel pulsante opzionale MAT trasforma la scritta in corsivo
Private Sub Opzione_MAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Etichetta_MAT.FontItalic = True
End Sub


'Se ci si sposta col mouse nel campo o etichetta Edizione ingrandisce il carattere delle scritte di entrambi
Private Sub Edizione_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Edizione_Etichetta.FontSize = 10
   Edizione.FontSize = 10
End Sub


'Se si entra nella casella di E-Mail vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub E_Mail_Enter()
    E_Mail_Etichetta.ForeColor = COLORE_NERO
    E_Mail_Etichetta.FontSize = 8
    E_Mail.FontSize = 8
End Sub


'Se si clicca nella casella di E-Mail vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub E_Mail_Click()
    E_Mail_Etichetta.ForeColor = COLORE_NERO
    E_Mail_Etichetta.FontSize = 8
    E_Mail.FontSize = 8
End Sub


'Se si esce dalla casella di E-Mail vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub E_Mail_Exit(Cancel As Integer)
    E_Mail_Etichetta.ForeColor = COLORE_BIANCO
    E_Mail_Etichetta.FontSize = 8
    E_Mail.FontSize = 8
End Sub


'Se si entra nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Enter()
    Nome_Etichetta.ForeColor = COLORE_NERO
    Nome_Etichetta.FontSize = 8
    Nome.FontSize = 8
End Sub




                                                                                                                   33
Ingegneria del software



'Se si clicca nella casella di Nome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Nome_Click()
    Nome_Etichetta.ForeColor = COLORE_NERO
    Nome_Etichetta.FontSize = 8
    Nome.FontSize = 8
End Sub


'Se si esce dalla casella di Nome vengono definiti colore e
'grandezza scrittadell'etichetta e grandezza scritta nella casella
Private Sub Nome_Exit(Cancel As Integer)
    Nome_Etichetta.ForeColor = COLORE_BIANCO
    Nome_Etichetta.FontSize = 8
    Nome.FontSize = 8
End Sub


'Se si entra nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Enter()
    Cognome_Etichetta.ForeColor = COLORE_NERO
    Cognome_Etichetta.FontSize = 8
    Cognome.FontSize = 8
End Sub


'Se si clicca nella casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Click()
    Cognome_Etichetta.ForeColor = COLORE_NERO
    Cognome_Etichetta.FontSize = 8
    Cognome.FontSize = 8
End Sub


'Se si esce dalla casella di Cognome vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Cognome_Exit(Cancel As Integer)
    Cognome_Etichetta.ForeColor = COLORE_BIANCO
    Cognome_Etichetta.FontSize = 8
    Cognome.FontSize = 8
End Sub


'Se si entra nella casella di Indirizzo di residenza vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_residenza_Enter()
    Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO
    Indirizzo_di_residenza_Etichetta.FontSize = 8
    Indirizzo_di_residenza.FontSize = 8
End Sub


'Se si clicca nella casella di Indirizzo di residenza vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_residenza_Click()
    Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO
    Indirizzo_di_residenza_Etichetta.FontSize = 8
    Indirizzo_di_residenza.FontSize = 8
End Sub


'Se si esce dalla casella di Indirizzo di residenza vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private 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 = 8
End Sub


'Se si entra nella casella di Indirizzo di invio vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_invio_Enter()
    Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO
    Indirizzo_di_invio_Etichetta.FontSize = 8


                                                                                  34
Ingegneria del software



  Indirizzo_di_invio.FontSize = 8
End Sub


'Se si clicca nella casella di Indirizzo di invio vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Indirizzo_di_invio_Click()
    Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO
    Indirizzo_di_invio_Etichetta.FontSize = 8
    Indirizzo_di_invio.FontSize = 8
End Sub


'Se si esce dalla casella di Indirizzo di invio vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private 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 = 8
End Sub


'Se si entra nella casella di Telefono vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Telefono_Enter()
    Telefono_Etichetta.ForeColor = COLORE_NERO
    Telefono_Etichetta.FontSize = 8
    Telefono.FontSize = 8
End Sub


'Se si clicca nella casella di Telefono vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Telefono_Click()
    Telefono_Etichetta.ForeColor = COLORE_NERO
    Telefono_Etichetta.FontSize = 8
    Telefono.FontSize = 8
End Sub


'Se si esce dalla casella di Telefono vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Telefono_Exit(Cancel As Integer)
    Telefono_Etichetta.ForeColor = COLORE_BIANCO
    Telefono_Etichetta.FontSize = 8
    Telefono.FontSize = 8
End Sub



'Se si entra nella casella di Edizione vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Edizione_Enter()
    Edizione_Etichetta.ForeColor = COLORE_NERO
    Edizione_Etichetta.FontSize = 8
    Edizione.FontSize = 8
End Sub


'Se si clicca nella casella di Edizione vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Edizione_Click()
    Edizione_Etichetta.ForeColor = COLORE_NERO
    Edizione_Etichetta.FontSize = 8
    Edizione.FontSize = 8
End Sub


'Se si esce dalla casella di Edizione vengono definiti colore e
'grandezza scritta dell'etichetta egrandezza scritta nella casella
Private Sub Edizione_Exit(Cancel As Integer)
    Edizione_Etichetta.ForeColor = COLORE_BIANCO
    Edizione_Etichetta.FontSize = 8
    Edizione.FontSize = 8
End Sub




                                                                              35
Ingegneria del software



'Se ci si sposta col mouse nel campo o etichetta Password ingrandisce il carattere delle scritte di entrambi
Private Sub Password_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Password_Etichetta.FontSize = 10
   Password.FontSize = 10
End Sub


'Se si entra nella casella di Password vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Password_Enter()
    Password_Etichetta.ForeColor = COLORE_NERO
    Password_Etichetta.FontSize = 8
    Password.FontSize = 8
End Sub


'Se si clicca nella casella di Password vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Password_Click()
    Password_Etichetta.ForeColor = COLORE_NERO
    Password_Etichetta.FontSize = 8
    Password.FontSize = 8
End Sub


'Se si esce dalla casella di Password vengono definiti colore e
'grandezza scritta dell'etichetta e grandezza scritta nella casella
Private Sub Password_Exit(Cancel As Integer)
    Password_Etichetta.ForeColor = COLORE_BIANCO
    Password_Etichetta.FontSize = 8
    Password.FontSize = 8
End Sub


'Se si clicca sul corpo della maschera cambia il colore
Private Sub Corpo_Click()
   Corpo.BackColor = COLORE_DEFAULT
   Etichetta_Seleziona.BackColor = COLORE_DEFAULT
End Sub


'Se si clicca con il mouse sul pulsante Torna alla maschera amministratore
'cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Comando_Torna_Admin.ForeColor = COLORE_ROSSO
End Sub


'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera amministratore
'cambia il colore e lo spessore della scritta
Private 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 = True
End Sub


'Al rilascio del tasto del mouse dopo il click sul pulsante Torna
'alla maschera amministratore cambia il colore della scritta
Private Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Torna_Admin.ForeColor = COLORE_BLU
End Sub


'Se si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Comando_Torna_Principale.ForeColor = COLORE_ROSSO
End Sub


'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale
'cambia il colore e lo spessore della scritta
Private 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 = True
End Sub




                                                                                                                36
Ingegneria del software



'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla
'maschera principale cambia il colore della scritta
Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Comando_Torna_Principale.ForeColor = COLORE_BLU
End Sub

'Se si clicca su Torna alla maschera amministratore:se c'è errore esegue la sua procedura
Private Sub Comando_Torna_Admin_Click()
On Error GoTo Err_Comando_Torna_Admin_Click

  'Chiude la maschera
  DoCmd.Close

'Procedura di uscita
Exit_Comando_Torna_Admin_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Admin_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Torna_Admin_Click
End Sub


'Se si clicca su Torna alla maschera principale:se c'è errore esegue la sua procedura
Private 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 uscita
Exit_Comando_Torna_Principale_Click:
   Exit Sub

'Procedura di errore:visualizza l'errore(description) ed esce
Err_Comando_Torna_Principale_Click:
   MsgBox Err.Description
   Resume Exit_Comando_Torna_Principale_Click
End Sub


                                                                                                     Figura 21




                                                                                                                 37
Ingegneria del software



                                              MASCHERA ISCRITTI




                                                                                                            Figura 22



                           CODICE MASCHERA ISCRITTI

Option Compare Database


'===============================================================================================

'CODICE MASCHERA ISCRITTI

'===============================================================================================



'Tutte le Sub eseguite sono procedure interne
'Le costanti usate sono STRINGA_NOME e STRINGA_COGNOME




'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale
Private Sub Form_Open(Cancel As Integer)

                                                                                                                        38
Ingegneria del software




  'All'apertura imposta i colori 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
  Corpo.BackColor = COLORE_BIANCO
  Etichetta_Seleziona.BackColor = COLORE_BIANCO
  Etichetta_Iscriviti.FontSize = 14
  Etichetta_Riempi.FontSize = 14
  Comando_Invio.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
End Sub


'Se ci si sposta col mouse nel campo o etichetta E-Mail ingrandisce il carattere delle scritte di entrambi
Private Sub E_Mail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   E_Mail_Etichetta.FontSize = 10
   E_Mail.FontSize = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi
Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Nome_Etichetta.FontSize = 10
   Nome.FontSize = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi
Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Cognome_Etichetta.FontSize = 10
   Cognome.FontSize = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Indirizzo di residenza ingrandisce
'il carattere delle scritte di entrambi
Private 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 = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Indirizzo di invio ingrandisce
'il carattere delle scritte di entrambi
Private 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 = 10
End Sub


'Se ci si sposta col mouse nel campo o etichetta Telefono ingrandisce il carattere delle scritte di entrambi
Private Sub Telefono_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Telefono_Etichetta.FontSize = 10
   Telefono.FontSize = 10
End Sub


'Se ci si sposta col mouse nell' etichetta Corso frequentato ingrandisce la scritta dell'etichetta,
'ne toglie il corsivo e la tramuta in grassetto
Private 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 = True
End Sub


'Se ci si sposta col mouse nel pulsante opzionale CPAT trasforma la scritta in corsivo
Private Sub Opzione_CPAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


                                                                                                                   39
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

Mais conteúdo relacionado

Semelhante a Ing sftw Fabiano Dalla Piazza

Programma textile design 2 d e biografia
Programma textile design 2 d e biografiaProgramma textile design 2 d e biografia
Programma textile design 2 d e biografia
ornella pirone
 
Programma textile design 2 d e biografia
Programma textile design 2 d e biografiaProgramma textile design 2 d e biografia
Programma textile design 2 d e biografia
Ornella Pirone
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
GiacomoZorzin
 
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
LeD87
 
Slide per installatori
Slide per installatoriSlide per installatori
Slide per installatori
seedelio
 

Semelhante a Ing sftw Fabiano Dalla Piazza (20)

AUGMENTED REALITY EXPERT
AUGMENTED REALITY EXPERTAUGMENTED REALITY EXPERT
AUGMENTED REALITY EXPERT
 
Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014
 
Programma textile design 2 d e biografia
Programma textile design 2 d e biografiaProgramma textile design 2 d e biografia
Programma textile design 2 d e biografia
 
Programma textile design 2 d e biografia
Programma textile design 2 d e biografiaProgramma textile design 2 d e biografia
Programma textile design 2 d e biografia
 
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...
 
Programma movie design 3 d e biografia
Programma movie design 3 d e biografiaProgramma movie design 3 d e biografia
Programma movie design 3 d e biografia
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 
Mcas 2010
Mcas 2010Mcas 2010
Mcas 2010
 
Mcas 2010
Mcas 2010Mcas 2010
Mcas 2010
 
myunimi
myunimimyunimi
myunimi
 
DOUTDES - Trasferimento di tecnologie e competenze di business intelligence a...
DOUTDES - Trasferimento di tecnologie e competenze di business intelligence a...DOUTDES - Trasferimento di tecnologie e competenze di business intelligence a...
DOUTDES - Trasferimento di tecnologie e competenze di business intelligence a...
 
Word e PowerPoint per testi di laurea
Word e PowerPoint per testi di laureaWord e PowerPoint per testi di laurea
Word e PowerPoint per testi di laurea
 
Casi, tendenze e soluzioni di design dal premio IIC 2022 - Webinar - 18 - [In...
Casi, tendenze e soluzioni di design dal premio IIC 2022 - Webinar - 18 - [In...Casi, tendenze e soluzioni di design dal premio IIC 2022 - Webinar - 18 - [In...
Casi, tendenze e soluzioni di design dal premio IIC 2022 - Webinar - 18 - [In...
 
B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Progetti di Stage 2009
B Human Progetti di Stage 2009
 
Settimana della Consulenza al Polimi
Settimana della Consulenza al PolimiSettimana della Consulenza al Polimi
Settimana della Consulenza al Polimi
 
Settimana della Consulenza al Politecnico di Milano
Settimana della Consulenza al Politecnico di MilanoSettimana della Consulenza al Politecnico di Milano
Settimana della Consulenza al Politecnico di Milano
 
SMAU Milano 2016
SMAU Milano 2016SMAU Milano 2016
SMAU Milano 2016
 
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
 
Slide per installatori
Slide per installatoriSlide per installatori
Slide per installatori
 
Come nasce una community WEB 2.0
Come nasce una community WEB 2.0Come nasce una community WEB 2.0
Come nasce una community WEB 2.0
 

Ing sftw Fabiano Dalla Piazza

  • 1. Ingegneria del software INTERVENTI DI MANUTENZIONE E PROGETTO DI UN MODULO DI REGISTRAZIONE AL SITO www.ing.units.it/bca A CURA DI:Fabiano Dalla Piazza 1
  • 2. Ingegneria del software INDICE GENERALE 1. DEFINIZIONE DEL PROBLEMA 3 2. CONTESTO E FATTIBILITA’ 3 3. 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 7 4. 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 11 5.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 54 6.CONCLUSIONI 57 2
  • 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 1 AT Alumni Association AT 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 un Master: il network dei suoi studenti. L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia il networking, 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à di condividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propria professionalità. - Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare le proprie competenze sui principali temi dell’Assistive Technology. 3
  • 4. Ingegneria del software 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 privilegiato di 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 in Assistive Technology L’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 all'associazione AT Alumni E-MAIL * * Invalid Email Nome * * Cognome * * Riempi i campi sottostanti Indirizzo di residenza * * 4
  • 5. Ingegneria del software Indirizzo per invio corrispondenza * * Telefono * * Corso Frequentato * CPAT: Corso di Perfezionamento CPAT in Assistive Technology MAT: Master in Assistive MAT Technology * Seleziona quale corso hai frequentato Edizione * * Inserire l’anno accademico dell’edizione frequentata Note Invia Figura 3 5
  • 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. 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 4 Uno schema delle varie funzioni fatto mediante diagramma di flusso è riportato a pagina seguente(fig.5).In esso è indicata la sequenza delle operazioni.La convenzione adottata piuttosto diffusa stabilisce di indicare con rettangoli gli agenti esterni,con cerchi funzioni o processi,con doppia linea parallela gli archivi o basi di dati,con dei rombi le decisioni condizionate(per es.nel caso “inserisci Nome”,se dal controllo emergono dei valori incoerenti o scorretti,uscita rossa “NO” e ridigitazione Nome da parte dell’utente;in caso contrario uscita blu “OK” e prosegui con inserisci Cognome). 7
  • 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 CHIEDI MESSAGGIO DI AUTORIZZAZIO CHIEDI NOME ERRORE CONFERMA GENERA NE INVIA CONFERMA ESISTENTE CONTROLLO NOTE ISCRIZIONE PASSWORD PASSWORD NELL’ARCHIVIO NO NO Figura 5 8
  • 9. Ingegneria del software 4. 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. 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 7 In figura 7 compaiono le caratteristiche dei campi nelle tabelle,mentre a pagina seguente(fig.8)è riportato lo schema di collegamento fra le tabelle.L’iscrizione di un’utente può avvenire tramite confronto e relativo accertamento dell’appartenenza all’archivio corsisti,poiché ha partecipato ad un corso master.Ogni riga individua un campo della tabella,mentre i campi in rosso rappresentano le chiavi primarie. 10
  • 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 M d. Progettazione delle maschere:nella figura sotto(fig.9) è riportato lo schema 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. 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 COSTANTI Il codice relativo alle maschere è riportato in testa al codice sorgente(parte 5). 12
  • 13. Ingegneria del software 5. 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. 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=#006699 background=menu_file/color_background.jpg> <DIV id=Layer1 style="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><A title="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=faq href="http://www.ing.units.it/bca/contenuti/06-07/faq06-07.htm" target=contenuti><STRONG>FAQ</STRONG></A>| <A title=sponsor href="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=Eventi href="http://www.ing.units.it/bca/contenuti/06-07/eventi06-07.htm" target=contenuti><STRONG>News</STRONG></A>| <A title=Contatti href="http://www.ing.units.it/bca/contenuti/06-07/contatti06-07.htm" target=contenuti><STRONG>Contatti</STRONG></A>| <A title="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=Layer2 style="Z-INDEX: 11; LEFT: 5px; WIDTH: 281px; POSITION: absolute; TOP: 7px; HEIGHT: 70px"><IMG height=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=Layer3 style="Z-INDEX: 3; LEFT: 5px; WIDTH: 271px; POSITION: absolute; TOP: 85px; HEIGHT: 58px"><IMG 14
  • 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 l'utenza 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. 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 d'esame</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. 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><span style='font-family:Verdana'>&nbsp;è l’associazione aperta agli studenti ed ex studenti 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 Alumni Association è quello di <strong>valorizzare e tenere unito il più grande patrimonio di<span style="mso-spacerun: yes"> </span>un Master: il network dei 17
  • 18. Ingegneria del software suoi studenti. </strong><o:p></o:p></span></p> <p><span style='font-family:Verdana'>L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia il networking, favorisce lo sviluppo delle relazioni, organizza attività di formazione continua. <o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Verdana'>- Attraverso&nbsp;il <strong>networking e le numerose occasioni di incontro</strong>, tutti gli associati hanno la possibilità di condividere esperienze, informazioni e conoscenze, fondamentali per 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 hanno l’occasione di perfezionare le proprie competenze sui principali temi dell’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 riposizionarsi sul mercato del lavoro; attraverso azioni di <strong>networking e diffusione mirata di curricula</strong>, l’Associazione diviene uno strumento privilegiato di 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 per la 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 in Assistive Technology e ai due Corsi di Perfezionamento in Assistive Technology</span></strong><b><span style='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. Ingegneria del software AT Alumni Association AT 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 un Master: il network dei suoi studenti. L’Associazione vuole offrire a tutti gli iscritti opportunità di aggiornamento e di crescita professionale: incoraggia il networking, 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à di condividere esperienze, informazioni e conoscenze, fondamentali per il continuo aggiornamento della propria professionalità. - Attraverso le attività di formazione organizzate dall’Associazione, gli iscritti hanno l’occasione di perfezionare le proprie 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 privilegiato di 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 in Assistive Technology L’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. Ingegneria del software MASCHERA PRINCIPALE Figura 14 CODICE MASCHERA PRINCIPALE Option Compare Database '===================================================================================== 'CODICE MASCHERA PRINCIPALE '===================================================================================== 'Tutte le Sub eseguite sono procedure interne 'Le costanti usate sono FORM_ATTIVO e le COSTANTI per i colori 'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale Private 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_ROSSO End Sub 'Se si clicca con il mouse sul pulsante Iscriviti cambia il colore della scritta Private Sub Comando_Apri_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Iscritti.ForeColor = COLORE_ROSSO End Sub 'Se ci si sposta con il mouse sopra il pulsante Iscriviti cambia il colore e lo spessore della scritta Private 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 = True End Sub 20
  • 21. Ingegneria del software 'Al rilascio del tasto del mouse dopo il click sul pulsante Iscriviti cambia il colore della scritta Private Sub Comando_Apri_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Iscritti.ForeColor = COLORE_BLU End Sub 'Se si clicca con il mouse sul pulsante Esci cambia il colore della scritta Private Sub Comando_Chiudi_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Chiudi_Principale.ForeColor = COLORE_ROSSO End Sub 'Se ci si sposta con il mouse sopra il pulsante Esci cambia il colore e lo spessore della scritta Private Sub Comando_Chiudi_Principale_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Chiudi_Principale.ForeColor = COLORE_NERO Comando_Chiudi_Principale.FontBold = True End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Esci cambia il colore della scritta Private Sub Comando_Chiudi_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Chiudi_Principale.ForeColor = COLORE_BLU End Sub 'Se si clicca con il mouse sul pulsante Amministratore cambia il colore della scritta Private Sub Comando_Apri_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Admin.ForeColor = COLORE_ROSSO End Sub 'Se ci si sposta con il mouse sopra il pulsante Amministratore cambia il colore e lo spessore della scritta Private 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 = True End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Amministratore cambia il colore della scritta Private Sub Comando_Apri_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Apri_Admin.ForeColor = COLORE_BLU End Sub 'Se si clicca sul corpo della maschera cambia il colore Private Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULT End Sub 'Se si clicca sul pulsante Iscriviti Private Sub Comando_Apri_Iscritti_Click() 'Se c'è un errore salta all' etichetta Err_Comando_Apri_Iscritti_Click e ne esegue il codice On Error GoTo Err_Comando_Apri_Iscritti_Click 'Va fino all'ultimo record registrato DoCmd.GoToRecord , , acLast 'Apre la maschera Iscritti in modalità aggiungi record DoCmd.OpenForm "Iscritti", acNormal, "", "", acAdd, acNormal 'Procedura di uscita Exit_Comando_Apri_Iscritti_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Apri_Iscritti_Click: MsgBox Err.Description Resume Exit_Comando_Apri_Iscritti_Click End Sub 21
  • 22. Ingegneria del software 'Se si clicca sul pulsante Esci Private Sub Comando_Chiudi_Principale_Click() 'Se c'è un errore salta all' etichetta Err_Comando_Chiudi_Principale_Click e ne esegue il codice On Error GoTo Err_Comando_Chiudi_Principale_Click 'Chiude la maschera attuale DoCmd.Close 'Esce dal file DoCmd.Quit 'Procedura di uscita Exit_Comando_Chiudi_Principale_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Chiudi_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Chiudi_Principale_Click End Sub 'Se si clicca sul comando Amministratore Private Sub Comando_Apri_Admin_Click() 'Se c'è un errore salta all' etichetta Err_Comando_Apri_Admin e ne esegue il codice On 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, , , stLinkCriteria 'Procedura di uscita Exit_Comando_Apri_Admin_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Apri_Admin_Click: MsgBox Err.Description Resume Exit_Comando_Apri_Admin_Click End Sub Figura 15 22
  • 23. Ingegneria del software MASCHERA ADMIN Figura 16 CODICE MASCHERA ADMIN Option Compare Database '===================================================================================== ======================= 'CODICE MASCHERA ADMIN '===================================================================================== ======================= 'Tutte le Sub eseguite sono procedure interne 'Le costanti utilizzate sono quelle per i colori 'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale Private Sub Form_Open(Cancel As Integer) 'All'apertura 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. 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_ROSSO End Sub '=======================================CORSISTI===================================== 'Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scritta Private Sub Comando_Lettura_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Corsisti.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scritta Private Sub Comando_Lettura_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Corsisti.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scritta Private Sub Comando_Lettura_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Corsisti.ForeColor = COLORE_NERO Comando_Lettura_Corsisti.FontBold = True End Sub 'Se si clicca con il mouse sul pulsante Inserisci cambia il colore della scritta Private Sub Comando_Inserisci_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Inserisci_Corsisti.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Inserisci cambia il colore della scritta Private Sub Comando_Inserisci_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Inserisci_Corsisti.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Inserisci cambia il colore e lo spessore della scritta Private Sub Comando_Inserisci_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Inserisci_Corsisti.ForeColor = COLORE_NERO Comando_Inserisci_Corsisti.FontBold = True End Sub 'Se si clicca con il mouse sul pulsante Modifica cambia il colore della scritta Private Sub Comando_Modifica_Corsisti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Corsisti.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scritta Private Sub Comando_Modifica_Corsisti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Corsisti.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scritta Private Sub Comando_Modifica_Corsisti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Corsisti.ForeColor = COLORE_NERO Comando_Modifica_Corsisti.FontBold = True End Sub 24
  • 25. Ingegneria del software '===========================================ISCRITTI=================================== 'Se si clicca con il mouse sul pulsante Sola lettura cambia il colore della scritta Private Sub Comando_Lettura_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Iscritti.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Sola lettura cambia il colore della scritta Private Sub Comando_Lettura_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Lettura_Iscritti.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Sola Lettura cambia il colore e lo spessore della scritta Private 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 = True End Sub 'Se si clicca con il mouse sul pulsante Modifica cambia il colore della scritta Private Sub Comando_Modifica_Iscritti_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Iscritti.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Modifica cambia il colore della scritta Private Sub Comando_Modifica_Iscritti_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Iscritti.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Modifica cambia il colore e lo spessore della scritta Private Sub Comando_Modifica_Iscritti_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Modifica_Iscritti.ForeColor = COLORE_NERO Comando_Modifica_Iscritti.FontBold = True End Sub 'Se si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scritta Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla maschera principale 'cambia il colore della scritta Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale 'cambia il colore e lo spessore della scritta Private 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 = True End Sub 'Se si clicca sul corpo della maschera cambia il colore Private Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULT End Sub 'Se si clicca sul pulsante Inserisci di corsisti:se c'è un errore esegue la sua procedura Private 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. Ingegneria del software 'Apre la maschera corsisti collegandola tramite il cognome stDocName = "Corsisti" stLinkCriteria = "[Cognome]=" & "'" & Me![Cognome] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria 'Procedura di uscita Exit_Comando_Inserisci_Corsisti_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Inserisci_Corsisti_Click: MsgBox Err.Description Resume Exit_Comando_Inserisci_Corsisti_Click End Sub 'Se si clicca sul pulsante Torna alla maschera principale di corsisti:se c'è un errore esegue la sua procedura Private Sub Comando_Torna_Principale_Click() On Error GoTo Err_Comando_Torna_Principale_Click 'Chiude la maschera DoCmd.Close 'Procedura di uscita Exit_Comando_Torna_Principale_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Torna_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Principale_Click End Sub 'Se si clicca sul pulsante Modifica di corsisti:se c'è un errore esegue la sua procedura Private 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, , acMenuVer70 'Procedura di uscita Exit_Comando_Modifica_Corsisti_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Modifica_Corsisti_Click: MsgBox Err.Description Resume Exit_Comando_Modifica_Corsisti_Click End Sub 'Se si clicca sul pulsante Modifica di iscritti:se c'è un errore esegue la sua procedura Private 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, , acMenuVer70 'Procedura di uscita Exit_Comando_Modifica_Iscritti_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Modifica_Iscritti_Click: MsgBox Err.Description Resume Exit_Comando_Modifica_Iscritti_Click End Sub 'Se si clicca sul pulsante Sola lettura di corsisti:se c'è un errore esegue la sua procedura Private Sub Comando_Lettura_Corsisti_Click() 26
  • 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 l'errore(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 l'errore(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 CORSISTI Option Compare Database 27
  • 28. Ingegneria del software '========================================================================================= 'CODICE MASCHERA CORSISTI '========================================================================================= 'Tutte le Sub eseguite sono procedure interne 'Non sono utilizzate costanti stringhe o booleane 'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale Private 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 dell'etichetta 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_ROSSO End Sub 'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Nome_Etichetta.FontSize = 10 Nome.FontSize = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Cognome_Etichetta.FontSize = 10 Cognome.FontSize = 10 End Sub 'Se si entra nella casella di Nome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Nome_Enter() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8 End Sub 'Se si clicca nella casella di Nome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Nome_Click() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8 End Sub 'Se si esce dalla casella di Nome vengono definiti colore e 'grandezza scrittadell'etichetta e grandezza scritta nella casella Private Sub Nome_Exit(Cancel As Integer) Nome_Etichetta.ForeColor = COLORE_BIANCO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8 End Sub 'Se si entra nella casella di Cognome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Cognome_Enter() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8 28
  • 29. Ingegneria del software End Sub 'Se si clicca nella casella di Cognome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Cognome_Click() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8 End Sub 'Se si esce dalla casella di Cognome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Cognome_Exit(Cancel As Integer) Cognome_Etichetta.ForeColor = COLORE_BIANCO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8 End Sub 'Se si clicca con il mouse sul pulsante Torna alla maschera principale 'cambia il colore della scritta Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla 'maschera principale cambia il colore della scritta Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale 'cambia il colore e lo spessore della scritta Private 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 = True End Sub 'Se si clicca con il mouse sul pulsante Torna alla maschera amministratore cambia il colore della scritta Private Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante 'Torna alla maschera amministratore cambia il colore della scritta Private Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_BLU End Sub 'Se ci si sposta con il mouse sopra il pulsante Torna alla 'maschera amministratore cambia il colore e lo spessore della scritta Private 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 = True End Sub 'Se si clicca sul corpo della maschera cambia il colore Private Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULT End Sub 'Se si clicca sul pulsante Torna alla maschera principale:se c'è un errore esegue la sua procedura Private Sub Comando_Torna_Principale_Click() On Error GoTo Err_Comando_Torna_Principale_Click 'Chiude la maschera e la precedente DoCmd.Close 29
  • 30. Ingegneria del software DoCmd.Close acForm, "Admin" 'Procedura di uscita Exit_Comando_Torna_Principale_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Torna_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Principale_Click End Sub 'Se si clicca sul pulsante Torna alla maschera amministratore:se c'è un errore esegue la sua procedura Private Sub Comando_Torna_Admin_Click() On Error GoTo Err_Comando_Torna_Admin_Click 'Chiude la maschera DoCmd.Close 'Procedura di errore Exit_Comando_Torna_Admin_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Torna_Admin_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Admin_Click End Sub Figura 19 Nelle seguenti fig.20 e fig.21 sono riportati rispettivamente la maschera e i codici della maschera “Autorizzati”.Infine le ultime tre maschere in sequenza: “Iscritti”(fig.22)con suo relativo codice(fig.23),”Richiedi_Password”(fig.24) e relativo codice(fig.25) e “Password”(fig.26) con codice visualizzato in fig.27. 30
  • 31. Ingegneria del software MASCHERA AUTORIZZATI Figura 20 CODICE MASCHERA AUTORIZZATI Option Compare Database '========================================================================================== 'CODICE MASCHERA AUTORIZZATI '========================================================================================== 'Tutte le Sub eseguite sono procedure interne 'Le costanti usate sono le COSTANTI per i colori 'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale Private Sub Form_Open(Cancel As Integer) 31
  • 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_NERO End Sub 'Se ci si sposta col mouse nel campo o etichetta E-Mail ingrandisce il carattere delle scritte di entrambi Private Sub E_Mail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) E_Mail_Etichetta.FontSize = 10 E_Mail.FontSize = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Nome_Etichetta.FontSize = 10 Nome.FontSize = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Cognome_Etichetta.FontSize = 10 Cognome.FontSize = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Indirizzo di residenza ingrandisce 'il carattere delle scritte di entrambi Private 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 = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Indirizzo di invio ingrandisce 'il carattere delle scritte di entrambi Private 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 = 10 End Sub 'Se si clicca con il mouse sul pulsante opzionale CPAT cambia il colore della scritta Private Sub Opzione_CPAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_CPAT.ForeColor = COLORE_ROSSO End Sub 'Se si clicca con il mouse sul pulsante opzionale MAT cambia il colore della scritta Private Sub Opzione_MAT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_MAT.ForeColor = COLORE_ROSSO End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante opzionale CPAT cambia il colore della scritta Private Sub Opzione_CPAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_CPAT.ForeColor = COLORE_BLU End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante opzionale MAT cambia il colore della scritta Private Sub Opzione_MAT_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 32
  • 33. Ingegneria del software Etichetta_MAT.ForeColor = COLORE_BLU End Sub 'Se ci si sposta col mouse nel campo o etichetta Telefono ingrandisce il carattere delle scritte di entrambi Private Sub Telefono_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Telefono_Etichetta.FontSize = 10 Telefono.FontSize = 10 End Sub 'Se ci si sposta col mouse nell' etichetta Corso frequentato ingrandisce la scritta dell'etichetta, 'ne toglie il corsivo e la tramuta in grassetto Private 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 = True End Sub 'Se ci si sposta col mouse nel pulsante opzionale CPAT trasforma la scritta in corsivo Private Sub Opzione_CPAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_CPAT.FontItalic = True End Sub 'Se ci si sposta col mouse nel pulsante opzionale MAT trasforma la scritta in corsivo Private Sub Opzione_MAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Etichetta_MAT.FontItalic = True End Sub 'Se ci si sposta col mouse nel campo o etichetta Edizione ingrandisce il carattere delle scritte di entrambi Private Sub Edizione_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Edizione_Etichetta.FontSize = 10 Edizione.FontSize = 10 End Sub 'Se si entra nella casella di E-Mail vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub E_Mail_Enter() E_Mail_Etichetta.ForeColor = COLORE_NERO E_Mail_Etichetta.FontSize = 8 E_Mail.FontSize = 8 End Sub 'Se si clicca nella casella di E-Mail vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub E_Mail_Click() E_Mail_Etichetta.ForeColor = COLORE_NERO E_Mail_Etichetta.FontSize = 8 E_Mail.FontSize = 8 End Sub 'Se si esce dalla casella di E-Mail vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub E_Mail_Exit(Cancel As Integer) E_Mail_Etichetta.ForeColor = COLORE_BIANCO E_Mail_Etichetta.FontSize = 8 E_Mail.FontSize = 8 End Sub 'Se si entra nella casella di Nome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Nome_Enter() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8 End Sub 33
  • 34. Ingegneria del software 'Se si clicca nella casella di Nome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Nome_Click() Nome_Etichetta.ForeColor = COLORE_NERO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8 End Sub 'Se si esce dalla casella di Nome vengono definiti colore e 'grandezza scrittadell'etichetta e grandezza scritta nella casella Private Sub Nome_Exit(Cancel As Integer) Nome_Etichetta.ForeColor = COLORE_BIANCO Nome_Etichetta.FontSize = 8 Nome.FontSize = 8 End Sub 'Se si entra nella casella di Cognome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Cognome_Enter() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8 End Sub 'Se si clicca nella casella di Cognome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Cognome_Click() Cognome_Etichetta.ForeColor = COLORE_NERO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8 End Sub 'Se si esce dalla casella di Cognome vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Cognome_Exit(Cancel As Integer) Cognome_Etichetta.ForeColor = COLORE_BIANCO Cognome_Etichetta.FontSize = 8 Cognome.FontSize = 8 End Sub 'Se si entra nella casella di Indirizzo di residenza vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Indirizzo_di_residenza_Enter() Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_residenza_Etichetta.FontSize = 8 Indirizzo_di_residenza.FontSize = 8 End Sub 'Se si clicca nella casella di Indirizzo di residenza vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Indirizzo_di_residenza_Click() Indirizzo_di_residenza_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_residenza_Etichetta.FontSize = 8 Indirizzo_di_residenza.FontSize = 8 End Sub 'Se si esce dalla casella di Indirizzo di residenza vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private 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 = 8 End Sub 'Se si entra nella casella di Indirizzo di invio vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Indirizzo_di_invio_Enter() Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_invio_Etichetta.FontSize = 8 34
  • 35. Ingegneria del software Indirizzo_di_invio.FontSize = 8 End Sub 'Se si clicca nella casella di Indirizzo di invio vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Indirizzo_di_invio_Click() Indirizzo_di_invio_Etichetta.ForeColor = COLORE_NERO Indirizzo_di_invio_Etichetta.FontSize = 8 Indirizzo_di_invio.FontSize = 8 End Sub 'Se si esce dalla casella di Indirizzo di invio vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private 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 = 8 End Sub 'Se si entra nella casella di Telefono vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Telefono_Enter() Telefono_Etichetta.ForeColor = COLORE_NERO Telefono_Etichetta.FontSize = 8 Telefono.FontSize = 8 End Sub 'Se si clicca nella casella di Telefono vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Telefono_Click() Telefono_Etichetta.ForeColor = COLORE_NERO Telefono_Etichetta.FontSize = 8 Telefono.FontSize = 8 End Sub 'Se si esce dalla casella di Telefono vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Telefono_Exit(Cancel As Integer) Telefono_Etichetta.ForeColor = COLORE_BIANCO Telefono_Etichetta.FontSize = 8 Telefono.FontSize = 8 End Sub 'Se si entra nella casella di Edizione vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Edizione_Enter() Edizione_Etichetta.ForeColor = COLORE_NERO Edizione_Etichetta.FontSize = 8 Edizione.FontSize = 8 End Sub 'Se si clicca nella casella di Edizione vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Edizione_Click() Edizione_Etichetta.ForeColor = COLORE_NERO Edizione_Etichetta.FontSize = 8 Edizione.FontSize = 8 End Sub 'Se si esce dalla casella di Edizione vengono definiti colore e 'grandezza scritta dell'etichetta egrandezza scritta nella casella Private Sub Edizione_Exit(Cancel As Integer) Edizione_Etichetta.ForeColor = COLORE_BIANCO Edizione_Etichetta.FontSize = 8 Edizione.FontSize = 8 End Sub 35
  • 36. Ingegneria del software 'Se ci si sposta col mouse nel campo o etichetta Password ingrandisce il carattere delle scritte di entrambi Private Sub Password_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Password_Etichetta.FontSize = 10 Password.FontSize = 10 End Sub 'Se si entra nella casella di Password vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Password_Enter() Password_Etichetta.ForeColor = COLORE_NERO Password_Etichetta.FontSize = 8 Password.FontSize = 8 End Sub 'Se si clicca nella casella di Password vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Password_Click() Password_Etichetta.ForeColor = COLORE_NERO Password_Etichetta.FontSize = 8 Password.FontSize = 8 End Sub 'Se si esce dalla casella di Password vengono definiti colore e 'grandezza scritta dell'etichetta e grandezza scritta nella casella Private Sub Password_Exit(Cancel As Integer) Password_Etichetta.ForeColor = COLORE_BIANCO Password_Etichetta.FontSize = 8 Password.FontSize = 8 End Sub 'Se si clicca sul corpo della maschera cambia il colore Private Sub Corpo_Click() Corpo.BackColor = COLORE_DEFAULT Etichetta_Seleziona.BackColor = COLORE_DEFAULT End Sub 'Se si clicca con il mouse sul pulsante Torna alla maschera amministratore 'cambia il colore della scritta Private Sub Comando_Torna_Admin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_ROSSO End Sub 'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera amministratore 'cambia il colore e lo spessore della scritta Private 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 = True End Sub 'Al rilascio del tasto del mouse dopo il click sul pulsante Torna 'alla maschera amministratore cambia il colore della scritta Private Sub Comando_Torna_Admin_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Admin.ForeColor = COLORE_BLU End Sub 'Se si clicca con il mouse sul pulsante Torna alla maschera principale cambia il colore della scritta Private Sub Comando_Torna_Principale_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_ROSSO End Sub 'Se ci si sposta con il mouse sopra il pulsante Torna alla maschera principale 'cambia il colore e lo spessore della scritta Private 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 = True End Sub 36
  • 37. Ingegneria del software 'Al rilascio del tasto del mouse dopo il click sul pulsante Torna alla 'maschera principale cambia il colore della scritta Private Sub Comando_Torna_Principale_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Comando_Torna_Principale.ForeColor = COLORE_BLU End Sub 'Se si clicca su Torna alla maschera amministratore:se c'è errore esegue la sua procedura Private Sub Comando_Torna_Admin_Click() On Error GoTo Err_Comando_Torna_Admin_Click 'Chiude la maschera DoCmd.Close 'Procedura di uscita Exit_Comando_Torna_Admin_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Torna_Admin_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Admin_Click End Sub 'Se si clicca su Torna alla maschera principale:se c'è errore esegue la sua procedura Private 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 uscita Exit_Comando_Torna_Principale_Click: Exit Sub 'Procedura di errore:visualizza l'errore(description) ed esce Err_Comando_Torna_Principale_Click: MsgBox Err.Description Resume Exit_Comando_Torna_Principale_Click End Sub Figura 21 37
  • 38. Ingegneria del software MASCHERA ISCRITTI Figura 22 CODICE MASCHERA ISCRITTI Option Compare Database '=============================================================================================== 'CODICE MASCHERA ISCRITTI '=============================================================================================== 'Tutte le Sub eseguite sono procedure interne 'Le costanti usate sono STRINGA_NOME e STRINGA_COGNOME 'All' apertura del file viene eseguito il codice Form_Open che in automatico chiama la machera principale Private Sub Form_Open(Cancel As Integer) 38
  • 39. Ingegneria del software 'All'apertura imposta i colori 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 Corpo.BackColor = COLORE_BIANCO Etichetta_Seleziona.BackColor = COLORE_BIANCO Etichetta_Iscriviti.FontSize = 14 Etichetta_Riempi.FontSize = 14 Comando_Invio.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 End Sub 'Se ci si sposta col mouse nel campo o etichetta E-Mail ingrandisce il carattere delle scritte di entrambi Private Sub E_Mail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) E_Mail_Etichetta.FontSize = 10 E_Mail.FontSize = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Nome ingrandisce il carattere delle scritte di entrambi Private Sub Nome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Nome_Etichetta.FontSize = 10 Nome.FontSize = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Cognome ingrandisce il carattere delle scritte di entrambi Private Sub Cognome_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Cognome_Etichetta.FontSize = 10 Cognome.FontSize = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Indirizzo di residenza ingrandisce 'il carattere delle scritte di entrambi Private 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 = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Indirizzo di invio ingrandisce 'il carattere delle scritte di entrambi Private 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 = 10 End Sub 'Se ci si sposta col mouse nel campo o etichetta Telefono ingrandisce il carattere delle scritte di entrambi Private Sub Telefono_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Telefono_Etichetta.FontSize = 10 Telefono.FontSize = 10 End Sub 'Se ci si sposta col mouse nell' etichetta Corso frequentato ingrandisce la scritta dell'etichetta, 'ne toglie il corsivo e la tramuta in grassetto Private 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 = True End Sub 'Se ci si sposta col mouse nel pulsante opzionale CPAT trasforma la scritta in corsivo Private Sub Opzione_CPAT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 39