Está en la página 1de 13

METODOS Y MODELOS DE DESARROLLO DE

SOFTWARE

MATRÍCULA: ES1821018090

NOMBRE: JUAN MANUEL ROJAS GUTIERREZ

CARRERA: INGENIERIA EN DESARROLLO DE


SOFTWARE

ACTIVIDAD 2, UNIDAD 2

MARZO 2020
INDICE
Introducción ----------------------------------------------------------------------------------------- 3
Desarrollo -------------------------------------------------------------------------------------------- 4
Conclusión -------------------------------------------------------------------------------------------12
Bibliografía ------------------------------------------------------------------------------------------- 13

INTRODUCCIÓN
En la anterior actividad vimos la importancia que tiene el conocer los diferentes modelos
de diseño de sistemas de software, ahora sabemos que los modelos de diseño nos ayudar
a definir una arquitectura que debe de existir en un sistema para que los programas y
servicios siempre estés disponibles.
Ahora bien revisaremos en esta actividad los pormenores de los métodos de desarrollo de
software.

DESARROLLO
Actividad 2. Modelos de Desarrollo

Propósito. Identificar el modelo de desarrollo apropiado para iniciar los desarrollos a las
problemáticas proporcionadas en la actividad.

En la presente actividad se analizará la utilidad y características acerca de los modelos de


desarrollo, con esta actividad reafirmarás tus conocimientos en los modelos de desarrollo de
software.

Instrucciones:
En un tríptico realiza lo siguiente:

Parte 1

1. Investiga los cuales son los modelos de desarrollo.

Los modelos de desarrollo son:

Modelo Incremental
Modelo DRA
Construcción de prototipos
El modelo espiral
Modelo de desarrollo concurrente
Modelo basados en componentes
Modelo de métodos formales
Desarrollo de software orientado a objetos
Proceso unificado
Cascada tradiciones

2. Identifica las características de cada uno de los modelos de desarrollo.

Modelo de cascada

Es una secuencia de actividades donde la estrategia principal es seguir el progreso del


desarrollo de software hacia puntos de revisión bien definidos mediante entregas
calendarizadas, se compone de los siguientes elementos:
Especificación de requisitos,
Análisis
Diseño
Implementación
Pruebas
Integración
Mantenimiento

Método evolutivo
Es una extensión del método incremental donde los incrementos se hacen de manera
secuencial en lugar de forma paralela. Desde el punto de vista del cliente el sistema
evoluciona según se van entregando los incrementos, desde el punto de vista del
desarrollador los requerimientos que son claros al indico dictara el incremento inicial
mientras que los incrementos para los siguientes ciclos serán clasificado a través de la
experiencia de las fases previas.
Este modelo considera que el desarrollo de sistemas es un proceso de cambios
progresivos mediante la fase de especificación de requerimientos, se basa
tradicionalmente en el uso de prototipos

Sus características son que se entrega temprano el sistema aunque no estén completos los
requerimientos, se entrega parte del sistema como herramienta para la generación de
requerimientos faltantes. Se obtienen beneficios para el sistema mediante entregas
iniciales mientras las entregas posteriores están en desarrollo

Modelo basado en componentes

En este modelo se usa mucho la reutilización de código, Este enfoque basado en la


reutilización se compone de una gran base de componentes software reutilizables y de
algunos marcos de trabajo de integración para éstos. Algunas veces estos componentes
son sistemas por sí mismos (COTS o sistemas comerciales) que se pueden utilizar para
proporcionar una funcionalidad específica, como dar formato al texto o efectuar cálculos
numéricos.

Este proceso tiene varias etapas entre ellas:

Análisis de componentes. Dada la especificación de requerimientos, se buscan los


componentes para implementar esta especificación. Por lo general, no existe una
concordancia exacta y los componentes que se utilizan sólo proporcionan parte de la
funcionalidad requerida.

Modificación de requerimientos. En esta etapa, los requerimientos se analizan utilizando


Información acerca de los componentes que se han descubierto. Entonces, estos
componentes se modifican para reflejar los componentes disponibles. Si las
modificaciones
no son posibles, la actividad de análisis de componentes se puede llevar a cabo
nuevamente para buscar soluciones alternativas.

Diseño del sistema con reutilización. En esta fase se diseña o se reutiliza un marco de
trabajo para el sistema. Los diseñadores tienen en cuenta los componentes que se
reutilizan y organizan el marco de trabajo para que los satisfaga. Si los componentes
reutilizables no están disponibles, se puede tener que diseñar nuevo software.

Desarrollo e integración. Para crear el sistema, el software que no se puede adquirir


externamente se desarrolla, y los componentes y los sistemas COTS se integran. En este
modelo, la integración de sistemas es parte del proceso de desarrollo, más que una
actividad separada.
Modelo de prototipos

