Sie sind auf Seite 1von 3

INGENIERA DEL SOFTWARE.

UN ENFOQUE PRACTICO

CASO DE ESTUDIO, LIBROS EN LNEA


El objetivo de esta seccin es mostrar el uso de diagramas UML, descrito en la Seccin 22.25, aplicado a un sistema real. Este sistema es un sistema de comercio electrnico (e-commerce). 22.6.1. Libros-en-lnea Libros-en-lnea es una compaa creada recientemente, que es subsidiaria de otra gran compaa multinacional de comercio, conocida como Pollday Publishing. Los directores de Pollday Publishing se decidieron a llevar a cabo un gran crecimiento en ventas por internet entre sus clientes, y decidieron preparar a Libros-en-Lnea para ello. El concepto que Pollday tiene es el de un sitio Web de comercio electrnico, que tenga catlogos detallados de cada libro que manejan, junto con recursos con los que el usuario del sitio Web puede ordenar libros, utilizando una forma incluida en una pgina Web. A continuacin, se muestran algunos extractos, tomados del conjunto de requisitos iniciales, detallados por el equipo tcnico de Libros-en-lnea: 1. Libros-en-lnea desea desarrollar la capacidad de ventas en lnea por medio de la Web. EL sitio web que implementa esta capacidad debe permitir al cliente examinar los detalles del libro, ordenarlo y registrar su direccin de correo electrnico para reci bir ofertas especiales con detalles, publicaciones nue vas y revisiones. 2. Cuando un cliente accede al sitio Web, cada uno de los recursos antes descritos se despliegan. 3. Si el cliente registra su direccin de correo electr nico, se le preguntarn su informacin personal. Esto incluye su nombre, una direccin de correo electr nico, una direccin postal. Un miembro del equipo conocido como el administrador de contratos ser el responsable de enviar informacin de oferta, etc., a los clientes. 4. El cliente podr comprar libros del catlogo en lnea, examinando las pginas con detalles de los libros y seleccionando el libro, que comprar mediante algn mecanismo como el de presionar un botn. El sistema deber mantener un carrito de compras virtual, en el que los detalles de cada libro se almacenan. Conforme el carrito se va llenando de libros, se muestra al cliente el precio acumulado de todas sus compras. 5. Cuando el cliente ha terminado de comprar en el sitio Web, se le pedir informacin acerca de qu forma de envo se utilizar. Por omisin se mostrar la opcin de envo por correo estndar, y un servicio de envo expreso garantizado para entregar dentro de 24 horas. 6. El sitio web deber interactuar con un sistema de control de inventario, que tambin requiere desarro llo. Este sistema de control de inventarios debe mane jar el proceso de recepcin de libros de los inventarios de las editoriales, retiro de libros cuando se ordenan por parte de un cliente, y reordenacin de existencia de un libro, cuando se encuentra por vaciarse, para encarar un problema de suministros, en un tiempo de siete das. 7. El control de inventarios por parte del administrador ser fijado en un tiempo de siete semanas. l o ella tendrn la responsabilidad de mantener las ventas, y la disponibilidad de existencias y, cuando las exis tencias de un libro se encuentren bajas, hacer un nuevo pedido. Para realizar esto, este sistema de con trol de inventarios debe proporcionar informes de ventas y existencias de inventario con regularidad. 8. Un Administrador de Marketting intervendr cada ocho semanas. El Jefe de Marketting tendr la fun cin de determinar los precios a los que los libros sern vendidos. Se dar la situacin de que un libro puede tener un nmero diferente de precios durante su tiempo de vida; por ejemplo, se debe decidir si se ofrece con un mayor descuento durante las primeras semanas, y luego ajustar el precio a los precios reco mendados por las editoriales, pri ^ * * * "~ La compaa que desarroll el software para Librosen-lnea, primero identific un nmero de clases candidatas, que a continuacin se detallan: RegistroCliente. Detalles de alguien que compra libros, o que se registr para recibir correos electr nicos con informacin. Libro. El artculo principal, qu Libros-en-lnea vende. Orden. Una orden que un cliente realiza, para uno o ms libros. Esta orden debe ser para una simple copia de un libro, o para copias de un nmero de libros o incluso mltiples copias de muchos libros. Una orden contendr un nmero de lneas de orden (vase a continuacin), y una especificacin de envo. LneaDeOrden. Esta es una simple lnea de orden. Por ejemplo la orden de la copia de un libro. Una orden consistir en una o ms lneas de orden. Una lnea de orden contendr informacin acerca de qu libro se ordena y la cantidad ordenada (usualmente 1). Carrito. Es un contenedor que existe durante la exploracin del sitio Web, por parte de un cliente que realiza una orden. Los contenidos del carrito sern lneas de orden. Cuando un cliente complete una orden, las lneas de orden del carrito y la informa cin de envo proporcionada por el usuario sern ane xadas a una orden.
398

