UNIVERSIDAD YACAMBU

ANÁLISIS Y DISEÑO DE SISTEMAS

Profesor: Yaros Pérez


Trabajo Nº 1

Integrantes

Colmenares, Lelia

Gil, Cecilia

Méndez, Aldo

 

Diferencia entre Análisis y Diseño Estructurado y Orientado a Objetos. 

 

Definiciones

¿Qué es el análisis estructurado?

El análisis estructurado se concentra en especificar lo que se requiere que haga el sistema o la aplicación.   No se establece cómo se cumplirán los requerimientos o la forma en que implantará la aplicación.   Más bien permite que las personas observen los elementos lógicos (lo que hará el sistema) separados de los componentes físicos (computadoras, sistemas de almacenamiento, etc.)  Después de esto se puede desarrollar un diseño físico eficiente para la situación donde será utilizado.

 ¿Que es el diseño estructurado?

Se enfoca en el desarrollo de especificaciones del software.   La meta del diseño estructurado es crear programas formados por módulos independientes unos de otros desde el punto de vista funcional.

El diseño estructurado es una técnica específica para el diseño de programas y no un método de diseño de comprensión. Esta técnica conduce a la especificación de módulos de programa que son funcionalmente independientes. La herramienta fundamental del diseño estructurado es el diagrama estructurado, los cuales son de naturaleza gráfica y evitan cualquier referencia relacionada con el hardware o detalles físicos.

El diseño estructurado busca establecer la organización interna del software, produciendo sistemas que sean fáciles de entender (y por ende de construir y mantener).

El Análisis Estructurado.

 Dirigido a la primer etapa del proceso de desarrollo. Se basa en construir un modelo de las prácticas administrativas que deben ser realizadas por el nuevo sistema (desde el punto de vista lógico).

 Es crítica en esta fase la determinación y la definición de requerimientos ya que el fracaso de las especificaciones rompen todo el esfuerzo de desarrollo. Se busca conocer y especificar lo que se quiere. Si no se sabe lo que se desea no se puede esperar éxito. Las salidas (output) del análisis estructurado son (especificaciones estructuradas):

El análisis estructurado se basa en el modelo del flujo como primer elemento de la representación gráfica de un sistema basado en computadora. Usando como base diagramas de flujo de datos y de control, el analista separa las funciones que transforman el flujo. Después, crea un modelo de comportamiento usando el diagrama de transición de estados y un modelo de contenido de los datos con un diccionario de requisitos. Las especificaciones de los procesos y del control proporcionan una elaboración adicional de los detalles.

El análisis estructurado nos permite:

  1. Intentar estructurar el proceso de determinación de los requerimientos.

  2. Incluir todos los detalles relevantes que describen al sistema en uso.

  3. Una fácil verificación cuando se han omitido detalles relevantes.

  4. La identificación de los requerimientos.

  5. Generar una documentación más eficiente.

Análisis y diseño orientado al objeto

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.

La habilidad más importante en el análisis y diseño orientado al objeto es asignar eficientemente las responsabilidades a los componentes de software.

El análisis orientado a objetos y su diseño se enfoca en los objetos. Los objetos tienen ciertos comportamientos y atributos que determinan la manera en que interactúan y funcionan. No se intenta proporcionar un orden para las acciones al momento del diseño debido a que los objetos funcionan basados en la manera en que funcionan otros objetos. La programación orientada a objetos ayuda a los desarrolladores a crear objetos que reflejan escenarios del mundo real.

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.

El Análisis Orientado a Objetos (AOO) se basa en conceptos sencillos, conocidos desde la infancia y que aplicamos continuamente: objetos y atributos, el todo y las partes, clases y miembros. Puede parecer llamativo que se haya tardado tanto tiempo en aplicar estos conceptos al desarrollo de software. Posiblemente, una de las razones es el éxito de los métodos de análisis estructurados, basados en el concepto de flujo de información, que monopolizaron el análisis de sistemas software durante los últimos veinte años.

El AOO ofrece un enfoque nuevo para el análisis de requisitos de sistemas software. En lugar de considerar el software desde una perspectiva clásica de entrada/proceso/salida, como los métodos estructurados clásicos, se basa en modelar el sistema mediante los objetos que forman parte de él y las relaciones estáticas (herencia y composición) o dinámicas (uso) entre estos objetos. Este enfoque pretende conseguir modelos que se ajusten mejor al problema real, a partir del conocimiento del llamado dominio del problema, evitando que influyan en el análisis consideraciones de que estamos analizando un sistema para implementarlo en un ordenador. Desde este punto de vista, el AOO consigue una abstracción mayor que el análisis estructurado, que modela los sistemas desde un punto de vista más próximo a su implementación en un ordenador (entrada/proceso/salida).

