Galleria mappe mentale Capitolo 5 Progettazione generale
Progettazione strutturata dell'ingegneria del software: la progettazione complessiva può assumere una prospettiva globale, spendere meno denaro, analizzare e confrontare più possibili piani di implementazione del sistema e strutture software da un livello relativamente astratto e selezionare da essi il piano e la struttura software migliori da ottenere lo sviluppo di sistemi software di qualità superiore a costi inferiori.
Modificato alle 2023-10-31 18:37:17Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Capitolo 5 Progettazione generale
Compito:
Lo scopo fondamentale è rispondere "In sintesi, come implementare un sistema software?"
Un altro compito importante è progettare la struttura del software, ovvero determinare da quali moduli è composto ciascun programma nel sistema e la relazione tra questi moduli.
necessità:
È possibile assumere una prospettiva globale e spendere meno denaro per analizzare e confrontare più possibili soluzioni di implementazione del sistema e strutture software da un livello più astratto e selezionare la soluzione e la struttura software migliori per ottenere sistemi software di qualità superiore.
5.1 Processo di progettazione
fase di progettazione del sistema
1. Considera opzioni alternative 2. Seleziona un'opzione ragionevole 3. Consiglia l'opzione migliore
fase di progettazione strutturale
1. Scomposizione funzionale 2. Progettare la struttura del software 3. Progettare il database 4. Sviluppare documenti di test 5. Scrivere documenti 6. Revisione e revisione
5.2 Principi di progettazione
5.2.1 Modularizzazione
Modulo: il modulo è l'elemento base del programma
Modularizzazione: consiste nel dividere il programma in moduli che hanno un nome indipendente e sono accessibili in modo indipendente. Ogni modulo può completare una sotto-funzione. Quando i moduli vengono combinati per formare un insieme, le funzioni specificate possono essere completate per soddisfare le esigenze dell'utente .
Funzione (vantaggi):
1. La modularizzazione può rendere chiara la struttura del software, che non è solo facile da progettare ma anche facile da leggere e comprendere.
2. La modularizzazione può rendere il software facile da testare e controllare
3. La modularizzazione può rendere il software facile da modificare
4. Contribuire all'organizzazione e alla gestione di progetti di sviluppo software
5.2.2 Astrazione
astratto:
L'astrazione consiste nell'astrarre le caratteristiche essenziali delle cose senza considerarne temporaneamente i dettagli. Ogni fase del processo di ingegneria del software rappresenta un ulteriore perfezionamento del livello di astrazione della soluzione software.
Applicazioni astratte:
Nella fase di studio di fattibilità il software viene utilizzato come componente completo del sistema; nella fase di analisi dei requisiti la soluzione software viene descritta utilizzando un metodo familiare all'interno dell'ambiente problematico nel passaggio dalla fase di progettazione complessiva a quella di progettazione dettagliata , il livello di astrazione viene gradualmente ridotto; infine, quando il programma sorgente viene scritto, raggiunge il livello di astrazione più basso;
Vantaggi dell'astrazione:
L'assegnazione del controllo dall'alto verso il basso, dall'astratto al concreto, semplifica la progettazione e l'implementazione del software, migliora la comprensibilità e la testabilità del software e ne facilita la manutenzione.
5.2.3 Cercare gradualmente il perfezionamento
definizione
Cerca di posticipare la considerazione dei dettagli di un problema in modo da poterti concentrare sulla risoluzione del problema principale
La differenza tra astrazione e raffinamento graduale:
sottoargomento
[La differenza tra astrazione e raffinamento graduale:
astratto:
Definizione: processo di riduzione di problemi complessi a domande o concetti basilari
Scopo: Ridurre la complessità del problema e facilitarne la comprensione e l’elaborazione
Metodi: classificazione, induzione, generalizzazione, ecc.
Affinare gradualmente:
Definizione: il processo di affinamento graduale di un problema da un livello elevato a un livello basso
Scopo: scomporre i problemi complessi in piccoli problemi gestibili per facilitare la progettazione e l'implementazione
Metodi: scomposizione, raffinamento, ottimizzazione, ecc.
la differenza:
L’astrazione è un processo dall’alto verso il basso, mentre il perfezionamento graduale è un processo dal basso verso l’alto.
Concentrarsi in modo astratto sulla struttura generale del problema e gradualmente perfezionarlo e focalizzarlo sui dettagli specifici del problema.
L'astrazione enfatizza la classificazione e l'induzione, mentre il raffinamento graduale enfatizza la scomposizione e il perfezionamento.
L'astrazione e il raffinamento graduale si completano a vicenda e vengono utilizzati insieme per risolvere problemi complessi]
5.2.4 Nascondere e localizzare le informazioni
[Nascondere e localizzare le informazioni
occultamento delle informazioni
definizione
Nascondi i dettagli interni del sistema
Esporre solo le informazioni necessarie
vantaggio
Ridurre la complessità
Migliorare la sicurezza
Migliorare la manutenibilità
localizzazione
definizione
Metti insieme funzionalità o dati correlati
Ridurre le dipendenze
vantaggio
Migliorare l'efficienza
Ridurre l'accoppiamento
Migliora la manutenibilità ;]
5.2.5 Indipendenza del modulo
Indipendente dal modulo
indipendenza del modulo
L'indipendenza del modulo si riferisce al basso grado di interdipendenza tra le parti all'interno del modulo e al basso grado di accoppiamento tra i moduli
L'indipendenza dai moduli aiuta a migliorare la manutenibilità e la scalabilità del sistema
Una misura dell'indipendenza del modulo
L'indipendenza del modulo può essere misurata mediante coesione e accoppiamento
La coesione si riferisce alla vicinanza tra le varie parti all'interno del modulo. Maggiore è la coesione, migliore è l'indipendenza del modulo.
Il grado di accoppiamento si riferisce al grado di dipendenza reciproca tra i moduli. Quanto più basso è il grado di accoppiamento, tanto migliore è l'indipendenza del modulo.
Metodi per migliorare l'indipendenza dei moduli
Utilizza la tecnologia per nascondere le informazioni per nascondere i dettagli di implementazione all'interno del modulo ed esporre solo le interfacce necessarie
Adottare un metodo di progettazione modulare per dividere il sistema in più moduli, ciascun modulo è responsabile di funzioni specifiche
Utilizzare metodi di progettazione dell'interfaccia per progettare le interfacce interattive tra i moduli in modo che siano concise e chiare, riducendo l'accoppiamento tra i moduli
Adottare un metodo di progettazione a più livelli per dividere il sistema in più livelli, ogni livello è responsabile di funzioni specifiche e ridurre l'accoppiamento tra i moduli
L'importanza dell'indipendenza dei moduli
L'indipendenza del modulo è uno degli indicatori importanti per misurare la qualità della progettazione del software
L'indipendenza dai moduli aiuta a migliorare la manutenibilità e la scalabilità del sistema e riduce i costi di manutenzione ed espansione del sistema.
L'indipendenza del modulo aiuta a migliorare l'affidabilità e la stabilità del sistema e a ridurre la probabilità di errori di sistema;
Utilizzare l'accoppiamento dei dati il più possibile, utilizzare meno accoppiamento dei controlli e delle funzionalità, limitare l'ambito dell'accoppiamento dell'ambiente pubblico e non utilizzare affatto l'accoppiamento dei contenuti.
5.3 Regole euristiche
1. Migliorare la struttura del software e migliorare l'indipendenza dei moduli
2. La dimensione del modulo dovrebbe essere moderata
3. Profondità, larghezza, distribuzione in uscita e in entrata devono essere appropriate
4. L'ambito del modulo dovrebbe rientrare nel dominio di controllo
5. Cercare di ridurre la complessità delle interfacce dei moduli
6. Progettare un modulo con ingresso singolo e uscita singola.
7. Le funzioni del modulo dovrebbero essere prevedibili
5.4 Strumenti grafici per descrivere la struttura del software
5.4.1 Diagramma gerarchico e diagramma HIPO
5.4.2 Diagramma della struttura
5.5 Metodo di progettazione orientato al flusso di dati
approccio progettuale strutturato
5.5.1 Concetto
concetto
Due tipi di flusso di informazioni
1. Flusso di scambio
2. Logistica
5.5.2 Analisi della trasformazione
5.5.3 Analisi delle cose