Clasificaciones, modalidades y tendencias de investigación educativa.
Modelos de Desarrollo de Software: Reutilización de Componentes
1. “Los Modelos de Desarrollo de
Software”
Elaborado Por:
Hendrick Rodríguez
C.I:26.444.294
2. ¿Qué son los modelos de desarrollo de software?
• Es una representación abstracta de un proceso. Cada
modelo representa un proceso desde una perspectiva
particular y así proporcione información parcial sobre
el proceso. Éstos modelos generales no son
descripciones definitivas de los procesos del software
más bien son abstracciones de los procesos que se
pueden utilizar para el desarrollo del software. Puede
pensarse en ellos como marcos de trabajo del proceso
y que pueden ser adaptados para crear procesos más
específicos.
3. 1.Modelo en cascada
• Según Royce (1970), el modelo de cascada se derivó de procesos de
sistemas más generales. Sus principales etapas se transforman en
actividades fundamentales del desarrollo:
• 1) Análisis y definición de requerimientos. Los servicios restricciones y
metas del sistema se definen a partir de las consultas con los usuarios.
Entonces, se definen en detalle y sirven de manera específica al sistema.
• 2) Diseño del sistema y del software. El proceso de diseño del sistema
divide los requerimientos en sistemas ya sea hardware Soto. Establece una
arquitectura completa del sistema, el diseño del software identifique
describe los elementos abstractos que son fundamentales para el software
y sus relaciones.
4. • 3) Implementaciones prueba de unidades. Durante esta etapa el
diseño del software se lleva a cabo como un conjunto de
unidades de programas, la prueba de unidades implica verificar
que cada una cumpla con su función específica.
• 4) Integración y prueba del sistema. Los programas o las
unidades individuales de programas se integran y se prueban
como un sistema completo para así asegurar que se cumplan
los requerimientos del software, después se entrega al cliente.
• 5) Funcionamiento y mantenimiento. En esta fase el sistema se
instala y se pone en funcionamiento práctico el mantenimiento
implica corregir errores no descubiertos en las etapas anteriores
del ciclo de vida, mejorar la implementación de las unidades del
sistema y resaltar los servicios del sistema una vez que se
descubren en nuevos requerimientos.
5. 2.Modelo Prototipo
• El Modelo de prototipos, en Ingeniería de software, pertenece a los modelos
de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo,
usando los programas adecuados y no se debe utilizar muchos recursos.
• El diseño rápido se centra en una representación de aquellos aspectos del
software que serán visibles para el cliente o el usuario final. Este diseño
conduce a la construcción de un prototipo, el cual es evaluado por el cliente
para una retroalimentación; gracias a ésta se refinan los requisitos del
software que se desarrollará. La interacción ocurre cuando el prototipo se
ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo
tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea
resultados a corto plazo.
6. Etapas
• Plan rápido.
• Modelado, diseño rápido
• Construcción del Prototipo
• Desarrollo, entrega y retroalimentación
• Comunicación
• Entrega del desarrollo final
7. 3.Modelo Incremental
• El modelo incremental combina elementos del modelo en cascada
con la filosofía interactiva de construcción de prototipos. Se basa en
la filosofía de construir incrementando las funcionalidades del
programa. Este modelo aplica secuencias lineales de forma
escalonada mientras progresa el tiempo en el calendario. Cada
secuencia lineal produce un incremento del software.
• Cuando se utiliza un modelo incremental, el primer incremento es a
menudo un producto esencial, sólo con los requisitos básicos. Este
modelo se centra en la entrega de un producto operativo con cada
incremento. Los primeros incrementos son versiones incompletas
del producto final, pero proporcionan al usuario la funcionalidad
que precisa y también una plataforma para la evaluación.
8. 4.Modelo de desarrollo evolutivo( Espiral)
• El modelo en espiral que Boehm propuso es un modelo de proceso de
software evolutivo que conjuga la naturaleza iterativa de la
construcción de prototipos con los aspectos controlados y
sistemáticos del modelo en cascada. Cuando se aplica este modelo en
espiral, el software se desarrolla en una serie de entregas evolutivas.
Cada una de las actividades del marco de trabajo representan un
segmento de la ruta en espiral.
• Este modelo se basa en la idea de desarrollar una implementación
inicial, exponiéndola a los comentarios del usuario y refinándola a
través de las diferentes versiones que se generan hasta que se
desarrolle un sistema adecuado.
9. • Las actividades de especificación, desarrollo y validación se
entrelazan en vez de separarse, con una rápida retroalimentación
entre estas. Existen dos tipos de desarrollo evolutivo:
• 1) Desarrollo exploratorio, en este caso el objetivo del proceso es
trabajar con el cliente para explorar sus requerimientos y entregar
un sistema final. El desarrollo empieza con las partes del sistema
que se comprenden mejor. El sistema evoluciona agregando
nuevos atributos propuestos por el cliente.
• 2) Prototipos desechables, el objetivo de este proceso de
desarrollo evolutivo es comprender los requerimientos del cliente
para así desarrollar una definición mejorada de los requerimientos
para el sistema. El prototipo se centra en experimentar los
requerimientos del cliente que no se comprenden del todo.
10. 5.Modelo de desarrollo basado en componentes
• En la mayoría de los proyectos de desarrollo de software existe la
reutilización. Por lo general esto sucede informalmente cuando las
personas conocen diseños o códigos similares al requerido. Los
buscan, los modifican según lo creen necesario y los incorporan en
un nuevo sistema. El enfoque evolutivo, la reutilización es
indispensable para el desarrollo más ágil de un sistema. Esta
reutilización es independiente del proceso de desarrollo que se
utilice. Sin embargo, en los últimos años ha surgido un enfoque de
desarrollo de software denominado " ingeniería de software basada
en componentes", el cual se basa en la reutilización. Este enfoque
se basa en la reutilización y se compone de una gran base de
componentes de software que son reutilizables.
11. • Aunque la etapa de especificación de requerimientos y la
revalidación son comparables con otros procesos, las etapas
intermedias en el proceso orientado a la reutilización son
diferentes. Estas etapas son:
• 1) Análisis de componentes. En esta se buscan los componentes
para implementar los con base en su especificación. Por lo general,
no existe una concordancia exacta y los componentes que se
utilizan sólo proporcionan parte de la funcionalidad requerida.
• 2) Modificación de requerimientos. En esta etapa los
requerimientos se analizan utilizando información acerca de los
componentes que se han descubierto. Entonces dichos
componentes se modifican para reflejar los componentes
disponibles, la actividad de análisis de componentes se puede
llevar a cabo para buscar soluciones alternativas.
12. • 3) Diseño del sistema con reutilización. En esta fase los diseñadores tienen en cuenta
los componentes que se reutiliza y que se organizan el marco de trabajo para que los
satisfaga. Si dichos componentes no están disponibles se puede diseñar nuevos
software.
• 4) Desarrollo e integración. El software que no se puede adquirir externamente se
desarrolla y se integra a los componentes. En este modelo, la integración del sistema
es parte del proceso de desarrollo, más que una actividad separada.
13. 6.Modelo Scrum
• Scrum es una metodología ágil de desarrollo, aunque surgió como
modelo para el desarrollo de productos tecnológicos, también se
emplea en entornos que trabajan con requisitos inestables y que
requieren rapidez y flexibilidad; situaciones frecuentes en el
desarrollo de determinados sistemas de software.
• Es una metodología de desarrollo muy simple, que requiere trabajo
duro porque no se basa en el seguimiento de un plan, sino en la
adaptación continua a las circunstancias de la evolución del
proyecto.
• Scrum es una metodología ágil, y como tal:
14. • Es un modo de desarrollo de carácter adaptable más que predictivo.
• Orientado a las personas más que a los procesos.
• Emplea la estructura de desarrollo ágil: incremental basada en iteraciones y revisiones.
• Se comienza con la visión general del producto, especificando y dando detalle a las
funcionalidades o partes que tienen mayor prioridad de desarrollo y que pueden llevarse
a cabo en un periodo de tiempo breve (normalmente de 30 días).
• Cada uno de estos periodos de desarrollo es una iteración que finaliza con la producción
de un incremento operativo del producto.
• Estas iteraciones son la base del desarrollo ágil, y Scrum gestiona su evolución a través
de reuniones breves diarias en las que todo el equipo revisa el trabajo realizado el día
anterior y el previsto para el día siguiente.
15. Cuadro Comparativo
Criterios Cascada Incremental Prototipo Espiral
Disponibilidad de
recursos
Todos Algunos Algunos Algunos
Tamaño de Software Pequeño Mediano Mediano Grande
Claridad de los
requerimientos
Claros Complejos Complejos Complejos
Tecnología del
producto
Vieja Nueva Vago Vago
Manejo de la
perspectiva
No Si Si Si
Conocimiento del
dominio del problema
Alto Regular Regular Pobre
16. Análisis
El modelo de desarrollo basado en componentes es el que permite reutilizar la información de
proyecto fallidos , para así volverlos proyectos útiles y agregándole mejoras para que sea innovador.
Esto se debe al gran análisis que lleva el modelo sobre la información o los errores para así
mejorarlos y darle sentido a nuestro proyecto.
Por que elijo este modelo por que para mi la forma en que trabaja me parece genial por que mejora
los errores y con esos mismo crea nuevos proyectos y le agrega nuevas cosas.
Y pues comprendí que los modelos de desarrollo de software son de gran ayuda en todos los
ámbitos laborales ya que no tienen limitaciones por que todo depende de lo que se necesite hacer o
de lo que quiera el usuario.