You are on page 1of 113

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

PROPUESTA DE AUTOMATIZACION PARA NEGOCIO DE PANADERIAS

TEMA GENERAL DEL PROYECTO:

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”…..............................................3 Antecedentes……………………………………………………….. ……………………..4 Misión, visión, Organigrama, Objetivos……………………………………………….5 Planteamiento de los problemas y de las oportunidades………………………….7 Análisis del FODA………………………………………………………………………….9 Objetivos del proyecto…………………………………………………………………..10 Alcance del proyecto……………………………………………………………………11 Determinación de la factibilidad……………………………………………………… 13 Planeación y control de actividades………………………………………………….17 Diagrama de Pert………………………………………………………………………… 18 Diagrama de Gantt……………………………………………………………………….19 Diagrama DFD…………………………………………………………………………….20 Encuestas………………………………………………………………………………….21 Resultados de la Encuesta…………………………………………………………..… 24 Casos de uso: Definición de Casos de Uso y Actores……………………….…… 28 Diagrama de Casos de Uso…………………………………………………………….29 Descripción de Casos de Uso y Actores…………………………………………….30 Descricion de 3 estilos: Shaller/Mellor, Wirfs-Brock, Rumbaugh……………… 37 Lista de Objetos…………………………………………………………………………..50 Diagrama de objetos…………………………………………………………………….52

Ingeniería en Sistemas Computacionales

2

Análisis y Diseño de Sistemas II

UCSG

Bibliografía………………………………………………………………………………...5 3

PANADERIA Y PASTELETRIA “BARCELONA”.

Ingeniería en Sistemas Computacionales

3

Análisis y Diseño de Sistemas II

UCSG

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.

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.

Ingeniería en Sistemas Computacionales

4

Análisis y Diseño de Sistemas II

UCSG

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.

MISIÓN
Ofrecer 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ÓN
Llegar 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.

Ingeniería en Sistemas Computacionales

5

Análisis y Diseño de Sistemas II

UCSG

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.

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.

Ingeniería en Sistemas Computacionales

6

Análisis y Diseño de Sistemas II

UCSG

 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.
“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.

Ingeniería en Sistemas Computacionales

7

Análisis y Diseño de Sistemas II

UCSG

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 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.
Ingeniería en Sistemas Computacionales

8

Análisis y Diseño de Sistemas II

UCSG

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

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.

Ingeniería en Sistemas Computacionales

9

Análisis y Diseño de Sistemas II

UCSG

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.

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.
Ingeniería en Sistemas Computacionales

10

Análisis y Diseño de Sistemas II

UCSG

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
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.
Ingeniería en Sistemas Computacionales

11

Análisis y Diseño de Sistemas II

UCSG

• 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 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.

Ingeniería en Sistemas Computacionales

12

Análisis y Diseño de Sistemas II

UCSG

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. 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.

Ingeniería en Sistemas Computacionales

13

Análisis y Diseño de Sistemas II

UCSG

DETALLE DE LOS RECURSOS TECNOLÓGICOS NECESARIOS PARA LA IMPLEMENTACIÓN DEL PROYECTO: POR HARDWARE Y SOFTWARE:
Una computadora características:
1)

de

escritorio

con

las

siguientes

CARACTERISTICAS TIPO CORE 2 DUO 2.9 GHZ CASE Combo 475/500 w MAINBOARD Biostar Core 2 Duo 2,93 ghz/3m/1066mhz PROCESADOR MONITOR LCD 16" Aoc/Prima MEMORIA RAM 3ºGB 667/800 mhz ddr2 DISCO DURO 500 Gb Maxtor-Samsung DVDWRITER Lg Sata VIDEO Chip Intel 200 mb Pciexpress RED 10/100 Mbps SONIDO Full DuplexTECLADO Multimedia MOUSE 2 Botones optico PARLANTES 120-360 watts LECTOR DE 7 EN 1 Markvision MEMORIA LICENCIA W7 1 AÑO PROFESSIONAL PRECIO $ 522,11

Ingeniería en Sistemas Computacionales

14

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 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
Mano de Obra Equipo de análisis Costo de hacer análisis completo de Sistema Costo del desarrollo y programación del Sistema Costo de Inversión aproximado de Hardware y Software TOTALES ESTIMADOS

Tiempo de Gestión
A considerar 3 Meses 1 Mes 1 semana (Instalación)

Costo
A considerar $500 $1200 $1200 $2900

OPCIONAL: SERVER HP Servidor ML110G6 Quad Core
Ingeniería en Sistemas Computacionales

15

Análisis y Diseño de Sistemas II BP885A HP Servidor ML110G6 Quad Core (1) Intel® Xeon® processor X3430 HP 500GB 3G SATA 7.2K 3.5in NHP MDL HDD P. Promoción TOTAL:

UCSG $ $ 1.170,00 793,50 $ $ 307,05 218,50 1.012

458941 -B21

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 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

Ingeniería en Sistemas Computacionales

16

Análisis y Diseño de Sistemas II

UCSG

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 Actividad Actividad Precedente Ninguna A de B C Ninguna D,E F C,F H I J K L Duración (Días) 3 2 7 8 5 5 1 3 3 7 7 30 90
17

ANALISIS

DISEÑO DE SISTEMA Y DE OBJETOS IMPLEMENTACI ON

a.- Entrevistas. b.Tabulación entrevistas c.- Análisis del flujo de datos d.- Esquematización del Prototipo e.- Análisis Costo comercialización f.Preparación propuesta g.- Presentación de Propuesta h.- Diseño Entradas i.- Diseño Salidas j.- Programación k.- Implementación l.- Supervisión m.- Evaluación Final de los productos en

Ingeniería en Sistemas Computacionales

Análisis y Diseño de Sistemas II

UCSG

venta
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

18

Análisis y Diseño de Sistemas II

UCSG

 Diagrama de Gantt

Ingeniería en Sistemas Computacionales

19

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

20

Análisis y Diseño de Sistemas II

UCSG

DIAGRAMA DE NIVEL 1 (DE CONTEXTO).

Ingeniería en Sistemas Computacionales

21

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.
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.)?

Ingeniería en Sistemas Computacionales

22

Análisis y Diseño de Sistemas II

UCSG

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 productos No Sabe

4. ¿Con qué frecuencia consume de la panadería y pastelería Barcelona? Cada De Una Sola Nunca Semana Repente Vez 5. ¿Cuál es el atributo que más valora en los productos de la pastelería y/o panadería? Diario Precio Calidad Presentació n Sabor 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

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 23

