CONTENIDO

 

 

Diferencias Entre Análisis y Diseño Estructurado y Orientado a Objetos

 

Definiciones.

Análisis.

    El análisis estructurado, como todos los demás métodos de análisis de requisitos, es una actividad de construcción de modelos. Mediante una notación que es única de este método, se crean modelos que reflejan el flujo y el contenido de la información (datos y control); se parte el sistema funcionalmente y, según los distintos comportamientos, se establece la esencia de lo que se debe construir.

        Una de las principales labores del analista es descubrir detalles y documentar la política de un negocio que pudieran existir sólo en forma implícita, "transmitidas de generación en generación" por los usuarios, nunca documentadas formalmente. El analista debe distinguir entre síntomas, problemas del usuario y causas. Con sus conocimientos de la tecnología de los computadores, el analista debe ayudar al usuario a explorar aplicaciones novedosas y más útiles de éstos así como nuevas formas de hacer negocios. Aunque muchos de los sistemas antiguos sólo se limitaban a perpetuar el negocio original del usuario, pero a velocidades electrónicas, hoy en día los analistas se enfrentan al desafío de ayudar al usuario a encontrar productos y mercados radicalmente innovadores, con la ayuda del computador.

 

 

Diseño.

    El diseño de software es un proceso mediante el que se traducen los requisitos en una representación del software. Inicialmente, la representación describe una visión holística del software. Posteriores refinamientos conducen a una representación de diseño que se acerca mucho al código fuente.

    En el diseño se realizan dos pasos. El diseño preliminar se centra en la transformación de los requisitos en los datos y arquitectura del software. El diseño detallado se ocupa del refinamiento de la representación arquitectónica que lleva a una estructura de datos detallada y a las representaciones algorítmicas del software.

    Dentro del contexto de los diseños preliminar y detallado, se llevan a cabo varias actividades de diseño diferentes. Además del diseño de datos, del diseño arquitectónico y del diseño procedimental, muchas aplicaciones requieren de un diseño de la interfaz. El diseño de la interfaz establece la disposición y los mecanismos para la interacción hombre máquina (no cubierto por las herramientas del diseño estructurado).

 

 

Fundamentos del Análisis y Diseño.

Abstracción.

    Cuando se considera una solución modular para cualquier problema, pueden formularse muchos niveles de abstracción. En el nivel superior de abstracción, se establece una solución en términos amplios, usando el lenguaje del entorno del problema. En los niveles inferiores de abstracción se toma una orientación más procedimental. La terminología orientada al problema se acompaña con una terminología orientada a la implantación, en un esfuerzo para establecer una solución. Por último, en el nivel más bajo de abstracción, se establece la solución de forma que pueda implementarse directamente.

Refinamiento

    El refinamiento sucesivo es una primera estrategia de diseño descendente (propuesta por Niklaus Wirth). Un programa se desarrolla en niveles sucesivos de refinamiento de los detalles procedimentales. Se desarrolla una jerarquía descomponiendo una declaración macroscópica de una función en forma sucesiva hasta que se llega a las sentencias del lenguaje de programación. Cada paso de refinamiento implica algunas decisiones de diseño. Es importante que el programador sea consciente de sus decisiones y de la existencia de soluciones alternativas.

 Modularidad

    Se ha dicho que modularidad es el atributo individual del software que permite a un programa ser intelectualmente manejable. El software monolítico (compuesto por sólo un módulo) no puede ser fácilmente abarcado por un lector. El número de caminos de control, la expansión de referencias, el número de variables y la complejidad global podrían hacer imposible su correcta comprensión.

    La modularidad se deriva naturalmente de un principio elemental para manejar la complejidad: divide y vencerás.

 

 

 Análisis estructurado

    Permite al analista conocer un sistema o proceso (actividad) en una forma lógica y manejable al mismo tiempo que proporciona la base para asegurar que no se omite ningún detalle pertinente".

    El objetivo que persigue el análisis estructurado es organizar las tareas asociadas con la determinación de requerimientos para obtener la comprensión completa y exacta de una situación dada.

Componentes:

Análisis de flujo de datos:

    Estudia el empleo de los datos en cada actividad, documenta los hallazgos con diagramas de flujo de datos.

Herramientas:

 

 

¿Qué es Orientado a Objetos?

    Significa que el sistema se organiza como una colección de objetos que interactúan entre sí y que contienen tanto estructuras de datos como un comportamiento.

 

    Esto se opone a la programación convencional, en la cual las estructuras de datos y el comportamiento solamente están relacionadas de forma débil, ya que estos se enfocan principalmente a las funciones.

 

Objeto.

    Los objetos son las cosas físicas y conceptuales que encontramos en el universo alrededor de nosotros.   Hardware, software, documentos, seres humanos, los conceptos son todos los ejemplos de los objetos.

 

Características de los Objetos.

            Objetos: Bicicleta de montaña, Bicicleta de carreras, Bicicleta de niños

            Clase Bicicleta:

 

Atributos: Tamaño del cuadro, tamaño de rueda, material, marca, velocidad

Operaciones: mover, reparar, cambiar velocidad

            Objetos  : Triangulo, Cuadrado, Octágono

                              Clase Polígonos:

            Atributos: Vértices, color del borde, color del interior

                              Operaciones: dibujar, borrar, mover

 

         En el mundo real una operación es simplemente, una abstracción de comportamiento análogo entre distintas clases de objetos.   Cada objeto “sabe” llevar a cabo sus propias operaciones.  Sin embargo, en un lenguaje orientado a objetos es este el que selecciona automáticamente el método correcto para implementar una operación basándose en el nombre de la operación y en la clase del objeto que esta siendo afectado.   El usuario de una operación no necesita ser consciente del número de métodos que existen para implementar una cierta operación polimórfica.   Se pueden añadir nuevas clases sin modificar el código existente, siempre y cuando se proporcionen métodos para todas las operaciones aplicables a las nuevas clases.


 

 

DIFERENCIAS

 

ANÁLISIS Y DISEÑO ESTRUCTURADO

ORIENTADO A OBJETO

Las metodologías de análisis y diseño estructurado, se examinan los sistemas desde el punto de vista de las funciones o tareas que deben realizar, tareas que se van descomponiendo sucesivamente en otras tareas mas pequeñas y que forman los bloques o módulos de las aplicaciones

 

En la orientación a objeto, por su parte, cobra mucho más importancia el aspecto de “modelado” del sistema, examinando el dominio del problema como un conjunto de objetos que interactúan entres sí.

En las metodologías tradicionales se produce una división entre los dos elementos de un sistema: funciones que llevan a cabo los programas y datos que se almacenan en archivos o bases de datos.  

 

Y por otro lado, la orientación al objeto da un enfoque unificador de ambos aspectos, que se unen en los objetos.

En las metodologías tradicionales las herramientas que utilizan para el análisis son: 

  • Diagramas de Flujos de Datos

  • Diccionarios de Datos

  • Diagramas Entidad-Relación

  • Diagramas de Transición de Estado

  • Especificaciones de procesos

 

En las metodologías orientadas a objetos se emplean distintos modelos depende de la metodología, entre los principales están:

  •  Modelo de objetos

  •  Modelo de Estado u Objeto-Estado, entre otros.

 

 

 

 

EJEMPLOS

    A continuación veremos un ejemplo de un sistema de Cuentas Bancarias, visto por los dos enfoques:

 

METODOLOGIA TRADICIONAL (ANALISIS Y DISEÑO ESTRUCTURADO)

Representada por Diagrama de Flujo de Datos

 

 

 

 

METODOLOGIA ORIENTADA A OBJETOS

Representada por Diagrama de Objetos de Rumbaugh

 

 

 Ahora veamos un ejemplo de la representación de dinámica de un sistema de Clima (Aire acondicionado), modelado por los dos enfoques de metodologías:

 

METODOLOGIA TRADICIONAL

Representada por Diagrama de Flujo

 

 

 

METODOLOGIA ORIENTADA A OBJETOS

Representada por un Diagrama de Transición de Estado de Booch

 

 

 

FIN

Última Actualización: 22/01/2004 01:57:23 p.m.