ANALISIS Y DISEÑO DE SISTEMAS
Profesor: Yaros Perez
Alumno: Engelbert Guevara
TRABAJO 1
 

Análisis Estructurado

El análisis estructurado es el nombre con el que se designa a una clase de métodos que analizan un problema mediante la construcción de modelos de flujo de datos.

El análisis estructurado incluye todos los conceptos de la descomposición funcional, pero produce una especificación funcional mejor mediante una rigurosa definición de las interfaces funcionales; por ejemplo, los datos y el control de flujo entre los procesos que realizan las funciones requeridas. El ‘Diagrama de Flujo de Datos’ es característico de los métodos de análisis estructurados. Los métodos de Yourdon son ampliamente utilizados en EU y Europa. El SSADM es recomendado por el gobierno del Reino Unido para los ‘sistemas de procesamiento de datos’. El SADT ha sido utilizado exitosamente por la Agencia Espacial Europea durante algún tiempo.

El análisis estructurado es el uso de las siguientes técnicas para producir una especificación del sistema requerido:

Diagramas de Flujo de Datos

Diccionario de Datos

Inglés estructurado

Tablas de Decisión

Árboles de Decisión

 

Analisis y diseño orientado a objeto

La Programación Orientada a Objetos desde el punto de vista computacional "es un método de implementación en el cuál los programas son organizados como grupos cooperativos de objetos, cada uno de los cuales representa una instancia de alguna clase, y estas clases, todas son miembros de una jerarquía de clases unidas vía relaciones de herencia" [Greiff, 1994].

[Greiff, 1994] comenta que el Análisis Orientado a Objetos (OOA por sus siglas en inglés de Object Oriented Analysis) "es un método de análisis que examina los requerimientos desde la perspectiva de las clases y objetos encontrados en el vocabulario de del dominio del problema". Según [Booch, 1986], el Diseño Orientado a Objetos "es un método de diseño abarcando el proceso de descomposición orientado a objetos y una notación para representar ambos modelos lógico y físico tal como los modelos estáticos y dinámicos del sistema bajo diseño".

En consecuencia, el análisis orientado a objetos, según propuestos por ambos autores y el cual fueron citados anteriormente, puedo inferir en las siguientes acotaciones: en primer lugar se trata de una metodología que utiliza objeto y clases de objetos y por último, es el método que lleva a una descomposición Orientado a Objetos.

En cuanto a las metodologías OO, diremos que hay un gran número de métodos orientado a objetos actualmente. Muchos de los métodos pueden ser clasificados como orientados a objetos porque soportan de manera central los conceptos de la orientación a objetos. Algunas de las metodologías más conocidas y estudiadas hasta antes del UML según [Jacobson 1992] son:

*      Object-Oriented Design (OOD), Booch.

*      Object Modeling Technique (OMT), Rumbaugh.

*      Object Oriented Analysis (OOA), Coad/Yourdon.

*      Hierarchical Object Oriented Design (HOOD), ESA.

*      Object Oriented Structured Design (OOSD), Wasserman.

*      Object Oriented Systems Analysis (OOSA), Shaler y Mellor.

*      Responsibility Driven Design (RDD), Wirfs-Brock, entre otros.

 
 

Fundamentos de lo Orientado a Objetos (OO)

El paradigma OO se basa en el concepto de objeto. Un objeto es aquello que tiene estado (propiedades más valores), comportamiento (acciones y reacciones a mensajes) e identidad (propiedad que lo distingue de los demás objetos). La estructura y comportamiento de objetos similares están definidos en su clase común; los términos instancia y objeto son intercambiables. Una clase es un conjunto de objetos que comparten una estructura y comportamiento común.

La diferencia entre un objeto y una clase es que un objeto es una entidad concreta que existe en tiempo y espacio, mientras que una clase representa una abstracción, la "esencia" de un objeto, tal como son. De aquí que un objeto no es una clase, sin embargo, una clase puede ser un objeto.

En el enfoque OO las propiedades del objeto son claves. Los principios del modelo OO son: abstracción, encapsulación, modularidad y jerarquía, fundamentalmente, y en menor grado tipificación (typing), concurrencia, persistencia. [Booch, 1986] dice que si un modelo que se dice OO no contiene alguno de los primeros cuatro elementos, entonces no es OO.

