Ingegneria del Software e Programmazione Web, ISPW Laboratorio di Applicazioni Web, LAS

Documenti analoghi
Principi di Progettazione del Software a.a " Introduzione al corso! Prof. Luca Mainetti! Università del Salento!

FONDAMENTI DI INFORMATICA II

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Ingegneria del Software T

introduzione al corso di ingegneria del software

Sistemi Distribuiti Anno accademico 2009/10

Corso Programmazione Java Standard

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

Laurea Magistrale in Ingegneria Informatica - I anno

SCIENZE DELLA FORMAZIONE PRIMARIA (V.O.) Metodologia Didattica per la Scuola Primaria* - A.A. 2013/2014 Prof.ssa G. Compagno SCHEDA DI TRASPARENZA

Materiale didattico. Sommario

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

La programmazione ad oggetti: chiamate di metodi. Overloading. This

Ingegneria del So-ware

Dipartimento di INFORMATICA TC - TTRG. Anno Scolastico Piano di Lavoro Disciplinare. INFORMATICA Articolazione: INFORMATICA Classe IV

Introduzione a UML. Iolanda Salinari

Progettazione orientata agli oggetti Introduzione a UML

APPENDICE 4 AL CAPITOLATO TECNICO

Sistemi informativi aziendali

Marco Listanti Antonio Cianfrani. Laboratorio di Applicazioni Telematiche A.A. 2014/2015

Corso di laurea triennale in Scienze dell educazione e della formazione (L19)

32 Laurea magistrale in Informatica Scienze

UNIVERSITÀ DEGLI STUDI DI BERGAMO! Marketing. (9 cfu) Codice Presentazione corso: 1^ release 22 Settembre 2016 Anno Accademico 2016/2017

Introduzione a UML. Adriano Comai. versione 19 marzo Adriano Comai. Introduzione a UML Pag.

Corso di Ingegneria del Software. Informazioni sul corso

Object Oriented Programming

Saranno inoltre proposti dei seminari di approfondimento su tematiche specifiche.

Introduzione ad UML. Perché modelliamo

Tecnologie dei Linguaggi di Programmazione

Elementi di Informatica e Programmazione

Università degli studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in INFORMATICA

I Nuovi Corsi di Laurea in Informatica. La laurea triennale (classe L-31) L

Fondamenti di Informatica

Object Design Document (ODD) Franchising virtuale

Analisi e progettazione del software

UNIVERSITÀ DEGLI STUDI DI MILANO-BICOCCA CORSO EROGATO IN MODALITÀ BLENDED-LEARNING SYLLABUS

Analisi e progettazione del software

Gestione Aziendale e dei Sistemi Logistici. Informazioni generali sul corso per frequentati e non frequentanti

Corso di Fondamenti di Informatica e Laboratorio T-AB

Obiettivi, sviluppo e risultati principali del progetto STEEL

Prof. Massimo Esposito INGEGNERIA MECCANICA (DI-M) UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI INGEGNERIA

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

DESTINATARI CREDITI DURATA SCADENZA ISCRIZIONI

Progetto di Informatica III. Introduzione al corso

Programmazione ad Oggetti

Corso di Laurea Specialistica in Scienze Riabilitative

Introduzione al corso di Programmazione e Laboratorio

Università del Salento Facoltà di Scienze della Formazione, Scienze Politiche e Sociali CORSO DI INFORMATICA. UD0. Introduzione.

Formazione Sicurezza sul Lavoro

Università degli Studi di Pavia Dipartimento di Psicologia. INFORMATI PER RIUSCIRE Tutor: Alessandra Danieli Alessandra Di Malta

UML e (R)UP (an overview)

Open A3. Contatti. Docente: Tutor: Francesca Tomasi:

SETA Selection Tool del Sistema ARTIST

Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo

CERT- LIM INTERACTIVE TEACHER Certificazione Competenze Metodologiche con la LIM MODULO 2 Competenze Metodologico-Didattiche. Strategia del Big6

Università di Bologna Alma Mater Studiorum Laurea triennale in: Ingegneria Energetica

