Вы находитесь на странице: 1из 18

TEMA N 5

METODOLOGA ORIENTADA A OBJETOS


Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
71
TEMA N 5 ANLISIS Y DISEO DE SISTEMAS
ORIENTADOS A OBJETOS


5.1. Introduccin
Desde los inicios de la dcada de los 80, el paradigma de desarrollo
"orientado a objetos" ha ido madurando como un enfoque de desarrollo
de software alternativo a la programacin estructurada o modular, se
empezaron a disear todo tipo de aplicaciones de acuerdo a la realidad
dejando atrs el anlisis de requisitos.
Esta situacin ha ido cambiando poco a poco, a medida que se
desarrollaban tcnicas de anlisis para desarrollar software orientado a
objetos, se crearon por ejemplo otros mtodos de anlisis, como son los
mtodos de Coad/Yourdon, Jacobson, Booch y Rumbaugh (OMT).
El paradigma orientado a objetos a seguido el mismo camino: el uso de la
Programacin Orientada a Objetos (POO) ha modificado las tcnicas de
diseo para adaptarlas a los nuevos lenguajes y ahora se estn
empezando a utilizar tcnicas de anlisis basadas en esta nueva forma de
desarrollar software.
El Anlisis Orientado a Objetos (AOO) se basa en conceptos sencillos y
conocidos que aplicaremos continuamente: objetos, clases atributos,
asociaciones, etc., ofrece un enfoque nuevo para el anlisis de requisitos
de sistemas de software, se basa en modelar el sistema mediante los
objetos que forman parte de l y las relaciones estticas (herencia y
composicin) o dinmicas entre estos objetos. Este enfoque pretende
conseguir modelos que se ajusten mejor al problema real, a partir del
conocimiento del llamado dominio del problema, evitando que influyan en
el anlisis consideraciones de que estamos analizando un sistema para
implementarlo en un ordenador.
El AOO consigue una abstraccin mayor que el anlisis estructurado, que
modela los sistemas desde un punto de vista ms prximo a su
implementacin en un ordenador (entrada/proceso/salida).
El uso de AOO facilita la creacin de prototipos, que pueden ser evaluados
por el cliente, a partir de objetos analizados, diseados e implementados
en aplicaciones anteriores. Y lo que es ms importante, dada la facilidad
de reutilizacin de estos objetos, el prototipo puede ir evolucionando
hasta convertirse en el sistema final, segn se van refinando los objetos
de acuerdo a un proceso de especificacin incremental.
Las actividades de anlisis y diseo del sistema dentro la tcnica de
modelado de objetos OMT comprende las siguientes fases:



Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
72
Dentro de las actividades de anlisis del sistema se siguen las siguientes
etapas:

Modelado de objetos
Modelado dinmico
Modelado funcional

Y las actividades de diseo de sistemas incluyen:

Diseo de sistemas
Diseo de objetos

Cada una de estas etapas son tratadas en forma detallada en los
siguientes acpites.

5.2. Fase de Anlisis del sistema

El anlisis del sistema examina minuciosamente el flujo de informacin
que genera un sistema en particular, para poder tratarlo en
subactividades o etapas.

5.2.1. Modelado de objetos

El Modelado de Objetos captura la estructura esttica el sistema
mostrando los objetos, relaciones entre ellos y los atributos que
caracterizan cada clase, este modelo es l ms importante.

a) Definiciones de objeto y clase

El propsito del modelado de objetos es describir objetos. Un objeto es
algo que tiene sentido, un concepto una abstraccin que est bien
definido dentro del problema.

Los objetos tienen dos propsitos:

Promover la compresin del mundo real
Proporcionar una base practica para la implementacin por
computadora

Todo objeto tiene su propia identidad y se pueden distinguir entre s.

