REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DE EDUCACION SUPERIOR

UNIVERSIDAD YACAMBU

VICE RECTORADO DE ESTUDIOS A DISTANCIA

ESPECIALIDAD EN SISTEMAS DE INFORMACION

ASIGNATURA: ANALISIS Y DISEÑO DE SISTEMAS

PROFESOR: Msc. YAROS PEREZ

 

 

TRABAJO No. 1

 

 

ANALISIS Y DISEÑO ESTRCUTURADO. ANALISIS Y DISEÑO ORIENTADO A OBJETOS. DIFERENCIA.

 

 

 

Análisis y Diseño Estructurado

Análisis y Diseño Orientado a Objetos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CONCEPTO

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.

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 implantará la aplicación. Más bien permite que las personas observen los elementos lógicos (lo que hará el sistema) separados 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.

Los elementos esenciales son símbolos gráficos, diagramas de flujo de datos y diccionario centralizado de datos.

Una de las formas de describir un sistema es preparar un bosquejo que señale sus características, identifique la función para la que sirve e indique cómo éste interactúa con otros elementos, entre otras cosas. Sin embargo, describir de esta manera un sistema grande es un proceso tedioso y propenso a errores ya que es fácil omitir algún detalle o dar una explicación que quizá los demás no entiendan.

En lugar de las palabras, el análisis estructurado utiliza símbolos, o íconos, para crear un modelo gráfico del sistema. Los modelos de este tipo muestran los detalles del sistema. Si se seleccionan los símbolos y notación correctos entonces casi cualquier persona puede seguir la forma en que los componentes se acomodarán entre si para formar el sistema.

El diagrama lógico de flujo de datos muestra las fuentes y destinos de los datos, identifica y da nombre a los procesos que se llevan a cabo, identifica y da nombre a los grupos de datos que relacionan una función con otra y señala los almacenes de datos a los que se tiene acceso.

El modelo del sistema recibe el nombre de diagrama de flujo de datos (DFD). La descripción completa de un sistema está formada por un conjunto de diagramas de flujo de datos.

Para desarrollar una descripción del sistema por el método de análisis estructurado se sigue un proceso descendente (top-down). El modelo original se detalla en diagramas de bajo nivel que muestran características adicionales del sistema. Cada proceso puede desglosarse en diagramas de flujo de datos cada vez más detallados. Esta secuencia se repite hasta que se obtienen suficientes detalles que permiten al analista comprender en su totalidad la parte del sistema que se encuentra bajo investigación.

Todas las definiciones de los elementos en el sistema (flujo de datos, procesos y almacenes de datos) están descritos en forma detallada en el diccionario de datos. Si algún miembro del equipo encargado del proyecto desea saber alguna definición del nombre de un dato o el contenido particular de un flujo de datos, esta información debe encontrarse disponible en el diccionario de datos.

El Diseño Estructurado 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. Es una técnica específica para el diseño de programas y no un método de diseño de comprensió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 estructurado, los cuales 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. 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.

