You are on page 1of 15

Entregable 1.

Análisis de Software

Marzo 2019

By: Carlos Alberto Frías Fraire


No. Cuenta: 19404632
Escuela: Universidad Tecnológica de México (UNITEC)
Carrera: Lic. En Ingeniería en Software y Redes
Profesor: Giovani Ramírez Romero
Materia: Análisis y diseño de software
Introducción

El presente documento describe de manera sucinta y detallada el proceso del ciclo de vida del
software. El cual entre sus principales puntos destaca:
▪ Identificación de problemas, oportunidades y objetivos
– Viabilidad: Técnica, económica, operativa
▪ Determinación de requerimientos
– Recopilación con métodos interactivos
– Entrevistas
– Manejo de juntas
– Uso de cuestionarios
– Recopilación con métodos discretos
– Modelo ágiles y prototipos
▪ Análisis de necesidades
▪ Diseño del sistema
– Análisis
– Diseño
– Trazabilidad entre modelos
– Interfaces
– Alternativas de estrategias de diseño
▫ Dividir requerimientos
▫ Enumerar diferentes ambientes de implementación
▫ Proposición de diferentes maneras y desarrollar capacidades
▪ Desarrollo y documentación del software
– Es importante conocer equipo
– Área de la industria
– Alcance
– Documentación para: Líder de equipo, programador, cliente
▪ Prueba y mantenimiento
– Aseguramiento de cada componente del sistema
– Monitoreo
▪ Implementación y evaluación
– Evaluación operacional
– Impacto organizacional
– Opinión de los administradores
A continuación de muestra un mapa conceptual de todos los conceptos antes mencionados
Mapa mental

Ciclo de vida del


software

Modelo para Metodología de


desarrollo de Procesos de ciclo desarrollo de
software de vida software

Modelo de Procesos Metodologías Metodologías


Procesos de apoyo Procesos
Modelo de principales de ciclo tradicionales ágiles
Modelo de cascada Modelo en V Modelo Iterativo desarrollo Modelo en espiral al ciclo de vida organizativos
prototipos de vida
incremental
Ej. SCRUM
Proceso de Proceso de Equipo
Ciclos Ciclos Tareas Ciclos Proceso de gestión Documentación
7 Fases Derecha Izuierda adquisición documentación multidisciplinario

Proceso de Equipo representante


Proceso de gestión Proceso de
Ingniería de Validación del Requisitos no son 1. Determinar o fijar suministro con el cliente
1. Escuchar al cliente de la configuración infraestructura Planificación
1. Requisitos Filosofía Iterativa objetivos
requisitos sistema claros del cliente
Proceso de
Proceso de Procesos iterativos
2. Análisis del riesgo 2. Construir/ Revisar desarrollo Proceso de mejora
Verificación del Varios ciclos del M. Incrementa verificación Procesos
2. Diseño Diseño del sistema funcionalidades por la maqueta
sistema Cascada
entrega Proceso de
3. Desarrollar, Flexibilidad
operación Proceso de Proceso de
Verificación del Varios ciclos del M. verificar y validar 3. Cliente prueba la
3. Implementación Diseño del software validación formación
software Cascada maqueta
Proceso de
4. Planificar mantenimiento
Proceso de Ventajas Desventaja
Retroalimentación validaciones
4. Integración Codificación del cliente conjuntas
Ventajas Desventajas
Ventajas Desventajas Documentación Altos costos a los
5. Pruebas Proceso de auditoria exhaustiva cambios
Ventajas Desventajas
Cada iteración es Ofrece visibilidad desde
Entregas rápidas Desarrollo lento
rígida y no se la primera entrega
Proceso de solución
6. Instalación Malo para proyectos superpone con las
Buena estructura de problemas
largos otras Al haber cambios en
Requisitos no
Reduce costos necesariamente claros requerimientos puede
Problemas en aumentar costo
7. Mantenimiento Rígido como M. arquitectura al no
Simple y fácil de usar Cascada Retroalimentación por
Generación rápida tener claro los
requisitos parte del cliente
de software

Desarrollo en planes Poca flexibilidad


de prueba Retroalimentación
Ventajas Desventaja
por parte del cliente

Reduce riesgos de Se requiera mucha


Ventajas Desventajas Ventajas Desventajas
proyecto experiencia para
identificar riesgos
por cada ciclo
Incorpora objetivos
No es necesarios Problemas en de calidad
Planteamiento Requisitos cambiantes arquitectura al no
requisitos claros
tener claro los
requisitos Integra desarrollo
Documentación Malos para proyectos a Gestión de riesgos con mantenimiento
exhaustiva largo plazo
Software en etapas
Retroalimentación tempranas
Modelo por entregas
estructurado
Bueno para
proyectos largos

