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