Republica Bolivariana de Venezuela

Universidad Yacambu

Estudios Virtuales

 

Tema: ANÁLISIS Y DISEÑO ESTRUCTURADO Y ORIENTADO A OBJETOS

 

Definición

 

Análisis y diseño orientado a objetos: Modelo orientado a objetos, aplicando la programación orientada a objetos

Para el desarrollo de software orientado a objetos no basta usar un lenguaje orientado a objetos. También se necesitará realizar un análisis y diseño orientado a objetos.

Hoy en día esta tecnología se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos.

Como representa el método más reciente para modelar con precisión el mundo real en las aplicaciones de software, la orientación a objetos es un concepto inclusivo que se utiliza para describir un conjunto de tecnologías que habilitan productos de software muy modulares y reutilizables. Las aplicaciones, los datos, las redes y los sistemas se tratan como objetos que se pueden mezclar y combinar de manera flexible en vez de tratarse como componentes de un sistema con relaciones integradas. Como resultado, una aplicación no necesita estar unida a un determinado sistema o a datos específicos de la aplicación. Los cuatro conceptos centrales de la orientación a objetos son la encapsulación, el paso de mensajes, la herencia y el enlace en tiempo de ejecución.

El modelamiento visual es la clave para realizar el análisis OO. Desde los inicios del desarrollo de software OO han existido diferentes metodologías para hacer esto del modelamiento, pero sin lugar a duda, el Lenguaje de Modelamiento Unificado (UML) puso fin a la guerra de metodologías.

Según los mismos diseñadores del lenguaje UML, éste tiene como fin modelar cualquier tipo de sistemas (no solamente de software) usando los conceptos de la orientación a objetos. Y además, este lenguaje debe ser entendible para los humanos y máquinas.

Actualmente en la industria del desarrollo de software tenemos al UML como un estándar para el modelamiento de sistemas OO. Fue la empresa Racional que creó estas definiciones y especificaciones del estándar UML, y lo abrió al mercado. La misma empresa creó uno de los programas más conocidos hoy en día para este fin; el Racional Rose, pero también existen otros programas como el Poseidon que trae licencias del tipo community edition que permiten su uso libremente.

El UML consta de todos los elementos y diagramas que permiten modelar los sistemas en base al paradigma orientado a objetos. Los modelos orientados a objetos cuando se construyen en forma correcta, son fáciles de comunicar, cambiar, expandir, validar y verificar. Este modelamiento en UML es flexible al cambio y permite crear componentes plenamente reutilizables.

La metodología orientada a objetos ha derivado de las metodologías anteriores a éste. Así como los métodos de diseño estructurado realizados guían a los desarrolladores que tratan de construir sistemas complejos utilizando algoritmos como sus bloques fundamentales de construcción, similarmente los métodos de diseño orientado a objetos han evolucionado para ayudar a los desarrolladores a explotar el poder de los lenguajes de programación basados en objetos y orientados a objetos, utilizando las clases y objetos como bloques de construcción básicos.

el modelo de objetos ha probado ser un concepto uniforme en las ciencias de la computación, aplicable no sólo a los lenguajes de programación sino también al diseño de interfaces de usuario, bases de datos y arquitectura de computadoras por completo. La razón de ello es, simplemente, que una orientación a objetos nos ayuda a hacer frente a la inherente complejidad de muchos tipos de sistemas.

Actualmente, el Análisis Orientado a Objetos (AOO) va progresando como método de análisis de requisitos por derecho propio y como complemento de otros métodos de análisis. En lugar de examinar un problema mediante el modelo clásico de entrada-proceso-salida (flujo de información) o mediante un modelo derivado exclusivamente de estructuras jerárquicas de información, el AOO introduce varios conceptos nuevos. Estos conceptos nuevos le parecen inusuales a mucha gente, pero son bastante naturales.

Análisis y diseño estructurado: Modelo orientado al flujo de datos y a componentes, pudiendo aplicar los paradigmas procedimental, modular, abstracción de datos e incluso programación genérica.

El análisis estructurado destaca el flujo de datos y el proceso a través del cual los datos se transforman. Su herramienta principal es el diagrama de flujo de datos. El diseño y la programación estructuradas son disciplinas de diseño de software que producen un software confiable y bien documentado con una estructura sencilla y clara que es fácil para los demás de entender y mantener. Las tablas de decisiones, los árboles de decisiones y el pseudocódigo describen a la lógica de procesamiento en una forma tabular, gráfica y narrativa, respectivamente. Los diagramas de flujo de sistemas son útiles para documentar los aspectos físicos del diseño de sistemas.

 