Los métodos de diseño orientado a objetos han surgido para ayudar a los desarrolladores a explotar la potencia expresiva de los lenguajes de programación basados en objetos y orientados a objetos, utilizando las clases y los objetos como bloques básicos de construcción, la metodología orientado a objetos es un principio de desarrollo evolutivo, no revolucionario, es decir, que mas que revolucionario es evolucionario debido a que tal metodología no rompe con los avances del pasado, sino que los reestructura y los afianza de una forma que el desarrollo de aplicaciones o sistemas es mucho mas sencillo y su proceso de desarrollo mucho más dinámico que con otras metodologías estructuradas. Autores como Booch (1993) define al Análisis Orientado a Objetos (AOO) como "un método de análisis que examina los requisitos desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema", de los objetos Booch (1993) dice "son entidades tangibles que muestran un comportamiento bien definido". Todo esto quiere decir que el análisis orientado a objetos parte de entidades tangibles halladas en el problema, tales entidades varían dependiendo de los diversos casos prácticos, pero en todos los casos son elementos reales que toman parte del problema de forma directa. Para Booch (1993), el Diseño Orientado a Objetos (DOO) "es el método que lleva a una descomposición Orientado a Objetos. Aplicando DOO, se crea software resistente al cambio y escrito con economía de expresión. Se logra un mayor nivel de confianza en la corrección del software a través de la división inteligente de su espacio de estados. En última instancia, se reducen los riesgos inherentes al desarrollo de sistemas". Los modelos del diseño orientado a objetos reflejan la importancia de plasmar explícitamente las jerarquías de clases y objetos del sistema que se diseña. Estos modelos cubren también el espectro de las decisiones de diseño relevantes que hay que considerar en el desarrollo de un sistema complejo, y así animan a construir implantaciones que posean los atributos de los sistemas complejos bien formados. También se dice del DOO que es un método que abarca el proceso de descomposición orientada a objetos y una notación para describir los modelos lógico y físico, así como los modelos estático y dinámico, tal como aparecen en el anexo 1, del sistema que se diseña; el soporte para la descomposición orientada a objetos es lo que hace al diseño orientada a objetos diferente del diseño estructurado, el primero, utiliza abstracciones de clases y objetos para estructurar lógicamente los sistemas, y el segundo, utiliza abstracciones algorítmicas.

 

 

 

 

 

 

 

 

 

 

 

 

 

FUNCIÓN

La función del análisis de sistemas, conlleva más que sólo realizar análisis de requisitos, pero es en eso donde se focalizará la discusión. Una de las principales labores del analista es descubrir detalles y documentar la política de un negocio que pudiera existir sólo en forma implícita, "transmitidas de generación en generación" por los usuarios, nunca documentadas formalmente. El analista debe distinguir entre síntomas, problemas del usuario y causas. Con sus conocimientos de la tecnología de los computadores, el analista debe ayudar al usuario a explorar aplicaciones novedosas y más útiles de éstos así como nuevas formas de hacer negocios. Aunque muchos de los sistemas antiguos sólo se limitaban a perpetuar el negocio original del usuario, pero a velocidades electrónicas, hoy en día los analistas se enfrentan al desafío de ayudar al usuario a encontrar productos y mercados radicalmente innovadores, con la ayuda del computador.

Las funciones del sistema son lo que éste deberá de hacer. Hay que identificar estas funciones y listarlas en grupos lógicos. Para verificar que X es en verdad una función del sistema, la siguiente frase deberá tener sentido: "El sistema deberá hacer X". Por ejemplo: "el sistema deberá autorizar pagos a crédito".

Las funciones pueden clasificarse en tres categorías: evidentes, ocultas y superfluas. Las evidentes deben realizarse, y el usuario debe saber que se han realizado. Las ocultas también deben realizarse, y puede que no sean visibles para el usuario. Muchas de estas funciones se omiten (erróneamente) durante el proceso de obtención de requerimientos. Las superfluas son opcionales, y su inclusión no repercute significativamente en el costo ni en otras funciones.

 

 

 

 

DIFERENCIA

Este se basa en la descomposición funcional del sistema que se va a construir mostrando como fluir la información a través del sistema, manejando conceptos de  abstracción y clasificación. Incorpora modelos de datos y modelos de procesos y comportamiento.

Este viene hacer algo más que una forma de programar es también una forma de pensar sobre el problema en término del mundo real en vez del término de un ordenador. Los objetos encapsulan atributos como operaciones y reduce los puntos de vista entre datos y procesos,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VENTAJAS

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 implantará la aplicación. Más bien permite que las personas observen los elementos lógicos (lo que hará el sistema) separados 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.

Es una técnica específica para el diseño de programas y no un método de diseño de comprensión. Esta técnica conduce a la especificación de módulos de programa que son funcionalmente independientes. La herramienta funda-mental del diseño estructurado es el diagrama estructurado, los cuales 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. 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.

·           Fomenta la reutilización y extensión del código

 

·           Estabilidad

 

 