Según [Booch, 1986], los beneficios del enfoque OO son:

 

Diferencia del análisis estructurado y el orientado a objetos

 

Estructurado
Orientado a objetos

Datos: Los datos se organizan en variables. Se utilizan tipos de datos propios del compilador y otros definidos por el usuario. Los datos se entregan de manera pasiva a los  procedimientos.

Es responsabilidad del programador que los datos vayan al sitio correcto y su procesamiento sea el adecuado.

Objetos, clases y subclases Elementos:

Atributos.

Operaciones o procedimientos de manejo de las estructuras de datos asociadas.

Relación entre módulos: La relación entre módulos: A través de las interfaces de los

mismos.  A través de variables globales.

Ocultamiento de

Información:

§ Representación.

§ Operación.

§ Implementación.

Tanto la representación como la implementación quedan ocultos para el resto de objetos

Ligadura estática:

Ligadura entre datos y procedimientos

void A(int x, int y)

{// Cuerpo del procedimiento }

int main(void) {A(a,b); }

Ligadura dinámica:

La programación orientada a objetos ofrece la posibilidad de retrasar el casamiento de las referencias hasta la ejecución del programa.

De esta el objeto al que se dirige un mensaje no se conoce hasta el momento en que se ejecuta dicha parte del código.

Por ejemplo, podemos calcular el área de una figura geométrica, sin conocer de antemano si es un triángulo, un cuadrado, etc

Reusabilidad:  La reusabilidad se entiende como la capacidad de utilizar un mismo módulo en contextos diferentes.

Herencia:

Al definir una nueva clase normalmente nos basamos en una o varias clases ya definidas.

De esta manera se crea una jerarquía de clases, donde:

Una superclase es una clase definida con anterioridad y que no depende de ninguna otra clase y una subclase es una clase que se define a partir de otra(s).

Busca crear un diseño cerrado y concreto

Busca crear un diseño genérico y abierto

Utiliza técnicas fundamentales para el análisis, a saber:

     Diagrama de flujos de datos(DFD)

     Modelo de entidad-relación

     Diccionario de datos

     Especificaciones de procesos

De acuerdo al tipo de metodología a utilizar, entre lo mas común se halla:

     Modelo de objeto

     Modelo de estado u objeto

Diagrama estructurada de funciones: Esta técnica se utiliza para documentar el proceso de descomposición de funciones y organizar dichas funciones bajo una estructura jerárquica

Diagrama de caso de uso.

Diagrama estructurada de datos: Esta técnica se emplea para documentar los datos requeridos por un sistema y la manera en que éstos se interaccionan a través de modelos de datos conceptuales y lógicos.

Diagrama de clases.

Diagrama de procesos estructurados: Esta técnica se utiliza para documentar las especificaciones técnicas del sistema, donde se muestra la estructura jerárquica de los módulos de un programa y/o sistema y las comunicaciones de datos requeridas para que los módulos ejecuten sus funciones.

     Diagrama de caso de uso

     Diagrama de transición de estados

     Diagrama de objetos

No existe recursividad de procesos y los módulos generalmente son estáticos. Por ejemplo los DFD es el único que determina la dinámica de los sistemas.

Hay un alto grado de iteración y solapamiento, lo que lleva a una forma de trabajo muy dinámica.

Esta orientado hacia funciones y se concentran en los procesos de transformación de los datos.

Se orientan hacia los datos o eventos, para crear a partir de ellos objetos.

 
 
 

Caso práctico

El proyecto se basa en la creación de un portal de información para la empresa Cabillas y Perfiles Cabiperca, C. A., el cual sea de uso público y privado. El portal contará con toda la información necesaria de los productos comercializados y distribuidos por la empresa. Ahora bien, en cuanto al uso privado, se creará una zona de acceso exclusivo para los empleados del grupo o aquellos que tengan la necesidad de comunicarse con la organización frecuentemente cuando no están en el edificio sede. En este “sitio” el usuario podrá acceder a su información y demás recursos que ofrece la red privada de Cabiperca, tal como si estuviera en su sitio de trabajo, e incluso interactuar con el sistema principal de la empresa SAP R/3.