12 Clase Analisis Orientado A Objetos

40
ANALISIS ORIENTADO A OBJETOS Lic. Espinoza Robles Armando David

description

 

Transcript of 12 Clase Analisis Orientado A Objetos

Page 1: 12 Clase Analisis Orientado A Objetos

ANALISIS ORIENTADO A OBJETOS

Lic. Espinoza Robles Armando David

Page 2: 12 Clase Analisis Orientado A Objetos

CONCEPTOS OO.

• Orientado a Objetos (OO) es una nueva forma de pensar acerca del problema empleando modelos que se han organizado tomando como base conceptos del mundo real.

• La OO significa que el softw., se organiza como una colección de objetos discretos.

Page 3: 12 Clase Analisis Orientado A Objetos

• El análisis orientado a Objetos (AOO), es la manera que la persona comprenden la realidad y la procesan, mediante conceptos adquiridos.

• Concepto: es una idea de algo que aplicamos a las cosas.

• Los conceptos pueden ser:– Concretos: persona alumno, automóvil etc.– Intangibles: tiempo , calidad, compañía– Por relación: matrimonio , sociedad, compañía– Eventos: compra, venta

Page 4: 12 Clase Analisis Orientado A Objetos

– Roles o Puestos: doctor, paciente, profesor, político.

– Juicios: buen trabajador, sueldo alto, buen, ejemplo.

– Otros tipos: numero, imagen, señal, proceso.

• Objeto: es cualquier cosa real o abstracta a la que se aplica un concepto. Un objeto se define a su vez por informaciones y por comportamientos.

• Un objeto encapsula información y comportamientos.

Page 5: 12 Clase Analisis Orientado A Objetos

– Las informaciones son los datos incluidos en el objeto. Llamados también atributos, variables de instancia o datos.

– Los comportamientos son los tratamientos aplicables al objeto, llamados también operaciones o métodos.

• Para ilustrar el mecanismo de encapsulacion, razonaremos sobre el objeto persona:

Page 6: 12 Clase Analisis Orientado A Objetos

Un objeto persona

Nombre

edad

Empresa

• Información o atributos

Operaciones o Métodos

CambiarEmpresa

CambiarDireccion

Page 7: 12 Clase Analisis Orientado A Objetos

• Todos los objetos con las mismas propiedades (atributos, operaciones) se reúnen en una familia. Esta familia es una clase y los objetos que se incluyen son las instancias.

Clase PERSONA

Información o Atributo

Nombre

Edad

Empresa

Operación o Método

CambiarEmpresa

CambiarDireccion

INSTANCIAS

(PERSONA)

nombre: Franz Perez

Edad: 25

empresa: Banco Crédito

Page 8: 12 Clase Analisis Orientado A Objetos

• Características de los Objetos:– IDENTIDAD: cada objetos posee su propia

identidad inherente. Que significa que los objetos se distinguen por su existencia inherente y no por las propiedades descriptivas que pueden tener.: dos autos de igual marca, color , modelo siguen siendo autos individuales.

– CLASIFICACION: significa que los objetos con la misma estructura de dato( atributos) y comportamiento (Operaciones) se aglutinan para formar un clase.

– Toda CLASE: describe un conjunto posiblemente finito de objetos individuales.

Page 9: 12 Clase Analisis Orientado A Objetos

– Cada objeto es una instancia de clase, que posee su propia valor para cada uno de los atributos pero comparte los atributos y las operaciones con la misma instancia de la clase.

POLIGONO

Vértice

Color de borde

Color Interior

Dibujar

Mover

Borrar

atributos

Oper.

Page 10: 12 Clase Analisis Orientado A Objetos

– Una operación es una acción o transformación que se lleva a cabo o que se aplica a un objeto.

– PILIMORFISMO: significa que una misma operación puede comportarse de modos distintos en distintas clases.

POLIGONO PLANILLA

CALCULARCALCULAR

