Capitolo 7. Ingegneria del Software. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Documenti analoghi
software Progettazione software IS Corso di Ingegneria del Software 1 Contenuti Progettare prima di produrre Dall analisi alla progettazione

Il PROCESSO UNIFICATO

INGEGNERIA DEL SOFTWARE

Introduzione al corso

Capitolo 6. Linguaggi di Programmazione. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Corso di Ingegneria del Software. Il modello UP

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

OO design pattern. Design pattern: motivazioni

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

Progettazione software

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Introduzione. Contenuti da Cap. 1 Ghezzi et al.

Il Project Management nei progetti IT. La fase di Analisi. Ing. Giulio Destri. Università degli Studi di Parma Corso di Laurea in Informatica

DIAGRAMMI DEI PACKAGE

Ingegneria del Software II

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

Sistemi Informativi. Marino Segnan introduzione 1

SCD IS. Documentazione. Domande ricorrenti 1. Valutazione quantitativa 1. Perché documentare... UniPD Ingegneria del Software mod.

3. Ciclo di Vita e Processi di Sviluppo

Ingegneria del Software L-A

Corso di Ingegneria del Software. Esempi di casi d uso

Corso di Ingegneria del Software. Modelli di produzione del software

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

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Progettazione software

Unified Modeling Language (UML)

Syllabus A042 Insegnamenti disciplinari

ottobre Fonti [SSA] Chapter 19, The Development Viewpoint Luca Cabibbo Punto di vista dello Sviluppo Luca Cabibbo SwA

Esami. Ingegneria del Software. Obiettivi del corso. Sir Tony Hoare s suggestion. There are two ways of constructing a software design.

UNITA CAPITALIZZABILI PER LA FIGURA PROFESSIONALE: TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

Materiale didattico. Sommario

SCD IS. Documentazione. Domande ricorrenti 1. Cosa documentare. Come documentare. Perché documentare 3. Domande ricorrenti 2. Perché documentare

IS Corso di Ingegneria del Software 1

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

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Ingegneria del Software 2014

Università degli Studi del Piemonte Orientale Amedeo Avogadro Corso di Laurea in INFORMATICA D.M. 22/10/2004, n. 270 Coorte 2018/2019

Un linguaggio per la rappresentazione formale di vincoli su scenari d'uso

SOMMARIO CHE COS È UML

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari

Università degli Studi del Piemonte Orientale Amedeo Avogadro Corso di Laurea in INFORMATICA D.M. 22/10/2004, n. 270 Coorte 2018/2019

Università degli Studi del Piemonte Orientale Amedeo Avogadro Corso di Laurea in INFORMATICA D.M. 22/10/2004, n. 270 Coorte 2019/2020

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

SCUOLA DELLE SCIENZE DI BASE E APPLICATE

Corso di Ingegneria del Software. Casi d uso

PLATFORM COPYRIGHT MINDOVERMONEY GIUGNO 2017 ALL RIGHTS RESERVED

La fase di Progettazione

Corso di Ingegneria del Software

Introduzione...xv. Giorno 1 - Una panoramica sui concetti principali...1

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

Laboratorio di Tecnologie dell'informazione

UML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

INGEGNERIA DEL SOFTWARE INFORMATICA ARDIMENTO PASQUALE

Laboratorio di Tecnologie dell'informazione

IL PROCESSO di PROGETTAZIONE

Descrizione dei Profili Professionali

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Collaudo del software

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

Laboratorio di Tecnologie dell'informazione. Ing. Marco Bertini

SOMMARIO CHE COS È UML

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

Capitolo 0. Introduzione. Prof. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Programmazione. Prof. Marco Bertini

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

Laboratorio di Tecnologie dell'informazione

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A5_3 V2.1. Controllo Qualità. Ispezioni

Model-View- Controller

Corso di Ingegneria del Software. Testing

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

UML I diagrammi implementativi

Ingegneria del Software 2010

Design Patterns. fonti: [Gamma95] e [Pianciamore03] Autori: Giacomo Gabrielli, Manuel Comparetti

Linguaggi di Programmazione

STUDIO DI RETRIBUZIONE 2017

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

In passato, occuparsi di informatica era sinonimo di programmare computer

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

Università degli studi Magna Graecia di Catanzaro

SCD IS. Documentazione. Documentazione. Valutazione quantitativa 1. Domande ricorrenti 1. Modello a V. Perché documentare

PROGRAMMAZIONE DIDATTICA DI DIPARTIMENTO A.S. 2017/2018

MATERIALI PER LA DISCUSSIONE

Capitolo 5. Algoritmi. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

SCD IS. Documentazione. Documentazione. Perché documentare... Valutazione quantitativa 1. Domande ricorrenti 1. Perché documentare

1. UML 2 ed il Processo Unificato

Linguaggi di programmazione e astrazione

SOMMARIO DIAGRAMMI DI SEQUENZA

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework

Allegato 1 Descrizione profili professionali

Corso di Basi di Dati

ARCHITETTURA DI UN DBMS

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

Transcript:

Capitolo 7 Ingegneria del Software Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved

Capitolo 7: Ingegneria del Software 7.1 Disciplina dell ingegneria del Software 7.2 Il ciclo di vita del software 7.3 Modularità 7.4 Strumenti di lavoro 7.5 Testing 7.6 Documentazione 7.7 Proprietà del software e responsabilità 2007 Pearson Addison-Wesley. All rights reserved 0-2

Disciplina dell ingegneria del Software Distinta dagli altri campi dell ingegneria Componenti prefabbricati Metriche Pratici e teorici Organizzazioni professionali: ACM, IEEE, etc. Codici di etica professionale Standard 2007 Pearson Addison-Wesley. All rights reserved 0-3

Computer Aided Software Engineering (CASE) tools Pianificazione del progetto Gestione del progetto Documentazione Prototipi e simulazione Progettazione di interfaccia Programmazione 2007 Pearson Addison-Wesley. All rights reserved 0-4

Figura 7.1 Ciclo di vita del Software 2007 Pearson Addison-Wesley. All rights reserved 0-5

Figura 7.2 Fase di sviluppo nel ciclo di vita del Software 2007 Pearson Addison-Wesley. All rights reserved 0-6

Fase di analisi Requisiti Orientati all applicazione Specifiche Orientate alla tecnica Documento dei requisiti del software 2007 Pearson Addison-Wesley. All rights reserved 0-7

Fase di Progettazione Metodologie e strumenti (discussi dopo) Human interface (psicologia e ergonomia) 2007 Pearson Addison-Wesley. All rights reserved 0-8

Fase di implementazione Creazione del sistema a partire dalla progettazione Scrivere programmi Creazione dei file di dati Sviluppo delle basi di dati Ruolo dell analista del software contrapposto al programmatore 2007 Pearson Addison-Wesley. All rights reserved 0-9

Fase di test Test di convalida Conferma che il sistema risponde alle specifiche Test dei difetti Trova i bachi 2007 Pearson Addison-Wesley. All rights reserved 0-10

Modularità Procedure Paradigma Imperativo Diagramma di struttura Oggetti Paradigma orientato agli oggetti Diagramma di collaborazione Componenti Architettura dei componenti 2007 Pearson Addison-Wesley. All rights reserved 0-11

Figura 7.3 Struttura della classe Giocatore e sue istanze 2007 Pearson Addison-Wesley. All rights reserved 0-12

Figura 7.4 Diagramma di una struttura che mostra l accoppiamento di dati 2007 Pearson Addison-Wesley. All rights reserved 0-13

Accoppiamento e Coesione Accoppiamento Accoppiamento con controllo Accoppiamento dati Coesione Coesione logica Coesione funzionale 2007 Pearson Addison-Wesley. All rights reserved 0-14

Figura 7.5 Coesione logica e funzionale all interno di un oggetto 2007 Pearson Addison-Wesley. All rights reserved 0-15

Strumenti di lavoro Diagramma del flusso di dati Diagramma Entità-Relazioni Relazione uno-a-uno Relazione uno-a-molti Relazione molti-a-molti Dizionario dei dati 2007 Pearson Addison-Wesley. All rights reserved 0-16

Figura 7.6 Relazioni uno-a-uno, uno-a-molti e molti-a-molti tra entità di tipo X e Y 2007 Pearson Addison-Wesley. All rights reserved 0-17

Linguaggio di Modellistica Unificato UML Diagramma di caso d uso Casi d uso Attori Diagramma delle classi 2007 Pearson Addison-Wesley. All rights reserved 0-18

Figura 7.7 Diagramma delle classi che rappresenta le generalizzazioni 2007 Pearson Addison-Wesley. All rights reserved 0-19

Percorsi strutturati Esperimento Teatrale Schede CRC (Class-responsibility-collaboration) 2007 Pearson Addison-Wesley. All rights reserved 0-20

Design Pattern Templates ben disegnati per la risoluzione dei problemi ricorrenti Esempi: Pattern Adapter : Utilizzato per adattare l interfaccia di un modulo alle necessità del momento Pattern Decorator : Utilizzato per controllare la complessità presente quando sono richieste diverse combinazioni delle stesse attività Ispirati dal lavoro in Architettura di Christopher Alexander 2007 Pearson Addison-Wesley. All rights reserved 0-21

Strategie per il Testing dei Software Glass-box testing Principio di Pareto Basis path testing Black-box testing Analisi dei valori limite Test della Ridondanza Beta testing 2007 Pearson Addison-Wesley. All rights reserved 0-22

Documentazione Documentazione utente Libri stampati per tutti i clienti Moduli di help On-line Documentazione di sistema Codice sorgente Documenti sulla progettazione Documentazione tecnica Per l installazione, l adattamento per il cliente, l updating, etc. 2007 Pearson Addison-Wesley. All rights reserved 0-23

Proprietà del software Copyright Il test della somiglianza sostanziale Filtration criteria: che cosa non può essere copyrightable Caratteristiche coperte da standards Caratteristiche dettate dallo scopo del software Componenti di dominio pubblico L aspetto look and feel Brevetti I fenomeni naturali non sono solitamente brevettabili Segreti commerciali Non-disclosure agreements are legally enforceable 2007 Pearson Addison-Wesley. All rights reserved 0-24