Diseño del software



Descargar 25,72 Kb.
Fecha de conversión08.06.2017
Tamaño25,72 Kb.
DISEÑO DEL SOFTWARE

El diseño de Software juega un papel importante en el desarrollo de software lo cual permite al ingeniero de software producir varios modelos del sistema o producto de que se va a construir el mismo que forman una especie de plan de la solución de la aplicación. Estos modelos pueden evaluarse en relación con su calidad y mejorarse antes de generar código, de realizar pruebas y de que los usuarios finales se vean involucrados a gran escala. El diseño es el sitio en el que se establece la calidad del software.

Fundamentos del Diseño de Software

Conceptos generales de diseño

El software no es el único campo donde el diseño se encuentra inmiscuido. En general podemos ver el diseño como una forma para resolución de problemas. El problema sin solución definitiva es interesante en términos de comprensión del diseño. Un número de otras nociones y conceptos son también de interés en la comprensión del diseño en su sentido general, objetivos, limitaciones, alternativas, representaciones y soluciones



Contexto del diseño de software

El diseño del software se encuentra en el núcleo técnico de la respectiva ingeniería y se aplica de manera independiente al modelo de software que se utilice. Una vez que se analizan y especifican los requisitos, el diseño del software es la última acción de la ingeniería correspondiente dentro de la actividad del modelado, la cual establece una plataforma para la construcción (generación de código y prueba).



Proceso del Diseño de Software

Diseño Arquitectónico.

El diseño arquitectónico puede representarse al usar uno o más de muchos modelos diferentes. Los modelos estructurales representan la arquitectura como una colección organizada de componentes del programa. Los modelos del marco de trabajo repetible incrementan el grado de abstracción del diseño al intentar identificar marcos de trabajo repetibles del diseño arquitectónico que se encuentran en tipos de aplicaciones similares.



Diseño Detallado

El diseño detallado se describe el comportamiento específico de estos componentes.




Técnicas Permitidas

Abstracción

Abstracción es el proceso o el resultado de la generalización de la reducción del contenido de la información de un concepto o un fenómeno observable, por lo general, con el fin de conservar únicamente la información que es relevante para un propósito en particular. Cuando se considera una solución modular a cualquier problema se pueden exponer muchos grados de abstracción.

En un alto grado de abstracción una solución se establece en términos generales con el lenguaje del entorno del problema.

En los grados de menor abstracción se proporciona una descripción más detallada de la solución.

En la medida en que se cambian los diferentes grados de abstracción se trabaja para crear abstracciones procedimentales y de datos.

Abstracción Procedimental: Se refiere a una secuencia de instrucciones que tiene una función específica y limitada.

Abstracción de Datos: Es una colección nombrada de datos que describe un objeto de datos.

Acoplamiento y Cohesión

Dentro del modelo de diseño es necesario que las clases de diseño colaboren con alguna otra.

Es una medida de la interconexión entre los módulos de la estructura de un programa. Depende de la complejidad de la interfaz entre los módulos, el punto en el que se entra o se hace referencia al módulo y qué datos pasan a través de la interfaz. Intentamos conseguir el menor nivel posible de acoplamiento. Las conexiones sencillas entre los módulos hacen que el software sea más fácil de entender y menos dado al efecto ola.

Acoplamiento: La fuerza de las relaciones entre los módulos.

Acoplamiento de datos: está subordinado al módulo y se accede a él por medio de una lista convencional de argumentos a través de la cual se pasan los datos.

Acoplamiento de marca: cuando en vez de argumentos simples se pasa una porción de la estructura de datos se pasa por la interfaz del módulo.

Acoplamiento de control: se pasa un indicador de control (una variable que controla las decisiones en el módulo subordinado).

Acoplamiento externo: cuando los módulos están atados a un entorno externo al software. Por ejemplo, las I/O y los dispositivos.

Acoplamiento común: varios módulos hacen referencia a un área global de datos.

Acoplamiento de contenido: un módulo hace uso de datos o de información de control mantenidos dentro de los límites de otro módulo. Cuando se realiza una bifurcación hacia la mitad de otro módulo.

Una clase de diseño cohesiva tiene un conjunto de responsabilidades pequeño y enfocado, y aplica atributos y métodos de manera sencilla de implementar dichas responsabilidades.



Cohesión: Como están relacionados los elementos que conforman un modulo.

Es una extensión natural del concepto de ocultamiento de la información. Un módulo con cohesión realiza una sola tarea dentro de un procedimiento de software, requiriendo poca interacción con los procedimientos que se realizan en otras partes del programa. Un módulo con cohesión debería hacer una sola cosa.



Siempre debemos buscar la cohesión más alta, aunque la parte media del espectro es a menudo aceptable.

Coincidencia mente cohesivo: un módulo que realiza un conjunto de tareas poco relacionadas las unas con las otras.

Cohesión lógica: realiza tareas relacionadas lógicamente (produce todas las salidas).

Cohesión temporal: contienen tareas relacionadas por el hecho de que todas deben hacerse en el mismo intervalo de tiempo.

Cohesión procedimental: cuando los elementos de procesamiento están relacionados y deben ejecutarse en un orden específico.

Cohesión de comunicación: todos los elementos de procesamiento se concentran en un área de la estructura de datos.


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal