2. Diseño de la arquitectura
Diseño
• Un diseño es una instancia de
una arquitectura
• Los diseñadores del software
deben elegir entre muchas
alternativas de diseño y llegar
a la solución que mejor se
adapte a las necesidades de
los participantes en el
proyecto.
Arquitectura
• Es la estructura o estructuras
del sistema, lo que comprende
a los componentes del
software, sus propiedades
externas visibles y las
relaciones entre ellos.
• Se centra en la representación
de la estructura de los
componentes del software, sus
propiedades e interacciones
4. Diseño de la arquitectura
El diseño
arquitectónico
representa la
estructura de los
datos
que se
requieren para
construir un
sistema basado
en
computadora
La arquitectura
del software debe
modelar la
estructura de un
sistema y la
manera de como
colaboran entre sí
5. Diseño de arquitectura
La efectividad
del diseño para
cumplir los
requerimientos
establecidos.
• Analizar
Arquitectónicas en
una etapa en la que
hacer cambios al
diseño todavía es
relativamente fácil
• Considerar
alternativas
Riesgos asociados
con la
construcción del
software.
• Reducir
6. Diseño en el nivel de componentes
Un componente es un bloque de construcción de software de cómputo.
Especificación OMG del Lenguaje de Modelado Unificado [OMG03a] define un componente
como
“una parte modular, desplegable y sustituible de un sistema, que incluye la implantación y
expone un conjunto de interfaces”.
El verdadero significado del término componente difiere en función del punto de vista del
ingeniero de software que lo use. En las secciones que siguen, se estudian tres visiones
importantes de lo que es un componente y cómo se emplea en el desarrollo de la
modelación del diseño.
7.
8. Pasos para la realización del diseño en
el nivel de componentes
Paso 1. Identificar todas las
clases de diseño que
correspondan al dominio el
problema.
Paso 2. Identificar todas las
clases de diseño que
correspondan al dominio de la
infraestructura
Paso 3. Elaborar todas las clases de diseño
que no sean componentes reutilizables.
•Paso 3a. Especificar detalles del mensaje cuando
colaboren clases o componentes.
•Paso 3b. Identificar interfaces apropiadas para cada
componente.
•Paso 3c. Elaborar atributos y definir tipos y estructuras
de datos requeridos para implantarlos.
9. Paso 4. Describir las
fuentes persistentes
de datos (bases de
datos y archivos) e
identificar las clases
requeridas para
administrarlos.
Paso 5. Desarrollar y
elaborar
representaciones del
comportamiento para
una clase o
componente.
Paso 6. Elaborar
diagramas de
despliegue para dar
más detalles de la
implantación.
Paso 7. Rediseñar
cada representación
del diseño en el nivel
de componentes y
siempre considerar
alternativas.
10. Diseño de interfaz de Usuario (GUI)
El diseño de la interfaz de usuario crea un medio eficaz de comunicación
entre los seres humanos y la computadora
Hecho por un ingeniero de software diseña la interfaz de usuario con la
aplicación de un proceso iterativo que sigue principios de diseño predefinidos.
En su libro sobre el diseño de la interfaz, Theo Mandel [Man97] acuñó tres
reglas doradas:
1. Dejar el control al usuario.
2. Reducir la carga de memoria del usuario.
3. Hacer que la interfaz sea consistente.
11. Etapas del GUI
1. Definir objetos y
acciones de la interfaz
(operaciones) con el
uso de la información
desarrollada en el
análisis de la intefaz.
2. Definir eventos
(acciones del usuario)
que harán que cambie
el estado de la
interfaz de usuario.
Hay que modelar este
comportamiento.
3. Ilustrar cada estado
de la interfaz como lo
vería en la realidad el
usuario final.
4. Indicar cómo
interpreta el usuario el
estado del sistema a
partir de la
información provista a
través de la interfaz.
12. Bibliografía
I. Sommerville, “Preguntas frecuentes sobre la Ingeniería de Software”.
Ingeniería de Software. Pearson Educacion S.A. : Madrid, 2005.
R. Pressman, “El software y la ingeniería de software". Ingeniería Del
Software. Un Enfoque Práctico. Mcgraw-hill INTERAMERICANA EDITORES, S.A. :
México, 2010.