Arquitectura Soa - Movil
-
Upload
nataly-gonzalez -
Category
Documents
-
view
72 -
download
0
Transcript of Arquitectura Soa - Movil
UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIA
CARRERA DE INGENIERIA DE SISTEMAS
PROYECTO FINALARQUITECTURA SOA - MOVIL
SISTEMA DE GESTION PARA LA ADMINISTRACION DE
PEDIDOS DE LA EMPRESA P&N SA
MATERIA: ARQUITECTURA DE SOFTWARE
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
DOCENTE: ING. VEIZAGA GONZALES JOSUE OBED
ALUMNA: MARIA NATALY GONZALEZ CASTRO
SANTA CRUZ – BOLIVIAENERO-2012
2 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
Tabla de contenido
No se encontraron elementos de tabla de contenido.
i INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
1. FLUJO DE TRABAJO: REQUISITOS
2 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
REQUISITOS FUNCIONALES:
1.1. IDENTIFICAR ACTORES
SISTEMA DE GESTION PARA LA ADMINISTRACION DE PEDIDOS DE LA EMPRESA P&N SA
EmpleadoAdminstrador Cliente
1.2. IDENTIFICAR CASOS DE USO
CU1. Gestionar EmpleadoCU2. Gestionar ClienteCU3. Gestionar ProductoCU4. Gestionar Tipo VentaCU5. Registrar Pedido
1.3. PRIORIZAR CASOS DE USO
Nro. Caso de Uso Estado Prioridad RiesgoCU1 Gestionar Empleado Aprobado Importante NormalCU2 Gestionar Cliente Aprobado Importante NormalCU3 Gestionar Producto Aprobado Importante NormalCU4 Gestionar Tipo Venta Aprobado Importante NormalCU5 Registrar Pedido Aprobado Critico Critico
1.4. DETALLAR CASOS DE USO
CU1: Gestionar Empleado
3 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
Empleado
Gestionar Empleado
Caso de Uso CU1: Gestionar EmpleadoActores EmpleadoActor Iniciador EmpleadoPre-Condiciones NingunoPost-Condiciones Empleado registrado en el sistemaResumen Este caso de uso registra los datos personales del Empleado para posteriormente
continuar con la emisión como docente y/o la inscripción como alumno.Acciones del Actor Registrar:
1.1.- Solicita crear Nuevo Empleado1.3.- ingreso sus datos personales 1.4.- guardo los datos del EmpleadoModificar:2.1.- Busco al empleado por su código.2.3.- Modifico los datos.2.4.- Presiono botón Modificar.Eliminar:3.1.- Busco al empleado por su código.3.3.- Presiono botón Eliminar.
Acciones del sistema
1.2.- Genera el código automáticamente1.5.- Valida y guarda los datos del Empleado.2.2, 3.2.- busca y muestra los datos del Empleado.2.5.- valida y guarda los datos actualizados del Empleado.3.3.- Elimina al empleado.
Curso Alternativo o Alterno
1.4,2.4.- error al introducir los datos del Empleado2.1,3.1.- no existe ese código en el sistema
Interfaz del Prototipo:
4 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
CU2: Gestionar Cliente
Empleado
Gestionar Cliente
Caso de Uso Gestionar Cliente
Actores Empleado, clienteActor Iniciador EmpleadoPre-Condiciones Ninguno
Post-Condiciones Cliente registrado en el sistemaResumen Registrar datos de los clientes.Acciones del Actor 1.1.- Solicita crear Nuevo Cliente
1.3.- ingreso los datos requeridos y Presiono botón Guardar.2.1.- Selecciono el Cliente de la lista.2.3.- y Modifico los datos y Presiono botón Modificar.3.1.- Selecciono el Cliente de la lista y Presiono botón Eliminar.
Acciones del sistema 1.2.- genera el código automáticamente1.5.- Valida los datos y Guarda los datos del Cliente.2.3.- valida y Modifica los datos actualizados del Cliente.3.3.- Elimina al Cliente.
Curso Alternativo o Alterno
1.4 error al introducir los datos del Cliente2.2,3.1.- no existe ese código en el sistema
5 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1Interfaz ClienteMovil:
Interfaz ClienteEscritorio:
CU3: Gestionar Producto
6 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
Gestionar Producto
Administrador
Caso de Uso CU3: Gestionar ProductoActores AdministradorActor Iniciador AdministradorPre-Condiciones NingunoPost-Condiciones Producto registrado en el sistema.Resumen Este caso de uso registrar los Productos que se llevaran a cabo en algún
Producto determinadoAcciones del Actor 1.1.- Solicita crear Nuevo Producto
1.3.- ingreso los datos requeridos por el sistema.1.4.- guardo los datos del Producto2.1.- Busco al Producto por su código.2.3.- Modifico los datos.2.4.- Presiono botón Modificar.3.1.- Busco al Producto por su código.3.3.- Presiono botón Eliminar.
Acciones del sistema 1.2.- genera el código automáticamente1.5.- Valida los datos.1.6.- Guarda los datos del Producto.2.2.- busca y muestra los datos del Producto.2.5.- valida y guarda los datos actualizados del Producto.3.2.- busca y muestra los datos del Producto.3.3.- Elimina al Producto.
Curso Alternativo o Alterno
1.4,2.4.- error al introducir los datos del Producto2.1,3.1.- no existe ese código en el sistema
Interfaz del Prototipo:
7 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
CU4: Gestionar Tipo Venta
Gestionar Tipo Venta
Administrador
Caso de Uso CU4: Gestionar Tipo VentaActores AdministradorActor Iniciador AdministradorPre-Condiciones NingunoPost-Condiciones Asignar Tipo Venta a una Edición.Resumen Administrar datos de las Tipo Ventas, donde se llevaran a cabo los cursos.Acciones del Actor 1.1.- Solicita crear Nuevo Tipo Venta
1.3.- ingreso los datos requeridos por el sistema y Presiono Guardar.2.1.- Selecciono el Tipo Venta de la lista y Modifico los datos.2.2.- Presiono botón Modificar.3.1.- Selecciono el Tema de la lista y Presiono botón Eliminar.
Acciones del sistema 1.2.- genera el código automáticamente1.5.- Valida los datos y Guarda los datos del Tipo Venta.2.3.- valida y Modifica los datos actualizados del Tipo Venta.3.3.- Elimina al Tipo Venta.
Curso Alternativo o Alterno
1.5 error al introducir los datos del Tipo Venta2.2,3.1.- no existe ese código en el sistema
8 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1Interfaz del Prototipo:
CU5: Registrar Pedido
Registrar Pedido
Empleado
Caso de Uso CU5: Registrar PedidoActores EmpleadoActor Iniciador EmpleadoPre-Condiciones Gestionar Cliente, Gestionar Empleado, Gestionar Producto,
Gestionar TipoVentaPost-Condiciones NingunoResumen Registrar los datos necesarios para crear la Pedido de un ProductoAcciones del Actor 1.1.- Solicita crear Nueva Pedido
1.3.-ingreso los datos requeridos por el sistema.1.4.- Buscar y seleccionar datos del cliente, empleado y tipo venta.1.5.- Introducir los productos para registrar el pedido.1.6.- guardo los datos la Pedido
Acciones del sistema 1.2.- genera el código automáticamente1.6.- Valida los datos.1.7.- Guarda los datos la Pedido.
Curso Alternativo o Alterno
1.6.- error al introducir los datos la Pedido.
9 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1Interfaz del Prototipo PedidoMovil:
10 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
Interfaz del Prototipo PedidoEscritorio:
11 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
1.5. DIAGRAMA GENERAL DE CASOS DE USO
Gestionar Cliente
Gestionar Producto
Gestionar Tipo Venta
Registrar Pedido
Gestionar Empleado
Empleado
Adminstrador
<<include>>
<<include>>
<<include>>
<<include>>
Cliente
12 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
REQUISITOS NO FUNCIONALES:
El software será Preciso, ya que contamos con la precisión que el SGBD MySQL nos ofrece, el cual nos brinda el almacenamiento, como en la obtención de información gracias a las consultas que se efectúan constantemente en los formularios y en las transacciones de estas.
El software será recuperable, ya que el sistema cuenta con un plan de contingencia, la cual no tiene dificultad alguna para volver a funcionar en posibles fallas inesperadas
El software trabajara aprovechando el adecuado uso de recursos del sistemas para que de esta manera sea eficiente
Sera de uso portable, ya que se podrá adaptar a diferentes cambios de recursos
El Software será de fácil mantenimiento, ya que contara con un modulo para diagnosticar posibles fallas, y realizar cambios necesarios al software
REQUISITOS DE RESTRICCION:
Tiempo: El tiempo de Desarrollo estimado para el desarrollo de software estará indefinido momentáneamente, ya que está en constante implementación por las necesidades del propietario de la empresa P&N SA.
Pero para el desarrollo de prototipo se espera poder obtenerlo en función de un semestre, con el cual se obtendrá algunos módulos de los puntos establecidos para el completo desarrollo del sistema.
Costo: El costo estimado para el desarrollo de software, basado en tablas de recursos y estimaciones es de “1.000 $us.”
Recursos : Este software será desarrollado mediante las siguientes herramientas Plataforma: se desarrollara en el sistema operativo Windows XP x86 IDE: NetBeans 6.9.1 con el lenguaje JAVA SGBD: El gestor de base de datos será MySQL Case: StarUML para el modelo de diagramas de UML
13 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
2. FLUJO DE TRABAJO: ANALISIS
14 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
2.1. Análisis de la Arquitectura
2.1.1. Identificar Paquetes
Adm PedidosAdm Recursos
2.1.2. Identificar Casos de Uso por Paquete
Paquete Adm Recursos:
Adm Recursos
Gestionar Empleado
Gestionar Tipo Venta
Gestionar Producto
<<trace>>
<<trace>>
<<trace>>
15 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1Adm Recursos
Gestionar Empleado
Gestionar Tipo Venta
Gestionar Producto
Administrador
Paquete Adm Pedidos:
Adm Pedidos
Gestionar Cliente
Registrar Pedido
<<trace>>
<<trace>>
16 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1Adm Pedidos
Empleado
Registrar Pedido
Gestionar Cliente
<<include>>
Gestionar Producto
Gestionar Tipo Venta
Gestionar Empleado
<<include>>
<<include>>
<<include>>
2.2. Análisis de Casos de Uso
2.2.1. Diagramas de ColaboraciónCU1. Gestionar Empleado
CU2. Gestionar Cliente
CU3. Gestionar Producto
17 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
CU4. Gestionar Tipo Venta
CU5. Registrar Pedido
2.3. Análisis de Paquetes
Adm RecursosAdm Pedidos
18 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
3. FLUJO DE TRABAJO: DISEÑO
3.1. Diseño de la Arquitectura3.1.1. Escenario del Usuario y Subsistemas
19 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
Sistema de Pedidos de P&N SA.
Adm Recursos
Adm PedidosUsuario
USUARIOS
Administrador: es el usuario encargado de registrar toda la información relacionada que se maneja sobre los cursos que imparte la empresa
Empleado: Es el usuario encargado de Registrar las inscripciones y notas sobre los cursos que imparte la empresa
3.1.2. Arquitectura Física del Subsistema
MySQL<<Base Datos>>
Pedidos_Movil<<Cliente>>
Pedidos
Usuario
Pedidos_WServidor<<Servidor>>
Pedidos_Escritorio<<Cliente>>
Presentacion
<<conexion>>
<<conexion>>
Modelo
Servicios
Negocio
Datos
Empleado
Diagrama de Despliegue
3.1.3. Arquitectura Lógica del Subsistema
20 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
Pedidos_Escritorio: Presentacion<<Cliente>>
IEmpleado<<form>>
IPedido<<form>>
ICliente<<form>>
ITipoVenta<<form>>
IProducto<<form>>
Servidor
Servicios
WSEmpleado<<Web Service>>
WSCliente<<Web Service>>
WSProducto<<Web Service>>
WSTipoVenta<<Web Service>>
WSPedido<<Web Service>>
Modelo
Negocio
NCliente<<class>>
NTipoVenta<<class>>
NProducto<<class>>
NEmpleado<<class>>
NPedido<<class>>
Datos
Pedido<<class>>
Cliente<<class>>
TipoVenta<<class>>
Producto<<class>>
Empleado<<class>>
DetallePedido<<class>>
HibernateUtil<<class>>
Pedidos_Movil: Pedidos<<Cliente>>
FrmPedido<<form>>
FrmCliente<<form>>
21 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.13.2. Diseño de casos de uso
3.2.1. Diagrama de Secuencia y Diagrama Parcial de Clases
CU1. Gestionar Empleado
22 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
class Empleado
javax.swing.JFrame
IEmpleado
~ empleadows: WSEmpleado- D_FechaIngreso: datechooser.beans.DateChooserCombo- Listar: javax.swing.JTable- RB_Sexo_Femenino: javax.swing.JRadioButton- RB_Sexo_Masculino: javax.swing.JRadioButton- TF_CI: javax.swing.JTextField- TF_Cod: javax.swing.JTextField- TF_Direccion: javax.swing.JTextField- TF_Nombre: javax.swing.JTextField- TF_Telefono: javax.swing.JTextField- btnEliminar: javax.swing.JButton- btnModificar: javax.swing.JButton- btnNuevo: javax.swing.JButton- btnRegistrar: javax.swing.JButton- btnSalir: javax.swing.JButton
+ IEmpleado()- initComponents() : void- btnNuevoActionPerformed(java.awt.event.ActionEvent) : void- btnRegistrarActionPerformed(java.awt.event.ActionEvent) : void- btnModificarActionPerformed(java.awt.event.ActionEvent) : void- btnEliminarActionPerformed(java.awt.event.ActionEvent) : void- btnSalirActionPerformed(java.awt.event.ActionEvent) : void- ListarMouseClicked(java.awt.event.MouseEvent) : void+ main(String[]) : void+ Nuevo() : void+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ Listar() : void+ validar() : boolean+ ObtenerCantFilas(String) : int+ getFecha(DateChooserCombo) : String+ setFecha(DateChooserCombo, String) : void+ obtenerFechadelSistema(DateChooserCombo) : void
WSEmpleado
~ cempleado: CEmpleado = new CEmpleado()
+ nuevoEmpleado() : int+ insertarEmpleado(int, String, int, String, String, String, int) : void+ modificarEmpleado(int, String, int, String, String, String, int) : void+ eliminarEmpleado(int) : void+ l istEmpleados() : String+ listNombresEmpleados() : String+ obtCodEmpleado(String) : int+ obtNombreEmpleado(int) : String
CEmpleado
~ empleado: Empleado = new Empleado()
+ CEmpleado()+ NuevoCodEmpleado() : int+ RegistrarEmpleado(int, String, int, String, String, String, int) : void+ ModificarEmpleado(int, String, int, String, String, String, int) : void+ EliminarEmpleado(int) : void+ ListarEmpleados() : String+ ListarNombresEmpleados() : String+ ObtenerCodEmpleado(String) : int+ ObtenerNombreEmpleado(int) : String+ ValidarEmpleado(String) : boolean
Empleado
- cod: int- nombre: String- ci: int- sexo: String- fechaI: String- dir: String- telef: int- estado: int- conexion: Conexion- sta: Statement
+ Empleado()+ Empleado(Conexion)+ getCi() : int+ setCi(int) : void+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getDir() : String+ setDir(String) : void+ getEstado() : int+ setEstado(int) : void+ getFechaI() : String+ setFechaI(String) : void+ getNombre() : String+ setNombre(String) : void+ getSexo() : String+ setSexo(String) : void+ getSta() : Statement+ setSta(Statement) : void+ getTelef() : int+ setTelef(int) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerEmpleados() : String+ ObtenerTodoEmpleados() : String+ toString() : String- CargarDatos(ResultSet) : void
Conexion
+ DRIVER: String = "com.mysql.jdbc...+ BASEDEDATOS: String = "jdbc:mysql://l...+ USUARIO: String = "root"+ PASSWORD: String = ""- con: Connection- res: ResultSet- sta: Statement
+ Conexion()+ conectar() : void+ desconectar() : void+ getCon() : Connection+ setCon(Connection) : void+ getRes() : ResultSet+ setRes(ResultSet) : void+ getSta() : Statement+ setSta(Statement) : void+ CantidadTuplas(String) : int+ main(String[]) : void
+conexion
+empleado
+cempleado
+empleadows
23 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
CU2. Gestionar Cliente
24 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
25 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
class Cliente
Cliente
- cod: int- nombre: String- ci: int- dir: String- telef: int- estado: int- conexion: Conexion- sta: Statement
+ Cliente()+ Cliente(Conexion)+ getCi() : int+ setCi(int) : void+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getDir() : String+ setDir(String) : void+ getEstado() : int+ setEstado(int) : void+ getNombre() : String+ setNombre(String) : void+ getTelef() : int+ setTelef(int) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ Listar() : String+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerClientes() : String- CargarDatos(ResultSet) : void+ toString() : String
CCliente
- cliente: Cliente
+ CCliente()+ NuevoCodCliente() : int+ RegistrarCliente(int, String, int, String, int) : void+ ModificarCliente(int, String, int, String, int) : void+ EliminarCliente(int) : void+ ListarClientes() : String+ ObtenerCliente(int) : String+ ListarNombresClientes() : String+ ObtenerCodCliente(String) : int+ ObtenerNombreCliente(int) : String+ ValidarCliente(String) : boolean
WSCliente
~ ncliente: CCliente = new CCliente()
+ nuevoCliente() : int+ insertarCliente(int, String, int, String, int) : void+ modificarCliente(int, String, int, String, int) : void+ eliminarCliente(int) : void+ ListClientes() : String+ ListNombresClientes() : String+ obtCliente(int) : String+ obtCodCliente(String) : int+ obtNombreCliente(int) : String
javax.swing.JFrame
ICliente
~ clientews: WSCliente- Listar: javax.swing.JTable- TF_CI: javax.swing.JTextField- TF_Cod: javax.swing.JTextField- TF_Direccion: javax.swing.JTextField- TF_Nombre: javax.swing.JTextField- TF_Telefono: javax.swing.JTextField- btnEliminar: javax.swing.JButton- btnModificar: javax.swing.JButton- btnNuevo: javax.swing.JButton- btnRegistrar: javax.swing.JButton- btnSalir: javax.swing.JButton
+ ICliente()- initComponents() : void- btnNuevoActionPerformed(java.awt.event.ActionEvent) : void- btnRegistrarActionPerformed(java.awt.event.ActionEvent) : void- btnModificarActionPerformed(java.awt.event.ActionEvent) : void- btnEliminarActionPerformed(java.awt.event.ActionEvent) : void- btnSalirActionPerformed(java.awt.event.ActionEvent) : void- ListarMouseClicked(java.awt.event.MouseEvent) : void+ main(String[]) : void+ Nuevo() : void+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ Listar() : void+ validar() : boolean+ ObtenerCantFilas(String) : int
MIDletCommandListener
Pedidos: FrmCliente
+ wc: WebToMobileClient = new WebToMobile...- midletPaused: boolean = false- exitCommand: Command- RegistrarCliente: Command- BuscarCliente: Command- EliminarCliente: Command- ModificarCliente: Command- okCommand: Command- Atras: Command- exitCommand1: Command- okListarCliente: Command- MenuCliente: List- FrmCliente: Form- TF_Nombre: TextField- TF_CI: TextField- TF_Cod: TextField- TF_Telefono: TextField- TF_Direccion: TextField- ListarClientes: Form- tableItem1: TableItem
+ Pedidos()- initialize() : void+ startMIDlet() : void+ resumeMIDlet() : void+ switchDisplayable(Alert, Displayable) : void+ commandAction(Command, Displayable) : void+ getExitCommand() : Command+ MenuPrincipalAction() : void+ «property get» getMenuCliente() : List+ MenuClienteAction() : void+ «property get» getFrmCliente() : Form+ «property get» getTF_Cod() : TextField+ «property get» getTF_Nombre() : TextField+ «property get» getTF_CI() : TextField+ «property get» getTF_Direccion() : TextField+ «property get» getTF_Telefono() : TextField+ «property get» getBuscarCliente() : Command+ «property get» getRegistrarCliente() : Command+ «property get» getModificarCliente() : Command+ «property get» getEliminarCliente() : Command+ «property get» getAtras() : Command+ «property get» getListarClientes() : Form+ getOkCommand() : Command+ getExitCommand1() : Command+ getOkListarCliente() : Command+ getDisplay() : Display+ exitMIDlet() : void+ startApp() : void+ pauseApp() : void+ destroyApp(boolean) : void+ validar() : boolean+ ObtenerCantFilas(String) : int
Conexion
+ DRIVER: String = "com.mysql.jdbc...+ BASEDEDATOS: String = "jdbc:mysql://l...+ USUARIO: String = "root"+ PASSWORD: String = ""- con: Connection- res: ResultSet- sta: Statement
+ Conexion()+ conectar() : void+ desconectar() : void+ getCon() : Connection+ setCon(Connection) : void+ getRes() : ResultSet+ setRes(ResultSet) : void+ getSta() : Statement+ setSta(Statement) : void+ CantidadTuplas(String) : int+ main(String[]) : void
~clientews
~ncliente
-cliente -conexion
26 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
CU3. Gestionar Producto
27 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
class Producto
WSProducto
~ cproducto: CProducto = new CProducto()
+ nuevoProducto() : int+ insertarProducto(int, String, int, float) : void+ modificarProducto(int, String, int, float) : void+ eliminarProducto(int) : void+ listProductos() : String+ listNombresProducto() : String+ obtCodProducto(String) : int+ obtNombreProducto(int) : String+ obtProducto(String) : String
CProducto
~ producto: Producto = new Producto()
+ CProducto()+ NuevoCodProducto() : int+ RegistrarProducto(int, String, int, float) : void+ ModificarProducto(int, String, int, float) : void+ EliminarProducto(int) : void+ ListarProductos() : String+ ListarNombresProducto() : String+ ObtenerCodProducto(String) : int+ ObtenerNombreProducto(int) : String+ ObtenerProducto(String) : String
Producto
- cod: int- nombre: String- cantidad: int- precioV: float- estado: int- conexion: Conexion- sta: Statement
+ Producto()+ Producto(Conexion)+ getCantidad() : int+ setCantidad(int) : void+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getEstado() : int+ setEstado(int) : void+ getNombre() : String+ setNombre(String) : void+ getPrecioV() : float+ setPrecioV(float) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerProductos() : String+ ObtenerTodoProductos() : String- CargarDatos(ResultSet) : void+ toString() : String
javax.swing.JFrame
IProducto
~ productows: WSProducto- Listar: javax.swing.JTable- TF_Cantidad: javax.swing.JTextField- TF_Cod: javax.swing.JTextField- TF_Nombre: javax.swing.JTextField- TF_PrecioV: javax.swing.JTextField- btnEliminar: javax.swing.JButton- btnModificar: javax.swing.JButton- btnNuevo: javax.swing.JButton- btnRegistrar: javax.swing.JButton- btnSalir: javax.swing.JButton
+ IProducto()- initComponents() : void- btnNuevoActionPerformed(java.awt.event.ActionEvent) : void- btnRegistrarActionPerformed(java.awt.event.ActionEvent) : void- btnModificarActionPerformed(java.awt.event.ActionEvent) : void- btnEliminarActionPerformed(java.awt.event.ActionEvent) : void- btnSalirActionPerformed(java.awt.event.ActionEvent) : void- ListarMouseClicked(java.awt.event.MouseEvent) : void+ main(String[]) : void+ Nuevo() : void+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ Listar() : void+ validar() : boolean+ ObtenerCantFilas(String) : int
Conexion
+ DRIVER: String = "com.mysql.jdbc...+ BASEDEDATOS: String = "jdbc:mysql://l...+ USUARIO: String = "root"+ PASSWORD: String = ""- con: Connection- res: ResultSet- sta: Statement
+ Conexion()+ conectar() : void+ desconectar() : void+ getCon() : Connection+ setCon(Connection) : void+ getRes() : ResultSet+ setRes(ResultSet) : void+ getSta() : Statement+ setSta(Statement) : void+ CantidadTuplas(String) : int+ main(String[]) : void
~productows
+producto
+cproducto
-conexion
28 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
CU4. Gestionar Tipo Venta
29 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
class TipoVenta
Conexion
+ DRIVER: String = "com.mysql.jdbc...+ BASEDEDATOS: String = "jdbc:mysql://l...+ USUARIO: String = "root"+ PASSWORD: String = ""- con: Connection- res: ResultSet- sta: Statement
+ Conexion()+ conectar() : void+ desconectar() : void+ getCon() : Connection+ setCon(Connection) : void+ getRes() : ResultSet+ setRes(ResultSet) : void+ getSta() : Statement+ setSta(Statement) : void+ CantidadTuplas(String) : int+ main(String[]) : void
javax.swing.JFrame
ITipoVenta
~ tipoventaws: WSTipoVenta- JTextField11: javax.swing.JLabel- Listar: javax.swing.JTable- TF_Cod: javax.swing.JTextField- TF_Descripcion: javax.swing.JTextField- TF_Interes: javax.swing.JTextField- TF_Nombre: javax.swing.JTextField- TF_Plazo: javax.swing.JTextField- btnEliminar: javax.swing.JButton- btnModificar: javax.swing.JButton- btnNuevo: javax.swing.JButton- btnRegistrar: javax.swing.JButton- btnSalir: javax.swing.JButton
+ ITipoVenta()- initComponents() : void- btnNuevoActionPerformed(java.awt.event.ActionEvent) : void- btnRegistrarActionPerformed(java.awt.event.ActionEvent) : void- btnModificarActionPerformed(java.awt.event.ActionEvent) : void- btnEliminarActionPerformed(java.awt.event.ActionEvent) : void- btnSalirActionPerformed(java.awt.event.ActionEvent) : void- ListarMouseClicked(java.awt.event.MouseEvent) : void+ main(String[]) : void+ Nuevo() : void+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ Listar() : void+ ObtenerCantFilas(String) : int+ validar() : boolean
WSTipoVenta
~ ctv: CTipoVenta = new CTipoVenta()
+ nuevoTV() : int+ insertarTV(int, String, String, int, String) : void+ modificarTV(int, String, String, int, String) : void+ eliminarTV(int) : void+ listTV() : String+ listNombresTV() : String+ obtCodTV(String) : int+ obtNombreTV(int) : String
TipoVenta
- cod: int- nombre: String- descripcion: String- interes: int- plazo: String- estado: int- conexion: Conexion- sta: Statement
+ TipoVenta()+ TipoVenta(Conexion)+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getDescripcion() : String+ setDescripcion(String) : void+ getEstado() : int+ setEstado(int) : void+ getInteres() : int+ setInteres(int) : void+ getNombre() : String+ setNombre(String) : void+ getPlazo() : String+ setPlazo(String) : void+ getSta() : Statement+ setSta(Statement) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerTipoVentas() : String+ Listar() : String- CargarDatos(ResultSet) : void+ toString() : String
CTipoVenta
~ tipoVenta: TipoVenta = new TipoVenta()
+ CTipoVenta()+ NuevoCodTipoVenta() : int+ RegistrarTipoVenta(int, String, String, int, String) : void+ ModificarTipoVenta(int, String, String, int, String) : void+ EliminarTipoVenta(int) : void+ ListarTipoVentas() : String+ ListarNombresTipoVentas() : String+ ObtenerCodTipoVenta(String) : int+ ObtenerNombreTipoVenta(int) : String
+tipoVenta
-conexion
+ctv
+tipoventaws
30 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
CU5. Registrar Pedido
31 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
32 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
class Pedido
Pedido
- cod: int- codClie: int- codEmp: int- fechaPedido: String- fechaEntrega: String- codTV: int- monto: float- obs: String- conexion: Conexion- sta: Statement
+ Pedido()+ Pedido(Conexion)+ getCod() : int+ setCod(int) : void+ getCodClie() : int+ setCodClie(int) : void+ getCodEmp() : int+ setCodEmp(int) : void+ getCodTV() : int+ setCodTV(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getFechaEntrega() : String+ setFechaEntrega(String) : void+ getFechaPedido() : String+ setFechaPedido(String) : void+ getMonto() : float+ setMonto(float) : void+ getObs() : String+ setObs(String) : void+ NuevoCod() : int+ Registrar() : void+ Listar() : String- CargarDatos(ResultSet) : void+ getDate(String) : Date+ toString() : String
CPedido
- pedido: Pedido- detallePedido: DetallePedido
+ CPedido()+ NuevoCodPedido() : int+ RegistrarPedido(int, int, int, String, String, int, float, String) : void+ NuevoCodDetallePedido() : int+ RegistrarDetallePedido(int, int, int, int, float) : void+ ListarPedidos() : String+ main(String[]) : void
WSPedidos
~ cpedido: CPedido = new CPedido()
+ nuevoPedido() : int+ insertarPedido(int, int, int, String, String, int, float, String) : void+ insertarDetallePedido(int, int, int, float) : void+ listPedidos() : String
javax.swing.JFrame
IPedido
~ pedido: WSPedidos~ cliente: WSCliente~ empleado: WSEmpleado~ tipoVenta: WSTipoVenta~ producto: WSProducto- CB_Clientes: javax.swing.JComboBox- CB_Empleados: javax.swing.JComboBox- CB_Producto: javax.swing.JComboBox- CB_tipoVenta: javax.swing.JComboBox- JTextField11: javax.swing.JLabel- Listar: javax.swing.JTable- ListarDetalle: javax.swing.JTable- TF_Cod: javax.swing.JTextField- TF_FechaE: javax.swing.JTextField- TF_FechaP: javax.swing.JTextField- TF_monto: javax.swing.JTextField- TF_obs: javax.swing.JTextField- btnAddProducto: javax.swing.JButton- btnNuevo: javax.swing.JButton- btnRegistrar: javax.swing.JButton- btnSalir: javax.swing.JButton
+ IPedido()- initComponents() : void- btnNuevoActionPerformed(java.awt.event.ActionEvent) : void- btnRegistrarActionPerformed(java.awt.event.ActionEvent) : void- btnSalirActionPerformed(java.awt.event.ActionEvent) : void- ListarMouseClicked(java.awt.event.MouseEvent) : void- ListarDetalleMouseClicked(java.awt.event.MouseEvent) : void- btnAddProductoActionPerformed(java.awt.event.ActionEvent) : void- ListarDetalleKeyReleased(java.awt.event.KeyEvent) : void+ main(String[]) : void+ Nuevo() : void+ Registrar() : void+ Listar() : void+ CargarCombos() : void+ obtenerFechadelSistema() : String+ ObtenerCantFilas(String) : int- validar() : boolean
MIDletCommandListener
Pedidos
+ wc: WebToMobileClient = new WebToMobile...- midletPaused: boolean = false- exitCommand: Command- LimpiarDetalle: Command- SeleccionarProducto: Command- RegistrarPedido: Command- cancelCommand: Command- backListPedidos: Command- okListPedidos: Command- okalertSelecCliente: Command- okAlertRegPedido: Command- backFrmPedido: Command- okAddProducto: Command- cancelAddProducto: Command- backCommand: Command- okAlertGuardar: Command- okCommand1: Command- MenuPrincipal: List- MenuPedidos: List- FrmPedido: Form- CG_Cliente: ChoiceGroup- TF_CodPedido: TextField- CG_TipoVenta: ChoiceGroup- TF_FechaE: TextField- TF_FechaP: TextField- TF_Empleado: TextField- TF_Obs: TextField- TF_MontoTotal: TextField- tableItem: TableItem- ListarPedidos: Form- tableItem2: TableItem- AddProducto: Form- CG_Producto1: ChoiceGroup- TF_Cantidad: TextField- alertRegistrarPedido: Alert- tableModel3: SimpleTableModel- tableModel2: SimpleTableModel
+ Pedidos()- initialize() : void+ startMIDlet() : void+ resumeMIDlet() : void+ switchDisplayable(Alert, Displayable) : void+ commandAction(Command, Displayable) : void+ getExitCommand() : Command+ «property get» getMenuPrincipal() : List+ MenuPrincipalAction() : void+ «property get» getMenuPedidos() : List+ MenuPedidosAction() : void+ getOkAlertListprod() : Command+ «property get» getSeleccionarProducto() : Command+ «property get» getLimpiarDetalle() : Command+ «property get» getFrmPedido() : Form+ «property get» getTF_CodPedido() : TextField+ «property get» getCG_Cliente() : ChoiceGroup+ «property get» getTF_Empleado() : TextField+ «property get» getTF_FechaP() : TextField+ «property get» getTF_FechaE() : TextField+ «property get» getCG_TipoVenta() : ChoiceGroup+ getTableItem() : TableItem+ «property get» getTF_MontoTotal() : TextField+ «property get» getTF_Obs() : TextField+ getTableModel1() : SimpleTableModel+ getCancelCommand() : Command+ «property get» getRegistrarPedido() : Command+ getOkListPedidos() : Command+ getBackListPedidos() : Command+ getOkAlertRegPedido() : Command+ «property get» getListarPedidos() : Form+ getAlertRegistrarPedido() : Alert+ getOkAddProducto() : Command+ getBackCommand() : Command+ getCancelAddProducto() : Command+ «property get» getAddProducto() : Form+ «property get» getCG_Producto1() : ChoiceGroup+ «property get» getTF_Cantidad() : TextField+ getBackFrmPedido() : Command+ getOkAlertGuardar() : Command+ getTableItem2() : TableItem+ getTableModel3() : SimpleTableModel+ getDisplay() : Display+ exitMIDlet() : void+ startApp() : void+ pauseApp() : void+ destroyApp(boolean) : void+ CargarCombos() : void+ obtenerFechadelSistema() : String+ ObtenerCantFilas(String) : int+ LimpiarPedido() : void+ LimpiarDetalle() : void
DetallePedido
- cod: int- codPed: int- codProd: int- cantidad: int- montoP: float- conexion: Conexion- sta: Statement
+ DetallePedido()+ getCantidad() : int+ setCantidad(int) : void+ getCod() : int+ setCod(int) : void+ getCodPed() : int+ setCodPed(int) : void+ getCodProd() : int+ setCodProd(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getMontoP() : float+ setMontoP(float) : void+ NuevoCod() : int+ Registrar() : void
Conexion
+ DRIVER: String = "com.mysql.jdbc...+ BASEDEDATOS: String = "jdbc:mysql://l...+ USUARIO: String = "root"+ PASSWORD: String = ""- con: Connection- res: ResultSet- sta: Statement
+ Conexion()+ conectar() : void+ desconectar() : void+ getCon() : Connection+ setCon(Connection) : void+ getRes() : ResultSet+ setRes(ResultSet) : void+ getSta() : Statement+ setSta(Statement) : void+ CantidadTuplas(String) : int+ main(String[]) : void
WSCliente
~ ncliente: CCliente = new CCliente()
+ nuevoCliente() : int+ insertarCliente(int, String, int, String, int) : void+ modificarCliente(int, String, int, String, int) : void+ eliminarCliente(int) : void+ ListClientes() : String+ ListNombresClientes() : String+ obtCliente(int) : String+ obtCodCliente(String) : int+ obtNombreCliente(int) : String
WSEmpleado
~ cempleado: CEmpleado = new CEmpleado()
+ nuevoEmpleado() : int+ insertarEmpleado(int, String, int, String, String, String, int) : void+ modificarEmpleado(int, String, int, String, String, String, int) : void+ eliminarEmpleado(int) : void+ listEmpleados() : String+ listNombresEmpleados() : String+ obtCodEmpleado(String) : int+ obtNombreEmpleado(int) : String
WSProducto
~ cproducto: CProducto = new CProducto()
+ nuevoProducto() : int+ insertarProducto(int, String, int, float) : void+ modificarProducto(int, String, int, float) : void+ eliminarProducto(int) : void+ listProductos() : String+ listNombresProducto() : String+ obtCodProducto(String) : int+ obtNombreProducto(int) : String+ obtProducto(String) : String
WSTipoVenta
~ ctv: CTipoVenta = new CTipoVenta()
+ nuevoTV() : int+ insertarTV(int, String, String, int, String) : void+ modificarTV(int, String, String, int, String) : void+ eliminarTV(int) : void+ listTV() : String+ listNombresTV() : String+ obtCodTV(String) : int+ obtNombreTV(int) : String
CCliente
- cliente: Cliente
+ CCliente()+ NuevoCodCliente() : int+ RegistrarCliente(int, String, int, String, int) : void+ ModificarCliente(int, String, int, String, int) : void+ EliminarCliente(int) : void+ ListarClientes() : String+ ObtenerCliente(int) : String+ ListarNombresClientes() : String+ ObtenerCodCliente(String) : int+ ObtenerNombreCliente(int) : String+ ValidarCliente(String) : boolean
CEmpleado
~ empleado: Empleado = new Empleado()
+ CEmpleado()+ NuevoCodEmpleado() : int+ RegistrarEmpleado(int, String, int, String, String, String, int) : void+ ModificarEmpleado(int, String, int, String, String, String, int) : void+ EliminarEmpleado(int) : void+ ListarEmpleados() : String+ ListarNombresEmpleados() : String+ ObtenerCodEmpleado(String) : int+ ObtenerNombreEmpleado(int) : String+ ValidarEmpleado(String) : boolean
CProducto
~ producto: Producto = new Producto()
+ CProducto()+ NuevoCodProducto() : int+ RegistrarProducto(int, String, int, float) : void+ ModificarProducto(int, String, int, float) : void+ EliminarProducto(int) : void+ ListarProductos() : String+ ListarNombresProducto() : String+ ObtenerCodProducto(String) : int+ ObtenerNombreProducto(int) : String+ ObtenerProducto(String) : String
CTipoVenta
~ tipoVenta: TipoVenta = new TipoVenta()
+ CTipoVenta()+ NuevoCodTipoVenta() : int+ RegistrarTipoVenta(int, String, String, int, String) : void+ ModificarTipoVenta(int, String, String, int, String) : void+ EliminarTipoVenta(int) : void+ ListarTipoVentas() : String+ ListarNombresTipoVentas() : String+ ObtenerCodTipoVenta(String) : int+ ObtenerNombreTipoVenta(int) : String
Cliente
- cod: int- nombre: String- ci: int- dir: String- telef: int- estado: int- conexion: Conexion- sta: Statement
+ Cliente()+ Cliente(Conexion)+ getCi() : int+ setCi(int) : void+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getDir() : String+ setDir(String) : void+ getEstado() : int+ setEstado(int) : void+ getNombre() : String+ setNombre(String) : void+ getTelef() : int+ setTelef(int) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ Listar() : String+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerClientes() : String- CargarDatos(ResultSet) : void+ toString() : String
Empleado
- cod: int- nombre: String- ci: int- sexo: String- fechaI: String- dir: String- telef: int- estado: int- conexion: Conexion- sta: Statement
+ Empleado()+ Empleado(Conexion)+ getCi() : int+ setCi(int) : void+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getDir() : String+ setDir(String) : void+ getEstado() : int+ setEstado(int) : void+ getFechaI() : String+ setFechaI(String) : void+ getNombre() : String+ setNombre(String) : void+ getSexo() : String+ setSexo(String) : void+ getSta() : Statement+ setSta(Statement) : void+ getTelef() : int+ setTelef(int) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerEmpleados() : String+ ObtenerTodoEmpleados() : String+ toString() : String- CargarDatos(ResultSet) : void
Producto
- cod: int- nombre: String- cantidad: int- precioV: float- estado: int- conexion: Conexion- sta: Statement
+ Producto()+ Producto(Conexion)+ getCantidad() : int+ setCantidad(int) : void+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getEstado() : int+ setEstado(int) : void+ getNombre() : String+ setNombre(String) : void+ getPrecioV() : float+ setPrecioV(float) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerProductos() : String+ ObtenerTodoProductos() : String- CargarDatos(ResultSet) : void+ toString() : String
TipoVenta
- cod: int- nombre: String- descripcion: String- interes: int- plazo: String- estado: int- conexion: Conexion- sta: Statement
+ TipoVenta()+ TipoVenta(Conexion)+ getCod() : int+ setCod(int) : void+ getConexion() : Conexion+ setConexion(Conexion) : void+ getDescripcion() : String+ setDescripcion(String) : void+ getEstado() : int+ setEstado(int) : void+ getInteres() : int+ setInteres(int) : void+ getNombre() : String+ setNombre(String) : void+ getPlazo() : String+ setPlazo(String) : void+ getSta() : Statement+ setSta(Statement) : void+ NuevoCod() : int+ Registrar() : void+ Modificar() : void+ Eliminar() : void+ ObtenerPorNombre(String) : void+ ObtenerPorCod(int) : void+ ObtenerTipoVentas() : String+ Listar() : String- CargarDatos(ResultSet) : void+ toString() : String
+detallePedido
~pedido
~cpedido
-pedido
-conexion
-conexion
~cliente
~empleado
~producto ~tipoVenta
~ncliente
+cempleado+cproducto
+ctv
-conexion
-cliente
+empleado
+conexion
-conexion
+producto+tipoVenta
-conexion
33 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1
3.3. Diseño de Datos
3.3.1. Diseño Lógico(a) Diagrama Final de Clases
class Class Mo...
EMPLEADO
- CI: int- COD: int- DIR: STRING- ESTADO: int- NOMBRE: STRING- SEXO: STRING- TEL: int
CLIENTE
- CI: int- COD: int- DIR: STRING- ESTADO: int- NOMBRE: STRING- TEL: int
TIPOVENTA
- COD: int- DESCRIPCION: STRING- ESTADO: int- INTERES: int- NOMBRE: STRING- PLAZO: STRING
PRODUCTO
- CANTIDAD: int- COD: int- ESTADO: int- NOMBRE: STRING- PRECIOV: int
PEDIDO
- COD: int- CODCLIE: int- CODEMP: int- CODTV: int- FECHAENTREGA: DATE- FECHAPEDIDO: DATE- MONTO: FLOAT- OBS: STRING
DETALLEPEDIDO
- CANTIDAD: int- COD: int- CODPED: int- CODPROD: int- MONTOP: FLOAT
1..* 1..*
1..*
ESTA
1
1 1..*
0..*
1
(b) MapeoEmpleadoCód Nombre CI Sex
oFechaI Dirección tel Estado
ClienteCód Nombre CI Dir tel Estado
TipoVentaCód Nombr
edescripción Interes Plaz
oEstado
ProductoCód Nombr
eCantidad preciov estado
PedidoCód codclie codemp Fechapedido Fechaentrega codt monto obs
34 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1v
Detalle PedidoCód codped codprod Cantida
dMontop
3.3.2. Diseño Físico(a) Tabla de Volumen
EmpleadoNombre Tipo de Dato Amplitu
dLlave Descripción
Código Entero 5 PK Código del empleadoNombre Texto 50 Nombre del empleado
CI Entero 10 CI del empleadoSexo Texto 2 Seco del empleado
fechai Fecha 8 Fecha inicioDirecció
nTexto 20 Dirección de su domicilio
Teléfono Entero 8 Número de teléfonoestado entero 8 Estado activado
Cliente Nombre Tipo de Dato Amplitu
dLlave Descripción
Código Entero 5 PK Código del clienteNombre Texto 50 Nombre del cliente
CI Entero 10 CI del clienteDirecció
nTexto 20 Dirección de su domicilio
Teléfono Entero 8 Numero de teléfonoestado entero 8 Estado activado
Producto Nombre Tipo de Dato Amplitu
dLlave Descripción
Código Entero 5 PK Código del productoNombre Texto 50 Nombre del productoCantidad Entero 10 Cantidad de productopreciov entero 20 Precio venta
estado entero 8 Estado activadoTipo Venta
Nombre Tipo de Dato Amplitud Llave DescripciónCódigo Entero 5 PK Código del tipo ventaNombre Texto 50 Nombre del tipo venta
descripcio texto 20 Descripcion del tipo venta
35 INF552 - Arquitectura de Software
Sistema de Pedidos de Productos P&N SA. – Arquitectura SOA + Aplicación Móvil
PARCIAL 1.1n
interes texto 20 Interés de la tipoplazo Entero 8 Tiempo de pagoestado entero 8 Estado activado
Pedido Nombre Tipo de Dato Amplitud Llave DescripciónCódigo Entero 5 PK Código del pedido
Código cliente Entero 5 FK Código del clienteCódigo
empleadoEntero 5 FK Código del empleado
Código tipoventa Entero 5 FK Código de tipo ventaFecha pedido fecha 8 Fecha pedidoFecha entrega Fecha 8 Fecha entrega
monto flotante 8 Monto total
Detalle pedidoNombre Tipo de Dato Amplitu
dLlave Descripción
Código Entero 5 PK Código de detalle pedidoCódigo pedido Entero 5 FK Código del pedido
Código producto
Entero 5 FK Código del producto
Cantidad Entero 5 Cantidad del pedidomonto flotante 5 Monto a pagar
36 INF552 - Arquitectura de Software