La operación CALCULAR es polimorfica

Page 11: 12 Clase Analisis Orientado A Objetos

– HERENCIA: comparte tributos y operaciones entre clases tomando como base una relación jerárquica. Se puede definir como una SUPERCLASE que se ira refinando para producir SUBCLASES. Todas las subclases poseen o heredan todas las propiedades de su superclase.

PERSONA

CIVIL SUBCLASE

Page 12: 12 Clase Analisis Orientado A Objetos

QUE SON EL ANALISIS Y EL DISEÑO

• Análisis : Investigación: el análisis se centra en una investigación del problema y definir los requerimientos

• Diseño: Solución: el diseño pone en relieve una solución lógica : como el sistema cumple con los requerimientos.

Page 13: 12 Clase Analisis Orientado A Objetos

• Que son el Análisis y Diseño OO.

• La esencia del Análisis y Diseño OO consiste en situar el dominio de un problema y una solución lógica dentro de la perspectiva de los objetos

Análisis Diseño Construcción

Investigacióndel problema

Solución Lógica Codigo

Page 14: 12 Clase Analisis Orientado A Objetos

• Durante el Análisis OO se identifica y describe los a objetos dentro del dominio del problema. Ej,. En el caso de un SI. De biblioteca los objetos: Libro, Biblioteca, Cliente.

• Durante el Diseño OO, se procura definir los objetos lógicos del softw., que serán implementados en un lenguaje de programación oo. Ej el Objeto Libro tiene el atributo titulo y el método imprimirimprimir..

Page 15: 12 Clase Analisis Orientado A Objetos

• Finalmente durante la Construcción o Programación OO se implementa los componentes del diseño como una clase libro en C++, Java, VB etc.

Conceptodel dominio

Representaciónen el análisis

Libro

titulo

Representación en un lenguaje oo.

Public class Libro {

public void print();

private String titile: }

Page 16: 12 Clase Analisis Orientado A Objetos

• Técnicas de Desarrollo OO.

• Tarjetas de Clase:

• esta técnica propuesta por Beck y Cunninghan 1989 consiste en elaborar por cada clase una tarjeta o ficha en las que se apuntan las características de una clase

Clase: nombre de la clase

Lista de supercalse

Lista de subclase

responsabilidades colaboración

Page 17: 12 Clase Analisis Orientado A Objetos

• Las responsabilidades de un objeto son todos los servicios que proporciona para todos los contratos que soporta.

• Las responsabilidades incluyen el conocimiento que tiene la clase y las acciones que puede realizar un objeto de la misma

• La colaboraciones representan las peticiones por parte de un cliente a los servidores para el cumplimiento de las responsabilidades del cliente

Page 18: 12 Clase Analisis Orientado A Objetos

• Construcción de las Tarjetas de clase

• la técnica permite identificar las clases y validarlas, examinando como las clases envían mensajes unas a otras y cuales son sus responsabilidades para poder responder a las peticiones que llegan. Una vez identificado los servicios se agrupan en contratos.

• Para asignar responsabilidades tener en cuenta la siguiente guía:– distribuir la inteligencia del sistema de forma

pareja

Page 19: 12 Clase Analisis Orientado A Objetos

– Determinar las responsabilidades de manera tan general como sea posible

– mantener el comportamiento con la información relacionada con el mismo.

– Agrupar las responsabilidades utilizadas por los mismos clientes

– maximizar la cohesión de las clases– minimizar el numero de contratos.

Page 20: 12 Clase Analisis Orientado A Objetos

• Ejemplo:– se trata de modelar un sistema de biblioteca con

los siguientes requisitos:• la aplicación soporta las operaciones de una

biblioteca como la búsqueda y préstamo de material bibliográfico: libros, proyectos, revistas.

• Los socios de la biblioteca podrán llevar a cabo consultas sobre el material bibliográfico

