Mostrando entradas con la etiqueta APO1. Mostrar todas las entradas
Mostrando entradas con la etiqueta APO1. Mostrar todas las entradas

lunes, 7 de diciembre de 2015

APO1 - Nivel 4 - Club Social

Índice

1. Introducción
2. Palabras Clave
3. Problema
3.1 Enunciado
3.2 Interfaz gráfica de usuario (versión Java)
4. Requerimientos
4.1 R1 - Registrar una persona autorizada por un socio
4.2 R2 - Pagar una factura
4.3 R3 - Afiliar un socio al club
4.4 R4 - Registrar un consumo en la cuenta de un socio
5. Modelo del Mundo del Problema
6. Modelo de la Interfaz Gráfica de Usuario
7. Modelo de Pruebas Unitarios
8. Repositorio: Exploración de Código Fuente C#
9. Recursos
9.1 Java
9.2 C#
9.2.1 Solución y proyectos
9.2.2 Documentación código fuente
9.2.3 Aplicación en ejecución
9.2.3.1 Capturas de pantalla
9.2.3.2 Demostración
10. Cambios
11. Conclusiones
12. Literatura & Enlaces

1. Introducción

Se inicia esta serie de aplicaciones del Nivel 4 de Algoritmia y Programación Orientada a Objetos 1 (APO1) donde principalmente se comprende los conceptos de definición de contrato de un método, uso del contrato para la invocación de un método, asignación de responsabilidades a clases, uso de la técnica de dividir y conquistar para facilitar la resolución de un problema, entre otras más.


En cuanto a la primea aplicación a desarrollar en este nivel, ésta consiste en la administración de un club social. En esta aplicación se crean socios y asignar las personas que poseen autorización para el ingreso al club y uso de sus servicios. Además, cuenta con la administración de los gastos generados por las personas autorizadas; gastos que serán cargados a la cuenta del socio.

2. Palabras Clave

  • .NET
  • Aplicación
  • Clase
  • Cupi2
  • Cupi2.NET
  • Enumeración
  • Excepción
  • Software

3. Problema

3.1 Enunciado

Descripción literal del problema original "Enunciado" (2015):

Se quiere construir una aplicación para un club, el club tiene socios afiliados y personas autorizadas por los socios. Cada socio está identificado con su nombre y su cédula, el autorizado se caracteriza por su nombre y la cédula del socio quien lo autoriza. Dentro del club se pueden realizar consumos que serán cargados al socio, esto se manejará en la contabilidad del club. Estos consumos se caracterizan por un concepto que lo identifica y el valor de los consumido.

Las cuentas pendientes de un socio es la lista de sus facturas. Cada factura contiene el concepto y el valor del consumo o servicio que el club lee prestó. Los pagos se realizarán de acuerdo con la factura que el usuario seleccione.

3.2 Interfaz gráfica de usuario (versión Java)


En la Figura 1 se presenta la interfaz gráfica de usuario de la aplicación Club construida con los elementos de programa del lenguaje de programación Java.
GUI en Java
Figura 1. GUI en Java.

4. Requerimientos

4.1 R1 - Registrar una persona autorizada por un socio

Código: R1

Nombre: Registrar una persona autorizada por un socio

Descripción: Los socios tienen un conjunto de personas autorizadas que pueden ingresar al club y hacer consumos en sus restaurantes. Este requerimiento permite a un socio registrar una de estas personas.

Entradas:
  • Nombre: Nombre de la persona autorizada por el socio.
  • Cédula: Cédula del socio al que se registrará el autorizado.
Resultados:
  • Registro de autorizado: El socio tiene una nueva persona autorizada.

4.2 R2 - Pagar una factura

Código: R2

Nombre: Pagar una factura

Descripción: La factura que quiere pagar el socio, de su lista de facturas pendientes.

Entradas:
  • Socio: Cédula del socio que pagará la factura.
  • Factura: La factura que quiere pagar el socio, de su lista de facturas pendientes.
Resultados:
  • La factura ha sido pagada: La factura cancelada ya no está pendiente para el socio.

4.3 R3 - Afiliar un socio al club

Código: R3

Nombre: Afiliar un socio al club

Descripción: Se agregar un nuevo socio al club.

Entradas:
  • Nombre: Nombre del socio.
  • Cédula: Cédula del socio.
Resultados:
  • Afiliación del socio: Se adicionó el nuevo socio al club.

