Progetto di Applicazioni Software



Documenti analoghi
Progetto di Applicazioni Software

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria

INGEGNERIA DEL SOFTWARE

IL TEST DI INGRESSO ai Corsi di Laurea in Ingegneria

Informatica Generale

Analisi e progettazione del software

PIANO DI LAVORO ANNUALE DELLA DISCIPLINA Tecnologie e Progettazione di Sistemi Classi QUINTE A.S

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Corso di INFORMATICA AZIENDALE (4 CFU)

Analisi e progettazione del software

Presentazione e programma del Corso

Docente. Sistemi Informativi. Programma. Programma. Ing. Fabrizio Riguzzi

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

Anno di corso: 2004/2005. Istruzioni. Istruzioni per lo svolgimento dei progetti didattici. versione 1.1

Informatica (Basi di Dati)

Corso di Laboratorio di Basi di Dati

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Manuale Operativo per la Compilazione dei Questionari di Valutazione della Didattica

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE

Fondamenti di Informatica II Corso (HA-ZZ) Introduzione al corso

GUIDA ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA LIVELLO A2. Anno accademico 2014/15

LINGUA INGLESE LIVELLO B2

Valutazione della Didattica On-Line

Progettazione di una base di dati Ufficio della Motorizzazione

Statistica Aziendale Avanzata

LINEE GUIDA PER L EROGAZIONE DELLA FORMAZIONE INTERNA

Object Oriented Software Design

Progettaz. e sviluppo Data Base

Prove di ammissione Corsi Triennali Lingue e Letterature Straniere (Bologna) Lingue Mercati e Culture dell Asia (Bologna)

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC

È possibile organizzare corsi e cicli presso la propria sede (Classi on-site)?

Fondamenti di Informatica T-1

GUIDA AL TEST DI ACCESSO E ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA

Object-Relational Mapping

LINGUE TEDESCA, FRANCESE E SPAGNOLA LIVELLO B2

Conoscenza obbligatoria della lingua inglese

Tecniche della comunicazione web - 8 CFU

1. BASI DI DATI: GENERALITÀ

Corso di Fondamenti di Informatica L-A

Classi di abilitazione A345-A346 (Ac07) Calendario e modalità di svolgimento delle prove

4 BANDO REGIONALE C.R.I. LAZIO CORSO ISTRUTTORI FULL-D

Guida Compilazione Piani di Studio on-line

Introduzione al corso

Sistemi Informativi. Ing. Fabrizio Riguzzi

GUIDA ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA LIVELLO B2. Anno accademico 2013/14

Classe di abilitazione C032 Calendario e modalità di svolgimento delle prove

Sulla colonna a destra si trovano invece i blocchi dedicati alle utilità e all amministrazione:

I database. Cosa sono e a cosa servono i Database

Università degli Studi di Bergamo Dipartimento di Scienze aziendali, economiche e metodi quantitativi. Marketing. (9 cfu)

Il piano di studi va presentato dal 15 OTTOBRE al 25 NOVEMBRE 2015 e dal 16 al 31 MARZO STUDENTI IN CORSO

SOMMARIO Gruppo 4 - All right reserved 1

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

GUIDA ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA - PROVA DI LINGUA INGLESE LIVELLO B1 - Anno accademico 2014/15

DOMANDE Come si è organizzato l Ateneo di Perugia per la rilevazione delle opinioni degli studenti?

Dipartimento di Sociologia e ricerca sociale

GUIDA INFORMATIVA PER GLI STUDENTI ERASMUS IN ARRIVO

I nuovi corsi di laurea della Facoltà di Scienze Politiche dell Università di Siena PRO MEMORIA PER GLI STUDENTI

Università telematica e-campus

I.1 DIVISIONE PROCESSI FORMATIVI SCUOLE Specifiche Direzione Scuole e Formazione professionale

Ingegneria del Software 5. Esercizi sui casi d uso. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Classe di abilitazione A019 Calendario e modalità di svolgimento delle prove

