I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher di informazioni apprese con la frequenza delle lezioni e lo studio autonomo di eventuali testi di riferimento in preparazioneall’esame finale o della tesi. Non devono intendersi come materiale ufficiale dell’università attribuibile al docente del corso o al relatore
…continua

Filtra per

Tutte le tipologie
Tutte le tipologie

Ordina

Filtra

Appunti di Scienze matematiche fisiche e naturali - Università degli Studi di Bologna

Esame Ingegneria del software

Facoltà Scienze matematiche fisiche e naturali

Dal corso del Prof. D. Rossi

Università Università degli Studi di Bologna

Appunti esame
Appunti sui concetti principali di Ingegneria del software. Associazione: un’associazione indica una relazione statica tra le istanze di due classi. Ha una molteplicità (numero di oggetti che prendono parte a tale relazione) e una navigabilità (il verso di percorribilità del collegamento) [linea con freccia aperta]. Oggetto: un nodo oggetto è un nodo di attività che è parte della definizione del flusso in un’attività. Indica che un’istanza di un certo classificatore, in un certo stato, potrebbe essere disponibile in un certo punto dell’attività. Occorrenza: è un frammento di interazione che rappresenta un momento nel tempo (evento) all’inizio o alla fine di un messaggio o di un’esecuzione. Il software può avere qualità esterne, come correttezza, usabilità, efficienza, affidabilità, integrità, adattabilità, accuratezza e robustezza. O qualità interne, come manutenibilità, flessibilità, portabilità, ri-usabilità, leggibilità, ecc. Rigidità-Fragilità - Un client che voglia utilizzare un Visitor deve creare un oggetto ConcreteVisitor e utilizzarlo per attraversare la struttura, chiamando il metodo accept di ogni oggetto. Ogni chiamata invoca nel ConcreteVisitor il metodo corrispondente alla classe dell'oggetto chiamante, che passa sé stesso come parametro per fornire al Visitor un punto d'accesso al proprio stato interno. Questo pattern difatti precisa come valutare le frasi in una determinata lingua o linguaggio. L'idea di base è quella di avere una classe per ciascun simbolo (terminale o non terminale) in un linguaggio di programmazione specifico. L'albero sintattico di una frase nella lingua è quindi un esempio del modello sintattico composito e viene usato per valutare (interpretare) la frase. Eventi. Decisione. Un'istanza completamente inizializzata da copiare o clonare. Specifica i tipi di oggetti da creare utilizzando un'istanza prototipo e crea nuovi oggetti copiando questo prototipo. Delega un'istanza di una classe da utilizzare come generatore di tutte le istanze future. L’operatore new è ritenuto dannoso. Il linea generale il client crea un nuovo oggetto del tipo desiderato chiedendo a un prototipo di clonarsi, ovvero invocando il metodo clone definito dal ConcretePrototype di cui si vuole la copia. Una classe di cui può esistere solo una singola istanza. Assicura che una classe abbia una sola istanza e fornisce un accesso globale ad essa. Una classe singleton ha un unico costruttore privato, in modo da impedire l’istanziazione diretta della classe e un metodo “getter” che restituisce sempre se stessa.
...continua

Esame Ingegneria del software

Facoltà Scienze matematiche fisiche e naturali

Dal corso del Prof. D. Rossi

Università Università degli Studi di Bologna

