Está en la página 1de 114

Análisis y Diseño de Sistemas II UCSG

UNIVERSIDAD CATOLICA DE
SANTIAGO DE GUAYAQUIL

TUTORIA FINAL COMPLETA DE:


ANALISIS Y DISEÑO DE SISTEMAS II

TEMA GENERAL DEL PROYECTO:


PROPUESTA DE AUTOMATIZACION PARA
NEGOCIO DE PANADERIAS

INTEGRANTES:
JOSE TALLEDO AGUILAR
JOSÉ GERMAN LUMBANO CLARK

Fecha de Entrega: Jueves, 9 de febrero del 2012

CICLO: VI Ciclo; Nivel 350.


PROFESOR(A): Ing. Lorgia Valencia Macías.
CARRERA: Ing. en Sistemas Computacionales.
FACULTAD: Facultad de Ingeniería.

GUAYAQUIL - ECUADOR

SEMESTRE B2011

Ingeniería en Sistemas Computacionales 1


Análisis y Diseño de Sistemas II UCSG

INDICE

PANADERIA Y PASTELETRIA “BARCELONA”…..............................................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”.

FICHA COMERCIAL
Dirección: Av. Machala y Portete (Esq.)
Cuidad: Guayaquil.
Provincia: Guayas.
País: Ecuador.
R.U.C: 0954224514136
Ingeniería en Sistemas Computacionales
(593) 42363738. 3
Teléfonos:
05h30 a 23h00.
Horarios:
Sr. Adrian Cárdenas.
Propietario:
Análisis y Diseño de Sistemas II UCSG

ANTECEDENTES.

En la ciudad de Guayaquil, tiempo atrás se ha venido incrementando los


negocios de panadería y pastelerías debido a que se ha desarrollado el
mercado por medio de la introducción de nuevos productos y nuevos
conceptos en cuanto a los formatos de los locales.

Panadería y pastelería “Barcelona” ha sido el sabor preferido de la gente por


13 años mediante sus recetas practicas y el sabor de pan, además de la
panadería, panadería y repostería; atraídos hacia muchos clientes.

Desde niño, el propietario el Señor Adrian Cárdenas, ha sido gente de trabajo,


aprendió el oficio de panadero de su familia, además aprendió 4 módulos de
negocios y productividad (2007). Cárdenas demostró todos sus conocimientos
en este, el cual se ha dado conocer por su importante crecimiento en la ciudad,
conquistando el paladar de los clientes.

Este negocio fue y es parte fundamental de las actividades desde sus inicios de
creación, no solamente para los moradores aledaños a la panadería, si no, para
el alcance de todos. Hasta hoy, aquí se elabora pan, tortas y otros postres de
repostería para todo tipo del consumo, siguiendo la idea del propietario y su
familia, además aprender algo útil para su futuro. Alguna vez se intentó
vender pan a clientes externos, sin embargo, la calidad del pan no era
suficientemente buena.

Existen más de 40 variedades con más de 15 estilos de preparar panes, pasteles


y postres, se han catalogado como los favoritos para quienes lo buscan lo
mejor de toda ocasión especial.

Como descripción nota cambiar este aspecto es justamente el propósito


principal de este proyecto piloto. A partir de ahora, el trabajo de la panadería
será orientada por un o una profesional del rubro, para mejorar la calidad de
la enseñanza y por ende la calidad del pan, que también será ofrecido en venta
a clientes externos. También serán elaboradas diferentes clases de pan, como
por ejemplo, pan integral o de harina de maíz. Para alcanzar esto, es necesario
modernizar la panadería, comprar máquinas, colocar azulejos en las paredes e
instalar una salida de humo. Después de finalizar esta fase piloto de dos años
debería lograr que la panadería sea autogestionada.

Ingeniería en Sistemas Computacionales 4


Análisis y Diseño de Sistemas II UCSG

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

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.

Ingeniería en Sistemas Computacionales 5


Análisis y Diseño de Sistemas II UCSG

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

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

Ingeniería en Sistemas Computacionales 6


Análisis y Diseño de Sistemas II UCSG

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.

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.
Ingeniería en Sistemas Computacionales 7
Análisis y Diseño de Sistemas II UCSG

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.

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
Ingeniería en Sistemas Computacionales 8
Análisis y Diseño de Sistemas II UCSG

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.

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

Ingeniería en Sistemas Computacionales 10


Análisis y Diseño de Sistemas II UCSG

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.
 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
Ingeniería en Sistemas Computacionales 11
Análisis y Diseño de Sistemas II UCSG

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:

1) Una computadora de escritorio con las siguientes


características:

CARACTERISTICAS
TIPO CORE 2 DUO 2.9 GHZ
CASE Combo 475/500 w
MAINBOARD Biostar
PROCESADOR Core 2 Duo 2,93 ghz/3m/1066mhz
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 Duplex-
TECLADO 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
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.

Ingeniería en Sistemas Computacionales 14


Análisis y Diseño de Sistemas II UCSG

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 Tiempo de Gestión Costo


Mano de Obra Equipo A considerar A considerar
de análisis
Costo de hacer análisis 3 Meses $500
completo de Sistema
Costo del desarrollo y 1 Mes $1200
programación del
Sistema
Costo de Inversión 1 semana (Instalación) $1200
aproximado de
Hardware y Software
TOTALES $2900
ESTIMADOS

OPCIONAL: SERVER HP Servidor ML110G6 Quad Core

BP885A HP Servidor ML110G6 Quad Core (1) $ $


Intel® Xeon® processor X3430 1.170,00 793,50

458941 HP 500GB 3G SATA 7.2K 3.5in NHP $ $


-B21 MDL HDD 307,05 218,50
  P. Promoción TOTAL: 1.012

OPCIONAL: Alquiler de dominios .com.ec desde $38.50 anuales

INVERSION APROXIMADA: De $ 4000 a 3000 en caso de no


usar server.

Debido a las manifestaciones de la Directiva en invertir en infraestructura


una suma de aproximadamente $5600 se considera que el gasto por
implementación tecnológica está dentro del rango estipulado y no

Ingeniería en Sistemas Computacionales 15


Análisis y Diseño de Sistemas II UCSG

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 manejo distribuido de datos permitiendo así una
fácil adaptación a los diferentes cambios que se presenten en el negocio.

Ingeniería en Sistemas Computacionales 16


Análisis y Diseño de Sistemas II UCSG

PLANEACIÓN Y CONTROL DE ACTIVIDADES

ESTIMACIÓN DEL TIEMPO REQUERIDO

Tareas de Fase Actividad Duración


Actividad
M.O.O Precedente (Días)
a.- Entrevistas. Ninguna 3
b.- Tabulación de A 2
entrevistas
c.- Análisis del flujo B 7
de datos
d.- Esquematización C 8
ANALISIS del Prototipo
e.- Análisis Costo Ninguna 5
comercialización
f.- Preparación D,E 5
propuesta
g.- Presentación de F 1
Propuesta
DISEÑO DE h.- Diseño Entradas C,F 3
SISTEMA Y DE i.- Diseño Salidas H 3
OBJETOS j.- Programación I 7
k.- Implementación J 7
l.- Supervisión K 30
IMPLEMENTACI
ON m.- Evaluación Final L 90
de los productos en
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.

Ingeniería en Sistemas Computacionales 17


Análisis y Diseño de Sistemas II UCSG

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

0 1 2 3 4 5

3. ¿De entre los siguientes productos, cuál es el que consume con


más frecuencia?

Otros
Pan Pastelería Café No Sabe
productos

4. ¿Con qué frecuencia consume de la panadería y pastelería


Barcelona?

Cada De Una Sola


Diario Nunca
Semana Repente Vez

Ingeniería en Sistemas Computacionales 22


Análisis y Diseño de Sistemas II UCSG

5. ¿Cuál es el atributo que más valora en los productos de la


pastelería y/o panadería?

Presentació
Precio Calidad Sabor Ninguna
n

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

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

Ingeniería en Sistemas Computacionales 23


Análisis y Diseño de Sistemas II UCSG

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

1. Factura.

Ingeniería en Sistemas Computacionales 27


Análisis y Diseño de Sistemas II UCSG

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
Limitaciones: con el mercado.
 Sensibles a errores de digitación; peligro para el negocio,
produciendo perdidas u otras debilidades.

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.
Descripción:
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.
Limitaciones:  Escases de materia prima.
 El proveedor no cumpla con el pedido acordado y la visita que
