ANALISIS Y DISEÑO DE SISTEMAS
Maria Eugenia Viloria
Ortin –
http://es.geocities.com/mariaeugeniaviloriaortin
TRABAJO 1
ANÁLISIS Y DISEÑO ESTRUCTURADO
Y
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS
1. Definición
Ante
todo debemos puntualizar que el “Análisis y Diseño de un sistema” es una
evaluación referida al "extremo
inicial" de un proyecto de desarrollo de sistemas, durante el tiempo
en que los requisitos del usuario son definidos y documentados.
Es
el procedimiento previo al Diseño pues es el punto de donde la recolección de
datos de las necesidades del usuario señalará el camino a seguir en el
posterior trabajo de desarrollo de la solución de la necesidad anteriormente
mencionada.
1.1 Qué es
Análisis y Diseño Estructurado
El Análisis
estructurado introduce el uso de las herramientas de documentación
gráficas
para producir un tipo diferente de especificación funcional: "la
especificación estructurada".
Muchos especialistas en sistemas de información
reconocen la dificultad de comprender de manera completa sistemas grandes y
complejos. El método de desarrollo del análisis estructurado tiene como
finalidad superar esta dificultad por medio de:
la división del sistema en componentes y la construcción
de un modelo
del sistema.
El método incorpora elementos tanto de análisis como
de diseño.
El análisis estructurado se concentra en especificar
lo que se requiere que haga el sistema o la aplicación. Permite que las
personas observen los elementos lógicos (lo que hará el sistema) separados de
los componentes físicos (computadora, 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.
El análisis estructurado es un método para el análisis de
sistemas manuales o automatizados, que conduce al desarrollo de
especificaciones para sistemas nuevos o para efectuar modificaciones a los ya
existentes. Éste análisis permite al analista conocer un sistema o proceso en
una forma lógica
y manejable al mismo tiempo que proporciona la base para asegurar que no se
omite ningún detalle pertinente.
Diseño
estructurado. Es el procedimiento
que considera la toma de decisión para el desarrollo de la solución. Durante este
desarrollo se determinan qué módulos, interconectados de qué forma,
solucionarán mejor un problema definido ¿Como se reconoce un buen diseño?
¿Existe una sola manera de realizar un buen diseño?
El diseño Estructurado es otro elemento del Método de
Desarrollo por Análisis Estructurado que emplea la descripción gráfica, se
enfoca en el desarrollo de especificaciones del software.
El objetivo del Diseño Estructurado es programas formados
por módulos independientes unos de otros desde el punto de vista funcional.
El Diseño Estructurado es una técnica específica para el
diseño de programas.
La herramienta fundamental del Diseño Estructurado es el diagrama
estructurado que es 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 (que es la tarea
de los diagramas de
flujo). 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.
El Análisis y Diseño Estructurado se caracteriza por
poseer una estructura bien específica para el logro del objetivo, y aun cuando
existen varios modelos para el desarrollo de soluciones, éstos giran
básicamente sobre los mismos puntos:
|
Ciclo de
Vida clásico de un Sistema Estructurado |
|
·
Investigación
preliminar (Documentación, factibilidades) ·
Determinación
de requisitos del sistema (Comprensión de las necesidades) ·
Diseño del
sistema (Diseño lógico) ·
Desarrollo
del software (Diseño físico) ·
Prueba del
sistema (Experimental) ·
Implantación
y Evaluación (instalación, entrenamiento, evaluaciones) |
1.2
Qué es Análisis (OOA) y Diseño orientado a Objetos
(OOD)
La programación orientada a objetos (OOP) como
paradigma es una postura ontológica: el universo computacional está poblado por
objetos, cada uno responsabilizándose por sí mismo, y comunicándose con los
demás por medio de mensajes".
|
Para
introducirnos en el complejo pero aparentemente sencillo mundo de la
programación orientada a objetos debemos comprender ante todo algunos
conceptos básicos. Objeto.
Entender que es un objeto es la clave para entender cualquier lenguaje
orientado a objetos. Un objeto puede
considerarse como una especie de cápsula dividida en tres partes: Relaciones,
Propiedades y métodos. En el análisis y diseño
orientados a objetos (OO), interesa el comportamiento del objeto. Si se
construye software, los módulos de software OO se basan en los tipos de
objetos. El software que implanta el objeto contiene estructuras de datos y
operaciones que expresan dicho comportamiento. Los Objetos de
tienen características y comportamientos. Un objeto de software mantiene sus
características en una o más "variables", e implementa su
comportamiento con "métodos". Un objeto puede
estar compuesto por otros objetos. Estos últimos a su vez también pueden
estar compuestos por otros objetos. Esta intrincada estructura es la que
permite construir objetos muy complejos. Clase.
Las clases son la descripción de los elementos comunes y básicos de los
objetos que deben representar. Así las clases se definen y pueden ser usadas
para crear innumerables objetos de este tipo en los más diferentes contextos. Así,
una clase es una implantación de un tipo de objeto. Especifica una estructura
de datos y los métodos operativos permisibles que se aplican a cada uno de
sus objetos. La clase es un modelo o
prototipo que define las variables y métodos comunes a todos los objetos de
cierta clase. También se puede decir que una clase es una plantilla genérica
para un conjunto de objetos de similares características. Las clases
se pueden catalogar como clases visuales, clases no visuales y clases
abstractas. Las clases visuales son las que derivan
en objetos que forman parte de la interfaz grafica con el usuario. Las clases abstractas
son clases que sólo pueden tener subclases. Para que la clase tenga
funcionalidad es necesario definirle cuáles son los métodos y propiedades que
van a formar parte de ella. Herencia. Un tipo de objeto de alto nivel puede
especializarse en tipos de objeto de bajo nivel. Un tipo de objeto puede
tener subtipos. Por ejemplo, el tipo de objeto persona puede tener subtipos
estudiante y empleado. A su vez, el tipo de objeto estudiante puede tener
como subtipo estudiante de pregrado y estudiante de
postgrado, mientras que empleado puede tener como subtipo a académico y
administrativo. Existe de este modo una jerarquía de tipos, subtipos, subsubtipos, etc. Una clase implanta
el tipo de objeto. Una subclase hereda propiedades de su clase padre; una sub-subclase hereda propiedades de las subclases; etc.
Una subclase puede heredar la estructura de datos y los métodos, o algunos de
los métodos, de su superclase. También tiene sus métodos e incluso tipos de
datos propios. Mensajes. Para que un objeto haga algo, le enviamos una
solicitud. Esta hace que se produzca una operación. La operación ejecuta el
método apropiado y, de manera opcional, produce una respuesta. El mensaje que
constituye la solicitud contiene el nombre del objeto, el nombre de una
operación y, a veces, un grupo de parámetros. La programación
orientada a objetos es una forma de diseño modular en la que con frecuencia
el mundo se piensa en términos de objetos, operaciones, métodos y mensajes
que se transfieren entre tales objetos. Un mensaje es una solicitud para que
se lleve a cabo la operación indicada y se produzca el resultado. Método.
Son los procedimientos declarados de cada objeto. Los métodos especifican la
forma en que se controlan los datos de un objeto. Los métodos en un tipo de
objeto sólo hacen referencia a la estructura de datos de ese tipo de objeto.
No deben tener acceso directo a las estructuras de datos de otros objetos.
Para utilizar la estructura de datos de otro objeto, deben enviar un mensaje
a éste. El tipo de objeto empaca juntos los tipos de datos y su
comportamiento. Un
método es una función o subrutina asociada a un objeto. Entonces, dentro
del software orientado a objeto, un objeto es cualquier cosa, real o
abstracta, acerca de la cual almacenamos datos y los métodos que controlan
dichos datos. Eventos.
Son también código escrito dentro de procedimientos, pero que no se ejecutan
a través de una invocación especifica, sino que se “auto” ejecutan por alguna
acción en particular que se esté llevando a cabo, vale decir el movimiento
del mouse (mousemove), el
clic del mouse (clic), etc. Encapsulado. El empaque conjunto de datos y métodos se llama encapsulado. El
objeto esconde sus datos de los demás objetos y permite el acceso a los datos
mediante sus propios métodos. Esto recibe el nombre de ocultamiento de
información. El encapsulamiento evita la corrupción
de los datos de un objeto. Si todos los programas pudieran tener acceso a los
datos de cualquier forma que quisieran los usuarios, los datos se podrían
corromper o utilizar de mala manera. El encapsulado protege los datos del uso
arbitrario y no pretendido. El encapsulado, al
separar el comportamiento del objeto de su implantación, permite la
modificación de ésta sin que se tengan que modificar las aplicaciones que lo
utilizan. |
En 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". En OOA lo que nos importa es distinguir cuáles
serán los objetos que van a ser parte de la aplicación. Tal vez ésta es la
tarea más complicada del analista. En un primer momento, no debemos intentar
enfocar con rigurosidad los objetos que nos puedan hacer falta en nuestra
aplicación. Lo que haremos, un Brain Storming (tormenta de ideas que depuremos con
posterioridad).
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".
Actualmente
las metodologías más importantes de análisis y diseño de sistemas han confluido
en lo que se es el UML,
bajo el respaldo del Object Management
Group.
2. Diferencias
|
Estructurado |
Orientado
a Objetos |
|
·
El desarrollo
requiere de especificaciones funcionales gráficas, particionadas
y mínimamente redundantes |
·
La esencia
del desarrollo orientado a objetos es la identificación y organización de
conceptos del dominio de a aplicación |
|
·
Programación
estructurada ·
Diseño
Estructurado ·
Análisis
Estructurado |
·
Se basa en
estructura de datos ·
Se eliminan
fronteras entra las fases del desarrollo ·
Reutilización
de componentes (a través de objetos) ·
Incorporación
de bibliotecas de clases ·
Iteración y
solapamiento |
|
·
Requiere
diagramas de flujo de datos, diccionario de datos y especificaciones de
procesos, definiendo las estructuras de los datos de entrada y salida,
ordenando según la lógica procedimental para que
responda a los requerimientos. |
·
Se utilizan
objetos de software como si fuesen ojetos del mundo
real para construir modelos, los cuales interactuarán para responder a los
requerimientos. Estos emergen en el proceso como los eventos en la vida real.
Estos objetos, al poseer “vida propia”, actúan en la medida que son activados
por los eventos, sin requerir ser involucrados por una lógica y subsecuente
ejecución de un código estructurado |
3. Caso Práctico.
Utilizando
|
Caso:
Sistema de Comunicaciones del sitio http://www.dirfinanzas.mil.ve |
|
|
|
|
Todo el personal militar y civil adscrito al
Ejército venezolano, ubicado en cualquier punto de la geografía nacional e
internacional recibe el beneficio económico a través de La presencia de este personal fuera del alcance
físico del Comando General del Ejército ubicado en Fuerte Tiuna,
genera dificultades de comunicación entre la organización y sus miembros,
dificultando el proceso de consulta de dudas que este personal tiene. Por
ello se requiere de un sistema interactivo que permita que hasta el soldado o
el empleado civil en frontera y más alejado de la capital pueda exponer sus
inquietudes ante |
|
|
|
|
Se requiere la utilización de dos objetos del
mismo tipo: casillas de texto, y otros dos objetos de botón. Objetos de Casilla: Uno para exposición de la duda
o inquietud del usuario del sitio. La otra casilla para permitir al usuario
identificarse si así lo desea. Objetos de botón: Uno de ellos permitirá la
limpieza de los objetos de texto; el otro botón activará el código Summit. |
|
|
|
|
El formulario que contiene los objetos será
enviado al email: [email protected]
a través de Summit. El sistema se desarrollará con JavaScript
de tal forma que no requiera que el expositor deba poseer necesariamente un
correo electrónico para enviar su comentario, por lo cual el servicio no será
invasivo. |
|
|
|
|
http://www.dirfinanzas.mil.ve/contactos.htm
|
4. Infografía
·
http://www.monografias.com/trabajos4/cicdevida/cicdevida.shtml
·
http://www.monografias.com/trabajos5/inso/inso.shtml
·
http://www.inf.udec.cl/~mvaras/estprog/cap41.html
·
http://www.inei.gob.pe/biblioineipub/bancopub/inf/lib5040/TECN08.htm
·
http://www.microsoft.com/spanish/msdn/comunidad/dce/1/entrenamiento/foxpro/1b.asp
·
http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/
·
http://monografias.com/trabajos10/soft/soft.shtml
·
http://www.monografias.com/trabajos/objetos/objetos.shtml
·
http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware.html
·
http://www.monografias.com/trabajos14/progorie/progorie.shtml
·
http://www.desarrolloweb.com/articulos/1540.php?manual=12