Está en la página 1de 19

ANLISIS Y DISEO ORIENTADO A OBJETO.

CLASE 1

Anlisis y diseo Orientado a Objeto Semana 1


Esta semana conocers algunos conceptos bsicos de orientacin a objetos, aprenders de su importancia y comenzars a realizar los primeros procesos de anlisis utilizando esta metodologa.

Introduccin al anlisis y diseo Orientado a Objetos


Bienvenido al mundo de los objetos! te felicito por emprender este camino, aprenders a ver tu entorno de una forma distinta. Para ello comenzaremos trabajando con la forma en que piensas y cambiaremos el modo en la que analizas las cosas, el objetivo es convertirte en una persona capaz de hacer un buen anlisis sobre las situaciones que te rodean, ya que esto tendr un directo beneficio en los programas computacionales que crears en el futuro prximo y la forma en la que entregars soluciones al medio que te rodea. Mientras mejor entendamos nuestro entorno podremos tomar mejores decisiones. Todos hemos utilizado software alguna vez y de seguro que has encontrado algunos mejores que otros, probablemente en este momento ests recordando dos o ms software que hayas usado y cul de ellos te agrad ms, no slo considerando la usabilidad o lo vistoso del software, sino a un mundo completo que esta detrs que an no conoces pero del cual sers partcipe muy pronto, que va en desde cmo utiliza el hardware en el que funciona, la velocidad en la que se comunica por la red con otros componentes de software e incluso con la optimizacin con la que realiza clculos y los entrega al usuario. Quin se encarga de todo eso? Existe algn responsable de que todas las partes trabajen en forma eficiente? Quin debe velar porque lo que se construye solucione de la mejor forma posible un problema? Como

me imagino ya lo adivinars esa persona en un futuro cercano sers t. Por eso es tan importante tener una buena capacidad de anlisis, de esta forma comprenders mejor las cosas y podrs tomar mejores decisiones, mientras ms comprendemos menos deberemos memorizar. El primer paso consiste en hacer anlisis, entender el problema de tu cliente e identificar una buena solucin. El segundo paso ser disearla, el paso previo a construirla. Muchos software comienzan a ser codificados sin un buen anlisis, lo que da como resultado un producto deficiente que no soluciona el problema del cliente. Un mal diseo provocara un software con errores en el cual errores en se habr los trabajado probablemente el doble de lo necesario,

diseo comienzan notarse tarde en el

desarrollo haciendo que una gran cantidad de programas queden en el 90% de su construccin, haciendo que el 10% restante implique incluso ms trabajo que el 90% anterior. Para que te hagas una idea esto no es algo que no pase en el resto de las disciplinas, has pensado en cmo quedara un edificio si la constructora comienza su tarea sin un anlisis y diseo apropiado? y si lo logra, soportar el prximo temblor? Ahora pensemos en qu sucede si el diseo es apropiado, pero proviene de un mal anlisis de requerimiento y si bien el edificio queda bonito con 80 pisos, grandes ventanales y piscina en la azotea, pero despus de construido y luego de una larga y pausada conversacin con tu cliente en la cual te tomas ms tiempo para entenderlo, haces un mejor anlisis y te

das cuenta que lo que en realidad necesitaba era un bunker subterrneo para sobrevivir al paso de un tornado. A estas alturas ya no hay nada que hacer, desarmar el edificio, para dejar el terreno libre para luego comenzar a disear y construir un bunker llevar sin duda a tu empresa a un fracaso, deja a tus clientes sin un bunker y a t en un serio problema, por esto una buena capacidad tanto de anlisis como de diseo es tan importante.

Definicin del anlisis y diseo orientado a objetos


El anlisis y diseo orientado a objetos es un enfoque de la ingeniera de software que permite modelar un sistema como diseo un conjunto a los de objetos relacionados una los serie que de o interactan entre si. Para lograr esta tarea, el anlisis y orientado entre en objetos que (Unified propone destacan Modeling diagramas propuestos diagramas

UML

Language

Lenguaje Unificado de Modelado) que surge como una estandarizacin de los diagramas propuestos por muchos tericos de esta disciplina alrededor del mundo. El proceso de anlisis y diseo orientado a objetos (desde ahora ADOO) se basa en analizar un problema (generalmente asociado al manejo de datos) y tratar de resolverlo utilizando para esto estructuras del mundo real. La unidad bsica es el objeto, que combina datos y comportamientos que se realizan con estos datos y que se unen en una estructura atmica.

Importancia del anlisis y diseo orientado a objetos


El ADOO es parte de un proceso que se conoce como Ingeniera de Requerimientos, que consiste en tratar de recopilar la mayor cantidad de datos disponible respecto a una serie de procesos para los cuales se requiere construir una solucin utilizando tecnologas de

