Analisi e progettazione del software

Documenti analoghi
Analisi e progettazione del software

Analisi e progettazione del software

Introduzione al corso

Architettura dei Sistemi Software: Introduzione al corso

Fondamenti di informatica. Introduzione al corso di Fondamenti di informatica I e II (informatici) Anno Accademico

Introduzione al corso

Basi di Dati I a.a Presentazione del corso

INGEGNERIA DEL SOFTWARE

Introduzione al corso

Algoritmi e Strutture di Dati

Introduzione al corso

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

Basi di dati (nuovo ordinamento)

algoritmi e strutture di dati

algoritmi e strutture di dati

Architettura dei Sistemi Software: Introduzione al corso

Introduzione al corso

Introduzione al corso di Fondamenti di informatica. ingegneria elettronica Anno Accademico Donatella Firmani ottobre 2016

Presentazione del Corso Informazioni utili

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

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

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

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

Corso di Laurea Ingegneria Informatica

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Sistemi Distribuiti e Cloud Computing A.A. 2015/16

Fondamenti di Informatica

Sistemi Distribuiti Anno accademico 2010/11

Programmazione Orientata agli Oggetti I

Corso di Laurea Ingegneria Civile

Corso di Laurea Ingegneria Civile

Architettura. Nome Modulo Tipologia lezioni Ore Docente SSD Ruolo Interno Affidamento. Vincenzo Conti

Basi di dati I

Fondamenti di Informatica

Corso di SISTEMI INTELLIGENTI M. Prof. Michela Milano" Anno accademico 2011/2012

Sistemi Distribuiti Anno accademico 2009/10

Università degli Studi di Enna Kore

Fondamenti di Informatica

Laboratorio di Informatica. Filippo Sciarrone. Introduzione. Dispensa A-01 Settembre Laboratorio di Informatica. A-01 - Introduzione

Fondamenti di Intelligenza Artificiale

Grafica ed interfacce per la comunicazione. Scienze della Comunicazione A.A.2013/14

Il corso di Sistemi Operativi Introduzione al corso di Sistemi Operativi

Università degli Studi di Bologna Facoltà di Ingegneria. Corso di Applicazioni di Intelligenza Artificiale LS

INGEGNERIA DEL SOFTWARE INFORMATICA ARDIMENTO PASQUALE

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

Sistemi Distribuiti e Cloud Computing A.A. 2016/17

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

INSEGNAMENTO DI INGEGNERIA DEL SOFTWARE B (5 CFU) CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA a.a

Fondamenti di Informatica (lettere A-I) A

Come fare ricerca empirica

Fondamenti di Informatica T-1

SAPIENZA Università di Roma, Facoltà di Ingegneria (sede di RIETI)

Corso di Laurea in Scienze Geologiche (classe L-34) Anno Accademico 2018/19

Fondamenti di Informatica T-1

FONDAMENTI DI INFORMATICA II

Università di Bologna Scuola di Scienze Politiche Laurea SPOSI e STINT MICROECONOMIA. Docente: Giuseppe Pignataro. G. Pignataro Microeconomia SPOSI

Basi di dati I

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Informatica e Tecnologie per la Produzione del Software. VI Piano Stanza 619

Informatica A.A Obiettivo del corso. Orario delle lezioni. Orario delle lezioni

Introduzione al corso

Corso di Applicazioni di Intelligenza Artificiale LS. Prof. Paola Mello Anno accademico 2008/2009

Basi di dati I

Sistemi Operativi Informatica II. Presentazione del corso. a.a Patrizia Scandurra

SECONDA LINGUA OBBLIGATORIA E CORSI DI LINGUA OPZIONALE

Introduzione al corso: I sistemi informativi aziendali

Corso di Impianti meccanici. Introduzione al corso

Ingegneria Informatica A.A

Fondamenti di Informatica T-1

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Fondamenti di Informatica

Ingegneria del Software II

Corso di Laurea in Scienze Geologiche (classe L-34) Anno Accademico 2017/18

UNIVERSITÀ DEGLI STUDI DI BERGAMO. Marketing. (9 cfu) Codice Presentazione corso: 1^ release 17 Settembre 2018 Anno Accademico 2018/2019

Laurea Magistrale in Ingegneria Informatica - I anno

Come fare ricerca empirica

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

ECONOMIA E GESTIONE DELLE IMPRESE BANCARIE M - Z

Lezione 0. Introduzione al corso. Sistemi embedded e real-time

Informatica 2006/2007. Facoltà di Economia 1 anno 6 cfu

Università degli Studi di Bologna. Facoltà di Ingegneria CORSO DI INGEGNERIA DEL SOFTWARE. Prof. Evelina Lamma

Architetture software: Introduzione al corso