4.4 R4 - Registrar un consumo en la cuenta de un socio

Código: R4

Nombre: Registrar un consumo en la cuenta de un socio

Descripción: El socio o una de sus personas autorizadas, puede agregar un consumo a la cuenta del socio.

Entradas:
  • Concepto: Concepto del consumo.
  • Valor: Valor por el cual fue el consumo.
  • Nombre: Persona que realizó el consumo.
Resultados:
  • Registro de consumo: Se crea una nueva factura por el valor del consumo y se rgistra al socio.

5. Modelo del Mundo del Problema

En la Figura 2 se describe el diagrama UML con las entidades que integran el modelo del mundo del problema (dominio). (Original en "Modelo conceptual" (2015)).
Modelo del mundo del problema
Figura 2. Modelo del mundo del problema.

6. Modelo de la Interfaz Gráfica de Usuario

En la Figura 3 se muestra el diagrama UML que describe los controles visuales que integran la interfaz gráfica de usuario. (Original en "Interfaz" (2015)).
Modelo de la interfaz gráfica de usuario
Figura 3. Modelo de la interfaz gráfica de usuario.

7. Modelo de Pruebas Unitarias

En el diagrama UML presentando en la Figura 4 se modelan las clases de pruebas del modelo del mundo del problema. (Original en "Pruebas" (2015)).
Modelo de pruebas unitarias
Figura 4. Modelo de pruebas unitarias.

8. Repositorio: Exploración de Código Fuente C#

En el siguiente enlace de repositorio en GitHub se puede explorar todo el código fuente de la aplicación; el cual comprende:
  • Modelo del mundo del problema
  • Controles de la interfaz gráfica de usuario
  • Archivos de configuración
  • Recursos (imágenes, íconos, cadenas de texto, entre otros)
  • Clases de pruebas unitarias del comportamiento y estado de las entidades del modelo del mundo del problema.

9. Recursos

9.1 Java

Recursos del proyecto en su versión original:

9.2.1 Solución y proyectos

Enlaces de descarga de archivos ZIP con la solución y los proyectos integrales de la aplicación en Visual Studio:

9.2.2 Documentación código fuente

Archivo CHM con la documentación del código fuente C#:

9.2.3 Aplicación en ejecución

9.2.3.1 Capturas de pantalla
Club Social en C#
Figura 6. Club Social en C#.
9.2.3.2 Demostración

10. Cambios

Cambios sobresalientes en la solución respecto al proyecto original:

Clase Factura:
  • El tipo de dato para el campo valor pasa de double a decimal (apto para representar valores que requieren precisión).
  • Se remueven los métodos darConcepto, darValor y darNombre y se usan propiedades para obtener el valor de los campos correspondientes.
Clase Socio:
  • En lugar de los métodos darCedula, darNombre, darFacturas y darAutorizados, se crearon propiedades de solo lectura.
  • El método AfiliarSocio recibe, ahora, un parámetro de tipo Socio.
Nuevo:
  • Agregada la clase AutoreferenciaSocioException que hereda de System.Exception. Útil para manejar la excepción cuando el autorizado es el mismo socio.
  • Agregada la clase SocioExisteException que hereda de System.Exception. Clase útil para la gestión de excepciones relacionadas con la existencia de un socio.
  • Agregada la clase AutorizadoExisteException que hereda de System.Exception. Clase útil para la gestión de excepciones relacionadas con la existe de autorizado.
  • Agregada enumeración Operaciones para determinar el tipo de operación que debe asociar en la búsqueda de socio desde un control personalizado.

11. Conclusiones

A través de esta aplicación se ha adquirido conocimiento práctico acerca de una de las estructuras de datos integrados en .NET Framework: ArrayList.Estructura útil para el almacenamiento y manipulación de objetos. Se realizaron cambios en el proyecto C# con el propósito de aprovechar sus componentes sintácticos de descripción de entidades de un modelo: propiedades, enumeraciones; en especial. En la próxima publicación se desarrollará una aplicación controlar un brazo mecánico de una bodega.

12. Literatura & Enlaces

