0% encontró este documento útil (0 votos)
24 vistas15 páginas

UT03 - 01-Parte01-Conceptos Generales

El documento aborda el diseño orientado a objetos, introduciendo conceptos clave como clases, objetos, métodos, y principios como la encapsulación y la herencia. Se discuten las ventajas de este enfoque, incluyendo la reutilización de código y la facilidad de mantenimiento. También se presenta UML como herramienta para la elaboración de diagramas estructurales, así como la ingeniería inversa en el contexto del desarrollo de software.

Cargado por

Isabel González
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas15 páginas

UT03 - 01-Parte01-Conceptos Generales

El documento aborda el diseño orientado a objetos, introduciendo conceptos clave como clases, objetos, métodos, y principios como la encapsulación y la herencia. Se discuten las ventajas de este enfoque, incluyendo la reutilización de código y la facilidad de mantenimiento. También se presenta UML como herramienta para la elaboración de diagramas estructurales, así como la ingeniería inversa en el contexto del desarrollo de software.

Cargado por

Isabel González
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

UT03. DISEÑO ORIENTADO A OBJETOS.

ELABORACIÓN DE DIAGRAMAS
ESTRUCTURALES.
Entornos de Desarrollo
1DAW – C.I.F.P. Carlos III - Cartagena
Índice
1.- Introducción a la orientación a objetos
2.- Conceptos de orientación a objetos
2.1.- Ventajas de la orientación a objetos.
2.2.- Clases, atributos y métodos.
2.3.- Visibilidad
2.4.- Objetos. Instanciación.
3.- UML
3.1.- Tipos de diagramas UML.
3.2.- Herramientas para la elaboración de diagramas UML.
3.3.- Diagramas de clases.
3.4.- Relaciones entre clases.
3.5.- Paso de los requisitos de un sistema al diagrama de clases.
3.6.- Generación de código a partir del diagrama de clases.
3.7.- Generación de la documentación.
4.- Ingeniería inversa.
1. Introducción a la orientación a objetos
Introducción
 Enfoque estructurado
• Proceso centrado en los procedimientos
• Se codifican mediante funciones que actúan sobre estructuras de datos 
programación estructurada.
• Qué hay que hacer  funcionalidad
 Enfoque orientado a objetos
• Simula los elementos de la realidad asociada al problema de la forma más cercana
posible.
• Abstracción: permite representar elementos  objeto
o Conjunto de atributos, datos.
o Conjunto de operaciones, comportamiento.
o Mensaje. Orden de ejecución de una operación determinada
• Aplicación orientada a objetos
o Conjunto de objetos que interaccionan a través de mensajes para producir resultados.
o Los objetos similares se abstraen en clases, se dice que un objeto es una instancia de una
clase.
Introducción
 Ejecución de una aplicación OO
• Creación de objetos a medida que se necesitan
• Los mensajes se mueven de un objeto a otro (o del usuario a un objeto).
• Borrado de objetos cuando ya no se necesitan liberación de la memoria.
2. Conceptos de orientación a objetos
Conceptos de orientación a objetos
 Objeto
• Unidad dentro de un programa de computadora que consta de un estado y de un
comportamiento, que a su vez constan de datos almacenados y de tareas
realizables durante el tiempo de ejecución. Un objeto puede ser creado
o Instanciando una clase (POO)
o Mediante escritura directa de código y al replicación (Programación basada en
prototipos)
• Es un elemento del programa que integra sus propios datos y su propio
funcionamiento (propiedades y métodos).
 Clase
• Define el tipo de objeto, cómo funciona un determinado tipo de objeto.
 Método
• Operación de un determinado objeto.
• Mensaje  llamada a una operación de un objeto.
Conceptos de orientación a objetos
 Abstracción. reunir varios elementos

• Captura características y comportamientos similares de un conjunto de objetos  conjunto de


clases.
 Encapsulación. agrupar todos los elementos en una clase

• Significa agrupar todos los elementos que pueden considerarse pertenecientes a una misma
entidad, al mismo nivel de abstracción  cohesión de los componentes del sistema.
 Modularidad hacer varias partes, dividir en clases