Ejemplo:
Modelado y Diseo de objetos, Rumbaugh, Prentice Hall.
Una clase de objetos describe un grupo de objetos con propiedades
(atributos) similares, con relaciones comunes con otros y con una
semntica comn. Es frecuente utilizar CLASE en lugar de clase de
objetos.
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
73
libro
Ejemplo:
Clase Libro
Titulo : cadena
Autor : cadena
Editorial : cadena

Cada libro tiene un titulo un autor y una editorial.

b) Diagrama de objeto

Los diagramas de objetos proporcionan una notacin grafica formal para
el modelado de objetos clases y sus relaciones entre s. Existen dos tipos
de diagramas de objetos que son:

Diagrama de clase
Diagrama de instancias

Un diagrama de clases es un esquema, patrn o plantilla para describir
muchas instancias de datos posibles estas describen clases de objetos,
mientras que un diagrama de instancias describe la forma en que un
cierto conjunto de objetos se relacionan entre s, sirven para documentar
casos prcticos y para describir ejemplos.

Un diagrama de clase contiene un conjunto infinito de instancias.

Representacin de una clase Representacin de una instancia
Ejemplos:

Clase Objetos


.. ....... ...





c) Atributos

Un atributo es un valor de un dato que est almacenando en una clase, o
en instancias de una clase
Nombre de la
Clase

Atributos o
propiedades


Operaciones y
mtodos

(Nombre de la
clase)
Libro
Titulo: cadena
Autor: cadena
Editorial: cadena
El tnel
Ernesto
Zapata
Trillas
Don Quijote
de la Mancha
Miguel
Cervantes
Navarrete
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
74
Empresa Empleado
Ejemplo:

Titulo
Autor
Editorial atributos de la clase









Clase con atributos Objetos con valores

e) Operaciones y mtodos
Una operacin o mtodo es una funcin o transformacin, cada operacin
lleva implcito un objeto destino, sobre el que se va a realizar la
operacin. El comportamiento de la operacin depende de la clase del
objeto destino. Todos los objetos de una clase comparten las mismas
operaciones o mtodos. Cada objeto conoce la clase a la que pertenece;
por tanto la implementacin correcta de la operacin.
Una misma operacin puede aplicarse a objetos de clases distintas. En
este caso diremos que la operacin es polimrfica, y a la implementacin
de la operacin en cada una de las clases la llamaremos mtodo.
f) Enlaces y asociaciones

Los enlaces y asociaciones son los medios para establecer relaciones
entre objetos y clases.

Un enlace es una conexin fsica entre instancias de objetos, por lo tanto
un enlace es una instancia de una asociacin.

Una asociacin describe un grupo de enlaces con estructura y semntica
comunes.

Todos los enlaces de cada asociacin conectan los objetos procedentes de
las mismas clases. Las asociaciones y enlaces suelen aparecer como
verbos en la definicin del problema.

Ejemplos:
trabaja

asociacin
Coche

Modelo: cadena
Color: cadena
Marca: cadena
(Coche)
2002
Rojo
Toyota
(Coche)
2000
Azul
Nissan
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
75
Docente
Proyecto
Estudiante
Proyecto
Docente
Estudiante
enlace


Tambin existen asociaciones del tipo ternarias donde se presenta la
relacin entre tres clases.


Asociacin ternaria

De otra forma la asociacin ternaria puede ser representada con tres
asociacones:


asesora


realiza


dirige

Al leerse de izquierda a derecha o viceversa se debe dar sentido a la
lectura con la asociacin.

g) Multiplicidad

La multiplicidad especifica el nmero de instancias de una clase, que
pueden estar relacionadas con una nica instancia de una clase asociada.
La multiplicidad limita el nmero de objetos relacionados. Para
representarla utilizaremos la siguiente notacin en cada extremo de la
asociacin:

o Opcional. La asociacin puede relacionar 0 1 instancias de la clase
Muchos. Significa de 1 a n.
3 Exactamente 3.
2,4 Dos o cuatro.
2-4 De dos a cuatro.
4+ Ms de cuatro.
Exactamente 1.


COMSUR
Homero
Simpson
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
76
h) Atributos de los enlaces