3
Introducción de
El presente trabajo contempla un cuadro comparativo de metodologías y modelos para el
desarrollo de software. En primera instancia se hace la diferencia entre metodología y modelo:
Metodología de desarrollo de software: es un enfoque estructurado para el desarrollo de
software que incluye modelos de sistemas, notaciones, reglas, sugerencias de diseño y
guías de procesos.
Modelo de desarrollo de software: es una representación simplificada del proceso para el
desarrollo de software, presentada desde una perspectiva específica.
Asimismo, el documento detalla de manera sucinta las características entre cada uno de ellos.
Diagrama comparativo entre metodologías y métodos

Métodos Descripción sucinta y detallada

▪ Este enfoque considera las actividades fundamentales del proceso especificación, desarrollo,
El modelo en cascada.
validación y evolución.
Gerencia de
El modelo de desarrollo Coordinación
▪ Este enfoque entrelaza las actividades especificación, desarrollo y validación. Es decir surge de un
evolutivo (espiral). Operativa
sistema (GCO)
inicial que se desarrolla rápidamente a partir de especificaciones abstractas

El modelo de desarrollo ▪ Éste enfoque se basa en la existencia de componentes reutilizables. El proceso de desarrollo se
basado en componentes. enfoca en integrar estos componentes en el sistema más que en desarrollarlos desde cero

Metodologías Descripción sucinta y detallada

Por procesos
▪ Se utilizan procesos bien definidos y medibles. Se toma información de tamaño, tiempo y defectos al
Proceso personal de momento de realizar el trabajo. Se utilizan los datos para: planear y monitorear el trabajo, así como
software (PSP) administrar la calidad de los productos que se producen y medir el desempeño
Proceso en equipo para el ▪ Es una metodología para dirigir el desarrollo de software además de establecer un entorno donde el
software TSP trabajo efectivo de equipo sea normal y natural

Desarrollo ágil
Metodología XP ▪ Enfoque fue desarrollado utilizando las mejores prácticas del desarrollo iterativo y con la participación
programación extrema extrema del cliente

▪ El principal objetivo es maximizar el retorno de la inversión para su empresa. Se basa principalmente


Metodología SCRUM en construir la funcionalidad de mayor valor para el cliente y en los principios de inspección continua,
adaptación, auto-gestión e innovación
Desarrollo adaptativo de ▪ Un enfoque de desarrollo ágil y adaptativo basado en la colaboración es " una fuente de orden en las
software (DAS) complejas interacciones entre disciplina e ingeniería 5
Modelo cascada

Etapas

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.
2) Diseño del sistema y del software. El proceso de diseño del sistema divide los
requerimientos en sistemas. Establece una arquitectura completa del sistema, se
describe los elementos abstractos que son fundamentales para el software y sus
relaciones.
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
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.
6
Modelo espiral

Etapas

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.

Problemas del modelo espiral:


1) El proceso no es visible. Esto significa que los administradores tienen que hacer entregas regulares para
medir el progreso del producto. Si los sistemas se desarrollan rápidamente, no es rentable producir
documentos que reflejen cada versión del sistema.

2) A menudo los sistemas tienen una estructura deficiente. Esto hace referencia que los cambios continuos
tienden a corromper la estructura del software. Incorporar cambios en él se convierte cada vez más en una
tarea difícil y costosa. 7
Modelo de desarrollo basado en componentes

Etapas

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.

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.

8
TSP y PSP

Componentes principales

El TSP contempla dos componentes principales:

• Creación de equipo
• Trabajo en equipo o componente de gestión.

El objetivo del PSP es poner a los profesionales de software a cargo de su trabajo y para que se
sientan personalmente responsables de la calidad de los productos que producen. PSP puede
trabajar a la par con los objetivos de la metodología (TSP) son:
• Proporcionar un entorno de equipo que apoya el trabajo de la PSP
• Construir y mantener un equipo autodirigido.

9
Metodología XP programación extrema

Descripción

• En la metodología extrema, todos los requerimientos se expresan como escenarios


(llamados historias de usuario), los cuales se implementan directamente como una
serie de tareas.
• Los programadores trabajan en parejas y desarrollan pruebas para cada tarea
antes de escribir el código.
• Todas las pruebas se deben ejecutar satisfactoriamente cuando el código nuevo se
integra al sistema.
• Existe un pequeño espacio de tiempo entre las entregas del sistema.
• El desarrollo incremental se lleva a través de entregas pequeñas y frecuentes del
sistema y por medio de un enfoque que sirve para la descripción de requerimientos
basado en las historias del clientes o escenarios que pueden ser la base para el
proceso de planificación

