Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes...

13
Programación Orientada a Objetos

Transcript of Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes...

Page 1: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

Programación  Orientada  a  Objetos

Page 2: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

1

Sesión No. 12 Nombre: Análisis y diseño orientado a objetos Contextualización

Cada análisis debe contemplar elementos exclusivos del medio en que se

desarrollan las aplicaciones o diseño.

Cada uno de los diseños utiliza elementos únicos, ya que no todo lo que se

desarrolla en el mercado cumple con las mismas funciones, los elementos de

análisis que se deben tomar en cuenta dependerán de las funciones que se

busquen cumplir por medio del desarrollo de las aplicaciones.

Cuando un análisis no se hace correctamente el diseño de los elementos puede

fallar, esto debido a que se tienen que contemplar varios elementos que aunque

no parezcan importantes pueden influir en el funcionamiento final de nuestra

aplicación o sistema orientado a objetos.

Los sistemas orientados a objetos requieren de un cuidado especial, ya que al

clasificar los elementos no se debe utilizar el mismo nombre en variables

diferentes, esto puede crear errores lógicos y colapsar el sistema en que se

trabaja dejando como resultado una mal ejecución del sistema e incluso puede

afectar elementos externos del sistema.

Page 3: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

2

Introducción al Tema

Después de trabajar sobre los elementos de análisis de UML podemos contar

con un proyecto final, el cual es el reflejo de todo lo anterior si en este proyecto

no se contemplan todos los elementos necesarios para su desarrollo y

cumplimiento de funciones.

Cada diseño orientado a objetos consta de elementos diferentes al igual que la

estructura y sintaxis que se desea tener, los elementos pueden ser aplicados en

multimedia y orientar estos códigos y sistemas a un objeto, el cual no sólo

depende de las funciones determinadas en los diagramas sino también en el

ingenio del programador; éstos se comprenden así debido a que cada individuo

tiene una marca personal, no es necesario seguir los códigos como se muestran

en un libro, la manera de codificar se determina por la lógica de cada quien y

muchas veces esta manera de pensar mejora los sistemas y permite que al

heredar cualquier módulo de información se tenga la posibilidad de trabajar de

manera más rápida y sólida.

El proyecto de aplicación de cualquier medio de análisis UML puede reflejar

cualquier función, desde mostrar un mensaje hasta modificar la manera en que

se registran los eventos dentro de un sistema.

Page 4: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

3

Explicación

Análisis y diseño orientado a objetos

El análisis y diseño en la programación orientada a objetos se determina como

una forma de encontrar los problemas ubicados en un medio de desarrollo y

planificación para alguna aplicación informática. El análisis permite comprender

elementos del mundo real, los cuales pueden ser aplicados dentro del mundo

virtual, esto se realiza con la finalidad de encontrar soluciones a un problema

determinado.

El desarrollo de los sistemas orientados a objetos se han mejorado ofreciendo

herramientas capaces de soportar un análisis y diseño que contengan un

enfoque en la corriente dominante. Cuando la capacidad de diseñar se combina

con la de analizar se tiene un sistema de alto nivel, éste es considerado como

una herramienta basada en el enfoque OOA&D, permitiendo la implementación

de sistemas más complejos.

Algunas características del análisis y diseño orientado a objetos son las

siguientes:

• El análisis se centra en la investigación del problema, no en la manera de

definir la solución.

• El diseño pone de relieve soluciones lógicas: es la manera en como el

sistema cumple con los requerimientos.

• La importancia y valor de estas actividades consta en situar el dominio de

un problema y su solución lógica dentro de la perspectiva de los objetos.

• Durante el análisis orientado a objetos es importante procurar identificar y

describir los objetos o conceptos concernientes al problema que se trata.

• Durante el diseño se debe procurar definir los objetos lógicos del software.

• Durante la construcción del programa o la fase de programación se

implementan componentes de diseño.

Page 5: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

4

• Se deben conocer los procesos de dominio y el ambiente externo, es

decir los factores que puede participar en el proceso.

• Los procesos pueden expresar casos de uso, los cuales son una

descripción narrativa del proceso de dominio en un formato ya

estructurado.

Dentro del análisis orientado a objetos podemos encontrar etapas con las cuales

se determina un mejor trabajo, estas etapas son:

• Capa clase objeto: esta es la capa del análisis y diseño e indica las

clases y objetos con que se cuenta y que se consideran para trabajar.

• Capa de estructura: esta captura diversas estructuras de clases y

objetos, de igual forma la manera como se relacione uno a muchos.

• Capa de atributos: esta capa detalla los atributos de las clases.

