Universidad de Ibagué, Coruniversitaria.
Programa Ingeniería de Sistemas

Ingeniería del Software

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"

  1. Mediante un diagrama entidad-relación, describa las actividades principales en el proceso general de diseño de software.

  2. 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. 

  3. Utilizando ejemplos, explique la diferencia entre un objeto y una clase de objetos.

  4. ¿Bajo qué circunstancias sería apropiado desarrollar un diseño donde los objetos se ejecuten concurrentemente?

  5. 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.

  6. Explique por qué un modelo de llamada-retorno de control no es apropiado para sistemas de tiempo real que controlan un proceso.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. Considere los mensajes de error producidos por MS-Windows o algún otro sistema operativo. Sugiera cómo mejorar estos mensajes. 


Inicio | Biografía | Cursos | Para pensar... | Para reflexionar... | Para reir | Enlaces

 
Profesor Gustavo Martínez Villalobos
Email: gustavo.martinez@unibague.edu.co
Facultad de Ingeniería de Sistemas, Coruniversitaria
Ibagué, Tolima, COLOMBIA