informacin. Las tecnologas de informacin son un grupo de tecnologas cuyo propsito es gestionar los datos que son importantes para una organizacin. Por lo tanto los sistemas que utilizan tecnologas de informacin, no slo hacen referencia al software, sino que tambin a los procesos, las personas y la infraestructura (hardware) necesario para poder administrar de la mejor forma posible los datos que son necesarios para que la organizacin realice su propsito. Un correcto proceso de anlisis permitir a los ingenieros de software tomar mejores decisiones para la creacin, gestin y administracin de proyectos de tecnologas de informacin. Un anlisis incorrecto puede generar un enorme costo para la organizacin, pues sta puede tomar malas decisiones respecto a su negocio por no contar con la informacin correcta en el momento adecuado. Adicionalmente, el desarrollo de un proyecto de tecnologas de informacin no es un proceso que se realiza de un da para otro, sino que requiere de un tiempo que es difcil de estimar en un principio y por lo tanto su costo puede elevarse en demasa si el anlisis inicial no est bien hecho, por lo que esta etapa resulta crucial en el desarrollo de los proyectos de tecnologas de informacin.

Diferentes metodologas de anlisis de sistemas.


Al realizar el anlisis de procesos en las organizaciones, existen diferentes metodologas que se pueden ocupar para lograr el resultado esperado. Como definicin formal podemos referencia decir al que una de

metodologa

hace

conjunto

procedimientos racionales, utilizados para alcanzar una gama de objetivos que rigen en una investigacin cientfica, una exposicin doctrinal o tareas que requieran habilidades, conocimientos o cuidados especficos. Alternativamente puede definirse la metodologa como el estudio o eleccin de un mtodo pertinente para un determinado objetivo.1. De esta forma podemos decir que las metodologas como un conjunto de pasos para lograr un objetivo, se pueden clasificar utilizando el enfoque que se aplica para el proceso, objetos. La metodologa estructurada se origin en los lenguajes de programacin estructurados para dar soporte a las necesidades del lenguaje. Esta metodologa sent las primeras estructuras para la definicin de la llamada ingeniera de software es decir se definieron fases y etapas para dar solucin a proyectos de software que se
1

existiendo

dos

metodologas

bsicas,

una

metodologa estructurada y una metodologa orientada a

http://es.wikipedia.org/wiki/Metodolog%C3%ADa

van a desarrollar utilizando un lenguaje de programacin estructurado. Adicionalmente a sta, surge la metodologa orientada a objetos, la cual se ha desarrollado y ha permanecido en el tiempo siendo el paradigma de anlisis y diseo de proyectos de tecnologas de informacin ms utilizada en estos tiempos. Esta metodologa que comenz a desarrollarse a finales de los aos sesenta de la mano del desarrollo de lenguajes de programacin orientados a objetos, ha evolucionado durante todos estos aos, estableciendo Esta una serie de pasos que han y sido los extraordinariamente probados en una serie de proyectos. metodologa del evoluciona tema constantemente nuevas estudiosos desarrollan formas

optimizadas y cada vez ms especficas para el anlisis y diseo en situaciones particulares llamadas patrones de diseo. El desarrollo de proyectos de tecnologas de informacin orientados a objetos, requieren tcnicas orientadas a objetos que se aplican durante las etapas de anlisis, construccin e implementacin del proyecto. Estas metodologas requieren que se detecten los objetos del sistema, cmo stos interactan, cmo se comportan en el tiempo y las responsabilidades que asumen al relacionarse con otros objetos. El anlisis orientado a objetos mira todos los objetos en el sistema, agrupa sus caractersticas y comportamientos comunes, estudia sus diferencias y cmo el sistema maneja estos objetos para lograr su objetivo.

En trminos sencillos, el anlisis y diseo orientado a objetos est basado en identificar a los objetos en un sistema y sus interrelaciones. Una vez que esta parte est hecha, es necesario modelar el sistema, esta etapa es similar a la etapa de la metodologa estructurada, pues tambin se sigue un proceso secuencial pero con una aproximacin diferente. Las etapas bsicas del diseo de sistemas en un modelo orientado a objetos, se pueden listar de la siguiente forma: Anlisis de Sistemas. Diseo del sistema. Diseo de los objetos. Implementacin. La etapa de anlisis de sistemas es la primera parte del proceso de desarrollo de proyectos de tecnologas de informacin orientados a objetos, al igual que en las otras metodologas. En esta fase es necesario interactuar con los usuarios del sistema (los que realizan las acciones) para identificar sus necesidades y analizar el sistema para entender su funcionalidad. Basndose en el sistema estudiado, se prepara un modelo del sistema definido. Este modelo est basado puramente en lo que se requiere que el sistema haga. En esta etapa los detalles de implementacin (como se van a hacer las cosas) no son tomados en cuenta. Slo se prepara un modelo del sistema basndose en la idea de que el sistema es un conjunto de objetos que interactan.

