Modelado visual de aplicaciones de software

Anuncio
Modelado visual de aplicaciones de software
Nota: puede que algunas de las características descritas no se ofrezcan en la versión Beta 2 de Visual Studio.NET disponible para el público
en general.
Los clientes que crean complejas aplicaciones distribuidas se enfrentan al reto de tener
que comunicar correctamente los requisitos y la arquitectura de la aplicación a una gran
variedad de miembros del equipo. Este reto se hace aún más difícil a medida que nos
adentramos en el mundo de los servicios Web XML poco asociados. Todo el mundo
sabe que la presentación de conceptos e información en varios formatos (visual,
hablado o escrito) mejora la capacidad de los usuarios a la hora de comprender con
rapidez y precisión los mensajes. Adoptando este enfoque de varios formatos para la
comunicación, Visual Studio.NET ayuda a fomentar la coordinación y productividad en
el equipo de trabajo al proporcionar un variado conjunto de herramientas visuales que
permiten la especificación de los requisitos y la arquitectura de la aplicación.
Enfoque estándar
Visual Studio.NET permite realizar una completa variedad de actividades de diseño y
modelado, entre las que se incluyen las capacidades de creación de diagramas de forma
libre, así como un grupo de diagramas en Lenguaje unificado de modelado (UML)
estándar. UML es una notación para la descripción e interpretación visual de las partes,
relaciones y acciones que conforman una aplicación de software.
Con las características de modelado de Visual Studio.NET, los usuarios pueden crear
sofisticados diagramas que especifiquen tanto la arquitectura de la aplicación como los
requisitos de la empresa y comunicar éstos a los equipos. Los analistas, arquitectos y
desarrolladores de las empresas, así como quienes deseen realizar tareas de análisis y
diseño para mejorar la comunicación y aumentar la productividad de sus equipos de
desarrollo, pueden aprovechar las ventajas de estas nuevas capacidades. En el siguiente
escenario se muestra cómo se puede visualizar y comunicar con mayor eficacia la
estructura de un determinado sistema de software utilizando modelos de software
creados en Visual Studio.NET.
Escenario de la aplicación: un sistema de software para el alquiler de
vehículos
Este escenario trata cómo se deben utilizar los 8 tipos de diagrama UML para modelar
un sistema de software de una agencia de alquiler de vehículos. Comenzando por tres
casos de uso sencillos, los ejemplos muestran los procesos esenciales del sistema.
Diagrama de casos de uso
Los casos de uso especifican una interacción entre un usuario y el sistema en el que éste
puede lograr un objetivo. Un sistema de software normal podría incluir cientos de casos
de uso sencillos. Algunos casos de uso que pueden aplicarse al sistema de la agencia de
alquiler son:

El cliente reserva el vehículo
Antes de disponer del vehículo, el cliente debe hacer la reserva. El cliente se
pone en contacto con la agencia de alquiler y realiza una solicitud. La agencia


