UNAD México
Universidad Abierta y a Distancia de México
Ingeniería en Desarrollo de Software Análisis y Diseño Orientado a Objetos Unidad 3. Metodologías de diseño para la generación de sistemas orientados a objetos
Actividad 2: Importancia de las metodologías OMT y OOSE en el diseño de sistemas orientados a objetos
Alumno: Matricula: E-mail: Grupo: Docente:
Armando Gómez Roldán ES1410901555
[email protected] DDOO-1502S-B1-006 Dorian Ruíz Alonso
1.-Investiga y redacta dos casos de programas orientado a objetos uno relacionado con la metodología OMT y otro relacionado con la metodología OOSE. Metodología OOSE (Objet Oriented software Engineering) Caso de Estudio BIBLIOTECA: Se tiene la necesidad de implementar un software que permita administrar el registro, préstamo etc. de libros en una biblioteca. Caso de estudio BIBLIOTECA
Procesos Técnicos
Circulación
Biblioteca
Dirección
Usuario
Metodología OMT (Object Modeling Technique) Contexto: Actualmente la Empresa Conserfast carece de un Sistema automatizado canalizado a proporcionar información y control de las entregas realizadas a sus clientes, tales como: consultas de entregas, Courier, asignación de documentos o paquetes a los Courier, información acerca de los clientes, facturación, ventas realizadas, reportes, por tanto la información no está correctamente administrada; como consecuencia existe pérdida de información o mal manejo ya que la información se encuentra registrada en libros, cuadernos en forma manual o parte de ella en archivos Excel; esto conduce a errores en las entregas y mayor tiempo requerido para el servicio, por lo que muchos de los clientes, en algunos casos, prefieren desistir del servicio que presta esta empresa. Objetivo: Diseñar e Implementar el Sistema de Administración y control de envíos o entregas de paquetes y documentos para la empresa Conserfast
2.-Identifica los elementos básicos de sus modelos METODOLOGÍA OOSE: Utiliza cinco técnicas, nombradas modelos, para representar un sistema: Modelo de requerimientos: Es utilizado para establecer los límites del sistema, y se destacan por ser funcionales y útiles. Modelo de análisis: Se utiliza para desarrollar la estructura del sistema, donde existen tres tipos de objetos: de interface, de entidad y de control. Modelo de diseño: Es el subsecuente del modelo de análisis para el diseño y se adapta para establecerlo dentro de un ambiente de implementación.
Modelo de implementación: se basa en el código fuente de los objetos especificados en el modelo de diseño. Modelo de prueba: Se realiza para establecer las pruebas al modelo de implementación. La principal idea de los modelos de OOSE es capturar el concepto inicial de todos los requerimientos funcionales y usar sus perspectivas. Es por eso que la relación entre ellos es importante. Para hacer posible el mantenimiento del sistema es también necesario que los modelos sean tangibles. OOSE proporciona un soporte para un diseño creativo de programas. La idea se plantea sobre el problema del diseño y construcción de software; contempla las siguientes fases: Herramientas: son todos los aspectos a utilizar para el desarrollo de las actividades, métodos y procesos. Procesos: permiten escalar los métodos, de tal manera que puedan ser aplicados a proyectos de forma interactiva y en partes. Métodos: se establecen de forma explícita considerando los procedimientos que deben seguirse para aplicar la arquitectura al proyecto. Arquitectura: establecer una buena estructura del sistema será de utilidad para comprenderlo fácilmente, si se desea cambiar y realizar pruebas y mantenimiento.
METODOLOGÍA OMT: En esta metodología se desarrolla un modelo que representa lo que va hacer el sistema, con la finalidad de comprenderlo antes de desarrollarlo, esta técnica toma en cuenta tres líneas para su utilización, tales como: Modelo de objetos: El modelado de objetos por lo general es representado por un diagrama de clases. Modelo dinámico: Es representado por los aspectos temporales de comportamiento del sistema, mediante la secuencia de operaciones en el tiempo. Modelo funcional: Es representado por los aspectos que se transforman de acuerdo a la función del sistema; este modelo comúnmente es representado mediante un diagrama de flujo. Los pasos del proceso de desarrollo orientado a objetos son los siguientes: Conceptualización: este proceso define todos los requerimientos para la determinación que deberá tener el sistema, inicia identificando las necesidades desde el punto de vista de los usuarios. La información por lo general es extraída de los casos de uso y del dominio del problema. Análisis: Consiste en determinar el modelo para comprender el problema en el dominio de la aplicación. Diseño del sistema: Este requerimiento determina la estructura del sistema en términos de subsistemas. Diseño de objetos: consiste en dimensionar, afinar y optimizar el modelo de análisis, agregando conceptos de programación.
Código: este requerimiento lleva a la implementación las clases de objetos representadas en un lenguaje de programación. Pruebas: las pruebas a realizar son útiles para validar el comportamiento de las clases y objetos que se encuentran descritos en los escenarios. Dentro del modelado del sistema, el modelo funcional especifica lo que sucede, el modelo dinámico cuándo sucede, y el modelo de objetos específica a qué le sucede. Se tienen considerados ocho pasos para construir un modelo de objetos I. II. III. IV. V. VI. VII. VIII.
Identificación de objetos y/o clases. Crear un diccionario de datos. Identificación de las asociaciones y agregaciones entre los objetos. Identificación de atributos y enlaces. Organización y simplificación de las clases empleando herencia. Verificación de las vías de acceso necesarias para llevar a cabo las probables consultas. Realizar las interacciones necesarias para el refinamiento del modelo. Agrupar las clases en módulos.
Mediante el modelo funcional: Se pueden visualizar resultados que se obtienen de un cálculo de valores; se especifican solamente entradas y salidas de los valores, mas no como son calculados éstos. El modelo funcional está formado básicamente de diagramas de flujo de datos. Los diagramas de flujo están compuestos de: Procesos: Son ejemplificados por medio de una elipse, los procesos tienen datos como entradas las cuales serán modificados. Flujos de datos: Un flujo de datos interconecta la salida de los procesos a la entrada de otro, el cual es representado en el diagrama por medio de una flecha, la cual por lo general lleva el nombre o el tipo de dato. Actores: El actor está definido por un papel de usuario que puede jugar intercambiando la información con el sistema. Almacenes: Constan de múltiples diagramas de flujo de datos.
3. Ejemplo de cada diagrama asociado a la metodología OMT y OOSE donde deberán indicar sus características principales Metodología OOSE OBJETO DE CONTROL
OBJETO DE ENTIDAD
Consiste en operar diferentes entidades, realiza proceso y retorna resultado a un objeto
• Modelan información perdurable • Modelo que captura datos
• Transporta la acción del actor a los eventos del sistema
• Por lo general actúan como controladores o coordinadores del proceso que se realice en los casos de uso
• Cada actor puede tener su conjunto de interfaces
OBJETO DE INTERFAZ
Comportamiento
Representar a las entidades que gestionan las transacciones entre el sistema y los actores en el mundo exterior.
Ambiente de Implementación
Actor
• Describe la comunicación bidireccional entre el sistema y sus usuarios, estos pueden ser los sistemas humanos u otros
Elemento del caso de uso
Presentación
Información
Técnico
Presentación
Modelo de Análisis
Casos de uso
Comportamiento
Dimensiones del modelo de análisis
Sistema
Sistema
Registrar Usuario
Consulta Titulo
Registrar Documento
Consulta Autor
Información
Registrar Días Festivos
Usuario
Refinamiento
Consulta Prestamo
Modelo de Diseño
Modelo de Análisis Préstamo
Préstamos
Reserva
Los campos nombre, No. préstamo, No. multas, estado aparecen en la pantalla
Usuario Registrar Usuario
Consultas Titulo
Autor
Consultas Autor
El empleado digita la opción de reserva El empleado digita código de usuario
Registrar Pago Multa
Documento
Imp. Multa
Panel Usuario
Multa
Reserva
Panel Circulación
Panel Dirección
Registrar Documento
El empleado digita No. Indiz volumen
Panel Técnico
El empleado acepa la transición
Registrar Autor
Diagrama de secuencia Pantalla Reserva
System Border
Registrar Reglamento
Reglamento
Usuario
1:opción
2:código
3:código
4:datos 5:datos
6:No. Indiz.Volumen
7:Mensaje 1 8:Mensaje 2
9:Mensaje 3 10:OK
Metodología OMT Caso de Uso: Administrar clientes
Sistema
Secretaria
Casos de Uso Descripción
Registrar cliente
Consultar cliente
Gerente
Generar reporte
Registrar cliente
Permite administra la información de los clientes, incluye ingresar, modificar e imprimir reportes
Consultar cliente
Permite visualizar la información referente a un cliente en especifico
Generar reporte
Permite generar un reporte para verificar o imprimir la información
DIAGRAMA DE CLASES
Administrar Parametros
GEP01 (Cabecera Parametrización) -GEP01STRESTADO -GEP01NUMCODPARAMETRO -GEP01STRAPLICACION -GEP01STRDEFINICION -GEP01STRDESCRIPCION + Consultar () :Object + Ingresar () :Object + Modificar () :Object
:Char :Integer :Char :String :String
GEP03(Detalle Parametrización) 1
Modelo de Diseño
- GEP03NUMCODPARAMETRO :Integer - GEP03STRSERIE :Char - GEP03STRSECUENCIA :Char - GEP03STRVALOR : String 0.. * - GEP03STRDESCRIPCION : String + Consultar () :Object + Ingresar () :Object + Modificar () :Object
Documento
Reserva
DIAGRAMAS DE COLABORACIÓN
NUEVA DEFINICION
3: P Ingresar() 2: F BuscaRegistro()
Capa Usuario 5: F_ConsultaNomProcedimientoP() 1: P_LimpiarControles() 4: P_EjecutaTransaccion()
Servicio Web Administrador Sistema
6: P_EjecutaTransaccionNegocio()
7: P_EjecutaSPTransN() 9: F_EjecutaProcesoDatos() Capa Negocio 10: GEP01PI01(Inserta Definición) Capa Datos 8: Fd_Conectar()
Definición
DIAGRAMAS DE ACTIVIDADES
Ingresar nueva Definición
NUEVA DEFINICION
Diagrama de secuencia
Capa Usuario
Servicio Web
Capa Negocio
Capa Datos
Definición
Cargar Aplicaciones
Administrador Sistema
Ingresar
P_Limpiar Controles() Validadr Definición
Decision_1
Desplegar Mensaje
Desplegar dialogo de confirmacion
Decision_2
F_BuscarRegistro()
P_Ingresar()
Decision_4
P_EjecutaTransaccion() Iniciar transaccion BDD
F_ConsultaNomProcedimientoP() Insertar definicion BDD
P_EjecutaTransaccionNegocio() P_EjecutaSPTransN()
Decision_2
Cancelar transaccion BDD Confirmar transaccion BDD
Finalizar transaccion BDD
Actualizar vista
Fd_Conectar()
F_EjecutaProcesoDatos()
GEP01PI01(Inserta Definición)
4. Explica los elementos de los métodos OMT y OOSE mediante un organizador de contenidos de tu elección indicando conceptos y la forma en que se relacionan. DIAGRAMAS DE ACTIVIDADES
Metodología OMT y Metodología OOSE
Cargar Aplicaciones Almacenes: constan de múltiples diagramas de flujo de datos. Actores: el actor está definido por un papel de usuario que puede jugar intercambiando la información con el sistema.
Decision Identificación de objetos y/o clases. Crear un diccionario de datos. Identificación de las asociaciones y agregaciones entre los objetos. Identificación de atributos y enlaces. Organización y simplificación de las clases empleando herencia. Verificación de las vías de acceso para llevar a cabo las consultas Realizar interacciones necesarias para el refinamiento del modelo. Agrupar las clases en módulos.
Actualizar vista
Flujos de datos: un flujo de datos interconecta la salida de los procesos a la entrada de otro, el cual es representado en el diagrama por medio de una flecha, la cual por lo general DIAGRAMA DE CLASES lleva el nombre o el tipo de dato. NombreClase NombreClase Procesos: son ejemplificados por Atributos Atributos medio de una elipse, los procesos 0.. Operaciones * Operaciones 1 tienen datos como entradas las cuales serán modificados.
Objetos: Diagrama de Clases
MODELOS
Diseño de objetos: Dimensionar, afinar y optimizar el modelo de análisis Código: Implementación las clases de objetos
Funcional: Diagrama de Flujo
Dinamico: Secuencia de Operaciones
Sistema Conceptualización: Requerimientos que deberá tener el sistema Proceso de desarrollo orientado a objetos
Proceso de desarrollo orientado a objetos
Pruebas: Validar el comportamiento de las clases y objetos
Metodología OMT Technique
Modelo de Diseño
Refinamiento
Modelo de Análisis
Analisis Y Diseño Orientado a Objetos
Implementación: Establecer las mejores prácticas para el proceso
Sistema Caso de uso Actor
Metodología OOSE Objet Oriented software Engineering
Modelos
Modelos
Ivar Jacobson
Pruebas: Verificar el buen funcionamiento del sistema
Actor
Análisis: Determinar el modelo para comprender el problema Diseño del sistema: Determina la estructura del sistema
James Rumbaugh Object Modeling
Diseño: Obtener lo recabado durante el desarrollo de análisis
Caso de uso
FASES
Comportamiento Requerimientos: Obtener los requerimientos funcionales Análisis: Definir una estructura de objetos robusta y flexible.
Presentación
Información
Comportamiento Información
Presentación Herramientas: Actividades, métodos y procesos.
Procesos: Escalar métodos, para ser aplicados
Arquitectura: Una buena estructura del sistema será de utilidad para entenderlo
Métodos: Se establecen de forma explícita
Actividades en el ciclo de vida del sistema Construcción: Implementación de los detalles que conciernen a la arquitectura y construcción del plan.
Diseño: Plasma el modelo de análisis en términos del ambiente de implementación
Pruebas: Verificar el trabajo de cada uno de los paquetes de servicio
5. Redacta una explicación de tu organizador de contenidos mencionando ventajas y desventajas en ambos métodos indicando con qué tipos de casos de desarrollo se relaciona cada uno de los métodos. El mapa mental permite desglosar conceptos generales en conceptos más detallados, logrando un entendimiento de los temas mucho más acertado y a primera vista, así mismo de pueden incluir imágenes y textos para enriquecer y complementar los temas estudiados, haciendo de este método uno de los más completos para mostrar contenidos, ya que la combinación de sus elementos (Imagen y Texto) facilitan su comprensión. Metodología Ventajas Desventajas OMT Es fuerte en el análisis y débil en el diseño
OOSE Es fuerte en el estudio de los requerimientos y análisis y débil en las otras etapas del ciclo de vida del software.
• Proporciona una serie de pasos perfectamente definidos al desarrollador • Tratamiento especial de la herencia. • Facilita el mantenimiento dada la gran cantidad de información que se genera en el análisis. • Es fuerte en el análisis. • Reutilización y extensión del código • Permite crear sistemas complejos • Relaciona el sistema al mundo real • Agiliza el desarrollo de software • Facilita el trabajo en equipo
• Hay pocos métodos para encontrar inconsistencias en los modelos. • Interacción de objetos no soportada explícitamente en ninguna herramienta gráfica • Al ser un análisis iterativo es difícil de saber cuando comenzar con el diseño. • Es débil el diseño.
• Método fuerte para producir requisitos orientados al usuario y orientada a objetos modelo de análisis • Método fuerte para la producción de modelo de objetos de estructura estática del sistema. • Método fuerte para la producción orientada a objetos detallados modelos de diseño
• No trate la programación orientada a objetos al mismo nivel que otros métodos • No se puede expresar plenamente los requisitos. • Centrarse exclusivamente en el diseño y no en análisis.
6. Redacta una conclusión con respecto a la importancia y vigencia de las metodologías OMT y OOSE en el análisis y diseño orientado a objetos. Es importante resaltar que ambos métodos son considerados cómo elementos claves en el desarrollo de cualquier proyecto de software principalmente si el desarrollo es enfocado a objetos, aun cuando cada uno tiene características muy particulares, por ejemplo la metodología OMT es fuerte en el análisis y débil en el diseño y la metodología OOSE es fuerte en el estudio de los requerimientos y análisis pero débil en las otra etapas; cada uno se deben de considerar de gran ayuda para los desarrolladores ya que ambos proporcionan claves para llevar a buen termino el desarrollo del software, depende íntegramente en que tipo de software se quiere desarrollar. Considero que el más completo es la metodología OMT, o por lo menos es la más popular y que tiene más vigencia ya que al intentar buscar información sobre esta metodología fue mucho más sencillo que con la metodología OOSE. Fuentes: http://bibdigital.epn.edu.ec/bitstream/15000/6013/1/CD-4772.pdf http://www.itlalaguna.edu.mx/academico/carreras/sistemas/Analisis%20y%20diseño%20orientado%20a%20objetos/Ch3Intro .pdf http://es.slideshare.net/danielcamurquizo/oose