El uso de AOO puede facilitar mucho la creación de prototipos, y las técnicas de desarrollo evolutivo de software. Los objetos son inherentemente reutilizables, y se puede crear un catálogo de objetos que podemos usar en sucesivas aplicaciones. De esta forma, podemos obtener rápidamente un prototipo del sistema, que pueda ser evaluado por el cliente, a partir de objetos analizados, diseñados e implementados en aplicaciones anteriores. Y lo que es más importante, dada la facilidad de reutilización de estos objetos, el prototipo puede ir evolucionando hacia convertirse en el sistema final, según vamos refinando los objetos de acuerdo a un proceso de especificación incremental.

Deficiencias del análisis estructurado.

Ventajas del AOO.

Diferencias

 

 Diseño Estructurado 

Diseño Orientado a Objeto 

  •  Facilita el desarrollo

  • Se evita repetición de Trabajo.

  • Programación en Módulos Independientes.

  • Diseño Top-Down. 

  • Facilita el mantenimiento

  • Claridad del código.

  • Independencia de los Módulos.

  • Sintaxis del lenguaje.

  • Organización del código en bloques de Instrucciones.

  • Extensión del lenguaje con nuevas operaciones. 

  • Llamadas a nuevas funciones y procedimientos.

  • Aparece un nuevos conceptos como son los Objetos, propiedades, métodos, herencia, polimorfismo etc.

  • Encapsulamiento :ocultación de la complejidad interna y detalles de los datos y las operaciones.

  • Mayor modularidad.

  • Mayor facilidad de mantenimiento, reutilización.

  • Sintaxis del lenguaje.

  • Definición de clases.

  • Funciones explícitamente asociadas a clases.

  • Creación de los Objetos.

  • Acceso a atributos, invocación de métodos.

En las técnicas estructuradas las unidades fundamentales son los procedimientos (subrutinas o subprogramas), mientras que en la programación orientada a  objetos las unidades básicas se conocen como objetos los cuales contienen tanto datos (es decir, variables de estado que describen el objeto en un cierto instante) como métodos (es decir reglas dinámicas, reglas que explican la interacción del objeto con el mundo exterior). En la terminología OO, lo anterior quiere decir que el objeto encapsula sus datos y su comportamiento. Los objetos interactúan intercambiando mensajes para producir un comportamiento colectivo, que en principio debe resolver un problema.

 

Caso Práctico:

Tomando en cuenta  los conceptos antes estudiados, podríamos aplicar esta metodológia, al  Postgrado de Manejo de Fauna Silvestre de la   Universidad Nacional Experimental de los Llanos "Ezequiel Zamora" Unellez, diseñando un proyecto de entorno hipertextual aplicando las fases de estructura y orientación a objetos.

Diseño estructurado

El Postgrado está estructurado en 8 subproyectos y en cada subproyecto hay 4 unidades crédito.

La arquitectura de información de las 32 unidades es muy similar y existen las siguientes subdivisiones:

Orientación a  Objeto

La materialización de  estos elementos en nodos y enlaces hipertextuales se debe realizar utilizando la orientación a objeto, que consiste en la identificación de las clases de objetos que corresponden a los tipos de nodos que estan implicados en el hiperdocumento, los cuales son los siguientes:

La definición de clases se deben realizar de acuerdo a  estos criterios:

El siguiente paso del diseño es identificar las asociaciones entre los objetos o sea, enlaces hipertextuales unidireccionales entre tipos de nodos, para así poder representar un diagrama de clases.

Finalmente, en función de la tecnología a utilizar aplicaremos el diseño tecnológico para adaptar a cada elemento a implementaciones concretas que se  generaran por la tecnología elegida.

 

INFOGRAFIA

http://www.elguille.info/colabora/NET2005/Percynet_Conceptosyprincipiosorientadoaobjetos.htm

Hacia mediados de los 80, los beneficios de la programación orientada a objetos empezaron a obtener reconocimiento, y el diseño de objetos pareció ser un enfoque sensato para la gente que deseaba utilizar el lenguaje de programación orientada a objetos. Un enfoque orientado a objetos para programar ofrece muchos beneficios sobre un enfoque estructurado.

