0% encontró este documento útil (0 votos)
31 vistas6 páginas

ACTIVIDAD 2 Visualización de Métodos y Ciclos de Vida Del Sistema

El documento describe diferentes métodos y ciclos de vida para el desarrollo de software. Explica que el ciclo de vida del software incluye todas las etapas desde la definición de requisitos hasta el mantenimiento final. Luego compara cinco metodologías populares, incluidas la metodología en cascada, la construcción de prototipos, la espiral, incremental e iterativa, y extrema (XP), analizando sus fortalezas y debilidades.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas6 páginas

ACTIVIDAD 2 Visualización de Métodos y Ciclos de Vida Del Sistema

El documento describe diferentes métodos y ciclos de vida para el desarrollo de software. Explica que el ciclo de vida del software incluye todas las etapas desde la definición de requisitos hasta el mantenimiento final. Luego compara cinco metodologías populares, incluidas la metodología en cascada, la construcción de prototipos, la espiral, incremental e iterativa, y extrema (XP), analizando sus fortalezas y debilidades.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

1

Actividad 2. Visualización de métodos y ciclos de vida del sistema.

Alexander Grimaldo E.

Misdaly Rodríguez F.

Facultad de Ingeniería Universidad Iberoamérica

Introducción a la ingeniería de software

Ing. Adán Beltrán.

Julio 06 de 2021
2

CICLO DE VIDA DEL SOFTWARE.

Es la estructura que contiene los procesos, actividades y tareas relacionadas con el desarrollo y

mantenimiento de un producto de software, abarcando la vida completa del sistema, desde la definición de

los requisitos hasta la finalización de su uso.

PLANIFICACIÓN DESARROLLO MANTENIMIENTO

DISEÑO DEL
SISTEMA
ANALISIS CODIFICACIÓN EJECUCIÓN VERIFICACIÓN MANTENIMIENTO
DISEÑO DEL
PROGRAMA

El desarrollo de En esta fase ya se comienza a visualizar la solución En esta fase se minimizan


software comienza con una con la ayuda de la anterior fase. Se hace un diseño lógico y pequeños errores, se confirma el buen
fase inicial de otro físico. Se crean metadatos, diagramas o pseudocódigos. funcionamiento del software, su
planificación incluyendo Es en la que elige el lenguaje de programación más eficiencia y estabilidad. El proyecto ya
un análisis de requisitos. conveniente, y se desarrollan programas ejecutables y sin está completado y necesitamos
Nos fijamos en los errores de manera eficiente. Nuestro enfoque es construir monitorear y mantener de forma
requisitos que piden los trozos de funcionalidad. Por lo tanto, entregar unidades de continua para garantizar que el
clientes para estudiar funcionalidad concisa. Al final de esta fase se puede obtener proyecto siga ejecutándose bien. El
cuales están poco claros, un PMV (Producto mínimo viable) o el software mantenimiento y la mejora de los
incompletos, ambiguos o completamente desarrollado y listo para implementarse. productos de software es crucial para
contradictorios. Aquí se instala el software, se evalúa la integración, la poder corregir defectos que vayan
adaptabilidad, la portabilidad y se instalan las surgiendo o para atender a los requisitos
configuraciones posteriores necesarias. del software.
3

Es indispensable que todo proyecto se desarrolle dentro del marco de un ciclo de vida

claramente definido, si se quiere tener una mínima garantía de cumplimiento de los plazos, y

respetar los límites de los recursos asignados. Además, la garantía de calidad y las certificaciones

de calidad también presuponen que el proceso de producción de software se desarrolle según un

ciclo de vida con etapas bien definidas.

METODOLOGÍA DE DESARROLLO DEL SOFTWARE.

El uso de una metodología permite el manejo del proceso software. Es decir que una metodología

es un enfoque, una forma de interpretar la realidad o la disciplina en cuestión, que en este caso específico