CAPTULO 22

DISEO ORIENTADO A OBJETOS

OrdenEspera. Esta es una parte de la orden, la cual no puede cumplirse por las existencias del almacn. Si el cliente est conforme, esperando por un libro que no est en existencia, entonces se realiza una orden de espera. Esta orden de espera se satisface, cuando las existencias del libro se restauran por Libros-en-lnea. Almacn. Esta es una coleccin de libros que se encuentran en existencia. Una orden de libro o de coleccin de libros se manda al almacn y de ah se retiran los libros de sus cajas del almacn, se empaquetan y se despachan al cliente. En ese momento, se ajustan los detalles de las existen cias. RegistroExistencias. Estos son los datos que des criben los detalles de las existencias de un libro; por ejemplo, cuntos hay en existencia, el nivel actual cuando se ha hecho una requisicin a las edi toriales, y la localizacin de los libros dentro del almacn. NotaEmpaque. Esta es una nota enviada con una coleccin de libros al cliente. La nota de empaque contiene informacin acerca de cuntos libros se enviaron y la tarifa de envo aplicada. Tambin puede contener detalles de algunos libros, que no pudieron ser enviados porque no se encontraban en las exis tencias. TarjetaCrdito. Un cliente pagar por sus libros mediante una tarjeta de crdito. El sistema permite al cliente pre-registrar su o sus tarjetas, para que no tenga que reescribirlas cada vez que haga una orden.
Registrar

Estas fueron, entonces, las clases identificadas principalmente. Tambin se identificaron un nmero de actores: Cliente. Este es el actor principal: la persona que lleva a cabo las acciones, que resultan en los mayo res cambios de estado del sistema. Administrador de marketting. Es un actor importante que ajusta muchos de los parmetros del sistema, tales como el precio de los libros. Administrador del control de inventarios. Alguien que controla los inventarios en un almacn y toma decisiones acerca de las rdenes. Existen un gran nmero de casos de uso asociados con estas acciones, muchas de ellas asociados con el actor cliente, se muestran en la Figura 22.25. La seleccin de casos de uso asociados con el Cliente, y las mostradas en la Figura 22.25 incluyen casos de uso para: Registro. Aqu el cliente proporciona su nombre y su clave. Una vez registrada, pueden examinar el catlogo de libros. Ordenar. Aqu el cliente ordena una o ms copias de un libro. Realizar. El cliente completa la orden y ordena al sis tema iniciar el proceso en que la orden se despacha. Buscar un libro. El cliente busca, en el catlogo en lnea, un libro especfico. Eliminar tarjeta de crdito. Aqu el cliente puede eli minar una o ms de las tarjetas de crdito registra das y asociadas con l. Registrar tarjeta de crdito. Aqu el cliente registra .^ una o ms de sus tarjetas de crdito al sistema. Una porcin de uno de estos diagramas de clase para el sistema, se muestra en la Figura 22.26. Un nmero de roles asociados con el diagrama se ha omitido; regularmente se incluyen. Algunas de las relaciones entre clase, tambin se omitieron. El diagrama muestra muchas de estas clases antes descritas. Las nicas clases que se omitieron son: OrdenSatisfecha y OrdenEspera. Estas dos clases son especializaciones de la clase Orden, que representa una orden de libros para un cliente.
Orden Satisfecha Orden 1 Espera ]

----------- 1

Depsito I Almacn 1 Borrar tarjeta de crdito tem almacenado

FIGURA 22.26. Una seccin de un diagrama de clases para el caso de estudio.


tarjeta de crdito > ' Tarjeta de Crdito fTarjetas

FIGURA 22.25. Algunos casos de uso para el actor Cliente.


399
INGENIERA DEL SOFTWAHE. UN ENFOQUE PRACTICO