Università di Padova Facoltà di Ingegneria Laurea triennale Corsi della classe 9 Ingegneria dell Informazione

Corso di Laurea in Scienze Geologiche (classe L-34)

Introduzione. Fondamenti di Informatica 1. Dispensa 1 Gennaio Contenuti. Alfonso Miola. K Corso di Fondamenti di Informatica 1

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI)

UNIVERSITA DEGLI STUDI DI PAVIA

Ingegneria del Software UML - Unified Modeling Language

Docenti: Patrizia Scandurra (referente princiaple) Angelo Gargantini.

RUP (Rational Unified Process)

Corso di laurea Architettura U.E. 4 anno. Corso A. Discipline. Prof. G. Arena. Prof. D. Quattrone. ING/IND11 (60 ore 4 CFU) Prof. V.

LAUREA IN FISICA APPLICATA

Transcript:

INGEGNERIA INFORMATICA A. A. 2014-14, 3 ANNO, 2 SEM. Ingegneria del Software e Programmazione Web, ISPW Laboratorio di Applicazioni Web, LAS Le slide sono intese esclusivamente a supportare e non a sostituire lezioni e libri. DICII-URM2 - Introduzione 1/34

ISPW E LAS: CORSI COORDINATI Esempio unico, per Ingegneria Informatica di Tor Vergata, di dodici crediti formativi universitari con un solo esame. DICII-URM2 - Introduzione 2

LINEE DI SVILUPPO TRE LINEE PARALLELE DI SVILUPPO A. LINEA 1. Paradigma e progettazione OO. Programmazione Java - 6 CFU. Lunedì 11:30 & 14:00, aula A2. A. LINEA 2. Programmazione concorrente e applicazioni web - 3 CFU. Giovedì 11:30, aula A2, salvo diversa indicazione. B. LINEA 3. Ingegneria dei requisiti. Processo, analisi e progettazione software. Laboratorio - 3 CFU. Venerdì 16:00, aula A4, salvo diversa indicazione. DICII-URM2 - Introduzione 3

DOCENTI LINEA 1, 6 CFU Guglielmo De Angelis http://www.isti.cnr.it/about/people.php?id=98 Dottore di Ricerca Research Staff, CNR Istituto di Scienza e Tecnologie dell'informazione "Alessandro Faedo. Area della Ricerca CNR - Pisa Istituto di Analisi dei Sistemi ed Informatica "Antonio Ruberti del CNR Roma Adjunct Professor, Univ. Roma Tor Vergata, DICII DICII-URM2 - Introduzione 4

DOCENTI LINEA 2, 3 CFU Giovanni Cantone http://didattica.uniroma2.it/docenti/curriculum/3718-giovanni-cantone Ingegnere Professore Ordinario http://www.uniroma2.it/~cantone/ DICII-URM2 - Introduzione 5

DOCENTI LINEA 3, 3 CFU Giuseppe F. Calavaro http://www.informatik.uni-trier.de/~ley/pers/hd/c/calavaro:giuseppe Dottore di Ricerca, Ingegnere Rome Area, Italy - Big Data Practice Leader for Europe, IBM. Adjunct Professor, Univ. Roma Tor Vergata, DICII. DICII-URM2 - Introduzione 6

ISPW & LAS 2012-13 COLLOCAZIONE E CFU 2 semestre Ingegneria del software e programmazione web Laboratorio di applicazioni software (3 CFU) 9 CFU 3 CFU DICII-URM2 - Introduzione 7

Obiettivi Formare un ingegnere del software di primo livello, capace di intendere requisiti, analizzare e progettare applicazioni OO di dimensioni medie e piccole, programmare e verificare software OO, e interagire con manager e ingegneri di secondo livello in tutte le fasi di sviluppo di un sistema anche di grandi dimensioni. 8

