jueves, 29 de noviembre de 2012

Análisis, análisis estructurado y orientado a objeto


El analista de sistemas es imprescindible en cualquier organización, debido al abanico de destrezas que éste posee y los beneficios que le produce. se encarga no sólo estudiar la organización y desarrollar un sistema automatizado, es más que eso, la labor del analista de sistemas es también la de asesorar, supervisar, recomendar y modificar procesos internos y algunas veces de modificar la estructura misma de la empresa, con el propósito de lograr los objetivos que se proponen. 

El analista de sistemas también tiene dentro de sus actividades el análisis y diseño de sistemas el cual se refiere al "proceso de examinar la situación de una empresa con el propósito de manejarla con métodos y procedimientos más adecuados." (senn, 1992, p.11). Ésta actividad se puede dividir en dos: el análisis de sistemas que comprende la planificación, el levantamiento inicial de información y el estudio en detalle del sistema actual para luego recomendar o estructurar las especificaciones necesarias para el nuevo sistema; y el diseño que consiste en llevar a cabo el sistema por medio de la clasificación y empleo de la información de manera que se pueda ofrecer una alternativa mucho más viable. 

Todo análisis y diseño de sistemas liderizado o no por un analista de sistemas posee fases que pueden dividirse de forma lógica en elementos discretos pero, que innegablemente son continuos, de alguna manera cíclica. es aquí donde pueden ser utilizadas diferentes metodologías entre las cuales se pueden mencionar: el análisis y diseño estructurado y el análisis y diseño orientado a objeto. 

la investigación que se presenta a continuación define las dos metodologías mencionadas anteriormente así como también, las diferencias que existen entre ellas. por último se presenta un caso práctico donde se plantea un ejemplo de cómo se puede utilizar la metodología orientada a objeto en un proyecto web que le sirva a la empresa donde laboro. 

Análisis y diseño estructurado. 

Muchos especialistas en sistemas de información reconocen la dificultad de comprender de manera completa sistemas grandes y complejos. el método de desarrollo del análisis estructurado tiene como finalidad superar esta dificultad por medio de: 1) la división del sistema en componentes y 2) la construcción de un modelo del sistema. el método incorpora elementos tanto de análisis como de diseño. 

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 se implantará la aplicación. más bien permite que las personas observen los elementos lógicos (lo que hará el sistema) separado de los componentes físicos (computadoras, terminales, sistemas de almacenamiento, etc.). Después de esto se puede desarrollar un diseño físico eficiente para la situación donde será utilizado. 

Elementos del análisis estructurado. 

Descripción gráfica: utiliza símbolos o iconos para crear un modelo gráfico del sistema. Sin introducir procesos manuales o informatizados, archivos, entre otros. 

Diagramas de flujo de datos: tienen la misión de mostrar las fuentes y destinos de los datos, identificar y dar nombre a los procesos, dar nombre a los grupos de datos que relacionan una función con otra, señalar los almacenes de datos a los que se tiene acceso. 

Diccionario de datos: se definen flujo de datos, procesos y almacenes de datos. 

Diseño estructurado. 

El diseño estructurado, otro elemento del análisis estructurado que emplea la descripción gráfica, 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. este enfoque no sólo conduce hacia mejores programas sino que facilita el mantenimiento de los mismos cuando surja la necesidad de hacerlo. 

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 compresión. es decir, no indica nada relacionado con el diseño de archivos o bases de datos, la presentación de entradas o salidas, la secuencia de procesamiento o el hardware que dará soporte a la aplicació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 de flujo de datos, los diagramas estructurados son de naturaleza gráfica y evitan cualquier referencia relacionada con el hardware o detalles físicos. Su finalidad no es mostrar la lógica de los programas (que es la tarea de los diagramas de flujo). Los diagramas estructurados describen la interacción entre módulos independientes junto con los datos que un módulo pasa a otro cuando interacciona con él. Estas especificaciones funcionales para los módulos se proporcionan a los programadores antes que dé comienzo la fase de escritura de código. 

Empleo del análisis y diseño estructurado con otros métodos. 

Se combina, con bastante frecuencia, con el método de ciclo de vida clásico de desarrollo de sistemas. Por ejemplo los analistas pueden optar por desarrollar diagramas de flujo de datos como una forma para documentar las relaciones entre componentes durante la investigación detallada de algún sistema existente. Así mismo, se pueden definir los archivos y datos en un diccionario centralizado de datos de acuerdo con las reglas del análisis estructurado. 

Análisis y diseño orientado a objetos. 

Las técnicas orientadas a objetos permiten que el software se construya a partir de objetos de comportamiento específico. los propios objetos se pueden construir a partir de otros, que a su vez pueden estar formados por otros objetos. 