10
Metodología SCRUM

Descripción

Principal objetivo es maximizar el retorno de la inversión para su empresa. Se basa


principalmente en construir la funcionalidad de mayor valor para el cliente y en los principios de
inspección continua, adaptación, auto-gestión e innovación.
Ventajas a diferencia de otras metodologías agiles entre ellas:
• Cumplimento de expectativas: El cliente establece sus expectativas indicando el valor que
aporta a cada requisito / historia del proyecto, el equipo los estima y con esta información el
propietario del producto establece su prioridad.
• Flexibilidad a cambios: Genera una alta capacidad de reacción ante los cambios de
requerimientos generados por necesidades del cliente o evoluciones del mercado. La
metodología está diseñada para adaptarse a los cambios de requerimientos que conllevan
los proyectos complejos.
• Reducción del tiempo: El cliente puede empezar a utilizar las funcionalidades más
importantes del proyecto antes de que esté finalizado por completo.
• Mayor calidad del software: La forma de trabajo y la necesidad de obtener una versión
funcional después de cada iteración, ayuda a la obtención de un software de calidad superior.
• Mayor productividad: Se consigue entre otras razones, gracias a la eliminación de la
burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos
para organizarse.

11
Metodología SCRUM

Descripción

• Maximiza el retorno de la inversión (ROI): Producción de software únicamente con las


prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de
inversión.
• Predicciones de tiempos: Mediante esta metodología 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á retrasada.
• Reducción de riesgos: El hecho de llevar a cabo las funcionalidades de más valor en
primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite
despejar riesgos eficazmente de manera anticipada.

12
Desarrollo adaptativo de software (DAS)

Fases

▪ Especulación: En esta fase se inicia el proyecto y se conduce el ciclo adaptativo de


planeación.
▪ Colaboración: En esta fase la gente motivada trabaja de una forma que multiplica su
talento y sus salidas creativas más allá de sus números absolutos
▪ Aprendizaje: En esta fase miembros de un equipo de DAS se comienzan a desarrollar los
componentes integrantes de un ciclo adaptativo, la importancia radica en el aprendizaje y
en el progreso a través de un ciclo completo. Los equipos del DAS aprenden de tres
maneras:
– Grupos enfocados. El cliente o los usuarios finales proporcionan retroalimentación sobre los
incrementos de software que se entregan
– Revisiones técnicas formales. Los miembros del equipo del DAS revisan los componentes del
software desarrollado mientras mejoran su calidad y su aprendizaje
– Post mortem. El equipo de DAS se vuelve introspectivo al vigilar su propio desempeño y proceso
con el propósito de aprender acerca de su enfoque y después mejorarlo

13
Conclusiones

Es importante la gestión orientada a procesos


para focalizar la necesidad que requiere el
cliente, asimismo es importante definir bajo que
estructura (concepto) se requiere dar atención
al cliente y la manera de trabajar internamente.

Por estas razones es importante planificar el


desarrollo de objetivos para poder clarificar que
metodologías y modelos de gestión hay que
ocupar para dar los mejores resultados

14
Bibliografía

[1] Cendejas, J (2014) “implementación del modelo integral colaborativo


(MDSIC) como fuente de innovación para el desarrollo ágil de software en las
empresas de la zona centro - occidente en México” México, Universidad
Popular Autónoma del Estado de Puebla.
http://www.eumed.net/tesis-doctorales/2014/jlcv/software.html

[1] Loera, H. (2014, noviembre 19). Modelo de capacidad de madurez CMM.


[Archivo de video]. Recuperado de https://www.youtube.com/watch?v=Tp5Rj_-
x7sE

[2] Perez, J. (2009) Ciclo de Vida. Recuperado de


https://es.slideshare.net/Jgperez/ciclo-de-vida-1635517

[3] Solarte, G., Muñoz, L. (2018). Modelos de calidad para procesos de


software. Recuperado de http://www.redalyc.org/articulo.oa?id=84916714069

[4] Domínguez , P. (2017) Gestiona tu proyecto de desarrollo. Recuperado de:


https://openclassrooms.com/en/courses/4309151-gestiona-tu-proyecto-de-
desarrollo/4538221-en-que-consiste-el-modelo-en-cascada

15

You might also like