La etapa de diseo del sistema es la siguiente etapa de desarrollo dnde se decide la arquitectura del modelo completo (hardware y software). Este sistema complejo es organizado en un conjunto de sub procesos, cada uno con su proyecto individual, los cuales van a interactuar unos con otros. Mientras se disea el sistema, es necesario poner especial atencin a las especificaciones de los procesos definidos en la etapa anterior por parte de los usuarios. Como el anlisis orientado a objetos percibe los sistemas como un conjunto de objetos que interactan, as mismo los sistemas ms grandes y complejos se pueden ver como un conjunto de pequeos sistemas que interactan entre s. En la etapa de diseo de los objetos, se definen los detalles del anlisis del sistema y del diseo para definir cmo sern implementados. Ac se decide la forma en la que se van a construir los objetos de manera de implementar objetos. La fase de implementacin implica transformar el diseo de los objetos a cdigo, utilizando algn lenguaje de programacin. Adicionalmente se construyen todas las estructuras que darn soporte al funcionamiento del software (hardware y procedimientos). Tambin se construyen los almacenes de datos o bases de datos, para dar una forma lo ms funcional posible al sistema. las estructuras de datos, los comportamientos y las relaciones entre cada uno de los

Las metodologas orientadas a objeto se basan en la identificacin de los objetos del sistema. Cuando se observan de forma detenida, los objetos muestran ciertas caractersticas y comportamientos que les son propios. Mientras se desarrolla el proyecto, se utilizan ciertos modelos para identificar a los objetos. Bsicamente se usan tres modelos: a) Modelo de objetos: Este modelo describe a los objetos en un sistema y sus interrelaciones. Analiza al sistema como un conjunto de elementos estticos y no se preocupa de la dinmica que estos puedan tener. b) Modelo dinmico: Este modelo describe a los objetos en su aspecto dinmico, es decir muestra los cambios ocurridos en el estado de varios objetos que estn interactuando en un momento determinado. c) Modelo de flujo de datos: Este modelo describe bsicamente los datos que han sido transformados por el sistema. De esta forma se describen los flujos de los datos y los cambios que ocurren a los datos a travs del sistema Comparada con las tcnicas de desarrollo de sistemas convencionales, el ADOO tiene muchas ventajas, algunos de ellos son: Reusabilidad: Las estructuras que se construyen pueden ser utilizadas en otros proyectos, esto permite reducir los tiempos de desarrollo, pues las

clases que se construyen se crean de tal forma que pueden ser mantenidas para usos posteriores. Herencia: El concepto de herencia ayuda al programador a usar cdigo existente de otra forma, es decir se pueden agregar nuevas funcionalidades o extender la funcionalidad ya existente para crear nuevas clases. Ignorancia selectiva: la encapsulacin es la tcnica que permite al programador esconder el funcionamiento interno de los mtodos al usuario. La encapsulacin separa la funcionalidad interna del objeto de las funciones externas provistas al usuario. Esto permite al programador proteger el cdigo de cambios realizados por el usuario. Los sistemas diseados utilizando este enfoque estn ms cercanos al mundo real pues las funciones del mundo real se mapean directamente a los sistemas. La metodologa orientada a objetos representa el dominio del problema, pues es fcil reproducir e interpretar los diseos. Los objetos en el modelo son inmunes a los cambios en los requerimientos, un objeto alumnos ser un objeto alumno independiente de ms o menos atributos o comportamientos que se agreguen. Por lo tanto los cambios se pueden desarrollar de forma ms fcil. Los diseos realizados con esta metodologa enfatizan la reutilizacin. Las nuevas aplicaciones pueden usar mdulos ya existentes, por lo tanto se reduce el tiempo

de anlisis y desarrollo, redundando esto en un costo final menor al trmino del ciclo de vida. Las metodologas ms orientadas a natural, objetos, tienen una entrega mejores

aproximacin

esto

estructuras para el pensamiento y la abstraccin y permite un diseo ms modular.

Los datos, la informacin y su importancia para las organizaciones.


Todas las organizaciones basan su quehacer en la toma de decisiones, estas decisiones se toman utilizando los datos que la organizacin posee. Los sistemas de informacin que poseen las

