Tutoria Final Sistema de Automatizacion de Negocios para Panaderias
-
Upload
jose-german-lumbano-clark -
Category
Documents
-
view
395 -
download
1
description
Transcript of Tutoria Final Sistema de Automatizacion de Negocios para Panaderias
Análisis y Diseño de Sistemas II UCSG
UNIVERSIDAD CATOLICA DE SANTIAGO DE GUAYAQUIL
TUTORIA FINAL COMPLETA DE:ANALISIS Y DISEÑO DE SISTEMAS II
TEMA GENERAL DEL PROYECTO:PROPUESTA DE AUTOMATIZACION PARA
NEGOCIO DE PANADERIAS
INTEGRANTES:JOSE TALLEDO AGUILAR
JOSÉ GERMAN LUMBANO CLARK
Fecha de Entrega: Jueves, 9 de febrero del 2012
CICLO: VI Ciclo; Nivel 350. PROFESOR(A): Ing. Lorgia Valencia Macías.CARRERA: Ing. en Sistemas Computacionales.
FACULTAD: Facultad de Ingeniería.
GUAYAQUIL - ECUADOR
SEMESTRE B2011
Ingeniería en Sistemas Computacionales 1
Análisis y Diseño de Sistemas II UCSG
INDICE
PANADERIA Y PASTELETRIA “BARCELONA”…..............................................3Antecedentes………………………………………………………..……………………..4Misión, visión, Organigrama, Objetivos……………………………………………….5Planteamiento de los problemas y de las oportunidades………………………….7Análisis del FODA………………………………………………………………………….9Objetivos del proyecto…………………………………………………………………..10Alcance del proyecto……………………………………………………………………11Determinación de la factibilidad………………………………………………………13Planeación y control de actividades………………………………………………….17Diagrama de Pert…………………………………………………………………………18Diagrama de Gantt……………………………………………………………………….19Diagrama DFD…………………………………………………………………………….20Encuestas………………………………………………………………………………….21Resultados de la Encuesta…………………………………………………………..…24Casos de uso: Definición de Casos de Uso y Actores……………………….……28Diagrama de Casos de Uso…………………………………………………………….29Descripción de Casos de Uso y Actores…………………………………………….30Descricion de 3 estilos: Shaller/Mellor, Wirfs-Brock, Rumbaugh………………37Lista de Objetos…………………………………………………………………………..50Diagrama de objetos…………………………………………………………………….52Bibliografía………………………………………………………………………………...53
Ingeniería en Sistemas Computacionales 2
Análisis y Diseño de Sistemas II UCSG
PANADERIA Y PASTELETRIA “BARCELONA”.
Ingeniería en Sistemas Computacionales 3
FICHA COMERCIAL
Dirección: Cuidad: Provincia: País: R.U.C: Teléfonos: Horarios: Propietario:
Av. Machala y Portete (Esq.) Guayaquil. Guayas.Ecuador.0954224514136(593) 42363738.05h30 a 23h00.Sr. Adrian Cárdenas.
Análisis y Diseño de Sistemas II UCSG
ANTECEDENTES.
En la ciudad de Guayaquil, tiempo atrás se ha venido incrementando los negocios de panadería y pastelerías debido a que se ha desarrollado el mercado por medio de la introducción de nuevos productos y nuevos conceptos en cuanto a los formatos de los locales.
Panadería y pastelería “Barcelona” ha sido el sabor preferido de la gente por 13 años mediante sus recetas practicas y el sabor de pan, además de la panadería, panadería y repostería; atraídos hacia muchos clientes.
Desde niño, el propietario el Señor Adrian Cárdenas, ha sido gente de trabajo, aprendió el oficio de panadero de su familia, además aprendió 4 módulos de negocios y productividad (2007). Cárdenas demostró todos sus conocimientos en este, el cual se ha dado conocer por su importante crecimiento en la ciudad, conquistando el paladar de los clientes.
Este negocio fue y es parte fundamental de las actividades desde sus inicios de creación, no solamente para los moradores aledaños a la panadería, si no, para el alcance de todos. Hasta hoy, aquí se elabora pan, tortas y otros postres de repostería para todo tipo del consumo, siguiendo la idea del propietario y su familia, además aprender algo útil para su futuro. Alguna vez se intentó vender pan a clientes externos, sin embargo, la calidad del pan no era suficientemente buena.
Existen más de 40 variedades con más de 15 estilos de preparar panes, pasteles y postres, se han catalogado como los favoritos para quienes lo buscan lo mejor de toda ocasión especial.
Como descripción nota cambiar este aspecto es justamente el propósito principal de este proyecto piloto. A partir de ahora, el trabajo de la panadería será orientada por un o una profesional del rubro, para mejorar la calidad de la enseñanza y por ende la calidad del pan, que también será ofrecido en venta a clientes externos. También serán elaboradas diferentes clases de pan, como por ejemplo, pan integral o de harina de maíz. Para alcanzar esto, es necesario modernizar la panadería, comprar máquinas, colocar azulejos en las paredes e instalar una salida de humo. Después de finalizar esta fase piloto de dos años debería lograr que la panadería sea autogestionada.
Ingeniería en Sistemas Computacionales 4
Análisis y Diseño de Sistemas II UCSG
MISIÓNOfrecer a nuestros clientes productos de la más alta calidad que satisfagan completamente sus necesidades. Nos esforzamos cada día por ser una empresa con carisma y ser reconocidos por nuestro buen trato hacia nuestros clientes para así crear un lazo duradero con ellos.
VISIÓNLlegar a ser una de las empresas líderes en la ciudad en venta y fabricación de productos pasteleros, panaderos y del hogar en general mediante el constante desarrollo de procesos y servicios que hagan de la panadería crecer rentablemente para el bienestar de sus trabajadores y accionistas.
ORGANIGRAMA.
OBJETIVOS.
OBJETIVO GENERAL: Ofrecer a nuestros clientes un servicio de calidad tanto en
nuestros productos como en la atención brindada, en imponer los precios accesibles y cómodos al alcance de su bolsillo, todo lo que esta panadería tiene para la clientela más que las otras panaderías de esta cuidad.
Conocer y analizar las posibles soluciones al plantearse los problemas sobre el negocio de la Panadería Barcelona, y después de mirar las soluciones más viables; diseñarlas y así encontrar la mejor solución para nuestro problema.
Ingeniería en Sistemas Computacionales 5
Análisis y Diseño de Sistemas II UCSG
OBJETIVOS ESPECIFICOS: Dar a conocer aspectos generales de la empresa, tales como
reseña histórica, plataforma estratégica (misión, visión, principios y objetivos comparativos) para así saber con lo que se cuenta en la empresa para la solución de dicho factor que está afectando la producción de la empresa.
Analizar los diferentes procesos productivos que se llevan a cabo en la empresa, para tener un conocimiento más claro de estos mismos y así determinar la mejor solución a nuestro problema.
Realizar diferentes análisis acerca de la ubicación de la empresa en el sector, comparando tanto el de alimentos como el panificador, teniendo en cuenta las dinámicas y estadísticas, para así obtener un conocimiento global de todo el sector y mirar si los factores externos nos pueden dar la solución a dicho problema. Como lo son la competencia, clientes, proveedores entre otros.
Ampliar la infraestructura e instalaciones del negocio logrando así poder brindar nuestros productos a una mayor cantidad de clientes.
Obtener una solución tecnológica (de preferencia web) que permita facilitar los procesos vitales del negocio como lo son el registro de datos y toma de decisiones.
Atraer nuevos clientes mediante la expansión tecnológica del negocio.
Incluir la opinión del gerente de la empresa y gerente de producción ya que su aporte al problema es de gran ayuda ya que ellos tienen el total conocimiento sobre la parte productiva de la organización.
PLANTEAMIENTO DE LOS PROBLEMAS Y OPORTUNIDADES
1. PLANTEAMIENTO GENERAL DEL PROBLEMA.
Ingeniería en Sistemas Computacionales 6
Análisis y Diseño de Sistemas II UCSG
“Panadería Barcelona” es un negocio familiar ubicado al sur de Guayaquil, con dirección en las calles Machala y Portete (esq.), esta panadería ya lleva alrededor de 13 años dentro de la industria panadera de la cuidad y gracias a esto ha ganado una gran acogida dentro del sector donde se ubica. Pese a esto debido a la falta de recursos de inversión y conocimientos de implementación de sistemas computacionales aún sigue realizando la gran mayoría de sus procesos de forma ineficiente lo que muchas veces causa errores que pueden ser evitados con la debida organización y análisis de sus procesos.
Es por esto que el grupo de estudiantes de la Universidad Católica Santiago de Guayaquil de la Facultad de Ingeniería en su transcurso por la carrera de Ingeniería en Sistemas Computacionales alumnos de la materia de Análisis y Diseño de Sistemas II se han comprometido en el análisis de las posibles soluciones de organización del negocio así como de su estructura tecnológica aplicando la metodología orientada a objetos para el desarrollo del análisis del proyecto.
2. PLANTEAMIENTO DEL PROBLEMA.
De acuerdo con la información recopilada y de acuerdo a un minucioso análisis llevado a cabo por el grupo de analistas de la Universidad Católica Santiago de Guayaquil, alumnos de la materia de Análisis y Diseño de Sistemas II, se ha podido llegar a la conclusión de que La “Panadería Barcelona” necesita implementar una solución de automatización de procesos, vitales para su correcto funcionamiento y deseos de expansión, tanto de infraestructura como de alcance del negocio en sí.
Dicho sistema deberá responder de manera eficaz a múltiples necesidades propias del negocio tales como:
o Información sobre estudios de mercado referentes al negocio de comercialización del pan en Guayaquil.
o Información sobre cotizaciones de precios de materia primas, insumos y suministros necesarios para la continuidad del negocio.
o Información sobre la estabilidad económica del mercado.o Estudio social sobre requerimientos de los clientes.
Consideramos este problema como prioritario en esta empresa ya que afecta de manera directa la producción y también porque dejarían de producir lo necesario para enviar o
Ingeniería en Sistemas Computacionales 7
Análisis y Diseño de Sistemas II UCSG
distribuir a las partes donde se comercializa el producto de La Panadería Barcelona e incumpliría con los compromisos adquiridos con la gente de muchas partes de la cuidad de Guayaquil y hasta con algunas exportaciones que se están realizando lo cual podría dejar una mala presentación de la producción de dicha empresa.
3. DESCRIPCIÓN DE LAS OPORTUNIDADES
La “Panadería Barcelona”, como puede ser observado en análisis de los problemas con sus posibles soluciones, presenta notables falencias en sus procesos cotidianos, lo que causa una ralentización de las actividades del negocio en su día a día. Por ese motivo se ha planteado la implementación de un sistema de automatización que brindará una valiosa ayuda al momento del desarrollo de los procesos del negocio, no sólo a los usuarios del mismo, sino que se verá reflejado en la calidad del servicio que se brindará.
De acuerdo a este planteamiento se puede observar que en efecto la implementación tanto estructural como de software del sistema de automatización es de beneficio para el negocio.
Por ese motivo el propietario del mismo ha manifestado su interés en el proceso de análisis del sistema a considerar, brindándonos toda la información requerida para el planteamiento y descripción es generales del problema del negocio, además ha manifestado sus necesidades de expansión del su negocio y ampliación de sus instalaciones aborales y de producción.
Los escenarios descritos son de vital importancia para el desarrollo del proyecto, ya que facilitan el progreso del mismo, debido a que al contar con el apoyo e interés del propietario del negocio se puede contar con el apoyo necesario para comenzar con las fases de análisis y diseño del sistema de automatización y debido a sus iniciativas de invertir en aspectos de ampliaciones tecnológicas y estructurales se pude tener la confianza de una futura implementación de acuerdo a la factibilidad establecida y las actividades programadas para el desarrollo del sistema.Aprovechando dichos escenarios se considera factible proceder con el análisis detallado del negocio y su funcionamiento así como el si las posibles soluciones propuestas son o no de beneficio para el negocio y deben ser consideradas dentro de la solución de automatización
Ingeniería en Sistemas Computacionales 8
Análisis y Diseño de Sistemas II UCSG
ANALISIS MATRICIAL DE FODA.
Para una mayor comprensión del tema tratado se ha hecho uso de la técnica de análisis matricial FODA para sintetizar todos y cada uno de los aspectos descritos anteriormente, identificando los problemas oportunidades y objetivos.
DEFINICIÓN OBJETIVOS DEL PROYECTO
OBJETIVOS GENERALES.1) Realizar un análisis detallado y minucioso en el negocio
relativo con la “Panadería Barcelona”, con el propósito de hacer un aspecto primordial de una organización solvente y eficaz, además de sacar mejoras.
2) Desarrollar un Proyecto de Automatización para Negocios de panaderías en la ciudad de Guayaquil haciendo uso de la Metodología Orientada a Objetos.
Ingeniería en Sistemas Computacionales 9
Análisis y Diseño de Sistemas II UCSG
OBJETIVOS ESPECÍFICOS.1) Desarrollar un sistema Web integrado de automatización
de los procesos del negocio de la “Panadería Barcelona”, tales como:
Hacer un modulo para Realizar el Sistema de Facturación, tales como Pedidos al hacer compra en la panadería y Registro de clientes.
a. Desarrollar un módulo de registro de Inventarios para los productos, tomando en cuenta el stock y la cantidad introducida para el negocio.
b. Desarrollar un módulo de Reportes estadísticos y de toma de decisiones.
c. Desarrollar un módulo de contabilidad capaz de llevar a cabo el registro de las diferentes transacciones que realiza el negocio en relación del personal del negocio y del Administrador, productos y la infraestructura.
d. Desarrollar un módulo de registro de proveedores y solicitudes de pedidos a los mismos, capaz de facilitar y agilizar las decisiones al momento de adquirir materia prima.
e. Desarrollar un modulo para el Vendedor y todo el personal un Sistema tipo login, considerando un usuario y generalmente el administrador que cada uno tiene como el propósito interactuar el sistema automatizado en el negocio, obteniendo así un Nick del usuario y su respectiva contraseña de tipo personal.
2) Adquisición de la infraestructura necesaria para implementar las soluciones tecnológicas planteadas y otra infraestructura para el proceso de producción de toda clase de pan y postres con su respectivo desarrollo en su ciclo de vida.
3) Implementar la solución de automatización así como toda su infraestructura para su correcto desempeño.
ALCANCE DEL PROYECTO
Ingeniería en Sistemas Computacionales 10
Análisis y Diseño de Sistemas II UCSG
Con este proyecto se desea llevar a cabo el desarrollo de una solución tecnológica que permita la automatización de los procesos y pedidos que se llevan al cabo diariamente en lo que va llevando a la Empresa “Panadería Barcelona”
Debido a esto se ha planteado la solución de desarrollar un sistema integrado capaz de cumplir con todas las necesidades del negocio y llevar un registro de todos los datos propios del mismo, para así poder realizar reportes estadísticos actuales e históricos según sea el requerimiento del usuario, así como los procesos cotidianos del negocio.
El registro, control y reportes de estados del pedido. El registro, control y reportes de pedidos. El registro, control y reportes de proveedores. El registro, control y reportes en clientes en caso de ser de
tipo frecuente o por compras mayores. El registro, control y reportes Factura en la que se va a
implementar. Generar una especie tipo Login para todo el personal de forma
individual: Usuario y contraseña. El registro contable de las transacciones realizadas, es decir,
llevar una contabilidad ordenada, así para la impresión de la factura las cuales aquellas transacciones fueron realizadas exitosamente, proporcionado a los Datos.
Los procesos comunes como lo son la facturación, arqueos de caja, verificaciones de efectivo, cierres de caja y control de cuentas de dichos procesos, en otras palabras los Estados Financiero, así como las carteras de pago en cada transacción por sus pedidos y el pago del personal, así mismo como en la infraestructura.
Además se ha planteado implementar la infraestructura tecnológica propia para el correcto funcionamiento del sistema integrado de automatización para ello se ha llevado a cabo diversos análisis de factibilidades tanto para el gerente del negocio hasta para el mercado en el que se desempeña. Dichos análisis van desde las posibilidades de inversión en los socios, la directiva del negocio hasta estudios de mercado para adquirir los recursos tanto tecnológicos, agroquímicos, etc. todos necesarios a bajo costo y generar mayor accesibilidad al desarrollo del negocio.
Dadas las circunstancias del negocio y la iniciativa del propietario en sus requerimientos de expansión, se puede tener la confianza de que se va a contar con el interés necesario de parte de la
Ingeniería en Sistemas Computacionales 11
Análisis y Diseño de Sistemas II UCSG
administración para poder llevar a cabo el proyecto sin ningún contratiempo. De la misma manera el propietario ha manifestado sus deseos de invertir en el proyecto una vez presentado el análisis final del mismo de acuerdo a los costos establecidos en el análisis de la factibilidad económica.
Al finalizar el proyecto se espera haber acaparado todas las necesidades del negocio para su requerida expansión facilitando así la administración del mismo y la satisfacción total de cliente.
DETERMINACIÓN DE LA FACTIBILIDAD.
FACTIBILIDAD TÉCNICA
Debido a que el negocio no cuenta con los recursos estructurales adecuados para la implementación del sistema de automatización va a ser estrictamente necesaria la adquisición de equipos computacionales capaces de soportar el almacenamiento de la información del negocio y brindar los servicios requeridos por el usuario así como la agilización de los procesos previstos para gestión del sistema.
A pesar de este inconveniente, debido a que el propietario del negocio ha manifestado su interés en inversión para ampliación y expansión tecnológica, se procederá a detallar específica y minuciosamente todos los recursos tecnológicos estrictamente necesarios para llevar a cabo el proyecto.
Ingeniería en Sistemas Computacionales 12
Análisis y Diseño de Sistemas II UCSG
De la misma manera se considerará la posibilidad de usar la estación de trabajo a adquirir como servidor de datos ahorrando así en la implementación del mismo.
Además de los recursos tecnológicos necesarios para el proceso de implementación del sistema, también se requieren recursos humanos para los procesos de análisis y diseños del mismo, procesos los cuales de acuerdo a la metodología planteada para sus desarrollo (MOO), deben ser llevados a cabo bajo estrictas normas y detalles abarcando casi el 80% del desarrollo del proyecto.
DETALLE DE LOS RECURSOS TECNOLÓGICOS NECESARIOS PARA LA IMPLEMENTACIÓN DEL PROYECTO: POR HARDWARE Y SOFTWARE:
1) Una computadora de escritorio con las siguientes características:
Ingeniería en Sistemas Computacionales 13
Análisis y Diseño de Sistemas II UCSG
Cotización Tomada por: CompuDash S.A.
2) Entorno de desarrollo integrado (IDE) Microsoft Visual Studio 2005 Express Edition. Precio: Gratis
3) Gestor de base de datos:o Sql Server Express Edition o Oracle 10g o Fuente de Adquisición:
www.taringa.net/sqlserver2000/donwload/051wewrr.asp
4) Mano de Obra: Negociable al caso en el Desarrollo del proyecto.
5) OPCIONAL: SERVIDORES.
6) OPCIONAL: ALQUILER DE DOMINIOS .COM.EC
FACTIBILIDAD ECONÓMICA.
Debido a lo mencionado anteriormente en la factibilidad técnica como el mismo equipo de análisis se encargará del proceso de desarrollo de los sistemas no habrá que considerar
Ingeniería en Sistemas Computacionales 14
CARACTERISTICASTIPO CORE 2 DUO 2.9 GHZCASE Combo 475/500 wMAINBOARD BiostarPROCESADOR Core 2 Duo 2,93 ghz/3m/1066mhz
MONITOR LCD 16" Aoc/PrimaMEMORIA RAM 3ºGB 667/800 mhz ddr2DISCO DURO 500 Gb Maxtor-SamsungDVDWRITER Lg SataVIDEO Chip Intel 200 mb PciexpressRED 10/100 MbpsSONIDO Full Duplex-TECLADO MultimediaMOUSE 2 Botones opticoPARLANTES 120-360 wattsLECTOR DE MEMORIA
7 EN 1 Markvision
LICENCIA W7 PROFESSIONAL
1 AÑO
PRECIO $ 522,11
Análisis y Diseño de Sistemas II UCSG
dicho costo en el análisis de factibilidad económica, por ende los factores que se han tomado en cuenta para realizar esta gestión son los detallados en la siguiente tabla:
Factores Tiempo de Gestión CostoMano de Obra Equipo de análisis
A considerar A considerar
Costo de hacer análisis completo de Sistema
3 Meses $500
Costo del desarrollo y programación del Sistema
1 Mes $1200
Costo de Inversión aproximado de Hardware y Software
1 semana (Instalación) $1200
TOTALES ESTIMADOS $2900
OPCIONAL: SERVER HP Servidor ML110G6 Quad Core
BP885A HP Servidor ML110G6 Quad Core (1) Intel® Xeon® processor X3430
$ 1.170,00
$ 793,50
458941-B21
HP 500GB 3G SATA 7.2K 3.5in NHP MDL HDD
$ 307,05
$ 218,50
P. Promoción TOTAL: 1.012
OPCIONAL: Alquiler de dominios .com.ec desde $38.50 anuales
INVERSION APROXIMADA: De $ 4000 a 3000 en caso de no usar server.
Debido a las manifestaciones de la Directiva en invertir en infraestructura una suma de aproximadamente $5600 se considera que el gasto por implementación tecnológica está dentro del rango estipulado y no representa riesgo significativo debido a que se está invirtiendo en bases estructurales fundamentales para una expansión tecnológica.
FACTIBILIDAD OPERACIONAL:
La factibilidad operacional permite disponer de manera funcional la implementación del sistema totalmente completa y aprobada, aprovechando los beneficios que ofrece a todos los usuarios involucrados con el mismo ya sean con los que
Ingeniería en Sistemas Computacionales 15
Análisis y Diseño de Sistemas II UCSG
interactúan en forma con este, como también aquellos que reciben información por el sistema. Hay que hacer el correcto funcionamiento del sistema, y capacitar a los empleados que estarán encargados de dicha tarea.
Con la finalidad de garantizar el buen funcionamiento del sistema y que impactará en forma positiva a los usuarios, vamos a presentar una interfaz que sea amigable al usuario, lo que hace que las herramientas sean de fácil manejo y comprensión, tanto las pantallas como los reportes serán familiar a los operadores, contando con la opinión de los mismo para cualquier modificación del sistema.
Debido a que el negocio está en vías de expansión es necesario considerar que esto causará que posiblemente el número de empleados y procesos operativos aumenten en volumen y cantidad; cabe recalcar que el sistema está considerado para cubrir este tipo de adaptación o ampliación por ese motivo se decidió hacer un aplicativo integrado que tenga orientación a manejo distribuido de datos permitiendo así una fácil adaptación a los diferentes cambios que se presenten en el negocio.
PLANEACIÓN Y CONTROL DE ACTIVIDADES
ESTIMACIÓN DEL TIEMPO REQUERIDO
Tareas de Fase M.O.O
ActividadActividad
PrecedenteDuración
(Días)ANALISIS a.- Entrevistas. Ninguna 3
b.- Tabulación de entrevistas
A 2
Ingeniería en Sistemas Computacionales 16
Análisis y Diseño de Sistemas II UCSG
c.- Análisis del flujo de datos
B 7
d.- Esquematización del Prototipo
C 8
e.- Análisis Costo comercialización
Ninguna 5
f.- Preparación propuesta
D,E 5
g.- Presentación de Propuesta
F 1
DISEÑO DE SISTEMA Y DE
OBJETOS
h.- Diseño Entradas C,F 3i.- Diseño Salidas H 3j.- Programación I 7
IMPLEMENTACION
k.- Implementación J 7l.- Supervisión K 30m.- Evaluación Final de los productos en venta
L 90
Para graficar las actividades que vamos a realizar para desarrollar los sistemas requeridos por la empresa diseñamos un esquema de actividades con los diagramas de GANTT y PERT para así visualizar de mejor manera el flujo de las actividades y su temporización.
Diagrama de Pert.
Ingeniería en Sistemas Computacionales 17
Análisis y Diseño de Sistemas II UCSG
Diagrama de Gantt
Ingeniería en Sistemas Computacionales 18
Análisis y Diseño de Sistemas II UCSG
DIAGRAMA DE FLUJO DE DATOS (DFD)
DIAGRAMA DE NIVEL 0 (DE CONTEXTO).
Ingeniería en Sistemas Computacionales 19
Análisis y Diseño de Sistemas II UCSG
DIAGRAMA DE NIVEL 1 (DE CONTEXTO).
Ingeniería en Sistemas Computacionales 20
Análisis y Diseño de Sistemas II UCSG
ANALISIS DE MUESTREO E INVESTIGACION DE DATOS.
Cuestionarios.
Encuesta al publico Panadería y Pastelería “Barcelona”
Sector: Comercial y Negocios Nivel: Al Publico.
Esta encuesta está dirigida para todo público, de quienes conocen y no conocen la panadería. La formulación del sondeo, existe un propósito y un objetivo: el propósito es recopilar datos y formación sobre la importancia de una buena gestión de calidad en el negocio; el objetivo, al haber recopilado los datos cuando ha terminado de encuestar a cada persona, que finalmente fortalecerá estratégicamente el negocio panadero.
Ingeniería en Sistemas Computacionales 21
Análisis y Diseño de Sistemas II UCSG
Señale los ítems de repuesta, teniendo los ítems diferentes a cada pregunta. Además de los niveles del 0 al 5, del bajo y del mas arriba respectivamente señalar.
1. Considera Ud. que se debe implantar un Sistema Automatizado para la panadería, para agilizar la atención de los clientes.
0 1 2 3 4 5
2. ¿Qué opinión le merece la atención que recibe por parte del personal (simpatía, trato, amabilidad, etc.)?
0 1 2 3 4 5
3. ¿De entre los siguientes productos, cuál es el que consume con más frecuencia?
Pan Pastelería CaféOtros
productosNo Sabe
4. ¿Con qué frecuencia consume de la panadería y pastelería Barcelona?
DiarioCada
SemanaDe
RepenteUna Sola
VezNunca
5. ¿Cuál es el atributo que más valora en los productos de la pastelería y/o panadería?
Precio CalidadPresentació
nSabor Ninguna
6. Sobre la Calidad de los Productos, ¿Cómo considera que es la calidad de la panadería y pastelería Barcelona?
0 1 2 3 4 5
7. Sobre los precios en este negocio, ¿Cómo usted Catalogaría al comprar sus productos?
0 1 2 3 4 5
Ingeniería en Sistemas Computacionales 22
Análisis y Diseño de Sistemas II UCSG
8. Sobre la Valoración, ¿Cómo catalogaría usted, el nivel de los establecimientos, en sus aspectos: limpieza, presentación, variedad estética, horarios?
0 1 2 3 4 5
9. ¿Qué puntuación le daría a la Confianza y Fiabilidad que le proporcionan la panadería Barcelona?
0 1 2 3 4 5
10. Si tuviera que evaluar globalmente el nivel de satisfacción que le ofrece Panadería Barcelona, lo calificaría.
0 1 2 3 4 5
Resultado de la Encuesta.
Utilizamos una encuesta dentro de las 100 personas, que respondieron fácilmente la encuestas con las 10 preguntas puestas, ahora al completarse las 100 personas tenemos los resultados arrojados gráficamente, para cada una de las preguntas.
Ingeniería en Sistemas Computacionales 23
Análisis y Diseño de Sistemas II UCSG
Ingeniería en Sistemas Computacionales 24
Análisis y Diseño de Sistemas II UCSG
Ingeniería en Sistemas Computacionales 25
Análisis y Diseño de Sistemas II UCSG
Definición de los Casos de Uso.
1.Definición de datos de productos.
2.Gestionar Proveedores.
3.Gestionar Inventarios.
4.Calcular la Producción.
5.Elaborar Facturación.
Ingeniería en Sistemas Computacionales 26
Análisis y Diseño de Sistemas II UCSG
6.Atender Clientes.
Definición de los Actores.
Actores Principales
1.Administrador.
2.Vendedor.
Actores Secundarios
1.Factura.
Diagrama de Caso de Uso
Sistema de Automatización de Panaderías
Ingeniería en Sistemas Computacionales 27
Análisis y Diseño de Sistemas II UCSG
Descripción de Casos de Uso
Sistema de Automatización de PanaderíasNombre: Definición de Datos de Productos ID: CU1
Descripción: Al iniciar su jornada diaria en el sistema, principalmente deberá ingresar un Nombre de la Cuenta y Contraseña con el fin de que el usuario no cualquiera tenga acceso a modificar la información relevante del negocio.
Esta parte del Sistema cuenta con digitalización de información donde el administrador ingresar los detalles generales del producto, tales como el nombre de producto, categoría, precio, lote, fecha de caducidad, el precio unitario, cantidad en stock, etc., todo esto para realizar la venta del producto en la panadería.
Posteriormente se realiza hacer una consulta general de los productos y/o información general almacenada en la base de datos; teniendo en cuenta dicha información que se presenta es la última modificación que se haya realizado.
Ingeniería en Sistemas Computacionales 28
Análisis y Diseño de Sistemas II UCSG
El Administrador almacena la información disponible del producto, aquellos que permite modificar, eliminar, actualizar cuando se presenta algún tipo de error o tenga mal escrita la información. El código del producto en que se haya ingresado previamente, nunca será modificada, ya que el dato esa asignada de forma automática y/o secuencial.
Limitaciones:
Solo interactúa con personas autorizadas. No puede detectar que el precio que se ingresa es el acorde
con el mercado. Sensibles a errores de digitación; peligro para el negocio,
produciendo perdidas u otras debilidades.
Sistema de Automatización de PanaderíasNombre: Gestionar Proveedores ID: CU2
Descripción: El panadero como propietario de la panadería selecciona estrictamente la materia prima para elaborar el producto, que debe cumplir con todos los factores específicos por su calidad, cuyo fin es bridarles a sus clientes productos de primera calidad de acuerdo a las necesidades que son requeridas y especificas simultáneamente.
Se debe realizar un registro para los proveedores en el sistema y hacer una auditoria de forma semanal, calificando así a los distribuidores por sus factores de calidad de la materia prima con las que permite formar una selección para su necesidad en la panadería.
Los proveedores son clasificados por categorías, ya sea por la materia prima o productos que ofrecen además de su forma de pago, según la cantidad de productos vendidos.
El Administrador formula solicitudes de pedido a los proveedores en el sistema, aprobados por el dueño de la panadería, haciendo que la
Ingeniería en Sistemas Computacionales 29
Análisis y Diseño de Sistemas II UCSG
petición sea aprobada, para la necesidad del consumo interno del negocio.
De similar manera en que se puede hacer el administrador formular solicitudes de pedido pero cuando el panadero quiere realizar el pedido mayor a la establecida al proveedor, de forma semanal.
Al administrador se le recibe un código para realizar pedidos se manera regular (diario, semanal, mensual, etc.) al proveedor; siendo un cliente registrado al distribuidor en donde produce la materia prima el administrador.
Limitaciones:
El Proveedor no tenga disponibilidad con la materia prima. Costo muy alto para la materia prima. Escases de materia prima. El proveedor no cumpla con el pedido acordado y la visita que
se programa de manera regular.
Sistema de Automatización de PanaderíasNombre: Gestionar Inventarios. ID: CU3
Descripción: El Administrador realiza el ingreso de los productos, determinando los siguientes datos a proporcionarse el registro de los productos de la panadería, tales como: Código, Nombre del producto, proveedor, precio unitario, precio de compra, IVA (opcional), existencia.
Una de las partes en que no se hará cambios ni hacer modificaciones manuales por parte del administrador, es el Código cuyo atributo es asignar ese dato de forma automática.
En la parte del inventario existe una sumatoria de los productos que se encuentra en stock y el precio unitario del producto, todo eso se sumara los costos y el stock en total en que se había ingresado en el.
Se realiza los estados financieros en la parte de la contabilidad para
Ingeniería en Sistemas Computacionales 30
Análisis y Diseño de Sistemas II UCSG
las entradas y salidas de los productos, así como en las perdidas y ganancias en los costos totales en que formaron transacciones de consumo y gastos en la panadería.
Limitaciones:
No se haya ingresado los productos para tener un stock de ellos.
Que un producto no tenga su precio correcto, afectando directamente a la contabilidad.
Puede existir perdidas si hay productos que faltan por completo y el dinero que consumió no esta en caja.
Sistema de Automatización de PanaderíasNombre: Calculo de la Producción. ID: CU4
Descripción: El Administrador realiza el ingreso con anterioridad las recetas que se utilizan para elaborar el pan, en esto incluye cuanto se usa de materia prima, cuanto tiempo, etc.
Luego al instante en que el panadero va a realizar una elaboración de pan, el sistema debe permitir elaborar un cálculo a través de la cantidad de unidades de producto que estima a fabricar, ingresadas por el usuario al sistema, calcular cuanta materia prima se debería de utilizar para elaborar dicho producto, esto garantizará una calidad estándar en los productos de la panadería, ya que estarán basadas en un patrón.
Estas se podrán imprimir y beneficiaría también en caso de que ingrese al negocio un nuevo trabajador, y tendrá su receta disponible para trabajar.
Ingeniería en Sistemas Computacionales 31
Análisis y Diseño de Sistemas II UCSG
El producto, en condición de no ser vendido, tal es el caso como el pan, para no ser desperdiciados debe ser reutilizado como materia prima para la elaboración de otros productos.
Limitaciones:
Que no se disponga la cantidad necesaria de materia prima para elaborar el producto.
Que en la panadería exista sobreproducción de productos lo cual causará gastos muy elevados.
Desperdicio total de panes en caso de no ser utilizado para la venta.
Inexistencia de la Receta Adecuada para la elaboración del producto
Sistema de Automatización de PanaderíasNombre: Elaborar Facturación. ID: CU5
Descripción:
El Vendedor realizará la emisión de la facturación teniendo como contenido los datos a ingresar: el nombre del cliente, en el cual tendremos su nombre, su código o cedula, fecha de la ultima venta, total a pagar por ahora, saldo en mora si lo tuviere.
Agregamos por código o descripción los productos en la factura, procedemos a detallar la factura, y realiza la suma de los precios que tienen los productos, una vez que se confirma el subtotal se aplica descuentos en caso de ser un cliente frecuente, IVA y se muestra el total a pagar se imprime la factura, al mismo tiempo que es almacenada y se la entrega al cliente junto con el producto.
Limitaciones: El producto que no se encuentra en existencia. Cliente que no este registrado.
Sistema de Automatización de PanaderíasNombre: Atender Clientes. ID: CU6
Descripción: Pueden haber dos formas de registrar un cliente en el sistema: cuando el vendedor procede a realizarle una venta al cliente, y cuando se
Ingeniería en Sistemas Computacionales 32
Análisis y Diseño de Sistemas II UCSG
desea almacenar el cliente sin necesidad de hacer una venta.
En el caso de una venta, se entrevista al cliente y el administrador o vendedor le pregunta información básica como lo es su nombre, apellido, RUC o cédula, dirección, teléfono.
Y también existe el caso en que vayamos a registrar clientes especiales a los cuales se les aplicarán descuentos.
También el administrador podrá consultar información sobre sus clientes, sus deudas con la panadería, sus productos comprados.
Recordemos que los clientes se registran para que a estos el vendedor les pueda emitir facturas con su nombre, y en ciertos casos tengan créditos con la panadería.
Constará en el sistema todo el historial de ventas que se le ha realizado a este cliente, para que esta información sea consultada por el administrador.
Limitaciones:
El cliente no dispone de información necesaria para su posterior registro en el sistema.
El cliente debe ser registrado siempre y cuando tenga compras mayores a un valor determinado por la panadería.
Descripciones de los Actores.
Sistema de Automatización de PanaderíasNombre: Administrador Tipo Actor: Primario
Descripción:
Es el que se encarga del acceso directo con la información relevante del negocio, que tendrá el sistema. Realizara el ingreso, modificación, actualización, cambio de precio, pedidos.
Tendrá Contacto directo con los proveedores y sucursales donde se distribuye la mercadería.
Limitaciones: No intervendrá en la realización de la factura de venta. Abstenerse en la entrevista al cliente al momento de compra.
Sistema de Automatización de PanaderíasNombre: Vendedor Tipo Actor: Primario
Ingeniería en Sistemas Computacionales 33
Análisis y Diseño de Sistemas II UCSG
Descripción:
Es el que se encarga de las ventas, generar facturas, con que hará emitir la facturación y entrega al cliente que ha deseado adquirir.
Se entrevistara al cliente, receptando la información básica tales como nombre, apellido, Cedula o RUC, Dirección, Teléfono, Correo electrónico.
También se registra Clientes Especiales cuando realiza compras frecuentes al negocio, obtendrá algún tipo de descuentos.
Además realiza la gestión a los empleados del negocio a distribuir la mercadería de los proveedores.
Limitaciones:
No tendrá acceso a la modificación de información relevante del sistema.
Solo Gestionara contactos con los clientes y empleados de la panadería.
Solo se emitirá factura al cliente.
Sistema de Automatización de PanaderíasNombre: Factura Tipo Actor: Secundario
Descripción:
Es un documento que forma parte de la facturación del negocio de la panadería en donde se registra los datos personales al momento de que el cliente haya adquirido generalmente toda la compra en la panadería.
Los Datos personales que se destacan en la factura viene a ser: Nombre, Apellido, Cedula o RUC, Dirección, Teléfono, Mail; además viene los otros datos como: Subtotal, IVA, Total a Pagar y las formas de pago que se realiza el cliente.
Limitaciones: Solo el Vendedor elaborara la factura. Existen Datos opcionales posiblemente no se registraran en la
factura.
Ingeniería en Sistemas Computacionales 34
Análisis y Diseño de Sistemas II UCSG
Estilos para los Casos de Uso
CU1: Definición de datos de productos.
Estilo Shaller/Mellor.
Sistema de Automatización de Panaderías
Nombre:Definición de Datos de Productos ID: CU1
Cosas Tangibles: Productos
Roles:
Incidentes: Almacenamiento de Productos.
Iteraciones: Información de Productos.
Especificaciones:
Ingeniería en Sistemas Computacionales 35
Análisis y Diseño de Sistemas II UCSG
Estilo Wirfs-Brock
Sistema de Automatización de PanaderíasNombre: Definición de Datos de Productos ID: CU1
Oraciones:
El sistema es ingresado de forma personal a través de nombre de cuenta y contraseña.
El Digitalizador de información es el que se registra los detalles generales.
El almacenamiento de información es donde se guarda valores relacionados con las ventas.
El administrador o persona autorizada almacena la información relevante.
El código de producto que se vende en la panadería es auto generable.
Se realiza una consulta general de la información almacenada en la Base de Datos.
El administrador grabará registros para tener constancias de las últimas transacciones realizadas durante el día.
Lista de sustantivos:
Administrador.Nombre de Cuenta.Contraseña.Sistema.Productos. Detalles. Venta.Panadería.
Información. Base de Datos. Descripción.CódigoTransacción. Valor.Digitalizador de información.Consulta.
Clases Obvias: Administrador, Producto, Venta.Sin sentidos: TransacciónFrases Inseguras:
Valor, Descripción, sistema, Administrador, Panadería.
Estilo Rumbaugh.
Sistema de Automatización de PanaderíasNombre: Definición de Datos de Productos ID: CU1
Listas de sustantivos:
Username/Administrador. contraseña, sistema, productos, detalles, venta, panadería, consulta, Información(X). Base de Datos.
Transacción(X). Valor(X). Digitalizador de Datos. Negocio. Stock(X). Precio. Fecha. Lote. Categoría. Jornada.
Ingeniería en Sistemas Computacionales 36
Análisis y Diseño de Sistemas II UCSG
Descripción. Código.
Cantidad.
Clases Redundantes:Clases Irrelevantes:
Negocio, Sistema.
Clases Vagas Detalles, Username/Administrador, Contraseña
Atributos:Fecha, código, Cantidad, Precio, lote, categoría, jornada, Descripción, Valor.
Operaciones: Transacción, consulta
Roles: Administrador.
CU2: Gestionar Proveedores.
Estilo Shaller/Mellor
Sistema de Automatización de PanaderíasNombre: Gestionar Proveedores. ID: CU2
Cosas Tangibles: Materia Prima, Solicitud, Auditoria, panadero.
Roles: Proveedor, propietario, panadero, distribuidores.
Incidentes:Escases de Producto.Calificación de Materia Prima.
Iteraciones: Formas de Pago, notificaciones, Auditorias de Proveedores.
Especificaciones:
Estilo Wirfs-Brock
Sistema de Automatización de Panaderías
Ingeniería en Sistemas Computacionales 37
Análisis y Diseño de Sistemas II UCSG
Nombre: Gestionar Proveedores. ID: CU2
Oraciones:
El panadero selecciona estrictamente la materia prima para la elaboración del producto.
Se debe cumplir con todos los factores específicos por su calidad.
El panadero brinda a sus clientes productos de primera calidad de acuerdo por sus necesidades requeridas y especificas.
Se debe realizar un registro para los proveedores en el sistema. Se selecciona una auditoria de manera semanal. Se Califica a los distribuidores por sus factores de calidad para
formar una selección en su necesidad en la panadería. Los proveedores son clasificados por categorías, según materia
prima o productos formas de pago, cantidad de productos vendidos.
El Administrador formula solicitudes de pedido a los proveedores en el sistema.
Las solicitudes de pedidos son aprobados por el propietario de la panadería.
De manera similar el panadero quiere realizar el pedido mayor a la establecida al proveedor.
El administrador es un cliente del distribuidor que se le recibe un código para realizar pedidos.
Lista de sustantivos:
Administrador.Producto.Materia prima.Formas de pago. Cantidad.Material. Auditoria.Establecimiento. Cantidad.
Distribuidor.Proveedor.Panadero. Propietario.Distribuidor. Bodega.Solicitud.Factores de Calidad.
Clases Obvias: Proveedor, panadero, Productos, Materia Prima, Factores de Calidad
Sin sentidos:Semana, material, publico, establecimiento, Boletines, administrador, distribuidor, Bodega, Propietario, Auditoria.
Frases Inseguras:
Categorías.
Estilo Rumbaugh.
Sistema de Automatización de PanaderíasNombre: Definición de Datos de Productos ID: CU1
Ingeniería en Sistemas Computacionales 38
Análisis y Diseño de Sistemas II UCSG
Listas de sustantivos:
Administrador. Producto. Materia prima. Formas de pago. Cantidad. Material. (X) Auditoria. Establecimiento.
Proveedor. Panadero. Semana. Propietario.(X) Distribuidor. (X) Bodega. Solicitud. Sistema.
Clases Redundantes:
Materia prima, Distribuidor, Propietario.
Clases Irrelevantes:
Auditoria, Propietario, Semana, Establecimiento.
Clases Vagas Sistema.
Atributos: Cantidad.
Operaciones: Elaboración de la Solicitud del Pedido. Calificación de los distribuidores. Auditoria de Proveedores.
Roles:
CU3: Gestionar Inventarios
Estilo Shaller/Mellor
Sistema de Automatización de PanaderíasNombre: Gestionar Inventarios. ID: CU3
Cosas Tangibles: Productos
Roles: Proveedor
Incidentes: Calculo Total.
Iteraciones: Estados Financieros.
Especificaciones:
Estilo Wirfs-Brock
Sistema de Automatización de Panaderías
Ingeniería en Sistemas Computacionales 39
Análisis y Diseño de Sistemas II UCSG
Nombre: Gestionar Inventarios ID: CU3
Oraciones:
El Administrador es el que digitara el ingreso de Datos de Productos
Se Realiza los Cálculos totales entre productos y costos.
Se realiza los estados financieros en la contabilidad para productos y costos.
El código del producto es intocable al momento de editar.
Lista de sustantivos:
Administrador.Datos de Productos.Código. Estados Financiaros.Contabilidad.
Productos.Precios.Costos.Cálculos Totales.
Clases Obvias: Estados Financieros, Datos de Productos
Sin sentidos: Contabilidad.
Frases Inseguras:
Cálculos Totales.
Estilo Rumbaugh.
Sistema de Automatización de PanaderíasNombre: Gestionar Inventarios ID: CU3
Listas de sustantivos:
Administrador. Productos. Datos. Código. Nombre del Producto, Proveedor. Precio unitario. Precio de compra. IVA.
Existencia. Atributo. Sumatoria de Productos
en Stock. Sumatoria de costos. Sumatorias de Stocks
Totales. Estados Financieros. Costos Totales. Contabilidad. Inventario.
Clases Redundantes:
Estados Financieros, Productos.
Clases Irrelevantes:
Cálculos Totales.
Ingeniería en Sistemas Computacionales 40
Análisis y Diseño de Sistemas II UCSG
Clases Vagas Contabilidad.
Atributos:Código, Nombre del Producto, Precio Unitario, IVA, Existencia, Precio de compra.
Operaciones:
Sumatoria de Productos en Stock. Sumatoria de precio de los productos en Stock Entradas y Salidas de Productos Pérdidas y Ganancias de Costos Totales Calculo del IVA.
Roles:
CU4: Calculo de la Producción.
Estilo Shaller/Mellor.
Sistema de Automatización de PanaderíasNombre: Calculo de la Producción ID: CU4
Cosas Tangibles: Pan, Materia Prima, Recetas.
Roles: Panadero
Incidentes: Impresión de Recetas. Productos Reutilizables.
Iteraciones: Calculo de Productos.
Especificaciones:
Estilo Wirfs-Brock.
Ingeniería en Sistemas Computacionales 41
Análisis y Diseño de Sistemas II UCSG
Sistema de Automatización de PanaderíasNombre: Calculo de la Producción ID: CU4
Oraciones:
Se deben de ingresar al sistema las recetas para luego hacer la impresión.
El uso de la materia prima por medio de la receta. Se Realiza el Calculo totales para la producción del producto. La Calidad Estándar de los productos, basadas en un patrón. Los Productos reutilizados de la materia prima para elaboración
de otros tipos de productos.
Lista de sustantivos:
Recetas.Materia prima.Sistema.Calculo Totales.
Producto.Calidad Estándar.Patrón.Productos Reutilizados.
Clases Obvias:
Receta, Materia prima.
Sin sentidos: Cálculos Totales.
Frases Inseguras:
Patrón.
Estilo Rumbaugh.
Sistema de Automatización de PanaderíasNombre: Calculo de la Producción ID: CU4
Listas de sustantivos:
Recetas. Pan(x), Materia prima. Sistema. Calculo de cantidad de
Unidades.
Producto. Panadero. Nuevo Trabajador. Patrón. Tiempo.
Clases Redundantes:
Patrón.
Clases Irrelevantes:
Clases Vagas Nuevo Trabajador
Atributos: Tiempo
Operaciones: Calculo de Unidades. Reutilización del producto no vendido.
Ingeniería en Sistemas Computacionales 42
Análisis y Diseño de Sistemas II UCSG
Roles:
CU5: Elaborar Facturación.
Estilo Shaller/Mellor.
Sistema de Automatización de PanaderíasNombre: Elaborar Facturación. ID: CU5
Cosas Tangibles: Producto.
Roles: Cliente.
Incidentes: Impresión de la Factura.
Iteraciones: Factura, Calculo Total, Formas de Pago, descuentos.
Especificaciones:
Estilo Wirfs-Brock.
Sistema de Automatización de PanaderíasNombre: Elaborar Facturación. ID: CU5
Ingeniería en Sistemas Computacionales 43
Análisis y Diseño de Sistemas II UCSG
Oraciones:
El Vendedor emitirá la factura ingresando sus datos. Se Aplica el Detalle de la Factura con el Código y la
Descripción del producto. La factura muestra cálculos totales a pagar. Se ordena la impresión de la factura. Se Aplica Descuentos en caso de ser Cliente frecuente.
Lista de sustantivos:
Vendedor.Factura. Detalle de la Factura.Código del Producto.Descripción del Producto.
Cálculos totales.Impresión de la Factura.Cliente Frecuente.Descuentos.
Clases Obvias: Factura, Detalles de la Factura, Vendedor, Cliente Frecuente.
Sin sentidos: Código del Producto, Cálculos totales, Descuentos.
Frases Inseguras:
Descripción del Producto.
Estilo Rumbaugh.
Sistema de Automatización de PanaderíasNombre: Elaborar Facturación. ID: CU5
Listas de sustantivos:
Nombre del cliente Código del Cliente. Cédula. (X) Fecha. Saldo en mora. Código de producto. (X) Descripción de producto. Factura.
Venta. Suma de Precios. Calculo Subtotal. Descuentos. (X) IVA. Promociones. Cálculo de Total a pagar. Cliente.
Clases Redundantes:
Clientes.
Clases Irrelevantes:
Fecha, Saldo
Clases Vagas
Atributos:Nombre del Cliente, Cedula, Código del Producto, Código del Cliente, Código de producto, Código del Cliente.
Ingeniería en Sistemas Computacionales 44
Análisis y Diseño de Sistemas II UCSG
Operaciones:
Suma de Precios. Calculo subtotal. Calculo Total a Pagar. Calculo del IVA.
Roles: Cliente.
CU6: Atender Clientes.
Estilo Shaller/Mellor.
Sistema de Automatización de PanaderíasNombre: Atender Clientes. ID: CU6
Cosas Tangibles: Producto, Factura
Roles: Cliente
Incidentes:Entrevista al cliente.Historial.
Iteraciones: Descuentos.
Especificaciones:
Estilo Wirfs-Brock.
Ingeniería en Sistemas Computacionales 45
Análisis y Diseño de Sistemas II UCSG
Sistema de Automatización de PanaderíasNombre: Atender Clientes. ID: CU6
Oraciones:
El Cliente es registrado cuando se realiza las ventas. Se realiza una entrevista al cliente cuando el vendedor hace la
venta de productos. Los clientes debe ser registrados para obtener descuentos. El Vendedor emite factura registrando los datos del cliente Los Datos del Cliente tiene la restricción de que exista alguna
cuenta pendiente. El historial de ventas al cliente será almacenados y
consultados.
Lista de sustantivos:
Cliente.Venta.Entrevista.Producto.Vendedor.
Factura.Datos.Cuenta Pendiente.Historial.
Clases Obvias: Cliente, factura, historial, producto, vendedor.
Sin sentidos:Datos.Venta.
Frases Inseguras:
Cuenta Pendiente.Entrevista.
Estilo Rumbaugh.
Sistema de Automatización de PanaderíasNombre: Atender Clientes. ID: CU6
Listas de sustantivos:
Vendedor. (X) Venta. (X) Cliente.(X) Nombre. Apellido. RUC. Dirección.
Teléfono. Administrador. (X) Descuento. Deuda. Producto. Factura. Historial. Crédito.
Clases Redundantes:Clases Irrelevantes:
Historial.
Clases Vagas
Atributos: Nombre, Apellido, RUC, Dirección, Teléfono.
Ingeniería en Sistemas Computacionales 46
Análisis y Diseño de Sistemas II UCSG
Operaciones: Descuento, crédito.
Roles: Cliente.
Lista de Clases Definitiva del Caso de Uso
Objetos Finales
Productos. Almacenamiento de
productos. Información de Productos. Materia prima. Solicitud. Auditoria. Panadero. Calificación de Materia
Prima. Auditorias de Proveedores. Formas de Pago. Notificaciones. Proveedor. Calculo Total.
Estados Financieros. Pan. Recetas. Recetas Impresas. Productos Reutilizables. Calculo de Productos. Cliente. Impresión de la Factura. Descuentos. Factura. Entrevista. Historial.
Ingeniería en Sistemas Computacionales 47
Análisis y Diseño de Sistemas II UCSG
DIAGRAMA DE CLASES DEL SISTEMA.
Ingeniería en Sistemas Computacionales 48
Análisis y Diseño de Sistemas II UCSG
Ingeniería en Sistemas Computacionales 49
Análisis y Diseño de Sistemas II UCSG
ESCENARIOS DE CASOS DE USO
CASO DE USO CU1: DEFINICION DE DATOS DE PRODUCTOS.
CU1.Escenario #1: Ingreso de datos de productos existentes.
Escenario: Ingreso de información de productos existentes. ID: Escenario 1
Suposiciones:
1. El nombre del Producto, categoría, lote, precio existe.
2. La Cantidad esta definida.
Resultados: 1. El producto queda registrado.
2. La cantidad queda asignada al producto.
Ingeniería en Sistemas Computacionales 50
Análisis y Diseño de Sistemas II UCSG
CU1.Escenario #2: Ingreso de datos de productos que no existe.
Escenario: Ingreso de datos de productos que no existe. ID: Escenario 2
Suposiciones:
1. El producto no existe.
2. Los datos del producto, categoría, lote, precio están definidos.
3. La cantidad esta definida
Resultados: 1. El producto queda registrado.
2. La cantidad queda asignada.
Ingeniería en Sistemas Computacionales 51
Análisis y Diseño de Sistemas II UCSG
CASO DE USO CU2: GESTIONAR PROVEEDORES.
CU2.Escenario #1: Registro de Proveedores.
Escenario: Registro de Proveedores. ID: Escenario 1
Suposiciones:
1. El proveedor no existe.
2. Los Datos del proveedor están definidos.
3. El generador de clave al proveedor funciona.
Resultados: 1. El proveedor quedo ingresado.
2. La clave y usuario de proveedor quedó generado.
Ingeniería en Sistemas Computacionales 52
Análisis y Diseño de Sistemas II UCSG
CU2.Escenario #2: Emisión Orden de Pedido Proveedor.
Escenario: Emisión Orden de Pedido Proveedor. ID: Escenario 2
Suposiciones:
1. El proveedor está definido.
2. Los productos están definidos.
3. La lista de pedidos ha están generada.
Resultados:
1. La solicitud de pedido quedó emitido.
2. La solicitud de pedido quedó aprobada.
3. La notificación de solicitud de pedido quedó generado.
Ingeniería en Sistemas Computacionales 53
Análisis y Diseño de Sistemas II UCSG
CU2.Escenario #3: Orden de pedido del proveedor no emitido.
Escenario: Orden de pedido del proveedor no emitido. ID: Escenario 3
Suposiciones:
1. El proveedor ha sido seleccionado
2. Los productos no son entregados por proveedor.
Resultados: 1. La solicitud de pedido no queda emitida.
Ingeniería en Sistemas Computacionales 54
Análisis y Diseño de Sistemas II UCSG
CASO DE USO CU3: GESTIONAR INVENTARIOS.
CU3.Escenario #1: Entrada de Mercaderías.
Escenario: Entrada de Mercaderías. ID: Escenario 1
Suposiciones:
1. La mercadería esta entregada.
2. La factura esta entregada.
3. La mercadería es recibida por el administrador.
Ingeniería en Sistemas Computacionales 55
Análisis y Diseño de Sistemas II UCSG
Resultados:
1. La mercadería fue registrada.
2. La mercadería fue almacenada.
3. El stock del inventario fue aumentado.
CU3.Escenario #2: Salida de Mercaderías.
Escenario: Salida de Mercaderías. ID: Escenario 2
Suposiciones:
1. La solicitud de Salidas de Mercadería existe.
2. Cada Artículo tiene stock.
Ingeniería en Sistemas Computacionales 56
Análisis y Diseño de Sistemas II UCSG
Resultados:
1. La solicitud de Salidas de Mercadería quedo registrada.
2. La persona solicitante queda registrada con fecha
3. La mercadería fue entregada a la persona solicitante.
4. El Stock del Inventario quedo Disminuido.
CASO DE USO CU4: CALCULAR LA PRODUCCION.
CU4.Escenario #1: Producción exitosa con receta.
Escenario: Producción exitosa con receta. ID: Escenario 1
Ingeniería en Sistemas Computacionales 57
Análisis y Diseño de Sistemas II UCSG
Suposiciones:
1. La receta para elaborar el pan existe.
2. Los ingredientes con cantidades requeridas en receta si hay en inventario.
3. La cantidad de panes a elaborar esta definida.
Resultados:
1. Las cantidades de producción quedaron calculados.
2. El stock de materia prima especificado en cálculo quedó disminuido.
3. La producción del pan quedo añadido
4. El historial de Producción quedó registrado.
CU4.Escenario #2: Producción no exitosa con receta.
Escenario: Producción no exitosa con receta. ID: Escenario 2
Ingeniería en Sistemas Computacionales 58
Análisis y Diseño de Sistemas II UCSG
Suposiciones:
1. La receta para elaborar el pan existe.
2. La cantidad de pan esta definida
3. Los ingredientes con cantidades requeridas en receta no están disponibles.
Resultados:
1. Las cantidades de producción quedaron calculados
2. La materia prima no fue suficiente para elaborar el pan.
3. El mensaje de error quedo emitido.
CU4.Escenario #3: Producción exitosa sin receta.
Escenario: Producción exitosa sin receta. ID: Escenario 3
Ingeniería en Sistemas Computacionales 59
Análisis y Diseño de Sistemas II UCSG
Suposiciones:
1. Las especificaciones de pan a fabricar están definidas.
2. La cantidad del pan esta definida.
3. La materia prima a usar existe.
Resultados:
1. La cantidad de ingredientes quedó calculado.
2. La cantidad de materia prima quedo disminuido.
3. El stock del pan quedo incrementado.
4. El historial de producción quedo registrado.
5. El pan quedo fabricado.
CU4.Escenario #4: Producción no exitosa sin receta.
Escenario: Producción no exitosa sin receta. ID: Escenario 4
Ingeniería en Sistemas Computacionales 60
Análisis y Diseño de Sistemas II UCSG
Suposiciones:
1. Las especificaciones de pan a fabricar están receptadas.
2. La cantidad del pan está definida.
3. La materia prima a usar no existe.
Resultados:
1. La cantidad de ingredientes quedo calculada.
2. La materia prima no fue suficiente para elaborar el pan.
3. El mensaje de error quedo emitido.
CASO DE USO CU5: ELABORAR FACTURACION.
CU5.Escenario #1: Emisión de éxito de una factura de registro para consumidor final.
Ingeniería en Sistemas Computacionales 61
Análisis y Diseño de Sistemas II UCSG
Escenario:Emisión de éxito de una factura de registro para consumidor final. ID: Escenario 1
Suposiciones:
1. El cliente ha pedido la factura como un consumidor final.
2. La descripción de la compra existe.
3. El cliente si dispone del valor del cobro.
Resultados: 1. La factura quedó registrada e impresa.
2. El cobro quedó registrado y cancelado.
CU5.Escenario #2: Emisión no exitosa de una factura de registro para consumidor final.
Escenario:Emisión no exitosa de una factura de registro para consumidor final. ID: Escenario 2
Ingeniería en Sistemas Computacionales 62
Análisis y Diseño de Sistemas II UCSG
Suposiciones:
1. El cliente ha pedido la factura como un consumidor final.
2. La descripción de la compra existe.
3. El cliente no dispone del valor del cobro.
Resultados: 1. La factura quedo registrada y anulada.
2. El cobro no quedo registrado.
CASO DE USO CU6: GESTION DE CLIENTES.
CU6.Escenario #1: Ingreso exitoso de un Cliente.
Ingeniería en Sistemas Computacionales 63
Análisis y Diseño de Sistemas II UCSG
Escenario: Ingreso exitoso de un Cliente. ID: Escenario 1
Suposiciones:
1. El cliente no existe.
2. Los datos del cliente están definidos.
Resultados: 1. El cliente quedó registrado.
CU6.Escenario #2: Ingreso no exitoso de un Cliente.
Escenario: Ingreso no exitoso de un Cliente. ID: Escenario 2
Ingeniería en Sistemas Computacionales 64
Análisis y Diseño de Sistemas II UCSG
Suposiciones:
1. El cliente no existe.
2. Los datos del cliente no están definidos.
Resultados: 1. El cliente no quedó registrado.
DIAGRAMA DE ESTADOS
Ingeniería en Sistemas Computacionales 65
Análisis y Diseño de Sistemas II UCSG
OBJETOS:
1. FACTURA2. INVENTRARIO.3. VENTA.4. COBROS VENTA.5. PRODUCTOS ELABORACION.6. RECETA7. PRODUCTO8. ORDEN PEDIDO.9. PERSONA.
1. FACTURA.
2. INVENTARIO.
Ingeniería en Sistemas Computacionales 66
ESTADOS Emitida. Terminada. Cobrada. Anulada.
ESTADOS
Vacio. Modificado. Guardado. Terminado.
Análisis y Diseño de Sistemas II UCSG
3. VENTA.
4. COBROS VENTA.
Ingeniería en Sistemas Computacionales 67
ESTADOS
Activa. Anulada. Pendiente. Rechazada. Ejecutada.
ESTADOS
Activado. Cobrado. Contado. Credito.
Análisis y Diseño de Sistemas II UCSG
5. PRODUCTOS ELABORACION.
6. RECETA.
Ingeniería en Sistemas Computacionales 68
ESTADOS
Procesando. Torta. Pan.
ESTADOS
Activa. Inactiva. Procesando. Procesada.
Análisis y Diseño de Sistemas II UCSG
7. PRODUCTOS.
8. ORDEN PEDIDO
Ingeniería en Sistemas Computacionales 69
ESTADOS Disponible. No Disponible. En venta Listo materia prima.
ESTADOS
Vacio. Modificado. Terminada. Aceptado.
Análisis y Diseño de Sistemas II UCSG
9. PERSONA.
FLUJO DE VENTANAS Y LAOUTS
Ingeniería en Sistemas Computacionales 70
ESTADOS
Activado. Disponible. Proveedor. Empleado. Cliente. Enfermedad. Mora. Inactivo. No disponible.
Análisis y Diseño de Sistemas II UCSG
LAYOUTS
Pantalla: Facturación
Ingeniería en Sistemas Computacionales 71
Análisis y Diseño de Sistemas II UCSG
Especificaciones:
Boton Buscar, Evento PushButtom, Desarrollar: BuscarCliente(CI)
Boton VerProductos, Evento PushButtom, Desarrollar: VerProductos()
Boton Grabar, Evento PushButtom, Desarrollar: GrabarFactura(cod_factura,CI,Cliente, fecha, ListaProductos(producto,cantidad,pu,costototal))
Boton Limpiar, Evento PushButtom, Desarrollar: clear().
Plan de pruebas.
Nombre de Grupo de Prueba: FACTURACIÓN. No. de prueba: 1
Prerrequisitos: 1. La factura es registrada de forma automática con la fecha que se realiza la transacción.
Ingeniería en Sistemas Computacionales 72
Análisis y Diseño de Sistemas II UCSG
2. El cliente de la panadería Alfonso Arreaga con C.I 092525414, debe ser registrado. El caso de que el cliente no quiera registrarse, se considera como Consumidor final.
3. Los productos registrados en la panadería debe ser seleccionados y registrado durante la compra: 7 panes enrollados $0.09 0.63; 2 sobres SiCafe 0.19 0.38. Ademas de calcular el total de la transacción: $1.01.
Instrucciones de configuración:
1. El cliente de la panadería esta definido.2. El consumidor final es cuando el cliente no se registra.3. Los productos de la panadería están definidos.4. Se puede verificar los productos existentes de la panadería.5. El código de la factura es añadido automáticamente.6. La fecha de la transacción es generada automáticamente
provenido del sistema.
Instrucciones de prueba:
a. El sistema le genera automáticamente un nuevo número de la factura.
b. El vendedor va al botón de Seleccionar Compra para elegir el producto deseado por el cliente y su cantidad, para ser incluido a la factura.
c. El vendedor ingresa el numero de cedula del cliente, en caso de ser registrado, si no, se realizara un nuevo registro lo que el cliente decida. Adicionalmente se lo considera como un Consumidor Final si el cliente no quiere ser registrado.
d. Se calcula el valor total de la factura siendo la sumatoria total del total de lo vendido para cada producto con su respectiva cantidad deseada.
e. Dar click en Grabar para guardar los datos de la factura al termine la transacción.
Comportamiento de Aceptación:
i. Factura terminada con éxito.ii. La factura queda impresa.
Fecha y Hora: Martes, 4 de Octubre del 2011 – 18h05
Resultado de la prueba:
Éxito.
Observaciones:
Responsables:José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)
Pantalla: Clientes
Ingeniería en Sistemas Computacionales 73
Análisis y Diseño de Sistemas II UCSG
Especificaciones:
Boton Grabar, Evento PushButtom, Desarrollar: GrabarFactura(Cedula_RUC,Cliente,Telefono,Direccion).
Boton Limpiar, Evento PushButtom, Desarrollar: clear().
Plan de pruebas.
Nombre de Grupo de Prueba: Clientes No. de prueba: 1
Prerrequisitos:
1. El Cliente José Talledo se registra con CI 0925254432.2. El cliente José Talledo esta registrado en el sistema con los
datos personales, Dirección Cdla.Modelo y el Telefono 045100100.
Instrucciones de configuración:
1. La identificación del cliente puede ser CI o RUC.2. Los Datos son llenados obligatoriamente para su registro.3. La identificación del cliente CI o RUC en su registro no se
repite.4. El cliente no existe en el sistema.
Ingeniería en Sistemas Computacionales 74
Análisis y Diseño de Sistemas II UCSG
Instrucciones de prueba:
1. El vendedor ingresa el No. de Cedula o RUC del cliente: 0925254412.
2. El vendedor ingresa el cliente: Jose Talledo.3. El vendedor ingresa la dirección domiciliaria del cliente:
Cdla Modelo.4. El vendedor ingresa el número telefónico: 25100100.5. Si uno o más de los campos de texto no introduce los datos
por teclado, la pantalla arroja un mensaje que no ha ingresado uno de los campos.
6. Da click en grabar, para guardar los nuevos datos registrados del cliente.
7. Si el numero de la Cedula existe en los datos del cliente, no será registrado hasta ingresar un numero de cedula distinto al registrado.
8. En caso de algún error de ingreso de datos del cliente de forma mal escrita, hacer click en limpiar para que los campos de texto van a ser vacios.
Comportamiento de Aceptación:
1. Se ingreso con éxito el cliente José Talledo con 0925254412 con dirección Cdla. Modelo y el teléfono es el 25100100.
2. La pantalla quedo limpia.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33
Resultado de la prueba:
Éxito.
Observaciones:
Responsables:José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)
Ingeniería en Sistemas Computacionales 75
Análisis y Diseño de Sistemas II UCSG
Pantalla: Verificar Productos.
Especificaciones:
CheckBox Selecccionar Desarrollar: total_productos=total_productos+1
Boton QuitarSeleccionados Desarrollar: total_productos=total_productos-1
Boton PasarRegistroDesarrollar: ListaProductos(producto,cantidad,pu,costototal))
Boton BuscarDesarrollar: BuscarProducto(Producto,CI).
Ingeniería en Sistemas Computacionales 76
Análisis y Diseño de Sistemas II UCSG
Plan de pruebas.
Nombre de Grupo de Prueba: Selección Productos No. de prueba: 1
Prerrequisitos:o El Código del producto No.103 desea ser buscado en el
sistema de registro de productos.o El producto al buscar debe estar registrado existentemente
Instrucciones de configuración:
1. Los productos de la panadería y el codigo del producto están registrados.
2. El código de la panadería y el nombre del producto definidos arroja uno o más resultados en un GridWiew: El código 103 resulta el producto Pan Enrollado con costo de $0.09.
3. El Codigo del producto o nombre del producto no existente, arroja un resultado en blanco mas un mensaje “El Producto no existe”.
Instrucciones de prueba:
1. El vendedor ingresa un nombre en el campo para la búsqueda de productos.
2. Arroja un resultado en la consulta de productos, los datos del producto haciendo click en el botón Buscar.
3. El cliente pide el producto deseado selecciona lo requerido con el checkbox Seleccionar.
4. Si el cliente necesita más productos a la compra, puede buscar de forma repetitiva el nombre de uno de los productos y seleccionar aquellos productos que se han requerido.
5. Hacer click en Pasar Selección cuando los productos escogido por el cliente hayan sido seleccionados.
Comportamiento de Aceptación:
1. Se ha seleccionado exitosamente los productos seleccionados por el cliente.
2. El grid sigue mostrando los datos del producto recientes.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33
Resultado de la prueba:
Éxito.
Observaciones:
Responsables:José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)
Ingeniería en Sistemas Computacionales 77
Análisis y Diseño de Sistemas II UCSG
Pantalla: LOGIN.
Especificaciones:
Boton IniciarSession, Evento PushButtom, Desarrollar: Verificar (usuario, Password).
Boton LimpiarDatos, Evento PushButtom, Desarrollar: clear().
Boton Cancelar, Evento PushButtom, Desarrollar: exit().
Ingeniería en Sistemas Computacionales 78
Análisis y Diseño de Sistemas II UCSG
Plan de pruebas.
Nombre de Grupo de Prueba: Inicio de sesión. No. de prueba: 1
Prerrequisitos:1. El nombre del usuario jose.lumbano y la clave
123456 (******), son ingresados para iniciar la sesión al sistema.
Instrucciones de configuración:
1. Los usuarios son definidos como vendedores.2. Los usuarios existen.3. La contraseña debe generarse.
Instrucciones de prueba:
1. El vendedor ingresa su cuenta personal: el Usuario jose.lumbano y la contraseña 123456 (******).
2. Hacer click en el botón “Iniciar Sesión”, para entrar directamente al menú de opciones del sistema del usuario que se ingreso.
3. Si se ingresa un nombre del usuario y/o contraseña que no existen, no va a entrar directamente al menú de opciones en el sistema.
4. Si no necesita iniciar sesión hacer click en cancelar para salir.
Comportamiento de Aceptación:
1. Se ha iniciado con éxito el inicio de sesión de forma correcta con los datos existentes (usuario y password).
2. Cierra la ventana de Login.3. Abre el menú principal.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33
Resultado de la prueba:
Éxito.
Observaciones:
Responsables:José Lumbano (Analista, programador) – Adrian Campoverde (Usuario, Panadero)
Ingeniería en Sistemas Computacionales 79
Análisis y Diseño de Sistemas II UCSG
Pantalla: Registro de Usuarios.
Especificaciones:
Boton IniciarSession, Evento PushButtom, Desarrollar: GuardarDatos (id,nombre,dirección,teléfono,usuario,contraseña1,contraseña2).
Boton LimpiarDatos, Evento PushButtom, Desarrollar: clear().
Boton Cancelar, Evento PushButtom, Desarrollar: exit().
Ingeniería en Sistemas Computacionales 80
Análisis y Diseño de Sistemas II UCSG
Plan de pruebas.
Nombre de Grupo de Prueba: Registro de Usuario. No. de prueba: 1
Prerrequisitos:
1. El usuario jose.lumbano esta registrado en el sistema.
2. El usuario jose.lumbano se registra con CI: 0916169786.
Instrucciones de configuración:
1. La identificación del cliente puede ser CI o RUC.2. Los Datos son llenados obligatoriamente para su registro.3. La identificación del cliente CI en su registro no se repite.4. El cliente y la identificación (CI, RUC) no están definidos en el sistema.
Instrucciones de prueba:
1. El administrador debe ingresar el nombre del usuario correctamente.
2. El administrador debe generar un código secreto para cada usuario según el cargo.
3. Se debe registrar datos personales del usuario como teléfono, dirección. Etc.
4. El administrador procede a guardar el registro del usuario. 5. El usuario tienes acceso ilimitado o limitado según su
código secreto.
Comportamiento de Aceptación:
1. Se ha registrado con éxito el registro de usuario con su respectiva contraseña.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33
Resultado de la prueba:
Éxito.
Observaciones:
Responsables:José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)
Ingeniería en Sistemas Computacionales 81
Análisis y Diseño de Sistemas II UCSG
Pantalla: Selección de Compras de Producto.
Especificaciones:
Boton IniciarSession, Evento PushButtom, Desarrollar: GuardarDatos (id,nombre,dirección,teléfono,usuario,contraseña1,contraseña2).
Boton BuscarProducto, Evento PushButtom, Desarrollar: buscar_Producto(cod_producto).
Boton LimpiarDatos, Evento PushButtom, Desarrollar: clear().
Boton Cancelar, Evento PushButtom, Desarrollar: exit().
Ingeniería en Sistemas Computacionales 82
Análisis y Diseño de Sistemas II UCSG
Plan de pruebas.
Nombre de Grupo de Prueba:
Seleccionar compra de productos
No. de prueba: 1
Prerrequisitos:
1. Elegimos el Código #103 como Pastel de Carne cuyo precio unitario es de $0.45 y la cantidad a comprar es 4, el costo total del producto comprado es $1.80 sin IVA.
Instrucciones de configuración:
1. El producto existe y están definidos.2. El IVA Puede ser entre 0% y 12%
Instrucciones de prueba:
1. El vendedor digita el cogido del producto existente: #103.2. El sistema muestra el producto existente y el costo unitario
generado por el respectivo código digitado, haciendo click en “Buscar Producto”: Pastel de Carne, $0.45.
3. El vendedor digita la cantidad deseada por el cliente: 4.4. Se calcula el costo total del producto existente, el costo
unitario y la cantidad deseada: Valor Total $1.80.5. Dar click en el botón “Aceptar Compra” del producto
comprado para pasar a la factura de compras en un grid (pantalla anterior: facturación).
6. Al grabar el producto comprado los campos de digitar código y las etiquetas de texto van a ser vacios, para realizar otra transacción.
7. En caso de que quiera volver una nueva transacción dar click en limpiar para vaciar los campos y etiquetas de texto.
Comportamiento de Aceptación:
1. Se ha realizado exitosamente la transacción del producto: pasteles, 4, $0.45, $1.80
2. El producto es colocado a la factura.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h42
Resultado de la prueba:
Éxito.
Observaciones:
Responsables:José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)
Ingeniería en Sistemas Computacionales 83
Análisis y Diseño de Sistemas II UCSG
Pantalla: Selección de Compras de Producto.
Especificaciones:
Boton GrabarProducto, Evento PushButtom, Desarrollar: Grabar_producto (id_producto,nombre,catgoria,marca,costo_unitario).
listBox Categorias. Desarrollar: escribir Categoria[índices+1];
Boton LimpiarDatos, Evento PushButtom, Desarrollar: clear().
Boton Cancelar, Evento PushButtom, Desarrollar: exit().
Ingeniería en Sistemas Computacionales 84
Análisis y Diseño de Sistemas II UCSG
Plan de pruebas.
Nombre de Grupo de Prueba: Registro de Usuario. No. de prueba: 1
Prerrequisitos:1. Se registra: #107, Queso de Leche, Postres, “ninguna”,
$0.60.
Instrucciones de configuración:
1. Se realiza el registro del producto con su código.2. Se debe elegir correctamente la categoría.3. Todos los campos son restringidos para el ingreso de
definición de datos de productos, es decir, llenar todos los campos de texto para su ingreso.
4. Verificar los datos del nuevo producto correctos antes de guardar.
Instrucciones de prueba:
1. El vendedor ingresa el código del producto: #107.2. El vendedor ingresa el nombre del producto: Queso de
Leche.3. El vendedor elije la categoría: Postres.4. El vendedor registra la marca del producto a definir:
<ninguno>.5. El vendedor ingresa el costo unitario: $0.60.6. No arroja ni un mensaje si uno o más campos que no
ingresa el dato.7. Dar Clic en el Botón Grabar Producto los datos que se van
a registrar
Comportamiento de Aceptación:
1. Se ha registrado con éxito la definición de los datos del producto.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33
Resultado de la prueba:
Éxito.
Observaciones: Ninguno.
Responsables: José Lumbano – Adrian Campoverde
Ingeniería en Sistemas Computacionales 85
Análisis y Diseño de Sistemas II UCSG
DIAGRAMAS DE CLASES
Diagrama de clases en fase de Análisis.
Ingeniería en Sistemas Computacionales 86
Análisis y Diseño de Sistemas II UCSG
Diagrama de Clases en fase de Diseño.
Ingeniería en Sistemas Computacionales 87
Análisis y Diseño de Sistemas II UCSG
Diagrama de Clases en fase de Diseño Mejorada.
Ingeniería en Sistemas Computacionales 88
Análisis y Diseño de Sistemas II UCSG
Detalle de Clases.
Clase Persona.
Nombre de la Clase: Persona.
Descripción: Clase que permite registrar los datos personales de todas las personas que actúan en la panadería (cliente, vendedor, etc.).
Estado: Activo, Inactivo, modificado, eliminado.
Relaciones:iii. Sub-Clases: Proveedor, panadero, Cliente.iv. Súper-Clases: v. Asociación:
Miembros Públicos: GuardarPersona(), BuscarPersona().
Miembros Protegidos:Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado].
Miembros Privados:
Notas:
Las personas se clasifican por tipos:
If (t_persona==’1’)then Persona=”cliente”;Else if(t_persona==’2’) then Persona=”Panadero”;Else if(t_persona==’3’) then Persona=”Proveedor”;End if;
Clase Cliente.
Nombre de la Clase: Cliente.
Descripción: Clase que permite registrar los datos personales de la persona solicitante de compra de forma existente y que permite manejar todas las operaciones en las que interviene.
Estado: Activo, Inactivo, modificado, eliminado.
Relaciones:1. Sub-Clases: 2. Súper-Clases: Persona. 3. Asociación:
Miembros Públicos: BuscarHistorial().
Ingeniería en Sistemas Computacionales 89
Análisis y Diseño de Sistemas II UCSG
Miembros Protegidos:Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado].
Miembros Privados: Tipo_cliente.
Notas:El cliente pertenece al tipo de persona que interviene.
t_persona=’1’;
Clase Panadero.
Nombre de la Clase: Panadero.
Descripción: Clase que actúa en su función de interactuar los registros y operaciones con las que pueden manejar para efectuar una transacción de la compra.
Estado: Activo, Inactivo, modificado, eliminado.
Relaciones:1. Sub-Clases: 2. Súper-Clases: Persona. 3. Asociación: Factura.
Miembros Públicos:
Miembros Protegidos:Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado].
Miembros Privados: Nombre_panaderia, elaborar().
Notas:El panadero pertenece al tipo de persona que interviene.
t_persona=’2’;
Clase Proveedor.
Nombre de la Clase: Proveedor.
Descripción:
El sistema permitirá conocer los diferentes tipos de proveedores, clasificarlos según la magnitud de crédito que tengan en el local, almacenarlo en una base de datos con el fin de registrarlo y verificar las cuentas por pagar que tenga el local cuando obtenga la compra de la materia prima.
Estado: Activo, Inactivo, modificado, eliminado.
Relaciones:1. Sub-Clases: 2. Súper-Clases: Persona. 3. Asociación: Materia_Prima con enlace de orden pedido.
Miembros Públicos: Listar_productos(), ingresar_ventas();
Miembros Protegidos:Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado].
Miembros Privados: Cod_proveedor, nombre_distribuidor
Ingeniería en Sistemas Computacionales 90
Análisis y Diseño de Sistemas II UCSG
Notas:El panadero pertenece al tipo de persona que interviene.
t_persona=’3’;
Clase Factura.
Nombre de la Clase: Factura.
Descripción: La factura permite guardar registros del cliente y realiza transacciones de compras sobre los productos que también son almacenador en sus registros del cliente.
Estado: Emitida, anulada, cobrada, anulada.
Relaciones:1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Panadero, Pedido.
Miembros Públicos: generarFactura(), imprimir().
Miembros Protegidos:
Miembros Privados:Codigo, nombre_cliente, cantidad, descripción, costo_unitario, costo_total, estado[Emitida, anulada, cobrada, anulada.].
Notas:La factura se registra por cliente, si el cliente decide registrarlo, caso contrario, se lo considera obviamente como consumidor final.
Clase Receta
Nombre de la Clase: Receta.
Descripción: Representa cada receta existente en el sistema, en la receta se indica el nombre del producto a fabricar, la materia prima a utilizar, y cuanto de cada una de estas se necesita.
Estado: Creada, Archivada, en Uso, Caducado.
Relaciones:1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Producto
Miembros Públicos: cargarReceta(),ObtenerReceta();
Miembros Protegidos:
Miembros Privados: Codigo, nombre_receta, fecha_elaboracion, lista_ingredientes, detalle_preparacion, estado[Creada, Archivada, en Uso, Caducado.]
Notas:La receta se puede obtener mediante los ingredientes y la preparación del producto, y al cargar una o mas receta muestra lo solicitado (ingredientes y preparación).
Clase Detalle_pedido.
Nombre de la Clase: Detalle_Pedido
Ingeniería en Sistemas Computacionales 91
Análisis y Diseño de Sistemas II UCSG
Descripción:
Esta clase permite describir cada producto a través de detalles, con las que pueden orientar mediante información hacia al cliente para realizar sus pedidos. Aquí se pueden detallar adicionalmente una observación, en caso de que haya novedades sobre el pedido de los productos
Estado: Vacio, aceptado, modificado, finalizado.
Relaciones:1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Pedido, Orden_compra.
Miembros Públicos: generarDetalles(), cargarDetalles(),borrarDetalles();
Miembros Protegidos:
Miembros Privados:Codigo, productos, detalles, observaciones, estado[Vacio, aceptado, modificado, finalizado];
Notas:El detalle pedido solo se fijara cierta información de cada producto, el estado y la observación.
Clase Pedidos.
Nombre de la Clase: Pedidos.
Descripción:
Clase que clasifica sus productos a través de un código para luego posiblemente llega inicialmente registrando a una factura cuando el cliente realiza el pedido de compra de los productos que se encuentra en la panadería.
Estado: Iniciado, En preparación, Finalizado, Anulado.
Relaciones:1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Cliente, Detalle_pedido.
Miembros Públicos:Regisrar_pedido(), Codigo, nombre_producto,cantidad, costo_unitario,estado[Iniciado, En preparación, Finalizado, Anulado].
Miembros Protegidos:
Miembros Privados: verificar_estado_solicitud();
Notas:
El pedido se busca por medio del codigo.
If codigo_producto== producto then Mostrar(“Producto:”+producto+”Cantidad”+cantidad+ ”Costo_Unitario:”+costo_unitario+”Estado:”+estado);Else Mostrar (“pedido no existe.”);End if;
Clase Formas_pago.
Nombre de la Clase: Formas Pago.
Ingeniería en Sistemas Computacionales 92
Análisis y Diseño de Sistemas II UCSG
Descripción: Esta clase especifica los tipos de pagos con el que se realiza el cliente ya sea por efectivo, cheque, tarjeta de crédito, al momento de pagar el total de la compra del producto.
Estado: Emitido, recibo_emitido, cobrando, anulado.
Relaciones:1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Pedido.
Miembros Públicos: Emitir_pago(), procesar_pago(), contar_efectivo().
Miembros Protegidos:
Miembros Privados:Tipo_pago, cantidad, cambio, estado[Emitido, recibo_emitido, cobrando, anulado], observación.
Notas:
Se clasifica las formas de pago.
Si t_pago==1 then Tipo_pago=”Efectvo”;Else Si t_pago==2 then Tipo_pago=”Cheque”;Else Si t_pago==3 then Tipo_pago=”Tarjeta”;End if;
Clase Materia_prima.
Nombre de la Clase: Materia Prima
Descripción: Esta clase permite registrar mediante las operaciones sobre los productos que van a ser distribuidos para la panadería mediante el proveedor.
Estado: Iniciando, preparando, procesado, terminado, defectuoso.
Relaciones:1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Proveedor, Orden_Compra
Miembros Públicos: Buscar(), Guardar(),eliminar();
Miembros Protegidos:
Miembros Privados:Código, nombre, peso, marca, costo, estado[Iniciando, preparando, procesado, terminado, defectuoso.]
Notas:Se realiza las operaciones de los datos de la materia prima distribuido para la panadería.
Clase Orden_Compra
Nombre de la Clase: Orden Compra
Ingeniería en Sistemas Computacionales 93
Análisis y Diseño de Sistemas II UCSG
Descripción: Esta clase nos permite emitir una orden de compra al proveedor con la autorización del administrador para la producción de la materia prima que se necesita para la panadería.
Estado: Iniciando, preparando, procesado, terminado, defectuoso.
Relaciones:1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Proveedor, Orden_Compra
Miembros Públicos: Buscar_oc(), Guardar_oc(), eliminar_oc();
Miembros Protegidos:
Miembros Privados:Código, nombre, peso, marca, costo, estado[Iniciando, preparando, procesado, terminado, defectuoso]
Notas:Se realiza la implementación de todas las operaciones de los datos de la materia prima distribuido para la panadería.
Clase Producto.
Nombre de la Clase: Producto
Descripción:
Esta clase nos permite la digitalización de todos los productos de nuestra panadería además de ayudarnos a clasificar cada producto a través de algún estado. Aquí podemos: ingresar, clasificar, modificar, eliminar información de los productos de venta.
Estado: Grabado, modificado, finalizado, eliminado.
Relaciones:1. Sub-Clases: Pan, Rosca, torta, Pastel2. Súper-Clases: 3. Asociación: Detalle_Pedido, Receta.
Miembros Públicos: generarProducto(), buscarProducto(), eliminar_producto();
Miembros Protegidos:Código, nombre, peso, marca, costo_unitario, costo_total, fecha_elab, fecha_caduc, distribuidor, estado[Grabado, modificado, finalizado, eliminado]
Miembros Privados:
Notas:
Se clasifica los productos existentes para la panaderia.
Si t_producto==1 then Tipo_ producto =”Pan”;Else Si t_producto ==2 then Tipo_ producto =”Pastel”;Else Si t_producto ==3 then Tipo_ producto =”Rosca”;Else Si t_producto ==4 then Tipo_ producto =”Torta”;End if;
Detalle de operaciones.
Clase Persona.
Ingeniería en Sistemas Computacionales 94
Análisis y Diseño de Sistemas II UCSG
Nombre de la Operación: Guardar Persona
Miembro de la clase: Persona
Argumentos:
Nombre: StringApellido: StringCedula: Long(15)Cuidad: StringDirección: StringTeléfono: Long(15)Estado: Char(1)
Control: Publico
Precondición: Id_persona=0;
Semántica:
Procedure guardarPersona(){
Id_persona+=1;InsertarRegistroPersona(Id_persona, nombre, apellido, cedula, cuidad, dirección,teléfono, ’A’);
}
Nombre de la Operación: Buscar Persona
Miembro de la clase: Persona
Argumentos:
Nombre: StringApellido: StringCedula: Long(15)Dirección: StringTeléfono: Long(15)
Control: Publico
Precondición:CI=0;Cadena=NULL;Estado=’’;
Semántica:
function guardarPersona(CI is Long)is String{
if (Cedula==CI && Estado==’A’){ Cadena+= “Nombre: ”+Nombre+ ”Apellido: ”+Apellido+ ”Cedula: ”+Cedula+ ”Direccion: ”+Direccion+ ”Telefono: ”+Telefono; }Else{ Cadena+=”Persona no Existe.”;}Return Cadena;
}
Clase Factura
Nombre de la Operación: Generar Factura
Miembro de la clase: FacturaArgumentos: Nombre_cliente: String
Ingeniería en Sistemas Computacionales 95
Análisis y Diseño de Sistemas II UCSG
Nombre_Producto: StringDescripcion: StringCantidad: IntCosto_unitario: FloatCosto_total: float
Control: Publico
Precondición:
Id_factura=0;Id_producto=0;Acumulador_total=0;Estado=’A’;
Semántica:
procedure generarFactura(){
Id_factura+=1;if (id_producto==cod_producto){ Costo_total=cantidad*Costo_unitario; Acumulador_total+=Costo_total;
grabarFactura(id_factura,nombre_cliente, Nombre_Producto, Descripcion, Cantidad, Costo_unitario, Costo_total, acumulador_total, estado);
}Else{ Mostrar(“Producto no Existe.”);}
}
Nombre de la Operación: Imprimir Factura
Miembro de la clase: Factura
Argumentos:
Nombre_cliente: StringNombre_Producto: StringDescripcion: StringCantidad: IntCosto_unitario: FloatCosto_total: float
Control: Publico
Precondición:Id_factura=0;Acum =0;Cadena=NULL;
Ingeniería en Sistemas Computacionales 96
Análisis y Diseño de Sistemas II UCSG
Semántica:
procedure imprimirFactura(cod_producto is int){
For(int i=0;i<nregistros;i++){ if (id_factura==cod_factura) {Acum+=Costo_total[i]; Cadena+=”Nombre Cliente:”+nombre_cliente[i]+ “NombreProducto:”+Nombre_producto[i]+ “Descripcion:”+descripción[i]+ ”CostoUnitario:”+Costo_unitario[i]+ ”Cantidad: ”+Cantidad[i]+ ”Costo_total: ”+Costo_total[i]); } Else { Mostrar(“Factura no Existe.”); }}Print(Cadena); // imprimir mediante impresora
}
Clase Receta
Nombre de la Operación: Obtener Receta
Miembro de la clase: Receta
Argumentos:
Nombre_Receta: StringNombre_ingredientes: StringPreparación:StringFecha_inicio:Date;
Control: Publico
Precondición:Id_receta=0;Estado=’C’;Ingredientes=NULL;
Semántica:
procedure generarFactura(){
Id_receta+=1;For(int i=0;i<ningr;i++){ Ingredientes+=Nombre_ingredientes[i]+”\n”;}
Insertar(id_receta, nombre_Receta, ingredientes,preparación, fecha_inicio,estado);}
Nombre de la Operación: Cargar Receta
Ingeniería en Sistemas Computacionales 97
Análisis y Diseño de Sistemas II UCSG
Miembro de la clase: Receta
Argumentos: Cod_receta: int
Control: Publico
Precondición: Id_receta=0;
Semántica:
procedure imprimirFactura(id_receta is int){ if(cod_receta==id_receta && status==’C’) {
cargarDatosReceta(Cod_receta); } Else
{ Mostrar(“Receta no Existe.”); }
}
Clase Detalle_Pedido
Nombre de la Operación: Generar detalles
Miembro de la clase: Detalle_pedido
Argumentos:
Id_detalles: intNombre_producto: StringDetalles: StringObservaciones: String
Control: PublicoPrecondición: Id_producto=0; estado=’A’;
Semántica:
procedure generarDetalles(id_producto is int){ If(producto.cod_producto==id_producto){ Insertar(id_detalles, nombre_producto, Detalles,Observaciones,estado); } Else {
Mostrar(“Producto no Existe.”); }
}
Nombre de la Operación: Cargar detalles
Miembro de la clase: Detalle_pedidoArgumentos: Cod_detalles: int;
Nombre_producto: StringDetalles: String
Ingeniería en Sistemas Computacionales 98
Análisis y Diseño de Sistemas II UCSG
Observación: String;Control: PublicoPrecondición: Id_detalles=0; Cadena=NULL;
Semántica:
function cargarDetalles(id_detalles is int)is String{ If(cod_detalles==id_detalles && estado==’A’){
Cadena+=”Cod. Detalles:”+id_detalles+ “Cod.Producto:”+producto.cod_producto+ “NombreProducto:”+Nombre_producto+ “Detalles:”+detalles+ ”Observacion:”+observación;
} Else {
Cadena+=Detalle no Existe.”; } Return Cadena;}
Nombre de la Operación: Borrar detalles
Miembro de la clase: Detalle_pedido
Argumentos:
Cod_detalles: int;Nombre_producto: StringDetalles: StringObservación: String;
Control: PublicoPrecondición: Id_detalles=0;
Semántica:
function borrarDetalles(id_detalles is int)is String{ If(cod_detalles==id_detalles && estado==’A’){ This.Delete(Cod_detalles, Nombre_producto, Detalles, Observación, NULL); } Else {
Cadena+=”Detalle no Existe.”; } }
Clase Pedidos.
Nombre de la Operación: Verificar_estado_pedido.
Miembro de la clase: Pedidos
Argumentos:Cod_pedido: intNombre_producto: String.
Ingeniería en Sistemas Computacionales 99
Análisis y Diseño de Sistemas II UCSG
Control: Privado
Precondición:Id_pedido=0; fecha_pedido=sysdate; cadena=NULL;status=(estado=’A’?”Iniciado”: estado=’P’:”Preparado”: estado=’F’?”Finalizado”: estado=’N’:”Anulado”);
Semántica:
function verificar_estado_pedido(cod_pedido is int)is String{ If(id_pedido==cod_pedido){
Cadena+=”Cod.Pedido:”+id_detalles+ “Nombre_Producto:”+producto.nombre_producto+ “fecha Pedido:”+fecha_pedido+ “Estado:”+Status;
} Else { Cadena+=”Pedido no Existe.”; } Return Cadena;}
Clase Formas_pago.
Nombre de la Operación: Emitir pago.
Miembro de la clase: Formas_pago
Argumentos:Cod_pedido: intNombre_producto: String.
Control: Publico
Precondición:Id_pedido=0; fecha_pago=sysdate; cadena=NULL;Tipo_p=(tipo_pago=1?”Efectivo”:tipo_pago=2?”Cheque”: tipo_pago=3?”Tarjeta_credito”);
Semántica:
function Emitir_pago(cod_pedido is int)is String{ If(Pedidos.id_pedido==cod_pedido){
Cadena+=”Cod.Pedido:”+id_detalles+ “Nombre_Producto:”+producto.nombre_producto+ “fecha Pedido:”+fecha_pedido+ “Total a pagar:”+Factura.total_pagar+ “Formas a pagar:”+Tipo_p;
} Else { Cadena+=”Pedido no Existe.”; } Return Cadena;}
Nombre de la Operación: Procesar_pago.
Miembro de la clase: Formas_pagoArgumentos: id_pedido: intControl: PublicoPrecondición: cod_pedido=0; fecha_pago=sysdate; resultado=NULL;
Tipo_p=(tipo_pago=1?”Efectivo”:tipo_pago=2?”Cheque”:
Ingeniería en Sistemas Computacionales 100
Análisis y Diseño de Sistemas II UCSG
tipo_pago=3?”Tarjeta_credito”);
Semántica:
function procesar_pago(cod_pedido is int)is String{ If(Pedidos.id_pedido==cod_pedido){
If(tipo_pago==1) { resultado=contar_efectivo(pago); return resultado; }
Else if(tipo_pago==2) { Resultado_cheque+=”Cheque por:”+ Total_pagar+“Fecha:” +Fecha; Return resultado; } Else if(tipo_pago==3) { Resultado+=No.Tarjeta+Cliente+ total_pagar+tipo_tarjeta+banco +fecha_pago; &banco.imprimir(Resultado); } } Else { Resultado+=”Pedido no existe”; Return Resultado; } }
Nombre de la Operación: Contar efectivo
Miembro de la clase: Formas_Pago
Argumentos:tipo_billete: int;tipo_moneda: int;
Control: PublicoPrecondición: cantidad=0; total=0;
Ingeniería en Sistemas Computacionales 101
Análisis y Diseño de Sistemas II UCSG
Semántica:
function contar_efectivo(cantidad is float)is String{ Do{ If(tipo_billete==1) {total+=100;} If(tipo_billete==2) {total+=50;} If(tipo_billete==3) {total+=20;} If(tipo_billete==4) {total+=10;} If(tipo_billete==5) {total+=5;} If(tipo_billete==6) {total+=1;}
If(tipo_moneda==1) {total+=1;} If(tipo_ moneda==2) {total+=0.50;} If(tipo_ moneda==3) {total+=0.25;} If(tipo_ moneda==4) {total+=0.10;} If(tipo_ moneda==5) {total+=0.05;} If(tipo_ moneda==5) {total+=0.01;} }while(total<=cantidad); If(total>=cantidad) { Vuelto=total-cantidad; Return(“Total pagar:”+total_pagar+ “Efectivo:”+”cantidad” “Cambio:”+(vuelto>0?vuelto: ”Completo con $0.00”); } Else { Return(“Falta más dinero.”) }}
Clase Materia_prima
Nombre de la Operación: Grabar materia prima
Miembro de la clase: Materia_prima
Argumentos:
Nombre: StringPeso: floatMarca: StringCosto: Float.
Control: Publico
Ingeniería en Sistemas Computacionales 102
Análisis y Diseño de Sistemas II UCSG
Precondición: Id_mp=0; Estado=’1’
Semántica:
procedure grabar_materia_prima(){ Id_mp+=1; nombre_mp=nombre; Peso_mp=peso; Marca_mp=marca; Costo_mp=costo; Estado=’1’; RegistroMP(Id_mp,nombre_mp,Peso_mp, Marca_mp, Costo_mp, Estado);)
Nombre de la Operación: Buscar materia prima
Miembro de la clase: Materia_primaArgumentos: Cod_mp:int;Control: PublicoPrecondición: Id_mp=0;
Semántica:
function buscar_materia_prima(Cod_mp is int)is String{ If(id_mp==cod_mp){
Cadena+=”Cod.MP:”+cod_mp+ “Nombre MP:”+nombre+ “Peso:”+peso+ “marca:”+marca+ “Costo:”+costo;
} Else { Cadena+=”Materia Prima no Existe.”; } Return Cadena;}
Nombre de la Operación: Eliminar materia prima
Miembro de la clase: Materia_primaArgumentos: Cod_mp:int;Control: PublicoPrecondición: Id_mp=0;
Ingeniería en Sistemas Computacionales 103
Análisis y Diseño de Sistemas II UCSG
Semántica:
procedure buscar_materia_prima(Cod_mp is int){ If(id_mp==cod_mp){
This.delete(Cod.MP:”+cod_mp+ “Nombre MP:”+nombre+ “Peso:”+peso+ “marca:”+marca+ “Costo:”+costo);
} Else { Mostrar(”Materia Prima no Existe.”); }}
Clase Orden_compra
Nombre de la Operación: Grabar orden compra
Miembro de la clase: Orden compra
Argumentos:Costo_total: FloatLista_productos:StringProveedor: String
Control: PublicoPrecondición: Id_oc=0; Estado=’1’
Semántica:
procedure grabar_oc(){ Id_oc+=1; Lista_productos=nom_list_productos; Costo_total=Producto.Acum_total; proveedor=proveedor_oc; Estado=’1’; RegistroOC(Id_mp,lista_prodcutos, Costo_total, Marca_mp, Costo_mp, Estado);)
Nombre de la Operación: Buscar orden compra
Miembro de la clase: Orden_compraArgumentos: Cod_oc:int;Control: PublicoPrecondición: Id_oc=0;
Ingeniería en Sistemas Computacionales 104
Análisis y Diseño de Sistemas II UCSG
Semántica:
function buscar_oc(Cod_oc is int)is String{ If(id_oc==cod_oc && estado==’1’){
Cadena+=”Cod.oc:”+cod_oc+ “Lista OC:”+nom_lista_productos+ “Costo Total:”+ Producto.Acum_total + “marca:”+marca+ “Costo:”+costo;
} Else { Cadena+=”Orden Compra no Existe.”; } Return Cadena;}
Nombre de la Operación: Eliminar orden compra
Miembro de la clase: Orden_compra
Argumentos:Costo_total: FloatLista_productos:StringProveedor: String
Control: PublicoPrecondición: Id_oc=0;
Semántica:
procedure eliminar_oc(Cod_oc is int){ If(id_mp==cod_mp && Estado==’1’){
This.delete(”Cod.oc:”+cod_oc+ “Lista OC:”+nom_lista_productos+ “Costo Total:”+ Producto.Acum_total + “marca:”+marca+ “Costo:”+costo);
} Else { Mostrar(”Orden de Compra no Existe.”); }}
Clase Producto
Nombre de la Operación: Grabar Producto
Miembro de la clase: Producto
Ingeniería en Sistemas Computacionales 105
Análisis y Diseño de Sistemas II UCSG
Argumentos:
Nombre_prodct: Stringpeso_prodct:StringCosto_Unitario: Float(6,2)marca_prodct: Stringf_elab: Datef_exp: DateDistribuidor:String
Control: PublicoPrecondición: Id_producto=0; Estado=’1’
Semántica:
procedure grabar_producto(){ Nombre_prodct=nombre; peso_prodct=peso; Costo_Unitario=costo_unitario; marca_prodct=marca; f_elab=fecha_elab; f_exp=fecha_caduc; Distribuidor=distribuidor; RegistroProducto(Nombre_prodct, peso_prodct, Costo_Unitario, marca_prodct, f_elab, f_exp, Distribuidor, estado); )
Nombre de la Operación: Buscar Producto
Miembro de la clase: Producto Argumentos: Cod_producto:int;Control: PublicoPrecondición: Id_producto=0;
Semántica:
function buscar_prodcuto(Cod_producto is int)is String{ If(id_prodcuto==cod_oc && estado==’1’){
Cadena+=”Cod.Prodcuto:”+cod_producto+ “Nombre Prpdcuto:”+nombre “Costo Unitario:”+ Costo_Unitario + “Marca:”+marca+ “Fecha.Elab:”+fecha_elab+”Fecha_caduc”+ Fecha_caduc+”Distribuidor:”+ Distribuidor);
} Else { Cadena+=”prodcuto no Existe.”; } Return Cadena;}
Nombre de la Operación: Eliminar Producto
Miembro de la clase: Producto
Argumentos: Cod_producto:int;
Control: Publico
Ingeniería en Sistemas Computacionales 106
Análisis y Diseño de Sistemas II UCSG
Precondición: Id_producto=0;
Semántica:
procedure eliminar_prodcuto(Cod_producto is int){ If(id_prodcuto==cod_oc && estado==’1’){
This.delete(Cod.Prodcuto:”+cod_producto+ “Nombre Prpdcuto:”+nombre “Costo Unitario:”+ Costo_Unitario + “Marca:”+marca+ “Fecha.Elab:”+fecha_elab+”Fecha_caduc”+ Fecha_caduc+”Distribuidor:”+ Distribuidor);
} Else { Mostrar(“Producto no Existe.”); }}
Persistencia de tipos de datos.
PersonaCampos Tipo de Datos Tipo Clave Valor
Nombreapellido cedula cuidad dirección teléfonoestado
StringStringLong(15)StringStringLong(20)Char(1)
PK
Not NullNot NullNot NullNot NullNullNot NullNot Null
Procedimientos Almacenados
Create or replace procedure guardarPersona();Create or replace procedure buscarPersona();
ProveedorCampos Tipo de Datos Tipo Clave Valor
Ingeniería en Sistemas Computacionales 107
Análisis y Diseño de Sistemas II UCSG
Id_ProveedorNombre_distribuidoridMateriaPrimaNombre_mp
IntegerStringIntegerString
PK
FK1:Materia_PrimaFK2:Materia_Prima
Not NullNot NullNot NullNot Null
Procedimientos Almacenados:
Create or replace procedure listarProductos();Create or replace procedure ingresarVentas();
PanaderoCampos Tipo de Datos Tipo Clave ValorId_PanaderoNombre_panaderiaId_facturaNombre_clienteTotal_pagar
IntegerStringIntegerStringFloat(8,2)
PK
FK1:facturaFK2:facturaFK3:factura
Not NullNot NullNot NullNot NullNot Null
Procedimientos Almacenados:
Create or replace procedure elaborar_productos();
Materia PrimaCampos Tipo de Datos Tipo Clave Valor
Id_mpId_ProveedorId_OrdenCompraNombrePesoMarcacostoNombre_distribuidor
IntegerIntegerIntegerStringFloat(2,2)StringFloat(8,2)String
PKFK1:proveedorFK2:orden_compra
FK1:proveedor
Not NullNot NullNot NullNot NullNot NullNot NullNullNot NullNot Null
Procedimientos Almacenados:
Create or replace procedure Buscar();Create or replace procedure Guardar();Create or replace procedure Eliminar();
FacturaCampos Tipo de Datos Tipo Clave Valor
Ingeniería en Sistemas Computacionales 108
Análisis y Diseño de Sistemas II UCSG
Id_FacturaNombre_clienteNombre_ProductoDescripcioncantidadCosto_unitarioCosto_totalId_pedidoEstadoId_panaderoNombre_panaderia
IntegerStringStringStringintegerFloat(6,2)Float(6,2)IntegerChar(1)IntegerString
PK
FK1:pedidoFK2:pedidoFK3:panaderoFK4:panadero
Not NullNot NullNot NullNot NullNot NullNot NullNot NullNot NullNot NullNot NullNot Null
Procedimientos Almacenados:
Create or replace procedure Buscar();Create or replace procedure Guardar();Create or replace procedure eliminar();
PedidoCampos Tipo de Datos Tipo Clave Valor
Id_pedidoNombre_productoestadoid_Facturanombre_clienteCantidadcosto_unitarioCosto_totalTipo_pagoCantidad_pagoCambio.
IntegerStringStringStringintegerFloat(6,2)Float(6,2)IntegerChar(1)IntegerString
PK
FK1:facturaFK2:facturaFK3:facturaFK4:facturaFK1:facturaFK2:formas_pagoFK3:formas_pagoFK4:formas_pago
Not NullNot NullNot NullNot NullNot NullNot NullNot NullNot NullNot NullNot NullNot Null
Procedimientos Almacenados:
Create or replace procedure Registrar_pedido();Create or replace procedure Verificar_solicitud(id_pedido is integer);
Ingeniería en Sistemas Computacionales 109
Análisis y Diseño de Sistemas II UCSG
Formas_pagoCampos Tipo de Datos Tipo Clave Valor
Tipo_pagoCantidadCambioEstadoObservaciónId_pedidoNombre_producto
Char(1)IntegerFloat(6,2)Char(1)StringIntegerString
PK
FK1:pedidosFK2:pedido
Not NullNot NullNullNot NullNullNot NullNot Null
Procedimientos Almacenados
Create or replace procedure Registrar_pago();Create or replace procedure procesar_pago(tipo_pago is integer);
Orden_compraCampos Tipo de Datos Tipo Clave Valor
Id_ordencompraNombre_productosCostoProveedorMarcaEstadoId_materia_primaId_detalleDetalles
IntegerStringFloat(6,2)StringStringChar(1)IntegerIntegerString
PK
FK1:Materia Prima
FK1:Detalle PedidoFK2: Detalle Pedido
Not NullNot NullNot NullNot NullNullNot NullNot NullNot NullNull
Procedimientos Almacenados
Create or replace procedure generarOrdenCompra();Create or replace procedure imprimir_oc(id_ordencompra is integer);
RecetaCampos Tipo de Datos Tipo Clave Valor
Id_recetaNombre_receta
IntegerString
PK Not NullNot Null
Ingeniería en Sistemas Computacionales 110
Análisis y Diseño de Sistemas II UCSG
Fecha_elaboracionNombre_ingredientesNombre_detallesDetalles_preparacion EstadoId_productoNombre_productoCosto_unitario
DateStringStringChar(1)IntegerStringFloat(6,2)
FK1:ProductoFK2: ProductoFK2: Producto
Not NullNot NullNullNot NullNot NullNot NullNull
Procedimientos Almacenados:
Create or replace procedure generarReceta();Create or replace procedure cargarReceta(id_receta is integer);Create or replace procedure buscarReceta(id_receta is integer);
ProductoCampos Tipo de Datos Tipo Clave Valor
Id_productoNombre_productoDetallesPesoLote Fecha_elaboracionFecha_expiracionCosto_unitarioCantidad Costo_totalProveedor EstadoId_pedidoId_recetaNombre_recetaPreparacion
IntegerStringStringFloat(6,2)Char(15)DateDateFloat(6,2)IntegerFloat(6,2)StringChar(1)IntegerIntegerStringString
PK
FK1:Detalle_Pedido
FK2:Detalle_pedidoFK3:RecetaFK4:RecetaFK5:Receta
Not NullNot NullNot NullNot NullNullNot NullNot NullNot NullNullNullNot NullNot NullNot NullNot NullNot NullNot Null
Procedimientos Almacenados:
Create or replace procedure generarProducto();Create or replace procedure buscarProducto(id_producto is integer);
Detalle_PedidoCampos Tipo de Datos Tipo Clave Valor
Ingeniería en Sistemas Computacionales 111
Análisis y Diseño de Sistemas II UCSG
CódigoProductos Detalles ObservacionesCostoEstado Id_pedidoId_ocProveedor
IntegerStringStringStringFloat(6,2)Char(1)IntegerIntegerString
PK
FK2:Detalle_pedidoFK3:PedidoFK4:Orden_compraFK5:Orden_compra
Not NullNot NullNot NullNullNot NullNot NullNot NullNot NullNull
Procedimientos Almacenados:
Create or replace procedure guardarDetalle();Create or replace procedure buscarDetalle(id_oc is integer);Create or replace procedure eliminarDetalle(id_oc is integer);
Ingeniería en Sistemas Computacionales 112
Análisis y Diseño de Sistemas II UCSG
BIBLIOGRAFIA UTILIZADA.
http://es.scribd.com/doc/55966348/5/Figura-3-Organigrama-de-la- Panaderia-y-Pasteleria-Paso-Pan
http://www.pastelerialorena.com/quienes.html http://panaderialavictoria.blogspot.com/ http://mdmoon.blogspot.com/2007/11/bibliografa.html http://www.crearcuestionarios.com/c-17378-
habitos_de_consumo.php http://www2.lavitoriana.com/encuesta_es_0_22_1.html
Ingeniería en Sistemas Computacionales 113