se programa de manera regular.

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.
Descripción:
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
Limitaciones:
directamente a la contabilidad.
 Puede existir perdidas si hay productos que faltan por
completo y el dinero que consumió no esta en caja.

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
Descripción: 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.
Limitaciones:
 Desperdicio total de panes en caso de no ser utilizado para la
venta.
 Inexistencia de la Receta Adecuada para la elaboración del
producto

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.

Descripción: 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.
Limitaciones:
 Cliente que no este registrado.

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.
Descripción:
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 33


Análisis y Diseño de Sistemas II UCSG

 El cliente no dispone de información necesaria para su


posterior registro en el sistema.
Limitaciones:
 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.
Descripción:
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.
Limitaciones:
 Abstenerse en la entrevista al cliente al momento de compra.

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.
Descripción:
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.
Limitaciones:  Solo Gestionara contactos con los clientes y empleados de la
panadería.
 Solo se emitirá factura al cliente.

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.
Descripción:
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.
Limitaciones:  Existen Datos opcionales posiblemente no se registraran en la
factura.

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

Iteraciones: Información de Productos.


Especificaciones:

 Estilo Wirfs-Brock

Sistema de Automatización de Panaderías


Nombre: Definición de Datos de Productos ID: CU1
 El sistema es ingresado de forma personal a través de nombre
de cuenta y contraseña.
 El Digitalizador de información es el que se registra los
detalles generales.
 El almacenamiento de información es donde se guarda valores
relacionados con las ventas.
 El administrador o persona autorizada almacena la información
Oraciones:
relevante.
 El código de producto que se vende en la panadería es auto
generable.
 Se realiza una consulta general de la información almacenada
en la Base de Datos.
 El administrador grabará registros para tener constancias de las
últimas transacciones realizadas durante el día.
Lista de Administrador. Información.
sustantivos: Nombre de Cuenta. Base de Datos.

Ingeniería en Sistemas Computacionales 36


Análisis y Diseño de Sistemas II UCSG

Contraseña. Descripción.
Sistema. Código
Productos. Transacción.
Detalles. Valor.
Venta. Digitalizador de información.
Panadería. Consulta.
Clases Obvias: Administrador, Producto, Venta.
Sin sentidos: Transacción
Frases
Valor, Descripción, sistema, Administrador, Panadería.
Inseguras:

 Estilo Rumbaugh.

Sistema de Automatización de Panaderías


Nombre: Definición de Datos de Productos ID: CU1
 Username/Administrador.
 Transacción(X).
 contraseña,
 Valor(X).
 sistema,
 Digitalizador de Datos.
 productos,
 Negocio.
 detalles,
 Stock(X).
Listas de  venta,
 Precio.
sustantivos:  panadería,
 Fecha.
 consulta,
 Lote.
 Información(X).
 Categoría.
 Base de Datos.
 Jornada.
 Descripción.
 Cantidad.
 Código.
Clases
Redundantes:
Clases
Negocio, Sistema.
Irrelevantes:
Clases Vagas Detalles, Username/Administrador, Contraseña
Fecha, código, Cantidad, Precio, lote, categoría, jornada, Descripción,
Atributos: Valor.
Operaciones: Transacción, consulta
Roles: 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: Gestionar Proveedores. ID: CU2
Cosas Tangibles: Materia Prima, Solicitud, Auditoria, panadero.
Roles: Proveedor, propietario, panadero, distribuidores.
Escases de Producto.
Incidentes:
Calificación de Materia Prima.
Iteraciones: Formas de Pago, notificaciones, Auditorias de Proveedores.
Especificaciones:

 Estilo Wirfs-Brock

Sistema de Automatización de Panaderías


Nombre: Gestionar Proveedores. ID: CU2

Ingeniería en Sistemas Computacionales 38


Análisis y Diseño de Sistemas II UCSG

 El panadero selecciona estrictamente la materia prima para la


elaboración del producto.
 Se debe cumplir con todos los factores específicos por su
calidad.
 El panadero brinda a sus clientes productos de primera calidad
de acuerdo por sus necesidades requeridas y especificas.
 Se debe realizar un registro para los proveedores en el sistema.
 Se selecciona una auditoria de manera semanal.
 Se Califica a los distribuidores por sus factores de calidad para
formar una selección en su necesidad en la panadería.
Oraciones:  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.
Administrador.
Distribuidor.
Producto.
Proveedor.
Materia prima.
Panadero.
Formas de pago.
Lista de Propietario.
Cantidad.
sustantivos: Material.
Distribuidor.
Bodega.
Auditoria.
Solicitud.
Establecimiento.
Factores de Calidad.
Cantidad.
Clases Obvias: Proveedor, panadero, Productos, Materia Prima, Factores de Calidad
Semana, material, publico, establecimiento, Boletines, administrador,
Sin sentidos: distribuidor, Bodega, Propietario, Auditoria.
Frases
Categorías.
Inseguras:

 Estilo Rumbaugh.

Sistema de Automatización de Panaderías


Nombre: Definición de Datos de Productos ID: CU1

Ingeniería en Sistemas Computacionales 39


Análisis y Diseño de Sistemas II UCSG

 Administrador.  Proveedor.
 Producto.  Panadero.
 Materia prima.  Semana.
Listas de  Formas de pago.  Propietario.(X)
sustantivos:  Cantidad.  Distribuidor. (X)
 Material. (X)  Bodega.
 Auditoria.  Solicitud.
 Establecimiento.  Sistema.
Clases
Materia prima, Distribuidor, Propietario.
Redundantes:
Clases
Auditoria, Propietario, Semana, Establecimiento.
Irrelevantes:
Clases Vagas Sistema.
Atributos: Cantidad.
 Elaboración de la Solicitud del Pedido.
Operaciones:  Calificación de los distribuidores.
 Auditoria de Proveedores.
Roles:

CU3: Gestionar Inventarios


 Estilo Shaller/Mellor

Sistema de Automatización de Panaderías


Nombre: Gestionar Inventarios. ID: CU3
Cosas Tangibles: Productos
Roles: Proveedor
Incidentes: Calculo Total.
Iteraciones: Estados Financieros.
Especificaciones:

 Estilo Wirfs-Brock

Ingeniería en Sistemas Computacionales 40


Análisis y Diseño de Sistemas II UCSG

Sistema de Automatización de Panaderías


Nombre: Gestionar Inventarios ID: CU3
 El Administrador es el que digitara el ingreso de Datos de
Productos

 Se Realiza los Cálculos totales entre productos y costos.


Oraciones:
 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.
Lista de Precios.
Código.
sustantivos: Estados Financiaros.
Costos.
Cálculos Totales.
Contabilidad.
Clases Obvias: Estados Financieros, Datos de Productos
Sin sentidos: Contabilidad.
Frases
Cálculos Totales.
Inseguras:

 Estilo Rumbaugh.

Sistema de Automatización de Panaderías


Nombre: Gestionar Inventarios ID: CU3
 Existencia.
 Administrador.  Atributo.
 Productos.  Sumatoria de Productos
 Datos. en Stock.
 Código.  Sumatoria de costos.
Listas de
 Nombre del Producto,  Sumatorias de Stocks
sustantivos:
 Proveedor. Totales.
 Precio unitario.  Estados Financieros.
 Precio de compra.  Costos Totales.
 IVA.  Contabilidad.
 Inventario.
Clases
Estados Financieros, Productos.
Redundantes:

Ingeniería en Sistemas Computacionales 41


Análisis y Diseño de Sistemas II UCSG

Clases
Cálculos Totales.
Irrelevantes:
Clases Vagas Contabilidad.
Código, Nombre del Producto, Precio Unitario, IVA, Existencia,
Atributos: Precio de compra.
 Sumatoria de Productos en Stock.
 Sumatoria de precio de los productos en Stock
Operaciones:  Entradas y Salidas de Productos
 Pérdidas y Ganancias de Costos Totales
 Calculo del IVA.
Roles:

CU4: Calculo de la Producción.

 Estilo Shaller/Mellor.

Sistema de Automatización de Panaderías


Nombre: Calculo de la Producción ID: CU4
Cosas Tangibles: Pan, Materia Prima, Recetas.
Roles: Panadero
 Impresión de Recetas.
Incidentes:
 Productos Reutilizables.
Iteraciones: Calculo de Productos.
Especificaciones:

Ingeniería en Sistemas Computacionales 42


Análisis y Diseño de Sistemas II UCSG

 Estilo Wirfs-Brock.

