9
Análisis y diseño de sistemas Tabla de contenidos Análisis y Diseño Estructurado y Orientado a Objetos 1. Introducción 2. Definición o Análisis y Diseño Estructurado o Análisis y Diseño Orientado a Objetos 3. Diferencias o Enfoque Estructurado vs. Orientado a Objetos 4. Caso Práctico 5. Infografía 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 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. Definición "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 Página 1

Analisis y Diseño

Embed Size (px)

DESCRIPTION

dan

Citation preview

Page 1: Analisis y Diseño

Análisis y diseño de sistemas

Tabla de contenidos Análisis y Diseño Estructurado y Orientado a Objetos

1. Introducción 2. Definición

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

3. Diferencias o Enfoque Estructurado vs. Orientado a Objetos

4. Caso Práctico 5. Infografía

IntroducciónTal 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 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.

Definición

"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.

Página 1

Page 2: Analisis y Diseño

Análisis y diseño de sistemas

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 está formada por un conjunto de otros objetos y que poseen una estructura lógica para una determinada función.

Diferencias

Página 2

Page 3: Analisis y Diseño

Análisis y diseño de sistemas

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

Se consideran los elementos o perspectivas básicas del análisis (Entrada-Proceso-Salida), en función del Software.

Se consideran los conceptos básicos como el Objeto y el Atributo, el todo y sus partes (software), clases y miembros. Modela los objetos que son parte de él.

Utiliza el diagrama estructurado como representación gráfica del sistema.

Utiliza el diagrama orientado a objetos como representación gráfica del sistema.

Consta de 5 Fases (Análisis, Diseño, Codificación, Pruebas e Integración).

Consta de 4 Fases (Análisis, Diseño, Evolución y Modificación).

No enfoca apropiadamente el diseño de familias de programas. Asume una progresión relativa uniforme de pasos de elaboración.

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 verificables contra la realidad.

No acomoda el tipo de desarrollo evolutivo. No enfoca los posibles modos futuros de desarrollo de software.

Si están correctamente definidas las jerarquías de clase, hacer modificaciones no es tan costoso como en el caso de programación tradicional. Sólo hay que entrar en la parte de Evolución para hacer modificaciones.

El Diseño inicia una vez que ha culminado la fase de análisis de sistema.

El 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.

En este análisis se llega solo a la fase de integración y no toma en consideración los cambios que ocurren dentro del sistema en el proceso de análisis y diseño de sistemas.

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.

Página 3

Page 4: Analisis y Diseño

Análisis y diseño de sistemas

Las herramientas utilizadas son: Diagrama de Flujo de Datos, Diagramas de Entidad-Relación, Diagrama de Transición de Estados.

Las herramientas utilizadas son: Diagramas de Clases, Diagrama de Objetos, Diagramas de Módulos, Diagramas de Procesos, Diagramas de Transición de Estados, Diagramas de Tiempo.

El análisis está orientado a los Procesos del sistema.

El análisis está orientado a los Objetos.

Requiere traducir el dominio del problema en una serie de funciones y subfunciones. El analista debe comprender primero el dominio del problema y a continuación documentar las funciones y subfunciones que debe proporcionar el sistema. No existe un mecanismo para comprobar si la especificación del sistema expresa con exactitud los requisitos del sistema.

Es una forma de pensar acerca de un problema en términos del mundo real en vez de en términos de un ordenador. El AOO permite analizar mejor el dominio del problema, sin pensar en términos de implementar el sistema en un ordenador. El AOO permite pasar directamente el dominio del problema al modelo del sistema.

Este enfoque se adapta bien al uso de sistemas informáticos para implementar el sistema, pero no es nuestra forma habitual de pensar. La comunicación entre el analista y la Organización está limitada, por las fases.

El concepto OO es más simple y está menos relacionado con la informática que el concepto de flujo de datos. Esto permite una mejor comunicación entre el analista y el experto en el dominio del problema (es decir, el cliente).

La relación entre los modelos es muy débil, y hay muy poca influencia de un modelo en otro. En la práctica, los modelos de procesos y de datos de un mismo sistema se parecen muy poco. En muchos casos son visiones irreconciliables, no del mismo sistema, sino de dos puntos de vista totalmente diferentes de organizar la solución.

Los objetos encapsulan tanto atributos como operaciones. Debido a esto, el AOO reduce la distancia entre el punto de vista de los datos y el punto de vista del proceso, dejando menos lugar a inconsistencias o disparidades entre ambos modelos.

Caso Práctico

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

Página 4

Page 5: Analisis y Diseño

Análisis y diseño de sistemas

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.

Página 5

Page 6: Analisis y Diseño

Análisis y diseño de sistemas

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.

Página 6