correspondería a la Ingeniería del Software. Es un conjunto de técnicas, herramientas y tareas que, de

acuerdo a un enfoque metodológico, se aplican para solucionar de un problema.

En el desarrollo de software, una metodología hace cierto énfasis al entorno en el cual se plantea y

estructura el desarrollo de un sistema, existen una gran cantidad de metodologías de la programación que

se han utilizado a lo largo del tiempo y han ido evolucionando. Esto se debe principalmente a que no todos

los sistemas de la información, son compatibles con todas las metodologías, pues el ciclo de vida del

software puede ser variable. Por esta razón, es importante que dependiendo del tipo de software que se

vaya a desarrollar, se identifique la metodología para el diseño de software más idóneo.

Desde una perspectiva taxonómica, tradicionalmente, se pueden distinguir seis escuelas

principales de pensamiento en relación con las metodologías de desarrollo del Software:

1. Metodologías estructuradas orientadas a datos. Se toma como referencia el patrón


entrada/proceso/salida de un sistema, de forma que los datos se introducen en el sistema y este
responde ante ellos para transformarlos para obtener salidas, estas metodologías se centran en la
parte entrada/salida, las actividades de análisis comienzan evaluando en primer lugar los datos y
sus interrelaciones para determinar la edificación de datos.
4

2. Metodologías estructuradas orientadas a procesos. Se centran más la parte de proceso del


patrón entrada/proceso/salida. Utilizan un enfoque de desintegración descendente para evaluar los
procesos del espacio del problema y los flujos de datos con los que están conectados.

3. Metodologías orientadas a estados y transiciones. Están dirigidas a la especificación de


sistemas en tiempo real y sistemas que tienen que reaccionar continuamente a estímulos internos y
externos (eventos o sucesos).

4. Metodologías para el diseño basado en el conocimiento. Utiliza técnicas y conceptos de


Inteligencia Artificial para especificar y generar sistemas de información.

5. Metodologías orientadas a objetos. Se fundamentan en la unificación de los dos aspectos de los


sistemas de información: datos y procesos. En este paradigma un sistema se concibe como un
conjunto de objetos que se comunican entre sí mediante mensajes.

6. Metodologías basadas en métodos formales. Estas técnicas se basan en teorías matemáticas que
permiten una verdadera científica y rigurosa al desarrollo de sistemas de información y software
asociado.

A continuación, se realiza una comparación de 5 métodos diferentes para el desarrollo de software


analizando el ciclo de vida del software y sus fortalezas y debilidades.
5

METODOLOGÍAS DE DESARROLLO DEL SOFTWARE.

Metodología en cascada: Framework lineal. Métodología de Costrucción de Prototipos Metodología de Espiral Metodología Incremental o Iterativo y Creciente Metodología de Programación Extrema XP

Es una metodología de la programación muy antigua, el Consiste en ciertas fases que se van realizando en modo de espiral, Consiste en completar varias iteraciones de lo que es el
Consiste básicamente en que en base a los requerimientos y Es la combinación de las demás metodologías, solamente que se van
funcionamiento y lineamiento de los procesos de la utilizando procesos que son obligatorios y no llevan precisamente el modelo de cascada, pero sin completar ninguna, haciendo
necesidades que tiene el cliente, se realiza de forma rápida un utilizando de acuerdo a como sea necesario, por eso es considerada
planeación, son exactamente iguales. El estilo del modelo en orden establecido, se trata de un modelo evolutivo, que conforme iteraciones lo que se hace es crear una evolución en el
DESCRIPCIÓN prototipo,permitirá contar con las bases necesarias para que como la más destacada de las metodologías ágiles. y esto se debe a
cascada consite en que no podrás avanzar a la siguiente fase, avancen los ciclos, irá incrementando el nivel de código fuente producto, permitiendo que se agreguen nuevas
cualquier programador pueda seguir trabajando en el hasta su. con gran capacidad de adaptación ante cualquier tipo de
si la anterior no se encuentra totalmente terminada, pues no desarrollado, un incremento en la gestión de riesgos y por supuesto un especificaciones, funcionalidades, opciones, funciones y lo
llegar al código final. imprevisto que surja.
tiene porque haber vuelta atrás. incremento en los tiempos de ejecución y planificación del sistema. que el usuario requiera después de cada iteración.

