Ingegneria del Software: Modelli di sistema
16 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è lo scopo del diagramma delle classi in UML?

  • Rappresentare le attività e i processi nel sistema
  • Descrivere gli scenari di interazione tra gli utenti e il sistema
  • Documentare l'organizzazione del software su larga scala
  • Mostrare le classi e le relazioni tra di loro (correct)
  • Cosa rappresenta una relazione di dipendenza in un modello UML?

    L'elemento sorgente dipende dall'elemento di destinazione e può essere influenzato dai cambiamenti eseguiti su di esso.

    Il diagramma delle __________ mostra il flusso di lavoro nell'organizzazione e i punti di interazione tra il software e gli esseri umani.

    attività

    Perché è importante modellare i sistemi secondo il testo fornito?

    <p>Per facilitare la deduzione dettagliata dei requisiti</p> Signup and view all the answers

    Cosa rappresenta un modello di sistema secondo il testo?

    <p>un'astrazione del sistema in studio</p> Signup and view all the answers

    UML è un linguaggio grafico per documentare e costruire artefatti di sistemi software.

    <p>True</p> Signup and view all the answers

    UML agevola la comunicazione tra i diversi ___________ che partecipano allo sviluppo di un progetto software.

    <p>stakeholder</p> Signup and view all the answers

    Abbina le seguenti prospettive di modellazione con le relative descrizioni:

    <p>Prospettiva esterna = Modellare il contesto o l'ambiente in cui opera il sistema Prospettiva di interazioni = Modellare le interazioni tra il sistema e il suo ambiente o tra i componenti del sistema Prospettiva strutturale = Modellare l'organizzazione del sistema o la struttura dei dati elaborati Prospettiva comportamentale = Modellare il comportamento dinamico del sistema e le sue risposte agli eventi</p> Signup and view all the answers

    Quale scopo serve il diagramma di deployment?

    <p>Visualizzare la distribuzione fisica del sistema</p> Signup and view all the answers

    Per cosa è utile il diagramma di stato?

    <p>Per visualizzare un'entità con cicli di vita interessanti che può assumere vari stati diversi.</p> Signup and view all the answers

    I modelli UML possiedono almeno due dimensioni: una grafica che consente di visualizzare il modello utilizzando diagrammi e icone e una _________ costituita dalle specifiche dei vari elementi di modellazione.

    <p>testuale</p> Signup and view all the answers

    Il substrato semantico costituisce il vero contenuto del modello UML.

    <p>True</p> Signup and view all the answers

    Cos'è un attore in ingegneria del software?

    <p>Un ruolo o un insieme di ruoli che qualcuno o qualcosa, esterno al sistema, svolge nell'interagire con il sistema.</p> Signup and view all the answers

    Cosa definisce l'interfaccia di un elemento in ingegneria del software?

    <p>L'insieme di servizi che l'elemento è in grado di fornire</p> Signup and view all the answers

    Le classi descrivono un insieme di oggetti con caratteristiche simili. (Vero/Falso)

    <p>False</p> Signup and view all the answers

    Le componenti di un sistema incapsulano i suoi contenuti e sono ___________.

    <p>modulari</p> Signup and view all the answers

    Study Notes

    Modelli di sistema

    • La modellazione dei sistemi è il processo che sviluppa modelli astratti di un sistema, rappresentando diverse viste o prospettive 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 di progettazione per descrivere il sistema agli ingegneri che lo devono implementare.
      • Dopo l'implementazione per documentare la struttura e il funzionamento del sistema.

    Perché modellare?

    • Non è possibile comprendere nessun sistema nella sua totalità.
    • La modellazione dei sistemi aiuta a comprendere il sistema nella sua totalità.

    Modelli 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 per 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.

    Caratteristiche del modello 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 diverse prospettive.

    Prospettive del modello di sistema

    • 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.

    UML

    • UML (Unified Modeling Language) è un linguaggio grafico per specificare, visualizzare, costruire e documentare gli artefatti di sistemi software.
    • Agevola la comunicazione tra i diversi stakeholder che partecipano allo sviluppo di un progetto software.
    • 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.

    Caratteristiche dell'UML

    • Non è un linguaggio proprietario.
    • È soggetta a procedure ben definite per ogni cambiamento.
    • Formalmente definito come standard.
    • Supporta i concetti di sviluppo di più alto livello come componenti, comunicazioni, framework, pattern.

    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.
    • UML come progetto: diagrammi di progetto relativamente dettagliati utilizzati per il reverse engineering o la generazione del codice.
    • UML come linguaggio di programmazione: il codice viene generato automaticamente.

    Struttura dell'UML

    • Costituenti fondamentali:
      • Entità
      • Relazioni
      • Diagrammi
    • Meccanismi comuni:
      • Specifiche
      • Ornamenti
      • Distinzioni comuni
      • Meccanismi di estendibilità
    • Architettura:
      • La struttura organizzativa di un sistema

    Entità

    • Elementi di modellazione e possono essere suddivise in quattro categorie:
      • Entità strutturali: modellano la struttura statica del sistema
      • Entità comportamentali: modellano la struttura dinamica del sistema
      • 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

    Relazioni

    • Mostrano come due o più entità sono correlate tra loro
    • Consentono di fissare i legami significativi (semantici) tra gli elementi
    • Tipo di relazione:
      • Dipendenza
      • Associazione
      • Aggregazione
      • Composizione
      • Contenimento
      • Generalizzazione
      • Realizzazione### Modelli di sistema
    • I diagrammi di deployment servono come contesto per i casi d'uso e visualizzano la distribuzione fisica del sistema.
    • I diagrammi di stato sono utili quando un'entità ha un ciclo di vita interessante e può assumere più stati diversi che cambiano al verificarsi di determinati eventi.

    Meccanismi comuni

    • I modelli UML possiedono almeno due dimensioni:
      • Grafica, che consente di visualizzare il modello utilizzando diagrammi e icone
      • Testuale, costituita dalle specifiche dei vari elementi di modellazione
    • Le specifiche costituiscono il vero "contenuto" del modello, quel substrato semantico che tiene insieme il modello e lo riempie di significato.

    Specifiche

    • La classe ContoBancario non dà alcuna informazione sul significato funzionale con la sola rappresentazione grafica.
    • La classe ContoBancario ha attributi come numero, proprietario, saldo, e metodi come prelievo(), calcolaInteressi() e deposito().

    Ornamenti

    • Ogni elemento di modellazione viene rappresentato da un simbolo a cui è possibile aggiungere degli ornamenti che rendono visibili gli aspetti particolari della specifica dell'elemento.
    • Esempi di ornamenti sono {autore=gianni, stato=testato}, +dimensioni: rettangolo = (100, 100), #visibile: Booleano=falso.

    Distinzioni comuni

    • Le distinzioni comuni descrivono i diversi modi di ragionare sul mondo che ci circonda.
    • Esempi di distinzioni comuni sono:
      • Classificatore e istanza
      • Interfaccia e implementazione

    Meccanismi di estendibilità

    • L'UML incorpora tre meccanismi di estendibilità:
      • Vincoli: definisce una condizione o una regola che riguarda l'elemento di modellazione e che deve risultare sempre vera
      • Stereotipi: definiscono un nuovo elemento di modellazione UML basandosi su uno esistente
      • Valori etichettati: permettono di estendere la definizione di un elemento

    Architettura

    • La struttura organizzativa di un sistema, inclusa la sua scomposizione in parti, la loro connettività, l'interazione, i meccanismi e i principi guida che insieme formano il progetto del sistema stesso.
    • La tecnica "4+1 Viste" di Philippe Kruchten è una delle muchas tecniche per descrivere un'architettura.
    • Le cinque viste sono:
      • Vista logica: come gli oggetti e le classi che compongono il sistema implementano il comportamento richiesto al sistema
      • Vista dei processi: modella i thread e i processi del sistema
      • Vista di implementazione: illustra il sistema dal punto di vista del programmatore
      • Vista di deployment: descrive come le componenti del sistema software sono mappate sulla struttura hardware
      • Vista dei casi d'uso: tutte le altre viste derivano dalla vista dei casi d'uso

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Scopri i modelli di sistema nell'ingegneria del software, comprendi perché è importante modellare i sistemi

    More Like This

    System Design Fundamentals
    15 questions

    System Design Fundamentals

    InexpensiveLogarithm avatar
    InexpensiveLogarithm
    Software Engineering Chapter 3
    24 questions
    Use Quizgecko on...
    Browser
    Browser