A.A. 2018/2019. Introduzione al Corso FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Università degli Studi di Enna Kore

FACOLTA' DI SCIENZE POLITICHE ANNO ACCADEMICO CORSO DI ECONOMIA POLITICA DOCENTE: ENRICA CHIAPPERO MARTINETTI

Università degli studi Magna Graecia di Catanzaro

Presentazione del corso

Fondamenti di informatica (ingegneria elettronica)

Impianti Meccanici Introduzione al corso

Obiettivi del corso. Programmazione Corso di laurea in Informatica

Fondamenti di Intelligenza Artificiale

Fondamenti di Informatica

Informatica Generale

MICROECONOMIA. Docente: Giuseppe Pignataro. Università di Bologna Scuola di Scienze Politiche Laurea SPOSI (O-Z) STINT

Fondamenti di Informatica e Programmazione

Corso di. Corsi di Laurea in Ingegneria Elettronica e Ingegneria dell Automazione

Transcript:

Luca Cabibbo Analisi e Progettazione del Software Analisi e progettazione del software Introduzione al corso marzo 2019 L apprendimento avviene attraverso il comportamento attivo dello studente: impara ciò che fa lui/lei stesso/a, non ciò che fa l insegnante. Ralph W. Tyler 1 Analisi e progettazione del software Obiettivo formativo del corso presentare gli aspetti fondamentali della modellazione, analisi e progettazione del software con riferimento alle tecniche di analisi e progettazione orientata agli oggetti e allo sviluppo iterativo e incrementale alla fine del corso, lo studente sarà in grado di progettare autonomamente applicazioni software di media complessità partecipare al progetto di applicazioni software di grande complessità 2

Analisi e progettazione del software Più precisamente, l obiettivo specifico di questo corso di Analisi e progettazione del software è apprendere capacità fondamentali dell analisi e progettazione orientata agli oggetti (OOA/D) capacità essenziali per sviluppare buon software usando tecnologie orientate agli oggetti (OO) e linguaggi OO come ad es., Java, C++, C# la conoscenza di un linguaggio di programmazione OO è necessaria ovvero, è un prerequisito ma in generale non è sufficiente per sviluppare buon software il punto critico è sapere come pensare a oggetti sulla base di un insieme di principi ed euristiche giustificabili nel contesto di un processo per lo sviluppo del software iterativo e agile 3 Obiettivo formativo Obiettivo formativo di breve termine presentare alcuni aspetti dell ingegneria del software processi per lo sviluppo del software requisiti analisi del software progettazione del software in particolare, presentare uno specifico metodo per lo sviluppo del software processi evolutivi e iterativi requisiti requisiti funzionali espressi come casi d uso analisi orientata agli oggetti OOA progettazione orientata agli oggetti OOD dalla progettazione orientata agli oggetti alla programmazione orientata agli oggetti 4

Obiettivo formativo Obiettivo formativo di medio-lungo termine nel contesto di una moltitudine di metodi moderni per lo sviluppo del software presentare uno specifico metodo per lo sviluppo del software le cui idee siano in accordo con quelle dei principali metodi moderni per lo sviluppo del software e i cui elementi (idee, modelli, metodi) possano essere generalizzati in varie direzioni come richiesto appunto da tali metodi infatti l OOA/D è alla base dello sviluppo basato su componenti e su servizi e le moderne applicazioni (incluse quelle per il web e per il cloud) hanno di solito un organizzazione a servizi queste generalizzazioni e correlazioni sono mostrate nel (successivo) corso di Architettura dei sistemi software (della Laurea Magistrale in Ingegneria Informatica) 5 Prerequisiti Costituiscono un PREREQUISITO FONDAMENTALE di Analisi e progettazione del software i seguenti corsi Programmazione orientata agli oggetti programmazione orientata agli oggetti classi, oggetti, variabili, metodi, costruttori,... collezioni polimorfismo eccezioni... Basi di dati I basi di dati (nozione di schema e istanza), basi di dati relazionali progettazione concettuale di basi di dati (modelli, metodi e linee guida)... 6

Sinergie e postrequisiti Analisi e progettazione del software (APS) è sinergico al corso di Sistemi informativi su web (SIW) le applicazioni su web sono spesso realizzate come applicazioni orientate agli oggetti attenzione, l enfasi dei due corsi è diversa SIW affronta anche temi tecnologici mentre APS affronta soprattutto temi metodologici inoltre, l approccio metodologico di SIW è simile ma non è identico a quello di APS prerequisito per il corso di Architettura dei sistemi software (nella Laurea Magistrale in Ingegneria Informatica) lo sviluppo di applicazioni di tipo enterprise richiede approcci più ampi e generali di quelli proposti in questo corso utile conoscere un metodo di analisi e progettazione orientata agli oggetti 7 Analisi e progettazione del software Docente: Tutor: Prof. Luca Cabibbo da definire CFU: 6 Lezioni 54 ore nel secondo semestre dal 1 marzo al 14 giugno (con pausa dal 19 al 28 aprile) in pratica le lezioni avranno inizio lunedì 4 marzo e finiranno con qualche giorno di anticipo lunedì, mercoledì, giovedì dalle 10:00 alle 12:00 più precisamente, le lezioni inizieranno alle ore 10:15 aula N11 8

