Anteprima
Vedrai una selezione di 9 pagine su 38
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 1 Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 2
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 6
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 11
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 16
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 21
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 26
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 31
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Ingegneria del software (2021/2022) Pag. 36
1 su 38
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Criteri progettuali

Definizione: Quanto è facile aggiungere funzionalità o nuove classi al sistema?

Modificabilità: Quanto è facile cambiare le funzionalità del sistema?

Adattabilità: Quanto è facile adattare il sistema a un diverso dominio applicativo?

Portabilità: Quanto è facile portare il sistema su una diversa piattaforma?

Leggibilità: Quanto è facile comprendere il sistema leggendo il codice sorgente?

Tracciabilità dei requisiti: Quanto è facile ricondurre le parti di codice agli specifici requisiti che le hanno motivate?

3. Un gruppo di criteri progettuali su cui si basa l'identificazione degli obiettivi del design prende in considerazione i costi associati al sistema. Fornisci degli esempi delle tipologie di costo tipicamente coinvolte. I criteri di costo includono gli oneri finanziari di sviluppo ed amministrazione del sistema, sia per quanto riguarda la progettazione.

che la gestione. Alcuni esempi di criteri possono essere: - Costi di sviluppo, in caso di sviluppo ex-novo del Sistema; - Costi d'installazione, l'installazione e la configurazione del sistema, fino all'addestramento degli utenti; - Costi di upgrade, il trasferimento dei dati dal vecchio Sistema al nuovo; - Costi di manutenzione, correzione di errori e miglioramenti del Sistema. 4. Un gruppo di criteri progettuali su cui si basa l'identificazione degli obiettivi del design prende in considerazione la dependability (affidabilità) del sistema. Fornisci degli esempi delle caratteristiche del sistema tipicamente coinvolte. I criteri di dependability determinano quanto sforzo deve essere speso per minimizzare i blocchi del sistema e le relative conseguenze. Alcuni esempi di tali criteri possono essere: - Robustezza: Capacità di sopravvivere a input non validi o condizioni ambientali avverse - Reliability: Differenze tra comportamento specificato ed effettivo del sistema - Availability: Tempo di funzionamento effettivo del sistema - Safety: Capacità di prevenire incidenti o danni a persone o cose - Security: Protezione dei dati e delle risorse del sistema da accessi non autorizzati o attacchi esterni.
  1. Availability (disponibilità): Percentuale di tempo in cui il sistema funziona correttamente
  2. Tolleranza ai guasti: Capacità di operare in condizioni di errore
  3. Sicurezza: Capacità di sopportare attacchi di hacker
  4. Safety: Non causare pericoli per gli utenti, anche in caso di errori o guasti
  5. Un gruppo di criteri progettuali su cui si basa l'identificazione degli obiettivi del design prende in considerazione le prestazioni del sistema. Fornisci degli esempi delle caratteristiche del sistema tipicamente coinvolte. I criteri legati alle prestazioni, includono i requisiti sui tempi di risposta e sull'occupazione di memoria imposti sul sistema. Alcuni esempi di tali criteri possono essere:
    • Tempo di risposta, quanto rapidamente il Sistema risponde ad una richiesta dell'utente
    • Capacità di elaborazione, quanti task possono essere eseguiti dal sistema in un dato lasso di tempo
    • Memoria, quanto spazio è richiesto dal Sistema per funzionare

Un gruppo di criteri progettuali su cui si basa l'identificazione degli obiettivi del design prende in considerazione i criteri dell'utente finale. Fornisci degli esempi delle caratteristiche del sistema tipicamente coinvolte.

I criteri dell'utente finale indicano qualità che sono desiderabili dal punto di vista dell'utente, ma non sono state ancora considerate dai criteri di prestazione e di affidabilità. Spesso questi criteri non sono considerati con la dovuta attenzione, specialmente quando il committente non coincide con l'utente finale.

Alcuni esempi possono essere:

  • Utilità, la misura in cui il sistema supporta il lavoro dell'utente;
  • Usabilità, facilità nell'uso del sistema da parte dell'utente.

Lezione 0211. Descrivi le conseguenze (positive ed, eventualmente, negative) che possono derivare dall'adozione del design pattern Façade.

Il pattern Façade viene usato per rendere una libreria

Il software più facile da usare e comprendere, perché predispone metodi semplici per compiti frequenti. Riduce le dipendenze tra i sotto-sistemi esterni (client) e gli oggetti interni al sotto-sistema che offre i servizi (server) di conseguenza migliora il livello di flessibilità nello sviluppo del sistema. Lo svantaggio è che c'è meno controllo su ciò che accade "dietro" l'interfaccia nel momento in cui si dovesse modificare l'implementazione dei metodi.

