“Fundamentos y primeros pasos en el desarrollo del software parte 2″
Herramientas y lenguajes utilizados en proyecto para Punto de Ventas para pequeños y medianos comercios.
Una vez que comprendemos conceptos como paradigmas, lenguajes de programación, algoritmos, tipos de datos, entradas y salidas (inputs/outputs), estructuras de control, análisis y diseño, entre otras cosas, se podría decir que estamos en condiciones de comenzar con nuestro primer proyecto. Conocer los fundamentos es esencial para poder tomar decisiones acertadas en función de los objetivos del desarrollo.

Como mencioné en el artículo anterior, el proyecto que decidí llevar a cabo es un sistema de punto de ventas accesible para comercios pequeños y medianos, especialmente pensado para equipos con recursos limitados y sistemas operativos como Windows 7.
Los recursos utilizados para desarrollar este proyecto fueron: el lenguaje C#, la tecnología Windows Forms, el framework .NET 4.7.2, el entorno de desarrollo Visual Studio Community 2019 y la base de datos local SQLite.

Herramientas usadas y los primeros pasos.
Visual Studio Community es un entorno de desarrollo (IDE) provisto por Microsoft que permite crear aplicaciones mediante la plataforma .NET. En este caso, se utilizó .NET Framework 4.7.2, que proporciona herramientas, bibliotecas y soporte para lenguajes como C# y tecnologías como Windows Forms.
Este IDE facilita el diseño visual de las interfaces al permitir arrastrar y ubicar elementos como TextBox (campos de texto), Label (etiquetas), Button, CheckBox, RadioButton, DataGrid por mencionar algunos elementos que serían los más comunes entre otros. Esto simplifica el proceso de diseño y permite aplicar creatividad a la disposición y organización de los elementos en pantalla.
Teniendo en cuenta que una buena aplicación debe ser intuitiva, clara y modular, el diseño visual se vuelve una parte clave del desarrollo. Por ejemplo, organizar los elementos en secciones o formularios separados ayuda a reducir la confusión y mejora la experiencia del usuario final. Cabe aclarar que, al hablar de “diseño”, me refiero principalmente a la estructura y disposición funcional de la interfaz, más allá de los aspectos estéticos.
El formulario que se muestra corresponde a la sección de stock de productos en sus primeras etapas. En él se aprecia un TextBox destinado a la búsqueda de productos, otro TextBox que exhibe la cantidad de productos encontrados con ese nombre, y un DataGrid en el que se cargan los datos. Algunas columnas, que en un principio resultan útiles, se eliminarán posteriormente si se determina que no son relevantes para la vista del usuario.
A medida que desarrollamos la aplicación y realizamos pruebas, van surgiendo problemas, mejoras o ideas nuevas, errores, más problemas y así. Por eso, es fundamental mantener un ciclo constante de desarrollo, prueba, corrección y mejora, hasta lograr que el software sea funcional, robusto y cumpla con los objetivos propuestos.

Una vez que el producto se pone en marcha, se instala y comienza a utilizarse, se entra en la etapa de seguimiento. En esta fase, el o los desarrolladores recogen información sobre el comportamiento del programa mediante distintos medios. Uno de los métodos más directos es visitar o comunicarse con el cliente para conocer su valoración, escuchar sugerencias, detectar posibles mejoras o identificar funcionalidades adicionales que desearía incorporar. Esta fase del ciclo de vida del software se denomina mantenimiento, y es fundamental para garantizar que el sistema siga cumpliendo con los objetivos a lo largo del tiempo.

Según el estándar internacional ISO/IEC 14764:2006 existen diferentes tipos de mantenimiento:
Correctivo: se encarga de corregir errores que no fueron detectados durante la etapa de desarrollo.
Adaptativo: consiste en realizar ajustes para que el software se adapte a cambios en el entorno, como una actualización del sistema operativo o una nueva versión del gestor de base de datos.
Perfectivo o evolutivo: busca mejorar el rendimiento, agregar nuevas funcionalidades o hacer que el sistema sea más eficiente y usable según el feedback de los usuarios.
Estas acciones aseguran que el software no solo siga funcionando correctamente, sino que también evolucione de acuerdo con las necesidades del cliente y el entorno tecnológico.
Lenguajes a utilizar C# y SQL
Para desarrollar nuestro proyecto usamos C#, un lenguaje que surge como la evolución de C++ y que fusiona características de Java. Es un lenguaje orientado a objetos que toma lo mejor de ambos mundos: la potencia y flexibilidad de C++ junto con la simplicidad y robustez de Java. C# incorpora características modernas como la recolección automática de basura (garbage collection), la programación orientada a eventos, LINQ para consultas integradas y una fuerte integración con el entorno .NET, lo que facilita el desarrollo de aplicaciones de escritorio, web y móviles de forma eficiente y estructurada.
Nos enfocamos en el manejo de formularios, eventos y el uso de sentencias SQL embebidas para interactuar con la base de datos SQLite. La lógica principal se apoyó en controles como DataGridView, TextBox, ComboBox y Button, junto con eventos como Click, TextChanged y SelectedIndexChanged para manejar las acciones del usuario.
Gracias a la integración entre C# y SQLite, pudimos ejecutar sentencias SQL directamente desde el código y actualizar la interfaz en tiempo real con los resultados.
Visual Studio nos brindó herramientas útiles como el diseñador de formularios, el depurador y el autocompletado de código, lo cual agilizó el desarrollo y facilitó la detección de errores. Esta combinación de herramientas y tecnologías nos permitió desarrollar un punto de ventas funcional, adaptable y con una interfaz amigable para el usuario final.
Bueno, hasta aquí desarrollé gran parte del ciclo de vida del software: desde el análisis y diseño inicial del sistema, hasta su implementación y desarrollo en C# con Windows Forms. Fue un camino de aprendizaje constante, lleno de búsquedas en internet, pruebas y errores, soluciones encontradas tras muchos intentos y horas frente a la computadora. Cada una de esas etapas contribuyó a dar forma a este proyecto de punto de ventas.
Espero que lo compartido en estos artículos haya sido de forma clara y resumida acerca de cómo fue este proceso, con la intención de que la lectura haya sido amena y comprensible para quienes estén interesados en el desarrollo de software asimismo motivadora para emprender con ganas sus proyectos.
Gracias por tomarse el tiempo de llegar hasta el final. ¡Saludos!

AUTOR: ENZO MOREYRA
CARRERA: Tecnicatura en Desarrollo de Software