Analisi e progettazione del software Ricevimento studenti (durante il secondo semestre) attualmente, giovedì dalle 16:00 alle 17:00 oppure per appuntamento (da concordare per posta elettronica) anche in giorni ed orari differenti Dipartimento di Ingegneria Sezione di Informatica e Automazione Via della Vasca Navale 79, secondo piano stanza 211 attenzione a possibili variazioni nell orario di ricevimento studenti! si consiglia di consultare il sito http://cabibbo.dia.uniroma3.it qualche giorno prima di venire al ricevimento, per essere informati su eventuali variazioni del giorno o dell orario di ricevimento 9 Materiale didattico Applicare UML e i pattern analisi e progettazione orientata agli oggetti Craig Larman Quarta edizione, 2016 Pearson Italia ISBN 9788891901033 10

Materiale didattico oppure Applicare UML e i pattern analisi e progettazione orientata agli oggetti Craig Larman Terza edizione, 2005 Pearson Education Italia, ISBN 8871922700 oppure Applying UML and patterns an introduction to object-oriented analysis and design and iterative development Craig Larman Third edition, 2005 Prentice Hall PTR, ISBN 0131489062 11 Materiale didattico Altre risorse: sito web del corso di Analisi e progettazione del software http://cabibbo.dia.uniroma3.it/aps sito web del docente http://cabibbo.dia.uniroma3.it user: aps password: docker 12

Materiale didattico Attenzione i lucidi messi a disposizione sul sito non sostituiscono il libro di testo e sono in più punti insufficienti per lo studio 13 Divieto dell uso di PC portatili in aula 14 agli studenti è vietato l uso di PC portatili in aula (e altri dispositivi come tablet, smartphone e cellulari) salvo autorizzazione preventiva da parte del docente

Esame L esame è organizzato normalmente in 2+1 parti progetto prova scritta [prova orale] 15 Esame L esame è organizzato normalmente in 2+1 parti progetto solo per studenti registrati al corso alcuni giorni (2 o 3) prima dello scritto viene proposto un progetto relativo ad uno studio di caso con esercizi di analisi e progettazione l impegno richiesto per lo svolgimento del progetto da parte di uno studente preparato è di circa 3-5 ore lo studente consegna, alla prova scritta, un elaborato relativo al progetto svolto individualmente e scritto a mano il progetto cambia ad ogni appello prova scritta [prova orale] 16

Esame L esame è organizzato normalmente in 2+1 parti progetto prova scritta la prova scritta verte su una variante (in genere si tratta di un ampliamento) del progetto di cui sopra la durata della prova scritta è 150 minuti circa la prova scritta comprende esercizi di analisi OO 12 punti circa (talvolta fino a 15) esercizi di progettazione OO + teoria 18 punti circa (talvolta solo fino a 15) [prova orale] 17 Esame L esame è organizzato normalmente in 2+1 parti progetto prova scritta [prova orale] opzionale, a discrezione del docente discussione degli elaborati relativi a progetto e prova scritta domande sul programma e sugli studi di caso del corso 18

Esame senza progetto In alternativa, è possibile sostenere l esame nella modalità senza progetto prova scritta + [prova orale] la prova scritta potrebbe non essere correlata al progetto associato all esame il voto massimo per chi sostiene l esame nella modalità senza progetto è 24 19 Esame con modalità straordinaria Un altra modalità d esame alternativa (e straordinaria) in casi eccezionali è possibile prevedere lo svolgimento di appelli d esame di recupero con una modalità straordinaria ad esempio, in caso di appello straordinario oppure in caso di legittimo impedimento alla partecipazione all esame in una data d appello ordinaria questo caso non include la sovrapposizione di date d esame con corsi di anni accademici diversi da quello di APS la data d esame sarà concordata, di caso in caso, con gli studenti coinvolti in ogni caso, entro le normali interruzioni didattiche di fine semestre o di settembre la modalità d esame in questi appelli d esame di recupero sarà stabilita di caso in caso e potrebbe essere anche diversa da quella degli appelli ordinari 20

