Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas II Teora
Computacin e Informtica
CIBERTEC
CARRERAS PROFESIONALES
NDICE
Presentacin
Red de contenidos
Tema 1
Tema 2
10
11
: Anlisis de la arquitectura
14
14
Tema 4
20
20
26
: Anlisis de clases
38
38
39
41
Tema 2
Tema 3
CIBERTEC
50
: Modelo de datos
1.1. Modelo conceptual
50
51
59
63
: Modelo Lgico
2.1. Tipos de datos
63
65
: Modelo fsico
67
3.1 Campos
67
3.2 Indices
68
68
70
CARRERAS PROFESIONALES
Tema 4
72
Tema 5
77
81
Tema 1
82
Tema 2
Tema 3
82
82
85
87
: Arquitectura de software
2.1. Por qu es importante la arquitectura
89
89
90
91
99
1. Patrones de diseo
99
104
108
tectnico MVC
4. Realizacin de diseo de casos de uso con patrn arqui-
114
CIBERTEC
: Modelo de Implementacin
126
1.Componentes y tipos
126
2.Diagrama componentes
127
3.Nodo
127
4.Servidor de aplicaciones
127
5.Cluster
128
6.Diagrama de despliegue
129
7.Aplicaciones desatendidas
129
CARRERAS PROFESIONALES
PRESENTACIN
Anlisis y Diseo de Sistemas II pertenece a la lnea formativa y se dicta en la
carrera de Computacin e Informtica. El curso imparte conocimientos
relacionados con la disciplina de anlisis y diseo, y el modelo de datos.
El manual para el curso ha sido diseado bajo la modalidad de unidades de
aprendizaje, las que se desarrollan durante semanas determinadas. En cada una
de ellas, hallar los logros, que debe alcanzar al final de la unidad; el tema
tratado, el cual ser ampliamente desarrollado; y los contenidos, que debe
desarrollar, es decir, los subtemas. Por ltimo, encontrar las actividades que
deber desarrollar en cada sesin, que le permitirn reforzar lo aprendido en la
clase.
El curso es terico - prctico: consiste en un taller de desarrollo de proyectos de
software. En primer lugar, se describe el flujo de trabajo del anlisis orientado a
objetos. A continuacin, se explica el modelo de datos. Por ltimo, se presenta el
flujo de trabajo del diseo orientado a objetos.
CIBERTEC
CARRERAS PROFESIONALES
RED DE CONTENIDOS
Anlisis Orientado
a Objetos
Anlisis OO
Modelo de datos
Modelo
Conceptual
Diseo Orientado
a Objetos
Diseo OO
Anlisis de la
Arquitectura
Modelo
Lgico
Arquitectura de
Software
Anlisis de
casos de uso
Modelo
Fsico
Diseo de
casos de uso
Anlisis de
clases
CIBERTEC
CARRERAS PROFESIONALES
UNIDAD DE
APRENDIZAJE
TEMARIO
Tema 1: Anlisis orientado a objetos
1.1. Flujo de trabajo del AOO
1.2. Artefactos del anlisis
1.3. Modelo de anlisis
Tema 2: Anlisis de la arquitectura
2.1. Pasos en el anlisis de la arquitectura
2.2. Caso prctico
Tema 3: Anlisis de casos de uso
3.1. Pasos en el anlisis de casos de uso
3.2. Caso prctico
Tema 4: Anlisis de clases
4.1. Anlisis de clases
4.2. Tarjetas CRC
4.3. Caso prctico
ACTIVIDADES PROPUESTAS
1. Los alumnos crean la arquitectura de anlisis a partir de un diagrama de casos
de uso estructurado.
2. Los alumnos crean la realizacin de anlisis de un caso de uso a partir de una
ECU.
3. Los alumnos confeccionan las tarjetas CRC de las clases que se identifican a
partir de una ECU.
CIBERTEC
CARRERAS PROFESIONALES
El flujo de trabajo de Anlisis y Diseo toma los casos de uso documentados del
flujo de trabajo de la Captura de Requisitos y los traslada a elementos de diseo
que sern usados para construir el sistema. Por medio de varias actividades y
modelos, el flujo de trabajo de Anlisis y Diseo busca transformar la informacin
obtenida de los stakeholders en informacin que los programadores podrn usar.
El flujo de trabajo de esta disciplina se muestra en la figura No. 1.1.
CIBERTEC
CARRERAS PROFESIONALES
ANLISIS
CARRERAS PROFESIONALES
10
Modelo de Anlisis.
Elementos del modelo de anlisis: paquetes de anlisis, clases de
anlisis y realizaciones de anlisis de casos de uso.
Diagramas de realizaciones de anlisis de casos de uso: diagrama de
clases y diagramas de comunicacin.
Artefacto
Modelo de Anlisis
Paquete de Anlisis
Descripcin
Representa la vista interna del sistema. Define
un modelo de objetos que describe la
realizacin de casos de uso, y que sirve como
una abstraccin del modelo de diseo.
Los paquetes del anlisis proporcionan un
medio para organizar los artefactos del modelo
de anlisis en piezas manejables.
Un paquete de anlisis contiene clases y
realizaciones de casos de uso a nivel de
anlisis.
Clase de Interfaz
Clase Control
Clase Entidad
CIBERTEC
CARRERAS PROFESIONALES
Diagrama de Comunicacin
11
Anlisis de la Arquitectura
Anlisis de Casos de Uso
Anlisis de Clases
Anlisis de Paquetes.
CIBERTEC
CARRERAS PROFESIONALES
12
Modelo de Anlisis
Descrita
en
el
lenguaje
de
los
desarrolladores. Vista interna del sistema.
Estructurado por clases y paquetes
estereotipados.
Utilizado por los desarrolladores para
comprender cmo debera darse forma al
sistema, es decir, cmo debe estar diseado
e implementado.
No
debera
contener
redundancias,
inconsistencias, entre los requisitos.
Esboza cmo llevar a cabo la funcionalidad
dentro del sistema, incluida la funcionalidad
significativa para la arquitectura.
Define las realizaciones de casos de uso, y
cada una de ellas representa el anlisis de
un caso de uso del modelo de casos de uso.
CIBERTEC
CARRERAS PROFESIONALES
13
Resumen
CIBERTEC
CARRERAS PROFESIONALES
14
2. ANLISIS DE LA ARQUITECTURA
El rol responsable de esta tarea es el Arquitecto de software. Esta tarea permite
definir una arquitectura candidata basada en la experiencia obtenida de sistemas
similares o en dominios del problema similares, y restringir las tcnicas
arquitectnicas a ser usadas en el sistema. Se definen los diagramas de las vistas
arquitectnicas, mecanismos claves y los modelos para el sistema. Cabe destacar
que analizar la arquitectura resulta beneficioso en el caso donde se desarrollen
sistemas que no se hayan hecho antes.
El propsito del anlisis de la arquitectura es esbozar el modelo de anlisis y la
arquitectura mediante la identificacin de paquetes del anlisis, clases de anlisis
de entidad evidentes y requisitos especiales comunes.
CIBERTEC
CARRERAS PROFESIONALES
15
<<include>>
CIBERTEC
CARRERAS PROFESIONALES
16
CIBERTEC
CARRERAS PROFESIONALES
17
CIBERTEC
CARRERAS PROFESIONALES
18
ACTIVIDADES PROPUESTAS
Identifique los paquetes de anlisis y sus dependencias para realizar la Arquitectura de
Anlisis a partir del siguiente Diagrama de Caso de Uso Estructurado:
Caso: Cotizacin
CIBERTEC
CARRERAS PROFESIONALES
19
Resumen
CIBERTEC
CARRERAS PROFESIONALES
20
Anlisis
de Casos
de Uso
CIBERTEC
CARRERAS PROFESIONALES
21
Especificacin
de Caso de Uso
CIBERTEC
CARRERAS PROFESIONALES
22
CIBERTEC
CARRERAS PROFESIONALES
23
CARRERAS PROFESIONALES
24
CIBERTEC
CARRERAS PROFESIONALES
25
CIBERTEC
CARRERAS PROFESIONALES
26
CIBERTEC
CARRERAS PROFESIONALES
27
5. Pre Condiciones
1. Jefe de ventas logeado en el sistema.
2. Lista de Pedidos pendientes.
6. Post Condiciones
1. En el sistema queda actualizada el pedido
7. Puntos de extensin
8. Prototipo
CIBERTEC
CARRERAS PROFESIONALES
28
CIBERTEC
CARRERAS PROFESIONALES
29
3. Filtrando sustantivos
Cuando se identifican sustantivos tengan presente lo siguiente:
Varios trminos pueden referirse al mismo objeto
Un trmino puede referirse a ms de un objeto
El lenguaje natural es muy ambiguo.
De esta manera, se pueden identificar muchos objetos sin importancia.
La lista de sustantivos se debe filtrar
Advertencia
Cualquier sustantivo puede ser convertido en verbo; cualquier verbo puede
ser convertido en sustantivo.
Los resultados dependen, en gran parte, de la capacidad de redaccin del o
los autores.
4. Sustantivos del Escenario
CIBERTEC
Jefe de Venta
Pedidos al Crdito
Lista de todas los Pedidos
Nro del pedido
Cdigo y Nombre del Cliente
Vendedor
Fecha
Monto total
Pedidos a evaluar
Datos del Pedido (Nmero del pedido, fecha del pedido, monto total del
pedido y nombre del vendedor)
Datos del cliente: cdigo, DNI, nombres, apellidos y lnea de crdito
Lista con el detalle del pedido (Cdigo y nombre del producto, cantidad
precio Total Item) y Subtotal) IGV y Monto Total
Adems, incluye un cuadro de texto para colocar las observaciones
Actualiza el Pedido como aprobado.
CARRERAS PROFESIONALES
30
5. Filtrando el escenario
Jefe de Venta
Pedidos al Crdito
Lista de todos los Pedidos
Nro del pedido
Cdigo y Nombre del Cliente
Vendedor
Fecha
Monto total
Pedidos a evaluar
Datos del Pedido (Nmero
Nmero del pedido, fecha del pedido, monto total del pedido
y nombre del vendedor)
Datos del cliente: cdigo, DNI, nombres,
nombr
apellidos y lnea
nea de crdito
Lista con el detalle del pedido (Cdigo y nombre del producto, cantidad, precio
Total tem)) y Subtotal) IGV y Monto Total
Adems, incluye
ncluye un cuadro de texto para colocar las observaciones
Actualiza
tualiza el Pedido como aprobado.
apro
6. Anlisis de los objetos filtrados en escenario
Pedidos al Crdito
Lista
ista de todas los Pedidos
Cdigo y Nombre del Cliente
Vendedor
Pedidos a evaluar
Nombre
ombre del vendedor
Datos del cliente:
Detalle del pedido
Cdigo y nombre del producto, cantidad y precio
Actualiza
ctualiza el Pedido como aprobado.
CIBERTEC
CARRERAS PROFESIONALES
31
Ejemplo :
-
CIBERTEC
CARRERAS PROFESIONALES
32
CIBERTEC
CARRERAS PROFESIONALES
33
CIBERTEC
CARRERAS PROFESIONALES
34
Flujo denegar
CIBERTEC
CARRERAS PROFESIONALES
ACTIVIDADES PROPUESTAS
1.
Actores
Propsito
El propsito es que la secretaria registre los pedidos a crdito de la distribuidora
mayorista.
Breve Descripcin
El sistema permite registrar un pedido al crdito.
Flujos Alternativos
<Vendedor no seleccionado>
En el paso 15, si el sistema verifica que no seleccion al vendedor, muestra un
mensaje de error. El flujo contina en el paso 13 del flujo bsico.
36
Precondiciones
La secretaria se debe haber logueado en el sistema.
Lista de vendedores disponible.
Poscondiciones
El sistema graba los datos del pedido en estado Pendiente.
Prototipos
CARRERAS PROFESIONALES
CIBERTEC
37
Resumen
Para llevar a cabo el anlisis de casos de uso se realiza lo siguiente:
Crear la realizacin de anlisis de casos de uso.
Encontrar clases de anlisis del comportamiento de casos de uso.
Crear el diagrama de clases (estructura del caso de uso).
Crear el diagrama de comunicacin (comportamiento del caso de uso).
Una realizacin de casos de uso describe cmo un caso de uso en particular es
modelado dentro del modelo de anlisis, primero; y, despus, dentro del modelo de
diseo, en trminos de objetos colaboradores.
Existen tres tipos de clases de anlisis: Interfaz (boundary), Control (control) y
Entidad (entity).
Si desea saber ms acerca de estos temas, puede consultar el siguiente libro.
VISUAL MODELING WITH IBM RATIONAL ARCHITECT SOFTWARE ARCHITECT AND UML por Terry Quatrani y Jim Palistrant
En el captulo 6 de este libro se describe cmo crear un modelo de anlisis.
CARRERAS PROFESIONALES
CIBERTEC
38
4. ANLISIS DE CLASES
El objetivo de esta actividad es describir cada una de las clases que se ha
encontrado en el anlisis de casos de uso, identificando las responsabilidades
que tienen asociadas, sus atributos y las relaciones entre ellas.
CARRERAS PROFESIONALES
CIBERTEC
39
CARRERAS PROFESIONALES
CIBERTEC
40
CARRERAS PROFESIONALES
CIBERTEC
41
CARRERAS PROFESIONALES
CIBERTEC
42
5. Post Condiciones
1. En el sistema quedar registrado la transaccin.
2. En el sistema quedar actualizado el saldo de la cuenta de ahorros.
3. Se actualizar el saldo contable en el Sistema Contable.
6. Puntos de extensin
1.
7. Requisitos Especiales
1. Alta seguridad en el manejo de las claves y cuentas.
8. Prototipos
-
CARRERAS PROFESIONALES
CIBERTEC
PASO 3: Realizar el diagrama de comunicacin del flujo bsico y del flujo alternativo
Flujo Bsico
44
Responsabilidad
Solicitar clave de acceso
Solicitar la confirmacin de operacin
Mostrar interfaz con datos del pago
Mostrar mensaje Ingresar clave
Mostrar nro. de transaccin
Mostrar mensaje Pago efectuado correctamente
Colaboradores
CC_Prestamo
Colaboradores
CC_Prestamo
Responsabilidad
Solicitar la seleccin de Continuar
Solicitar la seleccin de moneda
Solicitar la seleccin de cuenta de cargo
Solicitar cuenta de prstamos
Solicitar monto
Mostrar lista de monedas
Mostrar cuentas de ahorro
Mostrar mensaje Saldo insuficiente
CIBERTEC
Colaboradores
CC_Prestamo
CARRERAS PROFESIONALES
45
Colaboradores
CC_Prestamo
Responsabilidad
Cargar monedas
Cargar cuentas de ahorros
Verificar saldo de cuenta de ahorro
Verificar clave de acceso
Registrar transaccin
Actualizar saldos de cuentas
Colaboradores
CI_MenuPrincipal
CI_PagoPrestamoTerceros
CI_ConfirmacionPago
CI_SistemaContable
TarjetaXCliente
Moneda
CtaAhorros
Transaccin
Colaboradores
CC_Prestamo
Colaboradores
CC_Prestamo
Colaboradores
CC_Prestamo
CIBERTEC
Colaboradores
CC_Prestamo
CARRERAS PROFESIONALES
46
ACTIVIDADES PROPUESTAS
A partir de la Especificacin de Caso de uso realice los siguientes artefactos:
1. Diagrama de clases de anlisis
2. Diagrama de comunicacin del flujo bsico
3. Diagrama de comunicacin de los flujos alternativos
4. Tarjeta CRC de las clases
CIBERTEC
CARRERAS PROFESIONALES
47
CIBERTEC
CARRERAS PROFESIONALES
48
Resumen
CIBERTEC
CARRERAS PROFESIONALES
49
UNIDAD DE
APRENDIZAJE
MODELO DE DATOS
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al finalizar la segunda unidad, el alumno crea el modelo de datos de un software el
cual incluye: el modelo conceptual, el modelo lgico y el modelo fsico de la base de
datos. Los artefactos sern creados utilizando la herramienta CASE IBM Rational
Software Architect (RSA) e IBM Rational InfoSphere Data Architect (IDA).
TEMARIO
Tema 1: Modelo de Datos
1.1.
Modelo Conceptual
1.2.
Modelo Lgico
1.3.
Modelo fsico
1.4.
Recomendacin en el manejo de Herencia
1.5.
Auditoria en base de datos
ACTIVIDADES PROPUESTAS
1. Los alumnos desarrollan el modelo conceptual de un caso propuesto.
2. Los alumnos desarrollan el modelo fsico de un caso propuesto.
CIBERTEC
CARRERAS PROFESIONALES
50
1. MODELO CONCEPTUAL
Las clases del modelo conceptual se obtienen a partir de los objetos de
informacin que fluyen entre las actividades. Una caracterstica importante
que resaltar es que el modelado de los casos de uso del sistema y el
modelado conceptual se realizan en paralelo, esto es crucial para obtener
casos de uso correctos, puesto que es necesario entender bien el dominio
para poder escribir casos de uso que sean realmente tiles.
Modelo Conceptual
Modelo Lgico
Modelo Fsico
CIBERTEC
Equipo de Desarrolladores
En esta etapa del desarrollo, es conveniente detenerse en la
identificacin de los conceptos y no tanto en las relaciones entre ellos.
Este modelo incluir los conceptos y sus relaciones y se describir
mediante un diagrama de clases UML, en el que los conceptos se
representan mediante clases (del dominio).
CARRERAS PROFESIONALES
51
CIBERTEC
CARRERAS PROFESIONALES
52
Ejemplo
Tangibles o fsicos
Edificio, Producto
Especificaciones o descripciones
EspecificacionProducto,
DescripcionVuelo
Lugares
Transacciones
LineaVenta, DetalleReserva
Roles de personas
Cajero, Piloto
Organizaciones
Departamento, Sucursal
Historiales
PrecioProducto, PrecioDolar,
AtencionCitas
DisponibilidadHabitacion,
DisponibilidadButaca
Conceptos abstractos
RangoHora, UnidadAprendizaje
Relaciones
Amistad, Parentesco
CIBERTEC
CARRERAS PROFESIONALES
53
o
o
o
a) Tipos de Asociaciones
Recepcionista
registra
Cliente
genera
Orden Servicio
+juega en
CIBERTEC
CARRERAS PROFESIONALES
54
d) Multiplicidad
CIBERTEC
CARRERAS PROFESIONALES
55
Item
Muchos
Item
Uno o muchos
Item
Cero o muchos
Item
Cero o uno
1..*
0..*
0..1
Item
1..40
1 a 40
Item
Exactamente 5
Item
3,5,8
Exactamente 3,5 u 8
CIBERTEC
CARRERAS PROFESIONALES
56
La agregacin
gregacin indica una relacin de un todo conformado por
partes
Existen 2 tipos de agregaciones:
o Agregacin Dbil o Compartida
o Agregacin Fuerte o Compuesta
La
a agregacin representa una relacin parte de entre objetos.
En UML se proporciona una escasa caracterizacin de la
agregacin.
Puede ser caracterizada con precisin determinando las relaciones
de comportamiento y estructura que existen entre el objeto
agregado
regado y cada uno de sus objetos componentes.
componentes
a) Agregacin Compartida
Es un tipo de relacin utilizada para modelar la relacin todo-parte
todo
entre objetos. La parte puede estar simultneamente en varias
instancias del todo.
La agregacin existe de preferencia entre conceptos no fsicos.
Ejemplo
Ejemplo:
CIBERTEC
CARRERAS PROFESIONALES
57
b) Agregacin Compuesta
Es un tipo de relacin utilizada para modelar la relacin todo-parte
todo
entre objetos. Significa que la parte es miembro de solamente un
objeto todo, es decir,
decir la existencia de la parte depende del todo. La
composicin se representa con un diamante relleno.
El objeto todo es el nico dueo del objeto parte.
Ejemplo
Ejemplo:
CIBERTEC
CARRERAS PROFESIONALES
58
a) La Generalizacin
Ejemplo:
Ejemplo:
CIBERTEC
CARRERAS PROFESIONALES
59
CIBERTEC
CARRERAS PROFESIONALES
60
CIBERTEC
CARRERAS PROFESIONALES
61
Solucin:
El modelo conceptual nos muestra las siguientes relaciones:
CIBERTEC
CARRERAS PROFESIONALES
62
ACTIVIDADES PROPUESTAS
1. A partir de la Especificacin del Caso de Uso Reservar pistas de juego, de la
sesin anterior, confeccione el Modelo Conceptual.
CIBERTEC
CARRERAS PROFESIONALES
63
2. MODELO LGICO
Un modelo lgico de datos es un modelo que no es especfico de una base de
datos que describe aspectos relacionados con las necesidades de una
organizacin para recopilar datos y las relaciones entre estos aspectos.
El modelo lgico de datos es el refinamiento del modelo conceptual. En este
modelo no es necesario especificar las llaves primarias y forneas de las
entidades, pues es trabajo que se recomienda realizar en el modelo fsico.
Tipos primitivos de
UML
Boolean, boolean
BOOLEAN
CHAR
Date
DATE
Double, double
DOUBLE
float
FLOAT
Integer, int
INTEGER
Long, long
LONG
short
SHORT
Cadena de caracteres
VARCHAR(32672)
Tabla 2.2. Correlaciones entre tipos de datos de modelo lgico de datos y UML en
IDA.
CIBERTEC
CARRERAS PROFESIONALES
64
Entidad Padre
P
Entidad Hija
Opcional. Cuando
Opcional
uando el valor de una llave fornea no es siempre
requerido en la entidad hija.
hij Sin embargo, si un valor existe, el
valor de la llave fornea debe encontrarse en la llave primaria de
la entidad padre.
padre
La representacin de la relacin No identificada Opcional es una
lnea entrecortada y en el extremo de la entidad padre aparece
una lnea con un crculo. As:
Entidad Padre
P
Entidad Hija
CIBERTEC
CARRERAS PROFESIONALES
b)
65
Entidad Hija
Entidad Padre
Multiplicidad de
rol padre
Tipo de
relacin
Existencia
Cardinalidad
Simple o
agregacin
(0..1)
(0..1)
/1/*/(1..*)
No
identificada
Opcional
(0..1)
/1/*/(1..*)
Simple o
agregacin
(0..1)
/1/*/(1..*)
No
identificada
Obligatoria
(0..1)
/1/*/(1..*)
(0..1) /1
(0..1)
/1/*/(1..*)
Identificada
Composicin
CIBERTEC
CARRERAS PROFESIONALES
66
3. MODELO FSICO
El modelo fsico es un modelo de datos de bajo nivel. Proporcionan conceptos que
describen los detalles de cmo se almacenan los datos en el ordenador.
El paso de un modelo lgico a uno fsico requiere un profundo entendimiento del
manejador de bases de datos que se desea emplear, incluyendo caractersticas
como:
Las relaciones entre las tablas del modelo fsico son las mismas que se
describieron en el modelo lgico:
Relacin Identificada
Relacin No Identificada Opcional
Relacin No Identificada Obligatoria
3.1. Campos
3.1.1. Tipos de Datos
Los tipos de datos son segn los tipos de datos disponibles en el
sistema manteador de base de datos (SMBD). En la mayora de casos,
se considera lo siguiente:
CIBERTEC
CARRERAS PROFESIONALES
67
3.1.3. Orden de lo
os campos o columnas
Por
or lo general,
general la secuencia es la siguiente:
En la medida de lo posible,
posible indicar qu columnas brindan o sirven
de vnculo entre 2 tablas.
El administrador de base de datos puede hacerse cargo de esto,
e
pero ess mejor que el SMBD lo haga.
No se recomienda en ambientes de desarrollo.
3.2. ndices
Un ndice es un atajo desde un campo llave hacia la localizacin real de los
datos. Es el punto clave de la optimizacin de velocidad de toda base de
datos.
Si se busca algn registro en base a un atributo que no tiene un ndice,
ndice
entonces, se realiza un escaneo de la tabla completa lo cual es demasiado
costoso, por eso es recomendable usar ndices en
en
Llaves primarias
Llaves forneas
ndices de acceso
Ordenamiento
Nombre
URL
Productos
Sybase
www.sybase.com
Adaptive
Server
www.oracle.com
Oracle8,
Oracle8i,
Oracle8iEE,
Oracle9i,
Oracle 10g
Oracle
Tabla 2.4.
2. SMBD ms populares.
CIBERTEC
CARRERAS PROFESIONALES
68
Logo
Nombre
URL
Productos
Microsoft
www.microsoft.com
MySQL
www.mysql.com
MySQL
Informix
www.informix.com
Illustra,
Universal
Server,
Dynamic
Server
IBM
www.ibm.com
DB2
Apache
http://db.apache.org/derby
Derby
SQLite
http://www.sqlite.org
SQLite
Firebird http://firebird.sourceforge.net
Firebird
Tabla 2.4.
2. SMBD ms populares (Continuacin)..
CIBERTEC
CARRERAS PROFESIONALES
69
CIBERTEC
CARRERAS PROFESIONALES
70
7. Prototipos
Interfaz RESERVA
CIBERTEC
CARRERAS PROFESIONALES
71
Solucin:
A continuacin se muestra el modelo fsico del caso.
ACTIVIDADES PROPUESTAS
1. A partir de la Especificacin del Caso de Uso Reservar pistas de juego, de la
sesin anterior, confeccione el Modelo Fsico.
CIBERTEC
CARRERAS PROFESIONALES
72
codigo;
nombre;
apellidos;
y set */
Y la clase Empleado:
public class Empleado extends Persona {
private String ctaBancaria;
/* mtodos get y set */
}
CIBERTEC
CARRERAS PROFESIONALES
73
Tenemos tres estrategias para persistir estas clases en una base de datos relacional:
Una tabla por cada clase. Por tanto, tres tablas: personas, clientes, empleados.
Una tabla por cada clase concreta (no abstracta). Dos tablas: clientes y
empleados.
Una tabla para la jerarqua de herencia y una tabla tipo, dos tablas: personas y
tipo.
En caso de que se aadan campos a la clase Persona, solo hay que aadir
columnas a la tabla personas.
Si en ciertas consultas solo necesitamos los datos comunes de clientes y
empleados, slo necesitamos un SELECT.
CIBERTEC
CARRERAS PROFESIONALES
74
CIBERTEC
CARRERAS PROFESIONALES
75
Se aade una columna "tipo" a la tabla persona y se crea la tabla tipo_persona. Esa
columna permitir saber si el registro se refiere a un cliente o a un empleado
relacionado con la tabla tipo_persona. Tambin se ha eliminado las restricciones "NOT
NULL" tanto de la columna tarjeta_credito como de la columna cta_bancaria, debido a
que ahora podrn ser NULL. Si una persona es cliente, tendr cta_bancaria a NULL, y
viceversa con el campo tarjetacredito si es un empleado.
Otro ejemplo
Conclusiones
En conclusin, lo ms recomendable es utilizar la segunda o la tercera estrategia.
Elegir, entre ellas, depender de las consultas que se han de hacer a la base de datos.
Si, por ejemplo, en ningn momento, hacemos una consulta que involucre tanto a
clientes y empleados, quiz lo mejor ser tener una tabla por cada clase concreta. Si,
por el contrario, es comn hacer listados que involucren a ambas clases, entonces, lo
mejor ser utilizar la tabla de jerarqua y la tabla tipo.
CIBERTEC
CARRERAS PROFESIONALES
76
CIBERTEC
CARRERAS PROFESIONALES
77
Para poder realizar una auditora de la base de datos, tenemos 4 tcnicas que nos
ayudarn a solucionar nuestro trabajo, estas tcnicas se pueden combinar para tener
una solucin adecuada
1. Auditora nativa de las bases de datos
Todos los motores de datos actuales (SQL Server, Oracle, Informix, Sybase,
etc.) tienen herramientas para realizar la auditora de la base de datos o la
creacin de logs de acceso de usuarios a la base de datos. Esta tcnica es
muy buena, pero ocupa mucho espacio de datos.
2. Aadir campos a una tabla
El modo ms simple de auditar una tabla es registrando cada cambio fila por
fila; sin embargo, tambin es la menos recomendable. Se basa en aadir uno o
dos campos testigos que registren la fecha en que se ejecuten cambios y el
usuario que los efecte, sin embargo, cambios en cada columna no son
registrados ni auditados, solo se registra el ltimo usuario que haya hecho un
cambio. Por ejemplo, si Pilar hace un cambio en la columna "Precio" y luego
Juan cambia el valor de la columna "Cantidad" solo quedar registrado que
Juan hizo un cambio. Este tipo de auditora es algo ingenuo, pero que puede
servir en algunos casos.
3. Triggers y Tablas Espejo
Todos los motores tienen en los triggers (desencadenadores o disparadores)
una ayuda para llevar a cabo registros de auditora. Esta forma tiene el
siguiente procedimiento:
1. Crear una tabla espejo con los mismos campos que la tabla auditada, pero
con campos adicionales, como el usuario que haya hecho el cambio, la
fecha y la operacin realizada que puede ser fila agregada, fila modificada
o fila eliminada.
2. Aadir triggers INSERT, UPDATE y DELETE a la tabla origen, de modo
que al efectuarse cualquiera de las operaciones indicadas, grabe el mismo
registro en la tabla de auditora, incluyendo los campos de auditora
(usuario, fecha, tipo de operacin).
Esta forma de auditora, si bien es mejor que la anterior, ya que registra cada
cambio realizado y almacena un historial completo para cada fila, impone una
sobrecarga de operaciones por cada fila, debido a que se vuelve a registrar la
misma fila con datos adicionales en caso sea insertada, actualizada o
eliminada. Y a la vez aumenta el espacio a ocupar.
CIBERTEC
CARRERAS PROFESIONALES
78
CIBERTEC
un
en
la
de
de
CARRERAS PROFESIONALES
79
Resumen
Equipo de Desarrolladores
En esta etapa del desarrollo, es conveniente detenerse en la identificacin de
los conceptos y no tanto en las relaciones entre ellos. Este modelo incluir los
conceptos y sus relaciones y se describir mediante un diagrama de clases
UML, en el que los conceptos se representan mediante clases (del dominio).
CIBERTEC
CARRERAS PROFESIONALES
80
UNIDAD DE
APRENDIZAJE
ACTIVIDADES PROPUESTAS
1. Los alumnos desarrollan la realizacin de diseo de un caso de uso a partir de
su especificacin aplicando el patrn arquitectnico MVC.
2. Los alumnos desarrollan la realizacin de diseo de un caso de uso a partir de
su especificacin aplicando el patrn arquitectnico MVC y DAO.
CIBERTEC
CARRERAS PROFESIONALES
81
DISEO
CIBERTEC
Modelo de Diseo.
Elementos del modelo de diseo: capas, subsistemas con clases de
diseo (como servlets, beans y otras) e interfaces, libreras con clases
utilitarias, y realizaciones de diseo de casos de uso.
Diagramas de realizaciones de diseo de casos de uso: diagrama de
clases y diagramas de secuencia.
Diagrama de componentes, cuyos elementos son los componentes de la
aplicacin.
Modelo de Despliegue.
Diagrama de despliegue, cuyos elementos son artefactos y nodos.
CARRERAS PROFESIONALES
82
Artefacto
Descripcin
Modelo de Diseo
Capa
Librera
Clases de diseo
Realizacin de Diseo de
Caso de Uso
Diagrama de Clases
Diagramas de Secuencia
CIBERTEC
CARRERAS PROFESIONALES
83
Artefacto
Descripcin
Componente
Diagrama de componentes
Modelo de Despliegue
Un
diagrama de componentes
muestra la estructura de un sistema
software, el cual describe los
componentes
software,
sus
interfaces y sus dependencias.
Describe la distribucin fsica del
sistema en trminos de cmo las
funcionalidades se distribuyen entre
los nodos de computacin sobre los
que se va a instalar el sistema.
Diagrama de Despliegue
Artefacto
T
a
b
l
a
3
.
Nodo
CIBERTEC
CARRERAS PROFESIONALES
84
Modelo de Diseo
Es menos formal.
Es ms formal.
Da forma al sistema.
CIBERTEC
CARRERAS PROFESIONALES
85
Resumen
Modelo de Diseo.
Elementos del modelo de diseo: capas, subsistemas con clases de diseo
(como servlets, beans y otras) e interfaces, libreras con clases utilitarias, y
realizaciones de diseo de casos de uso.
Diagramas de realizaciones de diseo de casos de uso: diagrama de clases y
diagramas de secuencia.
Diagrama de componentes, cuyos elementos son los componentes de la
aplicacin.
Modelo de Despliegue.
Diagrama de despliegue, cuyos elementos son nodos.
Si desea saber ms acerca de estos temas, puede consultar los siguientes libros.
OBJECT-ORIENTED ANALYSIS AND DESIGN WITH APPLICATIONS. de
Grady Booch, Jim Conallen y otros, 3era edicin.
En el captulo 12, encontrar la solucin de una aplicacin web, explicando
cmo se construyen los modelos de las disciplinas de RUP para alcanzar los
objetivos de cada fase.
CIBERTEC
CARRERAS PROFESIONALES
86
CIBERTEC
CARRERAS PROFESIONALES
87
A partir de todas las definiciones que se han dado sobre AS, se ha llegado a una
especie de consenso por el que esta disciplina se refiere a la estructura de un
sistema a grandes rasgos, formada por componentes y relaciones entre ellos.
Estas cuestiones se tienen en cuenta durante el diseo, puesto que la AS se refiere
al diseo del software que se realiza en fases tempranas del desarrollo software y
a alto nivel de abstraccin.
CIBERTEC
CARRERAS PROFESIONALES
88
El analista de sistemas,
sistemas que lo utiliza para organizar y articular los
requisitoss y comprender las limitaciones tecnolgicas y riesgos.
Los usuarios finales o clientes, que lo utilizan para visualizar en un alto
nivel lo que estn comprando.
El gerente de proyecto de software, que lo utiliza para organizar el equipo
y el plan de desarrollo.
Los diseadores, que la utilizan para comprender los principios
subyacentes y localizar los lmites de su propio diseo.
Otras organizaciones de desarrollo (si el sistema es abierto), que lo
utilizan para comprender cmo interactuar con l.
Arquitectos, que la usan para razonar acerca de la evolucin o la
reutilizacin.
CIBERTEC
CARRERAS PROFESIONALES
89
3. Diseo de componentes
Figura 3.2. Fases de la arquitectura del sistema
2.2.1. Eleccin de estilos arquitectnicos
Una vez que el equipo de desarrollo define los requisitos funcionales y
no funcionales del sistema que habr de construirse, podr elegirse
un estilo arquitectnico o la combinacin de estilos que mejor
combinen con los requisitos del sistema.
Un estilo arquitectnico es un patrn de organizacin de un sistema. El
objetivo es establecer una estructura para todos los componentes del
sistema.
Existe un nmero relativamente pequeo de estilos arquitectnicos. La
primera taxonoma la propusieron Shaw y Garlan, en 1993,
considerando los siguientes tipos:
Tuberas-filtros.
Organizacin de abstraccin de datos y orientacin a objetos.
Invocacin implcita, basada en eventos.
Sistemas en capas.
Repositorios.
Procesos distribuidos, ya sea en funcin de la topologa (anillo,
estrella, etc.) o de los protocolos entre procesos. Una forma
particular de proceso distribuido es, por ejemplo, la arquitectura
cliente-servidor.
Organizaciones programa principal / subrutina.
Arquitecturas software especficas de dominio.
Sistemas de transicin de estados.
Sistemas de procesos de control.
Estilos heterogneos.
CIBERTEC
CARRERAS PROFESIONALES
90
Sistemas estructurales.
Sistemas distribuidos.
Sistemas interactivos
Sistemas adaptables.
Flujo de datos.
Llamada y retorno.
Componentes independientes centrados en datos.
Mquina virtual.
CIBERTEC
CARRERAS PROFESIONALES
a)
91
Tuberas y filtros
Este estilo consiste en una tubera (pipeline) que conecta
componentes computacionales (filtros) a travs de conectores
(pipes), de modo que los procesos se ejecutan a la manera de un
flujo. Los datos se transportan a travs de las tuberas entre los
filtros, transformando gradualmente las entradas en salidas.
El sistema tubera-filtros se percibe como una serie de
transformaciones sobre sucesivas piezas de los datos de entrada.
Los datos entran al sistema y fluyen a travs de los componentes.
b)
Model-View-Controller (MVC)
Algunos lo definen como patrn de diseo, pero otros autores
precisan que debe ser tratado como estilo arquitectnico, debido a
que est referido a la estructura global del software.
CIBERTEC
CARRERAS PROFESIONALES
92
b)
Arquitectura en capas
Los sistemas o arquitecturas en capas constituyen uno de los
estilos que aparecen con mayor frecuencia en las estructuras de
sistemas Consiste en una organizacin jerrquica de capas, de
sistemas.
modo tal que cada una proporciona servicios a la capa
inmediatamente superior y se sirve de las prestaciones que le
brinda la inmediatamente inferior. En algunos ejemplares, las
capas internas estn ocultas a todas las dems, menos para las
CIBERTEC
CARRERAS PROFESIONALES
93
d)
CIBERTEC
CARRERAS PROFESIONALES
94
a)
CIBERTEC
CARRERAS PROFESIONALES
95
b)
CIBERTEC
CARRERAS PROFESIONALES
96
CIBERTEC
CARRERAS PROFESIONALES
97
Resumen
CIBERTEC
CARRERAS PROFESIONALES
98
Nombre
Propsito o finalidad
Sinnimos (otros nombres por los que puede ser conocido)
Problema al que es aplicable
Estructura (diagrama de clases)
Participantes (responsabilidad de cada clase)
Colaboraciones (diagrama de interacciones)
Implementacin (consejos, notas y ejemplos)
Otros patrones con los que est relacionado
CIBERTEC
CARRERAS PROFESIONALES
99
CIBERTEC
Creacional de la Clase
Los patrones creacionales de Clases usan la herencia como un
mecanismo para lograr la instanciacin de la Clase. Por ejemplo,
el mtodo Factora.
CARRERAS PROFESIONALES
100
Estructurales
Estructural de la Clase
Los patrones estructurales de Clases usan la herencia para
proporcionar interfaces ms tiles combinando la funcionalidad de
mltiples Clases. Por ejemplo, el patrn Adaptador (Clase).
Estructural de Objetos
Los patrones estructurales de objetos crean objetos complejos
agregando objetos individuales para construir grandes
estructuras. La composicin de l patrn estructural del objeto
puede ser cambiado en tiempo de ejecucin, el cual nos da
flexibilidad adicional sobre los patrones estructurales de Clases.
Por ejemplo el Adaptador (Objeto), Facade, Bridge, Composite.
Comportamiento
Comportamiento de Clase
Los patrones de comportamiento de Clases usan la herencia para
distribuir el comportamiento entre Clases. Por ejemplo,
Interpreter.
Comportamiento de Objeto
Los patrones de comportamiento de objetos nos permiten analizar
los patrones de comunicacin entre objetos interconectados,
como objetos incluidos en un objeto complejo. Ejemplo Iterator,
Observer, Visitor.
CIBERTEC
CARRERAS PROFESIONALES
101
Nombre
Dnde se
ubica
Quines la componen
Capa Cliente
Capa de
Presentacin
Servidor
J2EE
Capa de Negocios
Servidor
J2EE
Capa de
Integracin
JMS, JDBC
Servidor
J2EE
Capa de Recursos
Servidor BD
Descripcin
CIBERTEC
CARRERAS PROFESIONALES
102
Un
objeto
que
acepta
todos
los
requerimientos de un cliente y los direcciona a
manejadores apropiados. El patrn Front
Controller podra dividir la funcionalidad en 2
diferentes objetos: el Front Controller y el
Dispatcher. En ese caso, El Front Controller
acepta todos los requerimientos de un cliente
y realiza la autenticacin, y el Dispatcher
direcciona los requerimientos a manejadores
apropiada.
View Helper
Composite view
Service To Worker
Dispatcher View
Capa de Negocio
Patrn
Descripcin
Business Delegate
CIBERTEC
CARRERAS PROFESIONALES
103
Service Locator
Capa de Integracin
Patrn
Service Activator
Descripcin
Consiste en utilizar un objeto de acceso a
datos para abstraer y encapsular todos los
accesos a la fuente de datos. El DAO maneja
la conexin con la fuente de datos para
obtener y almacenar datos.
Se utiliza para recibir peticiones y mensajes
asncronos de los clientes. Cuando se recibe
un mensaje, el Service Activator localiza e
invoca a los mtodos de los componentes de
negocio necesarios para cumplir la peticin de
forma asncrona.
CIBERTEC
CARRERAS PROFESIONALES
104
Diagramas de clases
1.
Estereotipos en clases
Estereotipos en clases define los siguientes estereotipos:
CIBERTEC
Estereotipos en relaciones
Define los siguientes estereotipos para las relaciones de
asociacin unidireccionales:
CARRERAS PROFESIONALES
105
CIBERTEC
CARRERAS PROFESIONALES
106
1.1.2.
Diagrama de Componentes
Componente:
Pgina esttica
Componente:
Pgina dinmica
Las dependencias en este diagrama
representan hipervnculos.
CIBERTEC
CARRERAS PROFESIONALES
1.1.3.
107
Diagrama de secuencia
Describe el comportamiento de los casos de uso en funcin del
tiempo. Su uso respecto a UML no cambia. En este diagrama se
escriben las lneas de tiempo de los actores y componentes
implicados. Los actores y componentes se envan mensajes entre
ellos describiendo el comportamiento del sistema. Las pginas del
cliente pueden enviarse mensajes as mismo (funciones javascript
donde el servidor no interviene), pero si vemos fechas asncronas
que van desde el cliente hasta el servidor solo pueden ser
interpretadas por el programador como el uso de AJAX, ya que la
tecnologa web es sncrona.
3.3.
Subsistema/Libreras
Elementos de diseo
Clases estereotipadas:
Pginas HTML: <<Client
Page>>
Pginas JSP: <<Server
Page>>, <<Client Page>> y
<<HTML Form>>
Clase estereotipada para
servlets: <<Http Servlet>>
CIBERTEC
CARRERAS PROFESIONALES
108
CIBERTEC
CARRERAS PROFESIONALES
109
CIBERTEC
CARRERAS PROFESIONALES
110
Realizacin de diseo
2)
CIBERTEC
CARRERAS PROFESIONALES
3)
111
Diagramas de Secuencia
CIBERTEC
CARRERAS PROFESIONALES
112
ACTIVIDADES PROPUESTAS
Elabore el diagrama de secuencia para los subflujos agregar, actualizar y desactivar
cajeros del caso de uso Mantener Cajeros.
CIBERTEC
CARRERAS PROFESIONALES
3.4.
113
Subsistema/Libreras
Elementos de diseo
Clases estereotipadas:
Pginas HTML: <<Client
Page>>
Pginas JSP: <<Server
Page>>, <<Client Page>> y
<<HTML Form>>
Clase estereotipada para
servlets: <<Http Servlet>>
Clases de diseo:
servicios, beans y clases
DAO.
Interfaces que presentan
las operaciones de acceso
a una tabla.
CIBERTEC
CARRERAS PROFESIONALES
114
CIBERTEC
CARRERAS PROFESIONALES
115
a. Flujo bsico
b. Flujo del mtodo listar
c. Subflujo agregar
d. Flujo del mtodo autogenerado
e. Flujo del mtodo agregar
1. Realizacin de diseo
CIBERTEC
CARRERAS PROFESIONALES
116
CIBERTEC
CARRERAS PROFESIONALES
117
3. Diagrama de secuencia
CIBERTEC
CARRERAS PROFESIONALES
118
ACTIVIDADES PROPUESTAS
Elabore el diagrama de secuencia para los subflujos agregar, actualizar y desactivar
cajeros y de los mtodos del DAO del caso de uso Mantener Cajeros.
CIBERTEC
CARRERAS PROFESIONALES
119
Caso prctico
A partir de la Especificacin del Caso de Uso crearemos los diagramas de la
realizacin de diseo del caso de usp ECU Generar reserva.
CIBERTEC
CARRERAS PROFESIONALES
120
7. Prototipos
Interfaz RESERVA
CIBERTEC
CARRERAS PROFESIONALES
121
CIBERTEC
CARRERAS PROFESIONALES
122
Operacin Correlativo
CIBERTEC
CARRERAS PROFESIONALES
CIBERTEC
123
CARRERAS PROFESIONALES
124
Resumen
CIBERTEC
CARRERAS PROFESIONALES
125
4. MODELO DE IMPLEMENTACION
El Modelo de Implementacin del sistema. Muestra cmo se traduce el Modelo
de Diseo en los distintos componentes ejecutables de la aplicacin a
desarrollar. Este modelo se representa con el diagrama de Componentes y
diagrama de despliegue
espliegue
4.1
Componentes
Un componente representa una pieza del software reutilizable. que
conforma un conjunto de interfaces y proporciona su implementacin.
Modela artefactos tales como ejecutables, bibliotecas, tablas, ficheros,
documentos,..
Representa el empaquetamiento fsico de elementos lgicos tales como
clases, interfaces,..
Residirn en los nodos del sistema
Tipos de componentes
Despliegue
Necesarios y suficientes para formar un sistema ejecutable: libreras
dinmicas(dll), ejecutables (exe, ear, jar)
Productos del trabajo
Permanecen al final del proceso de desarrollo: archivos cdigo fuentes,
ficheros de datos,..
Con ellos, se crean los componentes de despliegue
De ejecucin
Se crean durante la ejecucin: objeto COM, instanciado
instanciado a partir de una
dll.
Servicios web, al momento de instalar un ear.
CIBERTEC
CARRERAS PROFESIONALES
126
4.3 Nodo
4.4Servidor de Aplicaciones
CIBERTEC
CARRERAS PROFESIONALES
127
4.5 Cluster
Alto rendimiento: Son clusters en los cuales se ejecutan tareas que requieren
de gran capacidad computacional. El llevar a cabo estas tareas puede
comprometer los recursos del cluster por largos periodos de tiempo.
CIBERTEC
CARRERAS PROFESIONALES
128
4.6Diagrama de despliegue
4.7Aplicaciones desatendidas
Algunas aplicaciones necesitan que ciertos procesos se disparen
automticamente, sin intervencin del usuario; en stos casos, precisamos una
herramienta que nos permita planificar su ejecucin.
CIBERTEC
CARRERAS PROFESIONALES
129
Glosario
Abstraccin
Caractersticas esenciales de una entidad que la distingue de otros tipos de entidades.
Define una frontera desde la perspectiva del observador.
API
Una API representa una interfaz de comunicacin entre componentes de software. Se
trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos
servicios desde los procesos y representa un mtodo para conseguir abstraccin en la
programacin, generalmente (aunque no necesariamente), entre los niveles o capas
inferiores y los superiores del software.
Blueprints
En el contexto de arquitectura de sistemas de software, este trmino se refiere al
conjunto de diagramas que tienen como objetivos representar las diferentes vistas del
sistema.
Artefacto
Pieza discreta de informacin que es utilizada o producida por un proceso de
desarrollo de software.
Elemento
Constituyente atmico de un modelo.
Especificacin
Descripcin textual de la sintaxis y la semntica de un bloque de construccin
especfico; descripcin declarativa de lo que algo es o hace.
Estereotipo
Extensin del vocabulario de UML que permite crear nuevos bloques de construccin
derivados a partir de los existentes, pero especficos a un problema concreto.
Estilo arquitectnico
Los estilos arquitectnicos son una generalizacin y abstraccin de los patrones de
diseo. Tambin, puede definirse como la descripcin de los tipos componente y de
los patrones de interaccin entre ellos.
Framework
En el desarrollo de software, es una estructura de soporte definida en la cual otro
proyecto de software puede ser organizado y desarrollado. Tpicamente, puede incluir
soporte de programas, bibliotecas y un lenguaje interpretado entre otros software para
ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Representa una arquitectura de software que modela las relaciones generales de las
entidades del dominio. Provee una estructura y una metodologa de trabajo la cual
extiende o utiliza las aplicaciones del dominio.
Heurstica
CIBERTEC
CARRERAS PROFESIONALES
130
CIBERTEC
CARRERAS PROFESIONALES