Sie sind auf Seite 1von 6

MATERIA: PROGRAMACIN ORIENTADA A OBJETOS ASESOR: MARA DEL PILAR RAMREZ GIL

ANLISIS DE PROBLEMAS Y DISEO DEL MODELO DE SOLUCIN

enero 1

2013
[ITCV]

Cuando un cliente desea que un desarrollador de software le resuelva un problema de manejo de informacin, el analista desarrollador habr de seguir una serie de pasos cuyo objetivo ser el de disear un modelo de solucin del problema en UML, todo esto como un paso previo a la programacin que se llevara a cabo con algn lenguaje (Java, C#, C++, etc.) que permita el desarrollo del sistema, los pasos a seguir son los siguientes: 1. Analizar y entender el problema a partir del planteamiento del mismo, cuando existe un problema, se pueden presentar cualquiera de las siguientes dos situaciones: a) El cliente no tiene una idea clara de cmo plantear el problema al equipo de desarrollo: En estos casos el analista debe darse a la tarea de observar cmo es que actualmente se lleva a cabo el manejo de informacin en la empresa u organizacin a fin de determinar el

2. 3.

4. 5. 6.

mbito o mundo del problema, los objetos involucrados en el y la interaccin entre ellos para redactar con esto el planteamiento del mismo. b) El cliente entiende perfectamente el problema ha redactado claramente el planteamiento del mismo y se lo entrega al equipo de desarrollo para su estudio y posterior solucin. Independientemente de cul haya sido el caso, se debe leer detalladamente dicho planteamiento y solo continuar con el siguiente paso hasta haber entendido claramente el problema que se desea resolver. Generar una lista de nombres y otra de verbos: Estas listas contendrn candidatos a ser clases o atributos (nombres) y mtodos (verbos). Complementar o relacionar los nombres y los verbos: Se complementan con otros nombres de la lista, logrando con esto determinar cules de esos nombres sern las clases y cuales sern los atributos y a que clase pertenecern y en el caso de los mtodos se lograra determinar a qu clase pertenecen. Asignarle a cada clase sus atributos y mtodos con sus posibles valores y su representacin en UML Esquematizar el modelo de solucion del problema en UML: Incluyendo las clases con sus atributos y metodos, asi como tambien las relaciones entre dichas clases. Comprobar con el cliente que el diseo del modelo de solucin cumple con el planteamiento inicial: Recuerde que hasta este paso nos hemos ocupado del que y no del como por lo que no se ha programado nada, solo se ha desarrollado el modelo o prototipo de la solucin que al discutirlo nuevamente con el cliente, podr quedar aprobado o podrn surgir situaciones que conduzcan a modificar e incluso replantear (en un caso extremo) el modelo.

EJEMPLO: Una Librera Paso 1.- Analizar y entender el problema a partir de su planteamiento: Se desea contar con una aplicacin capaz de gestionar libros, lo que incluye adquirir nuevos libros y modificar el precio de los libros a la venta. Para cada libro se dispone adems del ttulo, el autor, la fecha de publicacin, la editorial y el precio. Adems, la librera desea ofrecer a sus compradores Informacin sobre los autores de los libros, que incluya, su nombre completo, su pgina Web y su correo electrnico. La librera trabaja directamente con las distintas editoriales, por lo que requiere tambin disponer de la direccin, el telfono y la persona de contacto de cada editorial, teniendo en cuenta que estos datos pueden cambiar. Paso 2.- Extraer una lista de nombres y otra de verbos candidatos: Nombres Aplicacin? Libros Precio Titulo Autor Fecha de publicacin Editorial Librera? Compradores Nombre completo Pagina Web Verbos Contar? Gestionar Adquirir Modificar Ofrecer Disponer? Cambiar

Correo electrnico Direccin Telfono Persona de contacto

Paso 3.- Complementar los nombres y los verbos: Nombres Libros Precio de libro Titulo de libro Autor de libro Fecha de publicacin de libro Editorial de libro Compradores de libro? Nombre completo de autor Pagina Web de autor Correo electrnico de autor Direccin de editorial Telfono de editorial Persona de contacto de editorial Verbos Gestionar libro? Adquirir libro Modificar precio de libro Ofrecer inf. de autores Cambiar direccin de editorial Cambiar telfono de editorial Cambiar persona de contacto de editorial

Paso 4.- Asignarle a cada clase sus atributos y mtodos con sus posibles valores y su representacin en UML:
Clase: Libro Atributos
titulo autor fechaPublicacion editorial precio

Posibles valores
Cadena de caracteres Autor Cadena de caracteres Editorial Numerico fraccionario

Mtodos
adquirirLibro() modificarPrecio()

Rep. en UML
Libro titulo autor fechaPublicacion editorial precio adquirirLibro() modificarPrecio()

Clase: Autor Atributos


nombre web correo

Posibles valores
Cadena de caracteres Cadena de caracteres Cadena de caracteres

Mtodos
ofrecerNombre() ofrecerWeb() ofrecerCorreo()

Rep. en UML
Autor nombre web correo ofrecerNombre() ofrecerWeb() ofrecerCorreo()

Clase: Editorial Atributos

Posibles valores

Mtodos

Rep. en UML

nombre direccion telefono personaContacto

