SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Ingeniería en Sistemas Computacionales
Fundamentos de Ingeniería de Software
Unidad II: Metodologías de Desarrollo
Este material está desarrollado para la asignatura Ingeniería de Software, de la carrera de Ingeniería en Sistemas
Computacionales, plan de estudios ISIC-2010-224
INGENIERÍA DE SOFTWARE
Competencia: Identifica y aplica la metodología adecuada para el
desarrollo de diferentes productos de software.
INGENIERÍA DE SOFTWARE
Bibliografía Recomendada
Pressman, R.S. Ingeniería del Software un Enfoque Práctico. McGraw-
Hill. Madrid, España. 2008.
Kendall E. K., Análisis y Diseño de sistemas. 1ª. Edición. Prentice Hall.
México. 2005.
INGENIERÍA DE SOFTWARE
INTRODUCCIÓN
¿Qué significa la metodología de desarrollo?
• Se trata de seguir ciertas pautas predefinidas
para lograr terminar un software de calidad; es
decir, llevar un comportamiento metódico.
INGENIERÍA DE SOFTWARE
¿Qué cosas dicen
niños?... Yo solo
programo, ese es mi
único paso.
¡¡Ese sistema esta
bien padre!! ¿Qué
pasos siguió para
hacerlo?
¿Cuántos de los programadores modernos, antes de comenzar a
escribir código de un sistema, se dedican a diseñar antes el mismo? ¿A
realizar la documentación de los requerimientos? ¿A pensar en los
diagramas UML? ¿Cuántos?
INGENIERÍA DE SOFTWARE
METODOLOGÍAS
CLÁSICAS
 Hay una serie de metodologías considerados
como tradicionales o clásicas. Algunos lo
consideran un tanto burocráticas, y con
mucha ambiguedad; y no es para más. Estas
metodologías "Clásicas" fueron creados por
los años 70’s-80’s pensando en los negocios
de los 50’s.
 No hay de otra que reconocer que la mayor
