Você está na página 1de 32

INGENIERIA DE

SOFTWARE I
Diseño de software
MBA Carolina Arguello
Ing. Ellen Méndez
Lic. Lilian Riveros
Introducción al diseño de
software
• ¿Qué es el diseño?
• Representación ingenieril de algo que se va a hacer. El “plano” del
software

• Áreas que lo conforman


• Datos, Arquitectura, Interfaces y Componentes.
Introducción al diseño de
software
• Resultados:
• Varios modelos para las diferentes áreas.

• Proceso:
• Empieza con la descripción de los requerimientos y se
construye, poco a poco, siguiendo principios de diseño,
hasta obtener la especificación del diseño.
Conversión de un Modelo de Análisis
en un diseño de software
Diseño de software (DS) e
Ingeniería de software

• DS se encuentra en el núcleo técnico de la IS.


• Diseño de datos
• Transforma el dominio de información en estructura de
datos.
• Diseño arquitectónico
• Define la relación entre elementos estructurales de software.
Diseño de software e Ingeniería de
Software
• Diseño de Interfaz manera de comunicarse de software:
• Dentro de sí,
• Con otros sistemas
• Con las personas

• Diseño de componentes
• Transforma elementos estructurales en descripción
procedimental.
Proceso de diseño
• Proceso iterativo
• Inicialmente se presenta en un nivel de abstracción alto y cada
vez se refina más
• La calidad de su evolución se evalúa mediante Revisiones
Técnicas Formales (RTF)
• Guía para la evaluación de un buen diseño:
• Deberá implementar todos los requerimientos.
• Ser legible y comprensible para poder codificar.
• Proporcionar imagen completa de todos los elementos de un DS
Directrices para la calidad del
diseño
• Deberá presentar una estructura arquitectónica que:
• Creada con patrones de diseño reconocibles.
• Formada por componentes de calidad y funcionamientos
independientes.
• Con interfaces que faciliten las conexiones.
• Que se pueda implementar evolutivamente.
• Se modular
• Contener diferentes representaciones
• Derivarse del análisis de forma controlada.
Principio de diseño (según Alan
Davis)
• En el proceso deben tomarse enfoques alternativos
• Deberá rastrearse hasta el análisis.
• Se debe reutilizar.
• Tratar de imitar el dominio del problema
• Uniformidad e integración.
• Deberá estructurarse para admitir cambios.
• Debe prever adaptación a circunstancias inusuales
• No codificar
• Evaluarse en función a la calidad
• Minimizar errores conceptuales
Concepto de diseño
• Abstracción
• Refinamiento
• Modularidad
• Arquitectura de software
Modelado
con UML
Qué es UML?
• El UML modela sistema mediante el uso de objetos que
forman parte de él así como, las relaciones estáticas o
dinámicas que existen entre ellos.
• UML puede ser utilizado por cualquier metodología de
análisis y diseño orientada por objetos para expresar los
diseños.
Qué es UML?
• UML es un Lenguaje de Modelado Unificado basado en una
notación gráfica la cual permite: especificar, construir,
visualizar y documentar los objetos de un sistema
programado.
• Este lenguaje es el resultado de la unificación de los métodos
de modelado orientados a objetos de Booch, Rumbaugh
(OMT: Object Modeling Technique) y Jacobson (OOSE: Object-
Oriented Sotfware Engineering).
UML
• UML es un lenguaje de modelado que sirve para
visualizar, especificar , construir y documentar un
sistema software.
Lenguaje de modelado:
“Lenguaje cuyo vocabulario y reglas se centran en la
representación conceptual y física de un sistema” (Booch,
Jacobson y Rumbaugh).
UML para visualizar
 Símbolos con semántica bien definida.
 UML transciende al lenguaje de programación.
 Modelo explícito, que facilita la comunicación.
UML para especificar
• Especificar es equivalente a construir modelos que
cumplan las condiciones de no ambigüedad y
completitud.
• UML cubre la especificación del análisis, diseño e
implementación de un sistema software.
UML para construir
• Es posible hacer
corresponder con Ingeniería Directa
los lenguajes de
programación Modelo
(Java, C#, B.Datos, UML CÓDIGO
etc.).
Ingeniería Inversa
Diagramas
• Modelo: abstracción semánticamente cerrada de un sistema.
• Vista: proyección de la organización y estructura de un
modelo del sistema, centrada en un aspecto del sistema.
• Diagrama: representación gráfica de un conjunto de
elementos, normalmente mostrado como un grafo conexo de
nodos y arcos.
Diagramas
• Diagramas estructurales: representan partes estáticas de un
sistema, tales como clases, objetos, componentes, etc.
• Diagramas de comportamiento: especifican las partes
dinámicas de un sistema tales como estados del sistema, flujo
de control de actividades, secuencia de mensajes, etc.
Diagramas estructurales
• Diagramas de clases: conjunto de clases, interfaces y
colaboraciones, y las relaciones entre ellas.
• Diagramas de objetos: instantáneas de las instancias de los
elementos encontrados en los diagramas de clases.
• Diagramas de componentes: conjunto de componentes y sus
relaciones.
• Diagramas de despliegue: conjunto de nodos y sus relaciones.
Diagramas de comportamiento
• Diagramas de casos de uso: conjunto de casos de uso y
actores y sus relaciones. Son importantes para organizar
y modelar el sistema.
• Diagramas de interacción:
• Diagramas de secuencia: conjunto de objetos y los mensajes
enviados y recibidos por ellos. Resalta ordenación temporal de los
mensajes.
• Diagramas de colaboración: Resalta organización estructural de
objetos que envían y reciben mensajes.
Diagramas de comportamiento
• Diagramas de estados: representan máquinas de estados,
construida por estados, transiciones, eventos y
actividades.Útiles para modelar sistemas reactivos.
• Diagramas de actividades: muestran el flujo de actividades de
un sistema. Importantes para modelar la función de un
sistema, así como para resaltar el flujo de control entre
objetos.

Você também pode gostar