Objetivo General: Desarrollar una aplicación web para la sistematización de procesos productivos de la granja Universitaria el Tibar.
Enviado por mondoro • 7 de Enero de 2018 • 3.347 Palabras (14 Páginas) • 653 Visitas
...
de la metodología propuesta y el aporte que desde la línea de investigación “Software, sistemas emergentes y Nuevas Tecnologías” se difunda entre los usuarios finales, y los estudiantes que quieran acoger o aceptar la metodología propuesta en este proyecto en la realización de sus proyectos de software asquitos o relacionados con la sistematización de procesos productivos.
Fase 6. Fase de difusión
Presentar los resultados obtenidos, así como escribir y publicar la documentación pertinente con los resultados de la investigación, y la implementación del software.
Metodología de Desarrollo (XP)
La programación extrema es una metodología de desarrollo ligera (o ágil) basada en una serie de valores y de prácticas de buenas maneras que persigue el objetivo de aumentar la productividad a la hora de desarrollar programas.
Este modelo de programación se basa en una serie de metodologías de desarrollo de software en la que se da prioridad a los trabajos que dan un resultado directo y que reducen la burocracia que hay alrededor de la programación.
Esta metodología cuenta con 12 principios básicos:
Principio de pruebas: lo primero que se debe hacer es establecer un período de pruebas de aceptación del programa, en el cual se definirán las entradas y salidas del sistema. Básicamente se define lo que debe hacer el software desarrollado. Como si fuese una caja negra.
Planificación: el cliente (o su representante) escribirá sus necesidades para definir concretamente las actividades que el sistema debe realizar. En esta fase se creará un documento que contendrá historias de usuario que forman el plan de liberación, el cual define los tiempos de entrega de la aplicación para poder recibir feedback por parte del cliente.
Cliente in-situ: el cliente (o su representante) deberá formar parte del equipo de desarrollo. Se le dará poder para determinar los requisitos de la aplicación, definir la funcionalidad y dar prioridad a determinadas cosas. Gracias a esto, habrá una fuerte interacción con los programadores, disminuyendo así el tiempo de comunicación y la cantidad de documentación a redactar. El cliente estará con el equipo durante todo el proceso de desarrollo del proyecto.
Programación en parejas: este punto junto con el anterior son los más radicales de esta metodología. Consiste en escribir código en parejas compartiendo una sola máquina. Según los experimentos ya realizados sobre este método, se producen mejores y más consistentes aplicaciones a igual o menor coste.
Integración continua: consiste en implementar progresivamente las nuevas características del software. En lugar de crear versiones estables en función de una planificación previamente realizada, los programadores reunen su código y reconstruyen el proyecto varias veces al día si hace falta.
Refactorización: mediante la constante eliminación de código duplicado y/o ineficiente los equipos de programación mejoran el diseño del sistema. El código se evalúa continuamente para ofrecer la mayor calidad posible.
Entregas pequeñas: el producto es evaluado en un ambiente real mediante la colocación de un sistema sencillo en producción el cual se actualizará rápidamente, es decir, cada 2 semanas (3 como máximo) el software será puesto en producción.
Diseño simple: el mejor programa será aquel que cumpla con los requisitos y sea más simple. Es importante proporcionar un software que cubra las necesidades de un cliente. Ni más ni menos.
Metáfora: expresa la visión evolutiva del proyecto y define los objetivos del sistema mediante una historia.
Propiedad colectiva del código: el código tiene propiedad compartida. Nadie es propietario de nada, ni siquiera de lo que ha desarrollado. Todos los programadores son “dueños” de todo el código. Según esta metodología, cuantos más programadores haya trabajado en una parte de código, menos errores tendrá.
Estándar de programación: define las reglas para escribir y documentar código, además de cómo se comunican las diferentes piezas de código desarrolladas por diferentes equipos. El objetivo de esto es que parezca que el código ha sido escrito por una única persona.
Horas de trabajo fijas: “Los programadores cansados escriben peor código.” Es importante minimizar las horas extras y mantener a los programadores frescos y descansados. De esta manera, se generará mejor código. Si es necesario hacer horas extras, quiere decir que el proyecto está mal planificado.
Actividades Propuestas
Para alcanzar cada uno de los objetivos del proyecto se proponen las siguientes actividades:
• Realización de Entrevistas a personas que trabajan en el área de la salud con el propósito de verificar las diferentes necesidades que se tienen actualmente en la granja, específicamente a las personas que laboran en este lugar y/o que se encargan de los proyectos productivos desarrollados allí.
• Se comprobarán todas las variables y requisitos funcionales y no funcionales de los procesos y proyectos que se realizan, tomando como prioridad los que son usados de manera más frecuente y/o que tienen mayor interacción en los ingresos.
• Definir el alcance y delimitación que el software tendrá teniendo en cuenta los datos previamente definidos por el personal que serán sus usuarios, para así contar con un software hecho a la medida que garantice la calidad del desarrollo a entregar.
• Con la implementación de UML (Lenguaje de Modelado Unificado), se generarán los Diagramas de clases, objetos, componentes, Casos de Uso y demás tipos de diagramas que sea necesario generar para contar con una aplicación robusta y ligera.
• Se usará el IDE de desarrollo Netbeans 8.0.2 para la codificación, Paint.net para la edición de imágenes y XAMPP 5.6.8 para la creación de los servicios de Servidor web, bases de datos e interacción con PHP.
• Se trabajará utilizando la metodología de desarrollo ágil XP, por su modelo de trabajo basado en experiencia del equipo de trabajo, interacción continua con los clientes, su fácil diseño y ágil comunicación en el lenguaje que se implementará, que en este caso son varios pero que se complementan entre sí.
• Este proyecto es de carácter incremental, por lo cual se realizarán implementaciones constantes, en las que se aumentarán las funciones y capacidades del aplicativo,
...