Análisis:Aquí deberás tener en cuenta todo aquello que pueda dañar a tu Análisis:Ésta fase inicia con las historias de usuario que describen las
Análisis:Se documenta los objetivos de lo que el software Análisis:Debe ser muy rápida, en esta fase no puedes demorarte proyecto, ya sea que se trate de ciertas amenazas o de posibles daños Análisis:Aquí se puede hablar de dar una idea, de tener algunos características y funcionalidades del software. El cliente asigna un
debe hacer al terminar el desarrollo, sin entrar en detalles de mucho, pues recuerda que solamente será un prototipo por el que se puedan ocasionar, teniendo además un Plan B, para que en caso requisitos que se buscan en el proyecto y ciertas valor o prioridad a la historia, los desarrolladores evalúan cada
la parte interna, los cuales se verán durante el proceso. momento. de que ocurra algo inesperado, tener a la mano la solución para especificaciones que se pueden manejar. historia y le asignan un costo el cual se mide en semanas de
continuar con el proyecto. desarrollo.

Diseño de sistema:La primera iteración se realiza con las


Diseño de sistema:la forma en que se estará desarrollando el proyecto, características iniciales, queda un pequeño prototipo de lo
Diseño del sistema :Aquí se elaborará lo que es la estructura Diseño de sistema:Solo se efectúa el diseño necesario para cumplir
Diseño de sistema:Hacer el modelado será simple ya que dependerá del análisis de riesgos, pues siempre se va a ir desarrollando que será el proyecto, pero se puede volver a inicializar la
del sistema y se determinarán las especificaciones para cada con los requerimientos actuales, es decir, no se abordan
solamente es un prototipo, almenos por ahora. el proyecto enfocándose en los riesgos que podemos evitar en el iteración y realizar modificaciones en los procesos, como el
una de las partes del sistema que se planea desarrollar. requerimientos futuros.
software. análisis y las especificaciones o funciones que el usuario final
requiere para su sistema.

Diseño de programa:Se recomienda elaborar un glosario de términos


y la correcta especificación de métodos y clases para facilitar
Diseño del programa:Se realizan los algoritmos que se van a Diseño del programa: Ya que contamos con la planeación de Diseño de programa:Antes de proceder a realizar otra iteración o Diseño de programa:Establecidas las iteraciones, es preciso
posteriores modificaciones, ampliaciones o reutilización del
utilizar en la programación. Si bien, un algoritmo no lo que vamos a realizar y el modelado rápido, entonces es vuelta al espiral, debemos prestar atención a lo que sucedió en la vuelta definir cuál será la evolución del producto en cada una de
código. Anteriormente este proceso se apoyaba en el uso de tarjetas
necesariamente es código, simplemente se escribe el momento de elaborar el prototipo, este ya se muestra al anterior. Debemos analizar detalladamente si los riesgos encontrados ellas. Cada iteración debe superar a la que le ha precedido.
CRC (Colaborador-Responsabilidad-Clase) la cual identifica las
algoritmo que vas a utilizar. cliente, así que ya es una etapa importante. ya tuvieron solución. Esto es lo que se denomina incremento.
clases orientadas a objetos que son relevantes para el
incremento del software.

