c3.hu3.p1.p3.El ser humano como ser histórico.pptx
Metodología de desarrollo de software
1. INSTITUTO PRIVADO TECNOLOGICO SPENCER W. KIMBALL
BACHILLEATO INDUSTRIAL Y PERITO EN COMPUTACION
ANALISIS EN SISTEMAS
PROF: ALVARO MARTINEZ
METODOLOGIAS PARA EL DESARROLLO DE SOFTWARE
ESDRAS NEHEMIAS CALMO LOPEZ
SECCION: UNICA
GRADO: 5TO.
CLAVE: 1
FECHA: 20/05/2015
2. INTRODUCCION
Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el
proceso de desarrollo en sistemas de información. A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados
diferenciándose por su fortaleza y debilidad y cuáles de ellos son:
• ciclo de vida de desarrollo de software
• metodología rup
• metodología espiral
• metodología encascada
3. INDICE
Metodología de desarrollo de software.............................................................................................................1
Enfoques de desarrollo de software ................................................................................................................1
Ciclo de vida de desarrollo de software............................................................................................................1
Metodología RUP y Ciclo de Vida .....................................................................................................................2
Metodología Espiral……………………………………………………………………………………………………………………………….2
Metodología Encasada……………………………………………………………………………………………………………………………4
4. Análisis en Sistemas
Por: Esdras Nehemías Calmo López1
Metodología de desarrollo de software
Metodología de desarrollo de software en ingeniería de software es un marco de trabajo usado para estructurar,
planificar y controlar el proceso de desarrollo en sistemas de información.
Tres patrones básicos en las metodologías de desarrollo de software.
Enfoques de desarrollo de software
Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software.
Estos son los enfoques más generales, que se desarrollan en varias metodologías específicas. Estos enfoques son
los siguientes:
• Modelo en cascada: Framework lineal.
• Prototipado: Framework iterativo.
• Incremental: Combinación de framework lineal e iterativo.
• Espiral: Combinación de framework lineal e iterativo.
• RAD: Rapid Application Development, framework iterativo.
Ciclo de vida de desarrollo de software
El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El
propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de
la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los
procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro
de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto,
permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los
costos asociados.
5. Análisis en Sistemas
Por: Esdras Nehemías Calmo López2
El ciclo de vida básico de un software consta de los siguientes procedimientos:
• Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
• Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y
examinar cualquier restricción que se pueda aplicar.
• Diseño general: requisitos generales de la arquitectura de la aplicación.
• Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
• Programación (programación e implementación): es la implementación de un lenguaje de programación
para crear las funciones definidas durante la etapa de diseño.
• Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se
implementaron de acuerdo con las especificaciones.
• Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito
de la prueba de integración que está cuidadosamente documentada.
• Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.
• Documentación: sirve para documentar información necesaria para los usuarios del software y para
desarrollos futuros.
• Implementación
• Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las
actualizaciones secundarias del software (mantenimiento continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo
de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.
Metodología RUP y Ciclo de Vida
El Rational Unified Process o Proceso Unificado de Racional. Es un proceso de ingeniería de software que suministra
un enfoque para asignar tareas y responsabilidades dentro de una organización de desarrollo. Su objetivo es
asegurar la producción de software de alta y de mayor calidad para satisfacer las necesidades de los usuarios que
tienen un cumplimiento al final dentro de un limite de tiempo y presupuesto previsible. Es una metodología de
desarrollo iterativo que es enfocada hacia “ diagramas de los casos de uso, y manejo de los riesgos y el manejo de
la arquitectura” como tal.
El RUP mejora la productividad del equipo ya que permite que cada miembro del grupo sin importar su
responsabilidad específica pueda acceder a la misma base de datos incluyendo sus conocimientos. Esto hace que
todos compartan el mismo lenguaje, la misma visión y el mismo proceso acerca de cómo desarrollar un software.
MODELO ESPIRAL
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.
6. Análisis en Sistemas
Por: Esdras Nehemías Calmo López3
Funcionamiento del Modelo
En el modelo espiral, el software se desarrolla en una serie de versiones incrementales. Durante las primeras
iteracciones, la version 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.
Regiones de Tareas del Modelo
El modelo en espiral se divide en un número de actividades de marco de trabajo, también llamadas regiones de
tareas. Generalmente, existen entre tres y seis regiones de tareas.
Comunicación con el cliente
Las tareas requeridas para establecer comunicación entre el desarrollador yel cliente.
Planificación
Las tareas requeridas para definir recursos, el tiempo y otra información relacionadas con el proyecto.
Análisis de riesgos
Las tareas requeridas para evaluar riesgos técnicos y de gestión.
Ingeniería
Las tareas requeridas para construir una o más representaciones de la aplicación.
Construcción y acción
Las tareas requeridas para construir, probar, instalar yproporcionar soporte al usuario (por ejemplo:
documentación y práctica)
Evaluación del cliente
Las tareas requeridas para obtener la reacción del cliente según la evaluación de las representaciones del software
creadas durante la etapa de ingeniería e implementada durante la etapa de instalación. Cada una de las regiones
están compuestas por un conjunto de tareas del trabajo, llamado conjunto de tareas, que se adaptan a las
características del proyecto que va a emprenderse. Para proyectos pequeños, el número de tareas de trabajo y
suformalidad es bajo. Para proyectos mayores ymás críticos cada región de tareas contiene tareas de trabajo que
se definen para lograr un nivel más alto de formalidad. En todos los casos, se aplican las actividades de protección.
7. Análisis en Sistemas
Por: Esdras Nehemías Calmo López4
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 comprenden 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.
Fuentes
• Ingeniería de Software, Un enfoque Práctico, Roger S. Pressman.
METODOLOGÍA ENCASCADA
También conocido como modelo clásico, modelo tradicional o modelo lineal secuencial. Él método de la cascada es
considerado como el enfoque clásico para el ciclo de vida del desarrollo de sistemas, se puede decir que es un
método puro que implica un desarrollo rígido. está es una secuencia de actividades(o etapas) que consisten en el
análisis de requerimientos, él diseño ,la implementación, la integración y las pruebas .
• El análisis de requerimientos consiste en reunir las necesidades del producto y casi siempre su salida
es texto.
• El diseño describe la estructura interna del producto y suele representarse con diagramas y texto.
• La implementación significa programación. Producto de esta etapa es el código en cualquier nivel,
incluido el producido por sistemas de generación automática.
• La integración es el proceso de integración es el proceso de ensamblar las partes para completar el
producto.
8. Análisis en Sistemas
Por: Esdras Nehemías Calmo López5
Es caracterizado por ordenar de manera rigurosa las etapas del ciclo de vida de software, dado que el comienzo
de cada etapa debe esperar a la finalización de la inmediata anterior. Cuando la revisión determina que el proyecto
no está listo para pasar a la siguiente etapa, permanece en la etapa actual hasta que esté preparado. Y debido a
que el proceso está planeado es más fácil determinar costos y los plazos. Esté modelo puede ser visto como un
modelo con forma de cascada de agua con varios saltos, en la que cada salto representa cada una de las fases del
ciclo de vida.
La metodología en cascada es esencialmente:
1. El inicio y el alcance del proyecto
2. La planificación del proyecto (calendario, recursos necesarios, costo)
3. Definición de las necesidades del negocio y el análisis en detalle dela solución
9. Análisis en Sistemas
Por: Esdras Nehemías Calmo López6
4. La creación de la solución
5. Prueba que la solución funciona. La entrega de la solución a su público objetivo
6. Cierre del proyecto.
Ventajas
1. Permite la departamentalización y control de gestión.
2. El horario se establece con los plazos normalmente adecuados para cada etapa de desarrollo.
3. Este proceso conduce a entregar el proyecto a tiempo.
4. Es sencilla y facilita la gestión de proyectos.
5. Permite tener bajo control el proyecto.
6. Limita la cantidad de interacción entre equipos que se produce durante el desarrollo.
Criticas
• No refleja realmente el proceso de desarrollo del software. Ya que la mayoría de los que desarrollan
proyectos no cumple con este lineamiento.
• Se tarda mucho tiempo en pasar por todo el ciclo
• La aplicación de la metodología en cascada se orienta mejor al desarrollo de proyectos de corto plazo, de
poca innovación y proyectos definitivos y detallados.
• Metodología pueden confundir al equipo profesional en las etapas tempranas del proyecto.
• No es frecuente que el cliente o usuario final explicite clara y completamente los requisitos.
10. CONCLUSIONES
• En este trabajo se presenta resumidamente el contexto en el que surgen las metodologías agiles, sus
valores principios comparaciones con la metodologías.
• Existen diversas metodologías y tipos de modelos para desarrollar un software.
• Para desarrollar un producto de software se requiere de todo un proceso.