Sistema de Automatización de Panaderías


Nombre: Calculo de la Producción ID: CU4
 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.
Oraciones:  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. Producto.
Lista de Materia prima. Calidad Estándar.
sustantivos: Sistema. Patrón.
Calculo Totales. Productos Reutilizados.
Clases
Receta, Materia prima.
Obvias:
Sin sentidos: Cálculos Totales.
Frases
Patrón.
Inseguras:

 Estilo Rumbaugh.

Sistema de Automatización de Panaderías


Nombre: Calculo de la Producción ID: CU4
 Recetas.
 Producto.
 Pan(x),
 Panadero.
Listas de  Materia prima.
 Nuevo Trabajador.
sustantivos:  Sistema.
 Patrón.
 Calculo de cantidad de
 Tiempo.
Unidades.
Clases
Patrón.
Redundantes:
Clases
Irrelevantes:
Clases Vagas Nuevo Trabajador

Ingeniería en Sistemas Computacionales 43


Análisis y Diseño de Sistemas II UCSG

Atributos: Tiempo
 Calculo de Unidades.
Operaciones:
 Reutilización del producto no vendido.
Roles:

CU5: Elaborar Facturación.


 Estilo Shaller/Mellor.

Sistema de Automatización de Panaderías


Nombre: Elaborar Facturación. ID: CU5
Cosas Tangibles: Producto.
Roles: Cliente.
Incidentes: Impresión de la Factura.
Iteraciones: Factura, Calculo Total, Formas de Pago, descuentos.
Especificaciones:

 Estilo Wirfs-Brock.
Ingeniería en Sistemas Computacionales 44
Análisis y Diseño de Sistemas II UCSG

Sistema de Automatización de Panaderías


Nombre: Elaborar Facturación. ID: CU5
 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.
Oraciones:
 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.
Cálculos totales.
Factura.
Lista de Impresión de la Factura.
Detalle de la Factura.
sustantivos: Código del Producto.
Cliente Frecuente.
Descuentos.
Descripción del Producto.
Clases Obvias: Factura, Detalles de la Factura, Vendedor, Cliente Frecuente.

Sin sentidos: Código del Producto, Cálculos totales, Descuentos.

Frases
Descripción del Producto.
Inseguras:

 Estilo Rumbaugh.

Sistema de Automatización de Panaderías


Nombre: Elaborar Facturación. ID: CU5
 Nombre del cliente  Venta.
 Código del Cliente.  Suma de Precios.
 Cédula. (X)  Calculo Subtotal.
Listas de  Fecha.  Descuentos. (X)
sustantivos:  Saldo en mora.  IVA.
 Código de producto. (X)  Promociones.
 Descripción de producto.  Cálculo de Total a pagar.
 Factura.  Cliente.
Clases
Clientes.
Redundantes:
Clases
Fecha, Saldo
Irrelevantes:

Ingeniería en Sistemas Computacionales 45


Análisis y Diseño de Sistemas II UCSG

Clases Vagas
Nombre del Cliente, Cedula, Código del Producto, Código del
Atributos: Cliente, Código de producto, Código del Cliente.
 Suma de Precios.
 Calculo subtotal.
Operaciones:
 Calculo Total a Pagar.
 Calculo del IVA.
Roles: Cliente.

CU6: Atender Clientes.

 Estilo Shaller/Mellor.

Sistema de Automatización de Panaderías


Nombre: Atender Clientes. ID: CU6
Cosas Tangibles: Producto, Factura
Roles: Cliente

Entrevista al cliente.
Incidentes:
Historial.

Iteraciones: Descuentos.

Ingeniería en Sistemas Computacionales 46


Análisis y Diseño de Sistemas II UCSG

Especificaciones:

 Estilo Wirfs-Brock.

Sistema de Automatización de Panaderías


Nombre: Atender Clientes. ID: CU6
 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.
Oraciones:  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.
Factura.
Venta.
Lista de Datos.
Entrevista.
sustantivos: Producto.
Cuenta Pendiente.
Historial.
Vendedor.
Clases Obvias: Cliente, factura, historial, producto, vendedor.
Datos.
Sin sentidos: Venta.
Frases Cuenta Pendiente.
Inseguras: Entrevista.

 Estilo Rumbaugh.

Sistema de Automatización de Panaderías


Nombre: Atender Clientes. ID: CU6
 Teléfono.
 Vendedor. (X)
 Administrador. (X)
 Venta. (X)
 Descuento.
 Cliente.(X)
Listas de  Deuda.
 Nombre.
sustantivos:  Producto.
 Apellido.
 Factura.
 RUC.
 Historial.
 Dirección.
 Crédito.
Clases
Redundantes:
Clases Historial.

Ingeniería en Sistemas Computacionales 47


Análisis y Diseño de Sistemas II UCSG

Irrelevantes:
Clases Vagas
Atributos: Nombre, Apellido, RUC, Dirección, Teléfono.
Operaciones: Descuento, crédito.
Roles: Cliente.

Lista de Clases Definitiva del Caso de Uso

Objetos Finales

Ingeniería en Sistemas Computacionales 48


Análisis y Diseño de Sistemas II UCSG

 Productos.
 Estados Financieros.
 Almacenamiento de productos.
 Pan.
 Información de Productos.
 Recetas.
 Materia prima.
 Recetas Impresas.
 Solicitud.
 Productos Reutilizables.
 Auditoria.
 Calculo de Productos.
 Panadero.
 Cliente.
 Calificación de Materia Prima.
 Impresión de la Factura.
 Auditorias de Proveedores.
 Descuentos.
 Formas de Pago.
 Factura.
 Notificaciones.
 Entrevista.
 Proveedor.
 Historial.
 Calculo Total.

DIAGRAMA DE CLASES DEL SISTEMA.

Ingeniería en Sistemas Computacionales 49


Análisis y Diseño de Sistemas II UCSG

Ingeniería en Sistemas Computacionales 50


Análisis y Diseño de Sistemas II UCSG

ESCENARIOS DE CASOS DE USO

Ingeniería en Sistemas Computacionales 51


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: Ingreso de información de productos existentes. ID: Escenario 1

1. El nombre del Producto, categoría, lote, precio existe.


Suposiciones
: 2. La Cantidad esta definida.

1. El producto queda registrado.


Resultados:
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 existe. ID: Escenario 2

Ingeniería en Sistemas Computacionales 52


Análisis y Diseño de Sistemas II UCSG

1. El producto no existe.
Suposiciones
2. Los datos del producto, categoría, lote, precio están definidos.
:
3. La cantidad esta definida

1. El producto queda registrado.


Resultados:
2. La cantidad queda asignada.

CASO DE USO CU2: GESTIONAR PROVEEDORES.

CU2.Escenario #1: Registro de Proveedores.

Ingeniería en Sistemas Computacionales 53


Análisis y Diseño de Sistemas II UCSG

Escenario: Registro de Proveedores. ID: Escenario 1


1. El proveedor no existe.
Suposiciones
2. Los Datos del proveedor están definidos.
:
3. El generador de clave al proveedor funciona.

1. El proveedor quedo ingresado.


Resultados:
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 54


Análisis y Diseño de Sistemas II UCSG

1. El proveedor está definido.


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 55


Análisis y Diseño de Sistemas II UCSG

1. El proveedor ha sido seleccionado


Suposiciones
: 2. Los productos no son entregados por proveedor.

Resultados: 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 56


Análisis y Diseño de Sistemas II UCSG

Escenario: Entrada de Mercaderías. ID: Escenario 1


1. La mercadería esta entregada.
Suposiciones
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 57


Análisis y Diseño de Sistemas II UCSG

1. La solicitud de Salidas de Mercadería existe.


Suposiciones
: 2. Cada Artículo tiene stock.

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

2. La persona solicitante queda registrada con fecha


Resultados:
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 58


Análisis y Diseño de Sistemas II UCSG

Escenario: Producción exitosa con receta. ID: Escenario 1

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.
Resultados:
3. La producción del pan quedo añadido

4. El historial de Producción quedó registrado.

CU4.Escenario #2: Producción no exitosa con receta.

Escenario: Producción no exitosa con receta. ID: Escenario 2

Ingeniería en Sistemas Computacionales 59


Análisis y Diseño de Sistemas II UCSG

1. La receta para elaborar el pan existe.

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 60


Análisis y Diseño de Sistemas II UCSG

1. Las especificaciones de pan a fabricar están definidas.


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 61


Análisis y Diseño de Sistemas II UCSG

