Nombre.- Cristian Flores Melgar
C.I.: 6844027 L.P.
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