Se inicia con la definición de los objetivos globales para el software, luego se identifican los
requisitos conocidos y las áreas del esquema en donde es necesaria más definición. Este
modelo se utiliza para dar al usuario una vista preliminar de parte del software . Este
modelo es básicamente prueba y error ya que si al usuario no le gusta una parte del
prototipo significa que la prueba fallo por lo cual se debe corregir el error que se tenga
hasta que el usuario quede satisfecho. Además el prototipo debe ser construido en poco
tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir
de que este sea aprobado nosotros podemos iniciar el verdadero desarrollo del software.
Pero eso si al construir el prototipo nos asegura que nuestro software sea de mejor
calidad, además de que su interfaz sea de agrado para el usuario. Un prototipo podrá ser
construido solo si con el software es posible experimentar.

Etapas

Recolección y refinamiento de requisitos


Modelado, diseño rápido
Construcción del Prototipo
Desarrollo, evaluación del prototipo por el cliente
Refinamiento del prototipo
Producto de Ingeniería

Ventajas
No modifica el flujo del ciclo de vida
Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios
Reduce costo y aumenta la probabilidad de éxito
Exige disponer de las herramientas adecuadas
Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero
no identifica los requisitos detallados de entrada, procesamiento o salida.
También ofrece un mejor enfoque cuando el responsable del desarrollo del software está
inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la
forma que debería tomar la interacción humano-máquina.

Desventajas
Debido a que el usuario ve que el prototipo funciona piensa que este es el producto
terminado y no entienden que recién se va a desarrollar el software.
El desarrollador puede caer en la tentación de ampliar el prototipo para construir el
sistema final sin tener en cuenta los compromisos de calidad y mantenimiento que tiene
con el cliente

Modelo Espiral

Propuesto originalmente por Boehm, es un modelo de proceso de software evolutivo que


conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados
y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo
rápido de versiones incrementales del software.
En el modelo espiral, el software se desarrolla en una serie de versiones incrementales.
Durante las primeras iteraciones, la versión incremental podría ser un modelo en papel o
un prototipo. Durante las últimas iteraciones, se producen versiones cada vez más
completas del sistema diseñado.

Se componen de las siguientes etapas:


Planificación
Análisis de riesgos
Ingeniería
Construcción y acción
Evaluación del cliente

Ventajas del Modelo

Puede adaptarse y aplicarse a lo largo de la vida del software de computadora.


Es un enfoque realista del desarrollo de sistemas y de software a gran escala.
Como el software evoluciona, a medida que progresa el proceso el desarrollador y el
cliente comprende y reaccionan mejor ante riesgos en cada uno de los niveles evolutivos.
Utiliza la construcción de prototipos como mecanismo de reducción de riesgos.
Permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos en
cualquier etapa de evolución del producto.
Mantiene el enfoque sistemático de los pasos sugeridos por el ciclo de vida clásico, pero lo
incorpora al marco de trabajo iterativo que refleja de forma más realista el mundo real.
Demanda una consideración directa de los riesgos técnicos en todas las etapas del
proyecto, y, si se aplica adecuadamente, debe reducir los riesgos antes de que se
conviertan en problemáticos.

Desventajas del Modelo

Puede resultar difícil convencer a grandes clientes (particularmente en situaciones bajo


contrato) de que el enfoque evolutivo es controlable.
Requiere una considerable habilidad para la evaluación del riesgo.
No se ha utilizado tanto como los paradigmas lineales secuenciales o de construcción de
prototipos.

3. Describe los objetivos de los modelos de desarrollo.

Modelo de cascada

El objetivo de este modelo es sentar las bases para el desarrollo de un sistema de


software, fue el primer modelo en usarse y planteo las etapas de análisis de
requerimientos, diseño del sistema, diseño del programa, codificación, pruebas,
verificación y mantenimiento.

Modelo evolutivo
El objetivo del proceso es trabajar con el cliente para explorar sus requerimientos y
entregar un sistema final.

Modelo por componentes

El objetivo es reutilizar el código ya existente de algún proyecto para mejorarlo y entregar


más rápido el sistema al cliente.

Método de prototipos

Su objetivo es dar una vista preliminar del proyecto al cliente, además por tratarse de un
prototipo se desarrolla más rápido aunque quizás no completo pero con las
funcionalidades más importantes.

Método en espiral

Se basa en el modelo incremental y secuencial y su objetivo es entregar al cliente en cada


iteración una mejorar al sistema.

4. Elabora tus conclusiones, incluye una explicación de la importancia de haber analizado la


información anterior.

La etapa de desarrollo de software es muy importante ya que con algunos de los modelos
estudiados se puede realizar la planificación, construcción, depuración, implementación y
mantenimiento de un sistema de software.
Es muy importante saber que cada modelo ofrece ventajas y desventajas como por
ejemplo entregar más rápido un sistema pero el cual aún no esté completo pero sea
funcional, o que se tarde más la entrega de un proyecto pero este esté completo y sea
funciona, la decisión del modelo a escoger dependerá de las necesidades del proyecto.

