Architetture Software



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

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Implementazione di MVC. Gabriele Pellegrinetti

SWIM v2 Design Document

Approfondimenti. Contenuti

Concetti base. Impianti Informatici. Web application

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Cosa è un foglio elettronico

Architetture e applicazioni web

J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser.

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Gruppo di lavoro per la tutela delle persone con riguardo al trattamento dei dati personali. Raccomandazione 1/99

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Siti interattivi e dinamici. in poche pagine

sito web sito Internet

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Database e reti. Piero Gallo Pasquale Sirsi

Componenti Web: client-side e server-side

Sistemi informativi secondo prospettive combinate

Protocolli e architetture per WIS

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

1. BASI DI DATI: GENERALITÀ

ITI M. FARADAY Programmazione modulare a.s

Alcuni Design Pattern in Java

SOLUZIONE Web.Orders online

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A

Base di dati e sistemi informativi

Registratori di Cassa

Corso di Informatica Modulo T3 B2 - Database in rete

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

InitZero s.r.l. Via P. Calamandrei, Arezzo

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA

Corso di Informatica

SDD System design document

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. Alessandra Zullo

Esercitazioni - 2. Corso Reti ed Applicazioni Mauro Campanella Como 2003

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Collegamento remoto vending machines by do-dots

Corso di Basi di Dati e Conoscenza

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

SOMMARIO Introduzione Caratteristiche generali della piattaforma Amministrazione degli utenti 5

Database. Si ringrazia Marco Bertini per le slides

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Come funziona internet

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Client - Server. Client Web: il BROWSER

Web Application Libro Firme Autorizzate

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Strumenti di modellazione. Gabriella Trucco

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

Introduzione al Web. dott. Andrea Mazzini

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Corso Web programming

Una architettura peer-topeer per la visualizzazione 3D distribuita

Il database management system Access

TERM TALK. software per la raccolta dati

WEBsfa: l automazione della forza vendita via Web

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Caratteristiche di una LAN

lem logic enterprise manager

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

C Cloud computing Cloud storage. Prof. Maurizio Naldi

OmniAccessSuite. Plug-Ins. Ver. 1.3

MetaMAG METAMAG 1 IL PRODOTTO

Il Sistema Operativo (1)

Sistemi Informativi e Basi di Dati

Studi di Settore. Nota Operativa 22/4/2013

Corso di Informatica Modulo T3 B1 Programmazione web

Specifiche Tecnico-Funzionali

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

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

BrokerINFO La soluzione integrata per la distribuzione dei dati dei mercati finanziari. Advanced Advanced Technology Solutions

I DATABASE Database relazionale

Introduzione alle Applicazioni Web

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

