Universidad Yacambú Vicerrectorado de Estudios Virtuales Especialización en Gerencia, Mención Sistemas de Información |
Tabla de contenidos
Análisis y Diseño Estructurado y Orientado a Objetos
|
Introducción
Tal y como lo definiera el autor, Senn J. (1992):
“El aspecto fundamental del análisis de sistemas es comprender todas las facetas importantes de la parte de la empresa que se encuentra en estudio”
De acuerdo a esta definición, la acción de adquirir información acerca del funcionamiento de algún sector de la organización, es obtener una investigación detallada del tema objeto de estudio. Esta información detallada y pormenorizada del entorno en estudio, conlleva a la determinación de ciertas condiciones o requerimientos propios de un sistema.
Existen diversos métodos y técnicas que conducen a un modelo del sistema mucho más óptimo y eficiente, como es el caso del Análisis y Diseño Estructurado y el Orientado a Objetos, ambos con muchos puntos a favor y con el objetivo común de orientar al analista el la selección de acciones que representen un cambio positivo a la organización. A pesar de la aceptación que tienen ambas metodologías actualmente, el propósito de esta investigación es poder compararlas y evaluarlas a fin de determinar que realmente marca la diferencia cuando se analizan y diseñan sistemas de información con el uso de estas poderosas herramientas.
"El análisis y diseño de sistemas 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).
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.
En pocas palabras; El análisis especifica qué es lo que el sistema debe
hacer. El diseño establece cómo alcanzar el objetivo . Ciertamente, todo
sistema de información debe presentar salidas en base a entradas de datos y
procesos, lo que nos dice que si deseamos entender todo lo que le ocurre a los
datos antes de llegar al usuario como información .Es decir, antes de ser
interpretado por el usuario final, debemos utilizar metodologías que permiten
ver los sistemas en base a sus procesos, por lo menos en sistemas de procesado
por lotes o secuencial. Un ejemplo de ello es la metodología estructurada.
Existen muchas metodologías pero esta es la más arraigada debido a su
antigüedad. Recordemos que hace apenas dos décadas los computadores no
soportaban el multitasking (procesamiento multitarea), lo que limitaba a
procesar una pantalla a la vez, esto sólo permitía sistemas secuenciales donde
cada tarea en procesamiento comenzaba cuando la anterior ya había terminado por
completo.
Análisis y Diseño 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.
Está compuesto por;
Símbolos gráficos: sirven para identificar y describir los componentes de un sistema y las relaciones entre estos.
Diccionarios de datos: Descripciones de todos los datos utilizados en el sistema, pueden ser manual o automatizado.
Descripciones de procesos y procedimientos: emplean técnicas y lenguajes que permiten describir actividades del sistema.
Reglas: Estándares para describir y documentar el sistema en forma correcta y completa.
Análisis de flujo de datos: Estudia el empleo de los datos en cada actividad, documenta los hallazgos con diagramas de flujo de datos.
Análisis y Diseño Orientado a Objetos:
La programación orientada a objetos (OOP) promete mejoras de amplio alcance en
la forma de diseño, desarrollo y mantenimiento del software ofreciendo una
solución a largo plazo a los problemas y preocupaciones que han existido desde
el comienzo en el desarrollo de software: la falta de portabilidad del código y
reusabilidad, código que es difícil de modificar, ciclos de desarrollo largos y
técnicas de codificación no intuitivas.
Un lenguaje orientado a objetos ataca estos problemas. Tiene tres
características básicas: debe estar basado en objetos, basado en clases y capaz
de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos;
muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente
la herencia.
El elemento fundamental de la OOP es, como su nombre lo indica, el objeto.
Podemos definir un objeto como un conjunto complejo de datos y programas que
poseen estructura y forman parte de una organización. Esta definición especifica
varias propiedades importantes de los objetos. En primer lugar, un objeto no es
un dato simple, sino que contiene en su interior cierto número de componentes
bien estructurados. En segundo lugar, cada objeto no es un ente aislado, sino
que forma parte de una organización jerárquica o de otro tipo. Es una cosa real
o abstracta que esta formada por un conjunto de otros objetos y que poseen una
estructura lógica para una determinada función.
En cuanto a la forma de desarrollar el análisis
las metodologías son radicalmente diferentes desde su enfoque, la primera está
orientada a procesos, tomando una visión donde los datos se consideran
separadamente de los procesos que los transforman, dando más importancia a la
descomposición funcional del sistema, y por tanto a los diagramas de procesos,
esto puede parecer que lleva de manera más directa a la implementación del
sistema, pero con frecuencia éste suele ser más frágil. Si cambian los
requerimientos un sistema basado en descomposición funcional puede requerir una
reestructuración masiva.
Por el contrario el enfoque orientado a objetos se centra en primer lugar en
identificar los objetos del dominio de aplicación y después en establecer
procedimientos que los manejen. Aunque esto pueda parecer más indirecto el
software orientado a objeto se mantiene mejor ante los cambios de requerimientos
porque se basa en la estructura subyacente del dominio de aplicación en vez de
los requerimientos funcionales de un determinado problema.
Enfoque Estructurado vs. Enfoque Orientado a Objetos:
Análisis y Diseño Estructurado |
Análisis y Diseño Orientado a Objetos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
En Área de Informática de la Gerencia Regional
de Tributos Internos del SENIAT, Región Los Andes, se cuenta con una plantilla
de información interna para llevar el control de las solicitudes de servicios,
la cual tiene la información correspondiente al funcionario asignado, número de
caso, solicitante, problema o solicitud efectuada, entre otros. Tal plantilla no
es más que una hoja de cálculo de Microsoft Excel, la cual, si bien cumple con
el propósito deseado, la misma no permite una óptima distribución de tareas y
reporte oportuno de ellas.
Con el objeto de mejorar la asignación de solicitudes de servicios informáticos,
se propone una nueva aplicación basada en web y apoyada en una base de datos.
Esta web estará alojada en un servidor de la empresa y contendrá un portal con
todos los servicios necesarios y disponibles para brindar mayor y mejor
información a todos los departamentos.
Debe tener acceso de modificación total para el coordinador como administrador
del sistema, acceso con permiso de modificación restringido a los ingenieros de
proyectos y acceso de consulta a todos los usuarios.
Su funcionamiento debe ser como se indica a continuación:
Usuario:
Accesa al portal vía Intranet, registra los datos de su solicitud en el formato electrónico "Solicitud de Servicios Informáticos".
Consulta el status de una solicitud en específico o de su historial de solicitudes
Adicionalmente, tiene acceso de consulta a otros informes ejecutados por el Área de Informática y a sus indicadores de gestión.
Coordinador:
Recibe electrónicamente la solicitud del usuario, verifica la carga de trabajo del personal y asigna el requerimiento al técnico seleccionado.
Modifica el programa de ejecución de los estudios, registra las fechas reales de ejecución, y tiene la capacidad de modificar todos los registros de la base de datos.
Consulta todos los indicadores de gestión
personales y colectivos.
Asistente/Secretaria:
Recibe electrónicamente la solicitud del usuario, verifica la carga de trabajo del personal y asigna el requerimiento al técnico seleccionado.
Consulta todos los indicadores de gestión personales y colectivos.
Notifica personalmente tanto al usuario como al funcionario designado la recepción de la solicitud vía correo electrónico (tal información puede ser consultada directamente al sistema).
Técnico:
Consulta la solicitud asignada, pudiendo solicitar reprogramación.
Registra fecha de inicio y fin de solicitud de servicio prestado y realiza el informe u observaciones correspondientes al caso.
Consulta su carga de trabajo, sus indicadores personales y los colectivos.
Aplicación Web:
Para poder lograr este
espacio se propone el uso de la tecnología de aplicaciones web conocida como
PHP, el cual es un lenguaje de programación usado generalmente para
la creación de contenido para sitios web. El nombre es el acrónimo recursivo de
"PHP: Hypertext Preprocessor" (inicialmente PHP Tools, o, Personal Home Page
Tools), y se trata de un lenguaje interpretado usado para la creación de
aplicaciones para servidores, o creación de contenido dinámico para sitios web,
además es posible utilizar PHP para generar archivos PDF, Flash,
así como imágenes en diferentes formatos, entre otras cosas.
PHP permite la conexión a diferentes tipos de servidores de bases
de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server,
Firebird y SQLite; lo cual permite la creación de Aplicaciones web muy robustas.
Éste lenguaje es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Base de datos:
Para nuestro caso particular se utilizara la solución PostgreSQL, el cual es un servidor de base de datos relacional libre, siendo una alternativa a otros sistemas de bases de datos de código abierto (como MySQL, Firebird y MaxDB), así como sistemas propietarios como Oracle o DB2.
Debido a su simplicidad, que proviene de ser sintáctica y gramaticalmente cercano al lenguaje natural, pueden utilizarlo tanto los usuarios técnicos como los que no lo son; esto unido a que su potencia lo ha hecho muy popular.
http://www.monografias.com/trabajos10/andi/andi.shtml
http://www.monografias.com/trabajos15/analista-sistem/analista-sistem.shtml
http://exa.unne.edu.ar/depar/areas/informatica/anasistem2/public_html/apuntes/maf/cap4.htm
http://www.monografias.com/trabajos7/orob/orob.shtml
http://monografias.com/trabajos10/soft/soft.shtml