Ingegneria del Software: Introduzione e principi
40 Questions
2 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 è la principale focale dell'ingegneria del software?

  • Creare nuovi algoritmi per la programmazione
  • Automatizzare completamente il processo di sviluppo software
  • Ridurre il costo delle attrezzature informatiche
  • Sviluppare software di grandi dimensioni tramite metodi e tecniche avanzate (correct)
  • Quale dei seguenti principi non è associato all'ingegneria del software?

  • Modularità
  • Astrazione
  • Incrementalità
  • Macchinazione (correct)
  • Che cosa rappresenta un metodo nell'ingegneria del software?

  • Una procedura per risolvere problemi specifici (correct)
  • Un concetto generale utilizzato in ingegneria
  • Un approccio filosofico allo sviluppo software
  • Un insieme di strumenti utilizzati per lo sviluppo
  • Cosa caratterizza l'approccio di modularità nell'ingegneria del software?

    <p>Suddividere un sistema complesso in parti più semplici.</p> Signup and view all the answers

    Quale caratteristica definisce un paradigma nell'ingegneria del software?

    <p>Un approccio o filosofia di sviluppo</p> Signup and view all the answers

    Quale affermazione sull'anticipazione del cambiamento è corretta?

    <p>Favorisce l'evoluzione del software nel tempo.</p> Signup and view all the answers

    Che cos'è una metodologia nell'ingegneria del software?

    <p>Una serie di principi e metodi per garantire correttezza</p> Signup and view all the answers

    Qual è uno svantaggio del modello a spirale?

    <p>Comporta un aumento nei tempi di sviluppo e nei costi.</p> Signup and view all the answers

    Quale aspetto non è tipico di un processo nell'ingegneria del software?

    <p>Una raccolta di programmi già scritti</p> Signup and view all the answers

    Chi è responsabile della gestione delle risorse e del controllo dello sviluppo in un progetto software?

    <p>Project manager</p> Signup and view all the answers

    Quale modello di sviluppo genera alti rischi per progetti nuovi?

    <p>Modello a cascata</p> Signup and view all the answers

    In cosa consiste l'approccio di Extreme Programming?

    <p>In iterazioni veloci con piccoli incrementi.</p> Signup and view all the answers

    Quali sono le entità fisiche che partecipano al project management?

    <p>Business manager, project manager, practitioners, customers.</p> Signup and view all the answers

    Cos'è un progetto secondo la definizione fornita?

    <p>Un impegno limitato nel tempo per raggiungere obiettivi specifici.</p> Signup and view all the answers

    Chi specifica i requisiti del software da sviluppare?

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

    Cosa include un progetto secondo la definizione fornita?

    <p>Una serie di risultati, attività e risorse consumate.</p> Signup and view all the answers

    Qual è il primo passo per raccogliere i requisiti di un sistema?

    <p>Identificare gli attori</p> Signup and view all the answers

    Che cosa rappresenta un attore in un sistema?

    <p>Un'entità esterna che comunica con il sistema</p> Signup and view all the answers

    Quali domande possono aiutare a identificare gli attori coinvolti in un sistema?

    <p>Quali gruppi di utenti sono supportati dal sistema?</p> Signup and view all the answers

    Che cosa è uno scenario nell'ambito della raccolta dei requisiti?

    <p>Una descrizione testuale di eventi e azioni</p> Signup and view all the answers

    Qual è la caratteristica principale di uno 'As-is-scenario'?

    <p>Utilizzato per il re-engineering</p> Signup and view all the answers

    Qual è un tipo di scenario che descrive funzioni testate dagli utenti?

    <p>Evalutation-Scenario</p> Signup and view all the answers

    Quale di queste opzioni non è un tipo di scenario descritto?

    <p>Future-Scenario</p> Signup and view all the answers

    Quale affermazione descrive meglio la fase di identificazione degli scenari?

    <p>Richiede domande chiare all'utente</p> Signup and view all the answers

    Qual è la principale funzione della specifica dei requisiti in un progetto?

    <p>Supportare la comunicazione tra cliente e sviluppatori</p> Signup and view all the answers

    Cosa descrive principalmente un problem statement?

    <p>La situazione attuale e gli obiettivi del sistema da sviluppare</p> Signup and view all the answers

    Quale delle seguenti affermazioni si riferisce ai requisiti non funzionali?

    <p>Riguardano le performance e la riusabilità del sistema</p> Signup and view all the answers

    Quali sono i criteri che devono essere verificati nel problem statement?

    <p>Deliverables e criteri di accettazione</p> Signup and view all the answers

    Che cosa devono fare gli sviluppatori durante la fase di analisi?

    <p>Costruire un modello del dominio di applicazione</p> Signup and view all the answers

    Quale affermazione sui vincoli è corretta?

    <p>Riguardano limitazioni imposte dall'ambiente o cliente</p> Signup and view all the answers

    In che modo le specifiche dei requisiti vengono considerate nel contesto del progetto?

    <p>Rappresentano un contratto tra cliente e sviluppatori</p> Signup and view all the answers

    Qual è la differenza principale tra la specifica dei requisiti e il modello di analisi?

    <p>La specifica dei requisiti è scritta in linguaggio naturale, il modello di analisi in notazioni formali</p> Signup and view all the answers

    Quale delle seguenti qualità non è considerata un requisito funzionale?

    <p>Usabilità</p> Signup and view all the answers

    Cosa si intende per 'robustezza' di un sistema?

    <p>La capacità di un sistema di funzionare anche in caso di input errati</p> Signup and view all the answers

    Quale di queste opzioni rientra nella definizione di 'disponibilità' di un sistema?

    <p>Il tempo di attività di un sistema rispetto al tempo di down</p> Signup and view all the answers

    Quale suggerimento non viene fornito per scrivere requisiti?

    <p>Usare frasi vaghe</p> Signup and view all the answers

    Qual è uno degli attributi quantificabili del sistema legato alla performance?

    <p>Tempo di risposta</p> Signup and view all the answers

    Cosa implica la 'supportabilità' in un sistema?

    <p>Semplicità nel fare modifiche dopo il deployment</p> Signup and view all the answers

    Quale delle seguenti affermazioni è vera riguardo ai requisiti di qualità?

    <p>Comprendono criteri di usabilità, affidabilità e performance</p> Signup and view all the answers

    Il termine 'accuratezza' è più vicino a quale attributo del sistema?

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

    Study Notes

    Ingegneria del Software: Introduzione e principi

    • L'Ingegneria del Software è una disciplina ingegneristica che si concentra sullo sviluppo di sistemi software di grandi dimensioni, sviluppati tramite lavoro di gruppo.
    • Si occupa dei metodi, delle metodologie, dei processi e degli strumenti per la gestione professionale del software.
    • I principi fondamentali dell'Ingegneria del Software includono il rigore, la formalità, la modularità, l'astrazione, l'anticipazione del cambiamento, la generalità e l'incrementalità.

    Metodi, Metodologie, Strumenti e Processo

    • Un metodo è un procedimento specifico per risolvere problemi specifici.
    • Una metodologia è un insieme di principi e metodi che garantiscono la correttezza e l'efficacia della soluzione.
    • Uno strumento è un artefatto che viene usato per migliorare un'attività.
    • Una procedura è una combinazione di strumenti e metodi per realizzare un prodotto.
    • Un paradigma è un particolare approccio o filosofia per fare qualcosa.
    • Un processo è un metodo specifico costituito da una sequenza di passi che coinvolgono attività, vincoli e risorse.

    Modelli di Sviluppo Software

    • Il modello a cascata genera alti rischi per progetti nuovi e bassi rischi nello sviluppo di applicazioni familiari con tecnologie già note.
    • Il modello a prototipazione presenta bassi rischi nelle nuove applicazioni, ma alti rischi per la mancanza di un processo definito e visibile.
    • Nel modello trasformazionale si hanno alti rischi a causa delle tecnologie coinvolte e delle professionalità richieste.
    • L'Extreme programming, un approccio recente, è basato su iterazioni veloci che rilasciano piccoli incrementi delle funzionalità.

    Project Management e Comunicazione: Ruoli e Attività

    • Il Project Management comprende le attività necessarie per assicurare che un progetto software venga sviluppato rispettando le scadenze e gli standard.
    • Le entità fisiche coinvolte nel project management includono:
      • Business manager: definisce i termini economici del progetto.
      • Project manager: amministra le risorse, quantifica il lavoro e assicura il raggiungimento degli obiettivi.
      • Practitioners: hanno competenze tecniche per realizzare il sistema.
      • Customers: specificano i requisiti del software da sviluppare.
      • End users: gli utenti che interagiscono con il sistema.
    • Un progetto è un impegno limitato nel tempo per raggiungere una serie di obiettivi che richiedono uno sforzo specifico.
    • Un'organizzazione del progetto definisce le relazioni tra le risorse, in particolare i partecipanti.

    Definizione di Requisiti e Specifica

    • La specifica dei requisiti è un documento che descrive le funzionalità e le caratteristiche del software da sviluppare.
    • Il modello di analisi è uno schema formale o semi-formale che rappresenta i requisiti del sistema.
    • Il problem statement descrive il problema che il sistema dovrà affrontare, gli obiettivi, i requisiti, l'ambiente di distribuzione, i risultati attesi e i criteri di accettazione.

    Classificazione dei Requisiti

    • I requisiti funzionali descrivono le interazioni tra il sistema e l'ambiente esterno, indipendentemente dall'implementazione.
    • I requisiti non funzionali descrivono aspetti del sistema non legati direttamente alle funzionalità, ad esempio, le performance, la riusabilità e il supporto.
    • I vincoli (Constraints) sono vincoli imposti dal cliente o dall'ambiente.

    Attività di Raccolta dei Requisiti

    • Le attività di raccolta dei requisiti includono:
      • Identificare gli attori.
      • Identificare gli scenari.
      • Identificare i casi d'uso.
      • Raffinare i casi d'uso.
      • Identificare le relazioni tra gli attori e i casi d'uso.
      • Identificare gli oggetti partecipanti.
      • Identificare i requisiti non funzionali.

    Identificazione degli Attori

    • Un attore è un'entità esterna che comunica con il sistema, come un utente, un sistema esterno o un ambiente fisico.

    Identificazione degli Scenari

    • Uno scenario è una descrizione informale e sintetica di un evento o di una serie di azioni che descrive il percorso di un utente nel sistema.
    • Tipi di scenari:
      • As-is-scenario: descrive una situazione attuale.
      • Visionary-Scenario: descrive funzionalità future del sistema.
      • Evaluation-Scenario: descrive le funzioni eseguite dagli utenti sul quale poi il sistema viene testato.
      • Training-Scenario: sono tutorial per introdurre nuovi utenti al sistema.

    Qualità dei Requisiti

    • Le qualità dei requisiti includono:
      • Usabilità: facilità di utilizzo del sistema da parte degli attori.
      • Robustezza: capacità del sistema di funzionare anche in caso di input errati o cambiamenti nell'ambiente.
      • Disponibilità: rapporto tra il tempo di attività previsto e il tempo di down previsto.

    Modello FURPS+: Requisiti Non Funzionali

    • I requisiti non funzionali, o requisiti di qualità, includono:
      • Usabilità: facilità di apprendimento e comprensione del sistema da parte dell'utente.
      • Affidabilità: capacità del sistema di fornire la funzione richiesta sotto certe condizioni e per un periodo di tempo.
      • Performance: attributi quantificabili del sistema, come il tempo di risposta, il throughput e la disponibilità.
      • Supportabilità: semplicità di fare modifiche dopo il deployment.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Questo quiz esplora i principi fondamentali e i metodi dell'Ingegneria del Software. Approfondisce le metodologie, gli strumenti e i processi utilizzati per gestire lo sviluppo di software complessi. Testa la tua conoscenza su questa disciplina ingegneristica critica nel mondo odierno della tecnologia.

    More Like This

    Software Engineering Methods Quiz
    10 questions
    Software Engineering Verification Methods
    15 questions
    Métodos de Desarrollo de Software
    26 questions
    Use Quizgecko on...
    Browser
    Browser