Contenuti Specifica dei Requisiti, Analisi, Progettazione, Programmazione e Verifica del Software Orientate agli Oggetti. OO Thinking & Paradigm + UML Metodologia + PROCESSO SOFTWARE + Approfondimento RUP + SPECIFICA DEI REQUISITI E IMPIEGO DI RELATIVI STRUMENTI + ARCHITETTURA, ANALISI E PROGETTO: + Modelli architetturali: dai pattern in poi. + Pattern BCE + Architettura BCE per applicazioni Laptop/ Stand-alone + Architettura BCE per applicazioni Web + INTRODUZIONE E IMPIEGO DI STRUMENTI DI ANALISI E PROGETTAZIONE + PROGRAMMAZIONE OO SEQUENZIALE/CONCORRENTE E DI INTERFACCE GRAFICHE. Con Java. Programmazione di classi bounday e relativa grafica con Iava e JSP. + AMBIENTI DI PROGRAMMAZIONE OO E TEST + ASPECT ORIENTED PROGRAMMING 9

PROGRAMMA/LINEA 1 http://didattica.uniroma2.it/programma/index/insegnamento/149416-ingegneria-del-software-e-progettazione-web Java : Linguaggio e Piattaforma. Modellazione software. UML- Casi d'suo. UML- Activity Diagram. Classi, Oggetti ed Information Hiding. Class Diagram. Ereditarietà. Polimorfismo. Esempi. Binding di metodi in Java. Interfacce. Ereditarietà multipla fra interfacce in Java. Associazioni, aggregazioni e composizioni. Differenza con Ereditarietà. Implementazione delle associazioni. Dipendenze e loro tipi. Esercitazioni su UML e OOP in Java. Diagrammi di sequenza. Macchine a stati e rel. diagrammi UML. GoF ed elementi di implementazione in Java. Altri tipi di Pattern. Sottosistemi : Interfacce e Componenti. Eccezioni e loro modello di programmazione in Java. Esempi su eccezioni e loro programmazione in Java. Metaclassi. Reflection con Java e relativi esempi. File Java. Serializzazione/Deserializzazione. Esempi su definizione e impiego File Java. Verifica e Validazione del Software. Testing con JUnit. DICII-URM2 - Introduzione 10

PROGRAMMA LINEA 2 Modelli di concorrenza. Processi pesanti e leggeri. Thread Java. Tipologie di codifica di thread in Java. Concorrenza in ambiente globale. Stati di thread Java. Tipi di monitor. Monitor Java. Lock implicito e uso di Synchronized in Java. Lock e Condition Java. Lock di lettura scrittura. Altri tipici problemi di concorrenza in ambiente globale e loro soluzione in Java. Modelli di concorrenza in ambiente locale. Scambi di messaggi asincroni, sincroni a rendez-vous stretto/esteso. Anticipazioni su RMI in Java. Evoluzioni. Java Bean. Elementi di Hibernate. Eventi e loro gestione in Java. Grafica con Java. Grafica in Java con Swing. Architettura MVC di applicazioni web. HTML e JSP. JSP ed esempi. Annotazioni Java. Introduzione alla Programmazione orientata agli aspetti. DBMS: estensioni (Concurrent access, trigger, rollback, transactions) e loro impiego. DICII-URM2 - Introduzione 11

PROGRAMMA LINEA 3 Processo di sviluppo software. Processi iterativi e agile. Rational Unified Process (RUP). Gestione dei Requsiti. Use-case Modeling. Use Case Realization. Progetto: specifica requisiti utente e coordinamento iniziale. DICII-URM2 - Introduzione 12

PROGRAMMA SEMINARI Tool: IBM Requisite Pro. Tool: IBM Rational Software Architect. Concepts & tool: Testing and Quality Management. DICII-URM2 - Introduzione 13

DAL 3 MARZO AL 20 GIUGNO 2014 4 LEZIONI/SETTIMANA Lezioni ISPW & LAS ANTICIPO. Lezione del 18 è anticipata al 16 aprile 2014 Mercoledì hh.mm G. Calavaro UC Modeling (prima di Pasqua). RADDOPPIO. 24 aprile 2014 Giovedì 16.00 Aula da definire. IBM Seminar RSA. ALTRO. Vedere schedulo preventivo ufficiale spedito via e-mail. In caso di coincidenza con Consiglio DICII, la lezione del giovedì può essere anticipata al mercoledì pomeriggio, dietro preavviso. 14