Classe di abilitazione - A076 Trattamento Testi, Calcolo, Contabilità elettronica ed applicazioni industriali

Regolamento Ufficiale della Fantalega I Villaggi

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Dipartimenti di Fisica, Matematica Ingegneria e Scienza dell Informazione CIBIO - Centro di Biologia Integrata

Piattaforma di e-learning Moodle

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Artifact Centric Business Processes (I)

ACCORDO STATO-REGIONI FORMAZIONE 21 dicembre 2011 (in vigore dal 26 gennaio 2012)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

ANNO ACCADEMICO. REGISTRO DELLE ATTIVITÀ DIDATTICHE SVOLTE

Sistemi Distribuiti e Cloud Computing A.A. 2014/15

Università degli Studi di Messina

ESAMI ONLINE E QUESTIONARI ANVUR (FAQ)

Pagina Personale Docente. Guida Utente. Progetto DISCITE

Modalità di Accesso ai Corsi di Studio (CdS)

GUIDA ALLA COMPILAZIONE DEL PIANO DI STUDI ON-LINE

Basi di dati I. Esercitazione proposta

GUIDA ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA LIVELLO B1. Anno accademico 2013/14

Sistemi Informativi. Ing. Fabrizio Riguzzi

COMMENTO ACCORDI FORMAZIONE E AGGIORNAMENTO DATORE LAVORO-RSPP

Informatica Grafica. Introduzione al corso

NORME PER L AMMISSIONE

Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A Casi di Studio. Traccia n 1

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

SDD System design document

PROGRAMMA CONSUNTIVO

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Progettazione della componente applicativa

BACHELOR OF SCIENCE DEGREE IN PHYSIOTHERAPY SINTESI REGOLAMENTO FISIOTERAPIA parte Didattica

GUIDA AI TEST DI ACCESSO / VERIFICA CONOSCENZA ALL INGRESSO INFORMATIZZATI. Anno accademico 2014/15

UNIVERSITÀ CATTOLICA DEL SACRO CUORE FACOLTÀ DI SCIENZE POLITICHE E SOCIALI

Università di Bologna Facoltà di Lettere e Filosofia Corso di Laurea DAMS, Indirizzo Cinema

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

02CIXPG Sistemi informativi aziendali

Metodologie Informatiche Applicate al Turismo

Dipartimenti di Fisica, Matematica Ingegneria e Scienza dell Informazione CIBIO - Centro di Biologia Integrata

Servizio Tirocini. Facoltà di Psicologia. A cura dell Ufficio Tirocini

Transcript:

Progetto di Applicazioni Software Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 I lucidi del corso sono stati prodotti sulla base del materiale preparato nelle precedenti edizioni del corso di Progetto di Basi di Dati da A. Calì, e da D. Lembo.

Docente Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Via Ariosto 25, Secondo piano, Stanza B213 E-mail: poggi@dis.uniroma1.it Web: http://www.dis.uniroma1.it/~poggi/

Tutor Claudio Corona Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Via Ariosto 25, Secondo piano, Stanza B221 E-mail: corona@dis.uniroma1.it Web: http://www.dis.uniroma1.it/~corona/

Contattare il Docente Durante il periodo di lezione, contattare il docente al termine delle lezioni o durante il ricevimento studenti Martedì 16:00 18:00 Dipartimento di Informatica e Sistemistica Via Ariosto 25 (secondo piano, stanza B213) Per partecipare al ricevimento è necessario inviare in precedenza una e-mail al docente Controllare sempre prima sulla pagina web del docente che non ci siano modifiche dell orario di ricevimento, etc. Dopo il termine del ciclo di lezioni continuerà il ricevimento studenti

Contattare il Tutor Ricevimento studenti Mercoledì 17:00 19:00 Dipartimento di Informatica e Sistemistica Via Ariosto 25 (secondo piano, stanza B221) In particolare, il tutor è a disposizione dello studente per rispondere a domande più specifiche sul codice dell applicazione che lo studente dovrà sviluppare (ma non solo) Valgono le stesse modalità di ricevimento precisate per il docente

