UNIVERSIDAD YACAMBÚ

CÁTEDRA: Análisis y Diseño de Sistemas

TEMA: Diseño Estructurado y Diseño Orientado a Objetos.

ING. BRITO, AYOMARGRIS.

ING. PRADO, GILBERT.

 

 

 

 

 

 

Diseño estructurado y diseño orientado a objetos

 

 

 

 

 

 

 

CONTENIDO

*  Conceptualización de diseño estructurado y orientado a objetos

*  Diferencias entre los tipos de diseño estudiados

*  Caso practico orientado a la organización laboral

*  Infografía

*  Referencias Bibliográficas

 

 

 

 

 

 

 

 

 

 

CONCEPTUALIZACION DE diseño estructurado y diseño orientado a objetos

 

 

 

 

*  Análisis Estructurado.

 

 

 

“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.” (http://www.inf.udec.cl/~mvaras/estprog/cap3.html )

 

Para González (1997) el 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”.

 

En el análisis estructurado se utilizan las siguientes herramientas: (González, 1997)

 

*  Diagrama de flujo de datos: es la herramienta más importante y la base en donde se desarrollan otros componentes.

*  Diccionario de datos: contienen las características lógicas de los lugares donde se almacenan los datos del sistema, incluyendo nombre, alias, descripción, contenido y organización.

*  Diagrama de estructuras de datos: este es una descripción de la relación entre entidades (personas, lugares, eventos y objetos) y el conjunto de información relacionado con la entidad.

*  Gráfica de estructura: es la herramienta del diseño que muestra con símbolos la relación entre los módulos de procesamiento y el software de la computadora.

 

Sin embargo, para Vallejos (2005), estas técnicas son adecuadas sólo para el análisis de sistemas de información. Para análisis estructurado en tiempo real o sistemas embebidos, él amplia la lista con:

 

*  Esquema de transformación.

*  Diagramas de Transición de Estados.

*  Lista de Eventos

*  Esquema de Datos

*  Especificación de Precondición-Postcondición

 

 

*  Diseño Estructurado.

 

 

Una vez que se conoce el ¿Qué? a través del Análisis Estructurado, el Diseño Estructurado se utiliza para satisfacer el ¿Cómo?. Es decir, cómo implementar mejor el modelo en términos del costo total de por vida del sistema (Desarrollo y Mantenimiento).

 

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

 

Las salidas del análisis estructurado son entradas (input) para el diseño estructurado.

 

Las salidas (output) del diseño estructurado son:

 

*  Diagrama Estructurado (estructura de software).

*  Especificación de Módulos.

*  Diccionario de Datos del Sistema.

 

En el diseño estructurado se realizan dos pasos. El diseño preliminar el cual se centra en la transformación de los requisitos en los datos y arquitectura del software. El diseño detallado el cual 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.

 

El análisis y diseño estructurado entonces, puede decirse que tiene como objetivo descubrir todos los detalles relevantes del sistema en estudio. Y además pretende:

 

 

*  Que sea fácil de detectar y verificar la omisión de detalles relevantes

*  Que distintos analistas ante el  mismo sistema actual determinen los mismos requerimientos.

*  Que los documentos generados sobre el sistema actual sean vehículos eficientes de comunicación.

 

 

 

*  Diseño Orientado a Objetos.

 

 

Para Vallejos (2005) el análisis y diseño orientado a 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”.

 

Por tanto, puede decirse que la esencia del desarrollo orientado a objetos es la identificación y organización de conceptos del dominio de la aplicación y no tanto de su representación final en un lenguaje de programación.

 

Utilizando el Análisis y Diseño Orientado a Objetos:

 

 

*  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 iteración y solapamiento, lo que lleva a una forma de trabajo muy dinámica.

 

 

Ideas similares son planteadas por Graham et al (1996) quienes manifiestan como principales ventajas del Análisis y Diseño Orientado a Objetos, las siguientes:

 

 

*  La reutilización de módulos y clases.

*  Sistemas más flexibles, más fácilmente extensibles y de mantenimiento menos costoso.

*  Facilidad en la descripción y la construcción de interfaces gráficas de usuario y sistemas distribuidos.

*  El ocultamiento de la información contribuye a construir sistemas seguros.

*  Es una herramienta para gestionar la complejidad.

*  Abre la posibilidad de realizar ingeniería inversa de software y volver a los requisitos que originaron el diseño.

 

 

 

Diferencias entre los tipos de diseño estudiados

 

 

El análisis estructurado busca producir una especificación estructurada que contenga una descripción sistemática y rigurosa de un sistema. Esta descripción se hace en términos de los modelos de sistemas. El análisis y diseño del sistema es un proceso de creación de modelos.

 

El análisis orientado a objetos construye primero un modelo de objeto, en vez de un modelo funcional e integra los objetos, atributos y operaciones en vez de separarlos entre el modelo de datos y el modelo funcional.

 

El diseño estructurado no es un método único sino un nombre para una clase de métodos. Los métodos de esta clase son:

 

 

*  Métodos Yourdon (Yourdon/Constantine y Ward/Mellor);

*  Técnica de Análisis y Diseño Estructurado (SADT);

*  Metodología del Análisis y Diseño de Sistemas Estructurados (SSADM)

 

Por su parte, el diseño orientado a objetos incluye los siguientes métodos:

 

 

*  Booch;

*  Diseño Jerárquico Orientado a Objetos (Hierarchical Object-Oriented-Design o HOOD);

*  Coad-Yourdon;

*  Técnica del Modelado de Objetos (Object Modelling Technique ú OMT) de Rumbaugh et al;

*  Shlaer.Mellor.

 

         

CASO PRÁCTICO APLICADO A LA ORGANIZACIÓN LABORAL

 

 

 

*  Introducción.

 

En la actualidad la tecnología orientada a objetos se dice que no es solo aplicable  a los lenguajes de programación, además de estos también se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Se ha demostrado que para tener una muy buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos. Por otra parte también se puede mencionar que la programación orientada a objetos es una de las formas más populares de programar y viene teniendo en gran auge en el desarrollo de proyectos de software desde los últimos años debido a sus grandes capacidades y ventajas frente a las antiguas formas de realizar la programación.

Esta breve explicación de los que son los sistemas orientados a objetos en la actualidad y el porqué de su uso, nos ayudara a entender el caso práctico desarrollado en la empresa donde laboramos los autores de este trabajo y en el cual se evidencias las formas de programación orientadas a objetos con un caso real y actual.

 

*  Explicación del Caso.

 

El caso de estudio es un sistema desarrollado para la organización llamado “Sistema Centralizado de Seguridad sobre la Intranet (SCSI)”, este es un desarrollo planteado por la gerencia por la necesidad de proteger la información valiosa de la organización dentro de la gerencia de automatización y control de sistemas industriales; surge la necesidad ya que se disponen de sistemas de visualización de datos para el personal de la parte gerencial pero, no todas las personas deben accesar a estos sistemas de visualización de datos aun cuando estos se encuentran en la intranet corporativa; he allí el nacimiento del sistema “SCSI” el cual Provee un repositorio común de accesos a aplicaciones donde el mismo puede ser llamado usando servicios web, componentes .net o procedimientos guardados (store procedures). Este repositorio tiene roles para el analista, el usuario custodio (referente) y el administrador del sistema. Toda la información del usuario se toma del directorio activo aplicando de esta manera programación orientada a objetos siendo cada unos de los nombrados un objeto de programación.

 

 

*  Roles:

 

¨      Súper Usuario: Usuario quien tiene acceso a todas las opciones de la aplicación de seguridad sin ningún tipo de restricción.

¨      Analista custodio de aplicación: Persona quien crea los catálogos de las aplicaciones a la cuáles el es custodio dentro del SCSI.

¨      Usuario Custodio de Aplicación: Usuario quien tiene acceso a dar o quitar permisos sobre una aplicación a otros usuarios.

 

*  Entidades:

 

¨      Aplicación: Agrupación de catálogos a los cuales se les puede dar o negar permiso.

¨      Catalogo: Unidad mínima de permiso, puede ser una página, una opción, etc., los catálogos tienen una clave única la cual se utiliza para ejecutar la verificación de permiso.

¨      Grupo: Agrupación de usuarios y catálogos que comparten el perfil de permisos.

¨      Usuario: Persona que tiene permiso sobre los grupos, los permisos de los grupos son heredados por los usuarios.

 

 

*  Relaciones:

 

¨      Grupo vs. Catálogo: Un Grupo puede tener asignados catálogos, en esta relación se especifican los tipos de permisos permitidos: Lectura, escritura, modificación, anulación, lectura especial.

¨      Grupo vs. Usuario: Relación de los usuarios que pertenecen al grupo, estos usuarios heredan los permisos asignados al grupo sobre los catálogos indicado en la relación anterior.

¨      Aplicación vs. Usuario Custodio: Relación entre aplicación y usuario, esta se utiliza para indicar que usuario tiene rol de custodio.

 

 

*  Opciones de Uso:

 

¨      Utilizando Servicios Web: Existen varios servicios web alojados en servidores propios de la intranet de la gerencia los cuales proveen la funcionalidad básica para la autenticación y el uso del repositorio de seguridad.

¨      Componente .NET : Se creó un componente .net llamado AccessRules.dll el cual es llamado por los servicios web, este tiene la misma funcionalidad, es una capa inferior.

¨      Procedimientos almacenados: todos los accesos están programados en la base de datos, lo que da otro nivel de autenticación.

 

 

*  Servicio Opcional:

 

¨      Se construyó un servicio para acceder el directorio activo, el cual provee métodos de búsqueda por el nombre, el indicador y el dominio

 

 

*  Auditoria:

 

¨      Existe una tabla que guarda cualquier creación, modificación o eliminación de los registros de las tablas de la base de datos de seguridad. Esto siempre y cuando se emplee la aplicación, porque alguien con suficiente permiso puede evitar esto. Por esto es recomendable utilizar los servicios web adecuados para validar los permisos, que exista un solo súper usuario y que no todos tengan acceso administrados a la base de datos.

 

 

*  Arquitectura empleada para el desarrollo.

 


 

 

 

*  Ventajas de la arquitectura orientada a objetos utilizada.

 

 

*  Mejoras en el mantenimiento de la aplicación.

*  Abstracción en el momento de crear las páginas, da más facilidad para la creación de las mismas, ya que no hay que reescribir código para el acceso a datos.

*  La creación de componentes facilita implementar funcionalidad de la aplicación en cualquier aplicación que requiera funciones de la misma.

*  Facilidad para la migración ( ejemplo de base de datos).

*  Juego único de rutinas, que pueden ser reutilizadas en cualquier aplicación.

 

 

 

 

*  Conclusión.

 

Este sistema SCSI “Sistema Centralizado de Seguridad sobre la Intranet”, es una gran muestra se sistemas orientados a objetos utilizados en la organización, en este podemos visualizar que la programación es por medio de objetos no dependientes pero si vinculantes los unos con los otros para de esta manera facilitar la accesibilidad y garantizar la seguridad en los sistemas web de la intranet el cual es el propósito del sistema explicado. Se ve que la programación orientada a objetos es el nuevo auge en esta organización como en otras que utilizan tecnologías de punta e innovadoras.

 

 

 

 

INFOGRAFIA

 

 

 

*  Análisis y diseño.

http://www.monografias.com/trabajos10/andi/andi.shtml

URL Local

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.

*  Análisis y Diseño Estructurado

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

URL Local

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.

*  Análisis de Sistemas I. Tema 1: La naturaleza de los Sistemas

http://exa.unne.edu.ar/depar/areas/informatica/anasistem1/public_html/teoria%20en%20acrobat/ANA_01_05.PDF

 

… El objeto que ha de estudiarse debe ser concebido como un sistema. Se debe considerar la existencia del conjunto de partes y de las relaciones entre ellos. También conviene aclarar si el sistema será estudiado como un subsistema mucho mas amplio, con ello lograríamos un enfoque de sistema del Todo y nos permitiría un diseño eficiente.

*  Análisis de Sistemas I. Tema 5: Metodologías.

http://exa.unne.edu.ar/depar/areas/informatica/anasistem1/public_html/teoria%20en%20acrobat/ANA_05_05.PDF

 

…El modelo esencial es un tipo de modelo lógico. Describe lo que el sistema debe hacer para ser exitoso, sin importar la tecnología elegida para implementarlo. El modelo esencial se construye primero definiendo el ambiente del sistema e identificando las entradas, salidas, estímulos y respuestas que debe manejar.

 

 

 

 

 

 

 

 

REFERENCIAS BIBLIOGRAFICAS

 

 

·         González, Cecylia. (1997). Análisis y diseño. Disponible: http://www.monografias.com/trabajos10/andi/andi.shtml [Consulta: 22 de julio de 2007].

·         Graham, Ian y otros. (1996). Métodos orientados a objetos. España: Ediciones Díaz de Santos.

·         S/A. S/F. Análisis y Diseño Estructurado. Disponible: http://www.inf.udec.cl/~mvaras/estprog/cap3.html [Consulta: 22 de julio de 2007].

·         Vallejos, Oscar (2005). Análisis de Sistemas I. Tema 1: La naturaleza de los Sistemas.

Disponible:  http://exa.unne.edu.ar/depar/areas/informatica/anasistem1/public_html/teoria%20en%20acrobat/ANA_01_05.PDF . [Consulta: 20 de julio de 2007].

·         Vallejos, Oscar (2005). Análisis de Sistemas I. Tema 5: Metodologías.

Disponible: http://exa.unne.edu.ar/depar/areas/informatica/anasistem1/public_html/teoria%20en%20acrobat/ANA_05_05.PDF . [Consulta: 20 de julio de 2007].

 

 

 

 

Hosted by www.Geocities.ws

1