Metodología y modelos de proceso del proyecto de software
Enviado por Wezate GG • 3 de Septiembre de 2018 • Ensayo • 6.668 Palabras (27 Páginas) • 212 Visitas
[pic 2][pic 3]
Contenido
I. Introducción 3
II. Objetivo 3
III. Desarrollo 4
IV. Conclusiones 35
- Introducción
Como Introducción, el grupo de trabajo comenzó con la realización de la documentación del proyecto para poder comenzar la programación del de dicho software. En este informe nos presentaran, detallaran distintos análisis y estudios realizados por estos. Comenzaron con la investigación de modelos y metodologías de desarrollo, en el cual tuvieron que buscar 3 metodologías más aparte de las utilizadas comúnmente en la cual escogieron investigar sobre extreme programming, crystal methodologies y SCRUMP, con estas hicieron comparaciones para determinar la metodología que podrían aplicar en el desarrollo del proyecto. Presentaran más a fondo la consolidación y especificación de requerimientos en conjunto de modelo AS-IS y el TO-BE en el cual mostraran el proceso que posee la empresa analizada, sus casos de uso y otros datos de cómo la empresa está realizando sus actividades antes del software que implementarán. Para finalizar esta introducción el grupo de trabajo escoge una metodología para aplicar en el proyecto la cual será la orientada a objetos, por qué se escogió esta es explicado más adelante en el informe.
- Objetivo
En el presente informe se detallara la implementación de la solución al problema de reservas de mesas para la cadena de restaurantes.
Objetivos a Implementar:
- Analizar y comparar distintas metodologías tradicionales, para posteriormente escoger una para la utilización en el proyecto.
- Analizar objetivos generales y específicos.
- Desarrollo del modelo CANVAS, FODA actual y futuro.
- Analizar requerimientos de la aplicación.
- Analizar contextos de usos para la solución.
- Analizar usuarios utilizando distintas metodologías como historias de usuarios, modelo de datos, casos de usos, diagramas UML.
- Analizar la solución basándose en la metodología previamente seleccionada.
- Desarrollo de la Carta Gantt.
- Desarrollo
Actividad 1: Investigación de modelos y metodologías de desarrollo
CRITERIO | CASCADA | INCREMENTAL | PROTOTIPADO | EPIRAL | EXTREME PROGRAMMING | Scrum |
DISPONIBILIDAD DE RECURSOS | TODOS | ALGUNOS | ALGUNOS | ALGUNOS | TODOS | ALGUNOS |
COMPLEJIDAD DEL PROYECTO | BAJA | MEDIA | MEDIA | ALTA | BAJA | MEDIA/BAJA |
ENTENDIMIENTO DE REQUIRIMIENTOS | ESPECIFICO | VAGO | VAGO | VAGO | ESPECIFICO | VAGO |
TECNOLOGIA DEL PRODUCTO | VIEJA | NUEVA | VAGO | VAGO | NUEVA | NUEVA |
MANEJO DE LA PERSPECTIVA DEL RIESGO | NO | SI | SI | SI | SI | NO |
CONOCIMIENTO DEL DOMINIO DEL PROBLEMA | ALTO | REGULAR | REGULAR | POBRE | REGULAR | REGULAR |
Extreme Programming:
- Metodología de desarrollo de software formulada por Kent Beck.
- Metodología basada en procesos agiles de desarrollo de software.
- Se diferencia de las tradicionales porque pone énfasis en la adaptabilidad que en la previsibilidad.
- El proyecto pueda ser capaz de adaptarse a los cambios de requisitos en cualquier momento de su ciclo de vida es una aproximación mayor a la realidad que intentar definir los requisitos al comienzo del proyecto e invertir en los en controlar los cambios.
- Potencia las relaciones interpersonales y fomenta el trabajo en equipo además del aprendizaje de los desarrolladores.
- Se basa en una continua retroalimentación con el cliente lo que conlleva a que sea parte del desarrollo del proyecto.
- Simplicidad en las soluciones implementadas.
- Es especial para los proyectos con requisitos imprecisos y muy cambiantes con un alto riesgo técnico.
Características:
- Desarrollo iterativo e incremental: Pequeñas mejoras una tras otra.
- Desarrollo guiado por pruebas: Trabajar en ciclos muy cortos de agregar una prueba, y después hacerla funcionar.
- Programación en parejas: Se recomienda desarrollo en parejas por un mismo puesto, se recomienda una gran cantidad de código para ser revisado y discutido mediante el progreso.
- Frecuente integración de los desarrolladores con el cliente: Se recomienda que esté presente el cliente en el desarrollo del proyecto.
- Corrección de los errores: Antes de añadir funcionalidad, hacer entregas frecuentes.
- Refactorización del código: Reescribir partes del código para aumentar la legibilidad y mantenibilidad sin modificar su comportamiento, además eliminar la duplicación y aumentar la cohesión del código disminuyendo el acoplamiento.
- Propiedad del código compartida: Luego de dividir las responsabilidades por cada grupo este método promueve que todo el personal pueda corregir y extender cualquier parte del código.
- Simplicidad en el código: Hacer algo simple y tener poco trabajo extra para cambiarlo si se requiere, que realizar algo complicado y no ocuparlo nunca.
- Planificación: Se realizan historias de usuarios para cada versión y se realizan continuamente.
- Versiones pequeñas: Se deben realizar en pocas semanas y deben ofrecer algo útil para el usuario final y no trozos de código que no se van a utilizar.
- Integración continua: Siempre debe tenerse un ejecutable del proyecto funcional, no debe quedar nunca congelado el proyecto por mucho tiempo mientras se realizan las mejoras continuas.
- Normas de codificación: Debe existir un único estilo de codificación para que parezca que fue realizado por una única persona.
Valores:
- Simplicidad:
Se simplifica el diseño para agilizar el desarrollo y facilitar el mantenimiento.
Para mantener la simplicidad es necesaria la refactorización del código.
También se aplica la simplicidad en la documentación, de esta manera el código debe comentarse en su justa medida.
- Comunicación:
Para los programadores el código comunica mejor cuanto más simple sea.
...