Codificación: los interesados deben estar involucrados prácticamente Codificación:El número de iteraciones que se realicen son
ETAPAS DEL Codificación:Posterior a contar con el prototipo elaborado y
en cada vuelta que se de al espiral, para crear lo que son los requisitos ilimitadas y dependerá tanto del desarrollador como del Codificación:Una de las características relevantes y propias de XP es
CICLO DE VIDA. Codificación: es momento de empezar a escribir todo el mostrado al cliente, es momento de comenzar el desarrollo.
antes de realizar una vuelta más y al final en la fase de planificación, se usuario final. Si el objetivo es que el cliente quede que primero se escriben las pruebas y luego se da la codificación, esto
código que será necesario para el desarrollo del software. Este tomará tiempo, dependiendo del tamaño del proyecto y
determinan los logros obtenidos, el avance y lo que se esperará de una completamente satisfecha, entonces es necesario hacer la con la finalidad de asegurar la satisfacción del requerimiento.
el lenguaje de programación que se vaya a utilizar.
siguiente vuelta. cantidad de iteraciones que se requieran.

Ejecución:Las pruebas de unidad deben implementarse con un


Ejecución:una ves entregado el proyecto, debemos darle al Ejecución:valoración de los resultados de ingeniería del producto. Ejecución:Cada una de las actualizaciones o iteraciones deberá
Ejecución:Es el momento de verificar que elsistema marco de trabajo que permita automatizarlas, con la finalidad de
cliente cierta retroalimentación sobre como utilizarlo y Como resultado de la valoración por el cliente, puede dar comienzo a ser documentada y de ser posible, guardada en sus respectivas
realmente funciona, antes de que el cliente empiece a realizar pruebas de integración y validación diarias, esto
ciertamente es una fase que se encuentra dentro de las etapas otro ciclo en el que se modifica la planificación en función de los datos versiones, para que sea sencillo volver atrás, en caso de que
utilizarlo. proporcionará al equipo un indicador del progreso y revelarán a
de desarrollo de software esta metodología. y valoraciones aportadas por el cliente. una iteración no sea exitosa o el usuario ya no la requiera.
tiempo si existe alguna falla en el sistema.

Verificación:El usuario ayuda a desarrollar las pruebas de


Verificación: Una ves entregado el proyecto, se debe tener Verificación:Los prototipos se amplían y se añaden funcionalidades. El Verificación: Es importante que conforme se vaya realizando aceptación, las cuales son pruebas que se implementan con los
Verificación:Esta fase consiste en la ejecución del Software cierta comunicación con el cliente, básicamente para que código real es escrito, probado y migrado a un entorno de prueba varias cada iteración, se vaya llevando un control del mismo en una datos reales del cliente para verificar el cumplimiento real de
por parte del usuario final. indique si el proyecto es correcto o si desea agregarle ciertas veces hasta que el software pueda ser implementado en un entorno lista. Como si fuera un programa que recibe actualizaciones sus necesidades, ademas se debe usar un sistema que envíe a
funciones. productivo. constantemente. ejecución las pruebas automatizadas y de esta forma probar
constantemente el sistema software.

Mantenimiento: se utilizan diferentes tecnicas que mejoran el


Mantenimiento: Este enfoque, establece entregas parciales
Mantenimiento:Aquí tendrás la ventaja de que el código es Mantenimiento: El modelo en espiral demanda una consideración mantenimiento preventivo y reducen el mantenimiento correctivo
Mantenimiento:Se solucionan errores, se quitan algunos bugs, mediante un calendario de plazos. En cada una de ellas, el
reutilizable, para que así con el prototipo ya puedas directa de los riesgos técnicos en todas las etapas del proyecto y si se del software, ya que cada cambio que se haga en el sistema deberá
se añaden funcionalidades, todo después de que el usuario producto debe mostrar una evolución con respecto a la fecha
simplemente empezar de nuevo y con una buena base de aplica adecuadamente debe reducir los riesgos antes de que se pasar las pruebas escritas en un comienzo, mejorando la calidad y
final ya lo ha probado y utilizado en su fase final. anterior; nunca puede ser igual. Asi el mantenimiento es
código que te acelerará el proceso. conviertan en problemas. reduciendo los defectos.La fase de mantenimiento puede requerir
contante e inmerso.
nuevo personal dentro del equipo y cambios en su estructura.