Ingeniería en Sistemas Computacionales

Análisis y Diseño de Sistemas II

UCSG

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

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

Ingeniería en Sistemas Computacionales

26

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. 6. Atender Clientes.

Definición de los Actores.
Actores Principales 1. Administrador. 2. Vendedor. Actores Secundarios 27

Ingeniería en Sistemas Computacionales

Análisis y Diseño de Sistemas II

UCSG

1. Factura.

Diagrama de Caso de Uso
Sistema de Automatización de Panaderías

Ingeniería en Sistemas Computacionales

28

Análisis y Diseño de Sistemas II

UCSG

Descripción de Casos de Uso

Sistema de Automatización de Panaderías
Nombre:
Definición de Datos de Productos ID: CU1 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.

Descripción:

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. 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. • 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.

Limitaciones:

Ingeniería en Sistemas Computacionales

29

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre:
Gestionar Proveedores ID: CU2 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 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. 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.

Descripción:

Limitaciones:

• • • •

Ingeniería en Sistemas Computacionales

30

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre:
Gestionar Inventarios. ID: CU3 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 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. • 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.

Descripción:

Limitaciones:

Ingeniería en Sistemas Computacionales

31

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre:
Calculo de la Producción. ID: CU4 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. 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. 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

Descripción:

Limitaciones:

• • •

Ingeniería en Sistemas Computacionales

32

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre:
Elaborar Facturación. ID: CU5 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. • El producto que no se encuentra en existencia. • Cliente que no este registrado.

Descripción:

Limitaciones:

Sistema de Automatización de Panaderías
Nombre:
Atender Clientes. ID: CU6 Pueden haber dos formas de registrar un cliente en el sistema: cuando el vendedor procede a realizarle una venta al cliente, y cuando se 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.
Ingeniería en Sistemas Computacionales

Descripción:

33

Análisis y Diseño de Sistemas II

UCSG

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ías
Nombre:
Administrador Tipo Actor: Primario 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. • No intervendrá en la realización de la factura de venta. • Abstenerse en la entrevista al cliente al momento de compra.

Descripción:

Limitaciones:

Sistema de Automatización de Panaderías
Nombre:
Vendedor Tipo Actor: Primario 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. • 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.

Descripción:

Limitaciones:

Ingeniería en Sistemas Computacionales

34

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre:
Factura Tipo Actor: Secundario 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. • Solo el Vendedor elaborara la factura. • Existen Datos opcionales posiblemente no se registraran en la factura.

Descripción:

Limitaciones:

Ingeniería en Sistemas Computacionales

35

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: Cosas Tangibles: Roles: Incidentes: Iteraciones: Especificaciones: Definición de Datos de Productos Productos Almacenamiento de Productos. Información de Productos. ID: CU1

• Estilo Wirfs-Brock Sistema de Automatización de Panaderías
Nombre:
Definición de Datos de Productos

ID: CU1

Oraciones:

Lista de sustantivos:

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. Administrador. Información. Nombre de Cuenta. Base de Datos. Contraseña. Descripción. Sistema. Código Productos. Transacción. Detalles. Valor.

• El sistema es ingresado de forma personal a través de nombre

Ingeniería en Sistemas Computacionales

36

Análisis y Diseño de Sistemas II Venta. Panadería. Administrador, Producto, Venta. Transacción

UCSG Digitalizador de información. Consulta.

Clases Obvias: Sin sentidos: Frases Inseguras:

Valor, Descripción, sistema, Administrador, Panadería.

Estilo Rumbaugh. Sistema de Automatización de Panaderías

Nombre:

Definición de Datos de Productos • • • • • • • • • • • • Username/Administrador. contraseña, sistema, productos, detalles, venta, panadería, consulta, Información(X). Base de Datos. Descripción. Código. • • • • • • • • • • •

ID: CU1

Listas de sustantivos:

Transacción(X). Valor(X). Digitalizador de Datos. Negocio. Stock(X). Precio. Fecha. Lote. Categoría. Jornada. Cantidad.

Clases Redundantes: Clases Irrelevantes: Clases Vagas Atributos: Operaciones: Roles:

Negocio, Sistema. Detalles, Username/Administrador, Contraseña Fecha, código, Cantidad, Precio, lote, categoría, jornada, Descripción, Valor. Transacción, consulta Administrador.

Ingeniería en Sistemas Computacionales

37

Análisis y Diseño de Sistemas II

UCSG

CU2: Gestionar Proveedores.
• Estilo Shaller/Mellor Sistema de Automatización de Panaderías
Nombre: Cosas Tangibles: Roles: Incidentes: Iteraciones: Especificaciones: Gestionar Proveedores. ID: CU2 Materia Prima, Solicitud, Auditoria, panadero. Proveedor, propietario, panadero, distribuidores. Escases de Producto. Calificación de Materia Prima. Formas de Pago, notificaciones, Auditorias de Proveedores.

• Estilo Wirfs-Brock Sistema de Automatización de Panaderías
Nombre: Gestionar Proveedores. ID: CU2
• El panadero selecciona estrictamente la materia prima para la • • • • •

Oraciones:

• • • • •

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.

Ingeniería en Sistemas Computacionales

38

Análisis y Diseño de Sistemas II

UCSG

Lista de sustantivos:

Clases Obvias: Sin sentidos: Frases Inseguras:

Administrador. Distribuidor. Producto. Proveedor. Materia prima. Panadero. Formas de pago. Propietario. Cantidad. Distribuidor. Material. Bodega. Auditoria. Solicitud. Establecimiento. Factores de Calidad. Cantidad. Proveedor, panadero, Productos, Materia Prima, Factores de Calidad Semana, material, publico, establecimiento, Boletines, administrador, distribuidor, Bodega, Propietario, Auditoria. Categorías.

Estilo Rumbaugh. Sistema de Automatización de Panaderías

Nombre:

Definición de Datos de Productos • • • • • • • • Administrador. Producto. Materia prima. Formas de pago. Cantidad. Material. (X) Auditoria. Establecimiento. • • • • • • • •

ID: CU1

Listas de sustantivos:

Proveedor. Panadero. Semana. Propietario.(X) Distribuidor. (X) Bodega. Solicitud. Sistema.

Clases Redundantes: Clases Irrelevantes: Clases Vagas Atributos: Operaciones: Roles:

Materia prima, Distribuidor, Propietario. Auditoria, Propietario, Semana, Establecimiento. Sistema. Cantidad. • Elaboración de la Solicitud del Pedido. • Calificación de los distribuidores. • Auditoria de Proveedores.

Ingeniería en Sistemas Computacionales

39

Análisis y Diseño de Sistemas II

UCSG

CU3: Gestionar Inventarios
• Estilo Shaller/Mellor Sistema de Automatización de Panaderías
Nombre: Cosas Tangibles: Roles: Incidentes: Gestionar Inventarios. Productos Proveedor Calculo Total. ID: CU3

Iteraciones: Estados Financieros. Especificaciones:

• Estilo Wirfs-Brock Sistema de Automatización de Panaderías
Nombre:
Gestionar Inventarios

ID: CU3

• El Administrador es el que digitara el ingreso de Datos de Productos

Oraciones:

• 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. Administrador. Productos. Datos de Productos. Precios. Código. Costos. Estados Financiaros. Cálculos Totales. Contabilidad. Estados Financieros, Datos de Productos Contabilidad. Cálculos Totales.

Lista de sustantivos: Clases Obvias: Sin sentidos: Frases Inseguras:

Estilo Rumbaugh.
40

Ingeniería en Sistemas Computacionales

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre:
Gestionar Inventarios • • • • • • • • • Administrador. Productos. Datos. Código. Nombre del Producto, Proveedor. Precio unitario. Precio de compra. IVA.

ID: CU3
• Existencia. • Atributo. • Sumatoria de Productos en Stock. • Sumatoria de costos. • Sumatorias de Stocks Totales. • Estados Financieros. • Costos Totales. • Contabilidad. • Inventario.

Listas de sustantivos:

Clases Redundantes: Clases Irrelevantes: Clases Vagas Atributos:

Estados Financieros, Productos. Cálculos Totales. Contabilidad. Código, Nombre del Producto, Precio Unitario, IVA, Existencia, Precio de compra. • 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.

Operaciones: Roles:

CU4: Calculo de la Producción.
Ingeniería en Sistemas Computacionales

41

Análisis y Diseño de Sistemas II

UCSG

Estilo Shaller/Mellor. Sistema de Automatización de Panaderías

Nombre: Cosas Tangibles: Roles: Incidentes: Iteraciones: Especificaciones:

Calculo de la Producción Pan, Materia Prima, Recetas. Panadero • Impresión de Recetas. • Productos Reutilizables. Calculo de Productos.

ID: CU4

Estilo Wirfs-Brock. Sistema de Automatización de Panaderías

Nombre:

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. Recetas. Materia prima. Sistema. Calculo Totales. Receta, Materia prima. Cálculos Totales. Patrón. Producto. Calidad Estándar. Patrón. Productos Reutilizados.

Lista de sustantivos: Clases Obvias: Sin sentidos: Frases Inseguras:

Estilo Rumbaugh.
42

Ingeniería en Sistemas Computacionales

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre:
Calculo de la Producción • • • • • Recetas. Pan(x), Materia prima. Sistema. Calculo de cantidad Unidades. • • • • • ID: CU4 Producto. Panadero. Nuevo Trabajador. Patrón. Tiempo.

Listas de sustantivos: Clases Redundantes: Clases Irrelevantes: Clases Vagas Atributos: Operaciones: Roles:

de

Patrón.

Nuevo Trabajador Tiempo • Calculo de Unidades. • Reutilización del producto no vendido.

CU5: Elaborar Facturación.

Estilo Shaller/Mellor.
Ingeniería en Sistemas Computacionales

43

Análisis y Diseño de Sistemas II

UCSG

Sistema de Automatización de Panaderías
Nombre: Cosas Tangibles: Roles: Incidentes: Iteraciones: Especificaciones:

Elaborar Facturación. Producto. Cliente. Impresión de la Factura.

ID: CU5

Factura, Calculo Total, Formas de Pago, descuentos.

Estilo Wirfs-Brock. Sistema de Automatización de Panaderías

Nombre:

Elaborar Facturación.

ID: CU5

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. 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.

Lista de sustantivos: Clases Obvias: Sin sentidos: Frases Inseguras:

Factura, Detalles de la Factura, Vendedor, Cliente Frecuente. Código del Producto, Cálculos totales, Descuentos. Descripción del Producto.

• Estilo Rumbaugh. Sistema de Automatización de Panaderías
Nombre:
Elaborar Facturación. ID: CU5
Ingeniería en Sistemas Computacionales

44

Análisis y Diseño de Sistemas II • • • • • • • • Nombre del cliente Código del Cliente. Cédula. (X) Fecha. Saldo en mora. Código de producto. (X) Descripción de producto. Factura. • • • • • • • •

UCSG Venta. Suma de Precios. Calculo Subtotal. Descuentos. (X) IVA. Promociones. Cálculo de Total a pagar. Cliente.

Listas de sustantivos:

Clases Redundantes: Clases Irrelevantes: Clases Vagas Atributos:

Clientes. Fecha, Saldo Nombre del Cliente, Cedula, Código del Producto, Código del Cliente, Código de producto, Código del Cliente. • • • • Suma de Precios. Calculo subtotal. Calculo Total a Pagar. Calculo del IVA.

Operaciones: Roles:

Cliente.

CU6: Atender Clientes.
• Estilo Shaller/Mellor. Sistema de Automatización de Panaderías
Ingeniería en Sistemas Computacionales

45

Análisis y Diseño de Sistemas II

UCSG

Nombre: Cosas Tangibles: Roles: Incidentes:

Atender Clientes. Producto, Factura Cliente Entrevista al cliente. Historial. Descuentos.

ID: CU6

Iteraciones: Especificaciones:

Estilo Wirfs-Brock. Sistema de Automatización de Panaderías

Nombre:

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. Cliente. Venta. Entrevista. Producto. Vendedor. Datos. Venta. Cuenta Pendiente. Entrevista. Factura. Datos. Cuenta Pendiente. Historial.

Lista de sustantivos: Clases Obvias: Sin sentidos: Frases Inseguras:

Cliente, factura, historial, producto, vendedor.

• Estilo Rumbaugh. Sistema de Automatización de Panaderías
Nombre:
Atender Clientes.

ID: CU6

Ingeniería en Sistemas Computacionales

46