parte de estas metodologías ya no funcionan
para proyectos muy innovadores.
Desarrollo en Cascada
Desarrollo Incremental
Desarrollo Evolutivo
Desarrollo en Espiral
Basado en Prototipos
Basado en
componentes
INGENIERÍA DE SOFTWARE
Las metodologías surgidas en los años 90 a la actualidad son las que
responden a las necesidades modernas. Varios especialistas llaman a
estas metodologías «ágiles»… entonces,
¿Cómo saber que metodología usar y quien lo debe elegir?
La mayoría de las veces, el trabajo es en
equipo, siendo así, se tiene que hacer un
estudio de las metodologías sin dejar
fuera a las clásicas (por muy engorroso
que sea). De esta forma se deben tener
las siguientes consideraciones:
INGENIERÍA DE SOFTWARE
- Si eres el que tiene el puesto con mayor
responsabilidad, decide ya.
- Si no tienes un puesto de alta
responsabilidad, y el que sí lo tiene no toma
una metodología, el proyecto está destinado
al fracaso.
- Cuando se forma parte de un pequeño
equipo de trabajo, lo mejor es conversar
sobre cuál será la metodología correcta a
aplicar, incluso puede llegar el momento en
que se tomen ideas de diferentes
metodologías.
INGENIERÍA DE SOFTWARE
Desarrollo en Cascada
Enfoque metodológico que ordena rigurosamente el proceso de desarrollo de
software. De manera general la metodología sería la siguiente:
Ingeniería de
Requisitos
Análisis
Diseño
Implementación
Pruebas y
Mantenimiento
Requerimientos del sistema
Requerimientos del Software
Diseño Preliminar y detallado
Codificación y depuración
Test y pruebas previas a la
implantación
INGENIERÍA DE SOFTWARE
Ventajas:
o Es un modelo sencillo y disciplinado.
o Es fácil aprender a utilizarlo y comprender su
funcionamiento.
o Ha sido muy usado y, por tanto, está ampliamente
contrastado.
INGENIERÍA DE SOFTWARE
Desventajas:
o Los proyectos raramente siguen el proceso lineal tal
como se definía originalmente el ciclo de vida.
o Es difícil que el cliente exponga explícitamente todos
los requisitos al principio.
o Puede resultar complicado regresar a etapas
anteriores (ya acabadas) para realizar correcciones.
o El producto final obtenido puede que no refleje
todos los requisitos del usuario.
INGENIERÍA DE SOFTWARE
Desarrollo Incremental
Por supuesto, en esta metodología también se emplea el ciclo de vida del
software.
Requerimi
entos
Análisis Diseño
Implemen
tación
Pruebas
Requerimi
entos
Análisis Diseño
Implemen
tación
Pruebas
Requerimi
entos
Análisis Diseño
Implemen
tación
Pruebas
Incremento 1
Incremento 2
Incremento 3
Entrega del
Incremento 1
Entrega del
Incremento 2
Entrega del
Incremento 3
Tiempo en el calendario
INGENIERÍA DE SOFTWARE
Ventajas:
o Impacto ventajoso frente al cliente, que es la
entrega temprana de partes operativas del
Software.
o El usuario de involucra más.
o Permite entregar al cliente un producto más rápido
en comparación del modelo de cascada.
o Resulta más sencillo acomodar cambios al acotar el
tamaño de los incrementos.
INGENIERÍA DE SOFTWARE
Desventajas:
o Los errores en los requisitos se detectan tarde.
o Difícil de evaluar el costo total.
o No es recomendable para casos de sistemas de
tiempo real, de alto nivel de seguridad, de
procesamiento distribuido, y/o de alto índice de
riesgos.
o Requiere de mucha planeación, tanto administrativa
como técnica.
INGENIERÍA DE SOFTWARE
Desarrollo Evolutivo
El desarrollo evolutivo busca reemplazar el viejo sistema con uno nuevo que
tendría la propiedad de satisfacer los nuevos requerimientos lo más rápido
posible. El desarrollo evolutivo asume que los requerimientos están sujetos a
cambios continuos y que la estrategia para enfrentar aquello pasa por un
reflejo, también continuo de aquellos cambios.
Existen dos tipos de desarrollo evolutivo:
o Desarrollo Exploratorio.
o Prototipos Desechables.
INGENIERÍA DE SOFTWARE
Especificación Inicial
Desarrollo del
Producto
Re-especificación
Versiones del
Software
Definición del problema y especificación inicial en
base a los requerimientos definidos.
Definición del software en base a un proceso con
énfasis en la rapidez de la liberación.
Implantación y uso del software en ambiente de
explotación, monitoreo de los nuevos
requerimientos
Redefinición del problema en base a los
nuevos requerimientos.
Implementación, uso
y evaluación
INGENIERÍA DE SOFTWARE
Desarrollo en Espiral
Los principios básicos son:
La atención se centra en la evaluación y reducción del riesgo del proyecto
dividiendo el proyecto en segmentos más pequeños y proporcionar más
facilidad de cambio durante el proceso de desarrollo, así como ofrecer la
oportunidad de evaluar los riesgos y con un peso de la consideración de la
continuación del proyecto durante todo el ciclo de vida.
INGENIERÍA DE SOFTWARE
Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos:
1. Determinar objetivos, alternativas, y desencadenantes de la iteración;
2. Evaluar alternativas; Identificar y resolver los riesgos;
3. Desarrollar y verificar los resultados de la iteración, y
4. Plan de la próxima iteración.
Cada ciclo comienza con la identificación de los interesados y sus
condiciones de ganancia, y termina con la revisión y examinación.
INGENIERÍA DE SOFTWARE
En términos generales, el modelo en espiral se representa como sigue:
ObjetivosAnálisis de Riesgos
Desarrollar y Probar Planificación
INGENIERÍA DE SOFTWARE
Entendiendo que el
desarrollo en espiral es
un modelo del ciclo de
vida del software, la
figura anterior se vería
así:
INGENIERÍA DE SOFTWARE
Ventajas:
o Reduce riesgos del proyecto
o Incorpora objetivos de calidad
o Integra el desarrollo con el mantenimiento
INGENIERÍA DE SOFTWARE
Desventajas:
o Genera mucho tiempo en el desarrollo del sistema
o Modelo costoso
o Requiere experiencia en la identificación de riesgos
INGENIERÍA DE SOFTWARE
Inconvenientes:
Planificar un proyecto con esta metodología es a menudo imposible, debido
a la incertidumbre en el número de iteraciones que serán necesarias. En
este contexto la evaluación de riesgos es de la mayor importancia y, para
grandes proyectos, dicha evaluación requiere la intervención de
profesionales de gran experiencia.
INGENIERÍA DE SOFTWARE
Pertenece a los modelos de desarrollo evolutivo.
Pone énfasis en la etapa de especificación de
requerimientos a través de la construcción de
prototipos que aproximan al usuario a la idea
final del sistema.
En palabras más sencillas: "Es un conjunto
estandarizado de actividades dedicada al
desarrollo de versiones incompletas a
desarrollar".
En la parte derecha de la diapositiva se listan las
etapas.
Plan Rápido
Diseño Rápido
Construcción del prototipo
Desarrollo, entrega y
retroalimentación
Comunicación
INGENIERÍA DE SOFTWARE
Esquema de la Metodología de Prototipos
Usuario Define su Requerimiento
Construye Prototipo
Sirve
Construcción,
Implementación
No
Sí
Analista
Desarrollo de Prototipos
INGENIERÍA DE SOFTWARE
Ventajas:
o Este modelo es útil cuando el cliente conoce los
objetivos generales para el software.
o 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.
INGENIERÍA DE SOFTWARE
Desventajas:
o El usuario tiende a crearse unas expectativas
cuando ve el prototipo de cara al sistema final. A
causa de la intención de crear un prototipo de
forma rápida, se suelen desatender aspectos
importantes, tales como la calidad y el
mantenimiento a largo plazo, lo que obliga en la
mayor parte de los casos a reconstruirlo una vez
que el prototipo ha cumplido su función.
INGENIERÍA DE SOFTWARE
Desarrollo Basado en Componentes
o La complejidad de los sistemas computacionales actuales nos ha
llevado a buscar la reutilización del software existente.
o En esencia, un componente es una pieza de código pre elaborado que
encapsula alguna funcionalidad expuesta a través de interfaces
estándar.
o El paradigma de ensamblar componentes y escribir código para hacer
que estos componentes funcionen se conoce como Desarrollo de
Software Basado en Componentes.
INGENIERÍA DE SOFTWARE
El uso de este paradigma posee algunas ventajas:
Reutilización del software.
Simplifica las pruebas.
Simplifica el mantenimiento del sistema.
Mayor calidad.
De la misma manera, el optar por comprar componentes de
terceros en lugar de desarrollarlos, posee algunas ventajas:
Ciclos de desarrollo más cortos.
Mejor ROI.
Funcionalidad mejorada.
INGENIERÍA DE SOFTWARE
OTRAS METODOLOGÍAS
A partir de los años noventa surgieron nuevas metodologías, algunos las
llaman «Metodologías Modernas».
A decir verdad, las ideas que se expondrán resultan ser las más
aceptadas y valoradas por los programadores modernos; tal vez sea por
la combinación de las ideas tradicionales con las actuales.
INGENIERÍA DE SOFTWARE
Ganar-Ganar (Win & Win)
Este Modelo sugiere la comunicación con el cliente
para fijar los requisitos, en que simplemente se
pregunta al cliente qué necesita y él proporciona la
información para continuar; pero esto es en un
contexto ideal que rara vez ocurre. Normalmente
cliente y desarrollador entran en una negociación, se
negocia coste frente a funcionalidad, rendimiento,
calidad, etc.
«Es así que la obtención de requisitos requiere una negociación,
que tiene éxito cuando ambas partes ganan».
INGENIERÍA DE SOFTWARE
Proceso Unificado
El Proceso Unificado es un marco de desarrollo de software que se
caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y
por ser iterativo e incremental.
Inicio Elaboración
Transición
Construcción
Producción
FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Ingeniería Web
La ingeniería de la Web no es un clon o subconjunto de la ingeniería de
software aunque ambas incluyen desarrollo de software y programación,
pues a pesar de que la ingeniería de la Web utiliza principios de ingeniería
de software, incluye nuevos enfoques, metodologías, herramientas,
técnicas, guías y patrones para cubrir los requisitos únicos de las
aplicaciones web.
¿Qué es la ingeniería web? Es el
proceso utilizado para crear, implantar
y mantener aplicaciones y sistemas web
de alta calidad.
INGENIERÍA DE SOFTWARE
De manera general, las etapas con las que cuenta la Ingeniería de
Software son las siguientes: Formulación, Planificación, Análisis,
Modelización, generación de páginas, el Test, Evaluación del cliente.
Formulación.- Identifica
objetivos y establece el alcance
de la primera entrega.
INGENIERÍA DE SOFTWARE
Planificación. Genera la estimación del
coste general del proyecto, la
evaluación de riesgos y el calendario
del desarrollo y fechas de entrega.
Análisis. Especifica los requerimientos
e identifica el contenido.
INGENIERÍA DE SOFTWARE
Modelización: Se compone de dos secuencias paralelas de tareas. Una
consiste en el diseño y producción del contenido que forma parte de la
aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz
de usuario. Es conveniente resaltar la importancia del diseño de la
interfaz. Independientemente del valor del contenido y servicios
prestados, una buena interfaz mejora la percepción que el usuario tiene
de estos.
INGENIERÍA DE SOFTWARE
Generación de páginas. Se integra contenido,
arquitectura, navegación e interfaz para crear
estática o dinámicamente el aspecto más visible de
las aplicaciones, las páginas.
El Test. Busca errores a todos los niveles:
contenido, funcional, navegacional, rendimiento,
etc. El hecho de que las aplicaciones residan en la
red, y que inter-operen en plataformas muy
distintas, hace que el proceso de test sea
especialmente difícil.
INGENIERÍA DE SOFTWARE
Evaluación del cliente. El resultado
final es sometido a la evaluación del
cliente y aceptación por el mismo.
INGENIERÍA DE SOFTWARE
Metodologías Ágiles
Por lo pronto, surgen metodologías a petición de las problemas
actuales, tomando algunas de las ideas de las metodologías
tradicionales.
INGENIERÍA DE SOFTWARE
Como resultado de esta nueva teoría se crea un Manifiesto Ágil cuyas
principales ideas son:
o Los individuos y las interacciones entre ellos son más importantes que las
herramientas y los procesos empleados.
o Es más importante crear un producto software que funcione que escribir
documentación exhaustiva.
o La colaboración con el cliente debe prevalecer sobre la negociación de
contratos.
o La capacidad de respuesta ante un cambio es más importante que el
seguimiento estricto de un plan.
INGENIERÍA DE SOFTWARE
Entre los principales métodos ágiles tenemos las siguientes:
o XP (Extreme Programming).
o Scrum.
o Iconix.
o Cristal Methods.
o AUP, entre otros.
INGENIERÍA DE SOFTWARE
Extreme Programming (XP).
Es la más destacada de los procesos agiles de desarrollo de software
formulada por Kent Beck.
Los defensores de XP consideran que los cambios de requisitos sobre la
marcha son un aspecto natural, inevitable e incluso deseable del
desarrollo de proyectos.
INGENIERÍA DE SOFTWARE
XP
Desarrollo
iterativo
incremental
Programación
por parejas
Frecuente
interacción
Corrección
Propiedad del
código
compartido
Simplicidad en
el código
INGENIERÍA DE SOFTWARE
Ventajas:
o Apropiado para entornos volátiles.
o Planificación más transparente para nuestros clientes,
conocen las fechas de entrega de funcionalidades. Vital
para su negocio.
o Permitirá definir en cada iteración cuales son los
objetivos de la siguiente
o Permite tener realimentación de los usuarios muy útil.
o La presión está a lo largo de todo el proyecto y no en
una entrega final.
INGENIERÍA DE SOFTWARE
Desventajas
o Delimitar el alcance del proyecto con
nuestro cliente
o Para mitigar esta desventaja se plantea
definir un alcance a alto nivel basado en la
experiencia.
INGENIERÍA DE SOFTWARE
Iconix:
El proceso ICONIX se define como un proceso de desarrollo de software
práctico. Está entre la complejidad de RUP y la simplicidad y pragmatismo de
XP, sin eliminar las tareas de análisis y diseño que XP no contempla.
Es un proceso simplificado en comparación con otros procesos más
tradicionales. ICONIX presenta claramente las actividades de cada fase y
exhibe una secuencia de pasos que deben ser seguidos. Además, está
adaptado a patrones y ofrece el soporte UML, dirigido por Casos de Uso y es
un proceso iterativo e incremental.
INGENIERÍA DE SOFTWARE
Características de Iconix.
o Iterativo e incremental: varias interacciones ocurren entre el modelo del
dominio y la identificación de los casos de uso. El modelo estático es
incrementalmente refinado por los modelos dinámicos.
o Trazabilidad: cada paso está referenciado por algún requisito. Se define la
trazabilidad como la capacidad de seguir una relación entre los diferentes
artefactos producidos.
o Dinámica del UML: la metodología ofrece un uso dinámico del UML como
los diagramas del caso de uso, diagramas de secuencia y de colaboración.
INGENIERÍA DE SOFTWARE
REINGENIERÍA
¿Qué es?
Considere cualquier producto tecnológico que le haya servido bien. Usted lo
utiliza regularmente, pero se está volviendo obsoleto. Se rompe con
frecuencia, su reparación toma más tiempo del que usted quisiera, y ya no
representa más la nueva tecnología. ¿Qué hacer?
- Si el producto es hardware.
- Si el producto es software.
INGENIERÍA DE SOFTWARE
¿Quién la hace?
En el ámbito de las organizaciones, la reingeniería lo llevan a cabo
especialistas en negocios (con frecuencias compañías consultoras).
En el ámbito del software la reingeniería la realizan los ingenieros de
software.
INGENIERÍA DE SOFTWARE
¿Por qué es importante?
Se vive en un mundo en cambio constante. Las demandas acerca de
las funciones de negocios y la tecnología de la información que las
soportan están cambiando a un ritmo que impone una enorme
presión competitiva en las organizaciones comerciales.
INGENIERÍA DE SOFTWARE
¿Cuáles son los pasos?
El proceso de reingeniería de software incluye análisis de
inventarios, ingeniería inversa, reestructuración de
programas y datos, e ingeniería avanzada. La finalidad de
estas actividades es crear versiones de programas
existentes que muestren mayor calidad y mejor facilidad
de mantenimiento.
La reingeniería es una actividad de reconstrucción, y la
reingeniería de los sistemas de información se
comprende mejor si se considera una actividad análoga:
la reconstrucción de una casa en otro estado.
INGENIERÍA DE SOFTWARE
Análisis de
Inventarios
Reestructuración
de documentos
Ingeniería
Inversa
Reestructuración
de código
Reestructuración
de datos
Ingeniería
directa
La reingeniería de
software consta de
seis actividades.
INGENIERÍA DE SOFTWARE
1. Análisis de Inventarios.
Las organizaciones de software
deberían tener un inventario de todas
sus aplicaciones. El inventario tal vez
no sea más que un modelo en una
hoja de cálculo que contenga
información que proporcione una
descripción detallada de las
aplicaciones activas.
INGENIERÍA DE SOFTWARE
2. Reestructuración de documentos.
La documentación débil es la marca de muchos sistemas
heredados.
3. Ingeniería Inversa.
Ayudar a los ingenieros de software a comprender la
estructura de diseño interno de los programas complejos.
Herramientas representativas. Imagix 4D, desarrollado por
Imagix (www.imagix.com).
JdGui es otra herramienta para estos usos.
INGENIERÍA DE SOFTWARE
4. Reestructuración de código.
El objetivo de las herramientas de reestructuración es transformar el antiguo
software de computadoras carente de estructura en lenguajes de
programación y estructuras de diseño modernos.
Mecánica. En general, el código fuente se ingresa y transforma en un mejor
programa estructurado.
Herramientas representativas.
DMS Software Reengineering Toolkit, desarrollada por Semantic Design.
Function Encapsulation Tool, desarrollada en la Wayne State University.
INGENIERÍA DE SOFTWARE
5. Reestructuración de datos.
Esta actividad a veces se denomina análisis de datos.
Antes de comenzar la reestructuración de datos se debe llevar a cabo una
actividad de ingeniería inversa denominada análisis del código fuente.
Una vez completado el análisis de datos comienza el rediseño de datos.
INGENIERÍA DE SOFTWARE
6. Ingeniería directa.
También llamada renovación o reclamación, no solo recupera la
información de diseño a partir del software existente, también utiliza esta
información para alterar o reconstruir el sistema existente con la finalidad
de mejorar su calidad global.
En la mayoría de los casos el software sometido a reingeniería vuelve a
implementar la función del sistema existente y también añade nuevas
funciones o mejora el desempeño global.
INGENIERÍA DE SOFTWARE

