.
¿Cuál es la diferencia entre Arquitectura de
Software y Diseño de Software?
La arquitectura del software conlleva modularidad, es decir
que divide el software en componentes identificables y tratables por separado,
denominados módulos, que están integrados para satisfacer los requisitos del
programa.
La arquitectura es la estructura jerárquica de los
componentes del programa (módulos), la manera de interactuar de estos
componentes, y la estructura de los datos, usados por estos componentes.
El diseño es el primer paso en la fase de desarrollo de
cualquier producto o sistema de ingeniería.
El diseño del software es un proceso iterativo mediante el cual los requisitos se traducen en un plano para desarrollar el software
1. ¿Cuál es el origen de UML y en que métodos está
basado?
UML es una consolidación de muchas de las
notaciones y conceptos más usados orientados a objetos. Empezó como una
consolidación del trabajo de Grade Booch, James Rumbaugh, e Ivar Jacobson,
creadores de tres de las metodologías orientadas a objetos más populares
UML, en su versión 1.0, fue propuesto como
una respuesta a esta petición en enero de 1997. Hubo otras cinco propuestas
rivales. Durante el transcurso de 5 1997, los seis promotores de las
propuestas, unieron su trabajo y presentaron al OMG un documento revisado de
UML, llamado UML versión 1.1
UML se
construyó sobre la semántica y notación de Booch, OMT, OOSE, y otras
metodologías líderes.
CICLO DE VIDA DEL SOFTWARE
Nombre del ciclo de vida
|
Ventajas
|
Desventajas
|
Modelo
de Ciclo de Vida de Cascada
|
-Etapas
y actividades están bien definidas para facilitar la compresión.
-Estructura
clara
|
-Los
proyectos reales raramente siguen el flujo secuencial que propone el modelo,
siempre hay iteraciones y se crean problemas en la aplicación del diagrama.
-El
cliente debe tener paciencia; hasta llegar a las etapas finales del proyecto,
no estará disponible una versión operativa del programa.
|
Modelo
de Entregas Incrementales
|
- Con un paradigma
incremental se reduce el tiempo de desarrollo inicial, ya que se implementa
la funcionalidad parcial.
- También provee un
impacto ventajoso frente al cliente, que es la entrega temprana de partes
operativas del Software.
- El modelo
proporciona todas las ventajas del modelo en cascada realimentado, reduciendo
sus desventajas sólo al ámbito de cada incremento.
- Permite entregar al
cliente un producto más rápido en comparación del modelo de cascada.
- Resulta más sencillo
acomodar cambios al acotar el tamaño de los incrementos.
- Por su versatilidad
requiere de una planeación cuidadosa tanto a nivel administrativo como
técnico.
|
- No es útil para
productos basados en ROM
-El modelo Incremental
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.
- Requiere de mucha
planeación, tanto administrativa como técnica.
- Requiere de metas
claras para conocer el estado del proyecto.
|
Modelo
de Ciclo de Vida Evolutivo
|
· Usa realimentación del uso de las
versiones anteriores
· Puede ser usado en un ambiente
cambiante
|
-La
primera iteración puede plantear los mismos problemas que en un modelo lineal
secuencial
|
Entregas
incrementales con prototipos
|
-Versión operativa cas
desde el inicio
-Alta integración del
usuario con el proceso de desarrollo
|
-
El
sistema puede crecer desmedidamente
-
Se
confunde el producto final con el prototipo
|
Espiral
|
-El
cliente evalúa el trabajo en cada ciclo
-Se
llega al sistema final muy rápido
|
-Aumento
de costos.
-Es
un modelo complicado de llevar a cabo porque exige una gestión concienzuda,
atenta y unos conocimientos profundos
|