organizaciones y los que nosotros tengamos que construir se basan en el proceso de capturar datos, almacenarlos, procesarlos y obtener un resultado que es mostrado al usuario. Los datos que son capturados corresponden a un par ordenado de atributo con valor (atributo, valor) que representa el registro de un hecho importante para la organizacin sucedido en algn momento especfico. El atributo define qu es lo que quieres guardar y el valor define el tipo de valor asociado, es decir los rangos mximos y mnimos, y el tipo de dato. Los datos siempre estn formados por un par ordenado, ya que cada una de las partes por separado no tienen sentido. Por ejemplo (edad, 21 aos).

Cuando una organizacin registra informacin relativa a procesos que son importantes, lo hace exclusivamente para poder procesar estos datos, transformarlos en informacin y luego analizar esta informacin y tomar decisiones ms acertadas. Este proceso de toma de decisiones se ha especializado en extremo, como por ejemplo con la minera de datos, que consiste en analizar los datos ya almacenados y extraer informacin que se desconoca que exista ah, esto que si bien parece ser un poco complicado, permite a las organizaciones descubrir nuevas interpretaciones de los datos que tienen almacenados, siempre con el propsito de tomar mejores decisiones.

Definicin de los datos en el contexto de un problema.


Cuando se definen los datos a almacenar es necesario siempre pensar en el proceso que se desea registrar. Recuerda que en todas las organizaciones, el proceso de registro de datos no se hace al azar, es decir cuando se registra el proceso es necesario determinar el contexto en el cual se encuentra inmerso el proceso. Por ejemplo, si tu organizacin realiza un proceso de compra y venta de productos, te va a interesar fundamentalmente registrar esos procesos y todos los otros anexos a ese proceso, por eso es necesario determinar cul es el proceso que se quiere registrar, pues de este anlisis dependern los datos que se elijan. Un punto muy importante a recalcar en esta etapa es el hecho de que las organizaciones realizan distintas acciones durante su ciclo de proceso, pero hay algunos procesos que conforman el quehacer bsico de la organizacin. Ahora si bien es posible detectar el quehacer de una organizacin de forma relativamente simple, es necesario siempre hacer un anlisis en funcin de determinar los datos que se deben registrar, por ejemplo, si analizamos los procesos que realiza una panadera, nos podemos dar cuenta fcilmente que el proceso fundamental de una panadera, en la mayora de los casos es fabricar y vender pan. Ahora bien si te fijas tambin hay otros procesos en el ciclo de vida de la organizacin como por ejemplo pagar los sueldos, comprar las materias primas, distribuir el pan

entre los clientes, llevar el registro contable, registrar las ventas, etctera. Ahora, una vez que has definido los procesos, debes seleccionar los procesos ms relevantes para los cuales vas a registrar los datos, siempre pensando en un contexto determinado. As si lo que te interesa es registrar los procesos productivos de la empresa, debers registrar los datos de las compras de insumos, transformacin de materias primas a pan y su posterior venta.

Si te fijas en este contexto dejamos varios procesos fuera, pero eso es lo interesante de este trabajo, debes concntrate en lo importante, es decir slo en el mbito que te incumbe en ese momento, pues no existe una solucin para todas las reas al mismo tiempo. Esta lgica de divisin de los proyectos en pequeos proyectos que se preocupen de reas especficas de la organizacin garantiza dos cosas fundamentales, primero garantiza menos costos iniciales en el desarrollo de la solucin y segundo, disminuye el tiempo de anlisis y desarrollo pues se disminuye la complejidad de los procesos a analizar (son menos los procesos que se deben analizar al mismo tiempo), lo cual genera la sensacin al usuario de que todo avanza ms rpido. Volviendo a la definicin de los datos en el contexto, una vez que defines el contexto y defines los procesos bsicos asociados a ese contexto, puedes definir las estructuras de los datos. La estructura de un dato, est asociada al concepto de dominio del dato, es decir al tipo de dato que se seleccione (nmero y entero, decimal, Por caracteres, ejemplo si verdadero o falso, un objeto, etc.) y adems los valores permitidos, mximos mnimos. analizamos los datos que podemos registrar de un alumno al momento de matricularlo (este es el contexto), nos podran interesar datos como los siguientes:

Si analizamos ahora el dato de la edad, y nos detenemos a pensar un momento, podemos determinar que este dato por ejemplo es un valor numrico entero (raramente tengo 15,76789 aos), ahora el rango de los posibles valores enteros es muy extenso y por lo tanto es necesario el determinar cuales de estos valores me sirven, as logro determinar que cuando recin vi la luz del mundo, tena 0 aos y segn Wikipedia, la persona ms longeva de la tierra tuvo 122 aos2, por lo tanto el valor mximo para este dato debera ser al menos 122, de esta forma tenemos que la edad est compuesta por valores numricos enteros entre 0 y al menos 122.

http://es.wikipedia.org/wiki/Jeanne_Calment

También podría gustarte