Ecco una rottura dei livelli comuni di astrazione:
* astrazione di alto livello (livello concettuale): Questa è la visione più ampia del sistema. Si concentra sullo scopo generale, sui componenti principali e sulle interazioni tra di loro, senza entrare nei dettagli. Pensalo come una vista a occhio per uccelli. Esempi includono:
* Diagrammi di flusso di dati (DFD): Mostrando il flusso di dati attraverso il sistema, ma non i meccanismi interni dei processi.
* Usa i diagrammi del caso: Illustrare le interazioni tra utenti e sistema, senza dettagliare l'implementazione.
* Diagrammi di contesto: Mostrando i confini del sistema e le sue interazioni con l'ambiente esterno.
* Abstrazione di livello medio (livello logico): Questo livello fornisce più dettagli rispetto al livello elevato, ma evita comunque le specifiche di implementazione. Si concentra su * cosa * il sistema fa, non * come * lo fa. Esempi includono:
* Diagrammi di entità-relazioni (ERDS): Modellazione di entità dati e loro relazioni, senza specificare la tecnologia del database.
* DFD dettagliati: Abbattere i processi di alto livello in sotto-processi più piccoli e più gestibili.
* Diagrammi di transizione dello stato: Mostrando i diversi stati che un sistema può trovarsi e come passa tra loro.
* astrazione di basso livello (livello fisico): Questo è il livello più dettagliato, concentrandosi sul *come *. Si occupa dei dettagli di implementazione concreta, inclusi hardware, software e algoritmi specifici. Esempi includono:
* Diagrammi di classe (nel design orientato agli oggetti): mostrando classi, attributi, metodi e relazioni.
* Diagrammi di sequenza: Illustrando l'ordine dei messaggi scambiati tra gli oggetti.
* Schemi di database: Definizione di tabelle, colonne e tipi di dati.
* Codice sorgente: l'effettiva implementazione del sistema.
La scelta del livello di astrazione dipende dalla fase del ciclo di vita dello sviluppo del sistema e dal pubblico. Le fasi iniziali generalmente utilizzano livelli più elevati di astrazione per comunicare la progettazione complessiva alle parti interessate. Le fasi successive passano progressivamente a livelli più bassi, fornendo dettagli crescenti per gli sviluppatori e gli implementari. Un'analisi e una progettazione efficaci del sistema richiedono una transizione regolare tra questi livelli, garantendo coerenza ed evitando complessità inutili in ogni fase.
software © www.354353.com