• Subdividir una aplicación en partes más pequeñas (módulos), cada una de las cuales debe ser tan
independiente como sea posible de la aplicación en sí y de las restantes partes.
• En POO, clase  módulo más básico del sistema
 Cohesión
• Alta cohesión  cada módulo realiza una única tarea trabajando sobre una única estructura de
datos
 Principio de ocultación
• Aísla las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder
a ellas. Reduce la propagación de efectos colaterales cuando se producen cambios.
Conceptos de OO. II
 Polimorfismo
• Consiste en reunir bajo el mismo nombre comportamientos diferentes.
• La selección del comportamiento dependerá del objeto que lo ejecute
 Herencia
• Relación que se establece entre objetos en los que unos utilizan las
propiedades y comportamientos de otros formando una jerarquía. Los
objetos heredan las propiedades y el comportamiento de todas las clases
a las que pertenecen.
 Recolección de basura
• Destrucción automática de los objetos  desvinculación de la memoria
asociada.
Ventajas
 Desarrollo de software en
• menos tiempo
• con menos coste
• mayor calidad gracias a la reutilización código reusable en otras
aplicaciones.
 Aumento de la calidad de los sistemas, haciéndolos más extensibles 
facilidad para aumentar o modificar la funcionalidad de la aplicación.
 Facilidad de modificación y mantenimiento por la modularidad y
encapsulación
 Adaptación al entorno y el cambio con aplicaciones escalables
propiedad para ampliar un sistema sin rehacer su diseño y sin disminuir su
rendimiento
Clases, atributos y métodos
 Los objetos de un sistema se abstraen en clases formada por un conjunto de
procedimientos y datos.
 Propósito de la clase: definir abstracciones y favorecer la modularidad
 Miembros:
• Nombre

• Atributos: conjunto de características asociadas a una clase. Definen


el estado del objeto. Se definen por su nombre y su tipo, que puede ser simple o
compuesto como otra clase.
• Protocolo: Operaciones (métodos, mensajes) que manipulan el estado.
o Un método es el procedimiento o función que se invoca para actuar sobre un objeto.
o Un mensaje es el resultado de cierta acción efectuada por un objeto. El conjunto de mensajes a
los cuales puede responder un objeto se le conoce como protocolo del objeto.
método utilizado muchas veces

cómo se diferecia cada método cuando lo llamamos? pues se


diferencian según el número de parámetros introducidos
Visibilidad
 Principio de ocultación  aísla el estado de manera que sólo se puede
cambiar mediante las operaciones definidas en una clase  protege los
datos de modificaciones por alguien que no tenga derecho a acceder a
ellos  las clases se dividan en dos partes:
• Interfaz: visión externa de una clase.
• Implementación: representación de la abstracción, y mecanismos que conducen
al comportamiento deseado.
 Niveles de ocultación  visibilidad  define el tipo de acceso que se
permite a atributos.
• Público: Se pueden acceder desde cualquier clase y cualquier parte del
programa.
• Privado: Sólo se pueden acceder desde operaciones de la clase.
• Protegido: Sólo se pueden acceder desde operaciones de la clase o de clases
derivadas en cualquier nivel.
Visibilidad. II
 Norma general
• Estado  privado
• Operaciones del comportamiento públicas
• Operaciones auxiliares para definir el comportamiento 
privadas/protegidas
Objetos. Instanciación
 Clase abstracción
• Una clase es "un conjunto de objetos que comparten una estructura común y
un comportamiento común." (Booch)
 Creación de objeto de clase  instancia de clase.
 Un objeto se define por:
• Su estado: definido por el conjunto de valores de atributos.
• Su comportamiento: definido por los métodos públicos de su clase.
• Su tiempo de vida: intervalo de tiempo a lo largo del programa en el que el
objeto existe, desde su creación (instanciación) hasta la destrucción del
objeto.
 Clase abstracta: no puede se instanciada.
• Uso: definir métodos genéricos para sus clases derivadas

También podría gustarte