Un atributo es una propiedad de los objetos de una clase de manera
similar, un atributo de enlace es una propiedad de los enlaces de una
asociacin.
Ejemplo:
vende








i) Modelado de una asociacin en forma de clase

En algunas ocasiones resulta til modelar las asociaciones como una
clase, donde cada enlace se convierte en una instancia de la clase.




vende











registra

j) Agregacin

Una agregacin es la relacin parte todo o una parte de. Una relacin de
agregacin es aquella que relaciona una clase ya ensamblado a una clase
componente. La existencia de un objeto componente puede depender del
objeto agregado del cual forma parte.






Empleado
C.I
ApyN
Direccin
Producto
Codprod
Nombre
Precio
Cant
Venta
Codprod
Fechav
CI
Costov

Empleado
C.I
Nombre
Direccin
Producto
Codprod
Nombre
Precio
Venta

Codprod
CI
Cantidad
Fecha
Histrico
venta

Codprod
Cantidad
CI
Fecha

Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
77
Libro
Biblioteca
Fichero
ascii
Fichero
Entidad
Normes
Dires
Telres
Cliente
Codcli
Nomyap
RUC
Dir
Tel
Ejemplo:






k) Generalizacin y herencia

La generalizacin y herencia son potentes abstracciones para compartir
similitudes entre clases al mismo tiempo mantienen algunas diferencias.
La herencia dentro de la programacin orientada a objetos y el modelo de
objetos ha llegado a ser un sinnimo clave de reutilizacin de cdigo. Los
trminos herencia, generalizacin y especificacin se refieren a aspectos
de la misma idea y pueden ser utilizados en forma intercambiable, se
utilizar la generalizacin para hacer alusin a la relacin entre clases,
mientras que herencia aludir al mecanismo de compartir atributos y
operaciones. La generalizacin y especializacin son dos puntos de vista
distintos desde la clase o superclase.

Ejemplos:
























Encargado
Fichero
directorio
Usuario
Fichero
ejecutable
Persona
CI

Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
78
5.2.2. Modelo dinmico

El siguiente modelo del anlisis es el modelo dinmico referido a
comprender la estructura de los objetos y sus restricciones entre s en un
momento dado (en el transcurso del tiempo)

a) Sucesos

Un suceso (evento) es algo que transcurre durante en un periodo de
tiempo, no tiene duracin especfica. Un suceso puede preceder o seguir
lgicamente a otro, o bien dos sucesos estar relacionados.

Ejemplos:

Presionar el mouse
El vuelo 122 con destino a La Paz

Se dice que dos sucesos que no tiene relacin casuales son concurrentes.

Un objeto que enva un suceso a otro objeto puede esperar una
respuesta. Los valores de los datos aportados por un suceso son sus
atributos que se muestran entre parntesis.

Ejemplo:
Registrar_cadena (texto)
Dibujar un rectngulo (coordenadas xy, coordenadas x1y1)

b) Escenarios y seguimiento de sucesos

Un escenario es una secuencia de sucesos que se producen durante una
ejecucin concreta de un sistema, el mbito de un escenario es variable
puede incluirse a todos los usuarios del sistema, o puede incluir
solamente aquellos sucesos que afectan a ciertos objetos del sistema a
que sean generados por ellos.

La secuencia de sucesos y los objetos que intercambian sucesos se
pueden mostrar en un escenario mejorado el cual se denomina diagrama
de seguimiento traza de sucesos.

Ejemplo. Realizar los sucesos respectivos para efectuar el
prstamo de libros en una biblioteca

Registro de datos de un libro.
1. El encargado verifica libro
2. Si libro no est registrado el encargado registra el libro
3. Si libro est registrado el encargado modifica datos del libro


Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
79
Diagrama traza de sucesos registrar libro.

Encargado Libro

VerificarLibro()

[Si libro no est registrado]
RegistrarLibro()

[Si libro est registrado]
ModificarLibro()


