12 Clase Analisis Orientado A Objetos

Preview:

DESCRIPTION

 

Citation preview

ANALISIS ORIENTADO A OBJETOS

Lic. Espinoza Robles Armando David

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.

• 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

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

– 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:

Un objeto persona

Nombre

edad

Empresa

• Información o atributos

Operaciones o Métodos

CambiarEmpresa

CambiarDireccion

• 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

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

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

– 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

– 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

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.

• 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

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

• 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: }

• 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

• 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

• 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

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

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

• 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

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

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

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

Clase : material

lista de superclase

lista de subclase: libro, proyecto, revista

responsabilidad colaboración

conocer_datos

prestarse

devolverse

calcular_fecha_devolución

calcular_multa

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

• 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

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

• 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

• 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>

• 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

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

Cliente

Empresa Persona natural

• 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

• 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

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

• 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

• 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

• 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

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

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