1. Las especificaciones de pan a fabricar están receptadas.


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.

Ingeniería en Sistemas Computacionales 62


Análisis y Diseño de Sistemas II UCSG

CU5.Escenario #1: Emisión de éxito de una factura de registro para


consumidor final.

Emisión de éxito de una factura de registro para


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

1. La factura quedó registrada e impresa.


Resultados:
2. El cobro quedó registrado y cancelado.

CU5.Escenario #2: Emisión no exitosa de una factura de registro para


consumidor final.

Ingeniería en Sistemas Computacionales 63


Análisis y Diseño de Sistemas II UCSG

Emisión no exitosa de una factura de registro para


Escenario: ID: Escenario 2
consumidor final.
1. El cliente ha pedido la factura como un consumidor final.
Suposiciones
2. La descripción de la compra existe.
:
3. El cliente no dispone del valor del cobro.

1. La factura quedo registrada y anulada.


Resultados:
2. El cobro no quedo registrado.

CASO DE USO CU6: GESTION DE CLIENTES.

Ingeniería en Sistemas Computacionales 64


Análisis y Diseño de Sistemas II UCSG

CU6.Escenario #1: Ingreso exitoso de un Cliente.

Escenario: Ingreso exitoso de un Cliente. ID: Escenario 1


1. El cliente no existe.
Suposiciones
: 2. Los datos del cliente están definidos.

Resultados: 1. El cliente quedó registrado.

CU6.Escenario #2: Ingreso no exitoso de un Cliente.

Ingeniería en Sistemas Computacionales 65


Análisis y Diseño de Sistemas II UCSG

Escenario: Ingreso no exitoso de un Cliente. ID: Escenario 2

1. El cliente no existe.
Suposiciones
: 2. Los datos del cliente no están definidos.

Resultados: 1. El cliente no quedó registrado.

DIAGRAMA DE ESTADOS
Ingeniería en Sistemas Computacionales 66
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
 Emitida.
 Terminada.
 Cobrada.
 Anulada.

Ingeniería en Sistemas Computacionales 67


Análisis y Diseño de Sistemas II UCSG

2. INVENTARIO.

ESTADOS
 Vacio.
 Modificado.
 Guardado.
 Terminado.

3. VENTA.

ESTADOS
 Activa.
 Anulada.
 Pendiente.
 Rechazada.
 Ejecutada.

4. COBROS VENTA.
Ingeniería en Sistemas Computacionales 68
Análisis y Diseño de Sistemas II UCSG

ESTADOS
 Activado.
 Cobrado.
 Contado.
 Credito.

5. PRODUCTOS ELABORACION.

ESTADOS
 Procesando.
 Torta.
 Pan.

Ingeniería en Sistemas Computacionales 69


Análisis y Diseño de Sistemas II UCSG

6. RECETA.

ESTADOS
 Activa.
 Inactiva.
 Procesando.
 Procesada.

7. PRODUCTOS.

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

Ingeniería en Sistemas Computacionales 70


Análisis y Diseño de Sistemas II UCSG

8. ORDEN PEDIDO

ESTADOS
 Vacio.
 Modificado.
 Terminada.
 Aceptado.

9. PERSONA.

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

Ingeniería en Sistemas Computacionales 71


Análisis y Diseño de Sistemas II UCSG

FLUJO DE VENTANAS Y LAOUTS

Ingeniería en Sistemas Computacionales 72


Análisis y Diseño de Sistemas II UCSG

LAYOUTS

Pantalla: Facturación

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

Ingeniería en Sistemas Computacionales 73


Análisis y Diseño de Sistemas II UCSG

Plan de pruebas.

Nombre de Grupo
FACTURACIÓN. No. de prueba: 1
de Prueba:
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
Prerrequisitos: 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. El cliente de la panadería esta definido.
2. El consumidor final es cuando el cliente no se registra.
3. Los productos de la panadería están definidos.
Instrucciones de
4. Se puede verificar los productos existentes de la panadería.
configuración: 5. El código de la factura es añadido automáticamente.
6. La fecha de la transacción es generada automáticamente
provenido del sistema.
a. El sistema le genera automáticamente un nuevo número de
la factura.
b. El vendedor va al botón de Seleccionar Compra para elegir
el producto deseado por el cliente y su cantidad, para ser
incluido a la factura.
c. El vendedor ingresa el numero de cedula del cliente, en
caso de ser registrado, si no, se realizara un nuevo registro
Instrucciones de
lo que el cliente decida. Adicionalmente se lo considera
prueba: como un Consumidor Final si el cliente no quiere ser
registrado.
d. Se calcula el valor total de la factura siendo la sumatoria
total del total de lo vendido para cada producto con su
respectiva cantidad deseada.
e. Dar click en Grabar para guardar los datos de la factura al
termine la transacción.
Comportamiento de i. Factura terminada con éxito.
Aceptación: ii. La factura queda impresa.
Fecha y Hora: Martes, 4 de Octubre del 2011 – 18h05
Resultado de la
Éxito.
prueba:
Observaciones:
José Lumbano(Analista, programador) – Adrian
Responsables: Campoverde(Usuario, Panadero)

Ingeniería en Sistemas Computacionales 74


Análisis y Diseño de Sistemas II UCSG

Pantalla: Clientes

Especificaciones:

 Boton Grabar, Evento PushButtom,


Desarrollar: GrabarFactura(Cedula_RUC,Cliente,Telefono,Direccion).

 Boton Limpiar, Evento PushButtom,


Desarrollar: clear().

Plan de pruebas.

Nombre de Grupo
Clientes No. de prueba: 1
de Prueba:

1. El Cliente José Talledo se registra con CI 0925254432.


2. El cliente José Talledo esta registrado en el sistema con los
Prerrequisitos: 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.
Instrucciones de
3. La identificación del cliente CI o RUC en su registro no se
configuración: repite.
4. El cliente no existe en el sistema.

Ingeniería en Sistemas Computacionales 75


Análisis y Diseño de Sistemas II UCSG

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
Instrucciones de
ingresado uno de los campos.
prueba: 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


Comportamiento de con 0925254412 con dirección Cdla. Modelo y el teléfono
Aceptación: es el 25100100.
2. La pantalla quedo limpia.

Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33

Resultado de la
Éxito.
prueba:
Observaciones:
José Lumbano(Analista, programador) – Adrian
Responsables: Campoverde(Usuario, Panadero)

Ingeniería en Sistemas Computacionales 76


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

Ingeniería en Sistemas Computacionales 77


Análisis y Diseño de Sistemas II UCSG

Plan de pruebas.

Nombre de Grupo
Selección Productos No. de prueba: 1
de Prueba:

o El Código del producto No.103 desea ser buscado en el


Prerrequisitos: 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
Instrucciones de arroja uno o más resultados en un GridWiew: El código 103
configuración: 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
Instrucciones de
con el checkbox Seleccionar.
prueba: 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
Comportamiento productos seleccionados por el cliente.
de Aceptación: 2. El grid sigue mostrando los datos del producto
recientes.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33
Resultado de la
Éxito.
prueba:
Observaciones:
José Lumbano(Analista, programador) –
Responsables: Adrian Campoverde(Usuario, Panadero)

Ingeniería en Sistemas Computacionales 78


Análisis y Diseño de Sistemas II UCSG

Pantalla: LOGIN.

Especificaciones:

 Boton IniciarSession, Evento PushButtom,


Desarrollar: Verificar (usuario, Password).

 Boton LimpiarDatos, Evento PushButtom,


Desarrollar: clear().

 Boton Cancelar, Evento PushButtom,


Desarrollar: exit().

Ingeniería en Sistemas Computacionales 79


Análisis y Diseño de Sistemas II UCSG

Plan de pruebas.

Nombre de Grupo
Inicio de sesión. No. de prueba: 1
de Prueba:
1. El nombre del usuario jose.lumbano y la clave
Prerrequisitos: 123456 (******), son ingresados para iniciar la sesión al
sistema.
1. Los usuarios son definidos como vendedores.
Instrucciones de
2. Los usuarios existen.
configuración: 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
Instrucciones de que se ingreso.
prueba: 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
Comportamiento de
password).
Aceptación: 2. Cierra la ventana de Login.
3. Abre el menú principal.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33
Resultado de la
Éxito.
prueba:
Observaciones:
José Lumbano (Analista, programador) –
Responsables: Adrian Campoverde (Usuario, Panadero)

Ingeniería en Sistemas Computacionales 80