Análisis y Diseño de Sistemas II • • • • • • • Vendedor. (X) Venta. (X) Cliente.(X) Nombre. Apellido. RUC. Dirección. • • • • • • • • Teléfono. Administrador. (X) Descuento. Deuda. Producto. Factura. Historial. Crédito.

UCSG

Listas de sustantivos:

Clases Redundantes: Clases Irrelevantes: Clases Vagas Atributos: Operaciones: Roles:

Historial. Nombre, Apellido, RUC, Dirección, Teléfono. Descuento, crédito. Cliente.

Lista de Clases Definitiva del Caso de Uso
Objetos Finales

Ingeniería en Sistemas Computacionales

47

Análisis y Diseño de Sistemas II

UCSG

 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.

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

Ingeniería en Sistemas Computacionales

50

Análisis y Diseño de Sistemas II

UCSG

CASO DE USO CU1: DEFINICION DE DATOS DE PRODUCTOS.
CU1.Escenario #1: Ingreso de datos de productos existentes.

Escenario: Suposiciones : Resultados:

Ingreso de existentes.

información

de

productos

ID: Escenario 1

1. El nombre del Producto, categoría, lote, precio existe. 2. La Cantidad esta definida. 1. El producto queda registrado. 2. La cantidad queda asignada al producto.

CU1.Escenario #2: Ingreso de datos de productos que no existe.

Escenario:

Ingreso de datos de productos que no ID: Escenario 2 existe.

Ingeniería en Sistemas Computacionales

51

Análisis y Diseño de Sistemas II 1. El producto no existe.

UCSG

Suposiciones :

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.

CASO DE USO CU2: GESTIONAR PROVEEDORES.
CU2.Escenario #1: Registro de Proveedores.
Ingeniería en Sistemas Computacionales

52

Análisis y Diseño de Sistemas II

UCSG

Escenario: Suposiciones :

Registro de Proveedores.

ID: Escenario 1

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.

CU2.Escenario #2: Emisión Orden de Pedido Proveedor.

Escenario:

Emisión Orden de Pedido Proveedor.

ID: Escenario 2

Ingeniería en Sistemas Computacionales

53

Análisis y Diseño de Sistemas II 1. El proveedor está definido.

UCSG

Suposiciones :

2. Los productos están definidos. 3. La lista de pedidos ha están generada. 1. La solicitud de pedido quedó emitido.

Resultados:

2. La solicitud de pedido quedó aprobada. 3. La notificación de solicitud de pedido quedó generado.

CU2.Escenario #3: Orden de pedido del proveedor no emitido.

Escenario:

Orden de pedido del proveedor no emitido.

ID: Escenario 3

Ingeniería en Sistemas Computacionales

54

Análisis y Diseño de Sistemas II

UCSG

Suposiciones : Resultados:

1. El proveedor ha sido seleccionado 2. Los productos no son entregados por proveedor. 1. La solicitud de pedido no queda emitida.

CASO DE USO CU3: GESTIONAR INVENTARIOS.
CU3.Escenario #1: Entrada de Mercaderías.
Ingeniería en Sistemas Computacionales

55

Análisis y Diseño de Sistemas II

UCSG ID: Escenario 1

Escenario: Suposiciones :

Entrada de Mercaderías. 1. La mercadería esta entregada. 2. La factura esta entregada. 3. La mercadería es recibida por el administrador. 1. La mercadería fue registrada.

Resultados:

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

Ingeniería en Sistemas Computacionales

56

Análisis y Diseño de Sistemas II

UCSG

Suposiciones :

1. 2.

La solicitud de Salidas de Mercadería existe. Cada Artículo tiene stock.

1. La solicitud de Salidas de Mercadería quedo registrada.

Resultados:

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.
Ingeniería en Sistemas Computacionales

57

Análisis y Diseño de Sistemas II

UCSG ID: Escenario 1

Escenario:

Producción exitosa con receta. 1. La receta para elaborar el pan existe.

Suposiciones :

2. Los ingredientes con cantidades requeridas en receta si hay en inventario. 3. La cantidad de panes a elaborar esta definida. 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.

Resultados:

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 1. La receta para elaborar el pan existe.

UCSG

Suposiciones :

2. La cantidad de pan esta definida 3. Los ingredientes con cantidades requeridas en receta no están disponibles. 1. Las cantidades de producción quedaron calculados

Resultados:

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 1. Las especificaciones de pan a fabricar están definidas.

UCSG

Suposiciones :

2. La cantidad del pan esta definida. 3. La materia prima a usar existe. 1. La cantidad de ingredientes quedó calculado. 2. La cantidad de materia prima quedo disminuido.

Resultados:

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 1. Las especificaciones de pan a fabricar están receptadas.

UCSG

Suposiciones :

2. La cantidad del pan está definida. 3. La materia prima a usar no existe. 1. La cantidad de ingredientes quedo calculada.

Resultados:

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
de

Escenario:

Emisión de éxito de una factura registro para consumidor final.

ID: Escenario 1

1. El cliente ha pedido la factura como un consumidor final.

Suposiciones :

2. La descripción de la compra existe. 3. El cliente si dispone del valor del cobro.

Resultados:

1. 2.

La factura quedó registrada e impresa. 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 ID: Escenario 2 registro para consumidor final.

Ingeniería en Sistemas Computacionales

62

Análisis y Diseño de Sistemas II 1. El cliente ha pedido la factura como un consumidor final.

UCSG

Suposiciones :

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 ID: Escenario 1

Escenario: Suposiciones : Resultados:

Ingreso exitoso de un Cliente. 1. El cliente no existe. 2. Los datos del cliente están definidos. 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 : Resultados:

1. El cliente no existe. 2. Los datos del cliente no están definidos. 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. FACTURA 2. INVENTRARIO. 3. VENTA. 4. COBROS VENTA. 5. PRODUCTOS ELABORACION. 6. RECETA 7. PRODUCTO 8. ORDEN PEDIDO. 9. PERSONA.

1.

FACTURA.
ESTADOS  Emit ida.  Ter minada.  Cob rada.  Anu lada.

ESTADOS

2.

INVENTARIO.

 Vaci o.  Modi ficado. Ingeniería en Sistemas Computacionales  Guar dado.  Term inado.

66

Análisis y Diseño de Sistemas II

UCSG

3.

VENTA.
ESTADOS

 va.  lada.  diente.  hazada.  utada.

Acti Anu Pen Rec Ejec

4.

COBROS VENTA.
ESTADOS

 Activado.  Cobrado.  Contado. Ingeniería en Credito.Computacionales Sistemas