El análisis orientado a objetos y su diseño se enfoca en los objetos. Los objetos tienen ciertos comportamientos y atributos que determinan la manera en que interactúan y funcionan. No se intenta proporcionar un orden para las acciones al momento del diseño debido a que los objetos funcionan basados en la manera en que funcionan otros objetos. La programación orientada a objetos ayuda a los desarrolladores a crear objetos que reflejan escenarios del mundo real.

http://www.isi.unanleon.edu.ni/gbai/Ing_Soft_PII/Capitulo_11.htm

Actualmente, los investigadores nos se han puesto de acuerdo al respecto de sí es posible la integración de estas dos estrategias de análisis y diseño en un solo método único. Algunos piensan que las dos estrategias son muy diferentes, mientras que otros creen que se pueden utilizar elementos de ambos métodos para desarrollar un modelo completo del problema. Primero, se tratara el área donde ambos métodos tienen alguna similitud y convergencia conceptual, o sea situaciones en las que pueden coexistir pacíficamente ambas técnicas.

Los elementos claves de AE/DE son:  

La orientación a los objetos crea una representación  del campo del problema  del mundo real  y la hace corresponder  con el ámbito de la  solución  que es el software.  Por esta razón, las representaciones de AE/DE  que reflejan los elementos del mundo real relativos al problema proporcionarían un mejor puente con el  AOO/DOO. Las entidades externas (cuadros)  que representan a  los productores y consumidores  del flujo de datos será posible candidato a objetos. Los objetos de datos definidos como parte del diagrama E-R también son candidatos a objetos. Es cierto  que los DFDs  de menor nivel podrían proporcionar una indicación de los atributos  de algunos objetos y que los procesos indicados a esos diagramas podrían ser  operaciones aplicadas  a los objetos. Pero un DFD no refleja un sistema desde el punto de vista orientado a los objetos.  

http://www.monografias.com/trabajos/anaydisesis/anaydisesis.shtml

La función del Análisis puede ser dar soporte a las actividades de un negocio, o desarrollar un producto que pueda venderse para generar beneficios. Para conseguir este objetivo, un Sistema basado en computadoras hace uso de seis (6) elementos fundamentales:

·        Software, que son Programas de computadora, con estructuras de datos y su documentación que hacen efectiva la logística metodología o controles de requerimientos del Programa.

·        Hardware, dispositivos electrónicos y electromecánicos, que proporcionan capacidad de cálculos y funciones rápidas, exactas y efectivas (Computadoras, Censores, maquinarias, bombas, lectores, etc.), que proporcionan una función externa dentro de los Sistemas.

·        Personal, son los operadores o usuarios directos de las herramientas del Sistema.

·        Base de Datos, una gran colección de informaciones organizadas y enlazadas al Sistema a las que se accede por medio del Software.

·        Documentación, Manuales, formularios, y otra información descriptiva que detalla o da instrucciones sobre el empleo y operación del Programa.

·        Procedimientos, o pasos que definen el uso especifico de cada uno de los elementos o componentes del Sistema y las reglas de su manejo y mantenimiento.

 http://www.monografias.com/trabajos28/programacion-objetos/programacion-objetos.shtml 

La programación orientada a objetos es la expresión de uno de los más avanzados paradigmas en el campo de la programación, y es, al mismo tiempo, el resultado de la evolución experimentada por los paradigmas anteriores.

A diferencia de otros paradigmas de programación, que intentan, al abordar un problema, representarlo o modelarlo empleando entidades cercanas a la computadora (arreglos, subrutinas, módulos) la programación orientada a objetos se propone emplear entidades lo más cercanas posibles a la realidad.

La programación orientada a objetos tiene como conceptos fundamentales los conceptos de objeto y clase.

Un objeto es un ente que posee sus características propias (propiedades) y un conjunto de acciones que es capaz de realizar (métodos). Una clase es un ente abstracto que permite declarar las propiedades y los métodos de objetos similares.

Un lenguaje de programación orientado a objetos debe permitir al programador realizar definiciones de clases, y construir objetos a partir de esas clases. Para resolver un problema bajo el paradigma de la programación orientada a objetos basta con determinar y caracterizar los diferentes objetos que intervienen en el problema, definir sus propiedades y métodos y ponerlos a interactuar entre sí.

