Академический Документы
Профессиональный Документы
Культура Документы
Que es Metodologa
Conjunto de mtodos empleados para el desarrollo de sistemas automatizados. Hace referencia al conjunto de procedimientos basados en principios lgicos, utilizados para alcanzar una gama de objetivos. Una metodologa completa es algo ms que una notacin, un proceso, y herramientas.
Que es un Mtodo
Procedimiento que se emplea para alcanzar los objetivos de un proyecto. Procedimiento: es el modo de ejecutar determinadas acciones que suelen realizarse de la misma forma, con una serie comn de pasos claramente definidos, que permiten realizar una ocupacin, trabajo, investigacin, o estudio, se puede aplicar a cualquier empresa.
Qu es Orientado a Objetos
Significa que el sistema se organiza como una coleccin de objetos que interactan entre s y que contienen tanto estructuras de datos como un comportamiento. Se opone a la programacin convencional, en la cual las estructuras de datos y el comportamiento solamente estn relacionadas de forma dbil, ya que estos se enfocan principalmente a las funciones
Orientacin a Objetos
Objeto
Clase
Encapsulamiento Relaciones
Abstraccin
Jerarqua y Herencia Modularidad
Polimorfismo
Objeto
Un objeto se define como una estructura que encapsula atributos (caractersticas) y comportamientos (procedimientos o funciones) de una entidad con un papel bien definido en una aplicacin. Objeto: Los objetos son las cosas fsicas y/o conceptuales que encontramos en el universo alrededor de nosotros.
QUE ES UN OBJETO?
Entidades Fsicas (Ej.: Vehculo, Casa, Producto)
Entidades Conceptuales (Ej.: Proceso Qumico, Transaccin Bancaria)
Clasificacin. Significa que los objetos con la misma estructura de datos (atributos) y comportamiento (operaciones) se renen para formar una clase. La seleccin de clases es arbitraria y depende de la aplicacin.
Representa la definicin del comportamiento del objeto, las acciones que ste puede realizar.
COMPORTAMIENT O
ESTADO
UN OBJETO POSEE
Cada objeto tiene una identidad nica, incluso si su estado es idntico al de otro objeto
IDENTIDA D
Objetos y Clases
Una clase es una definicin abstracta de un objeto
Define la estructura y el comportamiento compartidos por los objetos Sirve como modelo para la creacin de objetos
Qu es una Clase?
Una clase es una descripcin de un grupo de objetos con:
Propiedades en comn (atributos) Comportamiento similar (operaciones) La misma forma de relacionarse con otros objetos (relaciones) Una semntica en comn (significan lo mismo)
Qu es una Clase?
Una clase es una abstraccin que: Enfatiza las caractersticas relevantes esenciales, dentro de las cuales se encuentran sus:
Atributos (o datos). Comportamiento (mtodos)
Relaciones
Todo sistema abarca muchas clases y objetos Los objetos contribuyen en el comportamiento de un sistema colaborando entre si
La colaboracin se logra a travs de las relaciones
Relaciones de Asociacin
Una asociacin es una conexin entre dos clases que representa una comunicacin
Una asociacin puede tener nombre La comunicacin puede ser tanto uni como bi-direccional (por defecto) La multiplicidad es el nmero de instancias que participan en una asociacin
Ejemplo:
Una Persona es Duea de un Vehculo Un Vehculo Pertenece a una Persona
Persona -dueo Vehiculo
Relaciones de Agregacin
La agregacin es una forma especial de asociacin donde un todo se relaciona con sus partes
Tambin se conoce como una parte de o una relacin de contencin
Ejemplo:
Una Puerta es una parte de un Vehculo El Vehculo es azul, la Puerta es Azul Mover el Vehculo implica mover la Puerta
Vehiculo -color +Mover() Puerta
Abstraccin
Extraer las propiedades esenciales de un objeto que lo distinguen de los dems tipos de Objetos y proporciona fronteras conceptuales definidas respecto al punto de vista del observador Denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos.
Abstraccin
Es la capacidad para encapsular y aislar la informacin de diseo y ejecucin Una abstraccin se centra en la vista externa de un objeto, de modo que sirva para separar el comportamiento esencial de un objeto de su implementacin. Definir una abstraccin significa describir una entidad del mundo real, no importa lo compleja que pueda ser y, a continuacin, utilizar esta descripcin en un programa.
Encapsulamiento
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Los lenguajes orientados a objetos proporcionan la Encapsulacin. La encapsulacin se puede utilizar para aplicar el concepto de Abstraccin.
Encapsulamiento
Cada objeto est aislado del exterior, es un mdulo natural, y la aplicacin entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificacin por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones
Encapsulamiento
Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos
Deben ser declarados como privados
Permite abstraer al resto del mundo de la complejidad de la implementacin interna Permite exponer el estado del objeto slo a travs del comportamiento que le hayamos definido mediante miembros pblicos Por qu es til?
Punto de Control/Validacin Mejor respuesta ante los Cambios
Herencia
Clase Base
Es una relacin entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch) Cada clase que hereda de otra posee:
Los atributos de la clase base adems de los propios Soporta todos o algunos de los mtodos de la clase base
Automvil
Avin
Herencia
Herencia Es-Un: herencia real, donde la subclase es un tipo especfico de la superclase
Un Cuadrado es un Rectngulo Un perro es un mamfero Un automvil es un vehculo a motor
Herencia
Vehiculo
Aereo
Acuatico
Terrestre
Avin
Barco
Automvil
Jerarqua
La Jerarqua es una propiedad que permite la ordenacin de las abstracciones. Las dos jerarquas ms importantes de un sistema complejo son: estructura de clases (jerarqua es-un (is-a): generalizacin/especializacin) y estructura de objetos (jerarqua parte-de (part-of): agregacin).
Jerarqua
Las jerarquas de generalizacin /especializacin se conocen como herencia. Bsicamente, la herencia define una relacin entre clases, en donde una clase comparte la estructura o comportamiento definido en una o ms clases (herencia simple y herencia mltiple, respectivamente).
Jerarqua
Jerarqua de clases. Las relaciones de herencia forman una estructura de rbol (jerarqua). Ejemplo:
Polimorfismo
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. Es la posibilidad de que una entidad tome muchas formas. En trminos prcticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operacin de diferentes formas, segn sea el objeto que se referencia en ese momento.
Polimorfismo
El polimorfismo adquiere su mxima expresin en la derivacin o extensin de clases, es decir, cuando se obtiene una clase a partir de una clase ya existente, mediante la propiedad de derivacin de clases o herencia. Suponga una jerarqua de clases de figuras de dos dimensiones. Cada clase puede tener un mtodo que se llame igual, por ejemplo rea() pero cada clase tendr una formula de clculo de rea diferente segn la clase.
Polimorfismo
La definicin del mtodo reside en la clase base La implementacin del mtodo reside en la clase derivada La invocacin es resuelta al momento de interface ejecucin interface Acuatico Aereo
+Navegar() +Volar()
Hidroavion
Polimorfismo
Por ejemplo, la operacin comer es una operacin fundamental en la vida de los mamferos, de modo que cada tipo de mamfero debe poder realizar la operacin o funcin comer. Por otra parte, una cabra o una vaca que pastan en un campo, un nio que se come un caramelo y un animal que devora a otro animal, son diferentes formas que utilizan diferentes mamferos para realizar la misma funcin (comer).
La Modularidad implica
El programa se puede construir, probar y depurar por mdulos. Al agregar nueva funcionalidad, se pueden crear nuevos mdulos o incluir la funcionalidad en mdulos que ya existen. Se facilita el localizar errores, el mantenimiento y el crecimiento del software. El diseo orientado a objetos se interesa en primer lugar por los datos, a los que se asocian posteriormente procedimientos
Solucin Lgica
Cdigo
Durante el Diseo OO, se procura definir los objetos lgicos del software, que sern implementados en un lenguaje de programacin oo. Ej el Objeto Libro tiene el atributo titulo y el mtodo imprimir.
Preguntas que contesta Cules son los procesos del dominio? Cules son los conceptos, los trminos?
Cules son los eventos y las operac. del
Especificaciones de requerimientos
Comprende las tareas relacionadas con la determinacin de las necesidades o de las condiciones a satisfacer para un software nuevo o modificado, tomando en cuenta los diversos requerimientos de los clientes. El propsito es hacer que los mismos alcancen un estado ptimo antes de alcanzar la fase de diseo en el proyecto. Los buenos requerimientos deben ser medibles, comprobables, sin ambigedades o contradicciones.
Especificaciones de requerimientos
Los requerimientos para un sistema de software determinan lo que har el sistema y definen las restricciones de su operacin e implementacin. Para esta actividad se debe: Identificacin de requisitos: Identificar las necesidades del usuario (del negocio). Anlisis y negociacin de requisitos: Describir los objetivos de la aplicacin.
Especificaciones de requerimientos
Especificacin de requerimientos: Definir caractersticas y funciones generales de la aplicacin.(requerimientos funcionales y no funcionales) Validacin de requisitos: El equipo de Ingeniera de sistemas y los clientes deben establecer en conjunto las metas y objetivos de la aplicacin. Factores en la calidad del software: Eficiencia, Transportabilidad, Verificabilidad, Fcil de utilizar, Correccin, Extensibilidad, Compatibilidad Reutilizacin.
Caso de uso
Es una tcnica para la captura de requisitos potenciales de un nuevo sistema o una actualizacin de software. Cada caso de uso proporciona uno o ms escenarios que indican cmo debera interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo especfico. Ejemplo:
Caso de uso
Escenarios
Es una descripcin parcial y concreta del comportamiento de un sistema en una determinada situacin.
Prototipo
Es una representacin de aquellos aspectos del software que sern visibles para el cliente (por ejemplo, la configuracin de la interfaz con el usuario y el formato de los despliegues de salida). El prototipo, es evaluado por el cliente para una retroalimentacin; gracias a sta se refinan los requisitos del software que se desarrollar.
Prototipo
Diseo OO
Es el proceso de dividir una solucin en una cantidad determinada de objetos constituyentes Es una fase de la metodologa orientada a objetos para el desarrollo de Software. Su uso induce a los programadores a pensar en trminos de objetos, en vez de procedimientos, cuando planifican su cdigo. Un objeto agrupa datos encapsulados y procedimientos para representar una entidad.
Diseo OO
La 'interfaz del objeto', esto es, las formas de interactuar con el objeto, tambin es definida en esta etapa. El diseo orientado a objetos es la disciplina que define los objetos y sus interacciones para resolver un problema de negocio que fue identificado y documentado durante el anlisis orientado a objetos.
Programacin OO
Toma las mejores ideas de la programacin estructurada la combina con nuevos y poderosos conceptos que animan o alientan una nueva visin de la tarea de la programacin, permite descomponer fcilmente un problema en subgrupos de partes relacionadas, entonces, puede traducir estos subgrupos en unidades autocontenidas llamadas Objetos
Es un paradigma de programacin que usa objetos y sus interacciones para disear aplicaciones y programas de computadora.
Programacin OO
Est basado en varias tcnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se populariz a principios de la dcada de 1990.