67

Análisis y Diseño de Sistemas II

UCSG

5. PRODUCTOS ELABORACION.
ESTADOS  Procesando.  Torta.  Pan.

6. RECETA.
ESTADOS  Activa.  Inactiva.  Procesando. Ingeniería en Procesada. Sistemas Computacionales

68

Análisis y Diseño de Sistemas II

UCSG

7. PRODUCTOS.
ESTADOS  Disponible.  No Disponible.  En venta  Listo materia prima.

8. ORDEN PEDIDO
ESTADOS
    Vacio. Modificado. Terminada. Aceptado.

Ingeniería en Sistemas Computacionales

69

Análisis y Diseño de Sistemas II

UCSG

9. PERSONA.
ESTADOS          Activado. Disponible. Proveedor. Empleado. Cliente. Enfermedad. Mora. Inactivo. No disponible.

FLUJO DE VENTANAS Y LAOUTS

Ingeniería en Sistemas Computacionales

70

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

Ingeniería en Sistemas Computacionales

72

Análisis y Diseño de Sistemas II

UCSG

Prerrequisitos:

1. La factura es registrada de forma automática con la fecha que se realiza la transacción. 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. 1. 2. 3. 4. 5. 6. a. b. c. El cliente de la panadería esta definido. El consumidor final es cuando el cliente no se registra. Los productos de la panadería están definidos. Se puede verificar los productos existentes de la panadería. El código de la factura es añadido automáticamente. La fecha de la transacción es generada automáticamente provenido del sistema. El sistema le genera automáticamente un nuevo número de la factura. 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. 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. 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. Dar click en Grabar para guardar los datos de la factura al termine la transacción. Factura terminada con éxito. La factura queda impresa.

Instrucciones de configuración:

Instrucciones de prueba:
d. e.

Comportamiento de Aceptación: Fecha y Hora: Resultado de la prueba: Observaciones: Responsables:

i. ii.

Martes, 4 de Octubre del 2011 – 18h05 Éxito.

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. 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.

Instrucciones de configuración:

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. 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. Lunes, 17 de enero del 2012 – 14h33 Éxito.

Comportamiento de Aceptación: Fecha y Hora: Resultado de la prueba: 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 PasarRegistro Desarrollar: ListaProductos(producto,cantidad,pu,costototal)) Boton Buscar Desarrollar: BuscarProducto(Producto,CI).

Plan de pruebas.
Ingeniería en Sistemas Computacionales

76

Análisis y Diseño de Sistemas II

UCSG

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 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”. 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. 1. Se ha seleccionado exitosamente los productos seleccionados por el cliente. 2. El grid sigue mostrando los datos del producto recientes. Lunes, 17 de enero del 2012 – 14h33 Éxito.

Instrucciones de configuración:

Instrucciones de prueba:

Comportamiento de Aceptación: Fecha y Hora: Resultado de la prueba: Observaciones: Responsables:

José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)

Pantalla: LOGIN.
Ingeniería en Sistemas Computacionales

77

Análisis y Diseño de Sistemas II

UCSG

Especificaciones:
• • •

Boton IniciarSession, Evento PushButtom, Desarrollar: Verificar (usuario, Password). Boton LimpiarDatos, Evento PushButtom, Desarrollar: clear(). Boton Cancelar, Evento PushButtom, Desarrollar: exit().

Plan de pruebas. 78

Ingeniería en Sistemas Computacionales

Análisis y Diseño de Sistemas II Nombre de Grupo de Prueba:

UCSG

Inicio de sesión. 1.

No. de prueba: 1

Prerrequisitos: Instrucciones de configuración:

El nombre del usuario jose.lumbano y la clave 123456 (******), son ingresados para iniciar la sesión al sistema.

1. Los usuarios son definidos como vendedores. 2. Los usuarios existen. 3. La contraseña debe generarse. 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. 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. Lunes, 17 de enero del 2012 – 14h33 Éxito.

Instrucciones de prueba:

Comportamiento de Aceptación: Fecha y Hora: Resultado de la prueba: Observaciones: Responsables:

José Lumbano (Analista, programador) – Adrian Campoverde (Usuario, Panadero)

Pantalla: Registro de Usuarios.
Ingeniería en Sistemas Computacionales

79

Análisis y Diseño de Sistemas II

UCSG

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().

Plan de pruebas.

Ingeniería en Sistemas Computacionales

80

Análisis y Diseño de Sistemas II Nombre de Grupo de Prueba: Registro de Usuario.

UCSG
No. de prueba: 1

Prerrequisitos:

Instrucciones de configuración:

1. El usuario jose.lumbano esta registrado en el sistema. 2. El usuario jose.lumbano se registra con CI: 0916169786. 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. 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. 1. Se ha registrado con éxito el registro de usuario con su respectiva contraseña. Lunes, 17 de enero del 2012 – 14h33 Éxito.

Instrucciones de prueba:

Comportamiento de Aceptación: Fecha y Hora: Resultado de la prueba: Observaciones: Responsables:

José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)

Pantalla: Selección de Compras de Producto.
Ingeniería en Sistemas Computacionales

81

Análisis y Diseño de Sistemas II

UCSG

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().

Plan de pruebas.

Ingeniería en Sistemas Computacionales

82

Análisis y Diseño de Sistemas II Nombre de Grupo de Prueba: Seleccionar productos 1. compra de

UCSG
No. de prueba: 1

Prerrequisitos: Instrucciones de configuración:

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.

1. El producto existe y están definidos. 2. El IVA Puede ser entre 0% y 12% 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. 1. Se ha realizado exitosamente la transacción del producto: pasteles, 4, $0.45, $1.80 2. El producto es colocado a la factura. Lunes, 17 de enero del 2012 – 14h42 Éxito.

Instrucciones de prueba:

Comportamiento de Aceptación: Fecha y Hora: Resultado de la prueba: Observaciones: Responsables:

José Lumbano(Analista, programador) – Adrian Campoverde(Usuario, Panadero)

Pantalla: Selección de Compras de Producto.

Ingeniería en Sistemas Computacionales

83

Análisis y Diseño de Sistemas II

UCSG

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().

Plan de pruebas.

Ingeniería en Sistemas Computacionales

84

Análisis y Diseño de Sistemas II Nombre de Grupo de Prueba: Registro de Usuario.

UCSG
No. de prueba: 1

