¿Cuál es la diferencia entre especificaciones técnicas y documentos de diseño?

38

¿Qué son las especificaciones técnicas? ¿Son lo mismo que los documentos de diseño? Si no, ¿cuál es la diferencia y algunos ejemplos?

Juan v
fuente
1
El primero pierde el diseño y el segundo pierde los tecnicismos.

Respuestas:

33

Un documento de diseño de software puede estar al nivel de un sistema o componente, y generalmente incluye:

  • metas o requisitos relevantes (funcionales y no funcionales);
  • estructura estática (p. ej., componentes, interfaces, dependencias);
  • comportamiento dinámico (cómo interactúan los componentes);
  • modelos de datos o interfaces externas (externas al sistema / componente descrito en el documento); y
  • consideraciones de implementación (por ejemplo, requisitos de tiempo de ejecución, componentes de terceros).

Tenga en cuenta que todas estas descripciones están en un nivel abstracto. El propósito es dar al lector una comprensión general amplia del sistema o componente. Puede haber muchos niveles de documentos de diseño (por ejemplo, nivel de sistema o componente).

Una especificación técnica describe los detalles minuciosos de todas o partes específicas de un diseño, tales como:

  • la firma de una interfaz, incluidos todos los tipos / estructuras de datos requeridos (tipos de datos de entrada, tipos de datos de salida, excepciones);
  • modelos de clase detallados que incluyen todos los métodos, atributos, dependencias y asociaciones;
  • los algoritmos específicos que emplea un componente y cómo funcionan; y
  • modelos de datos físicos que incluyen atributos y tipos de cada entidad / tipo de datos.
miraculixx
fuente
1
Entonces, ¿cuándo deberíamos realmente escribir especificaciones técnicas? Antes del desarrollo? ¿Junto con el desarrollo? o después ..?
shashwat
2
@ShashwatTripathi en general, las especificaciones se escriben antes del desarrollo, para que otra persona (o usted en un momento posterior) pueda implementar los componentes. Escribir la especificación después de que se haya realizado el desarrollo hace que sea inútil (a menos que la use como documentación técnica sobre lo que se ha implementado).
miraculixx
Me he encontrado con este escenario exacto trabajando para un gran cuerpo en un proyecto de varios años. ¡Trabajamos hacia atrás para crear un documento de requisitos comerciales después de que el proyecto se haya migrado a Prueba y luego a Prod! Sí, excelente gestión de proyectos, lo sé.
ThinkCode
¿No se crean las especificaciones técnicas después de que los detalles descomponen funcionalmente la especificación de requisitos de software? ¿Cómo es un arquitecto para crear un TS sin SRS? Parece que él / ella tendrá que asumir una tonelada.
Oracular Man
De acuerdo, un TS debe seguir un SRS (especificación de requisitos del sistema). Sin embargo, tenga en cuenta que estos términos no están estandarizados y un TS podría crearse como una forma detallada de un SRS (típico en sistemas integrados), o podría usarse para complementar un SRS de alto nivel, es decir, un documento de diseño (típico en aplicaciones comerciales ) El punto clave es que los documentos de requisitos, diseño y especificaciones describen una vista específica de un sistema y sus componentes. Es más importante que un equipo acuerde las opiniones y el nivel de detalle requerido que cumplir con alguna definición formal.
miraculixx
7

Las especificaciones técnicas, al menos en forma de diseño técnico, forman parte de los documentos de diseño, junto con, por ejemplo, listas de requisitos, diseños funcionales, historias de usuarios, maquetas de diseño gráfico, estudios de usabilidad, diagramas UML, diagramas de procesos comerciales, datos especificaciones del modelo, etc.

Las especificaciones técnicas del tipo que escriba después del hecho, para documentar el producto terminado, generalmente no forman parte de los documentos de diseño, pero pueden incluirse en el conjunto de documentos de diseño de una versión posterior (para referencia) u otro producto que confía en ellos.

tdammers
fuente
Gracias. Además, básicamente necesito una especificación funcional para saber qué hacer y luego diseñar documentos para saber cómo hacerlo, ¿es correcto? Sólo una pequeña pregunta, ¿cuál es el diseño funcional se ha referido a (Hope no lo puedo añadir confusión a mi comprensión de la especificación funcional)
John V
Un diseño funcional define la funcionalidad prevista del producto, desde el punto de vista del usuario, sin entrar en detalles de implementación. Aquí hay muchas preguntas con excelentes respuestas que dan una explicación exhaustiva sobre qué es y qué no es un diseño funcional.
tdammers
1
Entonces, ¿cuándo deberíamos realmente escribir especificaciones técnicas? Antes del desarrollo? ¿Junto con el desarrollo? o después ..?
shashwat