Universidad de los Andes - Colombia (2015, diciembre 7). Recuperado desde: http://www.uniandes.edu.co/.
Cupi2 (2015, diciembre 7). Recuperado desde: http://cupi2.uniandes.edu.co/sitio/.
APO1 (2015, diciembre 7). Recuperado desde: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1.
Enunciado (2015, diciembre 7). Recuperado desde: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-4/club.
Modelo Conceptual (2015, diciembre 7). Recuperado desde: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-4/club/modeloconceptual-n4club.
Interfaz (2015, diciembre 7). Recuperado desde: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-4/club/interfaz-n4club.
Pruebas (2015, diciembre 7). Recuperado desde: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-4/club/pruebas-n4club.


V

sábado, 25 de julio de 2015

APO1 - Nivel 3 - El Ahorcado

Índice

0. Introducción
1. Problema
1.1 Enunciado
1.2 Interfaz gráfica de usuario (Java)
2. Requerimientos
2.1 R1 - Iniciar un juego
2.2 R2 - Jugar una letra
3. Modelo del Mundo del Problema
4. Modelo de la Interfaz Gráfica de Usuario
5. Modelo de Pruebas Unitarias
6. Repositorio: Exploración de Código Fuente C#
7. Recursos
7.1 Java
7.2 C#
7.2.1 Solución y proyectos
7.2.2 Documentación código fuente
7.2.3 Aplicación en ejecución
7.2.3.1 Captura de pantalla
7.2.3.2 Demostración
8. Cambios
9. Conclusiones
10. Glosario
11. Literatura & Enlaces

0. Introducción

En esta ocasión desarrollaremos una aplicación para jugar al ahorcado. Seguiremos el enfoque de análisis, diseño, e implementación orientado objetos como parte de la metodología desarrollada en el proyecto Cupi2 del Departamento de Ingeniería de Sistemas y Computación de la Universidad de los Andes (Colombia). Presentaremos el resultado de análisis, modelaremos, y desarrollaremos la solución usando el lenguaje de programación C# de .NET. Todo esto con el propósito de ofrecer a la comunidad de programadores que desean fortalecer sus conocimientos de la programación orientada a objetos, y/o desean profundizar en C# y las tecnologías .NET.


[Nota importante: Los materiales aquí usados del proyecto Cupi2 y que constituyen la base para el proceso de traducción desde la plataforma Java a la plataforma .NET, se mantienen como son. Su propósito y uso es únicamente académico y divulgativo.]

1. Problema

1.1 Enunciado

Descripción original del problema [4]

El juego del Ahorcado consiste en tratar de adivinar una palabra escondida usando la menor cantidad posible de letras. Si el jugador tiene más de 6 intentos fallidos, pierde el juego. Al iniciar, el jugador solamente conoce el número de letras de la palabra. A medida que avanza el juego, las letras que escoge el jugador se van poniendo en los espacios vacíos de la palabra, de forma que el jugador pueda intentar deducir cuál es.

Durante un juego de Ahorcado, se debe validar si la letra elegida está o no en la palabra, sin distinguir si la letra es mayúscula o minúscula. Si la letra elegida está en la palabra se deben llenar los campos en los que ocurre la letra. También es necesario tener en cuenta que la letra que se esté jugando, no haya sido jugada anteriormente, de modo que si es letra repetida, no se pierda un intento para el jugador. Adicionalmente se debe validar que el jugador sólo tenga el número de oportunidades determinadas por la secuencia de ahorcar el muñeco en juego y que con cada jugada se valide si se ha ganado o no el juego. Finalmente, es importante tener en cuenta que sólo se puede jugar una letra si el juego está iniciado, de forma que una persona que haya perdido, no puede hacer más jugadas hasta que inicie un nuevo juego.

Se quiere construir una aplicación que permita jugar el juego del Ahorcado, donde las palabras por adivinar pertecen al diccionario de palabras de Cupi2 Nivel 3 y son las siguientes:
  • algoritmo, 
  • contenedora, 
  • avance, 
  • ciclo, 
  • instrucciones, 
  • arreglo, 
  • vector, 
  • inicio, 
  • cuerpo, 
  • recorrido, y 
  • patrón
No se tienen en cuenta los acentos de las palabras. El diccionario de palabras sólo maneja minúsculas y no se tienen en cuenta las tildes.

1.2 Interfaz gráfica de usuario (versión Java)

En la Figura 1 se muestra la interfaz gráfica de usuario de la aplicación Ahorcado construida en el lenguaje de programación Java.
GUI en Java
Figura 1. GUI en Java.

2. Requerimientos

2.1 R1 - Iniciar un juego

Código: R1

Nombre: Iniciar un juego