Prerrequisitos:

1. Se registra: #107, Queso de Leche, Postres, “ninguna”, $0.60. 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. 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 1. Se ha registrado con éxito la definición de los datos del producto. Lunes, 17 de enero del 2012 – 14h33 Éxito. Ninguno. José Lumbano – Adrian Campoverde

Instrucciones de configuración:

Instrucciones de prueba:

Comportamiento de Aceptación: Fecha y Hora: Resultado de la prueba: Observaciones: Responsables:

DIAGRAMAS DE CLASES
Diagrama de clases en fase de Análisis.

Ingeniería en Sistemas Computacionales

85

Análisis y Diseño de Sistemas II

UCSG

Diagrama de Clases en fase de Diseño.

Ingeniería en Sistemas Computacionales

86

Análisis y Diseño de Sistemas II

UCSG

Diagrama de Clases en fase de Diseño Mejorada.

Ingeniería en Sistemas Computacionales

87

Análisis y Diseño de Sistemas II

UCSG

Detalle de Clases.
Clase Persona.
Ingeniería en Sistemas Computacionales

88

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Clase: Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados:

Persona. Clase que permite registrar los datos personales de todas las personas que actúan en la panadería (cliente, vendedor, etc.). Activo, Inactivo, modificado, eliminado. iii. iv. v. Sub-Clases: Proveedor, panadero, Cliente. Súper-Clases: Asociación:

GuardarPersona(), BuscarPersona(). Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado]. 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;

Notas:

Clase Cliente.
Nombre de la Clase: Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:
Cliente. 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. Activo, Inactivo, modificado, eliminado. 1. Sub-Clases: 2. Súper-Clases: Persona. 3. Asociación: BuscarHistorial(). Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado]. Tipo_cliente. El cliente pertenece al tipo de persona que interviene. t_persona=’1’;

Clase Panadero.
Ingeniería en Sistemas Computacionales

89

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Clase: Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:

Panadero. 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. Activo, Inactivo, modificado, eliminado. 1. Sub-Clases: 2. Súper-Clases: Persona. 3. Asociación: Factura. Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado]. Nombre_panaderia, elaborar(). El panadero pertenece al tipo de persona que interviene. t_persona=’2’;

Clase Proveedor.
Nombre de la Clase: Descripción:
Proveedor. 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. Activo, Inactivo, modificado, eliminado. 1. Sub-Clases: 2. Súper-Clases: Persona. 3. Asociación: Materia_Prima con enlace de orden pedido. Listar_productos(), ingresar_ventas(); Nombre, apellido, cedula, cuidad, dirección, teléfono, estado[Activo, Inactivo, modificado, eliminado]. Cod_proveedor, nombre_distribuidor El panadero pertenece al tipo de persona que interviene. t_persona=’3’;

Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:

Clase Factura.
Nombre de la Clase:
Factura.

Ingeniería en Sistemas Computacionales

90

Análisis y Diseño de Sistemas II

UCSG

Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:

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. Emitida, anulada, cobrada, anulada. 1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Panadero, Pedido. generarFactura(), imprimir(). Codigo, nombre_cliente, cantidad, descripción, costo_unitario, costo_total, estado[Emitida, anulada, cobrada, anulada.]. 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: Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:
Codigo, nombre_receta, fecha_elaboracion, lista_ingredientes, detalle_preparacion, estado[Creada, Archivada, en Uso, Caducado.]

Receta. 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. Creada, Archivada, en Uso, Caducado. 1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Producto cargarReceta(),ObtenerReceta();

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: Descripción: Estado:
Detalle_Pedido 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 Vacio, aceptado, modificado, finalizado.

Ingeniería en Sistemas Computacionales

91

Análisis y Diseño de Sistemas II

UCSG

Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:

1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Pedido, Orden_compra. generarDetalles(), cargarDetalles(),borrarDetalles();

Codigo, productos, detalles, observaciones, estado[Vacio, aceptado, modificado, finalizado]; El detalle pedido solo se fijara cierta información de cada producto, el estado y la observación.

Clase Pedidos.
Nombre de la Clase: Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados:
Pedidos. 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. Iniciado, En preparación, Finalizado, Anulado. 1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Cliente, Detalle_pedido. Regisrar_pedido(), Codigo, nombre_producto,cantidad, costo_unitario,estado[Iniciado, En preparación, Finalizado, Anulado]. verificar_estado_solicitud(); 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;

Notas:

Clase Formas_pago.
Nombre de la Clase: Descripción: Estado:
Formas Pago. 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. Emitido, recibo_emitido, cobrando, anulado.

Ingeniería en Sistemas Computacionales

92

Análisis y Diseño de Sistemas II

UCSG

Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados:

1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Pedido. Emitir_pago(), procesar_pago(), contar_efectivo(). Tipo_pago, cantidad, cambio, estado[Emitido, recibo_emitido, cobrando, anulado], observación. 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;

Notas:

Clase Materia_prima.
Nombre de la Clase: Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:
Materia Prima Esta clase permite registrar mediante las operaciones sobre los productos que van a ser distribuidos para la panadería mediante el proveedor. Iniciando, preparando, procesado, terminado, defectuoso. 1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Proveedor, Orden_Compra Buscar(), Guardar(),eliminar(); Código, nombre, peso, marca, costo, estado[Iniciando, preparando, procesado, terminado, defectuoso.] Se realiza las operaciones de los datos de la materia prima distribuido para la panadería.

Clase Orden_Compra
Nombre de la Clase: Descripción: Estado:
Orden Compra 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. Iniciando, preparando, procesado, terminado, defectuoso.

Ingeniería en Sistemas Computacionales

93

Análisis y Diseño de Sistemas II

UCSG

Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados: Notas:

1. Sub-Clases: 2. Súper-Clases: 3. Asociación: Proveedor, Orden_Compra Buscar_oc(), Guardar_oc(), eliminar_oc(); Código, nombre, peso, marca, costo, estado[Iniciando, preparando, procesado, terminado, defectuoso] 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: Descripción: Estado: Relaciones: Miembros Públicos: Miembros Protegidos: Miembros Privados:
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; Producto 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. Grabado, modificado, finalizado, eliminado.
1. Sub-Clases: Pan, Rosca, torta, Pastel 2. Súper-Clases: 3. Asociación: Detalle_Pedido, Receta.

generarProducto(), buscarProducto(), eliminar_producto(); Código, nombre, peso, marca, costo_unitario, costo_total, fecha_elab, fecha_caduc, distribuidor, estado[Grabado, modificado, finalizado, eliminado]