Análisis y Diseño de Sistemas II UCSG

Pantalla: Registro de Usuarios.

Especificaciones:

 Boton IniciarSession, Evento PushButtom,


Desarrollar: GuardarDatos (id,nombre,dirección,teléfono,usuario,contraseña1,contraseña2).

 Boton LimpiarDatos, Evento PushButtom,


Desarrollar: clear().

 Boton Cancelar, Evento PushButtom,


Desarrollar: exit().

Ingeniería en Sistemas Computacionales 81


Análisis y Diseño de Sistemas II UCSG

Plan de pruebas.

Nombre de Grupo
Registro de Usuario. No. de prueba: 1
de Prueba:
1. El usuario jose.lumbano esta registrado en el
sistema.
Prerrequisitos: 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.
Instrucciones de
3. La identificación del cliente CI en su registro no se repite.
configuración: 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.
Instrucciones de
3. Se debe registrar datos personales del usuario como
prueba: teléfono, dirección. Etc.
4. El administrador procede a guardar el registro del usuario.
5. El usuario tienes acceso ilimitado o limitado según su
código secreto.
Comportamiento de 1. Se ha registrado con éxito el registro de usuario con su
Aceptación: respectiva contraseña.

Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33


Resultado de la
Éxito.
prueba:
Observaciones:
José Lumbano(Analista, programador) –
Responsables: Adrian Campoverde(Usuario, Panadero)

Ingeniería en Sistemas Computacionales 82


Análisis y Diseño de Sistemas II UCSG

Pantalla: Selección de Compras de Producto.

Especificaciones:

 Boton IniciarSession, Evento PushButtom,


Desarrollar: GuardarDatos (id,nombre,dirección,teléfono,usuario,contraseña1,contraseña2).

 Boton BuscarProducto, Evento PushButtom,


Desarrollar: buscar_Producto(cod_producto).

 Boton LimpiarDatos, Evento PushButtom,


Desarrollar: clear().

 Boton Cancelar, Evento PushButtom,


Desarrollar: exit().

Ingeniería en Sistemas Computacionales 83


Análisis y Diseño de Sistemas II UCSG

Plan de pruebas.

Nombre de Grupo
Seleccionar compra de productos No. de prueba: 1
de Prueba:
1. Elegimos el Código #103 como Pastel de
Carne cuyo precio unitario es de $0.45 y la cantidad a
Prerrequisitos: comprar es 4, el costo total del producto comprado es $1.80
sin IVA.
Instrucciones de 1. El producto existe y están definidos.
configuración: 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.
Instrucciones de
5. Dar click en el botón “Aceptar Compra” del producto
prueba: 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:
Comportamiento de
pasteles, 4, $0.45, $1.80
Aceptación: 2. El producto es colocado a la factura.
Fecha y Hora: Lunes, 17 de enero del 2012 – 14h42
Resultado de la
Éxito.
prueba:
Observaciones:
José Lumbano(Analista, programador) –
Responsables: Adrian Campoverde(Usuario, Panadero)

Ingeniería en Sistemas Computacionales 84


Análisis y Diseño de Sistemas II UCSG

Pantalla: Selección de Compras de Producto.

Especificaciones:

 Boton GrabarProducto, Evento PushButtom,


Desarrollar: Grabar_producto (id_producto,nombre,catgoria,marca,costo_unitario).

 listBox Categorias.
Desarrollar: escribir Categoria[índices+1];

 Boton LimpiarDatos, Evento PushButtom,


Desarrollar: clear().

 Boton Cancelar, Evento PushButtom,


Desarrollar: exit().

Ingeniería en Sistemas Computacionales 85


Análisis y Diseño de Sistemas II UCSG

Plan de pruebas.

Nombre de Grupo
Registro de Usuario. No. de prueba: 1
de Prueba:

1. Se registra: #107, Queso de Leche, Postres, “ninguna”,


Prerrequisitos: $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
Instrucciones de
definición de datos de productos, es decir, llenar todos los
configuración: 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:
Instrucciones de
<ninguno>.
prueba: 5. El vendedor ingresa el costo unitario: $0.60.
6. No arroja ni un mensaje si uno o más campos que no
ingresa el dato.
7. Dar Clic en el Botón Grabar Producto los datos que se van a
registrar
Comportamiento de 1. Se ha registrado con éxito la definición de los datos del
Aceptación: producto.

Fecha y Hora: Lunes, 17 de enero del 2012 – 14h33


Resultado de la
Éxito.
prueba:
Observaciones: Ninguno.
Responsables: José Lumbano – Adrian Campoverde

Ingeniería en Sistemas Computacionales 86


Análisis y Diseño de Sistemas II UCSG

DIAGRAMAS DE CLASES

Diagrama de clases en fase de Análisis.

Ingeniería en Sistemas Computacionales 87


Análisis y Diseño de Sistemas II UCSG

Diagrama de Clases en fase de Diseño.

Ingeniería en Sistemas Computacionales 88


Análisis y Diseño de Sistemas II UCSG

Diagrama de Clases en fase de Diseño Mejorada.

Ingeniería en Sistemas Computacionales 89


Análisis y Diseño de Sistemas II UCSG

Detalle de Clases.

Clase Persona.

Nombre de la Clase: Persona.

Clase que permite registrar los datos personales de todas las


Descripción: personas que actúan en la panadería (cliente, vendedor, etc.).

Estado: Activo, Inactivo, modificado, eliminado.

iii. Sub-Clases: Proveedor, panadero, Cliente.


Relaciones: iv. Súper-Clases:
v. Asociación:
Miembros Públicos: GuardarPersona(), BuscarPersona().
Nombre, apellido, cedula, cuidad, dirección, teléfono,
Miembros Protegidos: estado[Activo, Inactivo, modificado, eliminado].
Miembros Privados:
Las personas se clasifican por tipos:

If (t_persona==’1’)then
Persona=”cliente”;
Notas: Else if(t_persona==’2’) then
Persona=”Panadero”;
Else if(t_persona==’3’) then
Persona=”Proveedor”;
End if;

Clase Cliente.

Nombre de la Clase: Cliente.


Clase que permite registrar los datos personales de la persona
Descripción: solicitante de compra de forma existente y que permite manejar
todas las operaciones en las que interviene.
Estado: Activo, Inactivo, modificado, eliminado.

Ingeniería en Sistemas Computacionales 90


Análisis y Diseño de Sistemas II UCSG

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

Clase Panadero.

Nombre de la Clase: Panadero.


Clase que actúa en su función de interactuar los registros y
Descripción: operaciones con las que pueden manejar para efectuar una
transacción de la compra.
Estado: Activo, Inactivo, modificado, eliminado.

1. Sub-Clases:
Relaciones: 2. Súper-Clases: Persona.
3. Asociación: Factura.
Miembros Públicos:
Nombre, apellido, cedula, cuidad, dirección, teléfono,
Miembros Protegidos: estado[Activo, Inactivo, modificado, eliminado].
Miembros Privados: Nombre_panaderia, elaborar().
El panadero pertenece al tipo de persona que interviene.
Notas:
t_persona=’2’;

Clase Proveedor.

Nombre de la Clase: Proveedor.


El sistema permitirá conocer los diferentes tipos de
proveedores, clasificarlos según la magnitud de crédito que
Descripción: tengan en el local, almacenarlo en una base de datos con el fin
de registrarlo y verificar las cuentas por pagar que tenga el local
cuando obtenga la compra de la materia prima.
Estado: Activo, Inactivo, modificado, eliminado.

1. Sub-Clases:
Relaciones: 2. Súper-Clases: Persona.
3. Asociación: Materia_Prima con enlace de orden pedido.

Ingeniería en Sistemas Computacionales 91


Análisis y Diseño de Sistemas II UCSG

Miembros Públicos: Listar_productos(), ingresar_ventas();


Nombre, apellido, cedula, cuidad, dirección, teléfono,
Miembros Protegidos: estado[Activo, Inactivo, modificado, eliminado].
Miembros Privados: Cod_proveedor, nombre_distribuidor
El panadero pertenece al tipo de persona que interviene.
Notas:
t_persona=’3’;

Clase Factura.

Nombre de la Clase: Factura.


La factura permite guardar registros del cliente y realiza
Descripción: transacciones de compras sobre los productos que también son
almacenador en sus registros del cliente.
Estado: Emitida, anulada, cobrada, anulada.

