Ingegneria del Software: Modelli di sistema e UML, Università di Bari

Slide dall'Università degli Studi di Bari Aldo Moro su Ingegneria del Software Modelli di sistema. Il Pdf illustra l'importanza della modellazione visuale per lo sviluppo di sistemi software, presentando esempi di diagrammi UML come quelli di sequenza e casi d'uso, per il corso di Informatica a livello universitario.

Mostra di più

35 pagine

Ingegneria del Software
Modelli di sistema
Danilo Caivano
Antonio Piccinno
2
Ingegneria del Software | Modelli di sistema
2
Software Engineering Research LABoratory
2
Modelli di sistema
PERCHÉ MODELLARE?
Non è possibile comprendere nessun
sistema nella sua totalità

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Modelli di sistema

UNIVERSITÀ DEGLI STUDI DI BARI ALDO MORO SERLAB Software Engineering Research Ingegneria del Software Modelli di sistema Danilo Caivano Antonio Piccinno Dipartimento di Informatica - Università degli Studi di Bari Via Orabona, 4 - 70125 - Bari Tel: +39.080.5443270 | Fax: +39.080.5442536 serlab.di.uniba.itModelli di sistema

Perché modellare i sistemi

506 500 Non è possibile comprendere nessun sistema nella sua totalità Software Engineering Research LABoratory 2 Ingegneria del Software | Modelli di sistema 2Modelli di sistema

  • La modellazione dei sistemi è il processo che sviluppa modelli astratti di un sistema, dove ogni modello rappresenta una differente vista o prospettiva del sistema

• I modelli sono utilizzati durante

❑ Il processo di ingegneria dei requisiti per facilitare la deduzione dettagliata dei requisiti per un sistema ❑ Il processo progettazione per descrivere il sistema agli ingegneri che lo devono implementare ❑ Dopo l'implementazione per documentare la struttura e il funzionamento del sistema Software Engineering Research LABoratory 3 Ingegneria del Software | Modelli di sistema 3Modelli di sistema

  • È possibile sviluppare modelli sia di sistemi esistenti sia di nuovi sistemi I modelli di un sistema esistente si usano durante l'ingegneria dei requisiti ▪ Servono a chiarire cosa fa il sistema e possono essere utilizzati per focalizzare la discussione degli stakeholder sui punti di forza e di debolezze del sistema

❑ I modelli di un nuovo sistema si usano durante l'ingegneria dei requisiti per descrivere con maggior chiarezza i requisiti proposti ad altri stakeholder del sistema : I modelli vengono utilizzati per discutere le proposte di progettazione e per documentare l'implementazione del sistema Software Engineering Research LABoratory 4 Ingegneria del Software | Modelli di sistema 4Modelli di sistema

  • Il modello di sistema non è una rappresentazione completa del sistema. Tralascia deliberatamente i dettagli per rendere più comprensibile il sistema
  • Un modello è un'astrazione del sistema che si sta studiando, non un'alternativa del sistema
  • È possibile sviluppare vari modelli per rappresentare il sistema da differenti prospettive

❑ Una prospettiva esterna: viene modellato il contesto o l'ambiente in cui opera il sistema ❑ Una prospettiva di interazioni: vengono modellate le interazioni tra il sistema e il suo ambiente, o tra i componenti del sistema ❑ Una prospettiva strutturale: viene modellata l'organizzazione del sistema o la struttura dei dati elaborati dal sistema ❑ Una prospettiva comportamentale: viene modellato il comportamento dinamico del sistema e le sue risposte agli eventi Software Engineering Research LABoratory 5 Ingegneria del Software | Modelli di sistema 5

UML

Unified Modeling Language OBJECTORY BOOCH OMT UML 000 Ingegneria del Software | Modelli di sistema Software Engineering Research LABoratory Grady Booch, Ivar Jacobson, Jim Rumbaugh 6 6

