12 clase analisis orientado a objetos
DESCRIPTION
TRANSCRIPT
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