Una metodologia per la specifica di software basato su componenti



Documenti analoghi
Una metodologia per la specifica di software a componenti

Progettaz. e sviluppo Data Base

Strumenti di modellazione. Gabriella Trucco

Programmi e Oggetti Software

4.1 Che cos è l ideazione

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

Dalla progettazione concettuale alla modellazione di dominio

ANALISI E MAPPATURA DEI PROCESSI AZIENDALI

Elementi di UML (7): Diagrammi dei componenti e di deployment

Soluzione dell esercizio del 12 Febbraio 2004

Cluster per architetture a componenti

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop

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

Scenario di Progettazione

La Metodologia adottata nel Corso

Sistemi Informativi I Caso di studio con applicazione di UML

Scenari di Deployment i. Scenari di Deployment

Informatica (Basi di Dati)

Informatica Industriale Modello funzionale Casi d uso

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A Marina Mongiello

Introduzione alla teoria dei database relazionali. Come progettare un database

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Concetti di base di ingegneria del software

Modellazione di sistema

Progettazione della componente applicativa

Automazione Industriale (scheduling+mms) scheduling+mms.

Esercitazione di Basi di Dati

Gestione del workflow

7. Architetture Software

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Corso di Informatica

Generazione Automatica di Asserzioni da Modelli di Specifica

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Progettazione di Basi di Dati

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Raggruppamenti Conti Movimenti

INNOVAZIONE XNOTTA PER PORTALI TURISTICI

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

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

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Database. Si ringrazia Marco Bertini per le slides

Alessandra Raffaetà. Basi di Dati

Esercitazione su UML Ingegneria del Software - San Pietro

Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto

Università Politecnica delle Marche. Progetto Didattico

Appendice III. Competenza e definizione della competenza

Ciclo di vita dimensionale

Progettazione : Design Pattern Creazionali

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Gestione Risorse Umane Web

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Modellazione dei dati in UML

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009

Analisi e progettazione del software AbcBid studio di caso 6 dicembre 2007 REQUISITI ITERAZIONE 1

Reti di Telecomunicazione Lezione 8

Il Dipartimento individua conoscenze, abilità e competenze in uscita nel biennio e nel triennio ripartite come segue:

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Protezione. Protezione. Protezione. Obiettivi della protezione

Specifiche Tecnico-Funzionali

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Ingegneria del Software T

Export Development Export Development

Gestione Turni. Introduzione

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Sommario. Introduzione 1

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Universita di Pisa. Sistema di back end di un porto

Introduzione alla Progettazione per Componenti

Ambient-Aware LIfeStyle tutor, Aiming at a BETter Health

Comune di San Martino Buon Albergo

Programmazione Orientata agli Oggetti in Linguaggio Java

E.S.B. Enterprise Service Bus ALLEGATO C11

Architetture basate su componenti

Architetture software

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Costruire il futuro il valore delle scelte tecnologiche

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Soluzione dell esercizio del 2 Febbraio 2004

Programmazione per la disciplina Informatica PROGRAMMAZIONE DI MATERIA: INFORMATICA SECONDO BIENNIO AMMINISTRAZIONE FINANZA E MARKETING

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE

Sistemi informativi secondo prospettive combinate

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A

Ministero della Salute

EXPLOit Content Management Data Base per documenti SGML/XML

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Il web server Apache Lezione n. 3. Introduzione

Sviluppo e Gestione dei Progetti. docente: Prof. Filippo Ghiraldo f.ghiraldo@bep.co.it

Tecniche di Prototipazione. Introduzione

Transcript:

Luca Cabibbo Architetture Software Una metodologia per la specifica di software basato su componenti Dispensa ASW 445 ottobre 2014 La mappa non è il territorio. Douglas R. King 1 -Fonti [UML Components], Cheesman, Daniels, UML Components A simple process for specifying component-based software, Addison-Wesley, 2000 [UML Components], Cheesman, Daniels, UML Components un semplice processo per la specifica di software basato su componenti, Addison-Wesley, 2002 http://www.umlcomponents.com/ [Daniels] UML Components (tutorial) http://www.omg.org/news/meetings/workshops/ presentations/uml2001_presentations/ 02-2_Daniels_Tutorial-UML_Components.pdf [PSA] Eeles, Cripps, The Process of Software Architecting, 2010 http://www.processofsoftwarearchitecting.com/ 2

Obiettivi - Obiettivi e argomenti presentare una semplice metodologia per la specifica di software basato su componenti Argomenti introduzione una metodologia per software a componenti 3 -Wordle 4

* Introduzione Un componente è un entità software runtime implementa un insieme di funzionalità offre i suoi servizi mediante un insieme di interfacce con nome (interfacce fornite) può richiedere servizi ad altri componenti, sempre sulla base di interfacce con nome (interfacce richieste) Un sistema software basato su componenti è un applicazione formata da un insieme di componenti, che vengono composti (al momento del rilascio) sulla base delle loro interfacce 5 Introduzione La progettazione di un sistema software basato su componenti in sede di specifica, è necessario scegliere quanti e quali componenti (tipi di componenti) servono quali le loro interfacce fornite e richieste ciascuna interfaccia con la specifica di un insieme di operazioni quali le interazioni tra i componenti scelti in termini di collegamenti/dipendenze tra componenti, sia di natura statiche che dinamica, con riferimento alle loro interfacce fornite/richieste in sede di deployment, è anche necessario scegliere, per ciascuno dei componenti quanti e quali componenti oggetto servono la particolare implementazione prescelta per ciascun componente 6

