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
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
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.
|
|
||
|
… 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. |
||
|
|
||
|
…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. |
||
|
|
|
|
|
…
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. |
||
|
|
|
|
|
…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. |
||
·
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].