1. Sub-Clases:
Relaciones: 2. Súper-Clases:
3. Asociación: Panadero, Pedido.
Miembros Públicos: generarFactura(), imprimir().
Miembros Protegidos:
Codigo, nombre_cliente, cantidad, descripción, costo_unitario,
Miembros Privados: costo_total, estado[Emitida, anulada, cobrada, anulada.].
La factura se registra por cliente, si el cliente decide registrarlo,
Notas: caso contrario, se lo considera obviamente como consumidor
final.

Clase Receta

Nombre de la Clase: Receta.


Representa cada receta existente en el sistema, en la receta se
Descripción: indica el nombre del producto a fabricar, la materia prima a
utilizar, y cuanto de cada una de estas se necesita.
Estado: Creada, Archivada, en Uso, Caducado.

1. Sub-Clases:
Relaciones: 2. Súper-Clases:
3. Asociación: Producto
Miembros Públicos: cargarReceta(),ObtenerReceta();
Miembros Protegidos:
Codigo, nombre_receta, fecha_elaboracion, lista_ingredientes,
Miembros Privados: detalle_preparacion, estado[Creada, Archivada, en Uso, Caducado.]

Ingeniería en Sistemas Computacionales 92


Análisis y Diseño de Sistemas II UCSG

La receta se puede obtener mediante los ingredientes y la


Notas: preparación del producto, y al cargar una o mas receta muestra
lo solicitado (ingredientes y preparación).
Clase Detalle_pedido.

Nombre de la Clase: Detalle_Pedido


Esta clase permite describir cada producto a través de detalles,
con las que pueden orientar mediante información hacia al
Descripción: cliente para realizar sus pedidos. Aquí se pueden detallar
adicionalmente una observación, en caso de que haya
novedades sobre el pedido de los productos
Estado: Vacio, aceptado, modificado, finalizado.
1. Sub-Clases:
Relaciones: 2. Súper-Clases:
3. Asociación: Pedido, Orden_compra.
Miembros Públicos: generarDetalles(), cargarDetalles(),borrarDetalles();
Miembros Protegidos:
Codigo, productos, detalles, observaciones, estado[Vacio,
Miembros Privados: aceptado, modificado, finalizado];
El detalle pedido solo se fijara cierta información de cada
Notas: producto, el estado y la observación.

Clase Pedidos.

Nombre de la Clase: Pedidos.


Clase que clasifica sus productos a través de un código para
luego posiblemente llega inicialmente registrando a una factura
Descripción: cuando el cliente realiza el pedido de compra de los productos
que se encuentra en la panadería.
Estado: Iniciado, En preparación, Finalizado, Anulado.
1. Sub-Clases:
Relaciones: 2. Súper-Clases:
3. Asociación: Cliente, Detalle_pedido.
Regisrar_pedido(), Codigo, nombre_producto,cantidad,
Miembros Públicos: costo_unitario,estado[Iniciado, En preparación, Finalizado,
Anulado].
Miembros Protegidos:
Miembros Privados: verificar_estado_solicitud();
Notas: El pedido se busca por medio del codigo.

If codigo_producto== producto then


Mostrar(“Producto:”+producto+”Cantidad”+cantidad+
”Costo_Unitario:”+costo_unitario+”Estado:”+estado);

Ingeniería en Sistemas Computacionales 93


Análisis y Diseño de Sistemas II UCSG

Else
Mostrar (“pedido no existe.”);
End if;
Clase Formas_pago.

Nombre de la Clase: Formas Pago.


Esta clase especifica los tipos de pagos con el que se realiza el
Descripción: cliente ya sea por efectivo, cheque, tarjeta de crédito, al
momento de pagar el total de la compra del producto.
Estado: Emitido, recibo_emitido, cobrando, anulado.
1. Sub-Clases:
Relaciones: 2. Súper-Clases:
3. Asociación: Pedido.
Miembros Públicos: Emitir_pago(), procesar_pago(), contar_efectivo().
Miembros Protegidos:
Tipo_pago, cantidad, cambio, estado[Emitido, recibo_emitido,
Miembros Privados: cobrando, anulado], observación.
Se clasifica las formas de pago.

Si t_pago==1 then
Tipo_pago=”Efectvo”;
Notas: Else Si t_pago==2 then
Tipo_pago=”Cheque”;
Else Si t_pago==3 then
Tipo_pago=”Tarjeta”;
End if;

Clase Materia_prima.

Nombre de la Clase: Materia Prima


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

Ingeniería en Sistemas Computacionales 94


Análisis y Diseño de Sistemas II UCSG

Clase Orden_Compra

Nombre de la Clase: Orden Compra


Esta clase nos permite emitir una orden de compra al proveedor
Descripción: con la autorización del administrador para la producción de la
materia prima que se necesita para la panadería.
Estado: Iniciando, preparando, procesado, terminado, defectuoso.
1. Sub-Clases:
Relaciones: 2. Súper-Clases:
3. Asociación: Proveedor, Orden_Compra
Miembros Públicos: Buscar_oc(), Guardar_oc(), eliminar_oc();
Miembros Protegidos:
Código, nombre, peso, marca, costo, estado[Iniciando,
Miembros Privados: preparando, procesado, terminado, defectuoso]
Se realiza la implementación de todas las operaciones de los
Notas: datos de la materia prima distribuido para la panadería.

Clase Producto.

Nombre de la Clase: Producto


Esta clase nos permite la digitalización de todos los productos
de nuestra panadería además de ayudarnos a clasificar cada
Descripción: producto a través de algún estado.
Aquí podemos: ingresar, clasificar, modificar, eliminar
información de los productos de venta.
Estado: Grabado, modificado, finalizado, eliminado.
1. Sub-Clases: Pan, Rosca, torta, Pastel
Relaciones: 2. Súper-Clases:
3. Asociación: Detalle_Pedido, Receta.
Miembros Públicos: generarProducto(), buscarProducto(), eliminar_producto();
Código, nombre, peso, marca, costo_unitario, costo_total,
Miembros Protegidos: fecha_elab, fecha_caduc, distribuidor, estado[Grabado,
modificado, finalizado, eliminado]
Miembros Privados:
Notas: Se clasifica los productos existentes para la panaderia.

Si t_producto==1 then
Tipo_ producto =”Pan”;
Else Si t_producto ==2 then
Tipo_ producto =”Pastel”;
Else Si t_producto ==3 then
Tipo_ producto =”Rosca”;
Else Si t_producto ==4 then

Ingeniería en Sistemas Computacionales 95


Análisis y Diseño de Sistemas II UCSG

Tipo_ producto =”Torta”;


End if;

Detalle de operaciones.

Clase Persona.

Nombre de la Operación: Guardar Persona


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

Nombre de la Operación: Buscar Persona


Miembro de la clase: Persona
Nombre: String
Apellido: String
Argumentos: Cedula: Long(15)
Dirección: String
Teléfono: Long(15)
Control: Publico
CI=0;
Precondición: Cadena=NULL;
Estado=’’;

Ingeniería en Sistemas Computacionales 96


Análisis y Diseño de Sistemas II UCSG
function guardarPersona(CI is Long)is String
{
if (Cedula==CI && Estado==’A’)
{
Cadena+= “Nombre: ”+Nombre+
”Apellido: ”+Apellido+
”Cedula: ”+Cedula+
”Direccion: ”+Direccion+
Semántica: ”Telefono: ”+Telefono;
}
Else
{
Cadena+=”Persona no Existe.”;
}
Return Cadena;
}

Clase Factura

Nombre de la Operación: Generar Factura


Miembro de la clase: Factura
Nombre_cliente: String
Nombre_Producto: String
Descripcion: String
Argumentos: Cantidad: Int
Costo_unitario: Float
Costo_total: float
Control: Publico
Id_factura=0;
Id_producto=0;
Precondición: Acumulador_total=0;
Estado=’A’;
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,
Semántica: Cantidad, Costo_unitario,
Costo_total, acumulador_total,
estado);
}
Else
{
Mostrar(“Producto no Existe.”);
}
}

Nombre de la Operación: Imprimir Factura


Miembro de la clase: Factura
Argumentos: Nombre_cliente: String
Nombre_Producto: String
Descripcion: String

Ingeniería en Sistemas Computacionales 97


Análisis y Diseño de Sistemas II UCSG

Cantidad: Int
Costo_unitario: Float
Costo_total: float
Control: Publico
Id_factura=0;
Precondición: Acum =0;
Cadena=NULL;
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]+
Semántica: ”Cantidad: ”+Cantidad[i]+
”Costo_total: ”+Costo_total[i]);
}
Else
{
Mostrar(“Factura no Existe.”);
}
}
Print(Cadena); // imprimir mediante impresora
}