L o. Walter Ambu japs: una soluzione agile (

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

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

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

GESTIONE DEL MOVIMENTO DEL PERSONALE IN AMBIENTE INTRANET. Open System s.r.l.

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

FPf per Windows 3.1. Guida all uso

Transcript:

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo Definire L architettura moderna delle applicazioni software Ing. del Sw: Architettura - 2 1

Argomenti Le componenti del sistema Applicazioni monolitiche e client-server L approccio Model-View-Controller (MVC) Ing. del Sw: Architettura - 3 Struttura base di un applicazione Interfaccia utente (grafica): presentazione dei dati e interazione con l utente Regole funzionali (logica business): le procedure che compiono le operazioni in base ai comandi ricevuti dal livello precedente Dati: su cui si deve agire e che devono essere memorizzati (durano oltre i programmi) Ing. del Sw: Architettura - 4 2

La struttura dell applicazione Interfaccia utente Logica business Dati Ing. del Sw: Architettura - 5 Il modello client-server Un programma server opera su un computer server (host) Un programma client opera su una postazione client (workstation) L utente interagisce col programma client Il programma client dialoga col server via rete Ing. del Sw: Architettura - 6 3

2-Tier Client/Server Ing. del Sw: Architettura - 7 3-Tier Client/Server Ing. del Sw: Architettura - 8 4

Multi-Tier Client/Server Ing. del Sw: Architettura - 9 Architettura Web base Web Client Web Server Application Server HTTP request HTTP response TCP/IP CGI, NSAPI, ISAPI Stream dinamico HTML DBMS Documenti HTML e immagini Template HTML + Contenuti HTML generati dinamicamente Ing. del Sw: Architettura - 10 5

Architettura Web: estensioni Primo livello Secondo livello Terzo livello Web Service Web Server Regole business client Application/ Transaction Server Quarto livello Sorgenti di dati database componenti Web Browser Enterprise Application Integration connetori sistemi legacy Ing. del Sw: Architettura - 11 L interfaccia utente Riga comandi (es. DOS, UNIX) Riga comandi/menu (es. TSO-MVS) Maschera testo (es. applicativi gestionali prime generazioni) GUI a finestre (es. Windows, Motif) GUI/Maschera Web Ing. del Sw: Architettura - 12 6

L interfaccia utente Web Maschera/tabella Web base (es. Form HTML) Lightweight client Web (es. programmi JavaScript, Flash con retroconnessione) Applet Java (es. JDE for Web, versione Java) Controllo ActiveX Ing. del Sw: Architettura - 13 Le funzioni dell interfaccia utente Gestione degli eventi dell utente Immissione dati Verifica coerenza fra dati e regole dell applicazione Visualizzazione dati (risultati elaborazione) Notifica eventi interni all applicazione Ing. del Sw: Architettura - 14 7

Le funzioni dell interfaccia utente - 2 La verifica della coerenza dati viene fatta Dalla interfaccia utente? Trasmessa ad un altro modulo e qui fatta? Quando (a fine compilazione o campo per campo)? La gestione eventi viene fatta Localmente? Da un altro modulo? Ing. del Sw: Architettura - 15 La logica business Offre le funzionalità di azioni sui dati Le funzionalità possono anche essere asincrone rispetto all intefaccia utente (avvio senza attesa bloccante) La successione degli eventi trasmessagli dalla interfaccia utente determina la successione di azioni sui dati Si connette alla base di dati Ing. del Sw: Architettura - 16 8

La base di dati Nella stragrande maggioranza dei casi è un database relazionale Non è detto che sia visto come tale dalla logica business Meccanismi trasparenti di persistenza di oggetti (es. EJB) Accesso dati in formato XML (es. Oracle, ADO-NET) Ing. del Sw: Architettura - 17 La base di dati - 2 Quasi sempre occorre una mappatura relazionale-oggetto Nei casi XML e EJB esistono sistemi automatici di ausilio alla mappatura Il database deve essere progettato a partire dall analisi a oggetti dell applicazione Ing. del Sw: Architettura - 18 9

Problematiche in applicazioni complesse Necessità di accedere alle stesse funzioni da tipi diversi di interfacce (es. approccio multi-canale) Necessità di porting di applicazioni su piattaforme diverse con il massimo riuso possibile del codice Problematiche di GUI su piattaforme diverse (tipiche di Java) Ing. del Sw: Architettura - 19 Il pattern Model View Controller (MVC) E un modo per suddividere un applicazione (o anche solo la sua l interfaccia utente) in tre parti Controller = input Model = elaborazione View = output Ing. del Sw: Architettura - 20 10

MVC: architettura teorica Ing. del Sw: Architettura - 21 MVC: separazione dei ruoli L'input dell'utente, il programma che modella i processi del dominio business la risposta visuale (testo, immagini ecc...) all'utente sono separati fra loro e gestiti rispettivamente dal modulo controller dal model dal view Ing. del Sw: Architettura - 22 11

MVC: il modulo controller Il controller interpreta gli eventi di input via tastiera o mouse dell'utente Mappa questi eventi traducendoli in comandi/segnali che invia al modello e/o al view per realizzare il cambiamento/azione richiesto Ing. del Sw: Architettura - 23 MVC: il modulo model Il model gestisce uno o più elementi dei dati Risponde alle interrogazioni relative al suo stato Reagisce alle istruzioni relative al cambio di stato Ing. del Sw: Architettura - 24 12

MVC: il modulo view Il view (detto anche viewport) gestisce un'area del display E' responsabile della presentazione dei dati all'utente attraverso un'apposita combinazione di elementi grafici e testuali Ing. del Sw: Architettura - 25 MVC: approfondimenti sul model Il model viene usato per trattare le informazioni per notificare gli osservatori (ossia i moduli view che mostrano i dati all'utente) quando le informazioni cambiano (es. il news ticker di borsa) Ing. del Sw: Architettura - 26 13

MVC: approfondimenti sul model Il model contiene soltanto dati e funzionalità legate da uno scopo comune Per mettere assieme due gruppi di dati e funzionalità non in relazione tra loro sarebbe bene creare due model separati, uno per ciascuno di essi. Ing. del Sw: Architettura - 27 MVC: approfondimenti sul model Possiamo considerare il model come il risultato di una analisi modellazione ed adattamento al mondo informatico del mondo reale Ing. del Sw: Architettura - 28 14

MVC: approfondimenti sul model Ovvero come una "approssimazione" computazionale di un sistema o processo del mondo reale (o meglio del dominio di business) Ing. del Sw: Architettura - 29 MVC: approfondimenti sul model Il model contiene quindi non solo lo stato del sistema reale ma anche i suoi principali processi di funzionamento Ing. del Sw: Architettura - 30 15

MVC: approfondimenti sul model In pratica quindi in un'applicazione ad oggetti il model è l'insieme dei componenti interni dell'applicazione, risultanti dalla proiezione sotto forma di classi ed oggetti entro il dominio software delle entità del dominio di business e delle loro relazioni Ing. del Sw: Architettura - 31 MVC: approfondimenti sul model In particolare si può pensare ad un model che crea un ponte fra un sistema informatico e la interfaccia utente In questo scenario il modello "avvolge" ed astrae le funzionalità del sistema(software o hardware) e agisce da collegamento con il mondo esterno ovvero l'interfaccia utente Ing. del Sw: Architettura - 32 16

MVC: approfondimenti sul controller Il controller è il modulo attraverso cui l'utente interagisce con l'applicazione Un controller riceve l'input dall'utente ed istruisce il model e il view a compiere le azioni associate a tale input Il controller è responsabile di mappare le azioni dell'utente sulle risposte dell'applicazione Ing. del Sw: Architettura - 33 MVC: approfondimenti sul view Il view ha lo scopo di mappare una visualizzazione (grafica o no) su un dispositivo di output Tipicamente il view ha una corrispondenza con le caratteristiche del dispositivo e sa come rappresentare i dati su di esso Il view si aggancia ad un model e visualizza i suoi contenuti sul dispositivo di output Ing. del Sw: Architettura - 34 17

MVC: approfondimenti sul view In più, quando il model cambia, il view automaticamente aggiorna le parti corrispondenti della visualizzazione, in modo da rendere visibili tali cambiamenti Ing. del Sw: Architettura - 35 MVC: approfondimenti sul view Per lo stesso model possono esistere diversi view e ciascuno di essi può visualizzare gli stessi dati su dispositivi di output diversi in modo diverso Un view inoltre può essere composito, ovvero formato da vari sub-view, eventualmente a loro volta compositi Ing. del Sw: Architettura - 36 18

MVC: approfondimenti sul view Model: dati meteo CD Ffff ffff fffffffffffffffff Braille Printer Graphic Reports Internet News Ticker Frankfurt: Wind 4 WNW / Rain / 22 C Ing. del Sw: Architettura - 37 Scomposizione in elementi tecnici Interfacce verso altri sistemi Interfacce utente (es. GUI, Web) Logica di business Base di dati Ing. del Sw: Architettura - 38 19

Descrizioni delle interfacce Interfacce verso altri sistemi Titolo Descrizione (breve) Elenco dei metodi Elenco dei possibili errori Interfacce utente (es. GUI, Web) Prototipo di analisi O schematic Ing. del Sw: Architettura - 39 Descrizioni della logica di business Titolo Descrizione (breve) Relazione con altri controller Relazione con le entità Elenco dei metodi Elenco degli errori Modello a oggetti Osservazioni Ing. del Sw: Architettura - 40 20

Descrizioni della base di dati Titolo Attributi Metodi Possibili errori Relazioni Generalizzazione/specializzazione Consistenza Ing. del Sw: Architettura - 41 Sommario Le componenti del sistema Applicazioni monolitiche e client-server L approccio Model-View-Controller (MVC) Ing. del Sw: Architettura - 42 21