Escolar Documentos
Profissional Documentos
Cultura Documentos
GLOBALTEC
UNIDAD 4
Modelo de Diseo
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Contenido
4.1 Estrategias de Diseo....................................................................................................................... 4
4.2 Diseo de Objetos ............................................................................................................................. 7
Referencias .............................................................................................................................................. 22
Pgina 3 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Divide y vencers
Implica resolver un problema difcil, dividindolo en partes ms simples tantas veces
como sea necesario, hasta que la resolucin de las partes se torna obvia. La
solucin del problema principal se construye con las soluciones encontradas.
Top-down vs bottom-up
Se formula un resumen del sistema, sin especificar detalles. Cada parte del sistema
se refina diseando con mayor detalle. Cada parte nueva es entonces redefinida,
cada vez con mayor detalle, hasta que la especificacin completa es lo
suficientemente detallada para validar el modelo. El modelo "Top-down" se disea
con frecuencia con la ayuda de "cajas negras" que hacen ms fcil cumplir
requerimientos aunque estas cajas negras no expliquen en detalle los componentes
individuales. En contraste, en el diseo Bottom-up las partes individuales se disean
con detalle y luego se enlazan para formar componentes ms grandes, que a su vez
se enlazan hasta que se forma el sistema completo. Las estrategias basadas en el
flujo de informacin "bottom-up" se hacen potencialmente necesarias y suficientes
porque se basan en el conocimiento de todas las variables que pueden afectar los
elementos del sistema.
(Se denomina caja negra a aquel elemento que es estudiado desde el punto de vista
de las entradas que recibe y las salidas o respuestas que produce, sin tener en
cuenta su funcionamiento interno.)
Pgina 4 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Uso de heursticas
La resolucin de problemas es especficamente distinta del aprendizaje de hechos,
la creacin de estructuras conceptuales y la adquisicin de destrezas, algoritmos y
valores. Sin embargo es una importante tcnica metodolgica para la formacin de
conceptos y para establecer relaciones entre ellos. Son reglas muy generales que
permiten transformar el problema en una situacin ms sencilla, nos ayudan a
comprender el problema y favorecer el xito en encontrar la solucin.
Uso de patrones
Contribuyen a reutilizar diseo grfico, identificando aspectos claves de la estructura
de un diseo que puede ser aplicado en una gran cantidad de situaciones. La
importancia de la reutilizacin del diseo no es despreciable, ya que sta nos provee
de numerosas ventajas: reduce los esfuerzos de desarrollo y mantenimiento, mejora
la seguridad informtica, eficiencia y consistencia de nuestros diseos, y nos
proporciona un considerable ahorro en la inversin. Mejoran (aumentan, elevan) la
flexibilidad, modularidad y extensibilidad, factores internos e ntimamente
relacionados con la calidad percibida por el usuario.
Pgina 5 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Pgina 6 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Pgina 7 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Pgina 8 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Pgina 9 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Cabe sealar, sin embargo, que otra "capa" de diseo existe, y esta capa forma la base
sobre la que descansa la pirmide. La capa de base se centra en el diseo de objetos
de dominio (llamados patrones de diseo ms adelante en este captulo). Objetos de
dominio desempean un papel clave en la construccin de la infraestructura para el
sistema orientado a objetos mediante el apoyo a actividades de interfaz
humano/ordenador, gestin de tareas y gestin de datos. Los objetos de dominio
tambin se pueden utilizar para profundizar en el diseo de la propia aplicacin.
El diseo del sistema se obtiene teniendo en cuenta las necesidades generales de los
clientes (representados con casos de uso) y los eventos y estados que son
externamente observables (el modelo objeto-comportamiento). Clase y diseo de
objetos se asigna a partir de la descripcin de los atributos, operaciones y
colaboraciones contenidas en el modelo CRC. El mensaje de diseo es impulsado por
el modelo objeto-relacin, y el diseo de las responsabilidades est derivadas de los
atributos, operaciones y colaboraciones descritas en el modelo de CRC.
Fichman y Kemerer [FIC92] sugieren diez componentes de modelado de diseo que se
pueden utilizar para comparar diversos mtodos de diseo convencionales y orientados
a objetos:
1. Representacin de la jerarqua de mdulos.
2. Especificacin de las definiciones de datos.
3. Especificacin de la lgica procesal.
4. Indicacin de secuencias de procesamiento de extremo a extremo.
5. Representacin de estados y transiciones de objetos.
6. Definicin de las clases y las jerarquas.
7. La asignacin de las operaciones a las clases.
8. Definicin detallada de las operaciones.
9. Especificacin de conexiones de mensajes.
10. Identificacin de los servicios exclusivos.
Pgina 10 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
El diseo del sistema (Figura 2.4) se centr en proporcionar la funcional del sistema a
travs de sus diferentes componentes. Las actividades que se realizan en este proceso
son:
1. Dividir requerimos: Analice los requerimientos y organcelos en grupos afines.
Normal existen varias opciones posibles de divisin, y pueden sugerir varias
alternativas en esta de procesos.
2. Identificar subsistemas. Debe identificar los diferentes subsistemas que pueden,
individual o colectivamente, cumplir los requerimientos. Los grupos de
requerimiento estn normalmente relacionados con los subsistemas, de tal forma
que esta actividad y la divisin de requerimientos se pueden fusionar. Sin
embargo, la identificacin de subsistemas se puede ver influenciada por otros
factores organizacionales y del entorno.
3. Asignar requerimientos a los subsistemas. Asigne los requerimientos a los
subsistemas. En principio, esto ser sencillo si la divisin de requerimientos se
utiliza para la identificacin de subsistemas. En la prctica, no existe igualdad
entre las divisiones de requerimientos y la identificacin de subsistemas. Las
limitaciones de los subsistemas comerciales pueden significar que tenga que
cambiar los requerimientos para acomodarlos a estas restricciones.
4. Especificar la funcionalidad de los subsistemas. Debe enumerar las funciones
especficas asignadas a cada subsistema. Esto puede verse como parte de la
fase de diseo del sistema o, si el subsistema es un sistema de software, como
parte de la actividad de especificacin de requerimientos para ese sistema.
Tambin debe especificar las relaciones entre los subsistemas en esta etapa.
5. Definir las interfaces del subsistema. Defina las interfaces necesarias y
requeridas por cada subsistema. Una vez que estas interfaces se han acordado,
es posible desarrollar estos subsistemas en paralelo.
Figura 2.4
Pgina 11 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Un diseo debe presentar una organizacin jerrquica que haga un uso inteligente
del control entre los componentes del software.
El diseo debe ser modular, es decir, se debe hacer una particin lgica del Software
en elementos que realicen funciones y sub funciones especficas.
Un diseo debe contener abstracciones de datos y procedimientos.
Debe producir mdulos que presenten caractersticas de funcionamiento
independiente.
Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los
mdulos y el entorno exterior.
Debe producir un diseo usando un mtodo que pudiera repetirse segn la
informacin obtenida durante el anlisis de requisitos de Software.
Una revisin es un proceso o reunin durante la cual un producto de trabajo, un
conjunto de productos de trabajo o la evidencia de la ejecucin de un proceso se
presenta al equipo del proyecto, a los administradores, usuarios, clientes u otras partes
interesadas para su comentario o aprobacin.
Las revisiones al diseo de los productos de software se realizan por demanda con el
objetivo de detectar e identificar no conformidades en el diseo antes de pasar a la
codificacin, as como tambin identificar aspectos de mejoramiento. Entre otros, en
esta actividad se verifica la arquitectura y utilizacin de patrones en el diseo.
Pgina 12 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Cuando el diseo se completa se mantienen reuniones con los clientes para revisarlos
antes de avanzar al desarrollo, el proceso de revisin se realiza en tres etapas en
correspondencia con los pasos del proceso del diseo:
Se recomienda que el nmero de integrantes sea pequeo de modo que faciliten las
discusiones.
Durante la revisin se presenta a la audiencia el diseo conceptual. Al hacerlo, se
demuestra que el sistema tiene estructura requerida, las funciones y las
caractersticas especificadas por los documentos del anlisis.
Todos los participantes, en conjunto, verifican que el diseo propuesto incluya el
hardware necesario, interfaces con otros sistemas entradas y salidas.
Los clientes prueban los dilogos y mens, los formatos de los informes y el
tratamiento e defectos propuestos.
Analistas
Diseadores del sistema
Moderador
Diseadores del programa para el proyecto
Probador del sistema
Pgina 13 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Analistas
Diseadores del sistema
Diseadores del programa
Moderador, secretario y probador del sistema.
Pgina 14 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Pgina 15 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
La idea primordial es que las interacciones entre los objetos se realiza en una
secuencia establecida y que la secuencia se toma su tiempo en ir del principio al fin. Al
momento de crear un sistema tendr que especificar la secuencia, y para ello, utilizara
al diagrama correspondiente.
Objetos
Se colocan cerda de la parte superior del diagrama de izquierda a derecha y se
acomodan de manera que simplifiquen al diagrama. La extensin que esta debajo (y en
forma descendente) de cada objeto ser una lnea discontinua conocida como la lnea
de vida de un objeto. Junto con esta se encuentra un pequeo rectngulo conocido
como activacin, el cua representa la ejecucin de una operacin que realiza el objeto.
La longitud del rectngulo se interpreta como la duracin de la activacin.
Representacin de un Objeto
en un Diagrama de Secuencias.
Mensaje
Un mensaje que va de un objeto a otro pasa de la lnea de vida de un objeto a la de
otro. Un objeto puede enviarse un mensaje a si mismo (Es decir, desde su lnea de vida
hacia su propia lnea de vida).
Pgina 16 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Tipos de mensajes
Tiempo
El diagrama representa tiempo en direccin vertical. El tiempo se inicia en la parte
superior y avanza hacia la parte inferior. Un mensaje que est ms cerca de la parte
superior ocurrir antes que uno que est cerca de la parte inferior.
Con ello el diagrama de secuencias tiene dos dimensiones. La dimensin horizontal es
la disposicin de los objetos, y la dimensin vertical muestra el paso del tiempo
Pgina 17 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Pgina 18 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Clase
Objeto
Compuesto
Paquete
Componente
Despliegue
Diagramas de Comportamiento:
Casos de Uso
Comunicacin
Secuencia
Descripcin de la Interaccin
Actividad
Estado
Tiempo
Pgina 19 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Diagramas de Secuencia
Pgina 20 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Diagrama de Implementacin
Pgina 21 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Referencias
Diseo de sistema
Software Engineering
APRACT IT I O N ER SAPPR OAC H
Captulo 22
Estrategias de diseo
http://indalog.ual.es/mtorres/LP/FundamentosDiseno.pdf
http://translate.google.com.mx/translate?hl=es&langpair=en%7Ces&u=http://neverletdown.net/2010/08/choo
sing-a-software-design-strategy/
Revisin de diseo
http://www.slideshare.net/SergioRios/unidad-21-diseo-de-sistemas Pg. 59
Pgina 22 de 22
GlobalTec
Fundamentos de Ingeniera del Software
UNIDAD 4
Pgina 23 de 22