Fundamentos del análisis orientado a objetos

Preview:

Citation preview

1

Fundamentos del análisis orientado a

objetos

2

• Recordaremos algunos conceptos básicos de OO

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).

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.

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   }

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.

7

class Nombre {  int x, y; }

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.

9

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

10

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

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).

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.

13Ejemplo

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

Mamífero

Gato Perro

14

Abstracción

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

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.

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.

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.

18

Encapsulamiento

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

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.

20

Metodologías Orientadas 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.

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”.

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.

24

Pasos del Macro proceso

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

26

Pasos del Micro proceso

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.

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.

29

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

• Análisis.

• Diseño del sistema.

• Diseño de objetos.

• Implementación.

30

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

• Modelo de objetos.

• Modelo dinámico.

• Modelo funcional.

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

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.

33

Diferencias entre el análisis estructurado y el 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

45

Diagramas de casos de uso.

46

Diagramas de casos de uso.

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.

48

Análisis estructurado.

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.

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.

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.