Cuando se hace un pedido, algunos de los artculos pedidos pudieron no haberse servido, porque los libros no estaban en existencia. Cuando esto ocurre, la orden se divide en dos: todos los libros que pueden proporcionarse en un objeto OrdenSalisfecha, y aquellos que no pudieron encontrarse, se registran en un objeto OrdenEspera. Las relaciones en el diagrama de clases se detallan a continuacin. Un almacn se asocia con un nmero de registros de existencias, los cuales detallan los libros almacena dos en el almacn. Un simple almacn se asocia con uno o ms registros de existencia. Un registro de existencia se asocia con un solo libro, y un libro se asocia con un solo registro de existencia. Una orden puede consistir en un nmero de lneas de orden, y una lnea de orden ser asociada con una sola orden. Un cliente registrar su nmero de tarjeta de crdito at sistema, un nmero de tarjeta de crdito se asocia con un solo cliente. Un cliente se asocia con un nmero de rdenes satis fechas, las cuales se realizan sobre un perodo de tiempo. Cada orden satisfecha se asocia con un solo cliente. Un cliente se asocia con un nmero de rdenes en espera, que actualmente no pueden ser satisfechas. Cada orden en espera se asocia con un solo cliente. La Figura 22.26 muestra solo algunas de las relaciones involucradas, por ejemplo, existe una relacin

entre tarjetas de crdito y rdenes, en virtud de que ui tarjeta de crdito particular se utiliza para pagar ut orden. De cualquier manera, se muestra suticienie del lie para proporcionar una indicacin de qu tan con plicado se ve un diagrama de clases UML. Un ejemplo de diagrama de secuencias asociado ce el caso en estudio se muestra en la Figura 22.27. Aqu el cliente ordena un libro. Esto resulta en registro de existencias para el libro consultado, y se aju la si el libro est en existencia. Si el libro est en exi tencia, un objeto de tipo lnea de orden se crea, el cu se anexa a una orden, la cual se construye conforme cliente navega por el sitio web de Libros-en-lnea. diagrama final (Fig. 22.28) muestra un diagrama de esl do para el objeto Orden. Un cliente primero realiza la orden, y el estado d objeto Orden se vuelve orden parcial; entonces se da cliente la opcin de aadir ms libros o de eliminar libr de su orden. En cualquier momento de la construccii de la orden, el cliente puede cancelar la orden, esto co duce a la terminacin. Cuando el cliente indica que ha llegado al fin de la orden, entonces la orden se vu< ve una orden de libros completa. En este punto, el clie te tiene dos opciones: cancelar al orden o especificar tipo de envo que se usar para la orden. Si se selecci na el tipo de envo, entonces la orden se convierte una orden completa. En esta etapa, el cliente tiene ol dos opciones: confirmar la orden, en este caso la ord se enva para ser procesada, o cancelar la orden. Amt opciones conducen al punto de salida del diagrama estados.

22.7 PROGRAMACIN ORIENTADA


La etapa final de desarrollo, dentro del ciclo de vida orientada a objetos, es la programacin. No es la intencin de esie libro llegar a ms detalle acerca de este proceso; la programacin es analizada como importante pero como actividad subsidiaria al anlisis y diseo; pero se proporciona una pequea introduccin en el lenguaje de programacin Java. La seccin otras lecturas y fuentes de informacin al final del captulo detalla un gran nmero de buenos libros sobre el tema. El proceso de programacin involucra la conversin de un diseo orientado a objetos en un cdigo de programa. Efectivamente, esto significa que las clases definidas en el diseo deben ser convertidas en clases expresadas en un lenguaje de programacin orientado a objetos como Java, C++ o SmallTalk. Esta seccin se concentra en Java, que se est volviendo rpidamente el lenguaje de programacin de facto, para desarrollar los modernos sistemas distribuidos. Una clase en Java se introduce por medio de la palabra clave class, dentro del cdigo para la clase; el programador define los atributos y operaciones para la clase.
400

Un ejemplo del cdigo esqueleto de una clase se mu ira a continuacin.


class Cliente { prvate String NombreCliente; prvate String DireccionCliente; // se definen ms atributos aqu public String obtenerNontbreCJiente I i //cdigo para obtenerNombreCliente ) public void rnodificarDirecconClientei String direccin) { //cdigo para modicarDireccionCliente

//cdigo para Jas operaciones restantes La primera lnea de cdigo define que el nombre la clase ser Cuente. Inmediatamente a continuad las descripciones de atributos de clase. En el cd anterior, solo se muestran dos atributos: el nombre

Das könnte Ihnen auch gefallen