Realizar los sucesos respectivos para registrar el prstamo de un
libro.

1. El usuario solicita al encargado el prstamo de un libro
2. El encargado verifica en el registro si usuario tiene opcin de prstamo
3. El encargado verifica si cantidad de libro es disponible
4. Si libro est disponible el encargado registra el prstamo.
5. Si libro no est disponible el encargado rechaza al usuario

Diagrama traza de sucesos registrar prstamo.

Usuario Encargado Registro de prstamos Libro

SolicitarPrstamo()

VerificarRegistrodePrstamos()

[Si usuario tiene opcin de prstamo]
VerificarCantidadLibro()
[Si cantidad es disponible]
RegistrarPrstamo()

[Si cantidad no es disponible]
RechazarUsuario()

[Si usuario no tiene opcin de prstamo]
RechazarUsuario()



c) Diagrama de flujo de sucesos

Los diagramas de flujos de sucesos muestran los sucesos entre un grupo
de clases, incluyendo todos los apuntados en los escenarios.

Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
80
Usuario Encargado
Registro de
Prstamos
Libro
Ejemplo: Realizar el diagrama flujo de sucesos para realizar el
prstamo de un libro.

5. RecahazarUsuario()
[Si usuario no tiene opcin de
prstamo]


1.SolicitarPrstamo()



3.VerificarCantidadLibros()
[Si cantidad es disponible]
2.VerificarRegistrodePrstam
os()
[Si usuario tiene opcin de
prestamo]
4. RegistrarPrstamo()
[Si cantidad no disponible]






5.2.3. Estados

Un estado es una abstraccin de los valores de los atributos y enlaces de
un objeto. Un estado especifica la respuesta del objeto a los sucesos
entrantes, la respuesta al objeto o un suceso puede incluir una accin o
un cambio de estado, los estados representan intervalos de tiempo. Tanto
los sucesos como los estados dependen del nivel de abstraccin utilizado.

Los estados suelen estar asociados con el valor de que un objeto satisfaga
alguna condicin.

a) Diagramas de estados

Un diagrama de estado relaciona sucesos y estados cuando se recibe un
suceso el estado siguiente depende del actual. Un cambio de estado
ocurre por un suceso que se denomina transicin.

Un diagrama de estado es un grafo cuyos nodos son estados y cuyas
aristas son transiciones rotuladas con nombres de sucesos. Los estados se
representan con cuadros redondeados y contienen un nombre opcional,
las transiciones se representan en forma de flechas desde el estado
receptor hacia el estado destino.
Un diagrama de estados describe el compartimiento de una sola clase de
objetos. Los diagramas de estados pueden representar ciclos vitales
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
81
Calcular
HB
Leer NHT
Leer SPH
nicos o bien bucles continuos.

El modelo dinmico es una coleccin de diagramas de estados que
interactan entre s a travs de sucesos compartidos, representa la
estructura de control del sistema. Un diagrama de estados al igual que
una clase de objetos es una trama, porque describe una gama de
secuencias.


b) Condiciones

Una condicin es una funcin lgica booleana, la cual tiene a objetos con
valores, es importante distinguir los sucesos de las condiciones que no
tienen duracin temporal.

Ejemplo:

[si HB < 2000]/LP



[si HB >=2000]/calcular Dto LP





Dto LP



c) Operaciones

Los diagramas de estados describen tramas de sucesos y de estados de
una clase de objetos, en esta seccin se mostrar la forma en que los
sucesos desencadenan operaciones.

Las operaciones asociadas a estados o transiciones se efectan con
respuestas a los correspondientes estados o sucesos. Una actividad es
una operacin cuya realizacin requiere de un cierto tiempo. Toda
actividad esta asociada a un estado.

5.2.4. Modelo funcional

Este modelo describe los clculos existentes dentro del sistema consta, de
mltiples diagramas de flujos de datos que muestran el flujo de valores
desde las entradas externas a travs de las operaciones y almacenes
internos hasta las salidas externas.