Prove in itinere Durante il corso saranno proposte alcune prove in itinere alcune di queste prove sono da svolgere autonomamente a casa (homework) altre invece si svolgono in aula le prove in itinere verteranno su molti degli argomenti del corso con riferimento a due diversi studi di caso analisi a oggetti modellazione di dominio analisi a oggetti operazioni di sistema e contratti progettazione a oggetti pattern GRASP di base progettazione a oggetti dal progetto al codice analisi a oggetti generalizzazioni progettazione a oggetti pattern GRASP avanzati, poliformismo e design pattern molte esercitazioni verteranno proprio sugli argomenti delle prove in itinere dando agli studenti l importante possibilità di autovalutarsi 21 Prove in itinere Durante il corso saranno proposte alcune prove in itinere inoltre, se possibile gli studenti frequentanti potranno anche essere valutati su queste prove in itinere per quanto riguarda gli homework, consegnando i propri elaborati (individuali e scritti a mano) entro tempi opportunamente stabiliti (solitamente brevi) inoltre, due prove in itinere verranno svolte in aula in caso di esito positivo a tutte le prove in itinere, verrà proposto un voto che potrà essere verbalizzato a giugno-luglio (senza ulteriori prove d esame) 22

Calendario degli esami Calendario degli esami (provvisorio) giugno-luglio 2019 settembre 2019 febbraio 2020 appelli straordinari? In ogni caso, al massimo una partecipazione per interruzione didattica tre partecipazioni nell ambito di un intero anno accademico 23 APS per studenti diversamente abili Gli studenti con disabilità, disturbi specifici dell apprendimento o altre problematiche analoghe sono pregati di contattare il docente del corso al più presto in modo tale da poter concordare eventuali modalità di studio oppure di svolgimento degli esami personalizzate per favore, evitate che io venga a conoscenza delle vostre problematiche da una email dall Ufficio Studenti con disabilità e con DSA di ateneo, ricevuta il giorno prima dell esame, in cui mi chiedete di avere il 30% di tempo in più 24

APS per studenti dell ordinamento 509 Normalmente, gli studenti dell ordinamento 509 devono sostenere l esame con riferimento al programma e alla modalità d esame dell ultima edizione del corso 509 che è stata tenuta (quella dell a.a. 2009-2010) tuttavia, gli studenti dell ordinamento 509 che avessero inserito APS nel loro piano di studi dall anno accademico 2010-2011 in poi, devono invece probabilmente sostenere l esame di APS per studenti dell ordinamento 270 da 6 CFU avete dei dubbi su questo? contattate il docente del corso al più presto 25 APS per studenti Erasmus En pasado, se han verificado unas situaciones desagradables con unos estudiantes Erasmus. (Quiero acentuar que esto ha pasado solo con unos estudiantes Erasmus: otros estudiantes se han comportado correctamente y han siempre estudiado de una manera absolutamente decente.) Por esos eventos, los estudiantes Erasmus que son interesados a frecuentar y dar el examen de Analisi e progettazione del software tienen que: contactar el profesor para encontrarlo y conocerlo lo más pronto posible, para verificar que sean realmente interesados al curso y que posean los requisitos necesarios de otra manera (sin interese o sin requisitos) es mejor que cambien sus learning agreement ir dal profesor durante el recibimiento de los estudiantes por lo meno una vez al mes (desde el principio del curso), y de toda manera bastante tiempo antes del día del examen para que sus preparación proceda de una manera correcta- es decir para verificar que no estudien poco o mal Se recuerda tambien que al curso de Analisi e progettazione del software se dan 6 CFU (crediti formativi universitari), y que entonces el empeño que se pide a un estudiante que ya posee los requisitos del curso es más o menos de 6x25=150 horas. El profesor acentua que hasta ahora ha tratado y seguirá tratando- los estudiantes Erasmus de la misma manera es decir ni mejor ni pejor de los estudiantes locales. En particular, aunque no sea necesario decirlo, un estudiante Erasmus que estudia bien la materia aprobará el examen, mientras un estudiante Erasmus que estudia poco o mal la materia suspenderá el examen de la misma manera de un estudiante local que estudia poco o estudia mal. Eso independientemente de todos los aspectos que no conciernen propiamente el estudio y la comprensión de la materia. Y, por supuesto,considerando tambien que es la Comision de Examen que decide si un estudiante ha estudiado poco o mal y no el estudiante mismo. 26

Registrazione al corso Gli studenti che intendono frequentare il corso di Analisi e progettazione del software sono invitati a registrarsi al corso al più presto http://cabibbo.dia.uniroma3.it/aps/registrazione Gli studenti Erasmus che intendono frequentare il corso di Analisi e progettazione del software sono invitati a registrarsi al corso al più presto http://cabibbo.dia.uniroma3.it/aps/registrazione/erasmus.html 27