Aplicación de la Teoría General de Sistemas en el Desarrollo de Software Un Estudio de Caso sobre una Aplicación de Gestión de Tareas Autor: Jose Arlés Ospina Cardona Institución: Sena Elementos que Intervienen en la Construcción de Software 1. Entradas Requisitos del cliente: las especificaciones y necesidades del cliente. Recursos Humanos: desarrolladores, diseñadores, testers, etc. Herramientas y Tecnologías: software de desarrollo, frameworks, hardware Información del mercado: tendencias, competencia, demandas del usuario 2. Procesos: Análisis de requisitos: identificación y documentación de las necesidades del cliente Diseño de software: crear la arquitectura y el diseño detallado. Desarrollo: codificación y construcción de software Prueba: verificación y validación del software Implementación: desplegar el software en el ambiente de producción Mantenimiento: actualizaciones y correcciones post-implementación 3. Salidas: Producto final: el software desarrollado Documentación: manuales de usuario, guía de instalación, documentación técnica. feedback del cliente 4. Medio ambiente: Desarrollo: infraestructura tecnológica, la política de la empresa Producción: servidores, red, todos los dispositivos en los que se ejecutará el software Regulaciones: los estándares y las leyes aplicables 5. Retroalimentación: Evaluación: revisión del Contino se emprende Retroalimentación: comentarios de los usuarios sobre finales Uso: la eficiencia y el rendimiento del software análisis 6. Actores El cliente: se obtiene el requisito de validación y producto final El gerente de proyecto: planifica, coordina y supervisa el desarrollo de software Analista de requisitos: compilador y documentación de las necesidades relevantes del cliente Diseñador de software: arquitectura, diseño del software creado Desarrollador: la codificación y la construcción de software Probador: Verificación y validación del software Proveen asistencia técnica y mantenimiento post-implementación. Relaciones e Interacciones Entre clientes, gerentes de proyecto y equipo de desarrollo. entre diseñadores, desarrolladores y testers. De cada fase del desarrollo por los actores responsables. De usuarios y clientes para mejoras continuas. Aplicación de la TGS La TGS tiene como objetivo facilitar la perspectiva de desarrollo de software como un sistema integrado e interdisciplinario en el que cada componente y actor interactúa con el todo y de la influencia general de cada interacción. Permite una perspectiva holística y una mejor gestión de los procesos y los recursos. Proyecto: Aplicación de Gestión de Tareas 1. Entradas (Inputs) Requisitos del Cliente: Las necesidades y especificaciones del cliente son fundamentales. Por ejemplo, la capacidad de crear, editar y eliminar tareas, asignar prioridades y establecer fechas límite. Recursos Humanos: Un equipo compuesto por desarrolladores, diseñadores, testers y gerentes de proyecto. Herramientas y Tecnologías: Utilizamos frameworks de desarrollo como React y Node.js, bases de datos como MongoDB, y herramientas de gestión de proyectos como Jira. Información de Mercado: Analizamos aplicaciones similares, tendencias del mercado y obtenemos feedback de usuarios potenciales. 2. Procesos Análisis de Requisitos: Identificamos y documentamos las necesidades del cliente para asegurarnos de que el producto final cumpla con sus expectativas. Diseño del Software: Creamos la arquitectura de la aplicación y diseñamos la interfaz de usuario (UI) y la experiencia de usuario (UX). Desarrollo: Codificamos las funcionalidades de la aplicación, integramos la base de datos y desarrollamos la API. Pruebas: Verificamos y validamos el software mediante pruebas unitarias, de integración y de aceptación. Implementación: Desplegamos la aplicación en un entorno de producción. Mantenimiento: Realizamos actualizaciones y correcciones de errores postimplementación. 3. Salidas (Outputs) Producto Final: La aplicación de gestión de tareas funcional. Documentación: Incluimos manuales de usuario, guías de instalación y documentación técnica. Feedback del Cliente: Recopilamos opiniones y sugerencias para futuras mejoras. 4. Medioambiente Entorno de Desarrollo: Contamos con una infraestructura tecnológica adecuada, políticas de la empresa y una cultura organizacional que fomenta la innovación. Entorno de Producción: Utilizamos servidores, redes y dispositivos donde se ejecutará la aplicación. Regulaciones y Normativas: Cumplimos con los estándares de seguridad y privacidad de datos. 5. Retroalimentación Evaluación Continua: Revisamos y mejoramos continuamente el proceso de desarrollo mediante reuniones de retrospectiva y análisis de métricas. Feedback de Usuarios: Recibimos comentarios y sugerencias de los usuarios finales para iteraciones futuras. Métricas de Desempeño: Analizamos el rendimiento y la eficiencia de la aplicación. Actores Responsables Clientes: Proveen los requisitos y validan el producto final. Gerentes de Proyecto: Planifican, coordinan y supervisan el desarrollo del software. Analistas de Requisitos: Recopilan y documentan las necesidades del cliente. Diseñadores de Software: Crean la arquitectura y el diseño del software. Desarrolladores: Codifican y construyen el software. Testers: Verifican y validan el software. Equipo de Soporte: Proveen asistencia técnica y mantenimiento postimplementación. Relaciones e Interacciones Comunicación Continua: Mantenemos una comunicación constante entre clientes, gerentes de proyecto y el equipo de desarrollo. Colaboración Interdisciplinaria: Fomentamos la colaboración entre diseñadores, desarrolladores y testers. Revisión y Aprobación: Cada fase del desarrollo es revisada y aprobada por los actores responsables. Integración de Feedback: Incorporamos el feedback de usuarios y clientes para mejoras continuas. Aplicación de la TGS La TGS nos permite ver el desarrollo de la aplicación de gestión de tareas como un sistema integrado donde cada componente y actor interactúa y afecta al todo. Esto facilita una visión holística y una mejor gestión de los procesos y recursos involucrados.