http://www.monografias.com/trabajos4/cicdevida/cicdevida.shtml

ANALISIS ESTRUCTURADO

http://www.inf.udec.cl/~mvaras/estprog/cap41.html

Objeto

Las personas tienen una idea clara de lo que es un objeto: conceptos adquiridos que nos permiten sentir y razonar acerca de las cosas del mundo. Un objeto podría ser real o abstracto, por ejemplo una organización, una factura, una figura en un dibujador, una pantalla de usuario, un avión, un vuelo de avión, etc.

 En el análisis y diseño orientados a objetos (OO), interesa el comportamiento del objeto. Si se construye software, los módulos de software OO se basan en los tipos de objetos. El software que implanta el objeto contiene estructuras de datos y operaciones que expresan dicho comportamiento. Las operaciones se codifican como métodos. Las representación en software OO del objeto es entonces una colección de tipos de datos y objetos.

 Entonces, dentro del software orientado a objeto, un objeto es cualquier cosa, real o abstracta, acerca de la cual almacenamos datos y los métodos que controlan dichos datos.

 Un objeto puede estar compuesto por otros objetos. Estos últimos a su vez también pueden estar compuestos por otros objetos. Esta intrincada estructura es la que permite construir objetos muy complejos.

http://www.inf.udec.cl/~mvaras/estprog/cap42.html

Análisis de la Estructura de Objetos.

El análisis de la estructura de objetos (AEO) define las categorías de los objetos que percibimos y las formas en que los asociamos.

http://www.inf.udec.cl/~mvaras/estprog/cap43.html

Estados de un Objeto.

Un objeto puede existir en varios estados. Por ejemplo, un objeto reservación aérea puede ser una instancia de alguno de los siguientes tipos de objeto:  Tales tipos de objetos suelen percibirse como estados posibles del ciclo vital de un objeto. Sin embargo, un objeto puede tener una gran variedad de perspectivas de ciclos vitales. Por ejemplo, el mismo objeto reservación aérea también puede tener los siguientes estados relacionados con el pago:  Así, el estado de un objeto es la colección de asociaciones que tiene un objeto.

http://www.inf.udec.cl/~mvaras/estprog/cap44.html

Diseño de la estructura y comportamiento de un objeto.

En el diseño de la estructura y comportamiento de objetos se identifican los componentes siguientes:

http://glud.udistrital.edu.co/glud/proyectos/zope/c711.html

Objetos

 Los objetos son "paquetes" autocontenidos de datos y lógica, estos son fáciles de diferenciar comparandolos con otros conceptos de programación.

En una aplicación típica no orientada a objetos, usted tiene dos cosas:

En una aplicacion tipica orientada a objetos usted tiene una cosa, y una sola cosa:

La orientación a objetos es una medotología de programación la cual permite a los desarrolladores de software desarrollar y crear programas en términos del "mundo real", como carpetas, paneles de control, formularios, empleados, en lugar del diseño de programas basados en conceptos computacionales como bits, flujos y enteros. En lugar de mostrar al computador nuestro código en su lenguaje básico (bits y bytes), nosotros usamos una abstracción para enseñarle al computador acerca del problema a solucionar en términos de un vocabulario más natural para los humanos. El propósito básico de la orientacion a objetos es permitir a los desarroladores crear lo menos complicadamente posible un sistema basado en abstracciones del lenguaje natural de una máquina (bits y bytes) con cosas del mundo real (empleados y formularios) que se puedan enteder más rápido y sean más fáciles de leer.

 

Glosario

AE: Análisis estructurado.

AOO: Análisis Orientado a Objeto

DE: Diseño Estructurado.

DOO: Diseño Orientado a Objeto.

NODO: Es el punto de unión entre varias redes. Es importante para la rapidez de las conexiones que el ordenador gestor sea potente y capaz de soportar un alto nivel de tráfico. Cada nodo de una red tiene un nombre distinto.

OO: Orientación Objeto.

PROGRAMACIÓN: Acto de crear un programa de computadora, un conjunto concreto de instrucciones que una computadora puede ejecutar. El programa se escribe en un lenguaje de programación, aunque también se pueda escribir directamente en lenguaje de máquina, con cierta dificultad. Un programa se puede dividir en diversas partes, que pueden estar escritas en lenguajes distintos.

UML: Lenguaje de Modelamiento Unificado.

 


 

Hosted by www.Geocities.ws

1