Abbiamo classificato gli obiettivi del design in 5 categorie: prestazioni, dependability, costo, manutenzione e utente finale. Assegna una o più categorie al seguente obiettivo: La cassa automatica deve resistere ad attacchi di "forza bruta" (ad es. un utente che cerchi di scoprire un codice segreto provando tutte le possibilità).

I criteri di dependability (in questo caso, sicurezza), determinano quanto sforzo deve essere speso per minimizzare i

1. Sicurezza: Il sistema deve essere in grado di resistere ad attacchi di forza bruta o ad attacchi di hacker in generale. 2. Manutenzione: L'alloggiamento del distributore di biglietti deve riservare spazio per installare nuovi bottoni qualora il numero di tariffe aumenti. 3. Estensibilità: I criteri di manutenzione determinano quanto sia difficile modificare il sistema dopo il deployment. Questi criteri sono difficili da ottimizzare e pianificare, poiché raramente è chiaro quanto successo avrà il progetto, e per quanto tempo il nuovo sistema verrà usato. Ad esempio, tramite il criterio progettuale dell'estensibilità, si può stabilire quanto sia facile aggiungere funzionalità o nuove classi al sistema.

Della Modificabilità, si può stabilire quanto sia facile cambiare le funzionalità del sistema.

Abbiamo classificato gli obiettivi del design in 5 categorie: prestazioni, dependability, costo, manutenzione e utente finale. Assegna una o più categorie al seguente obiettivo: Il distributore di biglietti deve essere in grado di emettere un biglietto anche nel caso di caduta della connessione diretta. I criteri di dependability (in questo caso, tolleranza ai guasti), determinano quanto sforzo deve essere speso per minimizzare i blocchi del sistema e le relative conseguenze, di conseguenza il sistema deve essere in grado di operare anche in presenza di guasto, come nel caso qui proposto.

Abbiamo classificato gli obiettivi del design in 5 categorie: prestazioni, dependability, costo, manutenzione e utente finale. Assegna una o più categorie al seguente obiettivo: Dopo aver digitato un comando, l'utente deve ricevere una risposta entro un secondo. Prestazione.

per riflettere i nuovi valori. Il design pattern Observer propone di utilizzare un oggetto subject che tiene traccia dei suoi observer e li notifica quando avviene un cambiamento. Gli observer sono registrati presso il subject e vengono aggiornati automaticamente ogni volta che il subject cambia i suoi valori. Questo permette una separazione efficace tra la logica di business del subject e la logica di visualizzazione degli observer.ma piuttosto una guida o un modello che può essere utilizzato per risolvere un problema specifico di progettazione del software. I design pattern forniscono un approccio strutturato e testato per affrontare problemi comuni nel campo dello sviluppo software, consentendo agli sviluppatori di risparmiare tempo e sforzi nella progettazione e nell'implementazione di soluzioni.soluzione proposta. - la descrizione: una spiegazione più dettagliata del problema e della soluzione offerta dal pattern. - la struttura: una rappresentazione visiva dei componenti del pattern e delle relazioni tra di loro. - gli esempi: casi concreti in cui il pattern può essere applicato. - le considerazioni: eventuali vantaggi e svantaggi nell'utilizzo del pattern. - le implementazioni: possibili varianti o approcci per implementare il pattern. - le applicazioni: contesti in cui il pattern può essere utilizzato. - le relazioni: connessioni con altri pattern o concetti correlati. - le note: informazioni aggiuntive o avvertenze sull'utilizzo del pattern.soluzione generale che il pattern cattura. Il nome del pattern arricchisce il nostro vocabolario progettuale, e ci consente di lavorare ad un livello di astrazione superiore: possiamo ad esempio parlarne coi colleghi per discuterne vantaggi e limiti in un determinato contesto; identificare nomi adeguati è un'operazione critica. - il problema: la descrizione delle situazioni in cui il pattern è applicabile: può comprendere la descrizione di classi o di problemi di progettazione specifici, o anche una lista di condizioni che rendono utile o necessario l'uso del pattern. - la soluzione: gli elementi software che risolvono il problema, con le loro relazioni, responsabilità e collaborazioni, descritti in modo astratto rispetto ai dettagli specifici dell'implementazione. - La soluzione non descrive una specifica implementazione concreta del pattern, che è considerato un template applicabile in molte differenti situazioni.
Dettagli
Publisher
A.A. 2021-2022
38 pagine
7 download
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Carlo9898 di informazioni apprese con la frequenza delle lezioni di Ingegneria del software e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica "e-Campus" di Novedrate (CO) o del prof Vetrella Sergio.