• cada socio puede tener prestado un numero máximo de elemento. Cada tipo de material tiene diferente periodo de prestamos. Si se devuelve un elemento después de la fecha prevista la biblioteca multara al socio.

Page 21: 12 Clase Analisis Orientado A Objetos

• Creamos las tarjetas para las clases:– Socio, que tendrá responsabilidades conocer los

datos del socio (nombre, dirección, teléfono) además de saber los elementos que tienen prestados.

– Libro, deberá conocer sus datos (ISBN, titulo, etc) poder prestarse y devolverse, calcular la fecha de devolución prevista y la multa del caso.

– Proyecto, deberá conocer sus datos (titulo, autor, etc) en caso necesario poder prestarse y devolverse, calcular la fecha de devolución prevista y la multa

Page 22: 12 Clase Analisis Orientado A Objetos

– Revista, que deberá conocer sus datos (titulo, idioma, etc) en caso necesario prestarse y devolverse, calcular la fecha de devolución prevista y la multa.

Page 23: 12 Clase Analisis Orientado A Objetos

Clase: sistema de biblioteca

lista de superclase

lista de subclase

responsabilidades colaboración

prestar_material Material Socio

devolver_material material Socio

búsqueda_material Biblioteca

visualizar_información

obtener_información

Page 24: 12 Clase Analisis Orientado A Objetos

Clase : Biblioteca

Lista de superclase

lista de subclase

responsabilidad colaboración

conocer_materiales material

Clase : Socio

lista de superclase

lista de subclase

responsabilidad colaboración

conocer_datos

conocer_material_prestado

conocer_multas

Page 25: 12 Clase Analisis Orientado A Objetos

Clase : material

lista de superclase

lista de subclase: libro, proyecto, revista

responsabilidad colaboración

conocer_datos

prestarse

devolverse

calcular_fecha_devolución

calcular_multa

Page 26: 12 Clase Analisis Orientado A Objetos

Clase: libro

lista de superclase: material

lista de subclase

responsabilidad colaboración

calcular_fecha_devolución

calcular_multa

Clase: proyecto

lista de superclase: material

lista de subclase

responsabilidad colaboración

calcular_fecha_devolución

calcular_multa

Clase : revista

lista de superclase: material

lista de subclase

responsabilidad colaboración

calcular_fecha_devolución

calcular_multa

Page 27: 12 Clase Analisis Orientado A Objetos

• Casos de Uso:

• la mayoría de las metodológias OO incorporan actualmente entre sus técnicas el modelo de “formas de Utilización” o Casos de Uso. Propuesto originalmente por Ivan Jacobson en 1987.

• Algunos autores lo llaman escenarios, trazas de eventos, , guiones,, hebras

Page 28: 12 Clase Analisis Orientado A Objetos

• Las formas de utilización tienen dos papeles:– capturar los requisitos del sistema– simplificar la construcción de los modelos de objetos.

• Un modelo de casos de Uso es un grafo con dos tipos de nodos:– Actores: que representa cualquier elemento que

intercambia información con el sistema, por lo que esta fuera de el.

– Caso de uso: entendida como una secuencia de transacciones en un dialogo con el sistema que se encuentra relacionada por su comportamiento.

Page 29: 12 Clase Analisis Orientado A Objetos

• Los casos de uso tienen una descripción informal en lenguaje natural estructurado.

• Los arcos entre los actores y los casos de uso se denominan arcos de comunicación

• los casos de uso pueden relacionarse por medio de dos asociaciones.– Extends: que permite que un acaso de uso se inserte

en otra, se representa mediate flecha discontinua, se usa para modelar:

• partes opcionales• subsecuencias que se ejecutan solo en determinados casos• diferentes casos de uso que se insertan en una forma

especial

Page 30: 12 Clase Analisis Orientado A Objetos

• Includes: se da entre casos de uso. Indica que un caso de uso puede incluir la funcionalidad de otro caso de uso dentro de su flujo de eventos.

Anular pedido Buscar pedido<< includes>>

