51
análisis orientado a objetos 1

Fundamentos del análisis orientado a objetos

Embed Size (px)

Citation preview

Page 1: Fundamentos del análisis orientado a objetos

1

Fundamentos del análisis orientado a

objetos

Page 2: Fundamentos del análisis orientado a objetos

2

• Recordaremos algunos conceptos básicos de OO

Page 3: Fundamentos del análisis orientado a objetos

3

Clase  Es un contenedor de uno o más datos (variables o propiedades miembro) junto a las operaciones de manipulación de dichos datos (métodos).

Page 4: Fundamentos del análisis orientado a objetos

4

Es una construcción que se utiliza como un modelo para crear objetos de ese tipo. El modelo describe el estado y el comportamiento que todos los objetos de la clase comparten.

Page 5: Fundamentos del análisis orientado a objetos

5

class Nombre { // Variables miembro miembro_1; //lista de miembros miembro_2; miembro_3; // Funciones o métodos funcion_miembro_1( ); // funciones miembro conocidas funcion_miembro_2 ( ); // funciones como métodos   }

Page 6: Fundamentos del análisis orientado a objetos

6

Atributos Los datos se encapsulan dentro de una clase declarando variables dentro de las llaves de apertura y cierre de la declaración de la clase, variables que se conocen como atributos. Se declaran igual que las variables locales de un método.

Page 7: Fundamentos del análisis orientado a objetos

7

class Nombre {  int x, y; }

Page 8: Fundamentos del análisis orientado a objetos

8

Métodos Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje".Desde el punto de vista del comportamiento, es lo que el objeto puede hacer.

Page 9: Fundamentos del análisis orientado a objetos

9