* Una metodologia per software a componenti La specifica di un sistema software basato su componenti è un attività complessa viene ora presentato un semplice processo introdotto in [UML Components] per la progettazione di applicazioni di tipo enterprise un processo più completo è invece descritto da [PSA] ma è fuori dalla portata di questa dispensa Le intuizioni alla base della metodologia di [UML Components] applicazione di Layers con un architettura a quattro strati, simile a quella di DDD applicazione di Domain Model usando come modelli di dominio il modello dei casi d uso e il modello delle informazioni applicazione di tecniche di progettazione del software di tipo statico e di tipo dinamico 7 - Architettura a strati Architettura a strati dell applicazione 8

Architettura a strati Interazione tra componenti 9 Architettura a strati Architettura a strati maggior dettaglio il metodo si concentra sulla specifica dei componenti nello strato dei servizi 10

- Tipologie di componenti Nello strato dei servizi, due sotto-strati e, in corrispondenza, due tipi di componenti 11 Tipologie di componenti Due tipi di componenti nello strato dei servizi componenti di sistema rappresentano casi d uso le loro interfacce interfacce di sistema definiscono e sostengono i passi dei casi d uso ( operazioni di sistema ) componenti di business implementano le funzionalità principali di business/ di dominio gestiscono le informazioni di business Questa scelta è un applicazione di Domain Model motiva il tipo di modellazione di dominio utile 12

- Modellazione di dominio Business concept model un modello concettuale delle informazioni che caratterizzano il dominio 13 Modellazione di dominio Modello dei casi d uso un modello delle funzionalità del sistema 14

Modellazione di dominio Modello dei casi d uso un modello delle funzionalità del sistema 15 - Scelta dei componenti di business Business type model un modello delle informazioni che devono essere gestite direttamente dal sistema 16

Scelta dei componenti di business Ciascun componente di business serve a gestire un tipo di dato principale nel sistema un tipo di dato principale ( core type ) è di solito caratterizzato da un esistenza autonoma e da un identificazione autonoma questi tipi possono essere identificati dal modello dei tipi di business i componenti di business sono di solito stateless In corrispondenza a questi core type, definisci un interfaccia di business di gestione un componente di business gestore 17 Scelta dei componenti di business Scelta delle interfacce di business le operazioni di queste interfacce verranno definite in seguito Scelta dei componenti di business 18

- Scelta delle interfacce di sistema Definisci un interfaccia di sistema per ciascuno dei casi d uso identificati l interfaccia di sistema per un caso d uso dichiara le operazioni di sistema corrispondenti ai passi di quel caso d uso 19 Scelta delle interfacce di sistema Definisci un interfaccia di sistema per ciascuno dei casi d uso identificati l interfaccia di sistema per un caso d uso dichiara le operazioni di sistema corrispondenti ai passi di quel caso d uso 20

- Scelta dei componenti di sistema Per i componenti di sistema sono possibili diverse alternative un unico componente di sistema per tutti i casi d uso che implementa (fornisce) tutte le interfacce di sistema un componente di sistema per ciascun caso d uso ciascuno implementa (fornisce) l interfaccia di sistema corrispondente un componente di sistema per ciascun gruppo coeso di casi d uso ad esempio, per tutti i casi d uso per un certo attore questi componenti sono di solito stateful questi componenti richiedono, in prima approssimazione, le interfacce fornite dai componenti di business Ulteriori componenti di sistema è utile definire un componente di sistema per ciascuna sottosistema pre-esistente con un interfaccia di sistema corrispondente a quella del sottosistema pre-esistente 21 Scelta dei componenti di sistema Scelta dei componenti di sistema 22

- Architettura a componenti iniziale Architettura a componenti iniziale 23 A che punto siamo? A che punto siamo con la specifica del nostro sistema software a componenti? abbiamo identificati i nomi delle interfacce di sistema e di business abbiamo identificato i componenti di sistema e di business necessari con le loro interfacce fornite e richieste (almeno, in prima approssimazione) abbiamo identificato le operazioni delle interfacce di sistema ma non le operazioni delle interfacce di business Dunque, è ancora necessario identificare le operazioni delle interfacce di business raffinare le relazioni (e le interazioni) tra componenti di sistema e componenti di business si può applicare una tecnica di progettazione dinamica 24

- Raffinamento del progetto Per identificare le operazioni delle interfacce di business e raffinare le relazioni (e le interazioni) tra componenti di sistema e componenti di business si può applicare una tecnica di progettazione dinamica per ciascun caso d uso e passo (operazione di sistema) di caso d uso, ci si chiede come fa il sistema (incarnato nei suoi componenti) a sostenere questa operazione di sistema? in corrispondenza, si identificano le interazioni tra componenti di sistema e componenti di business le operazioni delle interfacce di business 25 Progettazione dinamica 26

Progettazione dinamica 27 Raffinamento del progetto Ai fini della specifica, bisogna anche descrivere, per ciascuna interfaccia, quali sono i tipi di dati associati all interfaccia 28

Raffinamento del progetto Ai fini della specifica, bisogna anche descrivere, per ciascuna interfaccia, quali sono i tipi di dati associati all interfaccia 29 Raffinamento del progetto La specifica può anche essere dettagliata con i contratti delle operazioni delle interfacce contratti definiti in termini di pre- e post-condizioni, riferite ai tipi associati all interfaccia 30

- Discussione È stata presentata una metodologia per la specifica di un sistema software per applicazioni di tipo enterprise basato su componenti questa metodologia si basa sull applicazione dei seguenti stili architetturali e tecniche di progettazione del software Layers con un architettura a quattro strati, simile a quella di DDD Domain Model usando come modelli di dominio il modello dei casi d uso e il modello delle informazioni tecniche di progettazione del software di tipo statico e di tipo dinamico analoghe a quelle presentate nel corso di Analisi e progettazione del software ma con opportune differenze 31