Hacer pedido Descuentosespeciales

<<extends>

Page 31: 12 Clase Analisis Orientado A Objetos

• Relaciones de Herencia: en los casos de uso también se presenta la herencia: un caso de uso puede heredar el comportamiento otro mas general y especializar sus características.

Valida cliente

Validarhuella digital

Validarretina

Page 32: 12 Clase Analisis Orientado A Objetos

• Los actores también pueden representarse en un esquema de generalización especialización

Cliente

Empresa Persona natural

Page 33: 12 Clase Analisis Orientado A Objetos

• Ejemplo: el funcionamiento de un cajero automático.– Se destacan 3 actores:

• Cliente

• Operador

• Sistema central el Banco

– casos de Uso:• Sacar Dinero

• Transferencia

• Depositar Dinero

• Administración

Page 34: 12 Clase Analisis Orientado A Objetos

• Describir el caso de uso Sacar dinero:

• SECUENCIA NORMAL– se visualiza un mensaje de bienvenida en

pantalla• usuario inserta la tarjeta en cajero

• el cajero lee el código de la banda magnética y verifica si es valida, en caso positivo, pide el código al usuario.

– Esperando el Código:• el usuario introduce el código

• si el código es correcto, el cajero pide al usuario que seleccione el tipo de transacción

Page 35: 12 Clase Analisis Orientado A Objetos

– Esperando el tipo de transacción:• el usuario selecciona la función de sacar dinero, el

cajero le pide al usuario que teclee la cantidad deseada

– esperando la cantidad deseada:• el usuario teclea la cantidad que desea sacar. El

cajero envía la petición al sistema del banco

• se prepara el recibo

• se expulsa la tarjeta

• se imprime el recibo

• se entrega el dinero.

Page 36: 12 Clase Analisis Orientado A Objetos

• ALTERNATIVAS:– la tarjeta no es aceptada

• si la tarjeta no es aceptada se expulsa emitiendo un sonido

– código incorrecto• se emite un mensaje dando la oportunidad de que el

usuario vuelva a introducir el código

– no autorizado para sacar dinero.• Se el sistema del banco no autoriza sacar dinero se emite

un mensaje informando al usuario, expulsando la tarjeta.

– No hay dinero.• Si el cajero no dispone de la cantidad pedida se emite un

mensaje y se expulsa la tarjeta.

– Cancelar• en cualquier momento el usuario puede cancelar la transacción, con lo

que se expulsa la tarjeta

Page 37: 12 Clase Analisis Orientado A Objetos

• Modelo de Clases:todas las metodologias representan los conceptos de clase y objetos. La notación mas usada es representar la clase como un rectángulo en cuyo interior figura el nombre de la clase, los atributos y los servicio.

• En los diagramas de clase se suelen representar cuatro tipos distintos de asociaciones:– Interrelaciones: con sus cardinalidades – Generalización: se representa mediante un

triángulo

Page 38: 12 Clase Analisis Orientado A Objetos

• Agregación: representado mediante un rombo

• Comunicación: que representa como un objeto de una clase se comunica con otro

clase

clase

clase

clase

clase

Exactament uno

Cero o mas

Cero o uno

1+

1-2 4

Uno o mas

Especif. numérico

Representación cardinalidada

Page 39: 12 Clase Analisis Orientado A Objetos

empleado

funcionario contratado

material

libro revista

Jerarquía total disjuntos Jerarquía parcial disjunto

persona

empleado estudiante

empleado

analista Jef.proyecto

Jeraquia parcial solapadaJerarquia total solapada

Page 40: 12 Clase Analisis Orientado A Objetos

Socionombre

direcciónconocermaterial

conocer_multa

Materialtitulo

idiomaprestarsedevolver

calcular_multa

Biblioteca

conocer_materiales

Libroaño edicion

cal_fech_dev

Revistaeditorial

cal_fech_dev

Proyectonota

cal_fech_dev