Calcular e
imprimir LP

Calcular Dto
Calcular e
imprimir LP
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
82
Calcular
lquido
pagable
- Diagrama de flujo de datos
Un diagrama de flujo de datos (DFD) muestra las relaciones funcionales
entre los valores calculados por un sistema incluyendo los valores
introducidos, los obtenidos y los almacenes internos de datos.

Un diagrama de flujo de datos es un grafo que muestra el flujo de
valores, no muestra la informacin de control (modelo dinmico), ni
tampoco la organizacin de los valores (modelo de objetos), un diagrama
de flujo de datos contiene procesos estos transforman los datos, flujos de
datos que los trasladan objetos actores que producen y consumen datos y
almacenes de datos que consumen en forma pasiva.
a) Proceso

Los procesos transforman valores de datos, los procesos de ms bajo
nivel son funciones puras. Los resultados de los procesos dependen del
comportamiento del sistema.

Los procesos se dibujan en forma de elipses que contienen una
descripcin de la transformacin (nombre). Cada proceso tiene un
nmero fijo de flechas de entrada y salida de datos, cada una de las
mismas lleva valores de un tipo.

Un proceso debe tener un nombre con una frase compuesta de verbo ms
la actividad que desarrolla.

Ejemplo: Utilizar los procesos necesarios para calcular el lquido
pagable de un empleado donde:

HB = SPH * NHT
DT = HB * 0.13
LP = HB DT

Salario por hora haber bsico





No horas trabajadas
descuento




Calcular
el haber
bsico
Calcular
descuento
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
83



b) Actores

Un actor es un objeto que controla el grado de flujo de datos produciendo
o consumiendo valores. Los actores estn asociados a las entradas y
salidas del grafo como fuentes o sumideros de datos, as que en algn
caso se denomina terminadores. Los actores se representan con
rectngulos para mostrar que son objetos.

Asignar a los actores con un sustantivo en singular que describe quien
interacta con el sistema.

Ejemplo:

c) Almacenes de datos.

Un almacn de datos en un objeto pasivo dentro de un DFD que almacena
datos para su posterior utilizacin. A diferencia de los actores no generan
ninguna operacin por s mismos, se limitan a responder solicitudes de
almacenamiento y acceso a datos.

Los almacenes de datos se dibujan con lneas paralelas. El nombre de un
almacn debe ser asignado como en sustantivo en plural que identifique
la informacin recogida.

Clientes

d) Flujo de control.

Un flujo de control muestra todas las posibles vas de computacin para
los valores, un flujo de control es un valor BOOLEANO que afecta o s un
proceso, los flujos de control se muestran con lneas punteadas, pueden
ser tiles en algunos casos; pero no debe usarse en exceso.

5.3. Fase de Diseo del sistema

Una vez analizado el problema es preciso decidir la forma de aproximarse
al diseo. El diseo del sistema es la estrategia que conduce a resolver el
problema construyendo la solucin.

Cliente Usuario
Encargado
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
84
El diseo del sistema incluye decisiones acerca de la organizacin del
sistema en subsistemas, la asignacin a componentes de Hardware y
Software, las decisiones conceptuales incluyen el marco de trabajo para el
diseo detallado.

5.3.1. Diseo de sistemas

Esta es la primera fase en la que se selecciona la aproximacin bsica
para resolver el problema la arquitectura del sistema implica organizar el
sistema en subsistemas.

a) Descomposicin del sistema en subsistemas

La descomposicin del sistema general en subsistemas abarca aspectos
del sistema que comparten alguna propiedad (una similitud o una
funcionalidad similar).

Cada subsistema posee una interfaz bien definida con el resto del
sistema, en ocasiones cada subsistema debe descomponerse en
subsistemas ms pequeos. Los subsistemas de ms bajo nivel se
denominan mdulos.

Ejemplo: Realizar la descomposicin de un Sistema informtico de
administracin en base a los datos de control de personal, contabilidad y
almacenes.

