Unified Modeling Language: Specifiche

  • UML è un linguaggio grafico per ❑ specificare, ❑ visualizzare, ❑ costruire e ❑ documentare gli artefatti di sistemi software Software Engineering Research LABoratory 7 Ingegneria del Software | Modelli di sistema 7Unified Modeling Language

• Agevola la comunicazione tra i diversi stakeholder che partecipano allo sviluppo di un progetto software q O Z y rx th dicate 0 L Ingegneria del Software | Modelli di sistema Software Engineering Research LABoratory 8 8Unified Modeling Language

. La modellazione visuale per mezzo di diagrammi standard permette ad ogni membro del processo di sviluppo di comprendere lo stato di sviluppo del sistema, in maniera chiara ed univoca, riducendo il rischio di interpretazioni non corrette BASIC SEQUENCE DIAGRAM pls.never.forget | March 21, 2018 EVENT REQUEST WINDOW EVENT REQUEST CALENDAR renderForm() idRequest= authenticate() [sendRequest] available= checkDate() - [available] add() new Email Alert < [available] new Event BASIC USE CASE DIAGRAM pls.never.forget | March 21, 2018 Pays Deposit Supplies the Event Event Host / Customer Licensee Reviews First Draft of Guestbook Customizes Event App Wraps up the Event Sets up The Hub Record Customer Satisfaction << includes>> Follows up with Customer Event App Customizer PT Customer Relations Designs Guestbook Directs Guestbook Creation Final Edits Send to Print Guestbook Designer PT Director off Post-Event Customization 9 9 Ingegneria del Software | Modelli di sistema -- X Software Engineering Research LABoratoryUnified Modeling Language

  • Fornire la specifica di un modello indipendentemente da particolari linguaggi di programmazione e processi di sviluppo ❑ Definirlo in modo preciso, completo e privo di ambiguità _generaff immunity Edition [notfor commercial use] << com ponent>> Gestore Utente << usage>> << component>> Gestore JoinGame << component>> Gestore Turno Gestore Attacco << usage> << usage>> << component>> Gestore NewGame << component>> Gestore LoadGame << usage>> << component>> Gestore Commit Gestore Estrazione - << usage>> << usage>>? -> -- << component>> Gestore Genera zione mappa << component>> Gestore Azioni Gestore Costruzione V V Gestore Creazione Unità << com ponent>> Gestore Rendering mappa Gestore Ricerca V Gestore Attacco Costruzione Gestore Alleanza Ingegneria del Software | Modelli di sistema 10 Software Engineering Research LABoratory << usage>> Gestore Movimento << usage>> << com ponent>> Gestore Persistenza mappaUnified Modeling Language
  • Supportare i concetti di sviluppo di più alto livello come ❑ Componenti ❑ Comunicazioni ❑ Framework ❑ Pattern UTATransactionCentrode JTA SynchroricatwoListese Transactionmel Datascarce Accomor Cal PersistenceUntinta WebLogicPattern 4 LnitorilorChange Set DurahaveAccesun Datasourcecal JPOLCal storServerPlaton -ate Corcel ServerPlatfor Sessie Bag# 253701 mache Persistanceie tial atonkitiger on ChunaLoa der Connectionl'oo Seeuef Polatose feesie PersistenceProvide 4 - Persistemcelvavidtt Lerscesser 4 1 lessentrale ospi Persistence Proeddel loonThreet = Software Engineering Research LABoratory External Patsac APA Rask . Edovery Marken Entitytenageringl camactonlaicy 1 -factory Projet! Embeddable Mapped Entity Superclass Identifiable Type A Prosincetype. MAPPED_SUPERCLASS Managed Type Vw abron foosedecesso retards databene DatabaseFelfen Uns ToOneAccento maperType Oracle Platform Totry Typetrip JanyToine Acor 93 JPA 2:0 metamodal package FreeDeyect Dudde XMLObjecttussen pais Mapoed SuperdessAccess Structure Magcend inheritancel'olcy DistabaseQuery JPAQuery FourtyAccessor 4 Protes SingularAttribut 4 otribute Troraformer 4 One ToOne Mapping Greettofieldltapping CutabaseRecord ContainerMag pie DetallodityQuery DalsieadQuer 4 AmayMappe Marry ToMany Mappen DeleteNiQuer UpdateASQuery DeleteObjectQue AVA 4 A Dowe Collectillagary nadObjectQuery Headkidsery Directlastlapping Male war GuitryMechan.s DeferredLockManage - ConcurrencyManage 4 QueryOgExampleMechanism WwarLockManage -cantaubes integrityChecker Loge MetadataProject DatasourceLogi JagAttributebrig 1 Metameet Type Erdevis Colectionlyse metamodel package Internal AP 11 Ingegneria del Software | Modelli di sistema EntityType Pnoned Embedsable typetrip Mentiytkapelarager FromtyManagerfactoUML: Caratteristiche
  • Non è un linguaggio proprietario ❑ Dal 1997 l'evoluzione è a carico dell'OMG (Object Management Group) ed è soggetta a procedure ben definite per ogni cambiamento ❑ Alla stesura delle specifiche contribuiscono molti metodologi e alcune delle più importanti società mondiali di software ❑ Formalmente definito come standard

