miércoles, 21 de septiembre de 2016

Nombre.- Cristian Flores Melgar
C.I.: 6844027 L.P.
·         Definición de modelo de proceso de software.
Conjunto estructurado de actividades requeridas para desarrollar un sistema software.
Ø  Especificación.
Ø  Diseño.
Ø  Validación.
Ø  Evolución.
Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse. Debe estar explícitamente modelado si va a ser bien administrado.
Los modelos de proceso contienen las instrucciones para desarrollar una  aplicación.
Ø  Como descubrir que tiene que hacer la aplicación.
Ø  Como decidir cómo va a estar estructurada la aplicación.
Ø  Como asegurarse de que la aplicación funciona y hace lo que tenía que hacer.
Ø  Como ocuparse de que la aplicación se pueda ampliar/migrar/adaptar.
Los pasos de cada método no son iguales y además hay que adaptarlas para cada caso, convienen que las instrucciones figuren por escrito.

·         Describir al menos 3 modelos de proceso SECUENCIAL.
Ø  Modelos de proceso Desarrollo rápido de aplicaciones (DRA)
El modelo de desarrollo rápido de aplicaciones, DRA (RAD – Rapid Application Development) o modelo de la caja de tiempo surgió como respuesta al modelo formal y al ciclo en espiral
Enfatiza un ciclo de desarrollo extremadamente corto Modelo funcional en 60 ó 90 días
No es un modelo bien definido. Secuencia de integraciones de un sistema evolutivo o de prototipos que se revisan con el cliente descubrimiento de los requisitos.
Cada integración se restringe a un período de tiempo bien definido (caja de
tiempo)
Características
Modelo secuencial: Separación en fases de cada caja de tiempo
Integraciones constantes
Centrado en el código más que en la documentación
Desarrollo basado en componentes
Uso efectivo de herramientas y frameworks
Modelos de proceso del software 18
Participación activa del usuario
·         Describir al menos 3 modelos de proceso EVOLUTIVO.
Ø  Modelo Incremental
Es un modelo de tipo evolutivo que está basado en varios ciclos Cascada realimentados aplicados
repetidamente, con una filosofía iterativa. El Modelo Incremental combina elementos del MLS con la filosofía
interactiva de construcción de prototipos.
En una visión genérica, el proceso se divide en 4 partes: Análisis, Diseño, Código y Prueba.
Sin embargo, para la producción del Software, se usa el principio de trabajo en cadena o “Pipeline”, utilizado en muchas otras formas de programación. Con esto se mantiene al cliente en constante contacto con los resultados obtenidos en cada incremento.
El Modelo Incremental se puede ver aquí en forma gráfica:
- Se evitan proyectos largos y se entrega algo de valor a los usuarios con cierta frecuencia.
- El usuario se involucra más.
- Difícil de evaluar el coste total.
- Difícil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar como un todo.
- Requiere gestores experimentados.
- Los errores en los requisitos se detectan tarde.
- El resultado puede ser muy positivo.


Ø  Modelo evolutivo Basado en Componentes
Definición:
Un componente es una pieza de código pre-elaborado que encapsula alguna funcionalidad expuesta a través de interfaces estándar.
Etapas del modelo evolutivo Basado en Componentes
PLANEACION: En esta etapa evalúa la función y el rendimiento que se asignaron al Software durante la Ingeniería del Sistema de Computadora para establecer un ámbito de proyecto que no sea ambiguo, e incomprensible.
ANÁLISIS DE RIESGOS: En esta etapa l analista se encarga de analizar los riesgos que el software a crear estará expuesto y así encontrar la manera de corregirlos.
CONSTRUCCIÓN Y ADAPTACIÓN DE LA INGENIERÍA: En esta etapa se construye el software, se prueba si no tiene algún problema o para detectar errores, sé instala , y luego se le brinda soporte al cliente.
VALUACIÓN DEL CLIENTE: El cliente tiene la tarea de evaluar el software para verificar si este cumple con los requisitos que este proporciono y está en todo la tarea de aprobar o rechazar el software.
Características
• Es evolutivo
• Posee un enfoque evolutivo para la creación de software
• Comienza con la identificación de las clases más importantes
• Examina los datos que se van a manejar
• Permite la reutilización del software
• El ensamblaje de los componentes reduce el 70 del 100% del tiempo del ciclo del desarrollo del software y un 84 del 100% del costo del proyecto.




·         Describir al menos 3 modelos de proceso AGIL.
En una reunión celebrada en febrero de 2001 en Utah-EEUU, nace el término "ágil" aplicado al desarrollo de software. En esta reunión participan un grupo de 17 expertos de la industria del software, incluyendo algunos de los creadores o impulsores de metodologías de software. Su objetivo fue esbozar los valores y principios que deberían permitir a los equipos desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto. Se pretendía ofrecer una alternativa a los procesos de desarrollo de software tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que se genera en cada una de las actividades desarrolladas.
Ø     SCRUM
Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle. Define un marco para la gestión de proyectos, que se ha utilizado con éxito durante los últimos 10 años. Está especialmente indicada para proyectos con un rápido cambio de requisitos. Sus principales características se pueden resumir en dos. El desarrollo de software se realiza mediante iteraciones, denominadas sprints, con una duración de 30 días. El resultado de cada sprint es un incremento ejecutable que se muestra al cliente. La segunda característica importante son las reuniones a lo largo proyecto. Éstas

Ø  Crystal Methodologies
Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo (de ellas depende el éxito del proyecto) y la reducción al máximo del número de artefactos producidos.
Han sido desarrolladas por Alistair Cockburn. El desarrollo de software se considera un juego cooperativo de invención y comunicación, limitado por los recursos a utilizar. El equipo de  desarrollo es un factor clave, por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas de trabajo en equipo definidas.

Ø  Adaptive Software Development (ASD)
Su impulsor es Jim Highsmith. Sus principales características son: iterativo, orientado a los componentes software más que a las tareas y tolerante a los cambios. El ciclo de vida que propone tiene tres fases esenciales: especulación, colaboración y aprendizaje. En la primera de ellas se inicia el proyecto y se planifican las características del  software; en la segunda desarrollan las características y finalmente en la tercera se revisa su calidad, y se entrega al cliente. La revisión de los componentes sirve para aprender de los errores y volver a iniciar el ciclo de desarrollo.

Ø  Feature-Driven Development(FDD)
Define un proceso iterativo que consta de 5 pasos. Las iteraciones son cortas (hasta 2 semanas). Se centra en las fases de diseño e implementación del sistema partiendo de una lista de características que debe reunir el software. Sus impulsores son Jeff De Luca y Peter Coad.

Ø  Lean Development(LD)

 Definida por Bob Charette’s a partir de su experiencia en proyectos con la industria japonesa del automóvil en los años 80 y utilizada en numerosos proyectos de telecomunicaciones en Europa. En LD, los cambios se consideran riesgos, pero si se manejan adecuadamente se pueden convertir en oportunidades que mejoren la productividad del cliente. Su principal característica es introducir un mecanismo para implementar dichos cambios.

No hay comentarios:

Publicar un comentario