Notas:

Detalle de operaciones.
Clase Persona.
Nombre de la Operación:
Guardar Persona

Ingeniería en Sistemas Computacionales

94

Análisis y Diseño de Sistemas II

UCSG

Miembro de la clase:

Argumentos:

Control: Precondición:

Persona Nombre: String Apellido: String Cedula: Long(15) Cuidad: String Dirección: String Teléfono: Long(15) Estado: Char(1) Publico Id_persona=0;
Procedure guardarPersona() { Id_persona+=1; InsertarRegistroPersona(Id_persona, nombre, apellido, cedula, cuidad, dirección,teléfono, ’A’); }

Semántica:

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Buscar Persona Persona Nombre: String Apellido: String Cedula: Long(15) Dirección: String Teléfono: Long(15) Publico CI=0; Cadena=NULL; Estado=’’;
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; }

Semántica:

Clase Factura
Nombre de la Operación: Miembro de la clase: Argumentos:
Generar Factura Factura Nombre_cliente: String Nombre_Producto: String Descripcion: String

Ingeniería en Sistemas Computacionales

95

Análisis y Diseño de Sistemas II Cantidad: Int Costo_unitario: Float Costo_total: float Publico Id_factura=0; Id_producto=0; Acumulador_total=0; Estado=’A’;

UCSG

Control: Precondición:

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: Miembro de la clase:

Imprimir Factura Factura Nombre_cliente: String Nombre_Producto: String Descripcion: String Cantidad: Int Costo_unitario: Float Costo_total: float Publico Id_factura=0; Acum =0; Cadena=NULL;

Argumentos:

Control: Precondición:

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: Miembro de la clase: Argumentos: Control: Precondición:

Obtener Receta Receta Nombre_Receta: String Nombre_ingredientes: String Preparación:String Fecha_inicio:Date; Publico Id_receta=0; Estado=’C’; Ingredientes=NULL;
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); }

Semántica:

Ingeniería en Sistemas Computacionales

97

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Cargar Receta Receta Cod_receta: int Publico Id_receta=0;
procedure imprimirFactura(id_receta is int) { if(cod_receta==id_receta && status==’C’) { cargarDatosReceta(Cod_receta); } Else { Mostrar(“Receta no Existe.”); } }

Semántica:

Clase Detalle_Pedido

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Generar detalles Detalle_pedido Id_detalles: int Nombre_producto: String Detalles: String Observaciones: String Publico Id_producto=0; estado=’A’;
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.”); } }

Semántica:

Nombre de la Operación:

Cargar detalles

Ingeniería en Sistemas Computacionales

98

Análisis y Diseño de Sistemas II

UCSG

Miembro de la clase: Argumentos: Control: Precondición:

Detalle_pedido Cod_detalles: int; Nombre_producto: String Detalles: String Observación: String; Publico Id_detalles=0; Cadena=NULL;
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;

Semántica:

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Borrar detalles Detalle_pedido Cod_detalles: int; Nombre_producto: String Detalles: String Observación: String; Publico Id_detalles=0;
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.”; } }

Semántica:

Clase Pedidos.
Ingeniería en Sistemas Computacionales

99

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Verificar_estado_pedido. Pedidos Cod_pedido: int Nombre_producto: String. Privado Id_pedido=0; fecha_pedido=sysdate; cadena=NULL; status=(estado=’A’?”Iniciado”: estado=’P’:”Preparado”: estado=’F’?”Finalizado”: estado=’N’:”Anulado”);
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; }

Semántica:

Clase Formas_pago.

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Emitir pago. Formas_pago Cod_pedido: int Nombre_producto: String. Publico Id_pedido=0; fecha_pago=sysdate; cadena=NULL; Tipo_p=(tipo_pago=1?”Efectivo”:tipo_pago=2?”Cheque”: tipo_pago=3?”Tarjeta_credito”);
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; }

Semántica:

Ingeniería en Sistemas Computacionales

100

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Procesar_pago. Formas_pago id_pedido: int Publico cod_pedido=0; fecha_pago=sysdate; resultado=NULL; Tipo_p=(tipo_pago=1?”Efectivo”:tipo_pago=2?”Cheque”: tipo_pago=3?”Tarjeta_credito”);
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; } }

Semántica:

Ingeniería en Sistemas Computacionales

101

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Contar efectivo Formas_Pago tipo_billete: int; tipo_moneda: int; Publico cantidad=0; total=0;
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.”) }

Semántica:

}

Clase Materia_prima
Ingeniería en Sistemas Computacionales

102

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Grabar materia prima Materia_prima Nombre: String Peso: float Marca: String Costo: Float. Publico Id_mp=0; Estado=’1’
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); )

Semántica:

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Buscar materia prima Materia_prima Cod_mp:int; Publico Id_mp=0;
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; }

Semántica:

Nombre de la Operación:

Eliminar materia prima

Ingeniería en Sistemas Computacionales

103

Análisis y Diseño de Sistemas II

UCSG

Miembro de la clase: Argumentos: Control: Precondición:

Materia_prima Cod_mp:int; Publico Id_mp=0;
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.”); } }

Semántica:

Clase Orden_compra

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Grabar orden compra Orden compra Costo_total: Float Lista_productos:String Proveedor: String Publico Id_oc=0; Estado=’1’
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); )

Semántica:

Ingeniería en Sistemas Computacionales

104

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Buscar orden compra Orden_compra Cod_oc:int; Publico Id_oc=0;
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; }

Semántica:

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Eliminar orden compra Orden_compra Costo_total: Float Lista_productos:String Proveedor: String Publico Id_oc=0;
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.”); } }

Semántica:

Clase Producto
Ingeniería en Sistemas Computacionales

105

Análisis y Diseño de Sistemas II

UCSG

Nombre de la Operación: Miembro de la clase:

Grabar Producto Producto Nombre_prodct: String peso_prodct:String Costo_Unitario: Float(6,2) marca_prodct: String f_elab: Date f_exp: Date Distribuidor:String Publico Id_producto=0; Estado=’1’
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); )

Argumentos:

Control: Precondición:

Semántica:

Nombre de la Operación: Miembro de la clase: Argumentos: Control: Precondición:

Buscar Producto Producto Cod_producto:int; Publico Id_producto=0;
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; }

Semántica:

Nombre de la Operación:

Eliminar Producto