Pagina del Corso http://www.dis.uniroma1. it/~poggi/didattica/progettoas09/index.htm Contiene il calendario delle lezioni Informazioni sul corso Modalità di esame, con o senza esoneri Aggiornata prima di ogni lezione con il materiale che sarà presentato in aula (in linea di principio) Link e informazioni su materiale didattico supplementare Informazioni sul DBMS e le tecnologie usate per la realizzazione dei progetti

Organizzazione del Corso Modulo da 6 crediti (72 Ore) - 13 settimane ~ 32 ore di lezione (in aula) ~ 40 ore di laboratorio (in laboratorio) Le ore svolte al Laboratorio di Via Tiburtina saranno principalmente dedicate alle esercitazioni, allo sviluppo dei progetti e alle revisioni (cf. pagina web per il dettaglio del contenuto delle lezioni) Inizio lezioni: Venerdì 6 Marzo 2009 Orario del corso (ATTENZIONE: cambio rispetto all orario reso noto) Lunedì 11.05 13:30 Via Eudossiana 18, aula 33 Giovedì 15:45 17:15 oppure Giovedì 15:45 19:00 (a seconda del giorno, cf. calendario delle lezioni) Laboratorio di via Tiburtina 205, aula 17

Primo Laboratorio via Tiburtina 205 Giovedì 12 Marzo Esercitazione sull uso del DBMS consigliato per il progetto, i.e. Mysql 5

Prerequisiti Fondamenti di Informatica I (I anno - II semestre) Progettazione del Software (II anno - II semestre) progettazione UML realizzazione in Java Basi di Dati (III anno - I semestre) modello relazionale il linguaggio SQL progettazione concettuale progettazione logica

Argomenti del corso Architetture dei sistemi informativi Strumenti del DBMS per l accesso ai dati e la gestione della loro integrità Stored Procedures Triggers Transazioni (a livello di DBMS) Interazione fra applicazione (Java) e DBMS JDBC Incapsulamento dell'accesso al DBMS (approccio DAO e Hibernate) Realizzazione di un applicazione (con accesso a dati persistenti) Il livello di presentazione: Java Swing Transazioni (a livello di applicazione)

Organizzazione del laboratorio Il laboratorio è organizzato secondo 4 fasi: Fase 1: Progettazione della base di dati Fase 2: Analisi e progettazione dell applicazione Fase 3: Mapping tra applicazione e base di dati Fase 4: Realizzazione dell applicazione Ogni fase comincia con una o più esercitazione sugli argomenti del corso corrispondenti alla fase Durante le ore di laboratorio successive alle esercitazioni, i gruppi portano avanti lo sviluppo degli aspetti del loro progetto relativi alla fase corrente, e possono chiedere assistenza al docente e/o al tutor

Fase 1: Progettazione della base di dati Argomenti: Progettazione concettuale Interazione con il DBMS Triggers Stored procedures Transazioni

Fase 2: Analisi e progettazione dell applicazione Argomenti: Analisi dei requisiti Progettazione concettuale del dominio dell applicazione Specifica formale delle funzionalità dell applicazione (precondizioni, post-condizioni, pseudo-codice)

Fase 3: Mapping tra applicazione e base di dati Argomenti: Interfacciare Java con un DBMS Interagire con Hibernate Realizzazione del mapping tra gli oggetti dell applicazione e le tabelle della base di dati

Fase 4: Realizzazione dell applicazione Argomenti: Transazioni in Java Java Swing come interfaccia per l applicazione Realizzazione delle funzionalità dell applicazione