acepta o rechaza la solicitud basándose en una serie de criterios como, por
ejemplo, la disponibilidad de los vehículos o el historial de alquiler del cliente.
Si se acepta la reserva, la agencia rellena un formulario con los detalles del
cliente y el pago del depósito completa el proceso de reserva.
El cliente acude a por el vehículo
Cuando el cliente llega a la agencia de vehículos, ésta asigna el modelo de
vehículo solicitado por el cliente, según los niveles de stock disponibles. Una
vez abonado el importe total, el cliente recibe el vehículo.
El cliente devuelve el vehículo
El cliente devuelve el vehículo a la agencia el día especificado en el acuerdo de
alquiler.
En la siguiente imagen se muestra el diagrama de estos tres casos de uso.
Figura 1. Diagrama de casos de uso sencillo
Diagrama (de clases) de estructura estática
La siguiente tarea consiste en clasificar los objetos y sus relaciones. Examinar los casos
de uso ayuda a identificar las clases. Las clases de objetos se modelan utilizando
diagramas de estructura estática o de clases que muestran la estructura general del
sistema, así como las propiedades relacionales y de comportamiento.
En un diagrama de clases, los objetos que forman parte del sistema de alquiler de
vehículos se agrupan en clases y cada una de éstas contiene una sección de nombre y
otra de atributos. Algunas clases también incluyen una sección de operaciones, que
especifica cómo se deben comportar los objetos de dicha clase.
En la clase Cliente, los atributos incluyen nombre, número de teléfono, número del
carnet de conducir y dirección. La fecha de nacimiento es necesaria para determinar que
el cliente cumple con el requisito de mayoría de edad necesaria para alquilar un
vehículo. La clase Cliente también almacena operaciones, como las reservas.
Los diagramas de clases admiten la herencia. En la siguiente figura, por ejemplo, las
clases Mecánico y Agente de alquiler heredan atributos como, por ejemplo, el nombre y
la dirección, de la clase Empleado.
Figura 2. Diagrama de estructura estática o de clases
Diagrama de secuencia
Los diagramas de secuencia proporcionan una vista detallada de un caso de uso.
Muestran una interacción organizada en una secuencia de tiempo y ayuda a documentar
el flujo de lógica dentro de la aplicación. Los participantes se muestran en el contexto
de los mensajes que se transfieren entre ellos. En un sistema de software amplio, el
diagrama de secuencia puede incluir un mayor número de detalles y contener miles de
mensajes.
Imaginemos que un cliente desea realizar la reserva de un vehículo. El agente de
alquiler debe primero comprobar el registro del cliente para asegurarse de que éste
puede llevar a cabo esta operación. Si el cliente ha alquilado previamente un vehículo
de la compañía, su historial de alquiler estará registrado y el agente sólo tendrá que
asegurarse que las anteriores transacciones se realizaron sin problemas. Por ejemplo, el
agente puede confirmar que los vehículos alquilados anteriormente se devolvieron en el
plazo previsto. Una vez aprobado el estado de alquiler del cliente, el agente puede
aprobar la reserva del alquiler del vehículo. Este proceso se puede representar en un
diagrama de secuencia, tal y como se muestra en la siguiente figura.
Figura 3. Diagrama de secuencia
Diagrama de colaboración
Los diagramas de colaboración constituyen otro tipo de diagrama de interacción. Al
igual que los diagramas de secuencia, muestran cómo operan los objetos de un grupo
entre sí en un caso de uso. A cada mensaje se le asigna un número para documentar el
orden en el que tiene lugar.
Figura 4. Diagrama de colaboración
Diagrama de estados
El estado de un objeto se define como sus atributos en un momento determinado. Los
objetos van pasando por distintos estados a medida se ven influenciados por estímulos
externos. El diagrama de estados asigna estos estados, así como los eventos de
activación que hacen que un objeto se encuentre en un estado determinado. Por ejemplo,
en nuestro sistema de alquiler, el objeto es un vehículo. A medida que el vehículo va
pasando por las distintas fases del sistema de alquiler, los distintos estados crean un
complejo pero esclarecedor diagrama. Por ejemplo, el vehículo se agrega en primer
lugar a la flota y permanece en el estado En stock hasta que se alquila. Una vez
alquilado, el vehículo vuelve a la flota y al estado En stock. En varios momentos del
ciclo de vida comercial, el vehículo precisará que se le realicen reparaciones (En
reparación). Cuando el vehículo deja de poder utilizarse, se vende o se desguaza para
dejar cabida a uno nuevo.
Figura 5. Diagrama de estados
Diagrama de actividades
Los diagramas de actividades muestra la lógica que tiene lugar como respuesta a las
acciones generadas internamente. Este tipo de diagrama está relacionado con una clase
o caso de uso específico y muestra los pasos que se deben realizar para llevar a cabo una
operación determinada.
Figura 6. Diagrama de actividades
Diagrama de componentes
Los diagramas de componentes muestran cómo distintos subsistemas de software
conforman la estructura general del sistema, que se crea en una base de datos
centralizada que contiene registros de alquileres anteriores, detalles del vehículo,
registros de servicios y detalles del cliente y del empleado. Resulta esencial que estos
datos se centralicen en una base de datos, ya que los niveles de stock varían con las
horas y todas las partes deben disponer de información de última hora. El
mantenimiento de los datos actualizados requiere actualizaciones de la información en
tiempo real de todas las partes. Los subsistemas de software de este ejemplo incluyen
Registros de vehículos, Registros de servicios, Registros de ventas, Registro del cliente
y Registro del empleado.
Figura 7. Diagrama de componentes
Diagrama de distribución
Los diagramas de distribución muestran cómo están configurados el hardware y el
software del sistema. La agencia de alquiler necesita un sistema cliente/servidor con una
base de datos central de registros a la que pueda tener acceso el personal. Los agentes de
alquiler necesitan tener acceso a los datos sobre la disponibilidad del vehículo. Mientras
tanto, los mecánicos necesitan indicar que un determinado vehículo se encuentra en el
estado En reparación.
Figura 8. Diagrama de distribución
Modelado de forma libre
Un gran número de clientes desean también poder agregar otros elementos gráficos a los
diagramas UML en sus modelos de aplicaciones. Visual Studio.NET permite el
modelado de forma libre como, por ejemplo, los gráficos de flujo y otros diagramas no
semánticos, así como la capacidad de incrustar cualquier imagen dentro de un modelo.
De este modo, los clientes cuentan con flexibilidad adicional para comunicar la
arquitectura y funcionalidad de su aplicación.
Resumen
Durante el ciclo de vida de una aplicación, muchos usuarios con distintos niveles de
formación técnica necesitan interactuar y comunicar para lograr cumplir el objetivo
común de crear una nueva aplicación. Visual Studio.NET proporciona las características
esenciales: el modelado estándar de software y las capacidades de creación de
diagramas de formas libres que permiten la especificación y comunicación de la
arquitectura. Los clientes que utilizan estas características se beneficiarán de un medio
de comunicación más eficaz dentro de sus equipos de desarrollo, lo que aumentará la
eficacia de los desarrolladores y el nivel de éxito en los proyectos de software de sus
organizaciones.
Descargar