Clase Receta

Nombre de la Operación: Obtener Receta


Miembro de la clase: Receta
Nombre_Receta: String
Nombre_ingredientes: String
Argumentos: Preparación:String
Fecha_inicio:Date;
Control: Publico
Id_receta=0;
Precondición: Estado=’C’;
Ingredientes=NULL;
procedure generarFactura()
{
Id_receta+=1;
For(int i=0;i<ningr;i++)
{
Semántica: Ingredientes+=Nombre_ingredientes[i]+”\n”;
}
Insertar(id_receta, nombre_Receta,
ingredientes,preparación,
fecha_inicio,estado);
}

Ingeniería en Sistemas Computacionales 98


Análisis y Diseño de Sistemas II UCSG

Nombre de la Operación: Cargar Receta


Miembro de la clase: Receta
Argumentos: Cod_receta: int
Control: Publico
Precondición: Id_receta=0;
procedure imprimirFactura(id_receta is int)
{
if(cod_receta==id_receta && status==’C’)
{
cargarDatosReceta(Cod_receta);
Semántica: }
Else
{
Mostrar(“Receta no Existe.”);
}
}

Clase Detalle_Pedido

Nombre de la Operación: Generar detalles


Miembro de la clase: Detalle_pedido
Id_detalles: int
Nombre_producto: String
Argumentos: Detalles: String
Observaciones: String
Control: Publico
Precondición: 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);
}
Semántica: Else
{
Mostrar(“Producto no Existe.”);
}

Ingeniería en Sistemas Computacionales 99


Análisis y Diseño de Sistemas II UCSG

Nombre de la Operación: Cargar detalles


Miembro de la clase: Detalle_pedido
Cod_detalles: int;
Nombre_producto: String
Argumentos: Detalles: String
Observación: String;
Control: Publico
Precondición: 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+
Semántica: ”Observacion:”+observación;
}
Else
{
Cadena+=Detalle no Existe.”;
}

Return Cadena;
}

Nombre de la Operación: Borrar detalles


Miembro de la clase: Detalle_pedido
Cod_detalles: int;
Nombre_producto: String
Argumentos: Detalles: String
Observación: String;
Control: Publico
Precondición: 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);
Semántica: }
Else
{
Cadena+=”Detalle no Existe.”;
}
}

Ingeniería en Sistemas Computacionales 100


Análisis y Diseño de Sistemas II UCSG

Clase Pedidos.

Nombre de la Operación: Verificar_estado_pedido.


Miembro de la clase: Pedidos
Cod_pedido: int
Argumentos: Nombre_producto: String.
Control: Privado
Id_pedido=0; fecha_pedido=sysdate; cadena=NULL;
Precondición: 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+
Semántica: “Estado:”+Status;
}
Else
{
Cadena+=”Pedido no Existe.”;
}
Return Cadena;
}

Clase Formas_pago.

Nombre de la Operación: Emitir pago.


Miembro de la clase: Formas_pago
Cod_pedido: int
Argumentos: Nombre_producto: String.
Control: Publico
Id_pedido=0; fecha_pago=sysdate; cadena=NULL;
Precondición: Tipo_p=(tipo_pago=1?”Efectivo”:tipo_pago=2?”Cheque”:
tipo_pago=3?”Tarjeta_credito”);

Ingeniería en Sistemas Computacionales 101


Análisis y Diseño de Sistemas II UCSG
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+
Semántica: “Formas a pagar:”+Tipo_p;
}
Else
{
Cadena+=”Pedido no Existe.”;
}
Return Cadena;
}

Nombre de la Operación: Procesar_pago.


Miembro de la clase: Formas_pago
Argumentos: id_pedido: int
Control: Publico
cod_pedido=0; fecha_pago=sysdate; resultado=NULL;
Precondición: 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;
Semántica: }
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;
}

Ingeniería en Sistemas Computacionales 102


Análisis y Diseño de Sistemas II UCSG

Nombre de la Operación: Contar efectivo


Miembro de la clase: Formas_Pago
tipo_billete: int;
Argumentos:
tipo_moneda: int;
Control: Publico
Precondición: cantidad=0; total=0;
Semántica: function contar_efectivo(cantidad is float)is
String
{
Do{
If(tipo_billete==1)
{total+=100;}
If(tipo_billete==2)
{total+=50;}
If(tipo_billete==3)
{total+=20;}
If(tipo_billete==4)
{total+=10;}
If(tipo_billete==5)
{total+=5;}
If(tipo_billete==6)
{total+=1;}

If(tipo_moneda==1)
{total+=1;}
If(tipo_ moneda==2)
{total+=0.50;}
If(tipo_ moneda==3)
{total+=0.25;}
If(tipo_ moneda==4)
{total+=0.10;}
If(tipo_ moneda==5)
{total+=0.05;}
If(tipo_ moneda==5)
{total+=0.01;}
}while(total<=cantidad);
If(total>=cantidad)
{
Vuelto=total-cantidad;
Return(“Total pagar:”+total_pagar+
“Efectivo:”+”cantidad”

Ingeniería en Sistemas Computacionales 103


Análisis y Diseño de Sistemas II UCSG
“Cambio:”+(vuelto>0?vuelto:
”Completo con $0.00”);
}
Else
{
Return(“Falta más dinero.”)
}
}

Clase Materia_prima

Nombre de la Operación: Grabar materia prima


Miembro de la clase: Materia_prima
Nombre: String
Peso: float
Argumentos: Marca: String
Costo: Float.
Control: Publico
Precondición: Id_mp=0; Estado=’1’
procedure grabar_materia_prima()
{
Id_mp+=1;
nombre_mp=nombre;
Peso_mp=peso;
Semántica: Marca_mp=marca;
Costo_mp=costo;
Estado=’1’;
RegistroMP(Id_mp,nombre_mp,Peso_mp,
Marca_mp, Costo_mp, Estado);
)

Nombre de la Operación: Buscar materia prima


Miembro de la clase: Materia_prima
Argumentos: Cod_mp:int;
Control: Publico
Precondición: Id_mp=0;
Semántica: function buscar_materia_prima(Cod_mp is int)
is String
{
If(id_mp==cod_mp){
Cadena+=”Cod.MP:”+cod_mp+
“Nombre MP:”+nombre+
“Peso:”+peso+
“marca:”+marca+
“Costo:”+costo;
}
Else

Ingeniería en Sistemas Computacionales 104


Análisis y Diseño de Sistemas II UCSG
{
Cadena+=”Materia Prima no Existe.”;
}
Return Cadena;
}

Nombre de la Operación: Eliminar materia prima


Miembro de la clase: Materia_prima
Argumentos: Cod_mp:int;
Control: Publico
Precondición: 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+
Semántica: “Costo:”+costo);
}
Else
{
Mostrar(”Materia Prima no Existe.”);
}
}

Clase Orden_compra

Nombre de la Operación: Grabar orden compra


Miembro de la clase: Orden compra
Costo_total: Float
Argumentos: Lista_productos:String
Proveedor: String
Control: Publico
Precondición: Id_oc=0; Estado=’1’

Ingeniería en Sistemas Computacionales 105


Análisis y Diseño de Sistemas II UCSG

procedure grabar_oc()
{
Id_oc+=1;
Lista_productos=nom_list_productos;
Costo_total=Producto.Acum_total;
Semántica: proveedor=proveedor_oc;
Estado=’1’;
RegistroOC(Id_mp,lista_prodcutos, Costo_total,
Marca_mp, Costo_mp, Estado);
)

Nombre de la Operación: Buscar orden compra


Miembro de la clase: Orden_compra
Argumentos: Cod_oc:int;
Control: Publico
Precondición: 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+
Semántica: “Costo:”+costo;
}
Else
{
Cadena+=”Orden Compra no Existe.”;
}
Return Cadena;
}

Nombre de la Operación: Eliminar orden compra


Miembro de la clase: Orden_compra
Costo_total: Float
Argumentos: Lista_productos:String
Proveedor: String
Control: Publico
Precondición: Id_oc=0;

Ingeniería en Sistemas Computacionales 106


Análisis y Diseño de Sistemas II UCSG

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+
Semántica: “Costo:”+costo);
}
Else
{
Mostrar(”Orden de Compra no Existe.”);
}
}

Clase Producto

Nombre de la Operación: Grabar Producto