Calendario provvisorio (1) Lunedì 11:05-13:30 Giovedì 15:45-17:15 Giovedì 17:30-19:00 Sett. 9 Marzo Architetture dei sistemi informativi Esercitazione su Mysql -------------- Sett. 16 Marzo Triggers, Stored Procedures Esercitazione -------------- Sett. 23 Marzo Implementazione dei vincoli Esercitazione (Fase 1) Sett. 30 Marzo Implementazione dei vincoli (Fase 1) (Fase 1) Sett. 6 Aprile Accesso da applicazione a DBMS (JDBC) (Fase 1) (Fase 1) Sett. 13 Aprile --------------- (Fase 2) --------------- Sett. 20 Aprile Accesso da applicazione a DBMS (JDBC) Esercitazione (Fase 2)

Calendario provvisorio (2) Lunedì 11:05-13:30 Giovedì 15:45-17:15 Giovedì 17:30-19:00 Sett. 27 Aprile Object-relational mapping (Hibernate) Esercitazione Esercitazione Sett. 4 Maggio Object-relational mapping (Hibernate) (Fase 3) -------------- Sett. 11 Maggio Object-relational mapping (Hibernate) (Fase 3) (Fase 3) Sett. 18 Maggio Introduzione a JFC/Swing (Fase 4) (Fase 4) Sett. 25 Maggio Transazioni a livello di applicazione (Fase 4) (Fase 4)

Esame o prova finale - Modalità generali Al fine di sostenere l esame o presentare la prova finale, lo studente deve consegnare un elaborato che consiste nello sviluppo di un piccolo sistema informativo in Java, e della relativa documentazione Il sistema deve necessariamente comprendere: 1. una base di dati relazionale, realizzata con un DBMS, ed interrogabile con SQL 2. una applicazione scritta in Java, che accede alla base di dati attraverso un driver JDBC e i cui oggetti sono mappati su tabelle della base di dati facendo uso di Hibernate

Progetti - Esempio di specifica sintetica (1) L'applicazione si occupa della gestione di una clinica ospedaliera. Il personale della clinica è suddiviso in medici, infermieri e dipendenti. I pazienti presi in cura nella clinica sono suddivisi tra pazienti visitati e/o ricoverati. La clinica è composta di reparti e sale. Interessa tenere traccia dei prodotti utilizzati e acquistati. Gli infermieri possono essere assegnati, settimanalmente, ad un reparto, i medici giornalmente ad una sala. I dipendenti possono acquistare prodotti, gli infermieri e medici utilizzarli. Tecnologie che saranno usate: Jakarta Tomcat; MySql 5.0 Membri del gruppo: Mario Rossi 700000 mario.rossi@gmail.com Luca Bianchi 700001 luca.bianchi@email.it Chiara Neri 700002 chiara.neri@libero.it

Progetti - Esempio di specifica sintetica (2) Il dominio di interesse è quello di una palestra e degli atleti iscritto alla stessa. Si intende tenere traccia dell iscrizione dell'atleta e di un insieme di informazioni concernenti gli allenamenti svolti dall atleta nella palestra. Ad ogni atleta viene assegnata una scheda. Ogni scheda ha un codice identificativo nell'ambito della palestra, nome e cognome dell'atleta a cui è stata assegnata, data di scadenza ed è creata da un istruttore in base alle capacità di ogni atleta. Inoltre non possono essere assegnate due schede ad un atleta con la stessa data di inizio. La scheda è composta da allenamenti giornalieri. Ogni allenamento è composto da un insieme di esercizi che l'atleta deve svolgere durante la seduta di allenamento. Esistono due categorie di allenamenti: fitness e body bulding e per ogni categoria di allenamenti sono previsti vari esercizi. Ogni esercizio è composto da nome, numero di serie e ripetizioni. Inoltre per ogni esercizio è prevista una macchina da utilizzare e solamente per quanto riguarda gli esercizi relativi all'allenamento body bulding l'atleta può scegliere i pesi da utilizzare su tale macchina per quel particolare esercizio.