Ingeniería en Sistemas Computacionales

106

Análisis y Diseño de Sistemas II

UCSG

Miembro de la clase: Argumentos: Control: Precondición:

Producto Cod_producto:int; Publico Id_producto=0;
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.”); } }

Semántica:

Persistencia de tipos de datos.
Persona
Campos Nombre apellido cedula cuidad dirección teléfono estado Tipo de Datos String String Long(15) String String Long(20) Char(1) Tipo Clave Valor Not Null Not Null Not Null Not Null Null Not Null Not Null

PK

Procedimientos Almacenados Create or replace procedure guardarPersona(); Create or replace procedure buscarPersona();

Ingeniería en Sistemas Computacionales

107

Análisis y Diseño de Sistemas II

UCSG

Proveedor
Campos Id_Proveedor Nombre_distribuidor idMateriaPrima Nombre_mp Tipo de Datos Integer String Integer String Tipo Clave PK FK1:Materia_Prima FK2:Materia_Prima Valor Not Null Not Null Not Null Not Null

Procedimientos Almacenados: Create or replace procedure listarProductos(); Create or replace procedure ingresarVentas();

Panadero
Campos Tipo de Datos Id_Panadero Integer Nombre_panaderia String Id_factura Integer Nombre_cliente String Total_pagar Float(8,2) Procedimientos Almacenados: Tipo Clave PK FK1:factura FK2:factura FK3:factura Valor Not Null Not Null Not Null Not Null Not Null

Create or replace procedure elaborar_productos();

Materia Prima
Campos Id_mp Id_Proveedor Id_OrdenCompra Nombre Peso Marca costo Nombre_distribuidor Tipo de Datos Integer Integer Integer String Float(2,2) String Float(8,2) String Tipo Clave PK FK1:proveedor FK2:orden_compra Valor Not Null Not Null Not Null Not Null Not Null Not Null Null Not Null Not Null

FK1:proveedor

Procedimientos Almacenados: Create or replace procedure Buscar(); Create or replace procedure Guardar(); Create or replace procedure Eliminar();

Ingeniería en Sistemas Computacionales

108

Análisis y Diseño de Sistemas II

UCSG

Factura
Campos Id_Factura Nombre_cliente Nombre_Producto Descripcion cantidad Costo_unitario Costo_total Id_pedido Estado Id_panadero Nombre_panaderia Tipo de Datos Integer String String String integer Float(6,2) Float(6,2) Integer Char(1) Integer String Tipo Clave PK Valor Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null

FK1:pedido FK2:pedido FK3:panadero FK4:panadero

Procedimientos Almacenados: Create or replace procedure Buscar(); Create or replace procedure Guardar(); Create or replace procedure eliminar();

Pedido
Campos Id_pedido Nombre_producto estado id_Factura nombre_cliente Cantidad costo_unitario Costo_total Tipo_pago Cantidad_pago Cambio. Tipo de Datos Integer String String String integer Float(6,2) Float(6,2) Integer Char(1) Integer String Tipo Clave PK FK1:factura FK2:factura FK3:factura FK4:factura FK1:factura FK2:formas_pago FK3:formas_pago FK4:formas_pago Valor Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not 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_pago
Campos Tipo_pago Cantidad Cambio Estado Observación Id_pedido Nombre_producto Tipo de Datos Char(1) Integer Float(6,2) Char(1) String Integer String Tipo Clave PK Valor Not Null Not Null Null Not Null Null Not Null Not Null

FK1:pedidos FK2:pedido

Procedimientos Almacenados Create or replace procedure Registrar_pago(); Create or replace procedure procesar_pago(tipo_pago is integer);

Orden_compra
Campos Tipo de Datos Id_ordencompra Integer Nombre_productos String Costo Float(6,2) Proveedor String Marca String Estado Char(1) Id_materia_prima Integer Id_detalle Integer Detalles String Procedimientos Almacenados Tipo Clave PK Valor Not Null Not Null Not Null Not Null Null Not Null Not Null Not Null Null

FK1:Materia Prima FK1:Detalle Pedido FK2: Detalle Pedido

Create or replace procedure generarOrdenCompra(); Create or replace procedure imprimir_oc(id_ordencompra is integer);

Receta
Ingeniería en Sistemas Computacionales

110

Análisis y Diseño de Sistemas II Campos Tipo de Datos Id_receta Integer Nombre_receta String Fecha_elaboracion Date Nombre_ingredientes String Nombre_detalles String Detalles_preparacion Char(1) Estado Integer Id_producto String Nombre_producto Float(6,2) Costo_unitario Procedimientos Almacenados: Tipo Clave PK Valor Not Null Not Null Not Null Not Null Null Not Null Not Null Not Null Null

UCSG

FK1:Producto FK2: Producto FK2: Producto

Create or replace procedure generarReceta(); Create or replace procedure cargarReceta(id_receta is integer); Create or replace procedure buscarReceta(id_receta is integer);

Producto
Campos Id_producto Nombre_producto Detalles Peso Lote Fecha_elaboracion Fecha_expiracion Costo_unitario Cantidad Costo_total Proveedor Estado Id_pedido Id_receta Nombre_receta Preparacion Tipo de Datos Integer String String Float(6,2) Char(15) Date Date Float(6,2) Integer Float(6,2) String Char(1) Integer Integer String String Tipo Clave PK FK1:Detalle_Pedido Valor Not Null Not Null Not Null Not Null Null Not Null Not Null Not Null Null Null Not Null Not Null Not Null Not Null Not Null Not Null

FK2:Detalle_pedido FK3:Receta FK4:Receta FK5:Receta

Procedimientos Almacenados: Create or replace procedure generarProducto(); Create or replace procedure buscarProducto(id_producto is integer);

Detalle_Pedido
Ingeniería en Sistemas Computacionales

111

Análisis y Diseño de Sistemas II Campos Código Productos Detalles Observaciones Costo Estado Id_pedido Id_oc Proveedor Tipo de Datos Integer String String String Float(6,2) Char(1) Integer Integer String Tipo Clave PK Valor Not Null Not Null Not Null Null Not Null Not Null Not Null Not Null Null

UCSG

FK2:Detalle_pedido FK3:Pedido FK4:Orden_compra FK5:Orden_compra

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-laPanaderia-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-17378habitos_de_consumo.php http://www2.lavitoriana.com/encuesta_es_0_22_1.html

Ingeniería en Sistemas Computacionales

113