Sunteți pe pagina 1din 8

Modelado visual de aplicaciones de software

Nota: puede que algunas de las caractersticas descritas no se ofrezcan en la versin Beta 2 de Visual Studio.NET disponible para el pblico 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 aplicacin a una gran variedad de miembros del equipo. Este reto se hace an ms difcil a medida que nos adentramos en el mundo de los servicios Web XML poco asociados. Todo el mundo sabe que la presentacin de conceptos e informacin en varios formatos (visual, hablado o escrito) mejora la capacidad de los usuarios a la hora de comprender con rapidez y precisin los mensajes. Adoptando este enfoque de varios formatos para la comunicacin, Visual Studio.NET ayuda a fomentar la coordinacin y productividad en el equipo de trabajo al proporcionar un variado conjunto de herramientas visuales que permiten la especificacin de los requisitos y la arquitectura de la aplicacin.

Enfoque estndar
Visual Studio.NET permite realizar una completa variedad de actividades de diseo y modelado, entre las que se incluyen las capacidades de creacin de diagramas de forma libre, as como un grupo de diagramas en Lenguaje unificado de modelado (UML) estndar. UML es una notacin para la descripcin e interpretacin visual de las partes, relaciones y acciones que conforman una aplicacin de software. Con las caractersticas de modelado de Visual Studio.NET, los usuarios pueden crear sofisticados diagramas que especifiquen tanto la arquitectura de la aplicacin 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 anlisis y diseo para mejorar la comunicacin y aumentar la productividad de sus equipos de desarrollo, pueden aprovechar las ventajas de estas nuevas capacidades. En el siguiente escenario se muestra cmo 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 aplicacin: un sistema de software para el alquiler de vehculos


Este escenario trata cmo se deben utilizar los 8 tipos de diagrama UML para modelar un sistema de software de una agencia de alquiler de vehculos. 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 interaccin entre un usuario y el sistema en el que ste puede lograr un objetivo. Un sistema de software normal podra 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 vehculo Antes de disponer del vehculo, 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 basndose en una serie de criterios como, por ejemplo, la disponibilidad de los vehculos 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 depsito completa el proceso de reserva. El cliente acude a por el vehculo Cuando el cliente llega a la agencia de vehculos, sta asigna el modelo de vehculo solicitado por el cliente, segn los niveles de stock disponibles. Una vez abonado el importe total, el cliente recibe el vehculo. El cliente devuelve el vehculo El cliente devuelve el vehculo a la agencia el da 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 esttica


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 esttica 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 vehculos se agrupan en clases y cada una de stas contiene una seccin de nombre y otra de atributos. Algunas clases tambin incluyen una seccin de operaciones, que especifica cmo se deben comportar los objetos de dicha clase. En la clase Cliente, los atributos incluyen nombre, nmero de telfono, nmero del carnet de conducir y direccin. La fecha de nacimiento es necesaria para determinar que el cliente cumple con el requisito de mayora de edad necesaria para alquilar un

vehculo. La clase Cliente tambin almacena operaciones, como las reservas. Los diagramas de clases admiten la herencia. En la siguiente figura, por ejemplo, las clases Mecnico y Agente de alquiler heredan atributos como, por ejemplo, el nombre y la direccin, de la clase Empleado.

Figura 2. Diagrama de estructura esttica o de clases

Diagrama de secuencia
Los diagramas de secuencia proporcionan una vista detallada de un caso de uso. Muestran una interaccin organizada en una secuencia de tiempo y ayuda a documentar el flujo de lgica dentro de la aplicacin. 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 nmero de detalles y contener miles de mensajes. Imaginemos que un cliente desea realizar la reserva de un vehculo. El agente de alquiler debe primero comprobar el registro del cliente para asegurarse de que ste puede llevar a cabo esta operacin. Si el cliente ha alquilado previamente un vehculo de la compaa, su historial de alquiler estar registrado y el agente slo tendr que asegurarse que las anteriores transacciones se realizaron sin problemas. Por ejemplo, el agente puede confirmar que los vehculos 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 vehculo. 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 colaboracin
Los diagramas de colaboracin constituyen otro tipo de diagrama de interaccin. Al igual que los diagramas de secuencia, muestran cmo operan los objetos de un grupo entre s en un caso de uso. A cada mensaje se le asigna un nmero para documentar el orden en el que tiene lugar.

Figura 4. Diagrama de colaboracin

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 estmulos externos. El diagrama de estados asigna estos estados, as como los eventos de activacin que hacen que un objeto se encuentre en un estado determinado. Por ejemplo, en nuestro sistema de alquiler, el objeto es un vehculo. A medida que el vehculo va pasando por las distintas fases del sistema de alquiler, los distintos estados crean un complejo pero esclarecedor diagrama. Por ejemplo, el vehculo se agrega en primer lugar a la flota y permanece en el estado En stock hasta que se alquila. Una vez alquilado, el vehculo vuelve a la flota y al estado En stock. En varios momentos del ciclo de vida comercial, el vehculo precisar que se le realicen reparaciones (En reparacin). Cuando el vehculo 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 lgica que tiene lugar como respuesta a las acciones generadas internamente. Este tipo de diagrama est relacionado con una clase o caso de uso especfico y muestra los pasos que se deben realizar para llevar a cabo una operacin determinada.

Figura 6. Diagrama de actividades

Diagrama de componentes
Los diagramas de componentes muestran cmo 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 vehculo, 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 varan con las horas y todas las partes deben disponer de informacin de ltima hora. El mantenimiento de los datos actualizados requiere actualizaciones de la informacin en tiempo real de todas las partes. Los subsistemas de software de este ejemplo incluyen Registros de vehculos, Registros de servicios, Registros de ventas, Registro del cliente y Registro del empleado.

Figura 7. Diagrama de componentes

Diagrama de distribucin
Los diagramas de distribucin muestran cmo estn 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 vehculo. Mientras tanto, los mecnicos necesitan indicar que un determinado vehculo se encuentra en el estado En reparacin. Figura 8. Diagrama de distribucin

Modelado de forma libre


Un gran nmero de clientes desean tambin poder agregar otros elementos grficos a los diagramas UML en sus modelos de aplicaciones. Visual Studio.NET permite el modelado de forma libre como, por ejemplo, los grficos de flujo y otros diagramas no semnticos, 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 aplicacin.

Resumen
Durante el ciclo de vida de una aplicacin, muchos usuarios con distintos niveles de formacin tcnica necesitan interactuar y comunicar para lograr cumplir el objetivo comn de crear una nueva aplicacin. Visual Studio.NET proporciona las caractersticas esenciales: el modelado estndar de software y las capacidades de creacin de diagramas de formas libres que permiten la especificacin y comunicacin de la arquitectura. Los clientes que utilizan estas caractersticas se beneficiarn de un medio de comunicacin ms 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.

S-ar putea să vă placă și