Metodologías para el desarrollo de sioo

2,728 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,728
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Metodologías para el desarrollo de sioo

  1. 1. 20-octubre-1998 PRINCIPIA INFORMATICA 1 METODOLOGÍAS PARA EL DESARROLLO DE SIOO ALEJANDRO DOMÍNGUEZ
  2. 2. 20-octubre-1998 PRINCIPIA INFORMATICA 2 Etapas del Desarrollo de SOO AOO DOO POO TOO MOO Entrega ETAPAS
  3. 3. 20-octubre-1998 PRINCIPIA INFORMATICA 3 ANALISIS ORIENTADO A OBJETOS
  4. 4. 20-octubre-1998 PRINCIPIA INFORMATICA 4 Consiste en... • Determinar todos los objetos potenciales en un sistema y capturar sus características y relaciones en una notación formal. • Construir un modelo abstracto del “que” de la solución, manteniendo una correspondencia entre los objetos abstractos y sus contra partes del mundo real
  5. 5. 20-octubre-1998 PRINCIPIA INFORMATICA 5 Características • Difiere del Análisis Estructurado porque primero construye el modelo de objeto, en vez del modelo funcional (DFD’S). • Integra objetos, atributos y operaciones, en vez de separar entre el modelo funcional y el modelo de datos.
  6. 6. 20-octubre-1998 PRINCIPIA INFORMATICA 6 Principales exponentes • Coad y Yourdon • OMT-Rumbaugh et. al.’s Object Modelling Technique • Shlaer-Mellor • Booch
  7. 7. 20-octubre-1998 PRINCIPIA INFORMATICA 7 Coad y Yourdon (1) • Este método se basa en cinco actividades: – Encontrar clases y objetos • Los objetos existen en el dominio del problema • Las clases son abstracciones de los objetos • Los objetos son instancias de las clases • La primera actividad del método es identificar clases y objetos
  8. 8. 20-octubre-1998 PRINCIPIA INFORMATICA 8 Coad y Yourdon (2) – Identificar estructuras • Dos tipos de estructuras son reconocidas “estructura generalización-especialización” y “estructura totalidad-separa”. El tipo formado de estructura es igual a un árbol genealógico, y la herencia es posible entre miembros de la estructura. – Identificar sujetos • Organizar los sujetos desde un punto de vista. – Definir atributos • Características de cada clase.
  9. 9. 20-octubre-1998 PRINCIPIA INFORMATICA 9 Coad y Yourdon (3) – Definir servicios • Lo que los objetos harán • Definir los servicios es equivalente a definir las funciones del sistema • La principal debilidad de este método es su compleja notación, el cual es difícil de usar sin una herramienta que lo soporte.
  10. 10. 20-octubre-1998 PRINCIPIA INFORMATICA 10 OMT (1) • Trata el problema en tres modelos: – Modelo del objeto – Modelo dinámico – Modelo funcional
  11. 11. 20-octubre-1998 PRINCIPIA INFORMATICA 11 OMT (2) • El modelo del objeto muestra la estructura estática del mundo real • Los procedimientos para construirlo son: – identificar objetos – identificar clases de objetos – identificar las asociaciones (relaciones) entre objetos – identificar los atributos del objeto – usar la herencia para organizar y simplificar la estructura de clase – organizar el acoplo de clases y asociaciones entre módulos; – dotar un informe textual descriptivo de cada objeto
  12. 12. 20-octubre-1998 PRINCIPIA INFORMATICA 12 OMT (3) • El modelo dinámico muestra el comportamiento del sistema, especialmente la secuencia de las interacciones • El procedimiento de su construcción es: – Identificar la secuencia de los eventos en el dominio del problema y documentarlo en el trace de eventos – construir un diagrama de transición de estados para cada objeto que es afectado por los eventos, mostrando los mensajes que fluyen, acciones que son ejecutadas y cambios de estados en los objetos que suceden cuando los eventos ocurren.
  13. 13. 20-octubre-1998 PRINCIPIA INFORMATICA 13 OMT (4) • El procedimiento para construir el modelo funcional no usa descomposición funcional, pero: – identifica los valores de entrada y salida que el sistema recibe y produce – construye los diagramas de flujo de datos mostrando cómo los valores de salida son computados desde los valores de entrada – identifica los objetos que son usados como depósitos de datos – identifica las operaciones de objetos que comprenda cada proceso
  14. 14. 20-octubre-1998 PRINCIPIA INFORMATICA 14 OMT (5) • La ventaja de OMT es su simple pero poderosa capacidad de notación • La principal desventaja es la de carecer de técnicas para integrar – objetos – modelos dinámicos – modelos funcionales
  15. 15. 20-octubre-1998 PRINCIPIA INFORMATICA 15 Shlaer-Mellor (1) • Empieza por analizar e identificar los dominios del problema del sistema • Los dominios son divididos en subsistemas • Cada dominio o subsistema es analizado separadamente en tres pasos: – modelado de la información – modelado del estado – modelado del proceso
  16. 16. 20-octubre-1998 PRINCIPIA INFORMATICA 16 Shlaer-Mellor (2) • El propósito de modelar la información es la de identificar: – objetos en el subsistema – atributos de cada objeto – relaciones entre cada objeto • El modelo de información es documentado por medio de diagramas y definiciones de los objetos, atributos y relaciones
  17. 17. 20-octubre-1998 PRINCIPIA INFORMATICA 17 Shlaer-Mellor (3) • El propósito de modelar el estado es el de identificar: – estado de cada objeto, y las acciones que son ejecutadas en ellos – eventos que causan que los objetos cambien de un estado a otro – secuencia de estados que forman el ciclo de vida de cada objeto – secuencia de mensajes comunicando eventos que fluyen entre objetos y subsistemas
  18. 18. 20-octubre-1998 PRINCIPIA INFORMATICA 18 Análisis Orientado a Objetos (14) • Los modelos de estado son documentados por medio de – diagramas de modelos de estado • mostrando la secuencia de estados – diagramas de modelo de comunicación entre objetos • mostrando los mensajes que fluyen entre estados y lista de eventos
  19. 19. 20-octubre-1998 PRINCIPIA INFORMATICA 19 Análisis Orientado a Objetos (15) • El propósito del modelado de proceso es identificar: – operaciones de cada objeto requeridos en cada acción – atributos de cada objeto que son almacenados en cada acción • Los modelos de estado son documentados por medio de diagramas de flujo de datos y acción – mostrando las operaciones y flujo de datos que ocurren en cada acción – los diagramas de modelo de acceso a un objeto muestran el acceso de datos entre objetos
  20. 20. 20-octubre-1998 PRINCIPIA INFORMATICA 20 Análisis Orientado a Objetos (16) • La ventaja de este método es su madurez y existencia de técnicas para integrar la información, y los modelos de estado y proceso • La principal desventaja de este método es su complejidad
  21. 21. 20-octubre-1998 PRINCIPIA INFORMATICA 21 Booch (1) • Modela un diseño orientado a objetos en cuanto a una vista lógica, la cual define – las clases – objetos y sus relaciones – una vista física • que define el módulo y el proceso arquitectónico
  22. 22. 20-octubre-1998 PRINCIPIA INFORMATICA 22 Booch (2) • Este método consiste de cuatro pasos: • identificar las clases y objetos que proporcionan un nivel de abstracción • identificar la semántica de estas clases y objetos • identificar las relaciones entre clases y objetos • implementar las clases y objetos
  23. 23. 20-octubre-1998 PRINCIPIA INFORMATICA 23 Booch (3) • Booch provee de cuatro técnicas de diagramación para la documentación de la vista lógica: – Diagramas de clases • se usan para mostrar la existencia de clases y sus relaciones – Diagramas de objetos • se usan para mostrar la existencia de objetos y su comportamiento, especialmente para observar la comunicación de mensajes
  24. 24. 20-octubre-1998 PRINCIPIA INFORMATICA 24 Booch (4) – Diagramas de transición de estados • muestra los posibles estados de cada clase y los eventos que causan la transición de un estado a otro – Los diagramas de tiempo • los cuales muestran la secuencia de las operaciones de los objetos • La notación de Booch es engorrosa y pocas herramientas están disponibles.
  25. 25. 20-octubre-1998 PRINCIPIA INFORMATICA 25 DISEÑO ORIENTADO A OBJETOS
  26. 26. 20-octubre-1998 PRINCIPIA INFORMATICA 26 Características (1) • Se refiere a la construcción de la estructura del sistema • Se refiere al “cómo” de la solución • Ofrece mayor soporte al rehuso que otros métodos • La función de herencia permite un rehuso descendente de atributos y operaciones de una superclase
  27. 27. 20-octubre-1998 PRINCIPIA INFORMATICA 27 Características (2) • Combina información y servicios, propiciando el incremento de modularidad • Las estructuras de control y datos pueden ser definidos de una manera integrada
  28. 28. 20-octubre-1998 PRINCIPIA INFORMATICA 28 Características (3) • Es más efectivo cuando se implementa en un lenguaje de POO que soporta la definición de – objetos – herencia – paso de mensajes – polimorfismo • Smalltalk, C++, Eiffel, Object Pascal soportan estas funciones
  29. 29. 20-octubre-1998 PRINCIPIA INFORMATICA 29 Utilización del DOO • Un método orientado a objetos debe ser utilizado durante todo el ciclo de desarrollo • Esto indica que DOO debe ser seleccionado si el AOO ha sido usado en la fase de requerimientos de software
  30. 30. 20-octubre-1998 PRINCIPIA INFORMATICA 30 Principales exponentes • Coad y Yourdon • OMT-Rumbaugh et. al.’s Object Modelling Technique • Shlaer-Mellor • Booch
  31. 31. 20-octubre-1998 PRINCIPIA INFORMATICA 31 Coad y Yourdon (1) • Su diseño orientado a objetos se construye mediante cuatro componentes: – Componente del dominio del problema – Componente de interacción humana – Componente de administración de tareas – Componente de administración de datos
  32. 32. 20-octubre-1998 PRINCIPIA INFORMATICA 32 Coad y Yourdon (2) • Cada componente está integrado por clases y objetos • El dominio del problema se basa en un modelo construido en la fase de análisis – Define el sujeto del sistema y sus responsabilidades
  33. 33. 20-octubre-1998 PRINCIPIA INFORMATICA 33 Coad y Yourdon (3) • Si el sistema se implementa en un lenguaje de POO – la correspondencia entre las clases del dominio del problema y los objetos serán uno a uno • y el componente del dominio del problema podrá ser directamente programado • Sin embargo, el refinamiento sustancial del modelo lógico es normalmente requerido, resultando la adición de más atributos y servicios
  34. 34. 20-octubre-1998 PRINCIPIA INFORMATICA 34 Coad y Yourdon (4) • La componente interacción humana maneja envío y recepción de mensajes hacia y desde el usuario • Las clases y objetos tienen nombres que toman el lenguaje de interfaz del usuario, por ejemplo: ventana y menú
  35. 35. 20-octubre-1998 PRINCIPIA INFORMATICA 35 Coad y Yourdon (5) • La componente administración de datos provee la estructura para almacenar y obtener objetos – puede ser un simple archivo de sistema – un sistema manejador de base de datos relacional o – un sistema manejador de base de datos orientada a objetos
  36. 36. 20-octubre-1998 PRINCIPIA INFORMATICA 36 Coad y Yourdon (6) • Las clases y objetos son organizados por estructuras “generalización-especialización” – son “árboles familiares”, con hijos que heredan los atributos de sus padres • Las estructuras “parte total” son formadas cuando un objeto es descompuesto
  37. 37. 20-octubre-1998 PRINCIPIA INFORMATICA 37 Coad y Yourdon (7) • La ventaja de este método es su descripción concisa y su uso de textos generales como fuentes de definiciones • Los principales inconvenientes es su compleja notación – la cual dificulta su uso sino se tiene una herramienta que los soporte • Algunos usuarios de este método usan la diagramación OMT
  38. 38. 20-octubre-1998 PRINCIPIA INFORMATICA 38 OMT (1) • Contiene dos actividades de diseño: – diseño de sistema – diseño de objeto • Los pasos para el diseño de sistema son: – organizar el sistema en subsistemas y ordenarlos en niveles y particiones – identificar la concurrencia inherente en el problema – destinar subsistemas a procesos – definir la estrategia de implantación para administración de datos
  39. 39. 20-octubre-1998 PRINCIPIA INFORMATICA 39 OMT (2) – identificar los recursos globales y definir los mecanismos para el control de acceso a ellos – seleccionar un acercamiento para implementar el software de control – Considerar las condiciones de restricción • Muchos sistemas son bastante similares, Rumbaugh sugiere que el diseño de sistemas se base en el uso de varias arquitecturas canónicas (patrones)
  40. 40. 20-octubre-1998 PRINCIPIA INFORMATICA 40 Shlaer-Mellor (1) • Describe un lenguaje de diseño orientado a objetos (OODLE) derivados de la notación de Booch y Buhr • Existen cuatro tipos de diagramación: – diagrama de clases – estructura de clases – diagrama de dependencia – diagrama de herencia
  41. 41. 20-octubre-1998 PRINCIPIA INFORMATICA 41 Shlaer-Mellor (2) • Hay un diagrama de clase para cada clase – el diagrama define las operaciones y los atributos de la clase • La gráfica de la estructura de clases define: – la estructura de módulos de la clase – el control y flujo de datos entre los módulos de su clase • Hay una gráfica de estructura de clase por cada clase
  42. 42. 20-octubre-1998 PRINCIPIA INFORMATICA 42 Shlaer-Mellor (3) • Los diagramas de dependencia ilustran la dependencia de clases, las cuales pueden ser: – Cliente-servidor • existe cuando una clase (el cliente) llama las operaciones de otra clase (el servidor) – Amigos • existe cuando una clase accesa los datos internos de otra clase (esto es una violación a la información oculta)
  43. 43. 20-octubre-1998 PRINCIPIA INFORMATICA 43 Shlaer-Mellor (4) • Los diagramas de herencia muestran las relaciones de herencia entre clases • Shlaer y Mellor definen un método de diseño recursivo que utiliza la notación OODLE de la siguiente manera: – define cómo los procesos de cómputo genérico serán implementados – implementa el modelo de clases usando los procesos de cómputo genérico • Este método es más complejo que otros orientados a objetos
  44. 44. 20-octubre-1998 PRINCIPIA INFORMATICA 44 Booch (1) • Modela el DOO en dos vistas – lógica, la cual define clases, objetos, y sus relaciones • corresponde al modelo lógico de la fase de requerimientos de software – física, la cual define la arquitectura de módulo y proceso • corresponde al modelo físico en la construcción de la fase de diseño
  45. 45. 20-octubre-1998 PRINCIPIA INFORMATICA 45 Booch (2) • Booch provee dos técnicas de diagramación para documentar la vista física: – Diagramas de módulo • utilizados para mostrar la ubicación de clases y objetos a módulos – Los diagramas de proceso • muestran la ubicación de módulos para procesos de hardware
  46. 46. 20-octubre-1998 PRINCIPIA INFORMATICA 46 PROGRAMACIÓN, PRUEBAS Y MANTENIMIENTO ORIENTADOS A OBJETOS
  47. 47. 20-octubre-1998 PRINCIPIA INFORMATICA 47 La POO se basa en... • La utilización de objetos, clases y mensajes en vez de funciones y/o procedimientos • La reutilización de código existente Biblioteca de clases reutilizables Nuevas Clases Clases existentes
  48. 48. 20-octubre-1998 PRINCIPIA INFORMATICA 48 Pruebas OO • Su propósito principal es mejorar la calidad del software • Una buena modularidad ayuda a aislar los defectos
  49. 49. 20-octubre-1998 PRINCIPIA INFORMATICA 49 Mantenimiento Orientado a Objetos • La OO facilita el mantenimiento de 3 formas diferentes – Reduce la cantidad de mantenimiento ya que la calidad inicial del software es alta debido a la reutilización de componentes – La relación entre los objetos del mundo real y los del software hacen que éste sea más entendible y de fácil mantenimiento – La extensibilidad natural del SOO facilita la incorporación de propiedades adicionales en etapas posteriores

×