Fundamentos POO, Diagramas de Caso de Uso y Diagramas de Clase Luis Antonio Rosas Castillo 2° Cuatrimestre Grupo: “A” TIC-SI Docente: Lic. Cesar Espinoza Asignatura: Introducción al Análisis y Diseño LUIS ANTONIO ROSAS CASTILLO 1 13 de Abril del 2011 FUNDAMENTOS DE LA POO INTRODUCION La programación de computadoras es una actividad humana que se ha desarrollado casi enteramente durante la segunda mitad del siglo XX. Su uso se popularizó a principios de la década de los años 1990. DESARROLLO Fundamentos de la POO La POO es una técnica para desarrollar soluciones computacionales utilizando componentes de software (objetos de software). Objeto: Componente o código de software que contiene en sí mismo tanto sus características (campos) como sus comportamientos (métodos); se accede a través de su interfaz o signatura. Campo: Es una característica de un objeto, que ayuda a definir su estructura y permite diferenciarlo de otros objetos. Se define con un identificador y un tipo, el cual indica los valores que puede almacenar. El conjunto de valores de los campos definen el estado del objeto. Método: Es la implementación de un algoritmo que representa una operación o función que un objeto realiza. El conjunto de los métodos de un objeto determinan el comportamiento del objeto. La POO es un paradigma de la programación de computadores; esto hace referencia al conjunto de teorías, estándares, modelos y métodos que permiten organizar el conocimiento, proporcionando un medio bien definido para visualizar el dominio del problema e implementar en un lenguaje de programación la solución a ese problema. Una ventaja de la POO Es la facilidad que brinda a través de sus herramientas, de concebir, analizar, modelar, diseñar e implementar el mundo real de manera fiel a como se presenta en la realidad; el paso que hay desde la concepción y asimilación del problema hasta la implementación del mismo es un proceso que se hace de manera casi natural. CONCLUSIONES Para entender cómo funciona el paradigma de la programación orientada a objetos es necesario ver un programa como una colección de objetos que interactúan entre sí enviándose mensajes y cambiando su estado durante la ejecución. http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r51770.PDF http://msdn.microsoft.com/es-es/library/bb972232.aspx LUIS ANTONIO ROSAS CASTILLO 2 13 de Abril del 2011 DIAGRAMAS DE CLASES INTRODUCION Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento. En octubre de 1994 cuando rombaugh se ubio a la compañía racional fundada por Boch el objetivo de ambos era unificar los métodos que habían desarrollado el método booch y el OMT DESARROLLO Un diagrama de clases está compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición, Agregación, Asociación y Uso. Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro. Representación de: - Requerimientos en entidades y actuaciones. - La arquitectura conceptual de un dominio - Soluciones de diseño en una arquitectura Componentes de software orientados a objetos LUIS ANTONIO ROSAS CASTILLO 3 13 de Abril del 2011 Conclusión Un diagrama de clase muestra el conjunto de empezar nuestro proyecto más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra . Referencias http://www.dcc.uchile.cl/~psalinas/uml/modelo.html http://es.wikipedia.org/wiki/Diagrama_de_clases Diagramas de Casos de Uso UML INTRODUCION En 1986 Jacobson además de introducir los casos de uso como elementos primarios del desarrollo del software también diseño un programa para la representación grafica de los casos de uso el diagrama es también parte de UML. DESARROLLO Es una tarea que se lleva a cabo con el apoyo del sistema que se esta desarrollando u se representa mediante un ovalo y el actor de representa como un monigote Los diagramas de casos de uso sirven para espesificar la comunicación y el comportamiento de un sistema mediante una interacion con los usuiarios y otros sistemas. Dentro de diagramas de caso de uso existe otro tipo de comunicación o asociaciones que son las relaciones ( ), asociación de comunicación ( ) estencion e inclusion ( ) generatris. En otras palabras el caso de uso es una secuensia de interaciones que se dasarrollan entre un sistem,a y sus actores en respuesta a un evento que se realiza he inicia un actor principal sobre el propio sistema. LUIS ANTONIO ROSAS CASTILLO 4 13 de Abril del 2011 Inclusión (include o use) Es una forma de interacción o creación, un caso de uso dado puede "incluir" otro. El primer caso de uso a menudo depende del resultado del caso de uso incluido. Esto es útil para extraer comportamientos verdaderamente comunes desde múltiples casos de uso a una descripción individual, desde el caso de uso. Extensión (Extend) Es otra forma de interacción, un caso de uso dado, (la extensión) puede extender a otro. Esta relación indica que el comportamiento del caso de la extensión se utiliza en casos de uso, un caso de uso a otro caso siempre debe tener extensión o inclusión. uso extensión puede ser insertada en el caso de uso extendido bajo ciertas condiciones. La notación, es una flecha de punta abierta con línea discontinua, desde el caso de uso extensión al caso de uso extendido, con la etiqueta «extend». Esto puede ser útil para lidiar con casos especiales, o para acomodar nuevos requisitos durante el mantenimiento del sistema y su extensión. "La extensión, es el conjunto de objetos a los que se aplica un concepto. Los objetos de la extensión son los ejemplos o instancias de los conceptos." En UML, una clase es representada por un rectángulo que posee tres divisiones: En donde: Superior: Contiene el nombre de la Clase Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private, protected o public). Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private, protected o public). Herencia (Especialización/Generalización): Indica que una subclase hereda los métodos y atributos especificados por una Super Clase, por ende la Subclase además de LUIS ANTONIO ROSAS CASTILLO 5 13 de Abril del 2011 poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase (public y protected), ejemplo: Agregación: Para modelar objetos complejos, n bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades: Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comunmente llamada Composición (el Objeto base se contruye a partir del objeto incluido, es decir, es "parte/todo"). Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comunmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento Conclusiones El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana está condicionado a la instanciación proveniente desde el objeto aplicaciones. LUIS ANTONIO ROSAS CASTILLO 6 13 de Abril del 2011