Especificación de diseño detallada El propósito de escribir la especificación de diseño detallada

1. Especificación de diseño detallada del software 2. ¿Cómo escribir una especificación de diseño detallada? 3. Materiales de referencia para especificaciones de diseño detalladas Especificaciones de diseño detalladas de software

Plantilla de especificación de diseño de software orientado a objetos

1 Descripción general

1.1 Breve descripción del sistema

Una breve descripción de lo que debe lograr el sistema, los usuarios a los que está destinado y el entorno en el que se ejecuta. Esta parte proviene principalmente del comienzo de la especificación de requisitos.

1.2 Objetivos de diseño de software

Esta parte analiza los objetivos de diseño de todo el sistema, indicando claramente qué funciones el sistema decide implementar y qué funciones no está preparado para implementar. Al mismo tiempo, también es necesario mencionar requisitos no funcionales como rendimiento, disponibilidad, etc. La especificación de requisitos es una referencia muy importante para esta parte del contenido. Mire los requisitos funcionales y no funcionales especificados en ella.

Esta parte debe describir claramente el diseño general, para que los lectores conozcan las características y funciones del sistema a implementar. En secciones posteriores de la documentación, se explicará cómo el diseño logra esto.

1.3 Referencias

Enumere las referencias citadas en este documento. (Al menos citar la especificación de requisitos)

1.4 Registro de revisiones

Enumere el historial de modificaciones de este documento. Deberá especificarse el contenido, fecha y autor de la modificación.

2 Glosario

Explica varios términos utilizados en este documento. Si algunos términos ya se han explicado en la especificación de requisitos, no es necesario repetirlos aquí y los lectores pueden ser dirigidos a la especificación de requisitos.

3 casos de uso

Aquí se requiere que el sistema se exprese en un diagrama de casos de uso (UML), y cada caso de uso (situación de procesamiento normal) debe tener una descripción en chino.

4 Descripción general del diseño

4.1 Breve descripción

Esta parte requiere resaltar el método utilizado en todo el diseño (ya sea diseño orientado a objetos o diseño estructurado) Arquitectura sistemática (como la estructura cliente/servidor) y las tecnologías y herramientas correspondientes utilizadas (como OMT, Rose)

4.2 Diseño de la estructura del sistema

Esta parte requiere una descripción de los altos Estructura del sistema a nivel, utilice diagramas de bloques para mostrar los componentes principales y las interacciones entre ellos. Lo mejor es separar la estructura lógica de la estructura física y describir la primera. No olvides explicar la jerga y los símbolos utilizados en la imagen.

4.2.1 Estructura del sistema de nivel superior

4.2.2 Estructura del subsistema 1

4.2.3 Estructura del subsistema 2

4.3 Sistema Interfaces

Aquí se describen las diversas interfaces proporcionadas a los usuarios y sistemas externos. Si la interfaz de usuario ya se describió en la especificación de requisitos, no es necesario repetirla aquí. El lector puede ser dirigido a la especificación de requisitos. Si el sistema proporciona interfaces a otros sistemas, como importar/exportar datos de otros sistemas de software, esto debe indicarse aquí.

4.4 Restricciones y supuestos

Describa las restricciones más importantes en el diseño del sistema, que son impuestas por el cliente y establecidas en la especificación de requisitos. Describa cómo se adapta el sistema a estas restricciones.

Además, si el sistema interactúa con otros sistemas externos o depende de otros sistemas externos para proporcionar alguna asistencia funcional, el sistema también puede estar sujeto a otras restricciones. En este caso, es necesario describir claramente el tipo de software que interactúa con el sistema (como tal o cual software de base de datos, tal o cual software de correo electrónico) y las limitaciones causadas por esto (por ejemplo, solo se permiten correos electrónicos de texto plano). ).

El lenguaje y la plataforma implementados también tendrán restricciones en el sistema, que también se explican aquí.

En cuanto a las limitaciones del sistema causadas por la elección de una implementación de diseño específica, describa brevemente sus ideas, qué tipo de compensaciones atraviesa, por qué debería adoptar dicho diseño, etc.

5 Modelo de objetos

5.1 Modelo de objetos del sistema

Proporcione el modelo de objetos de todo el sistema. Si el modelo es demasiado grande, divídalo en partes pequeñas según corresponda. Según estándares factibles, por ejemplo, los modelos de objetos de cliente y servidor se pueden separar en dos diagramas.

¿Qué debe contener el diagrama de objetos?

