Introducción

En este módulo final, aplicarás todos los conocimientos adquiridos a lo largo del curso para desarrollar un proyecto completo en C#. Este proyecto te permitirá consolidar tus habilidades y demostrar tu competencia en la programación con C#. El proyecto está diseñado para abarcar múltiples aspectos de la programación, desde la configuración del entorno hasta la implementación y despliegue de una aplicación funcional.

Objetivos del Proyecto

  1. Aplicar conceptos de programación orientada a objetos (POO): Utilizar clases, objetos, herencia, polimorfismo, encapsulamiento y abstracción.
  2. Implementar estructuras de control: Utilizar sentencias condicionales, bucles y manejo de excepciones.
  3. Trabajar con datos: Implementar entrada/salida de archivos, serialización y conectividad con bases de datos.
  4. Utilizar conceptos avanzados de C#: Aplicar interfaces, delegados, eventos, genéricos, colecciones y LINQ.
  5. Desarrollar una interfaz de usuario: Crear una interfaz gráfica utilizando Windows Forms, WPF, ASP.NET Core, Blazor o Xamarin.
  6. Seguir mejores prácticas y patrones de diseño: Aplicar estándares de codificación, patrones de diseño y realizar pruebas unitarias.
  7. Gestionar el ciclo de vida del software: Planificar, implementar, probar, depurar y desplegar la aplicación.

Descripción del Proyecto

Proyecto: Sistema de Gestión de Biblioteca

Descripción General: Desarrollar un sistema de gestión de biblioteca que permita a los usuarios gestionar libros, miembros y préstamos. La aplicación debe incluir funcionalidades para agregar, editar, eliminar y buscar libros y miembros, así como registrar y gestionar préstamos de libros.

Requisitos Funcionales

  1. Gestión de Libros:

    • Agregar nuevos libros.
    • Editar información de libros existentes.
    • Eliminar libros.
    • Buscar libros por título, autor o ISBN.
  2. Gestión de Miembros:

    • Registrar nuevos miembros.
    • Editar información de miembros existentes.
    • Eliminar miembros.
    • Buscar miembros por nombre o ID de miembro.
  3. Gestión de Préstamos:

    • Registrar préstamos de libros.
    • Registrar devoluciones de libros.
    • Ver historial de préstamos de un miembro.
    • Ver disponibilidad de libros.
  4. Interfaz de Usuario:

    • Crear una interfaz gráfica amigable para el usuario.
    • Implementar formularios para la gestión de libros, miembros y préstamos.

Requisitos No Funcionales

  1. Seguridad:

    • Implementar autenticación y autorización para acceder al sistema.
    • Asegurar que solo los usuarios autorizados puedan realizar ciertas acciones (por ejemplo, agregar o eliminar libros).
  2. Rendimiento:

    • Asegurar que las operaciones de búsqueda y gestión de datos sean rápidas y eficientes.
  3. Mantenibilidad:

    • Escribir código limpio y bien documentado.
    • Seguir estándares de codificación y mejores prácticas.
  4. Escalabilidad:

    • Diseñar el sistema de manera que pueda escalarse fácilmente para manejar un mayor número de libros y miembros en el futuro.

Herramientas y Tecnologías

  • Lenguaje de Programación: C#
  • Entorno de Desarrollo: Visual Studio
  • Base de Datos: SQL Server o SQLite
  • Frameworks: .NET Core, Entity Framework
  • Interfaz de Usuario: Windows Forms, WPF, ASP.NET Core, Blazor o Xamarin (a elección del estudiante)
  • Control de Versiones: Git

Entregables

  1. Código Fuente: Todo el código fuente del proyecto, organizado y documentado.
  2. Documentación:
    • Manual de usuario.
    • Documentación técnica del código.
    • Instrucciones para la configuración y despliegue del sistema.
  3. Presentación: Una presentación que resuma el proyecto, incluyendo una demostración de las funcionalidades implementadas.

Evaluación

El proyecto será evaluado en base a los siguientes criterios:

  1. Funcionalidad: Cumplimiento de los requisitos funcionales y no funcionales.
  2. Calidad del Código: Limpieza, organización y documentación del código.
  3. Interfaz de Usuario: Usabilidad y diseño de la interfaz gráfica.
  4. Pruebas: Implementación y resultados de pruebas unitarias y de integración.
  5. Presentación: Claridad y efectividad de la presentación del proyecto.

Conclusión

Este proyecto final te brinda la oportunidad de aplicar todo lo que has aprendido en un contexto práctico y realista. Asegúrate de planificar bien tu trabajo, seguir las mejores prácticas y documentar adecuadamente tu código. ¡Buena suerte y disfruta del proceso de desarrollo!

© Copyright 2024. Todos los derechos reservados