Etapa del proceso de ingeniería de software en que se desarolla un sistema de software ejecutable
Los sistemas orientados a objetos son más fáciles de
cambiar que aquellos que usan enfoques funcionales
Actividades de proceso
1. Contexto e interacciones del sistema.
Contexto: modelo estructural, muestra los otros
sistemas del entorno del sistema a desarrollar
Se representa mediante asociaciones
Interacción: modelo dinámico, indica la forma en que el
sistema interactúa con el entorno conforme lo utiliza
Se representa abstracto y sin detalles
2. Diseño Arquitectónico
Identifica los principales componentes que constituyen el sistema, sus
interacciones. Luego, los organiza como un modelo en capas o
cliente-servidor
3. Identificación de clase de objeto
4. Modelos de diseño
Muestran los objetos o clases de objetos en un sistema, así como las
asociaciones y relaciones entre tales entidades
Modelos de subsistema
Exponen los agrupamientos lógicos de objetos en
subsistemas coherentes
Modelos de secuencia
Ilustran la secuencia de interacciones de objetos,
representado con un diagrama de colaboración
Modelos de máquina de estado
Muestran cómo los objetos individuales cambian su
estado en respuesta a eventos.
5. Especificación de interfaz
Especifica el detalle de la interfaz hacia un
objeto o un grupo de objetos
Debe contener operaciones para acceder a los
datos y actualizarlos
El diseño y la implementación del software son actividades entrelazadas.
El nivel de detalle depende del tipo de sistema a desarrollar y de sis se usa un enfoque de plan o ágil
Patrones de diseño.
Cuando se desarrolla software, siempre debe considerarse la
posibilidad de reutilizar el existente, ya sea como
componente, servicios o sistemas completos
Administración de la configuración.
Proceso de gestionar los cambios a un sistema de software en evolución.
Esencial cuando un equipo de personas coopera para desarrollar software
La mayoría del desarrollo de software es desarrollo huésped-objetivo.
Se usa un IDE para el huésped, que se transfiere a una máquina objetivo para su ejecución
El código abierto es para que más personas puedan proponer mejoras y cambios