Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HP - FLE - Segunda Carpeta
HP - FLE - Segunda Carpeta
Frigorífico La Estancia
Segunda Carpeta
VERSION 1.1
Curso: 4K2
Grupo 5:
Rodriguez Matias – 44696
Bianchi Hernán – 45173
Andrés Tabarelli – 42671
Arellano Víctor – 44964
Historial de revisiones
Día Versión Descripción Autor
Índice
1. Introducción 4
1.1 Definición global de la metodología adoptada 4
1.2 Definición en detalle del Workflow en cuestión 4
2. Modelo de Análisis 5
2.1 Diagrama de Colaboraciones 5
2.1.1 Registrar Cliente 5
2.1.2 Registrar Pedido 5
2.1.3 Reservar Materias Primas e Insumos 6
2.1.4 Registrar Producto 6
2.1.5 Registrar Lista de Precio 7
2.1.6 Seguimiento y Control de Orden de Producción 7
2.1.7 Generar Orden de Despacho 8
2.1.8 Registrar Entrega de Pedido 8
2.1.9 Registrar Objeto de Entidad Simple 9
2.1.10 Cancelar Nota de Pedido de Mercaderías 9
2.1.11 Cancelar Nota de Pedido de Materia Prima e Insumos 10
2.1.12 Cancelar Plan de Pago 10
3. Modelo de Diseño 11
3.1 Diagrama de clases refinado 11
3.2 Derivación a base de datos relacional 14
3.3 Diagrama de Estado de Clases 19
3.3.1 Clase: Orden de Producción 19
3.3.2 Clase: Orden de Compra 20
3.3.3 Clase: Cliente 21
3.3.4 Clase: Producto 22
3.3.5 Clase: Plan de Mantenimiento 23
3.3.6 Clase: Receta 24
3.4 Diagrama de componentes 25
3.5 Diagrama de Despliegue 26
3.6 Descripción de la implementación 26
3.6.1 Hardware 26
3.6.2 Software 26
3.6.3 Capacitación al personal 26
1. Introducción
En la presente etapa analizamos la información recuperada en la etapa anterior y diseñamos la solución
para el problema.
También modelamos los datos que realmente son necesarios mantener en registros y como se relacionan
éstos datos. Esto se logra mediante una herramienta de modelado llamada diagrama de clases que
organiza y relaciona los datos de manera que representa la estructura del negocio.
También definiremos en esta etapa el ambiente sobre el cual será implementada la solución definida.
1.1 Definición global de la metodología adoptada
La metodología de modelado que utilizamos en ésta etapa son los Modelos de Análisis y de Diseño. El
primero permite analizar la información recuperada en la etapa anterior y aclarar los conceptos para
inducirse al negocio y así plantear una mejor solución. El segundo modelo permite diseñar la solución al
problema encontrado, cubriendo todos los requerimientos establecidos de la mejor manera posible.
2. Modelo de Análisis
2.1 Diagrama de Colaboraciones
1: opcionRegistrarClien... 3: mailContacto
4: tomarRazonSocia... 5: razonSocial( )
6: tomarCuit( ) 7: cuit( )
8: tomarDocument... 9: documento( )
16: tomarSeleccionTipoCliente( ) 17: seleccionTipoCliente( )
18: tomarTelefono( ) 19: telefono( )
20: tomarMail( ) 21: mail( )
22: tomarSeleccionCiuda... 23: seleccionCiudad( ) 10: validarCliente()
24: tomarCalle( ) 25: calle( ) 12: buscarTipoCliente
26: tomarNumero( ) 27: numero( ) 14: buscarCiudad( )
28: tomarPiso( ) 29: piso( ) 42: crearCliente( )
30: tomarDepartament... 31: Departamento( ) 44: fin U-C( ) : Cliente
2: habilitarVentana() 11: existeCliente()
32: tomarApellidoContacto( ) 33: apellidoContacto( )
34: tomarNombreContact... 35: nombreContacto( )
36: tomarTelefonoContact... 37: telfonoContacto( )
38: tomarMailContacto( ) 39: mailContacto( )
40: confirmarCliente( ) 41: validaDatosIngresado... 13: mostrarNombre()
: PantallaRegistrarCliente
43: new()
: Ciudad
: Cliente
6: buscarCliente()
1: opcionRegistrarPedido() 9: buscarProducto( )
4: tomarDatoCliente(Cuit o Docume... 3: nuevoPedido() 11: buscarSucursa...
14: tomarSeleccionDeProduct... 5: datoCliente(Cuit o Docume... 22: buscarFormaDePago(Mo...
16: tomarCantidad( ) 15: Producto( ) 27: calcularInteres(Forma de Pago, Monto del Ped...
2: habilitarVentana() 17: cantidad( ) 28: calcularMontoTotal(Forma de Pago, Monto del Ped...
18: tomarSeleccionLugarDeEntreg...
20: tomarFechaEntrega( ) 19: lugarDeEntrega( ) 33: crearPedido( ) : Cliente
25: tomarSeleccionFormaDePag... 21: fechaEntrega( ) 35: fin U-C( )
31: confirmarPedido( ) 26: formaDePago( )
32: confirmaPedido( )
7: existeCliente()
: PantallaRegistrarPedido
24: mostrarFormasDePagos()
: Encargado de 29: mostrarInteres() 10: mostrarNombre
Ventas : Producto
30: mostrarMontoTotal( ) : GestorPedido
34: new()
23: mostrarNombre()
8: mostrarDat...
12: mostrarSucursales()
: Pedido
: Cliente
13: mostrarDatos()
: FormaDePago
: Sucursal
4: calcularCantidadComponentes(Pedido)
11: validarReserva()
13: actualizarStock()
15: fin del U-C( )
2: habilitarVentana() 6: ConocerProductos()
7: mostrarDatos()
: Pedido
1: opcionRegistrarPedido() 3: reservarComponentes() 5: conocerDetalle()
: PantallaRegistrarPedido : DetallePedido : Producto
8: conocerReceta()
9: conocerComponentes()
: Encargado de :
Ventas GestorReservaComponentes
10: mostrarCantidad()
12: mostrarCantidadActual() : Producto
14: reservar()
: Receta
: Componente
: Componente
4: buscarTipoProduc...
1: opcionRegistrarProd... 11: validarProducto( )
7: tomarNombr... 3: nuevoProducto()
8: nombre( ) 13: buscarTareas( )
9: tomarSeleccionTipoDeProduct... 24: buscarComponente...
16: tomarSeleccionDeTare... 2: habilitarVentana() 10: seleccionTipoDeProduct... : TipoProducto
18: tomarNumeroDeOrdenDelaT... 17: seleccionTarea( )
20: tomarDuracionDelaTare... 19: numeroDeOrdenDelaTare...
22: tomarDescripcion( ) 21: duracionDelaTarea( ) 5: mostrarNombre()
27: tomarSeleccionComponent... 23: descripcion( )
28: seleccionComponent... : Producto
: PantallaRegistrarProducto 12: existeProducto()
6: mostrarTiposDeProd...
: Encargado de 15: mostrarTareas(: )GestorProductos 14: mostrarNombre()
Produccion 26: mostrarComponente...
: Tarea
25: mostrarNombre()
: Componente
4: buscarTipoCliente()
8: buscarProducto( )
1: opcionRegistrarListadePrecio() : TipoCliente
2: habilitarVentana() 3: nuevaLista() 20: crearListaDePrecio( )
10: tomarTipoDeCliente( ) 22: finU-C( )
11: tipoCliente( ) : ListaDePrecio
12: tomarProducto( ) 13: producto( )
14: tomarPrecio( ) 15: precio( )
16: tomarComentario( ) 5: mostrarTipoCliente
17: comentario( )
18: confirmaLista( )
19: validaDatosIngresados( ) 7: existeParaTipoCliente
: Pantalla Registrar
Lista de Precio
6: existeListaPrecio
: Encargado de : Gestor Lista de
Administracion Precio : TipoCliente
21: new()
9: mostrarProducto
: Producto
: ListaDePrecio
4: buscarProducto
11: buscarOrdenProduccion( )
18: buscarPrimeraTarea( )
27: buscarEmpleados()
34: v alidarDatos( )
1: opcionSeguimientoy Control() 3: realizarSeguimiento()
36: f in de U-C( )
7: tomarFecha( ) 8: f echa( ) : Producto
9: tomarSeleccionProducto( ) 10: seleccionProducto( ) 5: mostrarNombre()
2: habilitarVentana()
16: opcionIniciarProduccion( ) 17: iniciarProduccion( )
28: mostrarNombre()
25: tomarSeleccionMaquina( ) 26: seleccionMaquina( )
30: tomarSeleccionEmpleado( ) 31: seleccionEmpleado( ) : Empleado
32: opcionIniciarTarea( ) 33: iniciarTarea( )
: PantallaSeguimientoy Control
12: estaCreada(f echa,producto)
19: v erPreparacion()
: OrdenDeProduccion
20: mostrarTareas()
21: mostrarNombre(Orden1)
: Producto
: Tarea
: Preparacion
22: mostrarMaquina()
23: mostrarNombre()
: Tarea : Maquina
4: buscarPedidos()
11: buscarEmpresaTransportista( )
17: generarOrdenDespacho( )
21: crearOrdenDespacho( )
24: fin del U-C( )
2: habilitarVentana()
1: opcionGenerarOrdenDespacho()
3: nuevaOrdenDespacho() : Pedido
9: tomarSeleccionPedido( ) 5: listo()
15: tomarSeleccionTransportista( ) 10: seleccionPedido( )
19: tom arConfirmacion( ) 16: seleccionTransportista( )
12: existe()
20: confirma( )
: PantallaGenerarOrdenDespacho
6: mostrarDatos()
8: mostrarDatosPedidosListos() : Transportista
: Encargado de 14: mostrarNombreEmpresasTransportista( ) : GestorOrdenDespacho
Deposito 18: mostrarDatosOrdenDespacho( )
7: mostrarDatos()
13: mostrarNombre()
: Pedido
22: new()
: DetallePedido
: Transportista 23: new()
: OrdenDespacho
:
DetalleOrdenDespacho
6: buscarPedido()
13: actulizarEstadoPedido(Entregado)
2: habilitarVentana() 15: fin del U-C( )
7: existePedido(Nro)
1: opcionRegistrarEntrega() 3: nuevaEntrega
4: tomarNumeroPedido( ) 5: numeroPedido( )
11: tomarEstadoPedido(Entregado) 12: estadoPedido(Entregado)
: Pedido
: PantallaRegistrarEntrega
8: mostrarDatos()
14: tomarEstado(Entregado)
: Encargado de 10: mostrarDatosPedido() : GestorEntregas
Administracion
9: mostrarDatos()
: Pedido
: DetallePedido
4: TomarDatosEntidad 6: ValidarDatosEntidad
1: OpcionRegistrarEntidad
: PantallaEntidad
3: NuevoObjetoEntidad 7: New
: ObjetoEntidad
1: OpcionCancelarPedidoMerc
12: Cancelar
3: CancelarPedidoMerc
9: MostrarDatosNota 7: BuscarNota
: PantallaCancelarPedidoMerc
: Encargado de Compras
:
GestorPedidosMercaderías 8: DatosNota
: Notas de Pedido
1: OpcionCancelarPedidoMP
12: Cancelar
3: CancelarPedidoMP
9: MostrarDatosNota 7: BuscarNota
: PantallaCancelarPedidoMP
: Encargado de Compras
: GestorPedidosMP
8: DatosNota
: Notas de Pedido
4: TomarNroPlan 6: ValidarDatosPlan
5: PlanPago
9: MostrarDatosPlan 7: BuscarPlan
: Encargado de Cobranzas : PantallaCancelarPlanPago
: GestorPlanPago
8: DatosPlan
: PlanPago
3. Modelo de Diseño
3.1 Diagrama de clases refinado
EncargadoDeVentas
legajo
fechaIngreso EncargadoDeAdministracion
nombre legajo
apellido fechaIngreso
tipoDocumento nombre
numeroDocumento apellido
domicilio tipoDocumento
telefono numeroDocumento
mail domicilio
estado telefono
mail
registrarVenta() estado
registrarPedido()
registrarCancelacionDePedido() registrarCuentaCorriente()
informarCancelacionDePedido() registrarPoliticaDePago()
registrarCliente() generarInformeDeEstadoDeCuentaCorriente()
actualizarDatosCliente() registrarTransportista()
registrarDevolucionDeProducto() generarInformeDeTransportistas()
generarInformeDeVentas()
generarInformeDeDevoluciones()
generarInformeDeClientes()
EncargadoDeCompras EncargadoDeCobranzas
EncargadoDeDeposito
legajo legajo
legajo fechaIngreso fechaIngreso
fechaIngreso nombre nombre
nombre apellido apellido
apellido tipoDocumento tipoDocumento
tipoDocumento numeroDocumento numeroDocumento
numeroDocumento domicilio domicilio
domicilio telefono telefono
telefono mail mail
mail estado estado
estado
registrarCompra() registrarCobro()
registrarMovimientosDeStock() registrarProveedor() registrarPlanDePago()
registrarPoliticaDeReposicion() registrarPedidoDeM.PeInsumos() generarInformeDeMorosos()
generarInformeDeStock() registrarPedidoDeMeracaderia() asignarPlanDePago()
registrarMateriasPrimas() cancelarPedidoDeM.PeInsumo() generarInformeDeCobros()
registrarInsumos() cancelarPedidoDeMercaderia() seguimientoDeCobros()
registrarMercaderia() generarInformeDeCompras() reclamoDeCobro()
generarInformeDeMovimientosDeStock()
informarFaltantesEnStock()
EncargadoDeProduccion
EncargadoDeMantenimiento
legajo
fechaIngreso legajo
nombre fechaIngreso
apellido nombre
tipoDocumento apellido
numeroDocumento tipoDocumento
domicilio numeroDocumento
telefono domicilio
mail telefono
estado mail
estado
registrarOrdenDeProduccion()
generarOrdenDeProduccion() registrarMantenimiento()
actualizarOrdenDeProduccion() asignarMantenimientoPreventivo()
registrarProducto() generarInfomeDeMantenimiento()
registrarReceta() informarFallas()
actulizarReceta()
registrarCapacidadDeProduccion()
actualizarProducto()
TipoCliente ListaPrecio
Componente
nombre fechaCreacion
Ciudad nombre
descripcion fechaUltimaModificacion
nombre tipo : TipoComponente
fechaCreacion comentario
codigoPostal descripcion
fechaUltimaModificacion detalle : DetalleLista
provincia : Provincia unidadMedida
comentario
estado proveedor : Proveedor
mostrarDatos()
precio
tomarNombre() metodosDeSeteo()
mostrarDatos() costoDeCompra
mostrarNombre() calcularAntiguedad()
metedosDeSeteo() precioUltimaCompra
tomarDescripcion() conocerDetalle()
conocerProvincia() cantidadAlaFecha
mostrarDescripcion()
consumoDiario
tomarComentario()
demandaAnual
mostrarComentario()
FormaDePago tasaAlmacenamiento
mostrarDatos() TipoComponente demoraReaprovisionamiento
calcularAntiguedad() fechaCreacion
nombre riesgoDemora
DetalleLista fechaUltimaModificacion
descripcion stockMaximo
producto : Producto montoMinimo
comentario stockMinimo
cantidad comentario
stockProteccion
precio interes
mostrarDatos() loteEconomico
nombre
metodosDeSeteo() stockValUltimaCompra
mostrarDatos() estado
fechaProximaReposicion
conocerProducto()
mostrarDatos()
mostrarDatos()
metodosDeSeteo()
conocerProveedor()
calcularAntiguedad()
conocerTipoProducto()
calcularStockMinimo()
Formulario Preparacion calcularStockMaximo()
tarea : Tarea calcularLoteEconomico()
fecha
orden calcularStockValorizado()
responsable : Empleado
tiempo calcularFechaReposicion()
hora TipoFormulario metodosDeSeteo()
descripcion
nombre mostrarDatos() calcularStockDeProteccion()
formulario : TipoFormulario
tipoMovimiento conocerTarea()
estado
metodosDeSeteo()
mostrarDatos() Descuento
mostrarDatos() fechaCreacion
metodosDeSeteo()
metodosDeSeteo() fechaUltimaModificacion
conocerEmpleado() Provincia
cliente : Cliente
conocerTipoFormulario() Contrato nombre
producto : Producto
calcularMontoTotal() (from Logical View) estado
porcentajeDescuento
fechaCreacion DetalleContrato
fechaInicio mostrarDatos()
producto : Producto mostrarDatos()
fechaFin metodosDeSeteo()
cantidad conocerCliente()
cliente : Cliente periodoEntrega conocerProducto()
DetalleFormulario formaDePago : FormaDePago calcularAntiguedad()
producto : Producto cuotas : Cuotas mostrarDatos()
componente : Componente detalle : DetalleContrato Zona(NoVa)
metodosDeSeteo()
cantidad interes conocerProducto() nombre
precio monto estado TipoMaquina
cantidadDias
nombre
mostrarDatos() mostrarDatos() limiteNorte
descripcion
metodosDeSeteo() conocerCliente() limiteSur
comentario
conocerProducto() conocerFormaDePago() limiteEste
conocerComponente() metodosDeSeteo() limiteOeste
mostrarDatos()
calcularImporteTotal() calcularAntiguedad() fechaCreacion
metedosDeSeteo()
conocerDetalleContrato() fechaUltimaModificacion
conocerCuotas()
mostrarDatos()
metodosDeSeteo()
mostrarLimites()
new()
Creada
realizar()
En
cancelar() Produccion
suspender()
terminar()
Cancelada Suspendida
habilitar()
Finalizada
new() Generada
pedir() cancelar()
recibir()
Recibida
pagar()
Pagada
new()
habilitar()
Registrado Suspendido
suspender()
enMora() darBaja()
Moroso DeBaja
darBaja()
new()
Definido
asignarReceta()
darBaja() darBaja()
producir()
De Baja
Produciendose
new() Definido
darBaja()
De Baja
aplicar()
darBaja()
darBaja()
Aplicado Cancelado
cancelar()
new()
Definida
asignar()
darBaja()
Dada de
Baja
Diagrama de Componentes
Frigorífico La Estancia
Presentación
ServiciosNegocio
DatosNegocio
Diagrama de Despliegue
Frigorífico La Estancia
preemptive
La implementación será realizada sobre una única computadora, ubicada en la oficina de la fábrica con las
siguientes características:
3.6.1 Hardware
3.6.2 Software
Windows XP Home/Professional
Durante los dos meses siguientes a la implementación se registrarán Logs de la aplicación para determinar
su funcionamiento y para la rápida detección de posibles fallas de funcionamiento. Pasado este período de
marcha blanca se considerará finalizado y se desactivará el sistema de logs de seguimiento.
Se dictarán cursos de capacitación por un total de 40 hs, dos semanas de clases de 4hs cada una, destinado
a cinco personas que la empresa elija, donde se mostrarán las distintas funcionalidades según los roles o
perfiles definidos.
De esta manera se podrá inducir al uso del sistema a las personas elegidas para que el uso del mismo sea
ameno y para que las mismas puedan capacitar a futuros usuarios.