• Capa de servicios: indica los mensajes y comportamientos de los objetos.

• Capa de tema: divide el diseño en unidades de implementación o

asignación de equipos.

Mediante el uso de estas capas se puede conocer qué elemento trabaja dentro

del análisis y la manera en cómo esto afecta el trabajo o el diseño de manera

global.

De igual forma podemos comprender que dentro del análisis existen varias

etapas, las cuales constan de elementos internos y que ayudan a definir desde

un punto de vista diferente los elementos que trabajan en este medio. Algunos

de los tipos de análisis son:

• Análisis de estructuras.

• Análisis de clases y objetos.

• Análisis de atributos.

• Análisis de servicios.

Page 6: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

5

Por parte del diseño orientado a objetos podemos encontrar las categorías del

mismo en:

• Diseño orientado a objetos.

• Diseño del componente de dominio problema.

• Diseño del componente de interfaz humana.

• Diseño de componentes de administración de tareas y datos.

Proyecto de aplicación

Un proyecto de aplicación dentro de cualquier medio, es la culminación del

trabajo de investigación, desarrollo, depuración, compilación, etc. Es el momento

en que se debe tener un resultado en base a todos los procedimientos anteriores.

Retomemos de manera rápida los procesos que se requieren para cumplir con el

proyecto de aplicación:

• Definición de un objetivo: es una descripción corta del proyecto, esto

permite tener una idea general del mismo.

• Detección de los requerimientos: es la clasificación de los

requerimientos del proyecto, estos se identifican con una clave que hace

referencia en los diagramas más detallados.

• Definición de los casos de uso: representa la funcionalidad completa

de un sistema mostrando su interacción con los agentes externos. Esta

representación se realiza a través de las relaciones entre actores y casos

de uso dentro del sistema.

• Definición de los subcasos de uso: hacen referencia a la

descomposición de los casos de uso. Se dan en la existencia de una

relación entre dos casos de uso.

• Descripción de los casos de uso: mediante un formato de registros se

lleva a cabo una descripción para ayudar a comprender los casos y

subcasos de uso.

Page 7: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

6

• Realización del control de proyectos: es el manejo de formatos, en los

cuales se mantienen los registros necesarios para el desarrollo del

proyecto, el formato puede constar de elementos como nombre, alias,

actores, función, descripción, referencia, etc.

• Definición de los eventos: se establecen los eventos que pueden ser

generados por el actor y que serán atendidos por cada caso de uso.

• Desarrollo de diagrama conceptual: éste muestra los conceptos

presentes en el dominio del problema.

• Desarrollo de diagrama de estructura estática: muestra una vista de la

aplicación en un determinado momento.

• Desarrollo de diagrama de interacción: es una cadena de mensajes

enviados entre los objetos en respuesta a un evento generado por el

usuario sobre la aplicación.

• Definición de contratos: es un formato que describe una operación que

debe ser satisfecha o lograrse.

• Diagrama de estado: muestra la secuencia de los estados de un objeto

durante su ciclo de vida, como parte de una respuesta a un estímulo

recibido.

• Diagrama de actividades: se utiliza para especificar, construir la

dinámica de un conjunto de objetos o simplemente para modelar el flujo

de control de una operación.

Page 8: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

7

Conclusión

El diseño y análisis de cualquier elemento es importante, ya que con esto se

pueden definir nuevas funciones en elementos o capos que requieren de una

renovación o trabajo específico.

Siempre que se realiza un análisis se debe tener cuidado con los datos que se

consideran y lo que no, ya que esto puede marcar una diferencia entre un

proyecto funcional y una pérdida de tiempo. Todo diseño debe ser

fundamentado en una investigación y un análisis, además de cumplir con reglas

específicas, por ejemplo, en el diseño gráfico, se cuenta con reglas sobre el uso

de colores, la ubicación de textos, el uso de los tipos de letra entre otros

elementos, estas reglas ayudan a determinar un mejor control de los datos y los

resultados que se buscan.

Dentro de cada proyecto que deseemos realizar, siempre debemos definir

elementos de investigación y objetivos a seguir y cumplir, estos objetivos pueden

ser tener un mejor diseño de interfaz, mayor rendimiento en las aplicaciones o

cualquier otro que se tome en cuenta desde el inicio.

Page 9: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

8

Para aprender más

El Análisis y diseño orientado a objetos

Dentro de esta etapa existen elementos que se pueden considerar de

importancia, éstos se definen por el diseñador de la aplicación o el programador

que trabaja sobre le creación y consolidación del sistema. Algunos elementos

son:

• El diseño orientado a objetos, define las especificaciones lógicas del

software que cumple con los requisitos funcionales.