Sistema
Informtico de
Administracin

Subsistema
de control de
Personal
Subsistema
de Almacenes
Subsistema
de
Contabilidad
Registro
de
Personal
Control de
Asistencia
Control de
vacaciones
Control de
fecha, hora
de ingreso y
salida
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
85
Mdulo Mdulo




5.3.2 Diseo de las bases de datos

Los almacenes de datos externos e internos dentro del sistema
proporcionan puntos de separacin entre subsistemas, en general todo
almacn de datos puede combinar estructuras de datos, archivos y bases
de datos, implementndolos en memoria o bien en dispositivos de
almacenamiento secundario.

Los archivos son una forma de almacenamiento de datos barato sencillo y
permanente. La implementacin de archivos depende del sistema a
disear, as que las aplicaciones transportables deben aislar
cuidadosamente las dependencias con sistema de archivos.

Las base de datos que son administradas por los sistemas de gestin de
base de datos (DBMS) son otro tipo de almacenamiento. Existen varios
tipos de DBMS que estn disponibles comercialmente: jerrquicos, en red,
relacionales orientados a objetos y lgicas.

Las bases de datos son potentes y hacen que las aplicaciones sean ms
fciles de transportar a sistemas operativos y a distintas plataformas.

Ejemplo:

A partir del modelo de objetos obtener las tablas respectivas que se
emplearn como bases de datos.









es responsable










Cod_e
ApyNom
Dir
Cargo
Depto


Encargado
Cod_c
Fini
Ffin
Monto_tot
Montacuent
Obs
Contrato
Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
86
Encargado
(Cod_e,Apyn,Dir,Cargo,Dpto)
clave : Cod_e
Contrato
(Cod_c,Cod_e,Fini,Ffin,Monto_tot,Montacuent,Obs)
clave : Cod_c,Cod_e











Tipo









Cliente
(Cod_c,AyN,RUC,dir,telf,tipo)
clave : cod_c

Entidad
(Cod_c,Nomresp,Telresp,Dirresp)
clave : cod_c

Persona
(cod_c,CI)
clave : cod_c

5.3.3 Interfaz interactiva

Una interfaz es un sistema est denominado por interacciones entre un
conjunto de agentes externos y el sistema.

Los intereses principales de la interfaz son el protocolo de
comunicaciones, los agentes externos, presentacin de salidas (aspecto
de la pantalla) el flujo de control, facilidad de compresin, interfaz de
usuario y el rendimiento y tratamiento de errores.

Cliente

Cod_c
AyN
RUC
Dir
telef
Entidad
Nomresp
Telfresp
Dirresp
Persona
C:I


Anlisis y Diseo de Sistemas de Informacin I

TEXTO DE ASIGNATURA
87
Se debe disear la maqueta con smbolos de entrada y salida, adems
con formatos de presentacin (pantallas).

Un sistema de informacin con una buena interfaz debe estar basado en
formularios con control concurrente multitarea. En otras palabras la
interfaz debe ser amigable al usuario y fcil de ejecutarse.


5.3.4. Diseo de objetos

Las operaciones identificadas durante el anlisis deben expresarse en
forma de algoritmos, descomponiendo las operaciones complejas en
operaciones internas ms sencillas.

Ejemplo:

Datos del cliente









Clientes


Luego de todo ello pasar a la realizacin de los algoritmos ms
importantes (por ejemplo bsquedas y consultas).


BIBLIOGRAFA

1. Kendall and Kendall Anlisis y Diseo de Sistemas de Informacin,
Prentice Hall, Tercera Edicin, 1997.

2. J. Monzn F. Y David Spence Anlisis y Diseo de Sistemas
Informticos, Editorial Gmez, Per, 2009.
3. Rumbaugh Modelado y Diseo de objetos, Prentice Hall, Mxico 2002.

Cliente
Codigo_cliente
Nombre
Direccin
Telfono
Registrar_cliente()



Registrar
cliente

Вам также может понравиться