Cadena de caracteres Cadena de caracteres Cadena de caracteres Cadena de caracteres

cambiarDireccion() cambiarTelefono() cambiarPersonaCon tacto()

Editorial Nombre direccin telfono personaContacto cambiarDireccion() cambiarTelefono() cambiarPersonaContacto()

Paso 5.- Esquematizar el modelo de solucion del problema en UML:

Paso 6.- Comprobar el diseo con el planteamiento inicial: Comprobar cada uno de los pasos con el planteamiento del problema Asegurarse de que las decisiones tomadas a lo largo del proceso no estn en contradiccin con nada de lo expresado en el planteamiento del problema Plantear posibles formas de completar el diseo. Ej: Inclusin de la fecha como otra clase? Consultar con el cliente cualquier duda que surja o bien para confirmar que el diseo corresponde con lo que el cliente quiere antes de iniciar con la programacin.

EJERCICIOS

1.Administracin de Cursos de un estudiante del ITCV El Instituto Tecnolgico de Cd. Victoria solicita a los estudiantes, de la clase de Programacin Orientada a Objetos de la carrera de Ingeniera en Sistemas, desarrollar el modelo de diseo de la solucin para construir una aplicacin que permita a los profesores administrar los cursos que toma un estudiante durante el semestre. Los datos personales de un estudiante son: nmero de control, nombre y apellido. Un estudiante solo puede tomar 5 cursos en el semestre. Cada uno de los cursos tiene un cdigo, un nombre y un nmero de crditos. Al finalizar el curso, al estudiante se le asigna una calificacin. Un estudiante ingresa, de forma automtica, a un programa de prueba acadmica si su promedio es inferior a 6.0. La aplicacin debe permitir realizar las siguientes funciones: Ingresar a un estudiante en el sistema Registrar, al inicio del semestre, cada uno de los cursos que el estudiante va a tomar Mostar en pantalla una relacin de los cursos que est cursando un estudiante Asignar al final del semestre la calificacin obtenida en cada uno de los cursos Calcular el promedio con las materias que tienen calificacin Indicar si un estudiante ingres al programa de prueba acadmica

2. Tienda Virtual de Libros Tecnolgico Se quiere construir una aplicacin para una tienda virtual de libros. La tienda tiene un catlogo o coleccin de libros que ofrece para la venta. Los libros tienen un ISBN que los identifica de manera nica, un ttulo y un precio con el que se venden. Cuando un cliente accede al portal de la tienda virtual a comprar libros, utiliza un carrito de compras. En el carrito de compras va adicionando los libros que quiere comprar. El cliente puede llevar ms de un ejemplar de cada libro. Al revisar la cuenta, el cliente debe poder ver el subtotal de cada libro segn la cantidad de ejemplares que lleve de l, adems del total de la compra que es igual a la suma de los subtotales. La aplicacin de la Tienda Virtual deber permitir al cliente realizar lo siguiente: Mostrar, en una lista, el catlogo de libros disponibles en la tienda. La lista debe mostrar el ISBN, el ttulo y el precio unitario de cada libro. Manejar el carrito de compras del cliente (donde el cliente puede comprar) para permitirle realizar lo siguiente: Seleccionar un libro del catlogo de libros y proporcionar la cantidad de ejemplares para posteriormente realizar la compra. Mostrar, en una lista, la informacin de los libros que el cliente ha colocado en el carrito de compras: ISBN, ttulo del libro, cantidad comprada y subtotal. Eliminar del carrito de compras cualquiera de los libros que previamente haya sido seleccionado para no realizar su compra. Si el cliente decide Seleccionar un libro del Catlogo de Libros, las siguientes acciones ocurren: 1. La interfaz solicita al cliente que introduzca la cantidad de libros que desea comprar o 0 para cancelar la transaccin. 2. El cliente introduce la cantidad de libros que desea comprar (solo nmeros enteros) del libro previamente seleccionado. 3. Si el cliente introduce un valor que no es numrico, la aplicacin muestra un mensaje indicando que el dato es invalido y regresa al paso 1.

4. 5.

Si el cliente oprime el botn de Comprar la aplicacin agrega el libro seleccionado, con la informacin necesaria, al carrito de compras. La aplicacin muestra la informacin del libro seleccionado en el carrito de compras y espera que el cliente seleccione un nuevo libro que desea comprar (paso 1).

Una vez que la aplicacin ejecuta el ingreso de un libro al carrito de compras de forma exitosa, debe volver a permitir que el cliente seleccione nuevos libros del catlogo y los coloque en el carrito. Si el cliente decide Eliminar un libro del carrito de compras, las siguientes acciones ocurren: 1. El cliente selecciona del carrito de compras el libro que desea eliminar. 2. La interfaz solicita al cliente que confirme la accin de eliminar del carrito de compras el libro seleccionado. 3. Si el cliente confirma la accin anterior, la aplicacin elimina el libro seleccionado, del carrito de compras. 4. La aplicacin muestra la informacin del carrito de compras con el nuevo clculo de la compra y espera que el cliente seleccione un nuevo libro que desea eliminar (paso 1).

Una vez que la aplicacin ejecuta la eliminacin de un libro al carrito de compras de forma exitosa, debe volver a permitir que el cliente seleccione nuevos libros del carrito y los elimine.

Das könnte Ihnen auch gefallen