El análisis de sistemas en el mundo orientado a objetos se realiza al estudiar los objetos en un ambiente, así como los eventos que interactúan con dichos objetos. El diseño del software se realiza al volver a utilizar clases de objetos ya existentes y, en caso necesario, al construir nuevas clases. al modelar una empresa, los analistas deben identificar sus tipos de objetos y las operaciones que hagan que los objetos se comporten en determinada forma. 

Las técnicas orientadas a objetos se pueden utilizar como medios para el diseño sencillo de sistemas complejos. El sistema se puede ver como una colección de objetos, donde cada uno de ellos puede llegar a tener varias posibilidades. Las operaciones que modifican el estado son relativamente sencillas. los objetos se construyen a partir de otros objetos. Los sistemas se construyen a partir de otros componentes probados con un formato definido para las solicitudes de las operaciones del componente. El analista orientado a objetos ve el mundo como objetos (con estructuras de datos y métodos) y eventos que activan operaciones, las cuales modifican el estado de los objetos. Las operaciones aparecen como objetos que hacen solicitudes a otros objetos. El analista crea diagramas de la estructura de los objetos y de los eventos que los modifican. El modelo del diseñador es similar al modelo del analista, pero se toma con el detalle suficiente como para crear el código. el análisis y diseño orientado a objetos intenta lograr la reutilización masiva de las clases de objetos. Modela el mundo en términos de objetos que tienen propiedades y comportamientos, y eventos que activan operaciones que modifican el estado de los objetos. los objetos interactúan de manera formal con otros objetos. 

Programación orientada a objeto. 

La programación orientada a objetos no es un concepto nuevo, sus inicios y técnicas de programación se iniciaron a principios de los 70. se puede definir programación orientada a objetos (oops) como una técnica de programación que utiliza objetos como bloque esencial de construcción. la oops, es un tipo de programación más cercana al razonamiento humano. La oops surge como una solución a la programación de grandes programas, y para solventar el mantenimiento de dichas aplicaciones, ya que en la programación estructura el más mínimo cambio supone la modificación de muchas funciones relacionadas, en cambio con la oops solo es cuestión de añadir o modificar métodos de una clase o mejor, crear una nueva clase a partir de otra (herencia). 

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.

Clases: 

Las clases son como plantillas o modelos que describen como se construyen ciertos tipos de objeto. Cada vez que se construye un objeto de una clase, se crea una instancia de esa clase ("instance"). Una clase es una colección de objetos similares y un objeto es una instancia de una clase. Se puede definir una clase como un modelo que se utiliza para describir uno o más objetos del mismo tipo. 

Herencia: 

Una característica muy importante de los objetos y las clases es la herencia, una propiedad que permite construir nuevos objetos (clases) a partir de unos ya existentes. Esto permite crear "sub-clases" denominadas clases derivadas que comparten las propiedades de la clase de la cual derivan (clase base). las clases derivadas heredan código y datos de la clase base, asimismo incorporan su propio código y datos especiales. se puede decir que la herencia permite definir nuevas clases a partir de las clases ya existentes. 

Polimorfismo: 

En un sentido literal, polimorfismo significa la cualidad de tener más de una forma. En el contexto de poo, el polimorfismo se refiere al hecho de que una simple operación puede tener diferente comportamiento en diferentes objetos. En otras palabras, diferentes objetos reaccionan al mismo mensaje de modo diferente. Los primeros lenguajes de poo fueron interpretados, de forma que el polimorfismo se contemplaba en tiempo de ejecución. Por ejemplo, en c++, al ser un lenguaje compilado, el polimorfismo se admite tanto en tiempo de ejecución como en tiempo de compilación. 

Diferencias análisis y diseño estructurado y orientado a objeto. 

- la metodología de análisis y diseño estructurado, 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 más 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 entre sí. 

- en la metodología de análisis y diseño estructurado 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 unificado de ambos aspectos, que se unen en los objetos. 

- en la metodología de análisis y diseño estructurado 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 que depende de la metodología, entre los principales están modelo de objetos, modelo de estado u objeto-estado, entre otros. 

Además, podemos agregar otras diferencias secundarias tales como: 

- se eliminan fronteras entre fases debido a la naturaleza iterativa del desarrollo orientado al objeto. 

- aparece una nueva forma de concebir los lenguajes de programación y su uso al incorporarse bibliotecas de clases y otros componentes reutilizables. 

- hay un alto grado de interacción y solapamiento, lo que lleva a una forma de trabajo muy dinámica.

0 comentarios:

Publicar un comentario

 

Reloj