· ISO/IEC 19505-1:2012 (UML 2.4.1 Infrastructure) · ISO/IEC 19505-2:2012 (UML 2.4.1 Superstructure) Software Engineering Research LABoratory Ingegneria del Software | Modelli di sistema 12

L'UML e gli Oggetti

  • Un modello UML ha due aspetti ❑ Struttura statica: i tipi di oggetto necessari per modellare il sistema e come sono tra loro correlati ❑ Comportamento dinamico: il ciclo di vita di questi oggetti e come collaborano per fornire le funzionalità richieste al sistema . Questi due aspetti del modello UML sono complementari
  • Oggetto: rappresentazione di un oggetto fisico o concetto logico esistente nel mondo reale
  • Esempio: sportello Bancomat ❑ Carta Bancomat ❑ Conto corrente ❑ Carta moneta ❑ Scontrino Software Engineering Research LABoratory Ingegneria del Software | Modelli di sistema 13

Tre modi per applicare UML

. UML come SKETCH: diagrammi informali e incompleti che vengono creati per esplorare parti difficili dello spazio del problema o della soluzione, sfruttando l'espressività dei linguaggi visuali . UML come progetto: diagrammi di progetto relativamente dettagliati utilizzati per

❑ Il reverse engineering per visualizzare e comprendere meglio del codice esistente mediante dei diagrammi UML ❑ La generazione del codice (forward engineering) · UML come linguaggio di programmazione: il codice viene generato automaticamente. ❑ Si tratta di un approccio ancora in corso di sviluppo, in termini di teoria e di robustezza e usabilità degli strumenti Software Engineering Research LABoratory Ingegneria del Software | Modelli di sistema 14

Struttura dell'UML

r UML Costituenti fondamentali Meccanismi comuni Architettura Software Engineering Research LABoratory Ingegneria del Software | Modelli di sistema 15Struttura dell'UML

UML Costituenti fondamentali Meccanismi comuni Architettura

● Entità ● Specifiche ● Relazioni ● Ornamenti ● Diagrammi · Distinzioni comuni

● La struttura organizzativa di un sistema ● Meccanismi di estendibilità Software Engineering Research LABoratory Ingegneria del Software | Modelli di sistema 16

Entità UML

UML Costituenti fondamentali · Elementi di modellazione e possono essere suddivise in quattro categorie:

❑ Entità strutturali: modellano la struttura statica del sistema · Classe, Interfaccia, Caso d'uso, Componente, Nodo, etc. ❑ Entità comportamentali: modellano la struttura dinamica del sistema · Interazioni, attività, macchine a stati ❑ Entità di raggruppamento: . Il package, che viene utilizzato per raggruppare elementi semanticamente correlati ❑ Entità informative: l'annotazione che può essere aggiunta al modello per fornire informazioni particolari, in modo simile a un post-it Software Engineering Research LABoratory Ingegneria del Software | Modelli di sistema 17

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.