Miembro de la clase: Producto
Nombre_prodct: String
peso_prodct:String
Costo_Unitario: Float(6,2)
Argumentos: marca_prodct: String
f_elab: Date
f_exp: Date
Distribuidor:String
Control: Publico
Precondición: Id_producto=0; Estado=’1’
procedure grabar_producto()
{
Nombre_prodct=nombre;
peso_prodct=peso;
Costo_Unitario=costo_unitario;
marca_prodct=marca;
Semántica: f_elab=fecha_elab;
f_exp=fecha_caduc;
Distribuidor=distribuidor;
RegistroProducto(Nombre_prodct, peso_prodct,
Costo_Unitario, marca_prodct, f_elab, f_exp,
Distribuidor, estado);
)

Nombre de la Operación: Buscar Producto


Miembro de la clase: Producto
Argumentos: Cod_producto:int;

Ingeniería en Sistemas Computacionales 107


Análisis y Diseño de Sistemas II UCSG

Control: Publico
Precondición: 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”+
Semántica: Fecha_caduc+”Distribuidor:”+
Distribuidor);
}
Else
{
Cadena+=”prodcuto no Existe.”;
}
Return Cadena;
}

Nombre de la Operación: Eliminar Producto


Miembro de la clase: Producto
Argumentos: Cod_producto:int;
Control: Publico
Precondición: 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”+
Semántica: Fecha_caduc+”Distribuidor:”+
Distribuidor);
}
Else
{
Mostrar(“Producto no Existe.”);
}
}

Persistencia de tipos de datos.

Ingeniería en Sistemas Computacionales 108


Análisis y Diseño de Sistemas II UCSG

Persona
Campos Tipo de Datos Tipo Clave Valor
Nombre String Not Null
apellido String Not Null
cedula Long(15) PK Not Null
cuidad String Not Null
dirección String Null
teléfono Long(20) Not Null
estado Char(1) Not Null
Procedimientos Almacenados
Create or replace procedure guardarPersona();
Create or replace procedure buscarPersona();

Proveedor
Campos Tipo de Datos Tipo Clave Valor
Id_Proveedor Integer PK Not Null
Nombre_distribuidor String Not Null
idMateriaPrima Integer FK1:Materia_Prima Not Null
Nombre_mp String FK2:Materia_Prima Not Null
Procedimientos Almacenados:
Create or replace procedure listarProductos();
Create or replace procedure ingresarVentas();

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

Materia Prima
Campos Tipo de Datos Tipo Clave Valor

Ingeniería en Sistemas Computacionales 109


Análisis y Diseño de Sistemas II UCSG

Not Null
Id_mp Integer PK
Not Null
Id_Proveedor Integer FK1:proveedor
Not Null
Id_OrdenCompra Integer FK2:orden_compra
Not Null
Nombre String
Not Null
Peso Float(2,2)
Not Null
Marca String
Null
costo Float(8,2)
Not Null
Nombre_distribuidor String FK1:proveedor
Not Null
Procedimientos Almacenados:
Create or replace procedure Buscar();
Create or replace procedure Guardar();
Create or replace procedure Eliminar();

Factura
Campos Tipo de Datos Tipo Clave Valor
Id_Factura Integer PK Not Null
Nombre_cliente String Not Null
Nombre_Producto String Not Null
Descripcion String Not Null
cantidad integer Not Null
Costo_unitario Float(6,2) Not Null
Costo_total Float(6,2) Not Null
Id_pedido Integer FK1:pedido Not Null
Estado Char(1) FK2:pedido Not Null
Id_panadero Integer FK3:panadero Not Null
Nombre_panaderia String FK4:panadero Not Null
Procedimientos Almacenados:
Create or replace procedure Buscar();
Create or replace procedure Guardar();
Create or replace procedure eliminar();

Pedido
Campos Tipo de Datos Tipo Clave Valor

Ingeniería en Sistemas Computacionales 110


Análisis y Diseño de Sistemas II UCSG

Id_pedido Integer PK Not Null


Nombre_producto String Not Null
estado String Not Null
id_Factura String FK1:factura Not Null
nombre_cliente integer FK2:factura Not Null
Cantidad Float(6,2) FK3:factura Not Null
costo_unitario Float(6,2) FK4:factura Not Null
Costo_total Integer FK1:factura Not Null
Tipo_pago Char(1) FK2:formas_pago Not Null
Cantidad_pago Integer FK3:formas_pago Not Null
Cambio. String FK4:formas_pago Not Null
Procedimientos Almacenados:
Create or replace procedure Registrar_pedido();
Create or replace procedure Verificar_solicitud(id_pedido is integer);

Formas_pago
Campos Tipo de Datos Tipo Clave Valor
Tipo_pago Char(1) PK Not Null
Cantidad Integer Not Null
Cambio Float(6,2) Null
Estado Char(1) Not Null
Observación String Null
Id_pedido Integer FK1:pedidos Not Null
Nombre_producto String FK2:pedido Not Null
Procedimientos Almacenados
Create or replace procedure Registrar_pago();
Create or replace procedure procesar_pago(tipo_pago is integer);

Orden_compra
Campos Tipo de Datos Tipo Clave Valor
Id_ordencompra Integer PK Not Null
Nombre_productos String Not Null
Costo Float(6,2) Not Null

Ingeniería en Sistemas Computacionales 111


Análisis y Diseño de Sistemas II UCSG

Proveedor String Not Null


Marca String FK1:Materia Prima Null
Estado Char(1) Not Null
Id_materia_prima Integer FK1:Detalle Pedido Not Null
Id_detalle Integer FK2: Detalle Pedido Not Null
Detalles String Null
Procedimientos Almacenados
Create or replace procedure generarOrdenCompra();
Create or replace procedure imprimir_oc(id_ordencompra is integer);

Receta
Campos Tipo de Datos Tipo Clave Valor
Id_receta
Integer PK Not Null
Nombre_receta
String Not Null
Fecha_elaboracion
Date Not Null
Nombre_ingredientes
String Not Null
Nombre_detalles
String Null
Detalles_preparacion
Char(1) Not Null
Estado
Integer FK1:Producto Not Null
Id_producto
String FK2: Producto Not Null
Nombre_producto
Float(6,2) FK2: Producto Null
Costo_unitario
Procedimientos Almacenados:
Create or replace procedure generarReceta();
Create or replace procedure cargarReceta(id_receta is integer);
Create or replace procedure buscarReceta(id_receta is integer);

Producto
Campos Tipo de Datos Tipo Clave Valor

Ingeniería en Sistemas Computacionales 112


Análisis y Diseño de Sistemas II UCSG

Id_producto Integer PK Not Null


Nombre_producto String Not Null
Detalles String FK1:Detalle_Pedido Not Null
Peso Float(6,2) Not Null
Lote Char(15) Null
Fecha_elaboracion Date Not Null
Fecha_expiracion Date Not Null
Costo_unitario Float(6,2) Not Null
Cantidad Integer Null
Costo_total Float(6,2) Null
Proveedor String Not Null
Estado Char(1) Not Null
Id_pedido Integer FK2:Detalle_pedido Not Null
Id_receta Integer FK3:Receta Not Null
Nombre_receta String FK4:Receta Not Null
Preparacion String FK5:Receta Not Null
Procedimientos Almacenados:
Create or replace procedure generarProducto();
Create or replace procedure buscarProducto(id_producto is integer);

Detalle_Pedido
Campos Tipo de Datos Tipo Clave Valor
Código Integer PK Not Null
Productos String Not Null
Detalles String Not Null
Observaciones String Null
Costo Float(6,2) Not Null
Estado Char(1) FK2:Detalle_pedido Not Null
Id_pedido Integer FK3:Pedido Not Null
Id_oc Integer FK4:Orden_compra Not Null
Proveedor String FK5:Orden_compra Null
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 113


Análisis y Diseño de Sistemas II UCSG

BIBLIOGRAFIA UTILIZADA.

 http://es.scribd.com/doc/55966348/5/Figura-3-Organigrama-de-la-Panaderia-y-
Pasteleria-Paso-Pan
 http://www.pastelerialorena.com/quienes.html
 http://panaderialavictoria.blogspot.com/
 http://mdmoon.blogspot.com/2007/11/bibliografa.html
 http://www.crearcuestionarios.com/c-17378-habitos_de_consumo.php
 http://www2.lavitoriana.com/encuesta_es_0_22_1.html

Ingeniería en Sistemas Computacionales 114

También podría gustarte