·           Comportamiento de objetos

 

·           Permite la construcción de sistemas más complejas

 

·           Confiabilidad

 

·           Nuevos mercados de software.

 

·           Rápido diseño

 

·           Mayor calidad de diseño.

 

·           Integridad

 

·           Programación más sencilla.

 

·           Mantenimiento más sencillo.

 

·           Permite relacionar el sistema al mundo real.

 

·           Facilita la creación de programas visuales

 

 

 

 

DESVENTAJAS

La mayoría de proyectos de software son complejos, y la estrategia primaria para superar la complejidad, es la descomposición (divide y vencerás). La estrategia es dividir el problema en unidades más pequeñas que sean manejables. Aquí se trata de descomponer el problema en funciones o procesos. Este método origina una división jerárquica de procesos constituidos por sub-procesos

·           Alta curva de aprendizaje

 

·           Costosa

 

·           Requiere conocimientos adicionales.

 

·           No es recomendable para pequeños proyectos.

 

·           Requiere personal especializado.

 

·           El diseño orientado a objetos es un diseño con ocultamiento de información. La representación puede cambiarse sin cambios muy extensos.

·           Un objeto tiene un estado privado con un constructor asociado y operaciones de acceso. Los objetos proveen servicios (operaciones) a otros objetos.

·           La identificación de objetos es un proceso difícil. La identificación de sustantivos y verbos en lenguaje natural es útil para identificar objetos

·           Las interfaces de objetos deben ser precisamente definidas. Un lenguaje de programación como Ada, C++ o JAVA puede usarse para esto

·        Documentación útil para el diseño orientado a objetos incluyen, gráficas de jerarquía de objetos y diagramas de interacción de objetos. Los objetos puede implementarse como entidades secuenciales o concurrentes.

 

 

 

 

 

 

 

 

 

 

 

 

DISEÑO

El diseño de un sistema de información produce los detalles que establecen la forma en la que el sistema cumplirá con los requerimientos identificados durante la fase de análisis. Los especialistas en sistemas se refieren, con frecuencia, a esta etapa como diseño lógico en contraste con la de desarrollo del software, a la que denominan diseño físico.

Los analistas de sistemas comienzan el proceso de diseño identificando los reportes y demás salidas que debe producir el sistema. Luego determinar los datos específicos para cada reporte y salida. Es común que los diseñadores hagan un bosquejo del formato o pantalla que esperan que aparezca cuando el sistema esté terminado. Lo anterior se efectúa en papel o en la pantalla de una Terminal utilizando para ello algunas de las herramientas disponibles para el desarrollo de sistemas.

El diseño de un sistema también indica los datos de entrada, aquellos que serán calculados y los que deben ser almacenados. Asimismo, se escriben con todo detalle los procedimientos de cálculo y los datos individuales. Los diseñadores seleccionan las estructuras de archivo y los dispositivos de almacenamiento, tales como discos y cintas magnéticas o incluso archivos en papel. Los procedimientos que se escriben indican cómo procesar los datos y producir las salidas. Los documentos que contienen las especificaciones de diseño representan a éste de muchas maneras. La información detallada del diseño se proporciona al equipo de programación para comenzar la fase de desarrollo de software.

Los diseñadores son los responsables de contestar preguntas, aclarar dudas y manejar los problemas que enfrentan los programadores cuando utilizan las especificaciones de diseño.