 tipo_devuelto nombre_de_método( lista-formal-de-parámetros ) {  cuerpo_del_método; }

Page 10: Fundamentos del análisis orientado a objetos

10

Ejemplo  int metodoSuma( int paramX, int paramY ) {  return ( paramX + paramY ); } 

Page 11: Fundamentos del análisis orientado a objetos

11

OBJETO

Entidad provista de un conjunto de propiedades oatributos (datos) y de comportamiento ofuncionalidad (métodos).Corresponden a los objetos reales del mundo quenos rodea, o a objetos internos del sistema (delprograma).

Page 12: Fundamentos del análisis orientado a objetos

12

Herencia

Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.

Page 13: Fundamentos del análisis orientado a objetos

13Ejemplo

• El gato y el Perro tendrían la herencia (métodos y atributos) del Mamífero.

Mamífero

Gato Perro

Page 14: Fundamentos del análisis orientado a objetos

14

Abstracción

Expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás.

Page 15: Fundamentos del análisis orientado a objetos

15Ejemplo

Imaginemos que queremos aplicar la abstraccion a las Aves.

El objeto seria el pajaro, y sus caracteristicas, por ejemplo, serian:

•Pico•Alas•Plumas•Patas

Las funcionalidades asociadas serian:Volar, parar, etc.

Page 16: Fundamentos del análisis orientado a objetos

16

Polimorfismo

Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en funcion de los parametros utilizados durante su invocacion.

Page 17: Fundamentos del análisis orientado a objetos

17

PolimorfismoHay dos tipos:

Dinámico: es el que el código no incluye ningún tipo de especificación sobre el tipo de datos.

Estático: es el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de ser utilizados.

Page 18: Fundamentos del análisis orientado a objetos

18

Encapsulamiento

Significa reunir a todos los elementos que puedenconsiderarse pertenecientes a una misma entidad(clase), al mismo nivel de abstracción.

Page 19: Fundamentos del análisis orientado a objetos

19

Interfaces

Las interfaces de objetos permiten crear código el cual especifica métodosque una clase debe implementar, sin tener que definir como serán manejadosesos métodos.

Page 20: Fundamentos del análisis orientado a objetos

20

Metodologías Orientadas a objetos

Page 21: Fundamentos del análisis orientado a objetos

21

Object-Oriented Design (OOD), Booch

• Descripción

Es un ciclo de vida iterativo e incremental, en el cual se mira el desarrollo del producto como una serie de pasos que van evolucionando hasta llegar al sistema final.

Page 22: Fundamentos del análisis orientado a objetos

22

• Surge debido a los objetivos de la ingeniería de software que son:

• Entregar un producto Software que satisfaga las necesidades del usuario, de forma eficiente y predecible.

• Abarca un “micro proceso de desarrollo” y un “macro proceso de desarrollo”.

Page 23: Fundamentos del análisis orientado a objetos

23

• Macro-Proceso• Engloba una actividad de planificación arquitectónica, que agrupa capas

de objetos por nivel de abstracción.

• Identifica situaciones relevantes.

• Crea un prototipo de diseño y valida el prototipo aplicándolo a situaciones de uso.

• Es un proceso de alto nivel.

Page 24: Fundamentos del análisis orientado a objetos

24

Pasos del Macro proceso

Page 25: Fundamentos del análisis orientado a objetos

25

• Micro-Proceso• Define un conjunto de “reglas” que regulan el uso de operaciones y

atributos, de reglas y políticas.

• Desarrolla situaciones que describen la semántica de las reglas y políticas.

• Crea un prototipo para cada política.

• Instrumenta y refina el prototipo.

• Es un proceso de bajo nivel

Page 26: Fundamentos del análisis orientado a objetos

26

Pasos del Micro proceso

Page 27: Fundamentos del análisis orientado a objetos

27

• Características• La metodología de booch se basa en tres modelos

• Modelo de Lógica: está representado en la estructura clase-objeto.

• Modelo Estático: es representado por el diagrama de clase, en el que se construye la arquitectura que se definirá para el sistema.

• Modelo Dinámico: es representado por el diagrama de objeto que muestra cómo las clases interactúan unas con otras.

Page 28: Fundamentos del análisis orientado a objetos

28

Object modeling Technique (OMT), Rumbaugh

• Descripción

• Es una de las metodologías de análisis y diseño orientadas a objetos, más maduras y eficientes que existen en la actualidad.

• Es de dominio público y , en consecuencia, sobrevive con enorme vitalidad.

• Esto facilita su evolución para acoplarse a todas las necesidades actuales y futuras de la ingeniería de software.

Page 29: Fundamentos del análisis orientado a objetos

29

• Características• La metodología OMT consta de varias fases

• Análisis.

• Diseño del sistema.

• Diseño de objetos.

• Implementación.

Page 30: Fundamentos del análisis orientado a objetos

30

• También emplea tres clases de modelos para describir el sistema.

• Modelo de objetos.

• Modelo dinámico.

• Modelo funcional.

Page 31: Fundamentos del análisis orientado a objetos

31

Object Oriented Analysis (OOA), Coad/Yourdon

• El enfoque de Coad y Yourdon para el análisis orientado a objetos esta basado en cinco capas.

• Capa clase objeto• Capa de estructura• Capa de atributos• Capa de servicios• Capa de tema

Page 32: Fundamentos del análisis orientado a objetos

32

• Capa clase objeto• Esta capa del análisis y diseño indica las clases y objetos.

• Capa de estructura• Esta capa captura diversas estructuras de clases y objetos, como las

relaciones uno a muchos.

• Capa de atributos• Esta capa detalla los atributos de las clases.

• Capa de servicios• Esta capa indica los mensajes y comportamientos de los objetos.

• Capa de tema• Esta capa divide el diseño en unidades de implementación o

asignaciones de equipos.

Page 33: Fundamentos del análisis orientado a objetos

33

Diferencias entre el análisis estructurado y el orientado a

objetos

Page 34: Fundamentos del análisis orientado a objetos

34

Análisis Orientado a objetos

• Según Booch • Es un método de análisis que examina los

requisitos desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema.

Page 35: Fundamentos del análisis orientado a objetos

35

Documentos básicos del análisis orientado a objetos.

• Documentos de análisis.• Especificación de requerimientos.• Diagramas de caso de uso.• Escenarios y subescenarios.• Prototipos y su evaluación.

Page 36: Fundamentos del análisis orientado a objetos

36

Todos estos documentos deben de estar identificados y codificados:

IDENTIFICACION

Se identifican todos los elementos del proceso de desarrollo de software de una forma unívoca.

Page 37: Fundamentos del análisis orientado a objetos

37

Deben de estar identificados con los siguientes requisitos:

Titulo.

Debe de reflejar de la mejor forma posible sus fines y funcionalidad.

Descripción.

Autores.

Versión. Notación decimal.

Revisión. Autores.

Fecha.

Código de cada documentación o diagrama.

Page 38: Fundamentos del análisis orientado a objetos

38

Documentos de análisis.

Contiene:• Documentación descrita por el cliente interesado

en la aplicación.• Actas de reuniones de trabajo de analistas.

• Secretario que tome el acta.• Aprobación de la misma por todos los miembros.

Page 39: Fundamentos del análisis orientado a objetos

39

Especificación de requerimientos.

La captura de requisitos, es el proceso de averiguar , normalmente en circunstancias difíciles, lo que se debe construir.

Jacobson 1999.

Page 40: Fundamentos del análisis orientado a objetos

40

La captura de requisitos es complicada ya que, es difícil tener una visión global del problema a resolver, además de que los usuarios habituales no saben expresar claramente lo que requieren.

Es el documento mas técnico y elaborado de los documentos de análisis.

Page 41: Fundamentos del análisis orientado a objetos

41

Es importante codificar los requerimientos, para poder seguirlos a lo largo del proceso de desarrollo de software, para esto se puede utilizar una especificación jerárquica.

• Codificados al igual que las leyes, por niveles.• Reflejar en actas el problema a resolver, y en las reuniones de análisis

determinar que requerimientos se añaden o se eliminan.• Los requerimientos relacionados se codifican en un mismo nivel.

• Cada nivel 1 se hace corresponder con un caso de uso.• Cada nivel 2 se hace corresponder con un escenario.• Cada nivel 1 se hace corresponder con un sub-escenario.

Page 42: Fundamentos del análisis orientado a objetos

42

Diagramas de casos de uso.

• Se va modelando conforme a los requisitos de cada nivel iniciando con el primer nivel.

• Son una técnica de modelado que se utiliza para describir lo que un nuevo sistema debe de hacer o lo que uno ya existente hace, además de representar una vista externa del sistema.

• Captura acciones y comportamientos del sistema y de los actores.

Page 43: Fundamentos del análisis orientado a objetos

43

Diagramas de casos de uso(cont.).

• El sistema a modelar se representa encerrado en un rectángulo.

• Actores son quienes interactúan con el sistema. Actor=Clase.

• Se debe diferenciar entre Actores y usuarios; lo usuarios son personas que utilizan el sistema.

• Para cada caso de uso, actores y sistema se realiza una descripción detallada.

Page 44: Fundamentos del análisis orientado a objetos

44

Diagramas de casos de uso.

• Indican opciones generales.• Es un diagrama sencillo que da una visión global de toda

la aplicación de forma que se entienda rápida y gráficamente, tanto por desarrolladores como por usuarios.

Page 45: Fundamentos del análisis orientado a objetos

45

Diagramas de casos de uso.

Page 46: Fundamentos del análisis orientado a objetos

46

Diagramas de casos de uso.

Page 47: Fundamentos del análisis orientado a objetos

47

Escenarios y subescenarios.

• Cada caso de uso da lugar a múltiples escenarios.• Siguen la codificación de los casos de uso.• Su estudio se hace utilizando guiones, como los

utilizados en el cine.• De los escenarios principales surgen escenarios

secundarios.

Page 48: Fundamentos del análisis orientado a objetos

48

Análisis estructurado.

Page 49: Fundamentos del análisis orientado a objetos

49

Análisis estructurado.

Interpreta el sistema de concepto en los datos y el control de terminología en los diagramas de flujo de datos.

Page 50: Fundamentos del análisis orientado a objetos

50

• Especifica lo que requiere que haga el sistema, pero no se establece como se cumplirán los requerimientos o la forma en que implantaran la aplicación. Permite que las personas observen los elementos lógicos, separados de lo físico. Después de esto se puede desarrollar un modelo eficiente para la situación donde será aplicado.

Page 51: Fundamentos del análisis orientado a objetos

51

Componentes de Análisis estructurado.

• SIMBOLOS GRAFICOS.

Iconos y convenciones para identificar y describir los componentes de un sistema junto con las relaciones entre estos componentes.