El diseño de software es un proceso que nos permite definir la arquitectura, los
componentes, interfaces y otras características de un sistema, el diseño de software es un ciclo de vida en el cual se hace un análisis de los requisitos del software y de esta forma encontrar su estructura interna que servirá como base para construirlo. Fundamentos: Pero el diseño de software al igual que la mayoría de procesos tienen una división interna, este se divide en: Diseño Arquitectónico: este se encarga de descomponer el software y describir sus partes de forma general en función de la estructura. Diseño Detallado: describe el funcionamiento específico de cada componente. En este capítulo del swebok se muestran algunas técnicas que nos van llevando al diseño del software las que me parecieron más relevantes son: Abstracción: este es el proceso de olvidar alguna información, para poder tratar todo como cosas iguales. Acoplador y Cohesión: Hace referencia con cohesión a la relación entre módulos y el acoplador es la fuerza de la relación entre módulos. Entre las técnicas también se encuentran encapsulación, descomposición y modularización : estos dos hacen referencia a técnicas en las cuales se puede analizar y agrupara la información. El desahogo se puede tomar como la respuesta que se da después de la abstracción ya que este rectifica la información para saber si realmente se eliminó todo lo que era innecesario. Cuestiones claves: Contribuye en la organización y construcción de paquetes de software, tiene algunas llaves que ayudan en este proceso, entre todas las que se mencionan me parecen importantes las siguientes: Distribución de componentes: es importante porque se encarga de integrar el software con el hardware necesario de acuerdo a la función que cumplirá. Interacción y Presentación: hace referencia a la parte visible, del software a como interactúa con los usuarios. Estructura y Arquitectura de software: Es una de las partes más importantes ya que hace referencia a la calidad del proceso de diseño, este permite utilizar métricas para definir tamaños, estructura o calidad del software. Notaciones del diseño de software: dentro de las notaciones se pueden observar graficas generalmente, es su función describir la arquitectura de software y sus componentes. Estrategias y métodos: Es importantísima esta parte porque es la que nos da la guía para dirigir el diseño de software, la estrategia se aplica en términos generales, los métodos deben ser más específicos, se define la utilización de paradigmas y también se define el tipo de proceso que se va a utilizar.