Programación Orientada a Objetos

Anuncio
Programación Orientada a Objetos
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
1
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
2
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
3
PROGRAMACIÓN ORIENTADA A OBJETOS
•
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.
4
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
5
PROGRAMACIÓN ORIENTADA A OBJETOS
•
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.
6
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
7
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
8
PROGRAMACIÓN ORIENTADA A OBJETOS
Ø 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:
9
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
10
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
11
PROGRAMACIÓN ORIENTADA A OBJETOS
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.
http://www.cs.buap.mx/~dpinto/semadoo/mario.pdf
Consultado
en:
12
Descargar