Todos los objetos del sistema deben incluirse en él. Estos objetos se obtienen al comprender los requisitos. Sea claro sobre lo que debe y no debe incluirse en el diagrama.

Se deben determinar todas las relaciones entre objetos y se debe especificar la cardinalidad de la relación (uno a uno, uno a muchos o muchos a muchos, 0..1, *, 1..*). Las relaciones de agregación y herencia deben identificarse claramente. Cada figura debe ir acompañada de una breve descripción.

Pueden ser necesarias muchas iteraciones para obtener el modelo de objetos correcto del sistema.

6 Descripción del objeto

En esta sección, describe los detalles de cada objeto, sus propiedades y sus métodos. Antes de que esto pueda suceder, los objetos deben organizarse lógicamente. Es posible que necesite utilizar un diagrama de estructura para dividir objetos en subsistemas.

Haz una entrada para cada objeto. Describa brevemente su propósito, restricciones (como solo una instancia) y enumere sus propiedades y métodos en el modelo de objetos del sistema. Si el objeto se almacena en un contenedor de datos persistentes, es un objeto persistente; de ​​lo contrario, es un objeto transitorio.

Descripción detallada de cada atributo de cada objeto: nombre, tipo, si el atributo no es muy intuitivo o tiene restricciones (por ejemplo, el atributo de cada objeto debe tener un valor único o el rango de valores es limitado) números enteros positivos, etc.).

Descripción detallada de cada método de cada objeto: nombre del método, tipo de retorno, valor de retorno, parámetros, finalidad y una breve descripción del algoritmo utilizado (si no es especialmente sencillo). Si se hacen suposiciones sobre variables o valores de retorno, aquí se deben indicar las condiciones previas y posteriores. Enumera las propiedades a las que él o los métodos llamados por él necesitan acceder o modificar. Finalmente, se proporcionan casos de prueba que pueden verificar el método de implementación.

6.1 Objetos en el Subsistema 1

6.1.1 Objeto: Objeto 1

Propósito:

Restricciones:

Persistencia:

6.1.1.1 Descripción de propiedad:

1. Propiedad: Propiedad 1

Tipo:

Descripción:

Restricciones:

2. Atributo: Atributo 2

6.1.1.2 Descripción del método:

1. p> p>

Tipo de retorno:

Parámetros:

Valor de retorno:

Condición previa:

Condición posterior :

Atributos leídos/modificados:

Método llamado:

Lógica de procesamiento:

Ejemplo de prueba: ¿Qué parámetros se utilizan para llamar al método?, ¿cuál es el resultado esperado?

7 Modelo dinámico

La función de esta parte es describir cómo responde el sistema a varios eventos. Por ejemplo, se puede construir un modelo de comportamiento del sistema. Generalmente se utilizan diagramas de secuencia y diagramas de estado.

Determinar diferentes escenarios (Scenario) es el primer paso. No es necesario determinar todos los escenarios posibles, pero debe cubrir al menos los casos de uso típicos del sistema. En lugar de crear escenarios a partir de su propia imaginación, una estrategia común es describir escenarios con los que sus clientes puedan identificarse.

7.1 Escenarios

Haz una entrada para cada escena, incluyendo lo siguiente:

Nombre de la escena: asígnale un nombre que se pueda entender fácilmente

Descripción de la escena: Describe brevemente de qué se trata la escena y la secuencia de acciones que ocurren.

Diagrama de secuencia: Describe varios eventos y la secuencia temporal relativa de su ocurrencia.

7.1.1 Escena: Escena 1

Descripción:

Acción 1

Acción 2

7.2 Estado Diagrama

Esta parte incluye diagramas de estado de partes importantes del modelo dinámico del sistema. Tal vez desee dibujar un diagrama de estado para cada objeto, pero de hecho esto generará demasiada información detallada no deseada. Simplemente identifique algunos objetos importantes en el sistema y proporcione un diagrama de estado para ellos.

7.2.1 Diagrama de Estados 1:

8 Requisitos no funcionales

En este apartado se debe explicar cómo manejar los requisitos no funcionales especificados en el documento de requisitos. Evaluar de la forma más objetiva posible la capacidad del sistema para hacer frente a cada requisito no funcional. Si algunos requisitos no funcionales no se implementan completamente en el sistema diseñado, asegúrese de mencionarlos aquí. Además, también será necesario hacer una estimación de la evolución futura del sistema y describir cómo el diseño permitirá que el sistema se adapte a estos cambios previsibles.

9 Documentos Auxiliares