5. Con la información de los puntos 1, 2 ,3 y 4 elabora un tríptico.

6. Guarda la actividad con el nombre DMMS_U2_A2_XXYZ.pdf. Sustituye las XX por las dos
primeras letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la
inicial de tu apellido materno.
Parte 2:

7. Analiza los siguientes casos en función de los modelos de desarrollo de software e indica
cual es el más conveniente utilizar.

Caso 1. Para el desarrollo de estos sistemas se requiere contar con una metodología que
permita sean probados antes de implementarlos, de tal forma que se asegure la calidad de
estos y que cumplan con las expectativas de los usuarios, los cuales están conscientes que
deben dedicar el tiempo necesario para hacer las pruebas, los desarrolladores deben
tomar en cuenta que deberán estar en comunicación constante con los usuarios, ya que
conforme se va desarrollando el sistema lo van validando, de tal forma que se tiene la
posibilidad de ir agregando nuevos requerimientos y solicitando cambios conforme sus
necesidades, se puede contar con una versión inicial del sistema e ir entregando avances.

Modelo de prototipos, escogí este modelo ya que en cada prototipo que se realiza se tiene
una estrecha relación con el usuario el cual probara la versión y dará sus comentarios para
perfeccionar el prototipo según sus necesidades. Aquí se puede entregar una versión
inicial o prototipo inicial al cual se le añadirán nuevas funcionalidades.

Caso 2. Para el desarrollo de este proyecto, se requiere de una metodología que sea lo
suficientemente fuerte para administrarlo, evaluar riesgos tanto técnicos como de gestión,
es necesario ir evaluando el avance conforme se va desarrollando, para validar que se
cumplan los requerimientos y así evitar retrasos por incumplimiento en la entrega al
usuario, se requiere de un proceso que favorezca el prototipado del sistema, de tal forma
que con cada iteración se aumente funcionalidad.

Modelo de Espiral, escogí este modelo ya que tienen una etapa específica para la
evaluación de riesgos y al evaluarse el avance según se va desarrollando esto quiere decir
que es iterativa que es una característica más del modelo espiral, el modelo espiral
también toma algunos conceptos de los prototipos lo cual también está indicado en el
caso 2.

Caso 3. Para este proyecto se tienen claras todas las especificaciones que debe
cumplir el sistema, es importante que una vez desarrollado se cuente con el
soporte para dar mantenimiento, por ello se debe tener bien documentado. Se
requiere de una metodología que permita hacer las actividades correspondientes a cada
fase en orden, es un proyecto sencillo que no lleva mucho tiempo de desarrollo, pero si es
importante contar con el sistema completo para su implementación, previo a la validación.

Modelo de cascada, escogí este método ya que al ser el más estructurado y secuencial
también es el más sencillo de desarrollar que es una característica del paso 3, también
para este modelo se necesitan tener todas las especificaciones del sistema para poder
empezar lo cual es una característica del modelo en cascada la cual la hace poca flexible, el
modelo en cascada da una fuerte documentación del sistemas y mantenimiento.
8.- Ingresa al foro: “Actividad 2. Modelos de desarrollo” y comparte el tríptico
desarrollado, así como las metodologías propuestas para cada caso.

9.- Revisa el trabajo de al menos 2 de tus compañeros y compara las propuestas de cada
caso, comenta si los modelos de desarrollo son los adecuados o no, justificando el porqué
de tu respuesta, espera y atiende la retroalimentación correspondiente.

NOTA: Revisa la rúbrica para que te asegures que tu actividad sea evaluada con la
totalidad de puntos.
CONCLUSIÓN
En esta actividad conocimos diferentes modelos de desarrollo de software, estas
metodologías nos ayudara a elegir la más apropiada para la creación de software que
resulte mejor para las necesidades del cliente.
Entre las metodologías que existen podemos mencionar la metodología de cascada,
evolutiva, incremental, basada en componentes, espiral, basada en prototipos etc. Cada
una de estas metodologías tienen sus ventajas y desventajas, algunas apuestan por la
rapidez de la entrega pero carecen de que esté terminado el sistema, otras pueden
entregar un sistema seguro y robusto pero el tiempo de entrega será mayor, como bien
dijimos anteriormente dependerá la elección del modelo más apropiado según las
necesidades del cliente.
Bibliografía

Bibliografía
Ecured. (01 de 03 de 2020). Modelo de prototipos. Obtenido de Modelo de prototipos:
https://www.ecured.cu/Modelo_de_prototipos

Presman, R. S. (2020). Ingenieria de software un enfoque practico. Ciudad de México: Mc Graw Hill.

SOMMERVILLE, I. (2020). Ingenieria de software. Alicante: Pearson.

UNADM. (2020). Modelos para el desarrollo de software. Ciudad de México: UNADM.

Weitzenfeld. (2005|). IngenierIa de software orientado a objetos. NA: NA.

También podría gustarte