Fasi del progetto e relativa documentazione (1) 1. Progettazione della base di dati Prodotti attesi : Specifica dettagliata del dominio dei dati di interesse Schema ER, con discussione delle scelte critiche effettuate nella progettazione Glossario delle entità e delle relazioni Elenco di tutti i vincoli non esprimibili mediante lo schema ER Schema ER ristrutturato (con vincoli non esprimibili) Schema logico (con vincoli non esprimibili) Schema logico ristrutturato (con vincoli non esprimibili) Elenco dei vincoli sullo schema logico classificati per tipologia Elenco e descrizione di tutte le stored procedures, triggers e transazioni Discussione sulla maniera in cui sono stati implementati i vincoli di integrità (politiche da seguire nelle cancellazioni e inserimenti)

Fasi del progetto e relativa documentazione (2) 1. Progettazione dell applicazione Prodotti attesi : Specifica dettagliata del dominio dell applicazione Descrizione degli attori principali del sistema Diagramma UML delle classi di dominio Use case delle funzionalità offerte Specifica formale delle funzionalità offerte, in termini del diagramma delle classi Post-condizioni Pre-condizioni Pseudo-codice

Fasi del progetto e relativa documentazione (3) 1. Mapping tra applicazione e base di dati Prodotti attesi : Descrizione del mapping tra gli oggetti dell applicazione e le tabelle della base di dati Discussione sulle scelte fatte

Fasi del progetto e relativa documentazione (4) 1. Realizzazione dell applicazione Prodotti attesi : Descrizione dell'architettura Sw (Client-Server, threetier, N-tier, etc.) e delle tecnologie utilizzate (Java, Swing, JDBC, MySQL 5.0, JSP, Servlet, etc.) Descrizione degli eventuali ambienti di sviluppo utilizzati e della piattaforma Hw selezionata (cioè, breve descrizione dei calcolatori impiegati, e del Sw su di essi installato) Descrizione delle transazioni implementate Discussione sulle scelte fatte Package diagram dell applicazione Codice Java dell intera applicazione (da non includere nella documentazione)

vs progetto di basi di dati Dall'AA 2008/2009, il corso di Progetto di Basi di Dati non sarà più erogato e sarà sostituito da questo corso 1. Chi ha già sostenuto la revisione del progetto secondo le modalità previste e NON è passato al nuovissimo ordinamento, potrà completare l'esame stesso nei prossimi appelli 2. Chi ha già sostenuto la revisione del progetto ed è passato al nuovissimo ordinamento, potrà completare l'esame di a partire dalla prossima sessione estiva, integrando la discussione orale del progetto con un esame orale sugli argomenti nuovi previsti per il corso di (maggiori dettagli a riguardo saranno resi noti e pubblicati sulla pagina web del corso di Progetto di Applicazioni Software) 3. Le regole 1 e 2 rimangono valide nel caso di progetti congiunti "misti", ovvero nel caso in cui uno stesso progetto sia presentato sia da studenti che rientrano nel caso 1 che, rispettivamente, da studenti che rientrano nel caso 2 4. Per chi non è passato al nuovissimo ordinamento e ha solo richiesto l'assegnazione del progetto, l'assegnazione è considerata valida se l'esame è sostenuto entro i primi due appelli del nuovo anno 5. Chi non è passato al nuovissimo ordinamento e non ha un'assegnazione valida di alcun progetto, potrà sostenere l'esame di Progetto di Basi di Dati solo secondo le modalità previste per questo corso

Materiale Didattico Slides presentate a lezione ed altro materiale disponibile sulla pagina web Slides del corso di Basi di Dati - Disponibili sul sito del prof. Lenzerini Slides del corso di Progettazione del Software - Disponibili sul sito del prof. De Giacomo Libro consigliato Sistemi di Basi di Dati. Raghu Ramakrishnan, Johannes Gehrke. McGraw- Hill, 2004. Altro materiale di riferimento verrà indicato sulla pagine web durante lo svolgimento del corso