Università degli studi dell Aquila Sistemi informativi aziendali Ing. Gaetanino Paolone (gaetanino.paolone@univaq.it)
Contenuti Il Business Modelling. Analisi e Definizione dei Requisiti. Analisi Concettuale. Progettazione. Realizzazione e verifca.
Business Modeling: quando 1. Progettazione di un nuovo Sistema Informativo per una nuova azienda. 2. Reingegnerizzazione di un Sistema Informativo esistente: Ottimizzazione dei flussi informativi. Estensione del sistema azienda. 3. Automazione del Sistema Informativo di una azienda.
Obiettivo del Business Modeling L obiettivo del Business Modelling è la realizzazione di modelli del dominio del problema che descrivano logicamente la proposta di soluzione del sistema (il cosa deve fare) che sarà dettagliata e realizzata durante la progettazione e la realizzazione. Vengono prodotti degli elaborati (diagrammi statici e dinamici, per esempio rappresentati con la notazione UML) che costituiscono una rappresentazione del problema che deve essere risolto.
Approcci al Business Modeling Other approaches Business Process Modeling Language Unified Modeling Language Business Analysis System Analysis Our approach Unified Modeling Language
Business Modeling Quando gli elaborati sono completati, relativamente all iterazione alla quale di sta lavorando, il modello globale viene verificato: eseguendo il sistema sulla carta avvalendosi del consiglio di esperti del dominio.
Piano metodologico Permette la definizione di: 1. Attività da svolgere. 2. Modelli da utilizzare. 3. Elaborati da produrre. Rappresenta il riferimento per lo sviluppo di un progetto.
Piano metodologico di riferimento Disciplina Modello Elaborato Business Modeling Linguaggio naturale UML Organization Unit Diagram Business System diagram Business Use Case diagrams Business Use Case Realization diagrams Business Objects diagram Activity diagrams Documento di Visione Analisi e definizione dei requisiti Analisi concettuale Progettazione Realizzazione Verifica Business Modelling: stessi elaborati per un progetto di creazione, reingegnerizzazione ad automazione di un Sistema Informativo Aziendale
Piano per la progettazione del Sistema Informativo Aziendale 1. Business Modeling: Business Modeling. Analisi e definizione dei requisiti. 2. Realizzazione del progetto.
Business Modeling: quando 1. Progettazione di un nuovo Sistema Informativo per una nuova azienda. (Business Modeling è una attività progettuale) 1. Reingegnerizzazione di un Sistema Informativo esistente: Ottimizzazione dei flussi informativi. Estensione del sistema azienda. (Business Modeling è una attività di mera rilevazione prima e di progettazione dopo) 2. Automazione del Sistema Informativo di una azienda. (Business Modeling è solo una attività di mera rilevazione)
Business Modelling: come 1. Definizione delle Organization Unit. 2. Per ogni Organization Unit Business Systems di livello 1. 3. Per ogni Business System di livello i Business Systems di livello i+1 fino al grado k. 4. Per ogni Business System di livello K Classi di Attori. 5. Per ogni Classe di Attori Business Use Cases (BUCs), attraverso l individuazione dei Business Goals. 6. Per ogni Business Use Case Business Use Cases Realization (BUCRs). Business Objects
Business Modeling La rappresentazione dei processi di business. Diagrammi delle attività a due livelli di astrazione Relazione tra elementi comportamentali e strutturali del business. Matrice di corrispondenza Diagrammi di sequenza
Business Modeling Diagramma delle attività per i processi di business. Diagramma delle attività per ogni Business Use Case.
Business Modeling (punto di partenza) Enterprise Department 1 Department n Organization Unit Business System
Business Systems Decomposition Degree: 1 2 k
The Methodology The methodological process pre-determined planning steps rigid structure implies a given starting point precise design path A methodological process adapts well to the particular environment for which it has been defined for The methodology flexible structure various starting points more products of different type Methodology must allow the completing of different methodological processes; in this case, the methodology gains generality and real applicability
An incremental and iterative Methodology IN Activity Phase 1 Activity Activity <<refine>> Activity Phase 2 Activity OUT Activity Activity Activity
Business Use-Case Modeling Phase1: Business Use-Case Modeling Define Organizations Units IN Activity Phase 1 Business Actors Activity Activity GOALS Business Use Case Activity BUC Actors Goals These activities aren t sequential but they are iterative and incremental Next Phase BUC Diagrams
Business Modeling Business Use Case Model Phase2: Business Modeling IN Phase 2 Business Use Case Realization Activity For each Business Use Case 1 0..* Activity 0..1 Activity 1: 5: Activity 2: 3: 4: These activities aren t sequential but they are iterative and incremental Documentation Next Phase BUCR Diagrams
Business Modeling BUC 0 BUC 1 BUC 2 BActivity0 {BO 1, BO 2 } C1= BActivity1 {BO 1, BO 3, BO 4 } {BO 2, BO 5 } BActivity2 {BO 2, BO 3 } BActivity3 {BO 3 } {BO 1, BO 4 } {BO 5 }
Business Modeling Una matrice di corrispondenza (C2) per ogni BUC BUCR 0 BUCR 1 BUCR 2 DActivity 0 {BO 2 } {BO 2, BO 5 } C2 = DActivity 1 {BO 1, BO 4 } DActivity 2 {BO 1, BO 3, BO 6 } {BO 5 }
Piano metodologico 1. Permette la definizione di: Attività da svolgere. Modelli da utilizzare. Elaborati da produrre. 2. Rappresenta il riferimento per lo sviluppo di un progetto.
Piano metodologico di riferimento: automazione Disciplina Modello Elaborato Business Modeling Linguaggio naturale UML Analisi e definizione dei requisiti Linguaggio naturale UML Trace Diagram: Class Trace Diagram: Use Case Trace Diagram: Use Case Realization Trace Diagram: Actors Use Cases Realization Diagram - Actors Documento dei Requisiti Analisi concettuale Progettazione Realizzazione Verifica
Tracciabilità fra Requisiti e Use Case Durante l analisi e definizione dei requisiti, è importante capire se qualche requisito non è stato considerato nel modello degli use case e, viceversa, se c è qualche use case che non corrisponde a nessun requisito. La verifica si può fare velocemente tramite una tabella di mapping fra requisiti e use case. Requisito Use case UC1 UC2 UC3 UC4 R1 X X R2 X R3 X X R4 X
Analisi e Definizione dei requisiti: come 1. Ritagliare la porzione di Business model di interesse per l automazione. 2. Effettuare l operazione di trace: 1. Classi 2. BUC 3. BUCR 4. Actors 3. Costruire i BUCRs diagram (n viste o diagrammi)
Piano metodologico di riferimento: automazione Disciplina Modello Elaborato Business Modeling Linguaggio naturale UML Analisi e definizione dei requisiti Linguaggio naturale UML Analisi concettuale Linguaggio naturale UML Modello E-R Prototyping Diagrammi di Sequenza di I livello Diagramma delle Classi View Diagramma delle Classi (Attributi) Diagramma Entità-Relazioni Prototipo Documento di Analisi Progettazione Realizzazione Verifica
Business Modeling System Modeling RUP <trace> <realize> <realize> CIM <trace> CIM <realize> <realize> PIM PIM <trace>
Business Modeling System Modeling RUP <trace> CIM <trace> CIM <trace> PIM PIM <trace>
Approccio metodologico RUP Approccio metodologico proposto <<communicate>> Gestione Documento <<communicate>> <<communicate>> <<communicate>> Banca Gestione Prodotto/Servizio ICCREA Responsabile (from Actors) <<communicate>> (from Actors) <<trace>> Gestione Modello di Documento Gestione Documento Gestione Struttura <<realize>> <<realize>> <<realize>> <<realize>> <<realize>> Business Modeling Smistamento Documento (from Documento) Gestione Struttura Fisica (from Area Aziendale) Gestione Area Aziendale (from Area Aziendale) <<realize>> <<realize>> System Modeling <<trace>> Caricamento Documento ICCREA Acquisitore (from Actors) <<trace>> ICCREA Responsabile Smistamento Documento (from Actors) Validazione Documento Acquisizione Documento (from Documento) <<realize>> <<realize>> <<realize>> <<realize>> GestioneFascicoli <<include>> <<include>> Allega File <<extend>> AcquisizioneDocumento
System Modeling Code Modeling RUP PIM PIM PSM code UseCaseRealization? Class PSM code
Summary of methodology
Bank Document Management System Bank Administration Unit Document Management
Business Modeling: activity diagram I
Document Management: Business Goals <support> Fast retrieval of docs Document Management <support> Filing of documents
Document Management: BUCRs Document Management
Business Modeling: activity diagram II
Document Management: Double Tracing <realize> Document Acquisition <realize> <trace> Internal Document Acquisition Document from supplier <trace> <realize> Document Acquisition <realize> <realize> <trace> <extend> <extend> Internal Document Acquisition Link File Document from supplier
Business Modeling
Business Modeling
Prototyping IKIWISI I ll know it when I see it
Prototyping È l implementazione parziale di un sistema con lo scopo di aiutare a capire meglio i requisiti sia agli utenti che agli sviluppatori Scopi Tipologie Chiarire e completare i requisiti Esplorare alternative progettuali Sviluppare il prodotto finale Prototipi orizzontali Prototipi verticali Usa e getta Evolutivi
Prototyping Usa e getta Evolutivo Orizzontale Verticale serve per dimostrare i casi d uso che l utente potrebbe avere a disposizione, chiarire e raffinare i requisiti utente per esplorare e valutare il look and feel (interfaccia utente e struttura della navigazione) per dimostrare la fattibilità tecnica di una soluzione implementa i processi chiave implementa processi aggiuntivi solo sulla base di priorità assegnate adegua il sistema velocemente alle necessità del business implementa i processi su più livelli architetturali progressivamente implementa e ottimizza algoritmi complessi test e tuning delle performance
Fattori Critici per il Successo della Prototipazione Stabilire, condividere e comunicare al cliente il tipo e l obiettivo del prototipo prima della sua realizzazione Considerare le attività prototipali parte del piano di progetto Valutare la realizzazione di più prototipi Non prototipare i requisiti che sono già chiari nei prototipi usa e getta Un prototipo non sostituisce completamente la specifica dei requisiti Creare i prototipi usa e getta nel modo più economico e veloce possibile
Progettazione del Software Definizione dell architettura del sistema individuazione dei sottosistemi descrizione delle interfacce dei sottosistemi individuazione dei componenti software descrizione delle interfacce dei componenti individuazione dei nodi di elaborazione Individuazione delle classi di progettazione e delle relazioni Descrizione della dinamica fra i componenti e fra le classi Allocazione delle classi di progettazione nei componenti Allocazione dei componenti nei sottosistemi Definizione del modello di deployment
La Babele delle Architetture Il concetto di architettura è usato talmente in tante diverse accezioni che risulta privo di senso se non lo si contestualizza. Tipologie di architetture: architettura funzionale architettura dei dati architettura stratificata architettura multi-tier architettura orientata a oggetti architettura basata su componenti architettura web architettura orientata ai servizi
Cos'è un'architettura del Software L'architettura software di un programma o di un'applicazione è l'insieme: degli elementi software strutturali delle proprietà degli elementi visibili esternamente delle relazioni fra gli elementi. Gli elementi che stanno diventando sempre più importanti per le architetture sono: i pattern e gli stili architetturali Un pattern è una "idea" che è stata provata positivamente in un contesto pratico e che probabilmente sarà utile in altri
Lo Stile Architetturale Uno "Stile architetturale" è l'insieme: delle proprietà dei vincoli delle linee guida delle decisioni progettuali da seguire per la realizzazione delle strutture e delle interconnessioni all'interno dei componenti e fra i componenti. I principali stili architetturali di riferimento per le applicazioni software distribuite sono: architettura basata sulle risorse Resource-Oriented Architecture (web) architettura basata su componenti Component-Based Architecture architettura basata sui servizi Service-Oriented Architecture. Architettura Gotica
Stile Architetturale Orvieto, Duomo Milano, Duomo Ecco cosa vuol dire seguire uno stile architetturale!
Architettura MVC Model Incapsula le logiche di business e la rappresentazione delle informazioni View Gestisce l interfaccia utente dell applicazione Controller Coordina l interazione tra Model e View e gestisce le azioni dell utente
The software architecture
Piano metodologico di riferimento: automazione Disciplina Modello Elaborato Business Modeling Analisi e definizione dei requisiti Analisi concettuale Progettazione Realizzazione Verifica Linguaggio naturale UML Linguaggio naturale UML Linguaggio naturale UML Modello E-R Prototyping Linguaggio naturale UML Modello Relazionale Prototyping Ambiente di sviluppo Linguaggio di programmazione Diagrammi di Sequenza di II livello Diagramma delle Classi View Diagramma delle Classi (Attributi e metodi) Diagramma delle classi controller Diagramma delle classi Entity Diagramma Logico dei Dati Prototipo Documento di Progettazione
Creazione di un nuovo Sistema Informativo Aziendale Rimangono le stesse discipline? Disciplina Modello Elaborato Business Modeling Analisi e definizione dei requisiti Analisi concettuale Progettazione Realizzazione Verifica
Business Modeling Pre-condizione: modello organizzativo aziendale Il Business Modelling è parte integrante della progettazione del sistema organizzativo aziendale Stessi elaborati: Organization Unit Diagram Business System diagram Business Use Case diagrams Business Use Case Realization diagrams Business Objects diagram Activity diagrams Documento di Visione No rilevazione Ma progettazione
Analisi e Definizione dei requisiti Requisiti: specifica del sistema informativo aziendale da realizzare. Obiettivi: specifica dei requisiti; analisi delle parti di sistema informativo da automatizzare (make or buy); a. adeguamento del business model a soluzioni informatiche esistenti; b. attuazione di un processo metodologico per lo sviluppo di un progetto informatico.
Analisi e Definizione dei requisiti: come? Definizione delle Organization Unit. Per ogni Organization Unit Business Systems di livello 1. Per ogni Business System di livello i Business Systems di livello i+1 fino al grado k. Per ogni Business System di livello K Classi di Attori. Per ogni Classe di Attori Business Use Cases (BUCs), attraverso l individuazione dei Business Goals. Per ogni Business Use Case Business Use Cases Realization (BUCRs). per ogni sottosistema da automatizzare: make or buy? Automazione: a qualsiasi livello
Analisi e Definizione dei requisiti: come? Per ogni soluzione informatica acquistata: verifica di adeguamento dei requisiti; e quindi del business model. Per ogni soluzione informatica da realizzare: verifica della porzione di business model; e quindi attuazione di un processo di automazione.
Piano metodologico di riferimento: creazione Disciplina Modello Elaborato Business Modeling Linguaggio naturale UML Analisi e definizione dei requisiti Linguaggio naturale UML Trace Diagram (make and buy): Class Trace Diagram (make and buy): Use Case Trace Diagram (make and buy): Use Case Realization Trace Diagram (make and buy): Actors Use Cace Realization Diagram Actor Diagrammi di business mdel rivisitati Documento dei Requisiti Analisi concettuale Progettazione Realizzazione Verifica
Analisi concettuale Fasi: 1. Analisi concettuale relativa alle parti da automatizzare con sviluppo di software. 2. Analisi concettuale relativa alle parti da automatizzare con acquisto di software. 3. Analisi concettuale relativa alle parti da non automatizzare.
Analisi concettuale: come? Fasi: 1. Analisi concettuale relativa alle parti da automatizzare con sviluppo di software. (identica al processo di automazione) 2. Analisi concettuale relativa alle parti da automatizzare con acquisto di software. (analoga al processo di automazione: verifica della corrispondenza tra modelli attesi e soluzione informatica) 3. Analisi concettuale relativa alle parti da non automatizzare.
Piano metodologico di riferimento: creazione Disciplina Modello Elaborato Business Modeling Linguaggio naturale UML Analisi e definizione dei requisiti Analisi concettuale Progettazione Realizzazione Verifica Linguaggio naturale UML Linguaggio naturale UML Linguaggio naturale UML Linguaggio naturale Elaborati per l'automazione Sequence diagram dei casi d'uso non automatizati Class Diagram Activity Diagram Modulistica Documento di Analisi Architettura informativa Activity Diagram Modulistica Elaborati per l'automazione Architettura informativa Modulistica
Reingegnerizzazione del Sistema Informativo Aziendale Quando? I flussi non sono ben definiti. Costi elevati di produzione dell'informazione. Costi elevati di fruizione dell'informazione. Introduzione di un nuovo sottosistema. o semplicemente quando si è in presenza di un nuova strategia...
Reingegnerizzazione di un Sistema Informativo Aziendale Rimangono le stesse discipline? Disciplina Modello Elaborato Business Modeling Linguaggio naturale UML Organization Unit Diagram Business System diagram Business Use Case diagrams Business Use Case Realization diagrams Business Objects diagram Activity diagrams Documento di Visione Analisi e definizione dei requisiti Linguaggio naturale UML Use Case Realization Diagram - Actor Documento dei Requisiti Business Model Design Linguaggio naturale UML Realizzazione e verifica Automazione????
Reingegnerizzazione di un Sistema Informativo Aziendale Business Modeling come rilevazione della situazione esistente Analisi e definizione dei requisiti di intervento
Reingegnerizzazione di un Sistema Informativo Aziendale Elaborati della progettazione di Business? Disciplina Modello Elaborato Business Modeling Linguaggio naturale UML Analisi e definizione dei requisiti Linguaggio naturale UML Business Model Design Linguaggio naturale UML Organization Unit Diagram Business System diagram Business Use Case diagrams Business Use Case Realization diagrams Business Objects diagram Activity diagrams Use Case Realization Diagram - Actor Documento di Progettazione Realizzazione e verifica Automazione????