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
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
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()