Para el desarrollo de software orientado a objetos no basta usar un lenguaje orientado a objetos. También se necesitará realizar un análisis y diseño orientado a objetos. El modelamiento visual es la clave para realizar el análisis OO. Desde los inicios del desarrollo de software OO han existido diferentes metodologías para hacer esto del modelamiento, pero sin lugar a duda, el Lenguaje de Modelamiento Unificado (UML) puso fin a la guerra de metodologías. Según los mismos diseñadores del lenguaje UML, éste tiene como fin modelar cualquier tipo de sistemas (no solamente de software) usando los conceptos de la orientación a objetos. Y además, este lenguaje debe ser entendible para los humanos y máquinas. Actualmente en la industria del desarrollo de software tenemos al UML como un estándar para el modelamiento de sistemas OO. Fue la empresa Racional que creó estas definiciones y especificaciones del estándar UML, y lo abrió al mercado. La misma empresa creó uno de los programas más conocidos hoy en día para este fin; el Racional Rose, pero también existen otros programas como el Poseidon que trae licencias del tipo community edition que permiten su uso libremente. El UML consta de todos los elementos y diagramas que permiten modelar los sistemas en base al paradigma orientado a objetos. Los modelos orientados a objetos cuando se construyen en forma correcta, son fáciles de comunicar, cambiar, expandir, validar y verificar. Este modelamiento en UML es flexible al cambio y permite crear componentes plenamente reutilizables.

  • Los objetos son abstracciones del mundo real o entidades del sistema que se administran entre ellas mismas
  • Los objetos son independientes y encapsulan el estado y la representación de información
  • La funcionalidad del sistema se expresa en términos de servicios de los objetos
  • Las áreas de datos compartidas son eliminadas. Los objetos se comunican mediante paso de parámetros
  • Los objetos pueden estar distribuidos y pueden ejecutarse en forma secuencial o en paralelo

 

 

 

 

 

 

DESARROLLO

Es para grandes sistemas.

1.− Misión del sistema en componentes.

2.− La construcción de un modelo del sistema.

3.- Permite que las personas observen los elementos lógicos separados de los físicos. Se divide en :

·        Descripción Grafica.

·        Diagramas de Flujo de Datos.

·        Diccionario de Datos.

 

El análisis, diseño y programación orientada a objetos están relacionados pero son diferentes. El análisis orientado a objetos concierne al desarrollo del modelo de objetos del dominio de la aplicación. El Diseño Orientado a Objetos trata del desarrollo del modelo del sistema orientado a objetos para implementar los requerimientos. La programación orientada a objetos trata de la realización del Diseño Orientado a objetos utilizando algún lenguaje de programación orientada a objetos como C++

 

 


CASO PRÁCTICO DE LENGUAJE ESTRUCTURADO

 

 

Procedimiento Captura

Se pide un No. de Control

            Si el No. de Control existe

                        Se capturan los códigos de los textos

            Sino

                        “No. de Control no valido”

            Fin de Si

Fin de Captura

 

Procedimiento Consulta

Se pide un No. de Control

            Si lo encuentra

Se le da la información al alumno

 

Sino

“No. de Control no valido”

            Fin de Si

Fin de Consulta.

 

Procedimiento Bajas

Se pide un No. de Control

            Si lo encuentra

                        Lo da de baja

                        “El Alumno esta dado de Baja”

            Sino

                        “No. de Control no valido”

            Fin de Si

Fin de Bajas

 


CASO PRÁCTICO DE LENGUAJE ESTRUCTURADO PARA UNA TRANSACCION FINANCIERA

 

 

 

 

 

 

 

 


 

CASOS PRACTICOS DE LENGUAJES ESTRUCTURADOS PARA UNA ORGANIZACIÓN DE INFORMACION BIBLIOTECARIA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CASO PRÁCTICO PARA ANALISIS Y DISEÑO ORIENTADO A OBJETOS PARA UNA ORGANIZACIÓN DE INFORMACION BIBLIOTECARIA

 

 

Se desea diseñar el software necesario para un Sistema Bibliotecario, provisto de lectores ópticos con monitores, tanto para los usuarios y usuarias, como para los operadores, los cuales serán compartidos por los diferentes puntos del Sistema Bibliotecario. Cada Organización de Información dispone de su propio ordenador, provisto de un software adecuado, el cual lleva la información sobre los usuarios y usuarias de cada subsistema, y procesa las operaciones  que realicen estas dentro y fuera de cada uno de los subsistemas. A este ordenador están conectados los lectores de información y que son operados por el Personal Administrativo de cada Organización, los cuales están autorizados solamente a: inscribir usuarios,  efectuar operaciones de préstamos y devoluciones de texto, así como la entrega de recibos de multas en caso de mora.