Weitere ähnliche Inhalte

Was ist angesagt?

Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Darthuz Kilates
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareRenny Batista
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del softwareyeltsintorres18
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareJennifer Andrea Cano Guevara
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De SoftwareJulio Pari
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de softwareHernan Espinoza
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
Metodologia web
Metodologia webMetodologia web
Metodologia webAnel Sosa
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Yaskelly Yedra
 

Was ist angesagt? (20)

Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del software
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de software
 
La Calidad de Software
La Calidad de SoftwareLa Calidad de Software
La Calidad de Software
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Metodologia web
Metodologia webMetodologia web
Metodologia web
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 

Andere mochten auch

Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwarealberto calatayu
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...José Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaJosé Antonio Sandoval Acosta
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Simulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónSimulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónJosé Antonio Sandoval Acosta
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...José Antonio Sandoval Acosta
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesJosé Antonio Sandoval Acosta
 

Andere mochten auch (20)

Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Ingenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridadIngenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridad
 
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015 M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académica
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Simulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónSimulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la Simulación
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 

Ähnlich wie Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo

Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de softwareJhonJairoPerez
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Softwareeeencalada
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativaDiego Sinche
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Metodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacionMetodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacioncaroyu
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de SistemasT.I.C
 
Gestión de proyectos
Gestión de proyectosGestión de proyectos
Gestión de proyectosaaahhhhaaa
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de softJazmin Cr
 