Descripción: La aplicación inicia un nuevo juego escogiendo una palabra del diccionario. El número de intentos posibles es 6.

Entradas
  • Ninguna
Resultados:
  • Hay una palabra escogida, se muestran los espacios vacíos, todas las letras del alfabeto están disponibles y el número de intentos para jugar.

2.2 R2 - Jugar una letra

Código: R2

Nombre: Jugar una letra

Descripción: El jugador propone una letra para ver si está en la palabra o no.

Entradas:
  • La letra escogida por el jugador
Resultados:
  • Si la letra pertenece a la palabra, entonces se le muestra al usuario las ocurrencias de esa letra en la palabra, en las posiciones correspondientes.
  • Si la letra no está en la palabra, entonces el usuario pierde el intento y se valida si ya está ahorcado o si puede seguir jugando.
  • Si la letra ya había sido jugada se informa al usuario que la letra ya se había jugado.
  • Si la palabra está completa, entonces el juego termina.

3. Modelo del Mundo del Problema

En la Figura 2 se describe el diagrama UML con las entidades que integran el modelo del mundo del problema (dominio). (Original en [6].)
Ahorcado - Modelo del mundo del problema
Figura 2. Ahorcado - Modelo del mundo del problema.

4. Modelo de la Interfaz Gráfica de Usuario

En la Figura 3 se muestra el diagrama UML que describe los controles visuales que integran la interfaz gráfica de usuario. (Original en [7].)
Ahorcado - Modelo de la interfaz gráfica de usuario
Figura 3. Ahorcado - Modelo de la interfaz gráfica de usuario.

5. Modelo de Pruebas Unitarias

En el diagrama UML presentado en la Figura 4 se modelan las clases de pruebas del modelo del mundo del problema. (Original en [8].)
Ahorcado - Modelo de pruebas unitarias
Figura 4. Ahorcado - Modelo de pruebas unitarias.

6. Repositorio: Exploración de Código Fuente C#

En el siguiente enlace de repositorio in GitHub se puede explorar todo el código; el cual comprende: 
  • Modelo del mundo del problema, 
  • Controles de la interfaz gráfica de usuario, 
  • Archivos de configuración, 
  • Recursos (imágenes, íconos, cadenas de texto, etc.), 
  • Clases de pruebas unitarias de la funcionalidad y estado de las entidades del mundo del problema.

7. Recursos

7.1 Java

Recursos del proyecto en su versión original: 

7.2.1 Solución y proyectos

