Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Software
2. MODELO SECUENCIAL
1.CASCADA
También llamado "Ciclo de vida básico" o "Modelo de cascada" tiene su origen
en el "Modelo de cascada" ingeniado por Winston Royce, aunque omite los
muchos bucles de este último. El Modelo Lineal Secuencial sugiere un enfoque
sistemático o más bien secuencial del desarrollo de software que comienza en
un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y
mantenimiento. El Modelo Lineal Secuencial acompaña las siguientes
actividades:
Ventajas:
● La relación entre las etapas de desarrollo y los distintos tipos de
pruebas facilitan la localización de fallos.
● Es un modelo sencillo y de fácil aprendizaje
● Hace explícito parte de la iteración y trabajo que hay que revisar
● Especifica bien los roles de los distintos tipos de pruebas a
realizar
● Involucra al usuario en las pruebas
Desventajas:
● Es difícil que el cliente exponga explícitamente todos los
requisitos
● El cliente debe tener paciencia pues obtendrá el producto al final
del ciclo de vida
● Las pruebas pueden ser caras y, a veces, no lo suficientemente
efectivas
● El producto final obtenido puede que no refleje todos los
requisitos del usuario
3. Modelo Secuencial por Etapas
Este modelo es parecido al Modelo de prototipos ya que se presenta al
cliente el software en diferentes estados continuos de desarrollo, existe
diferencia en que las especificaciones no son conocidas en detalle al
empiezo del proyecto entonces se van desarrollando paralelamente
con las diferentes versiones del código existente. Es un modelo en que
el software se presenta al cliente en etapas mejoradas sucesivamente.
3. Modelos Evolutivos
Este modelo consta de una versión inicial que luego de presentarse se va refinando
de acuerdo a los comentarios o nuevos requerimientos que así lo requiera por parte
del cliente o bien el usuario final.
Al principio el modelo inicial se crea a partir de las primeras ideas del cliente que no
son expuestas claramente y al exponer el producto se busca que se mejore hasta que
se logre satisfacer al cliente o usuario final.
1. Modelo en Espiral
Es un ciclo de vida de software definido por Barry Boehm, tiene forma de
espiral que representa una repetición de procesos, en el que cada bucle
representa un conjunto de actividade, a medida que se van entregando
prototipos son probados por los clientes o usuarios finales, es un generador de
modelos de proceso guiado por el riesgo que se emplea para conducir
sistemas intensivos de ingeniería de software concurrente.
● Determinar Objetivos.
● Análisis de Riesgo.
● Ingeniería.
● Desarrollar y probar.
Características.
Desventajas:
2. Modelo Concurrente.
“Los gestores de proyectos que siguen los pasos del estado del proyecto en lo
que se refiere a las fases importantes [del ciclo de vida clásico] no tienen idea
del estado de sus proyectos. Estos son ejemplos de un intento por seguir los
pasos extremadamente simples. Tenga en cuenta que, aunque un
proyecto[grande]este en la fase de codificación, hay personal de ese proyecto
implicado en actividades asociadas generalmente a muchas fases de
desarrollo simultáneo. Por ejemplo, el personal está escribiendo requisitos,
diseñando, modificando, haciendo pruebas y probando la integración… La
mayoría de los modelos de proceso desarrollo de software son dirigidos por el
tiempo; cuanto más tarde sea, más atrás se encontrará en el proceso de
desarrollo. (Un modelo de proceso concurrente) está dirigido por las
necesidades del usuario, las decisiones de la gestión y los resultados de las
revisiones”.
Si ocurre un evento generado dentro de una actividad o algún otro caso dentro
de la red genera las transiciones entre los estados de una actividad.
Características
Ventajas
Desventajas
● Modelado de gestión.
● Modelado de datos.
● Modelado de proceso.
● Generación de aplicaciones.
● Pruebas de entrega..
Características.
Ventajas:
● Es muy rápido.
● Permite trabajar en el a varias personas a la vez.
Desventajas:
4. MODELO AGIL
Historia
Agile es un proceso que ayuda a los equipos a proporcionar respuestas rápidas a los
cambios que se reciben sobre su proyecto. ¿Esto qué significa? Pues que crea
oportunidades para evaluar la dirección de un proyecto durante el ciclo de desarrollo
del mismo. Los equipos evalúan el proyecto en reuniones regulares llamadas sprints
o iteraciones.
Este 2019 he querido poner en un cuadro las diferencias más significativas que existen
entre la metodología agile y las metodologías tradicionales.
METODOLOGÍA ÁGILE
– Diversidad de roles
– Capacidad de respuesta ante los cambios – Rigidez ante los cambios, de manera
lentos o moderada
METODOLOGÍAS TRADICIONALES
– Mínimos roles
Métodos ágiles
Algunos métodos ágiles de desarrollo de software:
· Crystal Clear
· Kanban (desarrollo)
· Scrum
· Scrumban
· G300
· 6D-BUm
PMI Agile
1. Scrum
HISTORIA
Este modelo fue identificado y definido por Ikujiro Nonaka y Takeuchi a principios de los 80,
al analizar cómo desarrollaban los nuevos productos las principales empresas de
manufactura tecnológica: Fuji-Xerox, Canon, Honda, NEC, Epson, Brother, 3M y Hewlett-
Packard (Nonaka & Takeuchi, The New New Product Development Game, 1986).
Ventajas
Desventajas
● Funciona sobre todo con equipos reducidos. Las empresas grandes, por ejemplo,
deben estar sectorizadas o divididas en grupos con objetivos concretos. De lo
contrario, el efecto de la técnica se perderá.
● Requiere una exhaustiva definición de las tareas y sus plazos. Cuando estos dos
aspectos no se definen adecuadamente, Scrum se desvanece. Recuerda que la
división del trabajo en iteraciones (y de éstas en tareas específicas) son la esencia de
esta metodología.
● Exige una alta cualificación o formación. No es una modalidad de gestión propia de
grupos junior o que apenas estén en proceso de formación. Gran parte del éxito de
Scrum radica en la experiencia que aportan los profesionales de los equipos, quienes
por lo general acumulan años de experiencia.
Historia.
Tomando como fuente las bases teóricas y las experiencias de RAD (Rapad Application
Development) el consorcio DSDM se fundó en enero de 1994 con la finalidad de desarrollar
un modelo de desarrollo independiente de herramientas y que fuera de dominio público. Ed
Holt, presidente del consorcio en sus dos primeros años, afirmó que el uso de herramientas
RAD estaba necesitando un marco de procesos. La primera versión del modelo se publicó a
principios de 1995, junto con un programa de adopción temprana para obtener
retroinformación de las primeras organizaciones que lo adoptaran. Con la información y
experiencia que el consorcio iba obteniendo se publicó la versión 2 en noviembre de 1995, y
la 3 en agosto de 1997. Su evolución fue la siguiente:
● Los equipos deben de tener el poder de tomar decisiones A todos los trabajadores
se les da permiso para tomar decisiones que afectan a: Requisitos en desarrollo. Requisitos
cuya funcionalidad se necesita en futuras interacciones. Priorización de requisitos y
características. Detalles técnicos.
● Las entregas que se acepten han de ser adaptadas a la empresa Por lo general, la
Refactorización, el diseño y la mejora de las funciones son tareas que en los sistemas de
modelado de software solo realizan una vez, al comienzo como es el diseño, o al final como
es la refactorización o mejora de las funciones. Pero, el DSDM sostiene que estas tareas han
de formar parte del ciclo de vida del software y han de ser tareas que se deben de repetir una
vez con cada una de las entregas que la empresa haya aceptado para así conseguir una
mayor adaptación a la empresa y, como se dijo antes, que los errores no se hagan mucho
más grandes y su coste de reparación no se eleve demasiado. Por otra parte, repitiendo estas
faces una y otra vez se consigue una mucho mejor aproximación al software que desea la
empresa.
● Los requisitos se describen en alto nivel y tendrán una línea base El DSDM hasta
este punto propone que haya una gran libertad a la hora de cambiar los requisitos. Para
limitarlos se establecen una serie de requisitos en alto nivel al comenzar el proyecto,
formando una Línea Base sobre la que desarrollar. Así se forma una idea del alcance que
deben tener los requisitos y nos aseguramos que los cambios no alteran demasiado la
funcionalidad del ECS.
● Las pruebas se integran a lo largo del ciclo de vida Por lo general, en los procesos
de ingeniería de software, las pruebas son una de las últimas fases. Por el contrario el DSDM
propone que, para una rápida corrección de errores, las pruebas deben estar integradas
deben estar integradas dentro de las fases más tempranas de la elaboración y repetir
iterativamente.
● Interactividad, los usuarios y los jefes de Desarrollo deben estar en constante actividad en
común.
Roles
En todo modelo, no solo el ágil, existen diferentes roles que adoptan los integrantes del equipo
de trabajo. El DSDM identifica un total de 12 roles, aunque, estos pueden variar según las
necesidades del equipo de desarrollo en función del software que se desarrolle:
● Patrocinador ejecutivo: Es el rol más alto que adopta la organización. Es la fuente que
proporciona los fondos y recursos al proyecto. Es la posición más alta que toma decisiones.
● Visionario: Es el que tiene la responsabilidad de iniciar el proyecto. El visionario es el que
proporciona las necesidades que tiene la empresa del software. El visionario tiene también la
tarea de supervisar que el proyecto se desarrolle correctamente.
● Escriba: Toma nota de todos los requisitos, acuerdos y cambios que se realizan.
El DSDM está dividido en fases y etapas para organizar mejor las tareas a realizar en el
desarrollo del software. El modelo DSDM consta de 3 grandes fases, El pre-proyecto, Ciclo
de vida del software, y Post-Proyecto.
- El Pre-Proyecto
En esta fase se atienden varias sugerencias de proyectos posibles, entre las cuales se elige
una. Además, en esta fase se realiza una estimación de los fondos necesarios para
desarrollar el proyecto y se decide si el proyecto se va a realizar o no.
En esta fase el objetivo es la elaboración del proyecto, candidato, elegido en la fase pre-
proyecto. A su vez se divide en cuatro etapas:
Los estudios que se plantean a continuación han de ser lo más cortos y esquemáticos
posibles, pero con la mayor completitud posible, dado que la creación de un documento
demasiado complejo retrasaría el proyecto, pero unos buenos estudios nos ayudarán a
enfocarlo mejor. En esta fase se intentarán definir características del proyecto, así como las
necesidades que esperan los usuarios de él. Al final del estudio se determinará una lista de
requisitos, que se priorizará según su necesidad para el desarrollo del resto de requisitos.
La principal tarea de esta fase es transformar los Modelos funcionales obtenidos de la fase
anterior y completarlos para que satisfagan totalmente las necesidades del usuario. Para ello,
crearemos Prototipos de diseño, y al igual que en la fase anterior, los verificaremos con los
usuarios.
● Implementación
Por último, en la fase de implementación, los usuarios verifican que los prototipos cumplen
con lo deseado y se realiza la implementación de los mismos, así como el entrenamiento de
los futuros usuarios para que sepan utilizar la aplicación.
- El Post-Proyecto
Esta fase se utiliza para comprobar que el producto funciona correcta y eficientemente. En
esta fase se realizan tareas de mantenimiento, y de mejora del software si son requeridas.
Por lo general esta fase se produce durante los 6 meses siguientes a la entrega del proyecto
al cliente.
3. Programación Extrema - XP
La metodología XP o Programación Extrema es una metodología ágil y flexible utilizada para
la gestión de proyectos.
Características
Ventajas
⦁ Da lugar a una programación sumamente organizada.
Desventajas
Cuestionario
1 Los modelos de procesos de desarrollo de software no son importantes.
Falso Verdadero
2. Según Roger S. Presman, un proceso es la colección de actividades de trabajo, acciones
y tareas que se realizan cuando va a crearse algún producto
Falso Verdadero
Falso Verdadero
Falso Verdadero
Falso Verdadero
6. Entre las características principales que tiene scrum se tiene q se debe realizar una reunión
cada vez que se presente un problema en el proyecto al menos 1 hora.
Falso Verdadero
7. Entre las ventajas que tiene Scrum es que se conoce la velocidad media del equipo por
sprint (los llamados puntos historia), con lo que consecuentemente, es posible estimar
fácilmente para cuando se dispondrá de una determinada funcionalidad que todavía está en
el Backlog.
Falso Verdadero
Falso Verdadero
Falso Verdadero
Falso Verdadero
Conclusiones
El desarrollo de software es uno de los pilares fundamentales de la Informática y al cual se
dedican muchas horas de esfuerzos en universidades, centros de investigación y empresas de
todos los tamaños.
Conforme la tecnología va avanzando, van apareciendo nuevas soluciones, nuevas formas de
programación, nuevos lenguajes, y un sin fin de herramientas que intentan realizar el trabajo del
desarrollador un poco más fácil. También surgen nuevos modelos de proceso de desarrollo y
nuevas metodologías que tratan de adaptar la manera de trabajar a las necesidades concretas
de una organización y de sus proyectos. Es importante conocer bien estos modelos, para tener
un esquema mental que nos permita gestionar proyectos y organizar equipos de manera
racional, cuando abordemos el desarrollo de software, especialmente en el caso de aplicaciones
grandes y complejas.