Aportar los documentos correspondientes que puedan ayudar a comprender el diseño.

10 Índice de vocabulario

¿Cómo escribir instrucciones de diseño detalladas para la entrada de artículos?

Diseño detallado, este es un nivel importante que pone a prueba el pensamiento de diseño de los expertos técnicos. Las instrucciones de diseño detalladas deben proporcionar módulos específicos a los codificadores de la manera más limpia (estructura de caja negra), haciendo que el sistema general sea modular. Alcanzar el máximo; una buena especificación de diseño detallada puede reducir la complejidad de la codificación al mínimo. De hecho, estrictamente hablando, la especificación de diseño detallada debe proporcionar la definición de cada parámetro de cada función, desde el análisis de requisitos hasta. Desde el diseño del esquema hasta la finalización de las especificaciones de diseño detalladas, se debe decir que un proyecto de software está a medio completar. En otras palabras, cuando un sistema de software grande está a mitad de camino, todavía no se ha iniciado una línea de código.

Aquellos que simplemente entienden a los programadores de software como escritores de códigos han cometido un error fundamental. Materiales de referencia para la especificación de diseño detallada

Enumere los materiales de referencia para la especificación de diseño detallada, como por ejemplo:

a. La declaración de misión aprobada o contrato de este proyecto, y la especificación de diseño detallada aprobada por la autoridad superior;

b. Otros documentos publicados pertenecientes a este proyecto;

c. Documentos citados a lo largo de este documento, incluidos los estándares de desarrollo de software que se utilizarán. Indique el título, número de documento, fecha de publicación y organización editorial de estos documentos, e indique la fuente de donde se pueden obtener estos documentos.

F.2 Estructura del sistema de programas

Utilice una serie de cuadros para enumerar el nombre, el identificador y el nombre de cada programa (incluido cada módulo y subprograma) en este sistema de programas. relación jerárquica entre ellos.

F.3 Instrucciones de Diseño del Programa 1 (Identificador)

A partir de este capítulo, se dan una por una las consideraciones de diseño para cada programa en cada nivel. El esquema que figura a continuación es para un caso general. Para un módulo específico, especialmente un módulo o subrutina de nivel inferior, el contenido de muchas de sus entradas suele ser el mismo que el contenido de las entradas correspondientes del módulo de nivel superior al que pertenece. En este caso, simplemente explique esto. Sólo un poco.

F.3.1 Descripción del programa

Proporcione una breve descripción del programa, explicando principalmente el propósito y la importancia de organizar y diseñar este programa, y ​​también explicando las características de este programa (como como común residente en memoria o no residente? ¿Es una subrutina? ¿Es reentrante o no reentrante? ¿Es un proceso secuencial o concurrente, etc.?

F.3.2 Función

Describe las funciones que debe tener el programa, las cuales pueden ser en forma de diagrama IPO (es decir, diagrama entrada-proceso-salida).

F.3.3 Desempeño

Describa todos los requisitos de desempeño para el programa, incluidos los requisitos de precisión, flexibilidad y características de sincronización.

F.3.4 Elementos de entrada

Proporcione las características de cada elemento de entrada, incluido el nombre, la identificación, el tipo y formato de datos, el rango válido de valores de datos y el método de entrada. Cantidad y frecuencia, medios de entrada, fuente de datos de entrada, condiciones de seguridad y confidencialidad, etc.

F. 3. 5 Elementos de salida

Proporciona las características de cada elemento de salida, incluido el nombre, la identificación, el tipo y formato de datos, el rango válido de valores de datos, la forma de salida, la cantidad y frecuencia, soporte de salida, descripción de gráficos y símbolos de salida, condiciones de seguridad y confidencialidad, etc.

F. 3.6 Algoritmo

Detalla el algoritmo seleccionado para este programa, la fórmula de cálculo específica y los pasos de cálculo.

F. 3.7 Lógica del proceso

Utilice gráficos (como diagramas de flujo, tablas de decisiones, etc.) complementados con las explicaciones necesarias para representar el flujo lógico de este programa.

F. 3.8 Interfaz

Utilice diagramas para explicar los módulos de nivel superior a los que pertenece este programa y los módulos y subrutinas de nivel inferior a los que pertenece este programa. Explique la asignación de parámetros y los métodos de llamada, y explique la conexión directa. con este programa. Estructuras de datos asociadas (bases de datos, archivos de datos).

F. 3.9 Asignación de almacenamiento

Describe la asignación de almacenamiento de este programa según sea necesario.

F. 3.10 Diseño de anotaciones