Qual è la differenza tra specifiche tecniche e documenti di progettazione?


38

Quali sono le specifiche tecniche? Sono gli stessi dei documenti di progettazione. In caso contrario, qual è la differenza e alcuni esempi?


1
Il primo manca il design e il secondo manca i tecnicismi.

Risposte:


33

Un documento di progettazione software può essere al livello di un sistema o componente e generalmente include:

  • obiettivi o requisiti pertinenti (funzionali e non funzionali);
  • struttura statica (ad es. componenti, interfacce, dipendenze);
  • comportamento dinamico (come interagiscono i componenti);
  • modelli di dati o interfacce esterne (esterne al sistema / componente descritto nel documento); e
  • considerazioni sulla distribuzione (ad es. requisiti di runtime, componenti di terze parti).

Si noti che tutte queste descrizioni sono a livello astratto. Lo scopo è quello di fornire al lettore un'ampia comprensione generale del sistema o del componente. Possono esserci molti livelli di documenti di progettazione (ad esempio, a livello di sistema o di componente).

Una specifica tecnica descrive i minimi dettagli di tutte o parti specifiche di un progetto, come ad esempio:

  • la firma di un'interfaccia, inclusi tutti i tipi / strutture di dati richiesti (tipi di dati di input, tipi di dati di output, eccezioni);
  • modelli di classe dettagliati comprendenti tutti i metodi, gli attributi, le dipendenze e le associazioni;
  • gli algoritmi specifici che un componente impiega e come funzionano; e
  • modelli di dati fisici inclusi attributi e tipi di ciascuna entità / tipo di dati.

1
Quindi, quando dovremmo effettivamente scrivere le specifiche tecniche? Prima dello sviluppo? Insieme allo sviluppo? o dopo ..?
Shashwat,

2
@ShashwatTripathi in generale, le specifiche sono scritte prima dello sviluppo, in modo che qualcun altro (o tu in un secondo momento) possa implementare i componenti. Scrivere le specifiche dopo che lo sviluppo è stato completato, le rende in qualche modo inutili (a meno che non le si usi come documentazione tecnica su ciò che è stato implementato).
miraculixx,

Mi sono imbattuto in questo esatto scenario lavorando per un enorme corpus su un progetto pluriennale. Abbiamo lavorato all'indietro nella creazione di un documento sui requisiti aziendali dopo che il progetto è stato migrato a Test e quindi a Prod! Sì, ottima gestione del progetto, lo so!
ThinkCode

Le specifiche tecniche non vengono create dopo che i dettagli sono stati decomposti funzionalmente Specifica dei requisiti software? In che modo un architetto può creare un TS senza SRS? Sembra che lui / lei dovrà assumere un sacco.
Oracular Man,

D'accordo, un TS dovrebbe seguire un SRS (specifica dei requisiti di sistema). Nota, tuttavia, questi termini non sono standardizzati e un TS potrebbe essere creato come una forma dettagliata di un SRS (tipico nei sistemi embedded), oppure potrebbe essere usato per integrare un SRS di alto livello, cioè un documento di design (tipico nelle applicazioni commerciali ). Il punto chiave è che i requisiti, i documenti di progettazione e le specifiche descrivono ciascuno una vista specifica su un sistema e i suoi componenti. È più importante che un team sia d'accordo con le opinioni e il livello di dettaglio richiesti rispetto a una definizione formale.
miraculixx,

7

Le specifiche tecniche, almeno sotto forma di un disegno tecnico, fanno parte dei documenti di progettazione, insieme, ad esempio, a elenchi di requisiti, progetti funzionali, storie utente, modelli di progettazione grafica, studi di usabilità, diagrammi UML, diagrammi di processi aziendali, dati specifiche del modello, ecc.

Le specifiche tecniche del tipo che si scrive dopo il fatto, per documentare il prodotto finito, generalmente non fanno parte dei documenti di progettazione, ma possono essere incluse nel set di documenti di progettazione di una versione successiva (per riferimento) o in un altro prodotto che conta su di loro.


Grazie. Fondamentalmente ho anche bisogno di specifiche funzionali per sapere cosa fare e quindi progettare documenti per sapere come fare, è corretto? Solo una piccola domanda, qual è il design funzionale a cui hai fatto riferimento (spero che non aggiunga confusione alla mia comprensione delle specifiche funzionali)
John V,

Un design funzionale definisce la funzionalità prevista del prodotto, dal punto di vista dell'utente, senza entrare nei dettagli di implementazione. Ci sono molte domande con risposte eccellenti qui che danno una spiegazione esaustiva su cosa sia e non sia un design funzionale.
martedì

1
Quindi, quando dovremmo effettivamente scrivere le specifiche tecniche? Prima dello sviluppo? Insieme allo sviluppo? o dopo ..?
Shashwat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.