Diferencia

Análisis y Diseño Estructurado:

Sólo se puede obtener reutilización de dos formas: rutinas de bajo nivel (operar con datos) o subsistemas completos (la aplicación de cartera que enlaza con cualquier facturación). Esto limita fuertemente la reutilización, porque reaprovechar una aplicación quiere decir aceptarla como es al 100%. Como mucho se puede intentar parametrizar una aplicación potencialmente reutilizable si se logran prever futuros requerimientos al programa y flexibilizar su uso. El precio es complicar mucho más el programa y dificultar su mantenimiento, sin eliminar del todo la necesidad de modificar el programa cuando los requerimientos de los clientes no pueden conseguirse con la parametrización.

el ANÁLISIS y diseño estructurado consiste en las siguientes etapas:

 

No enfoca apropiadamente el diseño de familias de programas.

 

Asume una progresión relativa uniforme de pasos de elaboración.

No acomoda el tipo de desarrollo evolutivo.

No enfoca los posibles modos futuros de desarrollo de software.

Al terminar un sistema es casi imposible reutilizar el código en otra aplicación.

Metodologías Estructuradas

• Proponen la creación de modelos del sistema que representan:

– Los procesos

– Los flujos

– La estructura de los Datos

• Enfoque Top-Down

– De visión general a nivel de abstracción más sencillo

• Tipos:

– Orientadas a Procesos

– Orientadas a Datos

Estructuras de Datos Jerárquicas

Estructuras de Datos no Jerárquicas

– Mixtas

• Metodologías Orientadas a Procesos

– Se apoyan en técnicas gráficas para obtener:

ESPECIFICACIÓN ESTRUCTURADA

Modelo gráfico, particionado, descendente y jerárquico de los procesos del sistema y de los datos utilizados por éstos.

Componentes:

Diagrama de Flujo de Datos

Diccionario de Datos

analisis y diseño orientado a objetos.

El paradigma (la forma de pensar y representar la realidad) de la orientación a objetos es mucho mas potente que el estructurado y permite obtener más reusabilidad, por dos razones. En primer lugar porque se puede tener reusabilidad por separado, tanto del análisis como del diseño y la programación; no estamos obligados a tomar un paquete entero: si sólo nos interesa el análisis, lo podemos reutilizar con un diseño diferente del que se había utilizado originalmente. La segunda razón es la herencia. Si una aplicación tiene algunas partes que no se adecuan a nuestras necesidades, podemos modificarlos sin 'parchear' mediante la herencia. Es decir, la programación pasa a ser como el 'prêt-a-porter' en la industria textil. Podemos tener la mayor parte hecha industrialmente y adaptarla a cada cliente según sus necesidades.

el ANÁLISIS y diseño orientado a objetos consiste en las siguientes etapas:

 

                   

 

Análisis.
Une a los usuarios y a los diseñadores.

Permite proporcionar una descripción completa del problema, legible y revisable por las partes interesadas y verificable contra la realidad.

Si tenemos correctamente definidas nuestras jerarquías de clase, hacer modificaciones no es tan costoso como en el caso de la programación estructurada. Sólo tenemos que entrar en la parte de Evolución para hacer modificaciones.

Diseño.
Inicia aún antes de concluir con la etapa de análisis.

Se recomienda analizar un poco y diseñar.

Esta etapa debe concluir una vez que se establecieron claves y mecanismos importantes.

Evolución.

Incorpora los aspectos tradicionales de programación, verificación e integración.

El proceso de desarrollo consiste en una producción incremental de series de prototipos que evolucionan a la implantación final.

Posibles cambios que pueden presentarse en esta etapa:

Agregar una clase.

Modificar la implantación de una clase.

Modificar la representación de una clase.

Reorganizar la estructura de clases.

Cambiar la interfaz de una clase.

Modificación.

Un programa que se usa en un ambiente real necesariamente debe cambiar. Los cambios difieren un poco de los requeridos en evolución, pues contemplan la introducción de nuevas funcionalidades no previstas en el problema original.

 

Metodologías Orientadas a Objetos

• Cambio en los principios de las metodologías estructuradas:

– Estructurado: Examinar el sistema desde las funciones y tareas

– OO: Modelado del Sistema examinando el dominio del problema como

un conjunto de objetos que interactúan entre sí

Objetos: Encapsulan Funciones + Datos

• Enfoques:

“Revolucionarios” o “Puros”

  La OO se entiende como un cambio profundo de las metodologías

estructuradas que se ven como obsoletas

  OOD (Booch), CRC/RDD (Wirfs-Brock)

“Sintetistas” o “Evolutivos”

  Ánalisis y Diseño Estructurado se consideran como la base

para el desarrollo OO,  OMT, UML.

es importante señalar:

La programación orientada a objetos también es mucho mas fiable por diversas razones. En primer lugar por el desarrollo incremental y la programación por diferencia, al poder ir añadiendo funcionalidad vía herencia. El tamaño medio de una rutina en entornos orientados a objetos es de 4 o 5 líneas; y se ha de tener en cuenta que sólo se tienen rutinas, ya que no existe el concepto de programa principal. La utilización masiva de librerias de clases garantiza la fiabilidad, ya que los componentes sólo se añaden a la libreria cuando se ha verificado la corrección de su funcionamiento.

Caso Práctico

bien, dado que La World Wide Web permite una manera más organizada de acceder a la información disponible en Internet, el departamento de compras  a través del diseño de una pagina web puede proporcionar Información de manera inmediata a sus proveedores o a todas aquellas Unidades  adscritas al ejecutivo REGIONAL o bien a todos los beneficiarios de SOLICITUDES proporcionadas por dicho departamento.

proyecto web:

El análisis y el diseño se puede realizar en UML.

Durante el análisis analizaremos el dominio del problema para construir un modelo del mundo real utilizando objetos. Investigaremos para hacer una descripción del problema y obtención de los requerimientos.

El diseño consiste en el refinamiento de los modelos de análisis para crear especificaciones adicionales que enriquecen el modelo de análisis con detalles próximos a la implementación. Una solución lógica, de forma que se cumplan los requerimientos (asignación de responsabilidades, interacciones entre objetos, etc.)

La implementación la podemos realizar en un lenguaje orientado a objetos, durante la cual codificaremos el diseño obtenido en las fases de análisis y diseño. (Lenguajes OO: Java, C++, Delphi, etc.)

Analisis  y diseño orientado a objetos

Identificación de los objetos y sus atributos:

orden de compra (fecha, proveedor, concepto, precio unitario, monto total, );

factura (fecha, proveedor, rif, nit, precio unitario, monto total)

proveedor (datos personales, datos comerciales)

beneficiarios (datos personales, tipo de solicitud)

condicion actual(fecha,status).

Definición de  metodos: emisión, reimpresión, anulacion de las ordenes de compra; condicion actual.

Definición de Clase: conjunto de objetos con las mismas Características: en este caso pueden ser orden de servicio, que  tiene el mismo tratamiento de una orden de compra, la misma factura.

mensajes: El medio empleado para que un objeto interactúe con otros. Hablando en términos un poco más técnicos, los mensajes son invocaciones a los métodos de los objetos.

Infografía

 

  1. http://www.uazuay.edu.ec/isi/ingenieria%20de%20software%20ii.doc

...El propósito de AOO es definir las clases (relaciones y comportamientos) que son relevantes al problema a resolver...

           

local

 

  1. http://www.ati.es/novatica/1995/mar-abr/n114obje.html

La orientación a objetos se basa en tres pilares básicos: - encapsulación y ocultación de la información - abstracción y clasificación.<

         local

  1. http://www.univernet.net/aulas/informatica/poo/intro.htm

 

Este enfoque resolvió los dos problemas planteados. Primeramente, ofrecía una forma natural de partir un programa muy complejo y, en segundo lugar, el mantenimiento pasaba a ser controlable.

 

local

 

  1. http://alarcos.inf-cr.uclm.es/per/fgarcia/isoftware/doc/tema3_1xh.pdf

 

Una metodología de desarrollo por lo tanto representa  el camino a seguir para desarrollar Software de manera sistematica.

 

         local

 

  1. http://decsai.ugr.es/~lcv/Docencia/mp2/apuntes/tema1.pdf#search='analisis%20y%20dise%C3%B1o%20orientado%20a%20objetos%20vs%20analisis%20y%20dise%C3%B1o%20estructurado'

 

Análisis y diseño orientado a objetos: Modelo orientado a objetos, aplicando la programación orientada a objetos

 

local

  1. http://sai.azc.uam.mx/apoyodidactico/po/Unidad1/poo1.html

 

Proceso de diseño orientado a objetos ( OOP)  Es interactivo e incremental, se compone por las siguientes actividades: 1. Identificar clases y objetos. 2. Identificar la semántica de clases y objetos. 3. Identificar interrelaciones de clases y objetos. 4. Implementar clases y objetos.

local

 

 

Participante: Mirelys Petit.

C.I.Nº 10.855.2644

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hosted by www.Geocities.ws

1