• Se asignan responsabilidades entre los objetos y se muestra cómo

interactúan a través de mensajes.

• El diagrama de colaboración presenta el flujo de mensajes entre las

instancias y la invocación de métodos.

• Para definir una clase se requiere de determinar varios elementos:

o La conexión de los objetos con otros.

o El uso de los métodos de una clase.

El modelo de diseño no muestra gráficamente los conceptos del mundo real,

describe solamente los componentes del software.

Algunos de los tipos de análisis son:

Ø Análisis de estructuras: dentro de éste ubicamos dos tipos de

estructuras: o Estructura generalización-especialización: estas relaciones

entre clases son llamadas relaciones de clasificación. o Estructura todo-partes: indica conjuntos diferentes de objetos

que componen otro objeto completo.

Page 10: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

9

Ø Análisis de clases y objetos.

Ø Análisis de atributos: definen las propiedades de un objeto de datos, se

basa también en el uso de tres ideas relevantes desde el punto de vista

orientado a objetos. § Los atributos son siempre más propensos al cambio de clases.

§ Los atributos deben ser mantenidos tan alto como sea posible en las

estructuras.

§ Las asociaciones o relaciones entre objetos deben ser detalladas

como conexiones de ocurrencia.

o Conexiones de ocurrencia: no se especifican los atributos de

llave primaria, sino que las referencias entre objetos, como las

asociaciones y relaciones, se indican por una sola línea entre los

objetos de la misma notación y cardinalidad. o Plantilla de especificación preliminar: con el uso de atributos

es necesario contar con detalles de análisis adicionales para dar

soporte al diagrama de capas.

Ø Análisis de servicios: puede ser llamado método o procedimiento y es

parte importante de los objetos como los atributos.

Por parte del diseño orientado a objetos, podemos encontrar las categorías del

mismo en:

• Diseño orientado a objetos: éste se agrupa en componentes de la

interfaz humana, el exponente de manejo de datos y el componente de

manejo de tareas, todos estos expandidos en etapas.

• Diseño del componente de dominio problema: es el conjunto de

objetos funcionales que llega de la etapa de análisis, éste determina tres

actividades:

Page 11: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

10

o Diseño de reúso: se puede añadir en esta etapa nuevas clases

para reusar objetos que serán útiles más adelante.

o Estructura de implementación: en éste podría ser necesario que

al diseño se agreguen estructuras que pueden ser de Gen-Spec.

o Acomodo al lenguaje: aquí se pueden corregir diseños para las

estructuras que consiguen ser construidas en el lenguaje de

programación seleccionado.

• Diseño del componente de interfaz humana: en esta se crean menús,

reportes y pantallas interactivas que usarán las personas para poder

trabajar con el sistema.

• Diseño de componentes de administración de tareas y datos: estos

componentes están estrechamente relacionados con la tecnología de

implementación. El manejo de tareas está determinado por la

configuración de hardware y el manejo de datos por el software disponible

en el sistema.

Page 12: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

11

Actividad de Aprendizaje

Instrucciones

Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta

sesión, ahora tendrás que realizar una actividad en la cual a través de un

análisis orientado a cualquier actividad en tu vida cotidiana, descompongas en

procesos primarios y secundarios esta función que realizas, puede ser cocinar,

preparar pintura o cualquier otra actividad.

Puedes realizarlo en cualquier programa, al final tendrás que guardarlo como un

documento de texto para subirlo a la plataforma de la asignatura.

Page 13: Programación+OrientadaaObjetos - UNID · de un sistema mostrando su interacción con los agentes externos. Esta representación se realiza a través de las relaciones entre actores

PROGRAMACIÓN  ORIENTADA  A  OBJETOS

12

Bibliografía

• Canchala L. (s.f.) UML ejemplo sencillo sobre modelado de un proyecto.

Consultado en: http://msdn.microsoft.com/es-es/library/bb972214.aspx

• Luna M. (2005) Análisis y diseño orientado a objetos. Consultado en:

http://docentes.uni.edu.ni/fec/Giovanni.Saenz/Ingenieria_de_Software/Ana

lisis_y_DisenoOO.pdf

• Ramírez A., Vanpeperstraete P., Ruecket A., Odutola K., Bennet J., Tolke

L., Ven der Wulp M. (2008) Análisis orientado a objetos y diseño.

Consultado en: http://argouml-stats.tigris.org/nonav/documentation-

es/manual-0.28/ch01.html#s2.ooad

• Rossainz M. (s.f.) Diseño orientado a objetos. Consultado en:

http://www.cs.buap.mx/~dpinto/semadoo/mario.pdf