Panoramica del processo di progettazione

February 15

Panoramica del processo di progettazione

Il processo di progettazione del software

Il processo di progettazione del software descrive tutti gli aspetti di un'applicazione software che deve essere costruito. Una volta che i requisiti software sono definiti, ingegneri software di creare un disegno per soddisfare tali requisiti, producendo una sorta di traccia da seguire nella costruzione della soluzione software. Il processo di progettazione comprende la pianificazione l'organizzazione, la struttura, le caratteristiche e le funzionalità del software. Oltre a definire l'organizzazione del codice del software da scrivere, il design può includere l'uso di librerie software esistenti e componenti, il layout e il comportamento delle interfacce utente grafiche, la creazione di un dizionario dei dati e il comportamento del software quando incontrano errori . Ci sono molti metodi di progettazione del software. Il processo può essere informale, poco più che schizzi uno schema su un bordo bianco, o formale, con una documentazione completa che descrive i dettagli livello più basso.

attività

progettazione del software comporta quattro attività generali, in varia misura in base alle esigenze di progetto - di creazione di dati, interface design, progettazione architettonica e di design procedurale. disegno dati definisce gli oggetti dati, attributi e relazioni, l'organizzazione dei dati all'interno della struttura del software e l'uso dei dati dal software. Il design dell'interfaccia definisce le interazioni interne al software ed esternamente con utenti umani o applicazioni software esterne. La progettazione architettonica descrive i moduli software, l'interazione tra i moduli e le interfacce che permettono ai dati di fluire attraverso la struttura del software. disegno procedurale specifica i dettagli procedurali e algoritmici e si verifica in genere come la fase finale del processo di progettazione.

Approccio

Nell'affrontare la progettazione di una soluzione software, un ingegnere del software può scegliere un top-down o bottom-up. In un approccio top-down, gli studi ingegnere del software soluzione nel suo insieme, dividendo la soluzione in principali componenti astratti, e migliora ulteriormente ogni componente dividendolo ulteriormente in sottocomponenti, raffinazione e aggiungendo dettagli, risultando in un complesso completo design. Utilizzando l'approccio bottom-up, i componenti di base sono progettati prima senza una chiara definizione di come questi componenti si riferiscono alla soluzione globale. componenti di livello base sono la progettazione, scritto, testato e poi collegati tra loro in sottosistemi, la progettazione e la costruzione verso la soluzione globale. Mentre l'approccio top-down offre un disegno complessivo e la comprensione della soluzione nelle prime fasi del processo di progettazione, l'approccio bottom-up permette ai programmatori di iniziare la scrittura e testare codice precedente. ingegneria del software moderno utilizza in genere una combinazione di entrambi gli approcci.

considerazioni

Oltre ai requisiti software che determinano quali caratteristiche e funzionalità della soluzione software comprenderà, ci sono ulteriori considerazioni per garantire la soluzione è flessibile, stabile e mantenibile. Ad esempio, la modularità avvantaggia il processo di sviluppo, definendo componenti testabili indipendenti e facilita la progettazione di componenti riutilizzabili, in ultima analisi, risparmiando tempo e denaro. Estensibilità permette al software di ospitare per le caratteristiche e la funzionalità senza fare grandi cambiamenti al design. L'affidabilità, fault-tolerance e robustezza assicurano la soluzione software è stabile in una varietà di condizioni attese e inattese, recupero da errori e non riuscendo con grazia. Usabilità e accessibilità ottimizzare per il fattore umano, la progettazione di interfacce utente che sono facili da usare ed imparare per la gamma di esperienze e competenze degli utenti per i quali il software è stato progettato.

modellismo

Panoramica del processo di progettazione


Gli ingegneri del software di modellazione utilizzano per illustrare e comunicare una progettazione del software. linguaggi di modellazione hanno regole standardizzate per descrivere o illustra i componenti di un progetto. linguaggi di modellazione grafica utilizzano simboli per illustrare un progetto, che descrive visivamente l'organizzazione, il flusso, le relazioni dei componenti e le funzionalità di una soluzione software. Le moderne applicazioni di modellazione facilitano il processo di sviluppo del software per la generazione di codice specifico linguaggio basato sul disegno modellato.

Modelli di progettazione

I design pattern sono modelli di progettazione per la risoluzione di problemi di progettazione di software comune. Modelli di progettazione permettono al progettista di progettare subito un componente software personalizzando un modello predefinito per le sue esigenze. Utilizzando modelli di progettazione, il progettista può creare il disegno complessivo più rapidamente, utilizzando soluzioni che sono noti per essere flessibile, stabile, riutilizzabile o fornire altri vantaggi specifici.