Professional Documents
Culture Documents
Diseño de San
e Implementación Martín
de Sistemas de Porres
Semestre: 2010_I
Diseño e Implementación de Sistemas
Flujo de trabajo
• Fases
– Iniciación: la idea inicial se lleva al punto de estar
suficientemente bien fundamentada para garantizar la
entrada en la fase de elaboración.
– Elaboración: se definen la visión del producto y su
arquitectura. Se expresan con claridad los requisitos del
sistema, se priorizan se usan para producir una base
arquitectónica
– Construcción: el software se lleva desde una base
arquitectónica ejecutable hasta su disponibilidad para los
usuarios.
– Transición: el software es puesto en manos de los
usuarios, se erradican errores y se añaden características
nuevas.
• Cada fase contiene una o más iteraciones
Diseño e Implementación de Sistemas
Diseño e Implementación de Sistemas
TRAZABILIDAD CON UML
Análisis Diseño
JSP
<<Build>>
Boundary
Form
JSP_Client
(from JSP) (from JSP_Client)
Diseño e Implementación de Sistemas
TRAZABILIDAD CON UML
Análisis Diseño
C o ntrol
Diseño e Implementación de Sistemas
TRAZABILIDAD CON UML
Análisis Diseño
Bean
Entity
ClaseDAO
Diseño e Implementación de Sistemas
Ejemplo
Diseño e Implementación de Sistemas
Modelo de Caso de Uso de Negocio
CUN_Vender Producto
Proveedor
(from Casos de uso del negocio)
(from Actores del Negocio)
Cliente
(from Actores del Negocio)
CUN_Gestionar pedido
(from Casos de uso del negocio)
CUN_Registrar cliente
(from Casos de uso del negocio)
Registra datos
Este proceso se
automatizara dentro del
CU Vender Producto.
: Cuaderno de registro
<<Business Use Case Realization>> R_N_Vender producto
Diseño e Implementación de Sistemas
: Cl iente : Vendedor
Consu l ta l i sta
de prod uctos
Sol i ci ta p ro ductos
¿Acepta
: Li sta de productos
productos?
NO Inform a di sp oni bi l i dad de productos y preci os
SI
Este proceso se
Se auto m ati zara en
autom ati zara dentro del
CU Consul tar Cl i en te
CU Vender Producto.
Acepta producto s
Cancel a producto
Regi stra
venta
Re ci be producto s
Este proceso se
autom ati zara dentro del
: Cu aderno de ventas
CU Vender Producto.
Diseño e Implementación de Sistemas
Matriz de Proceso y Requerimiento
Nivel de
Código CUN Requerimientos Usuario Riesgos CU Descripción CU
Riesgo
1 Gestionar Cubrir el stock faltante Administrador 1. no contar con stock necesario para las ventas 8
Pedido
2 Registrar Control de los proveedores con cual Administrador 1. perder la información de los proveedores para 9
Proveedor cuenta la empresa futuros pedidos de mercadería
2. pagar demás a los proveedores
3 Registrar Contar con un registro de todos los Vendedor 1. perdida del documento donde se guarda a los 7 Mantenimiento El Vendedor tendrá la opción de realizar
Cliente clientes potenciales clientes. de Cliente
las Ventas de la empresa.(en este caso de
uso se encuentra el registro de cliente)
4 Vender Contar con una base de datos de los Vendedor 1. perdida de las facturas de ventas. 8 Vender El Vendedor tendrá la opción de realizar las
Producto productos existentes en Almacén. 2. perdida de clientes por tener una atención 7 Producto Ventas de la empresa
muy lenta Consultar
Producto
Consultar
Cliente
Mantenimiento
Producto
Gestionar
Reportes
Diseño e Implementación de Sistemas
Modelo de Caso de Uso
Usuario
(f rom Actores)
<<include>> <<include>>
<<include>> <<include>>
Gestionar Vender
Reportes Producto
________________________________________________
Mantenimiento
Mantenimiento de
de Clientes
Productos
Relaciones de includes
Diseño e Implementación de Sistemas
<<use-case realization>> RCUA - Mantenimiento de Productos
Registro satisfactorio
Incluye al CU
consultar producto
: I. Menu Principal
2: Muestra
Buscar Producto
1: Solicita Mantenimiento de Productos
11: muestra msg
6: Muestra formulario "Registrar Producto"
5: seleciona buscar
7: ingresa datos del producto
9: registra producto
: Administrador 4: Ingresa datos del producto
8: seleciona registrar
: CRegistroProducto
: I.Mantenimiento de Productos
nombre, marca
codigo, nombre, marca,
descripcion, cantidad
precio unitario
RCUA Mantenimiento de Productos 10: registra producto
Flujo Basico
Registrar Producto
: Producto
Diseño e Implementación de Sistemas
Diagrama de Colaboracion- SB modificar Producto
Mensajes
: Producto
Diseño e Implementación de Sistemas
Capas
<<layer>> <<layer>>
Presentacion Negocio
<<layer>> <<layer>>
Midleware Software
Diseño e Implementación de Sistemas
Capa - Presentación
<<subsystem>> <<subsystem>>
Gestionar Vender
Reporte Productos
<<subsystem>>
Mantenimiento <<subsystem>>
de Clientes Mantenimiento de
Productos
<<library>>
GUI_Comun
Diseño e Implementación de Sistemas
Configurar Rational Rose
Diseño e Implementación de Sistemas
Capa de Presentación
Server Page
Boundary
Client Page
Form
Diseño e Implementación de Sistemas
<<Build>>
NewClass NewClass_Client
(f rom NewClass)
<<Link>>
NewClass4
NewClass2
Form
(f rom NewClass2)
<<Link>>
NewClass3 NewClass5
<<Server Page>>
Diseño e Implementación
JSP_MantenimientoProductos de Sistemas
Form_ConsultarPr
oducto
(from JSP_Mantenim
...)
Nombre
Marca
<<Build>>
JSP_MantenimientoProdu Form_RegistrarProducto
ctos JSP_MantenimientoProductos_Client (from JSP_MantenimientoProduc
. ..)
(from JSP_MantenimientoProductos)
Nombre
Marca
Descripcion
Cantidad
Precio Unitario
Form_ModificarProducto Form_EliminarProducto
(from JSP_MantenimientoProdu...) (from JSP_MantenimientoP...)
Codigo Codigo
Nombre Nombre
Marca Marca
Descripcion Descripcion
Cantidad Cantidad
Precio Unitario Precio Unitario
<<Server Page>>
Diseño e Implementación de Sistemas
JSP_MantenimientoCliente
Form_ConsultarCli
ente
(from JSP_Mantenim
...)
Dni/RUC
<<Build>>
JSP_MantenimientoClient Form_ModificarDatosCliente
e JSP_MantenimientoCliente_Client
(from JSP_MantenimientoCliente) (from JSP_MantenimientoCliente
. ..)
Nombre/Razon Social
Direccion
Dni/RUC
Telefono
Form_EliminarDatosCliente
(from JSP_MantenimientoCliente...)
Nombre/Razon Social
Direccion
Dni/RUC
Telefono
Diseño e Implementación de Sistemas
Capa de Negocio
Capa de Negocio
Diseño e Implementación de Sistemas
<<subsystem>> <<subsystem>>
Gestionar Vender
Reporte Producto
<<subsystem>> <<subsystem>>
Mantenimiento de Mantenimiento
Productos de Clientes
<<library>> <<library>>
Sql Utilitarios
Diseño e Implementación de Sistemas
Diseño e Implementación de Sistemas
<<use-case realization>> RCUD -
Mantenimiento de Clientes Error……….!!!!!!
DAOFactory
(from Administracion DAO)
MySql : int = 1
JSP_MantenimientoCliente
<<Build>>de Clientes)
(from Mantenimiento getDAOFactory()
getClienteDAO()
getProductoDAO()
HS
getVentaDAO()
JSP_MantenimientoCliente_Cl...
(from JSP_MantenimientoCliente) ServletModifClient
e
Vendedor (from servlets) MySqlDAOFactory
(from Administracion DAO) MySqlDBConn
(from Actores)
ServletModifCliente() (from Conexiones)
init() MySqlDAOFactory()
service() getConnection: Connection()
doGet()
doPost()
Form_ModificarDatosCliente
destroy()
(from JSP_MantenimientoCliente_Cli...)
Nombre/Razon Social
ClienteDAO
Direccion MySQLClienteDAO
HS
(from Interface)
Dni/RUC (from DAO)
Telefono
eliminar()
MySQLClienteDAO()
modificar()
ServletElimCliente obtener()
(from servlets)
ServletElimCliente() BeanCliente
(from beans)
init()
service() idCliente
doGet() tipoDoc
Form_EliminarDatosCliente doPost() nombre
destroy() direccion
(from JSP_MantenimientoCliente_Client)
telefono
Nombre/Razon Social distrito
Direccion
Dni/RUC
Telefono
Diseño e Implementación de Sistemas
HS
ServletBuscaCl
iente
ServletBuscaCliente()
init()
service()
doGet()
doPost()
destroy()
HS HS
ServletModifCliente ServletCliente
ServletModifCliente() buscarCliente()
init() modificarCliente()
service() EliminarCliente()
doGet() service()
init()
doPost()
destroy()
destroy()
HS
ServletElimCliente
ServletElimCliente()
init()
service()
doGet()
doPost()
destroy()
Diseño e Implementación de Sistemas
<<use-case realization>> RCUD - Mantenimiento de Clientes
<<Build>>
DAOFactory
(from Administracion DAO)
MySql : int = 1
JSP_MantenimientoCliente
JSP_MantenimientoCliente_Cl...
(from Mantenimiento de Clientes)
getDAOFactory()
(from JSP_MantenimientoCliente)
getClienteDAO()
getProductoDAO()
getVentaDAO()
HS MySqlDBConn
(from Conexiones)
Vendedor MySqlDAOFactory
getConnection: Connection()
(from Actores)
ServletCliente (from Administracion DAO)
(from servlets)
MySqlDAOFactory()
buscarCliente()
modificarCliente() ClienteDAO
EliminarCliente() (from Interface)
Form_ModificarDatosCliente service()
init()
(from JSP_MantenimientoCliente_Cli...) destroy() eliminar()
Nombre/Razon Social modificar()
Direccion obtener()
MySQLClienteDAO
Dni/RUC (from DAO)
Telefono
MySQLClienteDAO()
BeanCliente
(from beans)
idCliente
tipoDoc
Form_EliminarDatosCliente nombre
direccion
(from JSP_MantenimientoCliente_Client) telefono
Nombre/Razon Social distrito
Direccion
Dni/RUC
T elefono
HS
Diseño e Implementación de Sistemas
:
Form_Modif ic... :
:
DAOFactory
:
My SqlDAOFactory
:
ClienteDAO
: My SQLClienteDAO :
My SqlDBConn
: BeanCliente
: T_Cliente
: Vendedor Serv letMod...
1: busca cliente
incluy e datos
consultar cliente
3: modif ica datos
4: serv ice( )
5: getDAOFactory ( )
6: getDAOFactory ( )
el id producto
no v aria
7: getClienteDAO( )
8: getClienteDAO( )
9: My SQLClienteDAO( )
10: //implementa
11: BeanCliente( )
12:
13:
14:
15: setDescripcion( )
16:
20: BeanCliente( )
21:
22:
23:
24:
25: //update
se muestra mensaje
"modif icacion
flujo básico - modificar cliente satisf actoria"
Diseño e Implementación de Sistemas
HS
: : : MySQLClienteDAO : : BeanCliente
: Vendedor : : : T_Cliente
DAOFactory MySqlDAOFactory MySqlDBConn
Form_Elimina... : ClienteDAO
ServletEli...
1: busca cliente
3: elimina datos
4: service( )
5: getDAOFactory( )
6: getDAOFactory( )
7: getClienteDAO( )
8: getClienteDAO( )
9: MySQLClienteDAO( )
10: //implementa
11: BeanCliente( )
12:
13: eliminar( )
14: eliminar( )
15: getConnection: Connection( )
16: BeanCliente( )
17:
18: //delete
se muestra mensaje
"eliminacion satisfactoria"
Diseño e Implementación de Sistemas
<<Build>>
Error……….!!!!!!
JSP_MantenimientoProductos
JSP_MantenimientoProductos_Cl...
(from Mantenimiento de Productos) (from JSP_MantenimientoProductos)
Form_EliminarProducto
(from JSP_MantenimientoProductos_Client)
Codigo
Nombre
Marca
DAOFactory
Descripcion
(from Administracion DAO)
Cantidad
My Sql : int = 1
HS
Precio Unitario
getDAOFactory ()
getClienteDAO()
getProductoDAO()
Serv letElimProduct getVentaDAO()
o
(from servlets)
HS
Nombre
modif icar() registrarProducto()
Marca
eliminar() obtener() getConnect
Descripcion
obtener()
Cantidad
registrarProducto()
Precio Unitario
Serv letModif Produ
cto
modif icar()
(from servlets)
HS
BeanProducto
Form_RegistrarProducto (from beans)
Serv letRegistroPro
(from JSP_MantenimientoProductos_Client) ducto
Nombre (from servlets)
Marca
Descripcion Serv letRegistroProducto()
Cantidad
Precio Unitario
init()
serv ice()
<<use-case realization>> RCU
doGet()
registrar() doPost()
destroy ()
Mantenimiento de Productos
Diseño e Implementación de Sistemas
HS HS HS HS
ServletRegistroProducto ServletBuscaProducto ServletModifProducto ServletElimProducto
HS
ServletProducto
service()
init()
destroy()
ServletRegProducto()
ServletBuscarProducto()
ServletModProducto()
ServletElimProducto()
Diseño e Implementación de Sistemas
<<Build>>
My SqlDBConn
(from Conexiones)
getConnection: Connection()
My SqlDAOFactory
(from Administracion DAO)
HS My SqlDAOFactory ()
BeanProducto
(from beans)
BeanProducto()
setNombre()
getNombre()
setMarca()
getMarca()
Form_RegistrarProducto setDescripcion()
(from JSP_MantenimientoProductos_Cli...) getDescripcion()
setStock()
Nombre
getStock()
Marca
setPUnitario()
Descripcion
getPUnitario()
Cantidad
setIdProducto()
Precio Unitario
getIdProducto()
registrar() <<use-case realization>> RCUD -
Mantenimiento de Productos
Diseño e Implementación
HS de Sistemas
: : : : :
: Administrador : :
DAOFactory MySqlDAOFactory MySQLProductoDAO MySqlDBConn BeanProducto : T _Producto
Form_Registr... : Produc...
ServletProducto
1: registrar producto
2: service( )
3: getDAOFactory( )
4: MySqlDAOFactory( )
5: getProductoDAO( )
6: getProductoDAO( )
7: MySQLProductoDAO( )
8: //implementa
9: BeanProducto( )
10: setIdProducto( )
11: setNombre( )
12: setMarca( )
13: setDescripcion( )
14: setStock( )
15: setPUnitario( )
16: registrarProducto( )
17: registrarProducto( )
19: BeanProducto( )
20: getIdProducto( )
21: getNombre( )
22: getMarca( )
23: getDescripcion( )
24: getStock( )
25: getPUnitario( )
incluy e datos
consultar
productos
7: getProductoDAO( )
8: getProductoDAO( )
9: My SQLProductoDAO( )
10: //implementa
11: BeanProducto( )
12: setIdProducto( )
13: setNombre( )
14: setMarca( )
15: setDescripcion( )
16: setStock( )
17: setPUnitario( )
18: modif icar( )
19: modif icar( )
21: BeanProducto( )
22: getIdProducto( )
23: getNombre( )
24: getMarca( )
25: getDescripcion( )
26: getStock( ) se muestra mensaje
"modif icacion
27: getPUnitario( ) satisf actoria"
28: //update
incluye datos
consultar
productos
3: elimina datos
4: envia
5: getDAOFactory( )
6: getDAOFactory( )
7: getProductoDAO( )
8: getProductoDAO( )
9: MySQLProductoDAO( )
10: //implementa
11: BeanProducto( )
12: setIdProducto( )
13: setNombre( )
14: eliminar( )
15: eliminar( )
19: //delete
T_Venta
T_Cliente IdVenta : VARCHAR2(15)
T_Empleado
IdEmpleado : VARCHAR2(15) <<Non-Identifying>>
IdCliente : VARCHAR2(15) <<Non-Identifying>> IdEmpleado : VARCHAR2(15)
IdCliente : VARCHAR2(15)
TipoDoc : NUMBER(10, 0) 0..* 1 Nombre : VARCHAR2(45)
SubTotal : NUMBER(8, 2)
Direccion : VARCHAR2(45) Usuario : VARCHAR2(20)
Igv : NUMBER(8, 2)
Nombre : VARCHAR2(45) 1 0..* Password : VARCHAR2(20)
Total : NUMBER(8, 2)
Telefono : VARCHAR2(45) Tipo : VARCHAR2(15)
Fecha : DATE
Distrito : VARCHAR2(20)
<<PK>> PK_T_Venta() <<PK>> PK_T_Usuario()
<<PK>> PK_T_Cliente()
<<FK>> FK_T_Usuario()
1 <<FK>> FK_T_Venta299()
1
<<Identifying>>
<<Non-Identifying>>
1..*
0..*
T_Producto
T_DetalleVenta
IdProducto : VARCHAR2(15)
IdDetalle : VARCHAR2(15)
IdCliente : VARCHAR2(15) <<Identifying>>
IdProducto : VARCHAR2(15)
Nombre : VARCHAR2(45)
IdVenta : VARCHAR2(15)
Marca : VARCHAR2(45)
Importe : NUMBER(8, 2)
Descripcion : VARCHAR2(45) 1 0..*
Cantidad : NUMBER(10, 0)
Stock : NUMBER(10, 0)
PUnitario : NUMBER(8, 2)
<<PK>> PK_T_DetalleVenta()
<<FK>> FK_T_Producto()
<<PK>> PK_T_Producto()
<<FK>> FK_T_Venta()
<<FK>> FK_T_Cliente()
Modelo Físico
Universidad
Diseño de San
e Implementación Martín
de Sistemas de Porres
Semestre: 2010_I