Enlaces de descarga de archivos ZIP con la solución y los proyectos integrales (proyectos C# y pruebas unitarias) de la aplicación: 

7.2.2 Documentación código fuente

Archivo CHM con la documentación del código fuente C#
APO1 - Nivel 3 - El Ahorcado - Documentación
Figura 5. APO1 - Nivel 3 - El Ahorcado - Documentación.

7.2.3 Aplicación en ejecución

7.2.3.1 Capturas de pantalla
APO1 - Nivel 3 - El Ahorcado
Figura 6. APO1 - Nivel 3 - El Ahorcado.
7.2.3.2 Demostración

8. Cambios

Cambios sobresalientes en la solución: 
  • Adición de las enumeraciones EstadoJuego y JuegoAhorcadoConstantes para representar el estado del juego y constantes del juego.
  • Varios métodos de las clases Letra, Palabra, y JuegoAhorcado como propiedades.

9. Conclusiones

A lo largo del proceso de traducción hemos afianzado nuestro conocimiento no sólo en lenguaje de programación C#, sino además en comprender estructuras fijas para la contención de datos. La creación de controles personalizados nos ayuda a crear una interfaz gráfica modular y propensa a fáciles modificaciones.


En la próxima traducción pasaremos al nivel 4 de APO1: seguimiento de una especificación en términos de un contrato para la construcción de elementos de programa.

10. Glosario

  • Arreglo
  • Clase
  • Control
  • Estructura de dato
  • Índice
  • Método

11. Literatura & Enlaces

[1]: Universidad de los Andes - Colombia - http://www.uniandes.edu.co/
[2]: Cupi2 - http://cupi2.uniandes.edu.co/sitio/
[3]: APO1 - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1
[4]: Enunciado - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/ahorcado
[5]: Requerimientos Funcionales - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/ahorcado/requerimientos-funcionales
[6]: Modelo Conceptual - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/ahorcado/modelo-conceptual
[7]: Interfaz - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/ahorcado/interfaz
[8]: Pruebas - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/ahorcado/pruebas


V

martes, 14 de julio de 2015

APO1 - Nivel 3 - Tienda de Libros

Índice

0. Introducción
1. Enunciado del Problema
1. Enunciado
1.2 Interfaz gráfica (versión en Java)
2. Requerimientos
2.1 R1 - Adicionar un nuevo libro al catálogo
2.2 R2 - Agregar un libro al carro de compras del cliente
2.3 R3 - Retirar un libro del carro de compras+
3. Modelo del Mundo del Problema
4. Modelo de la Interfaz Gráfica de Usuario
5. Modelo de Pruebas Unitarias
6. Repositorio: Exploración de Código 
6.1 Modelo
6.2 GUI
7. Recuros
7.1 Java
7.2 C#
7.2.1 Solución y proyectos
7.2.2 Documentación del código fuente de la aplicación
7.2.3 Aplicación en ejecución
7.2.3.1 Capturas de pantall
7.2.3.2 Vídeo
8. Cambios
9. Conclusiones
10. Glosario
11. Literatura & Enlaces

0. Introducción

En esta ocasión crearemos una aplicación de administración de una tienda de libros. Aplicaremos la metodología del proyecto Cupi2 del Departamento de Ingeniería de Sistemas y Computación de la Universidad de Los Andes; metodología que nos ayudará a entender, fortalecer, afianzar y dominar el proceso de desarrollo de aplicaciones basado en el enfoque de análisis, diseño e implementación orientado a objetos. En particular, esta aplicación permitirá al usuario la adición de libros disponibles a la venta, y al mismo tiempo realizar pedidos especificando datos básicos de la compra. Estas operaciones quedarán modeladas en un dominio que comprenderá los objetos y sus interacciones para lograr los objetivos de servicio de la aplicación a sus usuarios.


[Nota importante: Los materiales aquí usados del proyecto Cupi2 y que constituyen la base para el proceso de traducción desde la plataforma Java a la plataforma .NET, se mantienen como son.]

1. Enunciado del Problema

Enunciado del problema para la Tienda de Libros: (La versión original se halla en [5].)

1.1 Enunciado

Se quiere construir una aplicación para una tienda de libros. La tienda tiene un catálogo o colección de libros que ofrece para la venta. Los libros tienen un ISBN que los identifica de manera única, un título y un precio de venta. La tienda tiene una disponibilidad ilimitada de los libros que ofrece.


Cuando un cliente llega a la tienda a comprar libros, utiliza un carrito de compras. En el carrito de compras adiciona los libros que quiere comprar. El cliente puede llevar más de un ejemplar de cada libro. Al revisar la cuenta, el cliente debe poder ver el subtotal de cada libro según la cantidad de ejemplares que lleve de él, y el total de toda la compra que es igual a la suma de los subtotales.

1.2 Interfaz gráfica (versión en Java)

En la Figura 2 se muestra la versión de la aplicación construida en el lenguaje de programación Java.
Tienda de Libros - GUI en Java
Figura 1. Tienda de Libros - GUI en Java.

2. Requerimientos

A continuación se enumeran y se describen los requerimientos a implementar en el lenguaje de programación C#.

2.1 R1 - Adicionar un nuevo libro al catálogo

Código: R1

Nombre: Adicionar un nuevo libro al catálogo

Descripción: Se requiere adicionar un nuevo libro al catálogo que maneja la tienda. Para adicionar un libro debe definirse toda la información básica del libro.

Entradas:
  • Título del libro
  • ISBN del libro
  • Precio del libro
Resultados:
  • El catálogo queda actualizado con el nuevo libro adicionado.

2.2 R2 - Agregar un libro al carro de compras del cliente

Código: R2

Nombre: Agregar un libro al carro de compras del cliente.

Descripción: Cuando un cliente está en la librería puede ir seleccionando los libros que desea llevar y las cantidades para cada uno de ellos. Cuando el cliente selecciona un libro y su cantidad se adiciona un pedido al carro de compras que va conteniendo los ítems (libro-cantidad) de su compra.

Entradas:
  • Libro que desea el cliente
  • Cantidad de libros que desea el cliente
Resultados:
  • El carro de compras con el nuevo ítem de compra adicionado
  • El subtotal del ítem según su cantidad
  • El total de compra que se lelva en el carro

2.3 R3 - Retirar un libro del carro de compra

Código: R3

Nombre: Retirar un libro del carro de compra

Descripción: El cliente requiere eliminar del carro la compra de todos los ejemplares de un libro.

Resultados:
  • El carro de compras queda actualizado sin el libro del ISBN dado.

3. Modelo del Mundo del Problema

En la Figura 2 se describe el diagrama UML del modelo del mundo del problema: entidades y sus relacionales. (Original en [7].)
Modelo del mundo del problema
Figura 2. Modelo del mundo del problema.

4. Modelo de la Interfaz Gráfica de Usuario

En la Figura 3 se describe en un diagrama UML los controles gráficos que integran la interfaz gráfica de usuario y sus relaciones. (Original en [8].)
Figura 3. Modelo de la interfaz gráfica de usuario.

5. Modelo de Pruebas Unitarias

El diagrama UML de la Figura 4 muestra el modelo de clases de pruebas del estado y comportamiento de las entidades del modelo del mundo del problema (dominio). (Original en [9].)
Modelo de Pruebas Unitarias
Figura 4. Modelo de Pruebas Unitarias.

6. Repositorio: Exploración de Código Fuente C#

6.1 Repositorio

En el siguiente enlace podrán encontrar el repositorio público de este proyecto:

6.2 Modelo
Clases que representan el modelo.



Archivo
C# Libro.cs [Enlace alternativo]:


Archivo
C# TiendaLibros.cs [Enlace alternativo]:



6.2 GUI
Clases que representan la interfaz gráfica de usuario.


Archivo C# ControlCarrito.cs [Enlace alternativo]:


Archivo
C# ControlCatalogo.cs [Enlace alternativo]:


Archivo
C# DialogoAdicionarLibro.cs [Enlace alternativo]:


Archivo C# Principal.cs [Enlace alternativo]:



7. Recursos

7.1  Java

Recursos del proyecto en su versión original (lenguaje de programación Java):
  • [Pendientes]

7.2 C#

7.2.1 Solución y proyectos

Enlaces de descarga de archivos ZIP con la solución y los proyectos integrales (solución C# y pruebas unitarias) de la aplicación:

7.2.2 Documento de código fuente de la aplicación

Enlace de descarga de la documentación (formato CHM) del código fuente C# de la aplicación.

7.2.3 Aplicación en ejecución

7.2.3.1 Capturas de pantalla
Tienda de Libros en C#
Figura 5. Tienda de Libros en C#.
7.2.3.2 Demostración

8. Cambios

Algunos de los cambios efectuados en la adaptación:
  • Clase Libro: El campo precio ahora en decimal (antes en int).
  • Clase ItemCompra: Removido método cambiarCantidadSolicitada. La propiedad CantidadSolicitada hace el trabajo de este método.
  • Clase TiendaLibros: Varios métodos convertidos en propiedades debido a su naturaleza de recuperación y mutación en C#.

9. Conclusiones

Hemos desarrollado una aplicación que administra la adición y venta de libros en un librería. Durante el desarrollo de esta aplicación no sólo hemos traducido varios de los algoritmos que resuelven los requerimientos definidos tempranamente, sino que hemos realizado la adaptación a las construcciones disponibles en C# (e.g., propiedades). Nuevamente recurrimos a la personalización de controles para la construcción de la interfaz gráfica de usuario: el catálogo, y el carrito de compras como objetos DataGridView.

En el próximo ejercicio de traducción crearemos un apliación para jugar al ahorcado.

10. Glosario

  • Aplicación
  • Clase
  • Control
  • Entidad
  • Modelo
  • Prueba unitaria

11. Literatura & Enlaces

[1]: Universidad de los Andes - Colombia - http://www.uniandes.edu.co/
[2]: Cupi2 - http://cupi2.uniandes.edu.co/sitio/
[3]: APO1 - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1
[4]: Nivel 3 - Manejo de Grupos de Atributos - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3
[5]: Enunciado - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/tienda-de-libros
[6]: Requerimientos - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/tienda-de-libros/requerimientos-1714
[7]: Modelo Conceptual - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/tienda-de-libros/modeloconceptual-n3carrocompraslibro
[8]: Interfaz - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/tienda-de-libros/interfaz-n3carrocompraslibro
[9]: Pruebas - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/tienda-de-libros/pruebas-n3carrocompraslibro


J