Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SOFTWARE
59.000 millones de dólares de desviación de los costes estimados
81.000 millones de dólares en proyectos software cancelados
Contribución del software a la economía USA en 1996 [Minasi, 2000]
Gran superávit en las exportaciones
MATERIA: INGENIERIA DE SOFTWARE
Se exportó software por un valor de 24.000 millones de dólares, se importó software por valor de 4.000
millones de dólares, se obtuvo una balanza positiva de 20.000 millones de dólares
NOMBRE: LIC. ZARA YUJRA CAMA
Comparativa
Agricultura: Exportaciones 26.000 millones; Importaciones 14.000 millones; Balance: 12.000 millones
Industria Aeroespacial: Exportaciones 11.000 millones; Importaciones 3.000 millones; Balance: 8.000
millones
Química: Exportaciones 26.000 millones; Importaciones 19.000 millones; Balance: 7.000 millones
Vehículos: Exportaciones 21.000 millones; Importaciones 43.000 millones; Balance: -22.000 millones
LA PAZ - BOLIVIA Bienes manufacturados: Exportaciones 200.000 millones; Importaciones 265.000 millones; Balance: -
65.000 millones
Industria del software en USA en el año 2000
Ventas: 180 billones de dólares
Trabajadores: 697.000 ingenieros de software –585.000 programadores
El gobierno USA estima que las empresas han gastado cerca de 3,3 trillones de dólares en tecnologías de la
información en la última década
1
25/08/2015
cada actividad tiene sus criterios de entrada y salida, que permiten conocer
cuando comienza y termina dicha actividad
existen principios orientadores que explican las metas de cada actividad
Requisitos
del usuario Sistema software
Proceso de desarrollo
de Software
Comunicación
En esta fase se analizan las necesidades de los usuarios finales del software para
inicio del proyecto determinar qué objetivos debe cubrir
recabar los Es importante señalar que en esta etapa se debe consensuar todo lo que se requiere del
En el desarrollo en cascada, también llamado modelo en cascada (denominado así por la sistema y será aquello lo que seguirá en las siguientes etapas, no pudiéndose requerir
requerimientos nuevos resultados a mitad del proceso de elaboración del software de una manera.
posición de las fases en el desarrollo de esta, que parecen caer en cascada “por gravedad”
hacia las siguientes fases), es el enfoque metodológico que ordena rigurosamente las
etapas del procesos para desarrollo de software, de tal forma que el inicio de cada etapa
debe esperar a la finalización de la etapa anterior. Al final de cada etapa, el modelo está Planeación Realiza un estudio de factibilidad del software así como contemplar los posibles
diseñado para llevar a cabo una revisión final, que se encarga de determinar si el proyecto estimación costos que pueden surgir mediante su implementación.
está listo para avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la programación
base de todos los demás modelos de ciclo de vida. seguimiento
2
25/08/2015
FASES
Especificación de requerimientos: Se
realizan entrevistas con el usuario
identificando los
Análisis
requerimientos y necesidades del
Modela los requerimientos del usuario.
Los métodos de diseño del software se obtienen del estudio de cada uno de los tres usuario.
VENTAJAS
Adecuado para sistemas pequeños y de complejidad baja. El modelo incremental combina elementos de los
flujos de proceso lineal y paralelo, el modelo
incremental aplica secuencias lineales en forma
DESVENTAJAS escalonada a medida que avanza el calendario de
actividades. Cada secuencia lineal produce
Si se comete un error en alguna fase repercute en la fase “incrementos” de software susceptibles de
subsecuente, pero no se descubre sino hasta que se tiene el entregarse
sistema.
El sistema solo se ve funcionando hasta el final por lo que el usuario CARACTERISTICAS
se desespera por no ver resultados.
Es útil en particular cuando no se dispone de personal para la implementación
Las personas responsables de las fases
completa del proyecto en el plazo establecido por el negocio.
subsecuentes no pueden empezar hasta que terminen las personas
Se evitan proyectos largos y se entregas avances del proyecto a los usuarios con cierta
de la fase antecedente
frecuencia
El usuario se involucra más
Difícil de evaluar costo total
Difícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar
como un todo.
Requiere gestores experimentados.
PASOS:
Definición general de
requerimientos identificación y priorización de funciones y servicios
definición de varios requerimientos que proporcionan
Asignación de requerimientos
parte de la funcionalidad, según la prioridad (los más
a incrementos importantes se entregan antes)
definición detallada de requerimientos del incremento y
Diseño de la arquitectura del
desarrollo con el proceso más adecuado
sistema
congelación de requerimientos de incrementos
desarrollados
Desarrollo de incrementos puesta en explotación de los incrementos completados y
del sistema entregados
VENTAJAS:
Validar
incrementos puesta en marcha temprana
los incrementos iniciales permiten refinar requerimientos
Integrar de incrementos posteriores
incrementos
satisfacción del cliente (bajo riesgo de fallo)
Validar sistema final muy probado y con pocos fallos
sistema
PROBLEMAS:
En cada incremento se crea una versión del sistema. La meta de esta etapa es crear un producto con el que el usuario
sistema incompleto
incrementos relativamente pequeños pueda interactuar, y por ende retroalimentar el proceso. Debe ofrecer una muestra de los aspectos claves del problema
sistema completo adaptación de requerimientos a incrementos del tamaño y proveer una solución lo suficientemente simple para ser comprendida e implementada fácilmente. Para guiar el
apropiado proceso de iteración se puede utilizar las etapas de modelo en cascada
Sistema final
identificación de recursos comunes a todos los
incrementos
3
25/08/2015
VENTAJAS
Cada etapa consiste de requerimientos, diseño, codificaciones prueba y entrega. El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez
La solución se va mejorando de forma progresiva a través de las múltiples iteraciones por Barry Boehm en 1986, utilizado generalmente en la Ingeniería de software. Las
Incrementa el entendimiento del problema y de la solución por medio de los actividades de este modelo se conforman en una espiral, en la que cada bucle
refinamientos sucesivos o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna
Reduce el riesgo de fallas en el proyecto global prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por
Prioriza los requisitos de usuario y los requisitos de más alta prioridad se incluyen en el bucle interior.
los incrementos más tempranos
Este modelo fue propuesto por Boehm en 1998. Básicamente consiste en una serie de ciclos
El usuario se involucra más
que se repiten en forma de espiral, comenzando desde el centro.
Se puede financiar el proyecto por partes
No necesita mucho personal
En cada vuelta o iteración hay que tener en cuenta:
Los Objetivos: qué necesidad debe cubrir el producto.
DESVENTAJAS Alternativas: las diferentes formas de conseguir los objetivos de forma exitosa, desde
diferentes puntos de vista como pueden ser:
Requiere de mucha planeación administrativa y técnica Características: experiencia del personal, requisitos a cumplir, etc.
Requiere de metas claras para conocer el estado del proyecto Desarrollar y Verificar: Programar y probar el software.
Difícil de evaluar el costo total Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades:
Los errores en los requisitos se detectan tarde Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La espiral
Las primeras versiones son incompletas pero proporcionan al usuario la tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular:
funcionalidad que precisa y una plataforma para su evaluación Angular: Indica el avance del proyecto del software dentro de un ciclo.
Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa
más tiempo desarrollando.
DETERMINAR
A TRAVÉS La ingeniería puede desarrollarse a través del ciclo de vida clásico o el de construcción
DE LAS ITERACIONES
primer ciclo: factibilidad EVALUAR ALTERNATIVAS,
OBJETIVOS,
ALTERNATIVAS Y IDENTIFICAR Y de prototipos.
RESTRICCIONES RESOLVER RIESGOS
segundo ciclo: requerimientos
tercer ciclo: diseño
Análisis de riesgos
FASES
... Análisis de riesgos Comunicación con el cliente: esta es una tarea Requerida para
CADA CICLO SE DIVIDE EN 4 establecer comunicación entre el desarrollador y el cliente.
SECTORES Análisis de riesgos
Prototipo Planificación: esta tarea es necesaria aplicarla para Poder definir los
operativo
definición de objetivos, An.
Riesgo.
Prototipo 3 recursos, el tiempo y otras informaciones relacionadas con el proyecto,
restricciones del producto y REVISIÓN
Proto-
-
tipo 1
Prototipo 2
es decir, son todos los requerimientos.
proceso, plan de
administración,... . Plan de
requerimientos
Simulaciones, modelos, Análisis de riesgos: esta es una de las tareas principales por lo que se
Concepto de pruebas comparativas
Plan de ciclo
de vida
operación
Requerimientos
aplica el modelo en espiral, es requerida para evaluar los riesgos
evaluación y reducción de de software
riesgos (por ejemplo, mejor Diseño del Diseño técnicos y otras informaciones relacionadas con el proyecto.
producto detallado
definición de requerimientos Plan de
desarrollo
Validación de
requerimientos
Ingeniería: esta es una tarea necesaria ya que se requiere construir una
mediante prototipos) Codificar o más representaciones de la aplicación.
Plan de integración
Diseño de validación
desarrollo y validación: y prueba
y verificación Prueba de
unidad
Construcción y adaptación: esta tarea es requerida
elección de un modelo para el PLANIFICAR SIGUIENTE
desarrollo
FASE
Prueba de
en el modelo espiral porque se necesita construir, probar, instalar y
integración
Prueba de
aceptación
proporcionar soporte al usuario.
planificación: el proyecto se -
Explotación
revisa y se decide si se DESARROLLAR, VERIFICAR
PRODUCTO DE SIGUIENTE NIVEL
continúa con el siguiente
ciclo. si es así, se planifica la
siguiente fase
Evaluación el cliente: esta también es una tarea principal, necesaria para adquirir la reacción
del cliente según la evaluación de las representaciones del software creadas durante la etapa
de ingeniería y la de implementación creada durante la etapa de instalación
Es un modelo del comportamiento del sistema que puede ser usado para entenderlo
VENTAJAS completamente o ciertos aspectos de él y así clarificar los requerimientos. Un prototipo es
una representación de un sistema, aunque no es un sistema completo, posee las
No requiere una definición completa de los requerimientos del software a desarrollar características del sistema final o parte de ellas”
para comenzar su funcionalidad.
En la terminación de un producto desde el final de la primera iteración es muy factible
aprobar los requisitos. CARACTERISTICAS
Sufrir retrasos corre un riesgo menor, por que se comprueban los conflictos
presentados tempranamente y existe la forma de poder corregirlos a tiempo
Funcionalidad limitada.
DESVENTAJAS Poca fiabilidad.
Existe complicación cuando se evalúa los riesgos. Características de funcionalidad pobres.
Se requiere la participación continua por parte del cliente. Alto grado de participación del usuario el cual evalúa los prototipos, propone mejoras y
Se pierde tiempo al volver producir inicialmente una especificación completa de detalla requisitos.
los requerimientos cuando se modifica o mejora el software Alto grado de participación del analista de sistemas, ya que en muchos casos los
usuarios no pueden indicar los requisitos sin tener experiencia con el sistema.
El prototipo da mayor conocimiento al usuario y analistas ayudando a que el usuario
aprenda a utilizar el sistema.
4
25/08/2015
FASES
Investigación preliminar. Las metas principales de esta fase
VENTAJAS
son: determinar el problema y su ámbito, la importancia y sus Reducción de la incertidumbre y del riesgo
efectos potenciales sobre la organización por una parte y, por
otro lado, identificar una idea general de la solución para Reducción de tiempo y de costos, incrementos en la aceptación del nuevo sistema,
realizar un estudio de factibilidad que determine la Mejoras en la administración de proyectos
factibilidad de una solución software. Mejoras en la comunicación entre desarrolladores y clientes, etc.
Definición de los requerimientos del sistema. El objetivo de
esta etapa es registrar todos los requerimientos y deseos que
los usuarios tienen en relación al proyecto bajo desarrollo.
Esta etapa es la más importante de todo el ciclo de vida, es
aquí donde el desarrollador determina los requisitos DESVENTAJAS
mediante la construcción, demostración y
retroalimentaciones del prototipo. Por lo mismo esta etapa
será revisada con más detalle luego de esta descripción. La dependencia de las herramientas de software para el éxito ya que la necesidad de
Diseño técnico. Durante la construcción del prototipo, el disminución de incertidumbre depende de las iteraciones del prototipo, entre más iteraciones
desarrollador ha obviado el diseño detallado. El sistema debe exista mejor y esto último se logra mediante el uso de mejores herramientas lo que hace a
ser entonces rediseñado y documentado según los este proceso dependiente de las mismas.
estándares de la organización y para ayudar a las
mantenciones futuras. Esta fase de diseño técnico tiene dos También, no es posible aplicar la metodología a todos los proyectos de software y, finalmente,
etapas: por un lado, la producción de una documentación de la mala interpretación que pueden hacer los usuarios del prototipo, al cual pueden confundir
diseño que especifica y describe la estructura del software, el con el sistema terminado.
control de flujo, las interfaces de usuario y las funciones y,
como segunda etapa, la producción de todo lo requerido No se puede desconocer que la fase de definición de requerimientos se ha perfeccionado en
para promover cualquier mantención futura del software. dos aspectos importantes: primero se ha aproximado las visiones del usuario y el
Programación y prueba. Es donde los cambios identificados en el diseño técnico son implementados y desarrollador, lo cual representa el beneficio de establecer una base común de comunicación;
probados para asegurar la corrección y completitud de los mismos con respecto a los requerimientos. también, el hacer explícita la posibilidad de iterar sobre estos dominios permitiría que la
Operación y mantención. La instalación del sistema en ambiente de explotación, en este caso, resulta de menor complejidad, ya que se convergencia de los mismos sea una posibilidad cierta.
supone que los usuarios han trabajado con el sistema al hacer las pruebas de prototipos. Además, la mantención también debería ser una
fase menos importante, ya que se supone que el refinamiento del prototipo permitiría una mejor claridad en los requerimientos, por lo cual
las mantenciones perfectivas se reducirían. Si eventualmente se requiriese una mantención entonces el proceso de prototipado es repetido y
se definirá un nuevo conjunto de requerimientos.
FASES
Fue creada para el desarrollo de sistemas de Información Estudio de la viabilidad del sistema (EVS)
Tiene un enfoque orientado al proceso Análisis del sistema de información (ASI)
Cubre el proceso de desarrollo y mantenimiento de información Desarrollo de Diseño del Sistema de información (DSI)
Construcción del sistema de información (CSI)
Facilita el entendimiento de los distintos participantes en la producción del software a lo Sistemas de Implantación y aceptación del sistema (IAS)
largo del ciclo de vida del proyecto. Información
Ayuda a la planificación de sistemas de información de la organización
Es posible tramitar proyectos OO y proyectos estructurados
Cumple objetivos de calidad, coste y plazos Análisis de la petición
Implementación de la modificación
Mantenimiento de Seguimiento y evaluación de los cambio
Sistemas de Registro de la petición
Preparación de la implementación de la
Información modificación
VENTAJAS
Involucra a toda la estructura organizativa, desde la alta dirección que determina las Es una metodología cuyo fin es entregar un producto de software. Se estructura todos los
estrategias que marcaran la planificación de un sistema de información hasta los procesos y se mide la eficiencia de la organización.
programadores que escribirán el código que soporte dicho sistema, analistas, jefes de Es un proceso de desarrollo de software el cual utiliza el lenguaje unificado de modelado UML,
proyecto, consultores, etc. constituye la metodología estándar más utilizada para el análisis, implementación y
A través de su implementación las empresas pueden obtener una visión clara de los documentación de sistemas orientados a objetos.
beneficios técnicos, organizativos y económicos El RUP es un conjunto de metodologías adaptables al contexto y necesidades de cada
Optimiza la productividad de los departamentos de sistemas y tecnologías de la organización. Describe como aplicar enfoques para el desarrollo del software, llevando a cabo
información y las comunicaciones unos pasos para su realización. Se centra en la producción de modelos de sistema.
Facilidad de uso desde la perspectiva del programador
CARACTERISTICAS
DESVENTAJAS
Es un sistema demasiado pesado tanto en su implementación, como en sus procesos de
Forma disciplinada de asignar tareas y responsabilidades (quién hace qué,
mantenimiento.
cuándo y cómo)
Se debe contar con un buen conjunto de métricas y parámetros de calidad, lo cual para
Pretende implementar las mejores prácticas en Ingeniería de Software
algunas organizaciones puede ser difícil definir
Desarrollo iterativo
No existe un estándar generalmente aceptado
Administración de requisitos
No proporcionan información por sí solas y a veces en vez de claridad aportan
Uso de arquitectura basada en componentes
confusión
Control de cambios
Modelado visual del software
Verificación de la calidad del software
5
25/08/2015
FASES
VENTAJAS
LA VIDA DEL PROCESO UNIFICADO Esta es una metodología completa en sí misma, con un énfasis en la documentación
precisa
El proceso unificado se repite a lo largo de una serie de ciclos Es capaz de resolver de forma proactiva los riesgos del proyecto asociado a las nuevas
Cada ciclo concluye con una versión del producto y consta de cuatro fases
necesidades de los clientes que requieren una cuidadosa gestión de solicitud de cambio
INICIO: descripción del producto final a partir de una idea inicial y análisis de negocio
para el producto Se requiere menos tiempo para la integración en el proceso de integración va a lo largo
principales funciones del sistema y usuarios más importantes (modelo de casos de del ciclo de vida de desarrollo.
uso) El tiempo de desarrollo menor debido a la reutilización de
posible arquitectura del sistema
plan del proyecto, coste, identificación y priorización de riesgos
ELABORACIÓN:
DESVENTAJAS
se especifican en detalle los principales casos de uso
se diseña la arquitectura del sistema: vistas arquitectónicas del modelo de casos
de uso, del modelo de análisis, del modelo de diseño, del modelo de
implementación y modelo de despliegue
al final se pueden planificar las actividades y estimar recursos necesarios para Los miembros del equipo deben ser expertos en su campo para desarrollar un software
finalizar el proyecto bajo esta Metodología.
CONSTRUCCIÓN: El proceso de desarrollo es demasiado complejo y desorganizado
se crea el producto añadiendo el software a la arquitectura
En la reducción de los proyectos de vanguardia que utilizan las nuevas tecnologías, la
al final se dispone de todos los casos de uso acordados para el desarrollo aunque
puede incorporar defectos reutilización de componentes no será posible.
TRANSICIÓN: La integración en el proceso de desarrollo de software, en teoría
periodo durante el cual el producto se convierte en versión beta, en la que usuarios parece una buena cosa. Pero en particular los grandes proyectos de
prueban el producto e informan de defectos y deficiencias
se corrigen problemas e incorporan sugerencias
desarrollo con flujos múltiples que sólo servirá para aumentar la
incluye actividades como la formación del usuario, proporcionar una línea de ayuda confusión y causar más problemas durante las etapas de la prueba
y asistencia,...
Cada fase se divide a su vez en iteraciones
Modelado de proceso: los objetos de datos definidos en la fase de modelado de datos quedan transformados
Equipos compuestos por alrededor de seis personas, incluyendo desarrolladores y usuarios de
para lograr el flujo de información necesario para implementar una función de gestión. Las descripciones del
tiempo completo del sistema así como aquellas personas involucradas con los requisitos. proceso se crean para añadir, modificar, suprimir, o recuperar un objeto de datos. Es la comunicación entre los
Los desarrolladores de RAD deben ser "renacentistas": analistas, diseñadores y programadores en objetos.
uno.
Generación de aplicaciones: El desarrollo rápido de aplicaciones asume la utilización de técnicas de cuarta
Se realiza Reuniones JAD (Joint Application Development) generación. En lugar de crear software con lenguajes de programación de tercera generación, el proceso DRA
Los desarrolladores construyen y depuran el prototipo basado en los requisitos actuales. trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear
Los clientes prueban el prototipo, depuran los requisitos. componentes reutilizables (cuando sea necesario). En todos los casos se utilizan herramientas automáticas para
Los clientes y desarrolladores se reunen para revisar juntos el producto, refinar los requisitos y facilitar la construcción del software.
generar solicitudes de cambios.
Pruebas de entrega: Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos
Los cambios para los que no hay tiempo no se realizan. Los requisitos secundarios se eliminan si es
de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben
necesario para cumplir el calendario.
probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo.
6
25/08/2015
VENTAJAS
Comprar puede ahorrar dinero en comparación con construir.
El desarrollo de software basado en componentes (en lo adelante
Los entregables pueden ser fácilmente trasladados a otra DSBC) constituye una aproximación del desarrollo de software que
plataforma. describe, construye y emplea técnicas software para elaborar
El desarrollo se realiza a un nivel de abstracción mayor. sistemas abiertos y distribuidos, mediante el ensamblaje de partes
Visibilidad temprana. software reutilizables.
Mayor flexibilidad. Los componentes software surgen, en cierta medida de la necesidad de desarrollar sistemas mediante el
Menor codificación manual. ensamblaje de módulos independientes ya existentes, se puede afirmar que un componente, en esencia, es
Mayor involucramiento de los usuarios. una unidad reutilizable que puede interoperar con otros módulos de software por medio de sus interfaces, las
Posiblemente menos fallas. cuales define desde donde se puede tener acceso a los servicios que este ofrece a los demás componentes.
Posiblemente menor costo.
Un componente puede presentarse en forma de código fuente o código objeto; puede estar escrito en
Ciclos de desarrollo más pequeños.
lenguaje funcional, procedural u orientado a objetos y puede ser tan simple como un botón GUI o tan
Interfaz gráfica estándar. complejo como un subsistema
DESVENTAJAS CARACTERISTICAS
Comprar puede ser más caro que construir. Es utilizado para reducir los costos, tiempo y esfuerzos de desarrollo del software, y de esta manera
Costo de herramientas integradas y equipo necesario. incrementar el nivel de productividad de los grupos desarrolladores y minimizar los riesgos; a su vez ayuda a
Progreso más difícil de medir. optimizar la fiabilidad, flexibilidad y la reutilización de la aplicación final.
Menos eficiente. La modularidad, la reusabilidad y componibilidad son características muy relevantes de la tecnología de
programación basada en componentes, en las cuales coincide con la tecnología orientada a objetos de la
Menor precisión científica.
que puede considerarse una evolución. No obstante en esta tecnología también se requiere robustez debido
Riesgo de revertirse a las prácticas sin control de antaño. a que los componentes deben operar en entornos muchos más heterogéneos.
Más fallas (por síndrome de “codificar a lo bestia”). El DSBC, se corresponde al paradigma programación de sistemas abiertos, los cuales son extensibles y
Prototipos pueden no escalar, un problema mayúsculo. tienen una interacción con componentes heterogéneos que se integran o abandonan el sistema de
Funciones reducidas (por “timeboxing”). manera dinámica, o sea, que los componentes pueden ser substituidos por otros componentes,
Dependencia en componentes de terceros: funcionalidad de más o de menos, problemas legales. independientemente de su arquitectura y desarrollo.
FASES VENTAJAS
El modelo de desarrollo basado en componentes incorpora muchas de las características del modelo Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada uno de los
espiral. Es de naturaleza evolutiva y demanda un enfoque iterativo para la creación de software. Sin componentes antes de probar el conjunto completo de componentes ensamblados.
embargo, el modelo de desarrollo basado en componentes construye aplicaciones a partir de Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento entre sus
fragmentos de software prefabricados. Sin importar la tecnología usada para crear los componentes, el desarrollador puede actualizar y/o adicionar componentes según sea
componentes, el modelo de desarrollo basado en componentes incorpora las etapas siguientes: requerido, sin afectar otras partes del sistema.
Mayor calidad. Dado que un componente puede ser construido y luego optimizado
Se investigan y evalúan, para el tipo de aplicación de que se trate, continuamente por un experto u organización, la calidad de una aplicación basada en
productos disponibles basados en componentes. componentes mejorará con el paso del tiempo
DESVENTAJAS
Se consideran los aspectos de integración de los Falta de disponibilidad de componentes: La principal dificultad que encuentran las empresas
componentes. que tratan de implantar metodologías basadas en componentes, es la dificultad de encontrar
suministradores de componentes con el estándar industrial requerido y de su dominio de
aplicación específico.
Se diseña una arquitectura del software para que Falta de estándares estables: Un requisito indispensable para conseguir la confianza de los
reciba los componentes. diseñadores de software en la tecnología de componentes y consolidar así el mercado
subyacente, es que el estándar en el que se basa la tecnología permanezca estable a lo largo
del tiempo.
Se integran los componentes en la arquitectura Falta de componentes certificados y organizaciones con autoridad de certificación: La adopción
de una nueva tecnología se lleva a cabo en dos fases: primero se trabaja en demostrar su
viabilidad, e inmediatamente después, se trabaja para garantizar la calidad de los productos.
Se efectúan pruebas exhaustivas para asegurar la Falta de métodos y procesos de ingeniería para desarrollar sistemas con calidad : Actualmente
funcionalidad apropiada. está aceptado que el desarrollo de aplicaciones utilizando tecnologías de componentes
requiere un nuevo proceso de ingeniería, con nuevas fases y nuevos agentes
7
25/08/2015
VENTAJAS
Programación organizada.
Menor taza de errores. Evo, creado por Tom Gilb, es el método iterativo ágil más antiguo. Se lo llama
Satisfacción del programado también Evolutionary Delivery, Evolutionary Management, Requirements Driven
Presto a cambios Project Management y Competitive Engineering. Fue elaborado inicialmente en
Europa.
DESVENTAJAS CARACTERISTICAS
Es factible solo en proyectos a corto plazo. Metas, Valores y Costos – Cuánto y cuántos recursos. Las Metas y Valores de los
La falta de documentación que no se hace, ya que todos saben del proyecto, no Soluciones Banco de ideas sobre la forma de alcanzar Metas y Valores dentro del
permite recoger la experiencia para próximos proyectos rango de los Costos. Estimación de Impacto – Mapear las Soluciones a Metas y
Costos para averiguar si se tienen ideas adecuadas para lograr las Metas dentro
de los Costos.
Plan Evolutivo – Inicialmente una idea general de la secuencia a desarrollar y
evolucionar hacia las Metas. Los detalles necesarios evolucionan junto con el
resto del plan a medida que se desarrolla el producto/servicio.
Funciones – Describen qué hace el sistema. Son extremadamente secundarias,
más de lo que se piensa, y deben mantenerse al mínimo.
VENTAJAS DESVENTAJAS
Mejora la productividad
Acelera la adopción de Para una mejora en el proceso de desarrollo de
técnicas moderna software que sea significativa se requiere un ataque
Mejora la calidad de balanceado a través de varias dimensiones
software interrelacionadas.