Es utilizado para proyectos mas grandes que están sujetos a riesgos


Facilita al equipo de desarrollo entender los requerimientos del Es mas fácil, probar y depurar en una iteración mas pequeña
Es mas sencillo planear las actividades del ciclo completo No se requiere tener todos los requerimientos definidos al inicio del Metodología basada en prueba y error
cliente Si un error es detectado, sólo la última iteración necesita ser
Es el mas utilizado proyecto Fundamentada en valores y practicas
Ayuda a detallar mas claramente las necesidades que están descartada.
FORTALEZAS. Es fácil de aprender Es evolutivo lo cual le permite al cliente ir definiendo mejor sus Garantiza la calidad del software desarrollado
respecto a la construcción del software Cada iteración es un hito gestionado fácilmente
El analista y el cliente definen todos lo requerimientos y su requerimientos Mejora la productividad de los proyectos
No modifica el flujo del ciclo de vida Es mas fácil gestionar riesgos
especificación detallada. En cada giro se construye un nuevo modelo del sistema completo Los programadores pueden trabajar en pares
Reduce costos y aumenta la posibilidad de éxito
Este modelo puede combinarse con otros modelos

Una ves que avanzaste de fase, es muy poco recomendable el


volver atrás.
Construir un sistema pequeño es mas riesgoso que construir un
Si se cambia el orden de las fases, el producto final sera de
El modelo espiral trabaja bien en los desarrollos internos, pero necesita sistema grande. En caso de fallas, las comisiones son muy altas.
menor calidad. Exige disponer de las herramientas adecuadas.
un ajuste posterior para adaptarlo a la subcontratación software. No es recomendable para casos de sistemas de tiempo real, de Se recomienda emplearla en proyectos a corto plazo.
Alterar el diseño del proyecto en cualquier etapa es muy El desarrollador y el cliente tienen poca comunicación al
Necesidad de expertos en evaluación de riesgos para identificar y alto nivel de seguridad, de procesamiento distribuido, y/o de No siempre será más fácil que el desarrollo tradicional.
DEBILIDADES. complicado. inicio del proceso.
manejar las fuentes de riesgos de un proyecto. alto índice de riesgos. Dirigido a equipo de trabajo medianos o pequeños.
Una vez que una fase se ha completado, es casi imposible de Surgen cambios imprevistos que retrasan el progreso del
No es aconsejable para proyectos pequeños, la ratio coste beneficio no Requiere de mucha planeación, tanto administrativa como Debe existir la coordinación y comunicación entre los miembros del
realizar cambios. prototipo.
es rentable. técnica. proyecto.
Es absolutamente necesario reunir todos los requisitos
Requiere de metas claras para conocer el estado del proyecto.
iniciales.
6

Referencias.

• Campderrich Falgueras, B. (2013). Ingeniería del software. Editorial UOC.

https://elibro.net/es/lc/biblioibero/titulos/56294

• Lis, G, Pantaleo, L. (2018). Ingeniería de Software (1ª Ed.).

• Society, I. C. (n.d.). Guide to the Software Engineering Body of Knowledge Version

3.0 (SWEBOK Guide V3.0).

• Inform, S. (2006). Introducción a la Ingeniería del Software. Chaos.

• Cantone, D. (2006). La Biblia Del Programador Implementación Y Debugging. 320.

https://ingsw.pbworks.com/f/Ciclo+de+Vida+del+Software.pdf

• Fariño, G. (2011). Modelo Espiral de un proyecto de desarrollo de software. Unemi.

https://www.ojovisual.net/galofarino/modeloespiral.pdf

• Pagina web.

https://infogram.com/metodologias-en-el-desarrollo-de-software-1hzj4ovqpdvp6pw

También podría gustarte