Appunti esame
Appunti di Ingegneria del software, con schemi. L’analisi dei requisiti può comprendere storie o scenari relativi al modo in cui l’applicazione viene utilizzata dalle persone; queste storie possono essere scritte come casi d’uso. Definizione di un modello di dominio - Si noti che un modello di dominio non è una descrizione di oggetti software, ma una visualizzazione dei concetti o del modello mentale di un dominio del mondo reale. Pertanto è stato anche chiamato modello concettuale a oggetti. Il modello di analisi necessita di artefatti/notazioni cioè documenti chiari detti elaborati dei requisiti: • − Modello dei casi d’uso → Un insieme degli scenari tipici dell’utilizzo del sistema. Per formalizzare i requisiti ci sono vari metodi. Nei processi di sviluppo strutturati un buon punto di inizio è l’ISO/IEC/IEEE – System and software engineering – Life cycle processes – Requirements engineering. I documenti principali sono: lo stakeholder requirements specification document (StRS) cioè il documento di specificazione dei requisiti per gli stakeholders, System requirements specification document (SyRS) cioè il documento di specifica dei requisiti, Software requirements specification document (SRS) cioè documento di specifica dei requisiti software. Realizzazione → È un tipo di dipendenza più specifica perché dichiara che un elemento ne realizza un altro. Il caso più comune è quando le classi realizzano l’interfaccia. Private String name; NB: Il diagramma delle classi può essere realizzato con diversi modelli: design model (rappresenta elementi della soluzione), domain model (rappresenta elementi del problema). Se è pensato nel dominio della soluzione, allora ha un dettaglio molto puntuale, quindi è molto ricche. Nel dominio del problema, la notazione non cambia, ma essendo ad un livello di astrazione diverso si avranno molti meno dettagli. Se questo principio non viene rispettato porta a dipendenze non necessarie e degenera nell’implementazioni delle interfacce, causando inutile complessità e potenziale violazione del principio LSP. Questo intermediario è detto factory. → Serve per disaccoppiare l’utilizzatore di un oggetto dal creatore dell’oggetto e permette di referenziare l’oggetto creato attraverso una common interface.
...continua

Esame Sistemi operativi

Facoltà Scienze matematiche fisiche e naturali

Dal corso del Prof. D. Sangiorgi

Università Università degli Studi di Bologna

Schemi e mappe concettuali
Domande e definizioni utili alla preparazione dell'esame di Sistemi operativi. Deadlock = In informatica il deadlock è una situazione in cui due (o più) processi (o azioni) si bloccano a vicenda aspettando che uno esegua una certa azione (es. rilasciare il controllo su una risorsa come un file, una porta input/output ecc.) che serve all'altro e viceversa. La CPU può eseguire soltanto un programma alla volta, ma quando si verifica una interruzione e il programma resta in attesa del completamento di un servizio, la CPU può eseguire le istruzioni di un altro programma. La dimensione di un processo per eseguire può essere caricato solo una parte, quindi solo parte delle due pagine devono essere caricate in memoria. La memoria virtuale è una tecnica di gestione della memoria centrale in seguito alla necessità di aumentare la multiprogrammazzione e che sono usati vari algoritmi per gestire la paginazione del processo. Il page fault è un'eccezione di tipo trap, generata quando un processo cerca di accedere ad una pagina che è presente nel suo spazio di indirizzamento virtuale. La tabella delle pagine contiene l’indirizzo di base in memoria fisica di ogni pagina, il numero di pagine serve come indice per la page table. TIME SHARING = In informatica il time-sharing (o timesharing) è un modo del sistema operativo rivolto all'uso. Per un sistema time sharing, è necessario usare un algoritmo preemptive (ma non SJF). Come fa il sistema operativo ad impedire il monopolio del processore da parte di un processo? Avere le pagine di dimensione grande fa si che un processo sia composto da meno pagine. L’algoritmo LRU è un algoritmo di page replacement. Poiché i programmi raramente utilizzano contemporaneamente tutte le parti del proprio codice e dei propri dati, è conveniente implementare il meccanismo della memoria virtuale. Differenze sostanziali fra thread e processi.
...continua

Esame Immunologia e patologia generale

Facoltà Scienze matematiche fisiche e naturali

Dal corso del Prof. D. Maio

Università Università degli Studi di Bologna

Appunti esame
Appunti di Patologia generale ed accenni di immunologia. Appunti che trattano principalmente di autofagia apoptosi, necrosi e tutti i meccanismi alla base dell’infiammazione cronica e infiammazione sistemica.
...continua