Galería de mapas mentales Capítulo 5 Diseño general
Diseño estructurado de ingeniería de software: el diseño general puede adoptar una perspectiva global, gastar menos dinero, analizar y comparar múltiples planes de implementación de sistemas y estructuras de software posibles desde un nivel relativamente abstracto, y seleccionar entre ellos el mejor plan y estructura de software para lograr. el desarrollo de sistemas de software de mayor calidad a menor costo.
Editado a las 2023-10-31 18:37:17,El cáncer de pulmón es un tumor maligno que se origina en la mucosa bronquial o las glándulas de los pulmones. Es uno de los tumores malignos con mayor morbilidad y mortalidad y mayor amenaza para la salud y la vida humana.
La diabetes es una enfermedad crónica con hiperglucemia como signo principal. Es causada principalmente por una disminución en la secreción de insulina causada por una disfunción de las células de los islotes pancreáticos, o porque el cuerpo es insensible a la acción de la insulina (es decir, resistencia a la insulina), o ambas cosas. la glucosa en la sangre es ineficaz para ser utilizada y almacenada.
El sistema digestivo es uno de los nueve sistemas principales del cuerpo humano y es el principal responsable de la ingesta, digestión, absorción y excreción de los alimentos. Consta de dos partes principales: el tracto digestivo y las glándulas digestivas.
El cáncer de pulmón es un tumor maligno que se origina en la mucosa bronquial o las glándulas de los pulmones. Es uno de los tumores malignos con mayor morbilidad y mortalidad y mayor amenaza para la salud y la vida humana.
La diabetes es una enfermedad crónica con hiperglucemia como signo principal. Es causada principalmente por una disminución en la secreción de insulina causada por una disfunción de las células de los islotes pancreáticos, o porque el cuerpo es insensible a la acción de la insulina (es decir, resistencia a la insulina), o ambas cosas. la glucosa en la sangre es ineficaz para ser utilizada y almacenada.
El sistema digestivo es uno de los nueve sistemas principales del cuerpo humano y es el principal responsable de la ingesta, digestión, absorción y excreción de los alimentos. Consta de dos partes principales: el tracto digestivo y las glándulas digestivas.
Capítulo 5 Diseño general
Tarea:
El propósito básico es responder "En resumen, ¿cómo implementar un sistema de software?"
Otra tarea importante es diseñar la estructura del software, que consiste en determinar de qué módulos está compuesto cada programa del sistema y la relación entre estos módulos.
necesidad:
Puede adoptar una perspectiva global y gastar menos dinero para analizar y comparar múltiples soluciones de implementación de sistemas y estructuras de software posibles desde un nivel más abstracto, y seleccionar la mejor solución y estructura de software para lograr un bajo costo.
5.1 Proceso de diseño
etapa de diseño del sistema
1. Considere opciones alternativas 2. Seleccione una opción razonable 3. Recomiende la mejor opción
etapa de diseño estructural
1. Descomposición funcional 2. Diseñar la estructura del software 3. Diseñar la base de datos 4. Desarrollar documentos de prueba 5. Escribir documentos 6. Revisar y revisar
5.2 Principios de diseño
5.2.1 Modularidad
Módulo: El módulo es el componente básico del programa.
Modularización: consiste en dividir el programa en módulos que tienen nombres independientes y a los que se puede acceder de forma independiente. Cada módulo puede completar una subfunción. Cuando los módulos se combinan para formar un todo, las funciones especificadas se pueden completar para cumplir con los requisitos del usuario. .
Función (ventajas):
1. La modularización puede aclarar la estructura del software, que no solo es fácil de diseñar sino también de leer y comprender.
2. La modularización puede hacer que el software sea fácil de probar y controlar
3. La modularización puede hacer que el software sea fácil de modificar
4. Contribuir a la organización y gestión de proyectos de desarrollo de software.
5.2.2 Abstracción
abstracto:
La abstracción consiste en abstraer las características esenciales de las cosas sin considerar temporalmente sus detalles. Cada paso en el proceso de ingeniería de software es un refinamiento adicional del nivel de abstracción de la solución de software.
Aplicaciones abstractas:
En la etapa de estudio de viabilidad, el software se utiliza como un componente completo del sistema; en la etapa de análisis de requisitos, la solución de software se describe utilizando un método familiar dentro del entorno del problema en la transición del diseño general a la etapa de diseño detallado; , el nivel de abstracción se reduce gradualmente; finalmente, cuando se escribe el programa fuente, alcanza el nivel más bajo de abstracción;
Ventajas de la abstracción:
Asignar el control de arriba hacia abajo, desde lo abstracto a lo concreto, simplifica el diseño y la implementación del software, mejora la comprensibilidad y la capacidad de prueba del software y hace que el software sea más fácil de mantener.
5.2.3 Buscar gradualmente el refinamiento
definición
Trate de posponer la consideración de los detalles de un problema para poder concentrarse en resolver el problema principal.
La diferencia entre abstracción y refinamiento gradual:
subtema
[La diferencia entre abstracción y refinamiento gradual:
abstracto:
Definición: El proceso de reducir problemas complejos a preguntas o conceptos básicos.
Finalidad: Reducir la complejidad del problema y facilitar su comprensión y procesamiento.
Métodos: clasificación, inducción, generalización, etc.
Refinar gradualmente:
Definición: El proceso de refinar gradualmente un problema desde un nivel alto a un nivel bajo.
Propósito: Descomponer problemas complejos en pequeños problemas manejables para facilitar el diseño y la implementación.
Métodos: descomposición, refinamiento, optimización, etc.
la diferencia:
La abstracción es un proceso de arriba hacia abajo, mientras que el refinamiento paso a paso es un proceso de abajo hacia arriba.
Concéntrese de manera abstracta en la estructura general del problema y gradualmente refine y concéntrese en los detalles específicos del problema.
La abstracción enfatiza la clasificación y la inducción, mientras que el refinamiento gradual enfatiza la descomposición y el refinamiento.
La abstracción y el refinamiento paso a paso se complementan y se utilizan juntos para resolver problemas complejos]
5.2.4 Ocultación y localización de información
[Ocultación y localización de información
ocultación de información
definición
Ocultar detalles internos del sistema
Exponer sólo la información necesaria
ventaja
Reducir la complejidad
Mejorar la seguridad
Mejorar la mantenibilidad
localización
definición
Colocar características o datos relacionados juntos
Reducir las dependencias
ventaja
Mejorar la eficiencia
Reducir el acoplamiento
Mejorar la mantenibilidad;]
5.2.5 Independencia del módulo
Módulo independiente
independencia del módulo
La independencia del módulo se refiere al bajo grado de interdependencia entre las partes dentro del módulo y al bajo grado de acoplamiento entre módulos.
La independencia del módulo ayuda a mejorar la capacidad de mantenimiento y la escalabilidad del sistema.
Una medida de independencia del módulo
La independencia del módulo se puede medir mediante cohesión y acoplamiento.
La cohesión se refiere a la cercanía entre las distintas partes dentro del módulo. Cuanto mayor sea la cohesión, mejor será la independencia del módulo.
El grado de acoplamiento se refiere al grado de dependencia mutua entre módulos. Cuanto menor sea el grado de acoplamiento, mejor será la independencia del módulo.
Métodos para mejorar la independencia del módulo.
Utilice tecnología de ocultación de información para ocultar los detalles de implementación dentro del módulo y exponer solo las interfaces necesarias.
Adopte un método de diseño modular para dividir el sistema en múltiples módulos, cada módulo es responsable de funciones específicas
Utilice métodos de diseño de interfaces para diseñar interfaces interactivas entre módulos para que sean concisas y claras, reduciendo el acoplamiento entre módulos.
Adopte un método de diseño en capas para dividir el sistema en múltiples niveles, cada nivel es responsable de funciones específicas y reduce el acoplamiento entre módulos.
La importancia de la independencia del módulo
La independencia del módulo es uno de los indicadores importantes para medir la calidad del diseño de software.
La independencia del módulo ayuda a mejorar la capacidad de mantenimiento y la escalabilidad del sistema y reduce los costos de mantenimiento y expansión del sistema.
La independencia del módulo ayuda a mejorar la confiabilidad y estabilidad del sistema y a reducir la probabilidad de errores del sistema;
Utilice el acoplamiento de datos tanto como sea posible, utilice menos acoplamiento de control y acoplamiento de funciones, limite el alcance del acoplamiento del entorno público y no utilice ningún acoplamiento de contenido.
5.3 Reglas heurísticas
1. Mejorar la estructura del software y mejorar la independencia del módulo.
2. El tamaño del módulo debe ser moderado.
3. La profundidad, el ancho, la distribución en abanico y la entrada en abanico deben ser apropiados
4. El alcance del módulo debe estar dentro del dominio de control.
5. Esforzarse por reducir la complejidad de las interfaces de los módulos.
6. Diseñar un módulo con entrada única y salida única.
7. Las funciones del módulo deben ser predecibles.
5.4 Herramientas gráficas para describir la estructura del software.
5.4.1 Diagrama jerárquico y diagrama HIPO
5.4.2 Diagrama de estructura
5.5 Método de diseño orientado al flujo de datos
enfoque de diseño estructurado
5.5.1 Concepto
concepto
Dos tipos de flujo de información
1. Flujo de intercambio
2. Logística
5.5.2 Análisis de transformación
5.5.3 Análisis de cosas