Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CLASE 1
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,
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.
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.
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.
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
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
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.
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