Software Engineering
|
|
- Lamberto Mori
- 6 anni fa
- Visualizzazioni
Transcript
1 Software Engineering
2 Introduzione I processi di sviluppo del software sono molto complessi Un approccio a fasi è necessario per controllarli I possibili modelli in letteratura possono essere Modelli tradizionali, document-driven: nuovi documenti prodotti al termine di ogni fase Modelli evoluzionari, basati su un prototipo che si adatta alle esigenze dell utente e si evolve con esse
3 Perchè usare i cicli di vita Fornire un framework per standardizzare la terminologia, le attività e i prodotti (deliverables) Aumentare la visibilità del progresso del progetto per tutte le parti coinvolte Fornire le basi per il piano di progetto e lo scheduling delle attività Fornire meccanismi per controllare l avanzamento e lo stato del progetto
4 Il giusto ciclo di vita Maggiore velocità di sviluppo Maggiore produttività Maggiore tracciamento e controllo Maggiori relazioni con il cliente Minori rischi di progetto Minori overhead di progetto
5 100 Distribuzione dei costi B.W. Boehm, Software Engineering, IEEE Trans. On Computers, Percent of total cost Hardware Development 20 Software Maintenance Year
6 Cosa è l ingegneria del software? [First NATO Conference, 1968] Software engineering is the establishment and use of sound principles in order to obtain economically software that is reliable and works efficiently on real machines [IEEE Std Glossary of Software Eng. Terminology] Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is the application of engineering to software
7 Un semplice ciclo di vita problem requirements engineering Requirement s Specification design Design Program Working Program implementation testing maintenance
8 Requirements Engineering Descrivere Il problema da risolvere, E in quali condizioni Requisiti Funzionali Non-funzionali (HW, SW esterno, numero degli utenti, ) La descrizione comprende: funzionalità, estensioni future, quantità/tipo della documentazione richiesta, prestazioni e tempo di risposta Può comprendere uno studio di fattibilità
9 Design Modellare il sistema da sviluppare Moduli, componenti e interfacce Prendere delle decisioni da includere nella Architettura del Software Utile per Valutare Utilizzare come template per una famiglia di prodotti Scheletro per componenti riutilizzabili
10 Implementation Concentrarsi nei singoli moduli Restare coerenti alla architettura software Non sempre possibile nei linguaggi tradizionali Attuata dai nuovi linguaggi di programmazione Spesso facilitata dall uso di pseudocodice durante la fase di design
11 Testing Trasversale e non successivo all implementazione Soltanto a diversi livelli di astrazione Ai confini delle fasi Verifica Validazione
12 Maintenance Gestire i cambiamenti dopo la consegna Migliorativa(cambiamenti nei requisiti utente) Adattiva (cambiamenti nell ambiente) Correttiva (eliminazione degli errori) Preventiva (per una migliore mantenibilità futura del sistema)
13 Distribuzione delle risorse 10% 10% 45% specification 20% 15% requirements engineering design coding testing
14 Distribuzione delle attività di maintenance Migliorativa 50% Adattiva 25 % Correttiva 21% Preventiva 4 %
15 Il Il ciclo di vita del software
16 Semplice Ciclo di vita problem Req. engineering Requirement s Specification Design Design Program Working Program Implementation Testing Maintenance
17 Semplice Ciclo di vita Basato sui documenti Gli obiettivi sono raggiunti se i relativi documenti sono stati prodotti Per esempio: specifica dei requisiti, specifica di progetto, programma, documenti di test, Problemi I commenti alla fine di ogni fase non sono presi in considerazione La maintenance non implica evoluzione Si corregge il prodotto, ma non si torna indietro nelle fasi
18 Waterfall Model Req. engineering V & V Design V & V Pure waterfall Implementation V & V Modified waterfall Testing V & V Maintenance V & V
19 Waterfall Model (cont.) Include iterazioni e feedbacks V&V alla fine di ogni fase Verifica (stiamo costruendo il sistema correttamente?) Garantire la corrispondenza tra un prodotto software e le sue specifiche) Validazione (stiamo costruendo il prodotto corretto?) Garantire la correttezza del prodotto rispetto ai suoi obiettivi I requisiti utente devono essere stabiliti il prima possibile Problemi Troppo rigido Gli sviluppatori non si possono muovere tra i diversi livelli di astrazione
20 Motivazione Prototyping La raccolta dei requisiti è un operazione molto difficile Il Software è sviluppato perché la situazione corrente è insoddisfacente Tuttavia la situazione desiderata è ancora sconosciuta Caratteristiche Il Prototyping è usato per ottenere i requisiti di alcuni aspetti del sistema Il Prototyping dovrebbe essere un processo relativamente economico Utilizzare strumenti di sviluppo rapidi (Integrated Development Environment) Non tutte le funzionalità devono essere implementate I controlli di qualità non sono richiesti
21 Prototyping: uno strumento per la raccolta dei requisiti Req. engineering Design Design Implementation Implementation Testing Testing Not ready ready Maintenance
22 Tipi di Prototyping Throwaway prototyping: l ennesimo prototipo è seguito da un processo di sviluppo waterfall-like Evolutionary prototyping: l ennesimo prototipo rappresenta il prodotto finito
23 Vantaggi del Prototyping Il sistema risultante è di facile uso I bisogni dell utente sono coperti meglio Il sistema risultante ha meno funzionalità I problemi sono rilevati prima Il design è di migliore qualità Il sistema risultante è di più facile mantenimento Lo sviluppo richiede meno risorse
24 Svantaggi del Prototyping Il sistema risultante ha meno funzionalità Le prestazioni del sistema finale sono peggiori Il design è di qualità inferiore Il sistema finale è più difficile da mantenere L approccio basato sul prototyping richiede un team con maggiore esperienza
25 Raccomandazioni sul Prototyping Gli utenti e i progettisti devono essere consapevoli dei problemi e dei possibili rischi Utilizzare il prototyping quando i requisiti non sono chiari Il prototyping deve essere pianificato e controllato
26 Una fabbrica del Software Gli sviluppatori non sono propensi a realizzare del software facile da mantenere e da riutilizzare, comporta costi addizionali Il punto di vista cambia se l obiettivo è la realizzazione di una famiglia di prodotti e non soltanto la versione iniziale di un prodotto I mezzi di un azienda che sviluppa software sono: La conoscenza condivisa da tutti gli impiegati L insieme dei prodotti parzialmente sviluppati presenti nell azienda
27 Una fabbrica del Software (cont.) Il riuso diventa importante Quindi si parla di Component-Based Software Engineering (CBSE) Sono stati fatti progressi nell area del Design per il riuso (per esempio, architetture software e modelli di progetto) Componenti software L idea di una fabbrica del software Condividere la conoscenza Condividere prodotti e/o componenti riutilizzabili
28 Paradigma object-oriented
29 Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced by Hierarchy of functions Class hierarchy
30 Cosa sono gli oggetti? Il mondo può essere percepito Punto di vista filosofico Oggetto = astrazione di un entità reale Il mondo è fatto di oggetti Gli oggetti interni nascono e muoiono Gli oggetti esterni sono eterni Punto di vista di un modello Oggetto = Identificatore + Stato + Comportamento Stato attributi variabili Comportamento operazioni Punto di vista dell ingegneria del Software Oggetto = astrazione di un entità che contiene i dati e le operazioni Costruttore e distruttore
31 Archiettura Object-oriented Organizzazione di un sistema software in termini di una collezione strutturata di oggetti Strutturata = include associazioni di Utilizzo Aggregazione ( parte di o contiene un ) Ereditarietà ( è un ) Collezione = Gli oggetti sono indipendenti dal sistema cui appartengono, perché Sono significativi e utili individualmente Riutilizzabili per sistemi differenti
32 Classi e Oggetti Classe = descrizione di un dato astratto Offre Nome Definizione della sua struttura dati Servizi per accedere alla sua struttura dati Elemento statico Oggetto = istanza di una classe Offre Identità Stato, accessibile attraverso i servizi definiti dalla classe Elemento run time
33 Classi e Oggetti (cont.) A run time Esistono solo oggetti Nel codice sorgente Esistono solo classi
34 Instanziazione Processo per la creazione di un oggetto Gli attributi sono inizializzati L istanza è assegnata ad una variabile Operatori per l instanziazione Costruttore Distruttore Dictionary language create_dictionary() insert_word() search_word() give_next_word() D1: Dictionary language = German
35 Associazioni Relazioni tra classi e tra oggetti Cardinalità delle associazioni Numero degli oggetti partecipanti 1, 0..1, M..N, *, 0..*, 1..* Tipo di associazione Numero di classi che partecipano all associazione Binaria, ternaria, N-aria
36 Aggregazione Associazione asimmetrica Criteri che implicano l aggregazione Una classe rappresenta una parte di un altra classe Gli attributi di una classe sono propagati ad un altra classe Un azione di una classe implica un azione di un altra classe Le istanze di una classe sono subordinate alle istanze di un altra classe +owner co-owner Person Building 1..* 0..* aggregate class Car Engine 1 1
37 Permette che Ereditarietà L evoluzione del Software sia comparabile con le precedenti versioni ma non è sufficiente per garantire il riuso e l estendibilità Si realizza attraverso i meccanismi di Estensione delle classi Specializzazione delle classi Combinazione delle classi
38 Ereditarietà (cont.) superclass Object Point Polygon heir subclass Triangle Rectangle Un erede Offre i servizi dell antenato Del quale rappresenta un estensione Offrendo nuovi servizi E/O una specializzazione Sfruttando le potenzialità definite dai servizi degli antenati e ridefinendoli per il loro caso specifico (polimorfismo)
39 Unified Modeling Language
40 Motivazione Perchè una notazione unificata? Potenza espressiva Completezza Consistenza
41 Il valore dell UML È uno standard aperto Supporta l intero ciclo di sviluppo del software Supporta diverse aree di applicazione É basato sull esperienza e le necessità degli utenti È supportato da molte applicazioni
42 Motivazione (cont.) Perchè una notazione con diagrammi multipli? Obiettivo Coprire più aspetti di un sistema complesso Complessità Necessario per un analisi e un design dettagliato
43 UML Modelli, Viste e Diagrammi Un diagramma è una vista in un modello Rappresenta il sistema da una certa prospettiva Fornisce una parziale rappresentazione del sistema É semanticamente consistente con le altre viste
44 Una vista architetturale Una vista architetturale è una descrizione semplificata (un astrazione) di un sistema Da una particolare prospettiva Copre alcuni aspetti Omette quelle entità che non sono rilevanti per questa prospettiva
45 La visione del Software Architect Logical View Implementation View End-user Functionality Use Case View Programmers Software management System integrators Performance Scalability Throughput Process View Conceptual Deployment View System engineering System topology Delivery, installation Communication Physical P. Kruchten, Nov The 4+1 View Model of Architecture IEEE Software
46 Quante viste? Le viste dovrebbero riguardare lo specifico contesto Non tutti i sistemi richiedono tutte le viste Un sistema può avere bisogno di viste addizionali Data view, security view,
47 Modelli, Viste e Diagrammi Static views Sequence Diagrams Use Case Diagrams Class Diagrams Object Diagrams Collaboration Diagrams Models Component Diagrams Statechart Diagrams Dynamic views Activity Diagrams Deployment Diagrams
48 Diagrammi principali Per la struttura Class diagram Object diagram Per le interazioni Sequence diagram Collaboration diagram Per gli Aspetti dinamici State diagram Per gli Aspetti fisici Component diagram Deployment diagram
49 Alcuni Riferimenti Fowler, M., Scott, K., UML distilled Second Edition a brief guide to the standard object modeling language, Addison-Wesley, 2000 Stevens P., Pooley, R., Using UML Software Engineering with Objects and Components, Addison- Wesley, 2001 (Updated Edition to UML 1.4) The Object Management Group UML Web page, online at OMG, OMG Unified Modeling Language Specification, Version 1.4, Sep. 2001, on-line at Jacobson, I., Booch, G., Rumbaugh, J., The Unified Software Development Process, Addison-Wesley, 1999.
50 Classi e Instanze di classi Class level Student ID Name matriculate() enrol 1..n 1 association Faculty Name Athenaeum open() Instance level Albert Einstein Galileo Galilei Martin L. King X X X association instances (or links) Engineering Architecture Computer Science Economics Arts
51 A quale livello appartengono i diagrammi Struttura Class diagram Object diagram Interazioni Sequence diagram Collaboration diagram Aspetti dinamici State diagram Aspetti fisici Component diagram Class level Instance level Deployment diagram Class diagram Object diagram Sequence diagram Collaboration diagram State diagram Component diagram Deployment diagram
52 Use Case Diagram
53 Analisi e Specifica dei Requisiti Attività per l analisi e la raccolta dei requisiti Studiare l ambito di un applicazione Identificare i confini e le interazioni tra l applicazione e il mondo esterno Identificazione e comprensione dei requisiti Attività per la specifica dei requisiti Specifica dei requisiti (basati su cosa e non su come) Validazione/Verifica dei requisiti specificati
54 Analisi: Metodologie Nessun metodo scientifico Linee guida, principi generali e tecniche empiriche Troppi Fattori soggettivi, Fattori umani, e Problemi di comunicazione
55 Analisi: Linee Guida L analisi dovrebbe identificare Una rappresentazione delle informazioni più significative Un modello del comportamento del software L analisi dovrebbe considerare come il sistema Sarà strutturato (dalla prospettiva utente) Fornirà le funzionalità I sistemi complessi devono essere suddivisi in modo gerarchico: L analisi è eseguita separatamente sulle differenti parti
56 Specifica: levelli di formalismo Specifica Informale Basata sul linguaggio naturale (ambiguo) Specifica Formale Basata sul linguaggio matematico Specifica mista (Semi-formale) Composta da una parte formale e una informale
57 Specifica: tipi Specifica dei dati (vista statica) Specifica del comportamento (vista dinamica)
58 Specifica: stili per il comportamento Operazionale Specifica le procedure Esempio: La lista B è ottenuta dalla lista A muovendo il più piccolo elemento di A nella prima posizione di B, il nuovo più piccolo elemento di A nella seconda posizione di B, e procedendo in questo modo finché la lista A è vuota. Descrittivo Specifica le proprietà Esempio: la lista B è una permutazione ordinata della lista A
59 Use Case Diagram Notazione semi-formale Specifica le interazioni tra il sistema e il mondo esterno Utile per Obbligare l analista ad esprimere dei confini ben definiti tra il sistema e il mondo esterno Organizzare le funzioni del sistema in elementi (use cases) sui quali focalizzare l attenzione Fornire una prima base per la specifica della struttura del sistema dal punto di vista dell utente
60 Elementi di un Use Case Diagram Actor Qualcuno (utente) o qualcosa (sistema esterno, hardware) che Scambia informazioni con il sistema Fornisce input al sistema, o riceve output dal sistema Use Case Un unità funzionale (funzionalità) parte del sistema
61 Relazioni tra Use Cases Actor Actor Use Case Use Case Interaction. Determina: Quali attori participano in un use case Dove l esecuzione inizia Use Case A <<include>> Use Case B Usage. Modella il fatto che una funzionalità selezionata è usata nel contesto di un altra funzionalità (una è la fase dell altra) Use Case A Use Case B Generalization. Definisce una funzionalità come un estensione di un altra già esistente (special case)
62 Esempio: Corsi on line All inzio del semestre la segreteria deve fornire agli studenti la lista dei corsi disponibili attraverso un sistema di registrazione on line. Ogni studente deve selezionare 4 corsi disponibili ed esprimere due possibili alternative. Ogni corso deve avere tra 3 e 20 studenti: corsi con meno di 3 studenti sono cancellati, e quelli con più di 20 sono suddivisi. All inzio i professori accedono al sistema per inserire i loro corsi nella lista, in seguito alle selezioni degli studenti loro accedono per controllare lo stato degli studenti. Dopo il periodo di selezione, il sistema crea le liste definitive, risolvendo tutte le anomalie e le manda all ufficio amministrativo che procede alla tassazione di ogni studente. Gli studenti accedono al sistema per vedere la lista dei loro corsi Tutte le interazioni utente sono autenticate
63 Esempio: Corsi on line Administrative Office Course Selection <<include>> Request Students List <<include>> Students User Authentication <<include>> <<include>> Professor Request Course List Insert Course
64 Altro esempio <<include>> Hotel Booking Check availability <<include>> Customer Acquire Customer data <<include>> Acquire Credit Card data Hotel Booking guaranteed by Credit Card
65 Class diagrams
66 Cosa è un Class Diagram Un Class Diagram descrive I tipi degli oggetti nel sistema I tipi di relazioni statiche tra di loro Disegniamo i Class Diagrams sotto tre diverse prospettive Concettuale Indipendente dal software Indipendente dal linguaggio Specificazione Focalizzati sull interfacce del software Implementazione Focalizzati sull implementazione del software
67 Class Class Name private public Window - visible - position - size + resize() + display() + hide() + move() Attributes Operations
68 Class... Sintassi degli attributi attrname : attrtype = initialvalue Sintassi delle operazioni Visibility opname (argname:argtype=defaultvalue, ):returntype <<stereotype>> ClassName publicstate : UserDef = tested privateauthor : UserDef = pam ProtectedOp(argname) : return <<Interface>> ClassInterface B <<Interface>> ClassInterface A
69 Associazioni Relazioni strutturali tra classi di oggetti Cardinalità delle associazioni 1, 0..1, M..N, *, 0..*, 1..* Tipo di relazione binaria, ternaria, N-aria
70 Notazione per la cardinalità n * m..n Esattamente n Zero o più Tra m e n (inclusi) m..* 0..1 Da m in su Zero o uno (opzionale)
71 Associazioni binarie Appello -data -materia -elencostudenti +stampa() +prenotastudente() * Si-svolge-il 4 1 Molteplicità DataAppello -giorno -mese -anno +stampa() Studente -nome -cognome -matricola +stampa() Nome della relazione frequenta 4 * +frequentante +frequentato Corso -materia -docente +stampa() Ruoli
72 Use Association Due classi sono in USE association (B usa A) se le istanze di B possono mandare messaggi alle istanze di A Un oggetto usa un altro oggetto se è capace di mandargli dei messaggi +Employer +Candidate Company hiring Person +apply() -planinterviews() * +interview() +seekjob()
73 Nomi nelle associazioni User Profile user Information 1 1 User 1 user service information Subscription 0..* 0..* Service Profile +userpreferences 0..* 0..* subscription constraints registration Terminal -Address +Type 1..* 1..* supports default 1..* 0..* Service +startservice() 1
74 Aggregation Modellare il sistema di prenotazione agli appelli dei corsi. Ogni appello include una data composta da giorno, mese, anno, ed è associato ad un corso. Dietro richiesta, si può iscrivere all appello uno studente. Il sistema permette inoltre di Spostare la data dell appello Stampare le informazioni di ogni oggetto
75 Aggregation Appello - listaprenotati - aula * * 1 Data Appello -giorno -mese -anno +stampa() +gestioneprenotaz() +sposta() +stampa() +cambiastato() * 1 * Studente -nome -cognome -matricola +stampa() +iscrivi() Corso -materia -docente +stampa()
76 Generalization Relazione di classificazione tra un elemento generale e un elemento più specifico Ereditarietà nella programmazione ad oggetti Construire una classe da un altra Codividere attributi, operazioni e vincoli
77 Specializzazione pura Window Base class (superclass) -title -position -size +resize() +move() +close() Generalization association Text Window -text Derived classes (subclasses) Image Window -image inherits from derives from is a +replacetext() +deletetext() +refresh()
78 Esempio: Gerarchia di classi Costruire le associazioni di ereditarietà tra i seguenti oggetti: Esseri Viventi Esseri Umani Fiori Animali Vegetali Commerciante Fioraio Cliente Suggerimento Raggruppare gli elementi in insiemi di classificazione e in seguito costruire la gerarchia di generalizzazione
79 Esempio: Gerarchia di classi Essere Vivente Animale Vegetale Essere Umano Fiore Commerciante Cliente Fioraio
80 Specializzazione inpura Vogliamo definire eccezioni al meccanismo della specializzazione Overriding Modificare proprietà ereditate Di solito per l implementazione di operazioni (metodi)
81 Overriding Person -name -surname +print() Employee -qualification -salary -ID Student +print() +print()
82 Ereditarietà multipla Una classe deriva da una serie di superclassi Non tutti i linguaggi di programmazione la supportano
83 Quando si usano i Class Diagrams Si usano sempre Sono alla base di tutti i metodi Object Oriented Sono alla base per i generatori di codice La prospettiva di riferimento è Modello concettuale durante la raccolta dei requisiti Modello di specifica durante il design Modelli di implementazioni per linguaggi specifici
84 Quando si usano i Class Diagrams(cont.) Non disegnare modelli per qualsiasi cosa Focalizzarsi sugli aspetti principali Non specificare troppi dettagli in una fase prematura
85 Object Diagrams
86 Object Diagrams Un object diagram mostra le istanze delle classi e i collegamenti tra di loro Un object diagram è un istantanea degli oggetti nel sistema In uno specifico momento Con uno specifico obiettivo Interazioni Sequence Diagram Scambio di messaggi Collaboration diagram Operazioni Deployment diagram
87 Un Oggetto M1: Menu window ID label : Class Name visible=true position=(10,23) size=160 Attribute values
88 Oggetti e collegamenti
89 Interazioni tra oggetti Un oggetto interagisce con un altro oggetto inviando un messaggio: per esempio, una richiesta per eseguire un operazione + una serie di parametri La ricezione del messaggio causa la selezione e l esecuzione dell operazione Regola base Delegare ad altri oggetti le operazioni che essi sono capaci di compiere Risultati Buon disaccoppiamento tra oggetti Semplicità Riutilizzo
90 Esempio: registrazione per un esame stampa Jan: Appello data materia elencostudenti stampa stampa D1:DataAppello giorno mese anno 1: Studente stampa nome N-1:Studente cognome N Studente nome matricola cognome matricola cognome matricola SoftEng: Corso nome codice
91 Interazioni tra oggetti
92 Specifica del comportamento 1)Si analizzano e descrivono gli scenari principali delle operazioni del sistema Sequence diagrams Viste parziali 2)Ci si concentra in ogni classe e si specifica il suo comportamento Tutti i coportamenti previsti e quelli critici
93 Diagrammi di interazione Sono diagrammi semi-formali che descrivono scenari di esempio per le operazioni del sistema, in termini di Oggetti e attori Messaggi scambiati e in quale ordine temporale (sequenza) Si suddividono in Sequence Diagrams Collaboration Diagrams Non sono sempre sufficienti per tenere in considerazione tutti i possibili comportamenti
94 Sequence Diagrams
95 Actor (*) Sequence Diagram Instantiated class Object : Professor :course options form :course form :course co1:course offering 1: add a course Sequence number 2: display 3: select course offering 4: add professor (professor id) 5: get professor (professor id) lifeline 6: add professor (professor) (*) Dagli Use Case Diagrams per modellare le entità esterne
96 Sequence Diagram (cont.) Modi di utilizzo Documentazione degli use cases Più vicini all utente Non molto dettagliati Frecce: eventi che possono accadere Nessuna differenza tra flusso di controllo e flusso dati Strumento di sviluppo Rappresentazione accurata delle interazioni tra gli oggetti Frecce: messaggi trasmessi Chiamate di procedure, eventi discreti, segnali Sincroni o asincroni
97 Formato dei messaggi Cancella Ritorno implicito esplicito Ricorsione X :A :B :C 1: Sync 2: Activate 3: Asynch Vincoli temporali {t -t < 2s} 4: Reflexive Pseudo-codice while x loop Condizioni di iterazione (direttamente nel messaggio) *[X]
98 Esempio: generatore di allarmi Specificare il comportamento a livello classe, per il seguente sistema Un sistema di allarme basato su un sensore genera eventi Mostra l allarme sul pannello di controllo (visibile all utente) Attiva un trasmettitore acustico Manda un segnale al servizio di monitoraggio
99 Soluzione : Sensor : Event : Control Panel : User : Acoustic Transmitter : Monitoring Service display display ring signal
100 Esempio: configurazione dell utente : User define password "Type password now" [password] : Control Panel : System : Sensor "Retype password" [password] set password configure Sensors (N) set Data get Next Sensor [ref] [sensor ID, Tel. Number] while N loop set Data
101 Collaboration Diagrams
102 Collaboration Diagrams Descrive le interazioni tra oggetti, vengono espressi Il contesto per un gruppo di oggetti (oggetti e collegamenti) L interazione tra gli oggetti 1: Go up 2 : Elevator 3: Close : Cabin : Door 2: Turn on : Light
103 Esempio: generatore di allarmi 2: display : Control Panel 3: display : Sensor 1: 9: : Event 4: 5: ring : User 6: 8: 7: signal : Acoustic Transmitter : Monitoring Service
104 Confronto Sequence diagrams Enfasi sulla sequenza Collaboration diagrams Enfasi sui collegamenti statici tra gli oggetti Entrambi Semplicità e Comunicazione Non adatti a modellare le possibili scelte alternative
105 Si Quando usare i diagrammi di interazione Per analizzare il comportamento di oggetti multipli in un use case comune Per mostrare la collaborazione tra oggetti No Per fornire un esatta descrizione delle interazioni Per analizzare il comportamento di un singolo oggetto in use cases multipli State diagram Per analizzare il comportamento su use case o flussi di esecuzione multipli Activity diagram
Paradigma object-oriented
Paradigma object-oriented Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced
DettagliUML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009
UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata
DettagliCorso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque
DettagliUML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato
Introduzione all UML UML come abbozzo UML - Unified Modeling Language E una famiglia di notazioni grafiche per la modellazione visuale del software Modellazione: rappresentazione di elementi che corrispondono
Dettagli3. Ciclo di Vita e Processi di Sviluppo
3. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 3. Ciclo di Vita e Processi di
DettagliLaboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliRichiami su oggetti e OOP
Richiami su oggetti e OOP Un oggetto (object) è una entità caratterizzata da una struttura dati alla quale si associa l insieme delle operazioni che è possibile compiere su di essa. Un oggetto può essere
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per
DettagliLaboratorio di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object
DettagliUnified Modeling Language (UML)
Unified Modeling Language (UML) Richiami dei diagrammi di base per l utilizzo nel corso di RPPI Rielaborazione delle slide proposte da M. Cossentino 1 Perchè usare la progettazione visuale? Mary Loomis,
DettagliSOMMARIO DIAGRAMMI DI SEQUENZA
SOMMARIO DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it SOMMARIO DIAGRAMMI
DettagliAlcuni diagrammi. OCL (Object Constraint Language)
UML e Java UML Alcune discipline ingegneristiche dispongono di validi mezzi di rappresentazione (schemi, diagrammi di prestazioni e consumi,...) Il software non dispone ancora di tecniche efficaci per
Dettagli2. Modellazione dei casi d uso
2. Modellazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 2. Modellazione dei casi d uso 1 / 20 Sommario
DettagliIngegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
DettagliIS Corso di Ingegneria del Software 1
Contenuti Analisi dei requisiti L attività di analisi Lo studio di fattibilità L analisi dei requisiti 2001 Corso di Ingegneria del Software Specifica dei requisiti V. Ambriola, G.A. Cignoni C. Montenegro,
DettagliIngegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
DettagliProgettazione del Sofware
Corso Serale Progettazione del Sofware Perché Modellare un Sistema Necessità di realizzare un artefatto, indipendentemente dalla sua dimensione e settore di interesse (una casa, un particolare macchinario,
DettagliINGEGNERIA DEL SOFTWARE
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea magistrale in Ingegneria informatica Anno accademico 2016/2017-1 anno INGEGNERIA DEL SOFTWARE 9 CFU - 1 semestre Docente titolare
Dettagli14. Verifica e Validazione
14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dell utente? Introdurremo i concetti di verifica e validazione Descriveremo le fasi del processo di testing Parleremo
DettagliIntroduzione. Sommario. Il software. Definizione di Ingegneria del software
Sommario Introduzione Leggere Cap. 1 Ghezzi et al. Definizione Nascita dell ingegneria del software Ruolo Relazione con altre discipline Introduzione 2 Il software Il software e` definito come: i programmi,
Dettagli1. UML 2 ed il Processo Unificato
1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario
DettagliModulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo
Modulo 16 Introduzione ai Design Patterns Partiamo da un analogia Obiettivo: costruire una casa. Tutte le case sono simili, ma non uguali, cioè: Tutte le case assolvono alla medesima funzione: offrire
Dettaglioggetti, classi e notazione UML
oggetti, classi e notazione UML 1 object orientation il paradigma object oriented è usato come linguaggio per esprimere modelli domain models design models implemenetation models ecc. tutto ciò che vedremo
DettagliObject-Oriented Programming
Object-Oriented Programming Una metodologia di programmazione che consente di modellare la realtà in modo più naturale e vicino all uomo Concetti fondamentali Oggetto Incapsulazione Messaggio Classe Ereditarietà
DettagliIngegneria del Software
Ingegneria del Software Progettazione OO Agenda Astrazione e classificazione Generalizzazione e Refactoring Riuso Interfacce e classi di utilità Patterns di progettazione GRASP Obiettivi Ottenere dei modelli
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Analisi e Progettazione OO Origini Le metodologie ad oggetti nascono negli anni 70 ma si affermano solo negli anni 80 grazie alla nascita dei linguaggi di programmazione ad oggetti
DettagliCatia Trubiani. Laboratorio di Ingegneria del Software a.a
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli Studi
DettagliUML. Una introduzione incompleta. UML: Unified Modeling Language
UML Una introduzione incompleta 1/23 UML: Unified Modeling Language Lo Unified Modeling Language (UML) è una collezione di notazioni grafiche che aiuta a progettare sistemi software, specialmente quelli
DettagliMetodologie di Programmazione. ovvero, Principi e Tecniche per la costruzione di programmi
Metodologie di Programmazione ovvero, Principi e Tecniche per la costruzione di programmi 1 In questo corso Sviluppo in piccolo: Tempi: mesi/uomo v.s. anni/uomo Strumenti: personal v.s. professional Programmazione
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliINTERAZIONE UOMO-MACCHINA
INTERAZIONE UOMO-MACCHINA Cicli di vita Barbara Rita Barricelli Stefano Valtolina Dipartimento di Informatica Università degli studi di Milano Per dubbi/domande 2 barricelli@di.unimi.it Modelli di Cicli
DettagliINTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a
INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo
DettagliTecniche di sviluppo di progetti. Lezione 4: Diagrammi UML
Tecniche di sviluppo di progetti Lezione 4: Diagrammi UML Struttura di un progetto UML Un progetto software è composto da parti, dette diagrammi UML. Ogni diagramma UML contiene un tipo ben definito di
DettagliMateriale didattico. Sommario
Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliVerifica parte IID. Test in grande. Test e modularità. Test di modulo
Test in grande Verifica parte IID Rif. Ghezzi et al. 6.3.5-6.3.6 Molte delle tecniche viste finora hanno alta complessità, o non sono automatizzabili. Possono quindi essere applicate solo a programmi piccoli,
DettagliWeb Application Engineering
Web Application Engineering analisi del dominio cristian lucchesi IIT-CNR Pescara, 15-16 Maggio 2007 Alei Ud A 1 Analisi del dominio l'obiettivo è di arrivare alla definizione sufficientemente rigorosa
DettagliINTERAZIONE UOMO-MACCHINA
INTERAZIONE UOMO-MACCHINA Cicli di vita Barbara Rita Barricelli Stefano Valtolina Dipartimento di Informatica Università degli studi di Milano Modelli di Cicli di vita 2 Mostrano come le attività sono
DettagliIntroduzione ai casi d uso
Introduzione ai casi d uso versione 16 marzo 2009 http://www.analisi-disegno.com Introduzione ai casi d uso Pag. 1 Obiettivo di questa introduzione fornire elementi di base sui casi d uso fornire indicazioni
DettagliISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI
DettagliMicrosoft Visio 2002 UML Sergio Colosio
Microsoft Visio 2002 UML Sergio Colosio Casi d uso Prima di definire un caso d uso è necessario definire cosa s intende per scenario. Uno scenario è una sequenza di passi che descrivono l interazione tra
DettagliProcesso di sviluppo. Input e output del processo di sviluppo. Ruoli nel processo di sviluppo. Architettura di deployment. Requisiti di business
Processo di sviluppo Input e output del processo di sviluppo Requisiti di business Processo WebML Architettura di deployment Moduli dell applicazione Vincoli del conteso d uso Documentazione di sistema
DettagliSistemi Informativi I Strumenti - UML
8 UNIFIED MODELING LANGUAGE (UML)...2 8.1 UN APPROCCIO VISUALE ALLA PROGETTAZIONE....2 8.1.1 I vantaggi dell utilizzo di diagrammi nella fase di progettazione....2 8.2 COS È UML...3 8.2.1 Origini e breve
DettagliUML. Unified Modeling Language (linguaggio di modellazione unificato) prof. Antonio Gervasi IIS «A.Meucci» Casarano
UML Unified Modeling Language (linguaggio di modellazione unificato) 1 Cos è UML L UML nasce negli anni 90 come unificazione di diverse metodologie di analisi. Si propone come strumento per facilitare
DettagliGestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
DettagliIngegneria del Software
Ingegneria del Software Obiettivi della lezione: Definire cosa si intende per Ingegneria del Software Discutere i concetti di prodotto software e di processo software Spiegare il concetto di visibilità
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliIngegneria del Software 3. Analisi dei requisiti. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 3. Analisi dei requisiti Dipartimento di Informatica Università di Pisa A.A. 2014/15 l attività di analisi Studiare e definire il problema da risolvere Per identificare il prodotto
DettagliAvete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION
1 Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 2 Rivediamo questo esempio di activity diagram Università
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliAnalisi e specifica dei requisiti
Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non
DettagliLEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM Laboratorio di Ingegneria del Software
DettagliSOMMARIO DESIGN PATTERN
INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 DESIGN PATTERN
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliInformatica Industriale Modello funzionale: Informazione Modello Entità-Relazione
DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/
DettagliSOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica,
DettagliProgrammazione con Java
Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale
DettagliAnalisi Orientata agli Oggetti
Generalità Concetti di base: Oggetto, Classe, Attributo, Operazione, Associazione, Aggregazione, Generalizzazione, Ereditarietà Il Diagramma delle Classi: notazione UML 1 Generalità Approccio all analisi
DettagliLab metodi programmazione. Testi. Caratteristiche di Java. Paradigmi di programmazione. Linguaggio Java Progetto
Lab metodi programmazione Linguaggio Java Progetto Testi C.S. Horstmann Computing Concepts with Java Essentials 3rd Edition, Wiley Ed. italiana: Concetti di informatica e fondamenti di Java 2 Seconda edizione,
DettagliModello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati
di basi di dati Modello Entità-Relazione concettuale logica Normalizzazione Sistemi informativi D B M G D B M G2 Modello Entità-Relazione di basi di dati di basi di dati Entità e relazioni Attributi Identificatori
DettagliD B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati
Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 1 Progettazione di basi di dati D B M G Modello
DettagliUniRoma2 - Ingegneria del Software 1 1
Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME
DettagliIngegneria del Software
Ingegneria del Software Introduzione e Concetti Fondamentali Porfirio Tramontana, 2009 Corso di Ingegneria del Software Slide 1 Riferimenti Ian Sommerville, Ingegneria del Software, Capitolo 1 Porfirio
DettagliProgettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni
LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al
DettagliUnità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione
Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere
DettagliSOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern
INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it DESIGN PATTERN
DettagliPIANO DI LAVORO. Programmazione Didattica per Competenze. Indirizzo Informatica e Telecomunicazioni. Articolazione Informatica DOCENTE:
PIANO DI LAVORO Programmazione Didattica per Competenze Indirizzo Informatica e Telecomunicazioni Articolazione Informatica DOCENTE: ITP: MATERIA: CLASSE: ORE SETTINALI: CANTARELLA ALFREDO NATALE LUIGI
DettagliMODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati MODELLI DEI DATI Prof. Alberto Postiglione
DettagliUML GML- Classi di Oggetti
UML GML- Classi di Oggetti Claudio Rocchini Istituto Geografico Militare Introduzione Per lavorare nel GIS serve sapere anche queste cose? Si, perché: I dati geografici verranno scambiato nel formato GML
DettagliINTRODUZIONE AD OMNET++
INTRODUZIONE AD OMNET++ Omnet++ OMNET++ è una piattaforma di simulazione : È utile per: Modulare: gerarchia di moduli Ad eventi Orientata agli Oggetti (in C++) Open Source Versione comm. OMNEST analizzare
DettagliCorso di Ingegneria del Software. Activity Diagram
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.
DettagliProgettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi L Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004 Docente: Prof. Wilma Penzo Progettazione di basi di dati È una delle attività del
DettagliLezione 3. Modellazione dei Dati mediante il Modello Entità Associazione (ER)
Lezione 3 Modellazione dei Dati mediante il Modello Entità Associazione (ER) 1 Sommario Esempio di Applicazione con Database (AZIENDA) Concetti del Modello ER Entità ed Attributi Entità, Istanze, Domini
DettagliCorso di Ingegneria del Software. Modelli di produzione del software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 Modelli evolutivi 2.4 Modelli agili
DettagliMetodologia di lavoro: PCM & GOPP
Metodologia di lavoro: PCM & GOPP Obiettivo del Laboratorio Approfondire le metodologie e le tecniche di progettazione nell ambito dei programmi a gestione diretta del ciclo 2014-2020 attraverso l identificazione
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il
DettagliCiclo di Vita Evolutivo
Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione
DettagliModelli di Ciclo di Vita del Software (CVS)
Modelli di Ciclo di Vita del Software (CVS) Una morfologia dell organizzazione del lavoro nelle fabbriche del software: fasi della produzione, tipi di attività, collegamento ed interfacciamento, pianificazione,
DettagliInformatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati Prof. Alberto Postiglione Università degli
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software
DettagliIngegneria del Software L-A
Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che
DettagliSistemi e modelli. Sistemi
Sistemi e modelli Obbiettivo: sviluppare metodologie e strumenti di analisi quantitativa della QoS di sistemi costruzione e soluzione di modelli per la valutazione di prestazioni e affidabilità di sistemi
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliLa programmazione ad oggetti: chiamate di metodi. Overloading. This
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.
DettagliProgrammazione = decomposizione basata su astrazioni
Programmazione = decomposizione basata su astrazioni 1 Decomposizione in moduli necessaria quando si devono sviluppare programmi abbastanza grandi decomporre il problema in sotto-problemi i moduli che
DettagliAnalisi dei Requisiti e Definizione delle Specifiche
e Definizione delle Specifiche Scopi della fase Processo di specifica dei requisiti Analisi del problema Specifica dei requisiti Caratteristiche dell SRS la Validazione delle specifiche 1 Analisi e Specifica
DettagliARCHITETTURA DI UN DBMS
ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica,
DettagliProgettazione orientata agli oggetti Introduzione a UML
Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,
DettagliSOMMARIO CATEGORIE LOGICHE UNIVERSALI
SOMMARIO Basi teoriche per la progettazione di un sistema informativo Struttura ed organizzazione della progettazione Ciclo di vita di un sistema informativo CATEGORIE LOGICHE UNIVERSALI Individuano i
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliLEZIONE 2 I LINGUAGGI DI MODELLAZIONE && UML
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 2 I LINGUAGGI DI MODELLAZIONE && UML Laboratorio di Ingegneria del Software
DettagliUML GML- Classi di Oggetti
UML GML- Classi di Oggetti Claudio Rocchini Istituto Geografico Militare 1 Introduzione Per lavorare nel GIS serve sapere anche queste cose? Si, perché: I dati geografici verranno scambiato nel formato
DettagliIngegneria del Software
Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 UML e gli Use Case Diagrams Outline Cos è UML Scopi, storia, obiettivi Fornire alcuni elementi di base su UML Introdurre
DettagliProgettazione del Software
Progettazione del Software Analisi: UML Use Cases & Documenti di Specifica Domenico Lembo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Corso di Laurea in Ingegneria
DettagliRational Unified Process Introduzione
Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un
Dettaglidiagrammi entità-relazioni
diagrammi entità-relazioni laboraorio di basi di dati Pierluigi Pierini pierluigi.pierini@technolabs.it Entità Corso Nome_ Una entità rappresenta una classe di oggetti distinti ed autonomi all interno
DettagliCentralizzata Monolitica anni Reti Client Server anni Internet The network is the computer
Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8
DettagliProgettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi T Versione elettronica: 05.progettazioneDB.pdf Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi (SI)
DettagliCorso di Ingegneria del Software. La architettura software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Il concetto e il ruolo della architettura Sommario 1. Il concetto e il ruolo della architettura 2. Tipi di architettura
Dettagli