Modelos de Procesos del Software Grupo 1
 Modelos de Procesos del Software Grupo 1 Modelos de Procesos del Software Grupo 1
Modelos de Procesos del Software Grupo 1ニコ コンドン
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareGenesis Mamani
 

Ähnlich wie Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo (20)

Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
Unidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de DesarrolloUnidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de Desarrollo
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
METODOLOGIAS.pptx
METODOLOGIAS.pptxMETODOLOGIAS.pptx
METODOLOGIAS.pptx
 
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptxCICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
 
Cuestionario examen
Cuestionario examenCuestionario examen
Cuestionario examen
 
Metodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacionMetodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacion
 
Doc grupo2-webquest
Doc grupo2-webquestDoc grupo2-webquest
Doc grupo2-webquest
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
 
Gestión de proyectos
Gestión de proyectosGestión de proyectos
Gestión de proyectos
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Modelos de Procesos del Software Grupo 1
 Modelos de Procesos del Software Grupo 1 Modelos de Procesos del Software Grupo 1
Modelos de Procesos del Software Grupo 1
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Proceso del software (Metodos Agiles)
Proceso del software (Metodos Agiles)Proceso del software (Metodos Agiles)
Proceso del software (Metodos Agiles)
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 

Mehr von José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Mehr von José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Kürzlich hochgeladen

Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxwilliam801689
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxmiguelmateos18
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...WeslinDarguinHernand
 
Tabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docxTabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docxLuisJJacinto
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUManuelSosa83
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfwduranteg
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDaysonMillerAvilesAc1
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 

Kürzlich hochgeladen (20)

Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Tabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docxTabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docx
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 

Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo

  • 1. Ingeniería en Sistemas Computacionales Fundamentos de Ingeniería de Software Unidad II: Metodologías de Desarrollo Este material está desarrollado para la asignatura Ingeniería de Software, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224 INGENIERÍA DE SOFTWARE
  • 2. Competencia: Identifica y aplica la metodología adecuada para el desarrollo de diferentes productos de software. INGENIERÍA DE SOFTWARE
  • 3. Bibliografía Recomendada Pressman, R.S. Ingeniería del Software un Enfoque Práctico. McGraw- Hill. Madrid, España. 2008. Kendall E. K., Análisis y Diseño de sistemas. 1ª. Edición. Prentice Hall. México. 2005. INGENIERÍA DE SOFTWARE
  • 4. INTRODUCCIÓN ¿Qué significa la metodología de desarrollo? • Se trata de seguir ciertas pautas predefinidas para lograr terminar un software de calidad; es decir, llevar un comportamiento metódico. INGENIERÍA DE SOFTWARE
  • 5. ¿Qué cosas dicen niños?... Yo solo programo, ese es mi único paso. ¡¡Ese sistema esta bien padre!! ¿Qué pasos siguió para hacerlo? ¿Cuántos de los programadores modernos, antes de comenzar a escribir código de un sistema, se dedican a diseñar antes el mismo? ¿A realizar la documentación de los requerimientos? ¿A pensar en los diagramas UML? ¿Cuántos? INGENIERÍA DE SOFTWARE
  • 6. METODOLOGÍAS CLÁSICAS  Hay una serie de metodologías considerados como tradicionales o clásicas. Algunos lo consideran un tanto burocráticas, y con mucha ambiguedad; y no es para más. Estas metodologías "Clásicas" fueron creados por los años 70’s-80’s pensando en los negocios de los 50’s.  No hay de otra que reconocer que la mayor parte de estas metodologías ya no funcionan para proyectos muy innovadores. Desarrollo en Cascada Desarrollo Incremental Desarrollo Evolutivo Desarrollo en Espiral Basado en Prototipos Basado en componentes INGENIERÍA DE SOFTWARE
  • 7. Las metodologías surgidas en los años 90 a la actualidad son las que responden a las necesidades modernas. Varios especialistas llaman a estas metodologías «ágiles»… entonces, ¿Cómo saber que metodología usar y quien lo debe elegir? La mayoría de las veces, el trabajo es en equipo, siendo así, se tiene que hacer un estudio de las metodologías sin dejar fuera a las clásicas (por muy engorroso que sea). De esta forma se deben tener las siguientes consideraciones: INGENIERÍA DE SOFTWARE
  • 8. - Si eres el que tiene el puesto con mayor responsabilidad, decide ya. - Si no tienes un puesto de alta responsabilidad, y el que sí lo tiene no toma una metodología, el proyecto está destinado al fracaso. - Cuando se forma parte de un pequeño equipo de trabajo, lo mejor es conversar sobre cuál será la metodología correcta a aplicar, incluso puede llegar el momento en que se tomen ideas de diferentes metodologías. INGENIERÍA DE SOFTWARE
  • 9. Desarrollo en Cascada Enfoque metodológico que ordena rigurosamente el proceso de desarrollo de software. De manera general la metodología sería la siguiente: Ingeniería de Requisitos Análisis Diseño Implementación Pruebas y Mantenimiento Requerimientos del sistema Requerimientos del Software Diseño Preliminar y detallado Codificación y depuración Test y pruebas previas a la implantación INGENIERÍA DE SOFTWARE
  • 10. Ventajas: o Es un modelo sencillo y disciplinado. o Es fácil aprender a utilizarlo y comprender su funcionamiento. o Ha sido muy usado y, por tanto, está ampliamente contrastado. INGENIERÍA DE SOFTWARE
  • 11. Desventajas: o Los proyectos raramente siguen el proceso lineal tal como se definía originalmente el ciclo de vida. o Es difícil que el cliente exponga explícitamente todos los requisitos al principio. o Puede resultar complicado regresar a etapas anteriores (ya acabadas) para realizar correcciones. o El producto final obtenido puede que no refleje todos los requisitos del usuario. INGENIERÍA DE SOFTWARE
  • 12. Desarrollo Incremental Por supuesto, en esta metodología también se emplea el ciclo de vida del software. Requerimi entos Análisis Diseño Implemen tación Pruebas Requerimi entos Análisis Diseño Implemen tación Pruebas Requerimi entos Análisis Diseño Implemen tación Pruebas Incremento 1 Incremento 2 Incremento 3 Entrega del Incremento 1 Entrega del Incremento 2 Entrega del Incremento 3 Tiempo en el calendario INGENIERÍA DE SOFTWARE
  • 13. Ventajas: o Impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del Software. o El usuario de involucra más. o Permite entregar al cliente un producto más rápido en comparación del modelo de cascada. o Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos. INGENIERÍA DE SOFTWARE
  • 14. Desventajas: o Los errores en los requisitos se detectan tarde. o Difícil de evaluar el costo total. o No es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto índice de riesgos. o Requiere de mucha planeación, tanto administrativa como técnica. INGENIERÍA DE SOFTWARE
  • 15. Desarrollo Evolutivo El desarrollo evolutivo busca reemplazar el viejo sistema con uno nuevo que tendría la propiedad de satisfacer los nuevos requerimientos lo más rápido posible. El desarrollo evolutivo asume que los requerimientos están sujetos a cambios continuos y que la estrategia para enfrentar aquello pasa por un reflejo, también continuo de aquellos cambios. Existen dos tipos de desarrollo evolutivo: o Desarrollo Exploratorio. o Prototipos Desechables. INGENIERÍA DE SOFTWARE
  • 16. Especificación Inicial Desarrollo del Producto Re-especificación Versiones del Software Definición del problema y especificación inicial en base a los requerimientos definidos. Definición del software en base a un proceso con énfasis en la rapidez de la liberación. Implantación y uso del software en ambiente de explotación, monitoreo de los nuevos requerimientos Redefinición del problema en base a los nuevos requerimientos. Implementación, uso y evaluación INGENIERÍA DE SOFTWARE
  • 17. Desarrollo en Espiral Los principios básicos son: La atención se centra en la evaluación y reducción del riesgo del proyecto dividiendo el proyecto en segmentos más pequeños y proporcionar más facilidad de cambio durante el proceso de desarrollo, así como ofrecer la oportunidad de evaluar los riesgos y con un peso de la consideración de la continuación del proyecto durante todo el ciclo de vida. INGENIERÍA DE SOFTWARE
  • 18. Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos: 1. Determinar objetivos, alternativas, y desencadenantes de la iteración; 2. Evaluar alternativas; Identificar y resolver los riesgos; 3. Desarrollar y verificar los resultados de la iteración, y 4. Plan de la próxima iteración. Cada ciclo comienza con la identificación de los interesados y sus condiciones de ganancia, y termina con la revisión y examinación. INGENIERÍA DE SOFTWARE
  • 19. En términos generales, el modelo en espiral se representa como sigue: ObjetivosAnálisis de Riesgos Desarrollar y Probar Planificación INGENIERÍA DE SOFTWARE
  • 20. Entendiendo que el desarrollo en espiral es un modelo del ciclo de vida del software, la figura anterior se vería así: INGENIERÍA DE SOFTWARE
  • 21. Ventajas: o Reduce riesgos del proyecto o Incorpora objetivos de calidad o Integra el desarrollo con el mantenimiento INGENIERÍA DE SOFTWARE
  • 22. Desventajas: o Genera mucho tiempo en el desarrollo del sistema o Modelo costoso o Requiere experiencia en la identificación de riesgos INGENIERÍA DE SOFTWARE
  • 23. Inconvenientes: Planificar un proyecto con esta metodología es a menudo imposible, debido a la incertidumbre en el número de iteraciones que serán necesarias. En este contexto la evaluación de riesgos es de la mayor importancia y, para grandes proyectos, dicha evaluación requiere la intervención de profesionales de gran experiencia. INGENIERÍA DE SOFTWARE
  • 24. Pertenece a los modelos de desarrollo evolutivo. Pone énfasis en la etapa de especificación de requerimientos a través de la construcción de prototipos que aproximan al usuario a la idea final del sistema. En palabras más sencillas: "Es un conjunto estandarizado de actividades dedicada al desarrollo de versiones incompletas a desarrollar". En la parte derecha de la diapositiva se listan las etapas. Plan Rápido Diseño Rápido Construcción del prototipo Desarrollo, entrega y retroalimentación Comunicación INGENIERÍA DE SOFTWARE
  • 25. Esquema de la Metodología de Prototipos Usuario Define su Requerimiento Construye Prototipo Sirve Construcción, Implementación No Sí Analista Desarrollo de Prototipos INGENIERÍA DE SOFTWARE
  • 26. Ventajas: o Este modelo es útil cuando el cliente conoce los objetivos generales para el software. o 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. INGENIERÍA DE SOFTWARE
  • 27. Desventajas: o El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final. A causa de la intención de crear un prototipo de forma rápida, se suelen desatender aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido su función. INGENIERÍA DE SOFTWARE
  • 28. Desarrollo Basado en Componentes o La complejidad de los sistemas computacionales actuales nos ha llevado a buscar la reutilización del software existente. o En esencia, un componente es una pieza de código pre elaborado que encapsula alguna funcionalidad expuesta a través de interfaces estándar. o El paradigma de ensamblar componentes y escribir código para hacer que estos componentes funcionen se conoce como Desarrollo de Software Basado en Componentes. INGENIERÍA DE SOFTWARE
  • 29. El uso de este paradigma posee algunas ventajas: Reutilización del software. Simplifica las pruebas. Simplifica el mantenimiento del sistema. Mayor calidad. De la misma manera, el optar por comprar componentes de terceros en lugar de desarrollarlos, posee algunas ventajas: Ciclos de desarrollo más cortos. Mejor ROI. Funcionalidad mejorada. INGENIERÍA DE SOFTWARE
  • 30. OTRAS METODOLOGÍAS A partir de los años noventa surgieron nuevas metodologías, algunos las llaman «Metodologías Modernas». A decir verdad, las ideas que se expondrán resultan ser las más aceptadas y valoradas por los programadores modernos; tal vez sea por la combinación de las ideas tradicionales con las actuales. INGENIERÍA DE SOFTWARE
  • 31. Ganar-Ganar (Win & Win) Este Modelo sugiere la comunicación con el cliente para fijar los requisitos, en que simplemente se pregunta al cliente qué necesita y él proporciona la información para continuar; pero esto es en un contexto ideal que rara vez ocurre. Normalmente cliente y desarrollador entran en una negociación, se negocia coste frente a funcionalidad, rendimiento, calidad, etc. «Es así que la obtención de requisitos requiere una negociación, que tiene éxito cuando ambas partes ganan». INGENIERÍA DE SOFTWARE
  • 32. Proceso Unificado El Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. Inicio Elaboración Transición Construcción Producción FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
  • 33. Ingeniería Web La ingeniería de la Web no es un clon o subconjunto de la ingeniería de software aunque ambas incluyen desarrollo de software y programación, pues a pesar de que la ingeniería de la Web utiliza principios de ingeniería de software, incluye nuevos enfoques, metodologías, herramientas, técnicas, guías y patrones para cubrir los requisitos únicos de las aplicaciones web. ¿Qué es la ingeniería web? Es el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas web de alta calidad. INGENIERÍA DE SOFTWARE
  • 34. De manera general, las etapas con las que cuenta la Ingeniería de Software son las siguientes: Formulación, Planificación, Análisis, Modelización, generación de páginas, el Test, Evaluación del cliente. Formulación.- Identifica objetivos y establece el alcance de la primera entrega. INGENIERÍA DE SOFTWARE
  • 35. Planificación. Genera la estimación del coste general del proyecto, la evaluación de riesgos y el calendario del desarrollo y fechas de entrega. Análisis. Especifica los requerimientos e identifica el contenido. INGENIERÍA DE SOFTWARE
  • 36. Modelización: Se compone de dos secuencias paralelas de tareas. Una consiste en el diseño y producción del contenido que forma parte de la aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz de usuario. Es conveniente resaltar la importancia del diseño de la interfaz. Independientemente del valor del contenido y servicios prestados, una buena interfaz mejora la percepción que el usuario tiene de estos. INGENIERÍA DE SOFTWARE
  • 37. Generación de páginas. Se integra contenido, arquitectura, navegación e interfaz para crear estática o dinámicamente el aspecto más visible de las aplicaciones, las páginas. El Test. Busca errores a todos los niveles: contenido, funcional, navegacional, rendimiento, etc. El hecho de que las aplicaciones residan en la red, y que inter-operen en plataformas muy distintas, hace que el proceso de test sea especialmente difícil. INGENIERÍA DE SOFTWARE
  • 38. Evaluación del cliente. El resultado final es sometido a la evaluación del cliente y aceptación por el mismo. INGENIERÍA DE SOFTWARE
  • 39. Metodologías Ágiles Por lo pronto, surgen metodologías a petición de las problemas actuales, tomando algunas de las ideas de las metodologías tradicionales. INGENIERÍA DE SOFTWARE
  • 40. Como resultado de esta nueva teoría se crea un Manifiesto Ágil cuyas principales ideas son: o Los individuos y las interacciones entre ellos son más importantes que las herramientas y los procesos empleados. o Es más importante crear un producto software que funcione que escribir documentación exhaustiva. o La colaboración con el cliente debe prevalecer sobre la negociación de contratos. o La capacidad de respuesta ante un cambio es más importante que el seguimiento estricto de un plan. INGENIERÍA DE SOFTWARE
  • 41. Entre los principales métodos ágiles tenemos las siguientes: o XP (Extreme Programming). o Scrum. o Iconix. o Cristal Methods. o AUP, entre otros. INGENIERÍA DE SOFTWARE
  • 42. Extreme Programming (XP). Es la más destacada de los procesos agiles de desarrollo de software formulada por Kent Beck. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. INGENIERÍA DE SOFTWARE
  • 44. Ventajas: o Apropiado para entornos volátiles. o Planificación más transparente para nuestros clientes, conocen las fechas de entrega de funcionalidades. Vital para su negocio. o Permitirá definir en cada iteración cuales son los objetivos de la siguiente o Permite tener realimentación de los usuarios muy útil. o La presión está a lo largo de todo el proyecto y no en una entrega final. INGENIERÍA DE SOFTWARE
  • 45. Desventajas o Delimitar el alcance del proyecto con nuestro cliente o Para mitigar esta desventaja se plantea definir un alcance a alto nivel basado en la experiencia. INGENIERÍA DE SOFTWARE
  • 46. Iconix: El proceso ICONIX se define como un proceso de desarrollo de software práctico. Está entre la complejidad de RUP y la simplicidad y pragmatismo de XP, sin eliminar las tareas de análisis y diseño que XP no contempla. Es un proceso simplificado en comparación con otros procesos más tradicionales. ICONIX presenta claramente las actividades de cada fase y exhibe una secuencia de pasos que deben ser seguidos. Además, está adaptado a patrones y ofrece el soporte UML, dirigido por Casos de Uso y es un proceso iterativo e incremental. INGENIERÍA DE SOFTWARE
  • 47. Características de Iconix. o Iterativo e incremental: varias interacciones ocurren entre el modelo del dominio y la identificación de los casos de uso. El modelo estático es incrementalmente refinado por los modelos dinámicos. o Trazabilidad: cada paso está referenciado por algún requisito. Se define la trazabilidad como la capacidad de seguir una relación entre los diferentes artefactos producidos. o Dinámica del UML: la metodología ofrece un uso dinámico del UML como los diagramas del caso de uso, diagramas de secuencia y de colaboración. INGENIERÍA DE SOFTWARE
  • 48. REINGENIERÍA ¿Qué es? Considere cualquier producto tecnológico que le haya servido bien. Usted lo utiliza regularmente, pero se está volviendo obsoleto. Se rompe con frecuencia, su reparación toma más tiempo del que usted quisiera, y ya no representa más la nueva tecnología. ¿Qué hacer? - Si el producto es hardware. - Si el producto es software. INGENIERÍA DE SOFTWARE
  • 49. ¿Quién la hace? En el ámbito de las organizaciones, la reingeniería lo llevan a cabo especialistas en negocios (con frecuencias compañías consultoras). En el ámbito del software la reingeniería la realizan los ingenieros de software. INGENIERÍA DE SOFTWARE
  • 50. ¿Por qué es importante? Se vive en un mundo en cambio constante. Las demandas acerca de las funciones de negocios y la tecnología de la información que las soportan están cambiando a un ritmo que impone una enorme presión competitiva en las organizaciones comerciales. INGENIERÍA DE SOFTWARE
  • 51. ¿Cuáles son los pasos? El proceso de reingeniería de software incluye análisis de inventarios, ingeniería inversa, reestructuración de programas y datos, e ingeniería avanzada. La finalidad de estas actividades es crear versiones de programas existentes que muestren mayor calidad y mejor facilidad de mantenimiento. La reingeniería es una actividad de reconstrucción, y la reingeniería de los sistemas de información se comprende mejor si se considera una actividad análoga: la reconstrucción de una casa en otro estado. INGENIERÍA DE SOFTWARE
  • 52. Análisis de Inventarios Reestructuración de documentos Ingeniería Inversa Reestructuración de código Reestructuración de datos Ingeniería directa La reingeniería de software consta de seis actividades. INGENIERÍA DE SOFTWARE
  • 53. 1. Análisis de Inventarios. Las organizaciones de software deberían tener un inventario de todas sus aplicaciones. El inventario tal vez no sea más que un modelo en una hoja de cálculo que contenga información que proporcione una descripción detallada de las aplicaciones activas. INGENIERÍA DE SOFTWARE
  • 54. 2. Reestructuración de documentos. La documentación débil es la marca de muchos sistemas heredados. 3. Ingeniería Inversa. Ayudar a los ingenieros de software a comprender la estructura de diseño interno de los programas complejos. Herramientas representativas. Imagix 4D, desarrollado por Imagix (www.imagix.com). JdGui es otra herramienta para estos usos. INGENIERÍA DE SOFTWARE
  • 55. 4. Reestructuración de código. El objetivo de las herramientas de reestructuración es transformar el antiguo software de computadoras carente de estructura en lenguajes de programación y estructuras de diseño modernos. Mecánica. En general, el código fuente se ingresa y transforma en un mejor programa estructurado. Herramientas representativas. DMS Software Reengineering Toolkit, desarrollada por Semantic Design. Function Encapsulation Tool, desarrollada en la Wayne State University. INGENIERÍA DE SOFTWARE
  • 56. 5. Reestructuración de datos. Esta actividad a veces se denomina análisis de datos. Antes de comenzar la reestructuración de datos se debe llevar a cabo una actividad de ingeniería inversa denominada análisis del código fuente. Una vez completado el análisis de datos comienza el rediseño de datos. INGENIERÍA DE SOFTWARE
  • 57. 6. Ingeniería directa. También llamada renovación o reclamación, no solo recupera la información de diseño a partir del software existente, también utiliza esta información para alterar o reconstruir el sistema existente con la finalidad de mejorar su calidad global. En la mayoría de los casos el software sometido a reingeniería vuelve a implementar la función del sistema existente y también añade nuevas funciones o mejora el desempeño global. INGENIERÍA DE SOFTWARE