Lezioni ISPW & LAS 20 GIUGNO 2014 Venerdì 16:00 A2 Domande e risposte. 23-27 GIUGNO 2014 Studio e sviluppo progetto a casa. Eventuale recupero. 3 LUGLIO 2014 Giovedì 11:30 TBD Domande e risposte. 15

Materiale di studio. Slide e appunti presi in classe. Sviluppo a casa di esercizi e compiti assegnati in classe. 16

Riferimenti 17

meglio in inglese UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design Jim Arlow, and Ila Neustadt 18

Basi di Ingegneria del Software: Lettura consigliata Ingegneria del software Ian Sommerville In inglese Software Egineering Ian Sommerville 19

Progettazione con UML In italiano Craig Larman Object-Oriented Software Engineering Using UML, Patterns, and Java Bernd Bruegge, Allen Dutoit 20

RUP RUP: Approfondimento P. Krutchen, The Rational Unified Process: An Introduction, Addison-Wesley. Anche in Italiano, Trad. G. Calavaro et oths. Addison-Wesley LONGMAN ITALIA, 304 pagine, 2000, ISBN: 8871920732). 21

UML: Approfondimento The Unified Modeling Language User Guide Grady Booch, James Rumbaugh, Ivar Jacobson 22

Java Core Java. Volumes I and II By C.S. Horstmann, G. Cornell 23

Trasparenze Saranno messe a disposizione, oltre che su tutti gli argomenti del corso, anche su: Architetture BCE Sw. Architecture: RUP e Dispense del corso Fondamenti, Stand alone, Laptop Web Applications 24

Progetto User needs Saranno resi disponibili a stretto giro. Saranno discussi in classe: questa sarà divisa in gruppi, ciascuno di questi sarà invitato a svolgere uno o più dei ruoli necessari. 25

Laboratorio e strumenti Laboratorio PC personale Strumenti IBM-Rational: Requisite Pro. IBM-Rational: RSA (evoluzione di Rose). Altro: Free/Open (e.g. Eclipse X Java, JUnit, etc.) 26

Modalità d esame 1. Presentazione e discussione progetto 2. Conoscenza operativa degli strumenti 3. Teoria (tutto, fra cui) a) RUP b) c) OO Thinking d) OO Programming 27

Registrazione formale ai corsi https://delphi.uniroma2.it/ 2013-14 iscrizione a ISPW e a LAS Iscrizione obbligatoria. Scadenza: fine aprile 2014. 28

Liste di spedizione di Tor Vergata Per registrarsi al sistema di spedizione di Tor Vergata (Sympa), solo se no lo si è già fatto in precedenza, andare alla pagina https://lists.uniroma2.it/index.html Chiedere la password; fornire il richiesto recapito e-mail. Si riceverà la password al recapito e-mail fornito. 29

Liste di spedizione dei corsi La iscrizione alle liste di spedizione di ipsw e las è facoltativa. Serve solo per ricevere avvisi e slide dai docenti, nonché eventuali messaggi da colleghi. Iscrizione libera entro e non oltre il 30 marzo 2012. 30

Iscrizione alle liste di spedizione dei corsi Per iscriversi a una lista, loggarsi nel sistema Sympa come utente, selezionare la lista dall'elenco delle liste e fare click su "Iscriviti". Una volta iscrittosi, sempre loggato come utente, selezionare prima la lista e poi, fatto click su "Le tue preferenze, verificare che in campo nome siano inseriti i seguenti dati: Nome COGNOME Matricola Iscrizioni incomplete saranno rimosse. 31

Pagina web del corso Didattica: http://didattica.uniroma2.it/programma/index/inse gnamento/149416-ingegneria-del-software-e- Progettazione-Web http://didattica.uniroma2.it/informazioni/index/inse gnamento/151124-laboratorio-di-applicazioni- Software 32

ESAMI 10 luglio 2014 Gio 9.30 Aula 4 24 luglio 2014 Gio 9.30 Aula 4 4 settembre 2014 Gio 9.30 Aula 4 25 settembre 2014 Gio 9.30 Aula 4 x febbraio 2015 y febbraio 2015 con PC personale. 33

DOMANDE Domande? 34