Cada estación funcionara por medio de lectores ópticos; los cuales escanearán la información contenida en el código de barras de cada texto, así como del carné del usuario o usuaria, todo esto como una forma de interactuar  con el usuario, donde se comunica  con un ordenador central para llevar a cabo las operaciones, entregando los textos al usuario e imprimiendo un recibo. El sistema llevará correctamente los registros  de las operaciones efectuadas, las cuales deben  cumplir con las características aceptables de seguridad y manejará correctamente  accesos concurrentes a la información de cada usuario o usuaria.

El coste de  desarrollo de la parte compartida  del sistema se dividirá entre las organizaciones de información  que forman parte del sistema, en función del número de usuarios inscritos y provistos de carnés de identificación.

A continuación se preparan los escenarios detallados. Primero los normales, después se añaden los problemas que puedan surgir. En el ejemplo de la red bibliotecaria

 

 

 

INFOGRAFIA.

http://members.tripod.com/grupo_aoo/sld054.htm

 

En esta página encontraremos una investigación sistemática del análisis y diseño orientado a objetos, así como las herramientas para su utilización. La programación orientada a objetos como muchos saben, no es una programación nueva, ya lleva alrededor de muchos años en el mercado. Pero los conceptos de orientación a objetos datan de los años cincuenta, pero dada a que la tecnología no estaba acorde con su implementación, se mantuvo como concepto hasta no hace poco.

 

 

http://arantxa.ii.uam.es/~alfonsec/docs/uml.pdf

Esta página nos presenta un estudio minucioso sobre el Análisis y Diseño orientado a objetos, así como sus diferentes metodologías y usos

http://es.wikipedia.org/wiki/Análisis_y_diseño_orientado_a_objetos

En este link podemos encontrar  una forma de representar un dominio en términos de entidades (objetos) compuestos por verbos y sustantivos clasificados de acuerdo a su dependencia funcional. Este método de análisis y diseño crea un conjunto de modelos, comunicado a otros mediante una notación acordada, tal como el lenguaje unificado de desarrollo (UML).

http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/

Para el desarrollo de software orientado a objetos no basta usar un lenguaje orientado a objetos. También se necesitará realizar un análisis y diseño orientado a objetos. El modelamiento visual es la clave para realizar el análisis OO. Desde los inicios del desarrollo de software OO han existido diferentes metodologías para hacer esto del modelamiento, pero sin lugar a duda, el Lenguaje de Modelamiento Unificado (UML) puso fin a la guerra de metodologías. Según los mismos diseñadores del lenguaje UML, éste tiene como fin modelar cualquier tipo de sistemas (no solamente de software) usando los conceptos de la orientación a objetos. Y además, este lenguaje debe ser entendible para los humanos y máquinas.

 

ü                 Booch, G. y otros (1993) Object-Oriented Analysis and Design with Applications. 2ª Edición.

ü                  http://members.tripod.com/grupo_aoo/sld054.htm

ü                  http://arantxa.ii.uam.es/~alfonsec/docs/uml.pdf

ü                 http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/

ü                  http://es.wikipedia.org/wiki/An%C3%A1lisis_y_dise%C3%B1o_orientado_a_objetos

ü                  http://www.dcc.uchile.cl/~luguerre/cc51h/clase11.html

ü                  http://www.eubca.edu.uy/old/diccionario/letra_a.htm

ü                  http://www.lawebdelprogramador.com/diccionario/mostrar.php?letra=A&pagina=3

ü                  http://www.mappinginteractivo.com/plantilla-ante.asp?id_articulo=217

ü                  http://www.avizora.com/publicaciones/computacion/textos/analisis_orientado_objetos_0003.htm

ü                  http://arantxa.ii.uam.es/~alfonsec/atm.htm

ü                  http://www.cs.ualberta.ca/~pfiguero/soo/metod/ood.html

 

1
Hosted by www.Geocities.ws

1