|
Inicio
Generalidades
Ejercicios
Talleres
Proyecto

|
DISEÑO DE SOFTWARE
El diseño orientado a objetos es un
medio para diseñar software de tal forma que los componentes del diseño
representen objetos con su estado y operaciones privadas propias en lugar
de funciones. Los objetos se implementan de manera secuencial o
concurrente. Un objeto concurrente puede ser un objeto pasivo cuyo estado
sólo se cambia a través de su interfaz o un objeto activo que cambia su
propio estado sin intervención externa.
UML se diseñó para suministrar
un conjunto de notaciones diversas que se utilizan para documentar un
diseño orientado a objetos. El proceso de un DOO incluye actividades para
diseñar la arquitectura del sistema, identificar los objetos en el
sistema, describir el diseño utilizando diversos modelos de objetos y
documentar las interfaces de objetos.
Puede descargar aquí
una presentación sobre
UML.

Durante un proceso de DOO se produce
una gran variedad de modelos, entre los que se encuentran los
modelos estáticos (modelos de clases, de generalización, de
asociación) y dinámicos (modelos de secuencia y de máquina
de estado). Las interfaces de objetos deben definirse de forma precisa
para que puedan ser utilizadas por otros objetos (reutilización). Una
ventaja importante del DOO es que simplifica la evolución del sistema.
Para documentar las interfaces de objetos se utiliza un lenguaje de
programación como Java.
El proceso de diseño de
interfaces se centra en el usuario. Una interfaz interacciona con
el usuario en sus términos, es lógica y consistente, e incluye recursos
para ayudar a los usuarios con el sistema y poder recuperarse de los
errores. Los estilos de interacción con un sistema de software incluyen la
manipulación directa, los sistemas de menús, llenado de formularios,
lenguajes de comandos y lenguaje natural.

El despliegue gráfico de la información
se utiliza cuando se pretenden presentar tendencias y aproximar valores.
El despliegue digital sólo se utiliza cuando se requiere precisión. El
color se utiliza moderada y consistentemente en las interfaces de usuario.
Los diseñadores deben tener en cuenta el hecho de que muchas personas no
detectan los colores adecuadamente.
Los mensajes de error no deben hacer
sentir culpable al usuario. Deben ofrecer sugerencias de cómo reparar el
error y proveer un vínculo al sistema de ayuda. La documentación del
usuario incluye manuales de principiantes y de referencia. Los documentos
para los administradores del sistema se proveen de forma separada.
Ejercicios "amistosos"
-
Mediante un diagrama entidad-relación, describa las
actividades principales en el proceso general de diseño de software.
-
Describa en detalle al menos 5 ventajas y 5
desventajas del enfoque orientado a objetos y del enfoque orientado a
flujo de datos para el desarrollo de sistemas.
-
Utilizando ejemplos, explique la diferencia entre un
objeto y una clase de objetos.
-
¿Bajo qué circunstancias sería apropiado desarrollar
un diseño donde los objetos se ejecuten concurrentemente?
-
Mediante la notación gráfica de UML para clases de
objetos, diseñe las siguientes clases de objetos identificando los
atributos y las operaciones. Utilice la experiencia propia para
decidir sobre los atributos y métodos que están asociados a estos
objetos: un teléfono, una impresora para PC, un sistema estéreo
personal, una cuenta bancaria, un catálogo de biblioteca.
-
Explique por qué un modelo de llamada-retorno de
control no es apropiado para sistemas de tiempo real que controlan un
proceso.
-
Identifique los objetos posibles en los siguientes
sistemas y desarrolle un DOO para ellos: <> Un sistema para
administrar las agendas y el tiempo de un grupo que pretende apoyar la
programación de reuniones y citas de un grupo de investigadores.
Cuando se hace una cita que comprende varias personas, el sistema
encuentra un hueco común en cada una de las agendas y confirma la cita
para esa hora. Si no existen huecos disponibles, interactúa con los
usuarios para arreglar sus agendas personales con el fin de hallar
espacio para la cita. <> La gasolinera de Ambalá va a operar
completamente automatizada. Los conductores deslizan su tarjeta de
crédito a través del lector conectado a la bomba, la tarjeta se
verifica por medio de la comunicación con un computador de la compañía
de crédito y se establece un límite de gasolina. Después el conductor
toma el combustible solicitado. Cuando se completa la entrega y la
manguera de la bomba se regresa a su sitio, se le aplica el cargo del
costo de la gasolina suministrada a la tarjeta de crédito del
conductor. Se regresa la tarjeta de crédito después de aplicar el
cargo. Si la tarjeta no es válida, ésta es regresada antes de
suministrar la gasolina.
-
Sugiera objetos adecuados para los siguientes tipos de
usuarios y sistemas: <> Un asistente de bodega que utiliza un
catálogo automatizado de partes, <> un piloto de aviones que
utiliza un sistema de supervisión de seguridad de aviones, <> un
administrador que manipula una base de datos financiera, <> un
policía que utiliza un sistema de control de patrullas.
-
A usted se le han asignado dos conjuntos de
herramientas CASE no integradas y se le pide compararlos. Explique
cómo utilizaría un modelo de referencia CASE para hacer esta
comparación.
-
Sugiera varias formas en las que podría adaptar la
interfaz de usuario de un sistema de comercio electrónico, como una
librería en línea o una tienda de discos, a usuarios que tienen alguna
discapacidad física, o problemas visuales o problemas con el control
muscular.
-
Discuta las ventajas del despliegue gráfico de la
información y sugiera cuatro aplicaciones donde es más apropiado
utilizar despliegues gráficos en lugar de despliegues digitales e
información numérica.
-
Considere los mensajes de error producidos por
MS-Windows o algún otro sistema operativo. Sugiera cómo mejorar estos
mensajes.
 |