Práctica1deLaboratorioTema1 3 3
Práctica1deLaboratorioTema1 3 3
Práctica1deLaboratorioTema1 3 3
Descripción de la práctica:
El estudiante hará una investigación de las metodologías orientadas a objetos: 1.3.3a Object Modeling
Technique, 1.3.3b Unified Process (UP), 1.3.3c Rational Unified Process (RUP), llenando los
siguientes puntos para cada una de las metodologías:
Principios de la metodología:
Orientación a Objetos: La OMT promueve el uso de objetos como la abstracción principal para
modelar tanto la estructura como el comportamiento del sistema. Esto implica encapsular datos
y comportamientos relacionados dentro de objetos y utilizar conceptos como la herencia y el
polimorfismo para promover la reutilización y la flexibilidad.
Modelado: La metodología enfatiza la importancia del modelado como herramienta para
comprender, diseñar y comunicar la estructura y el comportamiento del sistema. Los modelos
se utilizan para representar diferentes aspectos del sistema en varias etapas del desarrollo.
Descomposición: La OMT sugiere descomponer un sistema complejo en componentes más
pequeños y manejables. Esto facilita el manejo de la complejidad al permitir que los
desarrolladores se concentren en partes individuales del sistema a la vez.
Iteración: Aunque la OMT se presenta como un proceso secuencial, reconoce la importancia de
la iteración. Se espera que los desarrolladores revisen y refinan los modelos a medida que
avanzan en el análisis y diseño, adaptándose a nuevos hallazgos y requisitos.
Integración: La metodología aboga por la integración de diferentes modelos para proporcionar
una vista completa del sistema. Esto incluye la integración de modelos de datos, modelos de
comportamiento y modelos de procesos para asegurar que todas las facetas del sistema estén
adecuadamente representadas y alineadas
Abstracción: La OMT utiliza la abstracción para gestionar la complejidad, permitiendo a los
diseñadores concentrarse en los aspectos más relevantes de un problema a la vez. Esto se logra
identificando y modelando clases y objetos que representan entidades del mundo real o
conceptos relevantes para el sistema.
Reutilización: Uno de los objetivos fundamentales de la OMT es promover la reutilización de
componentes de software. Al modelar el sistema de manera que los objetos y clases sean
reutilizables, se puede mejorar la eficiencia del desarrollo y el mantenimiento del sistema.
Roles en la metodología:
Analista de Sistemas: Responsable de la fase de análisis, identificando los requisitos del
sistema, los objetos y sus interacciones. Este rol requiere una comprensión profunda del
dominio del problema y habilidades para modelar los requisitos de manera abstracta.
Diseñador de Sistemas: Se encarga del diseño del sistema basándose en los requisitos
identificados. Esto incluye la arquitectura del sistema, el diseño de clases y objetos, y la
definición de las interacciones entre objetos. Los diseñadores deben tener habilidades técnicas
sólidas y una buena comprensión de los principios de diseño orientado a objetos.
Desarrollador o Programador: Implementa el sistema basándose en el modelo de diseño,
escribiendo el código en el lenguaje de programación elegido. Los desarrolladores deben tener
habilidades técnicas fuertes en programación y comprender los modelos proporcionados por
los analistas y diseñadores.
Tester o Analista de Calidad: Se encarga de verificar y validar que el sistema implementado
cumpla con los requisitos especificados. Esto incluye la realización de pruebas unitarias, de
integración y de sistema para identificar y corregir errores.
Gestor de Proyecto: Supervisa el progreso del proyecto, asegurando que se cumplan los plazos,
presupuestos y objetivos. El gestor de proyecto coordina las actividades entre los diferentes
roles y comunica el progreso a los stakeholders.
Usuario Final: Aunque no participa directamente en el desarrollo, el feedback de los usuarios
finales es crucial para el análisis de requisitos y las pruebas de aceptación. Su participación
ayuda a asegurar que el sistema cumpla con las necesidades reales de los usuarios.
Descripción de las Fases de la metodología:
1. Fase de Análisis
2. Fase de Diseño
3. Fase de Implementación
Principios de la metodología:
Desarrollo iterativo e incremental: El UP enfatiza la importancia de desarrollar software de
manera iterativa, permitiendo revisiones y mejoras a través de sucesivas versiones
incrementales. Esto ayuda a mitigar riesgos desde temprano y asegura que el producto final
cumpla con las necesidades del usuario.
Uso de casos para capturar requisitos: Los casos de uso son una herramienta central en el UP
para la captura de requisitos funcionales. Ayudan a entender cómo interactuarán los usuarios
con el sistema y sirven como base para el diseño, la implementación y las pruebas.
Enfoque centrado en la arquitectura: El UP sostiene que es crítico establecer una arquitectura
de sistema robusta y flexible desde las etapas tempranas del desarrollo. Esto asegura que el
sistema pueda manejar cambios y requisitos futuros sin necesidad de rediseños fundamentales.
Gestión de riesgos proactiva: La identificación y el manejo de riesgos es una actividad
continua en el UP. Se enfatiza la importancia de reconocer, priorizar y mitigar riesgos desde el
inicio del proyecto para evitar sorpresas desagradables más adelante.
Modelado visual: El UP utiliza el modelado visual, incluyendo diagramas UML (Unified
Modeling Language), como una herramienta clave para la especificación, diseño y
documentación del software. Esto facilita la comunicación entre los miembros del equipo y los
stakeholders, y ayuda a visualizar la estructura y el comportamiento del sistema.
Calidad desde el principio: El UP promueve la integración de actividades de aseguramiento de
la calidad (como revisiones y pruebas) desde las primeras fases del desarrollo. Esto ayuda a
detectar y corregir problemas tempranamente, mejorando la calidad del producto final.
Adaptabilidad: Aunque el UP proporciona una estructura para el desarrollo de software,
también reconoce la necesidad de adaptabilidad. Los proyectos pueden personalizar el proceso
según sus necesidades específicas, seleccionando los elementos del UP que mejor se ajusten a
sus requerimientos.
Roles en la metodología:
Analista de Negocios: Identifica las necesidades del negocio y ayuda a definir el caso de
negocio para el sistema. Trabaja de cerca con los stakeholders para entender sus requisitos y
prioridades.
Arquitecto de Software: Define la arquitectura del sistema, asegurando que sea robusta,
escalable y mantenible. Este rol es crucial para establecer el esqueleto técnico sobre el cual se
construirá el sistema.
Desarrollador: Implementa el sistema basándose en los diseños y arquitectura definidos. Los
desarrolladores escriben el código y realizan pruebas unitarias para asegurar que las
funcionalidades cumplan con los requisitos.
5. Símbolos Visuales: El diagrama utiliza símbolos visuales, como engranajes para el desarrollo,
marcas de verificación para las pruebas y un sombrero de graduación para la formación, para
representar las diferentes actividades y entregables en cada fase.
Principios de la metodología:
Desarrollo Iterativo e Incremental: RUP promueve un enfoque iterativo para el desarrollo de
software, dividiendo el proyecto en ciclos más pequeños que permiten al equipo abordar los
cambios y ajustar el rumbo basándose en la retroalimentación y los aprendizajes obtenidos.
Esto ayuda a mitigar los riesgos tempranamente y mejora la adaptabilidad del proyecto.
Centrado en la Arquitectura: La definición y el refinamiento de una arquitectura robusta desde
las etapas iniciales del proyecto es fundamental en RUP. Esto asegura que el sistema sea
escalable, reutilizable y fácil de mantener, sirviendo como una columna vertebral sobre la cual
se construye el proyecto.
Enfoque en los Requisitos del Usuario: RUP enfatiza la importancia de comprender y
documentar claramente los requisitos del usuario desde el principio. Utilizando técnicas como
los casos de uso, RUP facilita la comunicación entre el equipo de desarrollo y los stakeholders,
asegurando que el producto final cumpla con las expectativas del usuario.
Uso de Modelos Visuales: La modelación visual juega un rol crucial en RUP, proporcionando
una forma de capturar, comunicar y analizar requisitos, diseños y otros aspectos importantes
del sistema. Esto incluye el uso de UML (Lenguaje Unificado de Modelado) para representar
estructuras y comportamientos de manera estándar.
Verificación de la Calidad: RUP integra actividades de verificación y validación en cada
iteración, incluyendo pruebas, revisiones de diseño y evaluaciones de rendimiento. Esto
asegura la identificación y corrección temprana de defectos, mejorando la calidad del producto
final.
Gestión de Cambios: Reconociendo que el cambio es una constante en el desarrollo de
software, RUP incorpora prácticas de gestión de cambios para controlar y gestionar las
modificaciones en los requisitos, el diseño y el código de manera eficiente.
Evaluación Continua de Riesgos: La identificación y el manejo de riesgos es un proceso
continuo en RUP. El enfoque proactivo hacia la gestión de riesgos permite al equipo anticipar
y mitigar problemas potenciales antes de que se conviertan en obstáculos críticos para el
proyecto.
Adaptabilidad: Aunque RUP proporciona un marco estructurado, también es adaptable a las
necesidades específicas del proyecto y de la organización. Esto permite a los equipos ajustar el
proceso, las técnicas y las herramientas según las particularidades del proyecto y los objetivos
del negocio.
Roles en la metodología:
Analista de Negocios: Se encarga de identificar las necesidades del negocio y establecer los
requisitos del sistema desde una perspectiva empresarial. Este rol es crucial para asegurar que
el sistema final cumpla con los objetivos y expectativas del negocio.
Arquitecto del Sistema: Define la arquitectura del sistema, asegurando que sea sólida, escalable
y sostenible. El arquitecto toma decisiones clave sobre la estructura técnica y asegura que el
diseño del sistema soporte los requisitos del negocio.
Desarrollador: Implementa el sistema basándose en el diseño y la arquitectura definidos. Los
desarrolladores escriben el código, integran los componentes del sistema y realizan pruebas
unitarias.
Diseñador: Traduce los requisitos y la arquitectura del sistema en un diseño detallado. Este rol
se enfoca en cómo el sistema será construido, incluyendo la selección de patrones de diseño y
la especificación de los componentes y sus interfaces.
Gestor de Proyecto: Es responsable de la planificación, ejecución y cierre del proyecto. El
gestor de proyecto supervisa el cronograma, el presupuesto, los recursos y los riesgos,
asegurando que el proyecto cumpla con sus objetivos.
Tester: Diseña y ejecuta pruebas para asegurar que el sistema cumpla con los requisitos y
funcione correctamente. Este rol es fundamental para identificar y solucionar problemas antes
de que el sistema sea desplegado.
Gestor de Configuración: Maneja las versiones del software y controla los cambios en el
código y la documentación. Este rol es vital para mantener la integridad del sistema a lo largo
del desarrollo.
Analista de Requisitos: Se centra en recolectar, analizar y especificar los requisitos del sistema.
Este rol asegura que los requisitos sean claros, completos y comprensibles para todos los
miembros del equipo.
Especialista en Interfaz de Usuario: Diseña y evalúa las interfaces de usuario, asegurando que
sean intuitivas, accesibles y estéticamente agradables. Este rol contribuye a una experiencia de
usuario positiva.
Integrador del Sistema: Se encarga de integrar los diferentes componentes del sistema y
asegurar que funcionen juntos como un todo coherente.
Descripción de las Fases de la metodología:
1. Inicio
2. Elaboración
3. Construcción
4. Transición
Conclusiones:
Las metodologías UP (Proceso Unificado), RUP (Proceso Unificado de Rational) y Object Modeling
Technique (OMT) representan enfoques estructurados para el desarrollo de sistemas de software, cada
uno con sus propias características, ventajas y aplicaciones ideales.
UP, RUP y OMT ofrecen marcos valiosos para entender y manejar el desarrollo de sistemas de
software, cada uno con sus propios puntos fuertes y consideraciones para su aplicación efectiva.
Nota: La práctica que hay que llenarla con los datos de los estudiantes, hay que anexar además el
documento llenado en formato Word (.doc/docx), y PDF (convertir a formato PDF la presente
práctica). La idea de la práctica es que el estudiante haga una investigación y llene cada punto en sus
propias palabras, no se permite hacer copiar y pegar (copy and paste), si es el caso hay que poner la
referencias correspondiente a textos e imágenes en donde corresponda.