Sistema Farmacia Documento

Embed Size (px)

Citation preview

  • 5/25/2018 Sistema Farmacia Documento

    1/60

    UNIVERSITAT OBERTA DE CATALUNYAIngeniera informtica

    PROYECTO FIN DE CARRERA

    SISTEMA DE INFORMATIZACININTEGRAL DE LA GESTIN

    FARMACUTICA

    Autor: Aimen Ben AttahellahConsultor: Juan Carlos Gonzlez Martin

    Junio/2013

  • 5/25/2018 Sistema Farmacia Documento

    2/60

    ii

    Resumen

    El presente proyecto fin de carrera tiene como objetivo informatizar todo el sistema degestin de farmacias con el fin de dar un servicio a los farmacuticos, msindependiente, ms eficaz y ms sencillo.

    Independiente, porque la aplicacin podr ser adaptada y personalizada para permitir suutilizacin en cualquier tipo de farmacia de cualquier especialidad.

    Eficaz, porque el almacenamiento electrnico permite localizar datos especficos almomento sin necesidad de las tradicionales carpetas que puedan llevar a confundir otraspapelar los datos manipulados.

    Sencillo, porque el sistema ofrece una interfaz amigable y una navegacin sencilla,guiando en todo momento al usuario y ofreciendo la posibilidad de explicar lasfuncionalidades integradas en el sistema.

    El sistema permite al farmacutico de realizar todas las tareas diarias que se realizan entodas las farmacias, como la adquisicin y venta de medicamentos o artculos engeneral, gestin de stock, de clientes y proveedores, siendo stas las tareas msfrecuentes y demandadas en este sector.

    Cabe destacar, que la toma de requisitos de este proyecto est basada sobre peticionesde un cliente, farmacutico de profesin, con lo cual se trata de un caso de estudio real.Debido a esto, se ha tenido que seguir un modelo y una gestin de riesgos adaptados porsu puesto a este caso real.

    Palabras clave: Artculo, stock, venta, clientes, proveedores, caja, modelo clsico con

    prototipado, principios de metodologa gil, interfaz amigable de uso fcil y eficaz,C#.NET, ADO.NET.

  • 5/25/2018 Sistema Farmacia Documento

    3/60

    iii

    ndice general

    1. Introduccin .................................................................................................................. 1

    1.1. Justificacin ............................................................................................................ 1

    1.2. Objetivo .................................................................................................................. 1

    2. Gestin de proyecto ...................................................................................................... 2

    2.1. Modelo y ciclo de vida .......................................................................................... 2

    2.2. Metodologa............................................................................................................ 3

    2.3. Anlisis de riegos ................................................................................................... 3

    2.4. Planificacin y seguimiento .................................................................................. 4

    3. Anlisis del sistema ...................................................................................................... 7

    3.1. Anlisis de requisitos ............................................................................................. 73.1.1. No funcionales ................................................................................................ 7

    3.1.1. Funcionales ..................................................................................................... 8

    3.2. Casos de uso ........................................................................................................... 9

    3.2.1. Plantillas de casos de uso ............................................................................. 10

    3.2.2. Diagramas de casos de uso .......................................................................... 17

    3.3. Diagrama de clases .............................................................................................. 22

    4. Diseo del sistema ...................................................................................................... 22

    4.1. Arquitectura del sistema ...................................................................................... 22

    4.1.1. Arquitectura fsica del sistema .................................................................... 23

    4.1.1. Arquitectura software del sistema ............................................................... 23

    4.2. Diagramas de secuencia....................................................................................... 24

    4.2.1. Autentificacin ............................................................................................. 24

    4.2.2. Gestin de clientes ....................................................................................... 25

    4.2.3. Gestin de pedidos ....................................................................................... 27

    4.2.4. Inventario ...................................................................................................... 29

    4.2.5. Gestin de ventas.......................................................................................... 30

    4.2.6. Gestin de Caja............................................................................................. 33

    4.3. Diseo de base de datos ....................................................................................... 37

    4.3.1. Diagrama de entidad relacin ...................................................................... 37

    4.3.2. Definicin de tablas ...................................................................................... 37

    4.4. Diseo de interfaz de usuario .............................................................................. 40

  • 5/25/2018 Sistema Farmacia Documento

    4/60

    iv

    5. Implementacin........................................................................................................... 43

    5.1. Jerarqua del proyecto .......................................................................................... 44

    5.2. Algunos aspectos de implementacin ................................................................. 45

    5.2.1. Auto complecin .......................................................................................... 45

    5.2.2. Llamadas a procedimientos almacenados ................................................... 46

    5.2.3. Mensajes de error y afirmacin ................................................................... 46

    5.2.4. Generacin de informes ............................................................................... 46

    5.1. Algunos mdulos de la aplicacin ...................................................................... 47

    5.1.1. Mdulo de administracin - Gestin de usuarios ....................................... 48

    5.1.2. Mdulo de ventasNueva venta ................................................................ 49

    5.1.3. Mdulo de ventasHistrico de ventas ..................................................... 50

    5.1.4. Mdulo de stockModificar pedido .......................................................... 51

    5.1.5. Mdulo de cajaCaja registradora............................................................. 52

    6. Conclusiones ............................................................................................................... 53

    7. Lneas de futuro .......................................................................................................... 53

    8. Bibliografa.................................................................................................................. 54

  • 5/25/2018 Sistema Farmacia Documento

    5/60

    v

    ndice de ilustraciones

    Ilustracin 1-Ciclo de vida clsico con prototipado............................................................ 2 Ilustracin 2 - Planificacin inicialDiagrama Gantt ....................................................... 5

    Ilustracin 3 - Consumido real - Diagrama Gantt ............................................................... 6 Ilustracin 4 - Diagrama UCSistema ............................................................................. 17Ilustracin 5 - Diagrama UCSubsistemas ...................................................................... 17Ilustracin 6 - Diagrama UCgestin administrativa ..................................................... 18Ilustracin 7 - Diagrama UCAutentificacin ................................................................ 18Ilustracin 8 - Diagrama UC - Gestin de ventas ............................................................. 19Ilustracin 9 - Diagrama UC - Caja ................................................................................... 19 Ilustracin 10 - Diagrama UC - Gestin de socios ........................................................... 20 Ilustracin 11 - Diagrama UC - Gestin de stock ............................................................. 21

    Ilustracin 12 - Diagrama de clases ................................................................................... 22Ilustracin 13Arquitectura del sistemacliente servidor ............................................ 23Ilustracin 14Diagrama de secuencia - autentificacin ................................................ 24Ilustracin 15Diagrama de secuenciaalta cliente ...................................................... 25Ilustracin 16Diagrama de secuenciaconsultar cliente ............................................. 25Ilustracin 17Diagrama de secuenciamodificar cliente ............................................ 26Ilustracin 18Diagrama de secuenciasuprimir cliente .............................................. 26Ilustracin 19Diagrama de secuenciaalta pedido ...................................................... 27Ilustracin 20Diagrama de secuenciaconsultar pedido ............................................ 27Ilustracin 21Diagrama de secuenciamodificar pedido............................................ 28Ilustracin 22Diagrama de secuenciasuprimir pedido.............................................. 28Ilustracin 23Diagrama de secuenciaconsultar inventario ....................................... 29Ilustracin 24Diagrama de secuenciamodificar inventario stock ............................ 29Ilustracin 25Diagrama de secuencianueva venta .................................................... 30Ilustracin 26Diagrama de secuenciahistrico de ventas ......................................... 31Ilustracin 27Diagrama de secuenciapresupuesto venta .......................................... 32Ilustracin 28Diagrama de secuenciaimprimir presupuesto venta .......................... 32Ilustracin 29Diagrama de secuenciapago diferido .................................................. 33Ilustracin 30Diagrama de secuenciaConsultar caja ................................................ 34

    Ilustracin 31Diagrama de secuenciaFinalizar venta ............................................... 35Ilustracin 32Diagrama de secuenciajornada............................................................ 35Ilustracin 33Diagrama de secuenciadetalle de jornada .......................................... 36Ilustracin 34Diagrama de entidad relacin .................................................................. 37Ilustracin 35prototiponueva venta ........................................................................... 40Ilustracin 36prototiporecordatorio de ventas .......................................................... 41Ilustracin 37prototipocliente .................................................................................... 41Ilustracin 38prototipoproveedor............................................................................... 42Ilustracin 39prototipoarticulo ................................................................................... 42

  • 5/25/2018 Sistema Farmacia Documento

    6/60

    vi

    Ilustracin 40 - Implementacin - Esquema de compilacin .NET ................................. 43Ilustracin 41 - Implementacin - Esquema ADO.NET................................................... 44Ilustracin 42- Implementacin - Men ............................................................................ 44Ilustracin 43Implementacin - Proyectos C# .............................................................. 45Ilustracin 44Implementacin - Capas .......................................................................... 45Ilustracin 45Pantalla de gestin administrativa........................................................... 48Ilustracin 46 - Pantalla de nueva venta ............................................................................ 49Ilustracin 47Pantalla de histrico de ventas ................................................................ 50Ilustracin 48Pantalla de modificar pedido ................................................................... 51Ilustracin 49Pgina caja registradora ........................................................................... 52

    ndice de tablas

    Tabla 1 - Plantilla UC - Interaccin usuario/sistema ........................................................ 10Tabla 2 - Plantilla UC - Crear usuarios.............................................................................. 10Tabla 3 - Plantilla UC - Nueva venta ................................................................................. 11 Tabla 4 - Plantilla UCHistrico de venta....................................................................... 12Tabla 5 - Plantilla UC - Caja registradora ......................................................................... 13

    Tabla 6 - Plantilla UCFinalizar venta en caja registradora........................................... 13Tabla 7 - Plantilla UCConsultar jornada de ventas ....................................................... 14Tabla 8 - Plantilla UCDetalle de jornada de ventas ...................................................... 15Tabla 9 - Plantilla UCConsulta de pedidos ................................................................... 15Tabla 10 - Plantilla UCModificar pedido ....................................................................... 16Tabla 11 - Definicin tabla - Venta.................................................................................... 38Tabla 12 - Definicin tabla - Cliente ................................................................................. 38Tabla 13 - Definicin tabla - Proveedor ............................................................................ 39Tabla 14 - Definicin tabla - Artculo................................................................................ 39Tabla 15 - Definicin tablaPedido ................................................................................. 39Tabla 16 - Definicin tabla - Operador .............................................................................. 40

  • 5/25/2018 Sistema Farmacia Documento

    7/60

    Aimen Ben Attahellah PFC.NET

    1

    1. IntroduccinEn este apartado, se pretende hacer una introduccin a este documento, en cuanto a

    justificacin del proyecto, objetivos, mtodo seguido y riesgos principales del proyecto.

    1.1. JustificacinLa realizacin de este proyecto final de carrera responde a la necesidad de realizar unsistema eficaz y simple que integra todas las funcionalidades bsicas y comunes decualquier farmacia y que al mismo, est utilizado por cualquier usuario sin que tenga

    previos conocimientos de informtica ni est familiarizad con los sistemas de

    informacin.

    La mayora de los sistemas de informacin de gestin farmacutica, ofrecen unimportante abanico de funcionalidades donde la mayora no son de uso comn y nuncason usadas en el mbito de la gestin farmacutica, con lo cual, se reduce la eficacia delsistema. Otra cuestin muy importante, estos sistemas suelen ser complicados hasta parausuarios familiarizados con aplicaciones informticas dadas sus navegaciones quesuelen ser verticales y profundas. Por ltimo la interfaz grfica, en la mayora de loscasos, suele tener varios botones y componentes grficos en general, que lo nico quetransmiten al usuario es la sensacin de no dominar el sistema, lo que puede generar uncierto rechazo a la aplicacin.

    1.2. ObjetivoVista la justificacin, este proyecto da una solucin a la mayora de los sistemas queencontramos actualmente en el mercado, enfocndose en ofrecer un sistema de gestinfarmacutico eficaz, completo y sobre todo amigable y fcil de usar.

    En cuanto al aspecto tcnico, la eleccin de la plataforma Microsoft .Net viene dada porser una plataforma potente que permite construir interfaces con componentes grficoscon mayor rapidez, eficacia y sencillez, cuando se pretende explotar al mxima las

    propiedades y eventos de dichos componentes y obtener as interfaces amigablessiguiendo por supuesto los principios bsicos del diseo de interfaces grficas.

  • 5/25/2018 Sistema Farmacia Documento

    8/60

    Aimen Ben Attahellah PFC.NET

    2

    2. Gestin de proyecto2.1. Modelo y ciclo de vida

    Se ha usado en la elaboracin de este sistema, el modelo clsico con prototipado debidoal formato de entregas de la asignatura de PFC, a pesar de tener claro que en otrasituacin, hubiera sido mejor, los modelos evolutivos o incrementales que son msadaptables a requisitos cambiantes como veremos a continuacin en el apartado de losriesgos principales del proyecto.

    El modelo planteado permiti presentar un prototipo a nuestro cliente, en este casohorizontal desarrollando en parte todas las facetas de la aplicacin y basndose sobre los

    prerrequisitos que se han anotado con antelacin.

    Este modelo est compuesto por las siguientes fases:

    Fase de anlisiso Identificar los requisitos bsicos del usuario conjuntamente con el clienteo Desarrollar el prototipo horizontal inicial con presentacin al clienteo Revisar y mejorar el prototipo aplicando los cambios sugeridos por el

    usuario

    Fase de diseo Fase de implementacin Fase de pruebas de integracin

    Ilustracin 1-Ciclo de vida clsico con prototipado

  • 5/25/2018 Sistema Farmacia Documento

    9/60

    Aimen Ben Attahellah PFC.NET

    3

    2.2. MetodologaEn la metodologa se ha intentado basarse sobre algunos principios de las metodologasgiles gracias a la simplicidad, tolerancia a cambios, cercana con el cliente y el enfoquems vertical al desarrollo de un software y siendo minimalista hasta cierto puntorespecto a la documentacin del sistema, lo que se adapta al final a nuestro caso deestudio.

    Qu nos ha aportado realmente seguir esta metodologa:

    Reflexionar ms a cmo ser ms efectivo respetando al mismo tiempo la calidaddel software

    Construir un software de una manera rpida y eficaz trabajando directamentecon el usuario final y percibir rpidamente los cambios para poder aceptarlos oevitarlos eficazmente.

    Finalmente tener una documentacin completa y precisa, pero anteponiendo undesarrollo de software que funciona.

    2.3.

    Anlisis de riegosLos riesgos principales que se han en esta fase inicial del proyecto, se presentan de lasiguiente forma:

    El autor que va a desarrollar el sistema, no tiene conocimientos avanzados de latecnologa que se va a utilizar, y se limitan en lo que se ha aprendido a lo largo de lacarrera, y para el desarrollo de un sistema completo desde cero, se necesita unimportante conocimiento de la arquitectura .NET como de los lenguajes C#.NET yADO.NET.

    Destaco tambin, la naturaleza de mi actual trabajo que requiere varios desplazamientosen toda Europa, lo cual nos llevara al segundo riesgo de no poder respetar unadedicacin constante y rigurosa a las tareas y al desarrollo normal del sistema.

  • 5/25/2018 Sistema Farmacia Documento

    10/60

    Aimen Ben Attahellah PFC.NET

    4

    Para estos dos riesgos, se pone como plan de accin, realizar un sobreesfuerzo durantela fase de arranque del proyecto, para poder avanzar el mximo posible y poder

    controlar ms los eventuales sobresaltos, y prever vacaciones en el trabajo en caso deestar al borde de una alerta.

    El tercer riesgo, es de carcter puramente tcnico, y se refiere al uso del modo deconexin desconectado a la base datos, esto puede tener un impacto de rendimientosignificativo. Como plan de accin se usarn los procedimientos almacenados paraajustar la balanza y poder mejorar los tiempos de respuesta.

    El cuarto riesgo, es a la hora de implantar el sistema, los usuarios tienen conocimientos

    muy limitados de informtica y pueden ser reacios al cambio y con lo cual no aceptar elsistema. El plan de accin es convencer a los farmacuticos responsables de que elsistema va a mejorar la gestin de su farmacia e incitarles a convencer a todos losusuarios, de que el sistema les va a facilitar el trabajo.

    El quinto y ltimo riesgo, es que los farmacuticos responsables tienen tendencia acambiar las funcionalidades del sistema y no se ponen de acuerdo en todas lasfuncionalidades, debido a que no podemos suspender temporalmente el proyecto, como

    plan de accin paliativo, sera cerrar una primera versin, y prever si es necesario, unanueva versin del sistema una vez lo tengan ms claro.

    2.4. Planificacin y seguimientoSe muestra abajo, en formato de diagrama de Gantt, la planificacin inicial detallandoas las actividades. Se ha previsto una tarea de previsin de riesgos, debido a los riesgosdetectados y la cual se intentar de no producir salvo si hay sobresaltos, la PPR suponeaproximadamente el 7% del propuesto global:

  • 5/25/2018 Sistema Farmacia Documento

    11/60

    Aimen Ben Attahellah PFC.NET

    5

    Ilustracin 2 - Planificacin inicialDiagrama Gantt

    Como se muestra en el consumido real de la ilustracin de abajo, la fase de anlisis ha sido muy costosa en cuanto a su elaboracin y se haexcedido con creces lo que estaba planificado inicialmente sobe todo en lo referente a la toma de requisitos y prototipado. La fase de diseotambin ha revelado un consumido mayor que lo planificado por culpa del gran volumen de diagramas de secuencia.

  • 5/25/2018 Sistema Farmacia Documento

    12/60

    Aimen Ben Attahellah PFC.NET

    6

    Gracias a una planificacin, gestin de riesgos y planes de accin eficaces y a la buena produccin en la fase de implementacin, se haconseguido resolver la alerta detectada en la fase de anlisis, eso s, se ha debido producir algunos das guardados para previsin por riesgos,como se puede mostrar en el siguiente diagrama de Gantt:

    Ilustracin 3 - Consumido real - Diagrama Gantt

  • 5/25/2018 Sistema Farmacia Documento

    13/60

    Aimen Ben Attahellah PFC.NET

    7

    3.Anlisis del sistemaEn este apartado se pretende explicar las tareas que se han realizado en la fase deanlisis inicial del proyecto.

    3.1. Anlisis de requisitosExisten dos tipos de requisitos, funcionales y no funcionales:

    3.1.1.No funcionalesDefinen tanto propiedades como restricciones del sistema, tales como el tiempo derespuesta o fiabilidad

    Sistema operativo: Cualquier sistema operativo de la familia de MicrosoftWindows a partir del XP.

    Procesador / RAM cliente / RAM servidor : Mnimo 1GB / 512MB / 1GB Almacenamiento cliente / servidor:512MB / 5GB como mnimo dependiendo

    del volumen de negocio de la farmacia

    Monitor / Tarjeta grfica: Resolucin mnima de pantalla de 1024 x 768pxeles

    Tiempo de respuesta: El tiempo de respuesta a la hora de guardar los datos nodebe de superar los cinco segundos.

    Uso del sistema: El deseo general del usuario es la facilidad de uso de laherramienta.

  • 5/25/2018 Sistema Farmacia Documento

    14/60

    Aimen Ben Attahellah PFC.NET

    8

    3.1.1.FuncionalesDefinen los servicios y las funcionalidades que debe proporcionar el sistema.

    Los requisitos funcionales son:

    Autentificacin. Cualquier usuario ya registrado, puede autentificarse y salir delsistema cuando quiera.o Iniciar la sesino Cambiar de sesino Salir del sistema

    Administracin del sistema - Gestin de Usuarios. Todos los usuarios debenser correctamente identificados en el sistema. Para ello, el usuario proporciona aladministrador su nombre de usuario, contrasea y tipo de usuario del que se trata(Farmacutico responsable, Tcnico o Administrador/a), tras lo cual el sistemadeber validar estos datos.o Alta/consulta/modificacin/supresin de usuarios

    Gestin de ventas. La gestin de ventas es el ncleo del sistema, ofrece lacreacin de una nueva venta, presupuesto de la venta para poder imprimirlo yfinalmente consultar el histrico de ventas sea por fechas, por cliente o ambos.o Nueva ventao Presupuesto con generacin de documentoso Ventas realizadas por un cliente y/o en un intervalo de tiempo

    Gestin de caja. Permite finalizar las ventas creadas en el apartado de Nuevaventa. Ofrece la realizacin de los pagos diferidos para que un cliente puedasaldar parte o la totalidad de su crdito. Finalmente visualizar la jornada de ventas

    realizadas por tipo de pagos: efectivo, crdito, cheque, haber, descuento y diferido ytambin el detalle de dichas ventas.o Caja registradorao Pago diferidoo Jornada de ventasdetalle de ventas

  • 5/25/2018 Sistema Farmacia Documento

    15/60

    Aimen Ben Attahellah PFC.NET

    9

    Gestin de stock. Esta macro-funcionalidad, ofrece la posibilidad de crear omanipular los artculos de la farmacia. Inventario y actualizar el stock deartculos ya registrados asociados a un albarn de entrega. Crear, consultar y

    manipular los pedidos que se han realizado a un proveedor dado.Con lo cual clasificamos las funcionalidades de la siguiente forma:o Crear/Consultar/Modificar/Suprimir artculoo Crear/Consultar/Modificar/Suprimir pedido y sus artculos correspondienteso Inventario: Consulta y modificacin del stock de artculos

    Socios. Se refiere con socios a los proveedores y clientes de la farmacia.o Proveedores. Esta funcionalidad del sistema puede ser usada por cualquier

    usuario. Permite agregar un nuevo proveedor o modificar uno existente

    proporcionando sus datos, y tambin permite borrarlo del origen de los datos,mediante un borrado lgico.- Aadir/Consultar/Modificar/Eliminar

    o Clientes. Sigue la misma lgica de gestin de proveedores, pero en este casopara clientes. Un cliente slo se puede borrar, si ha saldado todos suscrditos.

    - Aadir/Consultar/Modificar/Eliminar

    3.2. Casos de usoLos casos de uso representan requisitos funcionales del sistema y definen un conjuntode interaccin entre los elementos adyacentes al sistema y el propio sistema desde el

    punto de vista del usuario.

    En este apartado presentaremos los casos de uso ms importantes pero no todos, para no

    exceder el nmero permitido de pginas. Estos casos de uso sern representados enforma de plantillas y en forma de diagramas.

    Para la realizacin de la especificacin de requisitos, se ha adoptado el modelo estndarde ANSI/IEEE Std 830-1998 IEEE Guide to Software requirements Specifications

  • 5/25/2018 Sistema Farmacia Documento

    16/60

    Aimen Ben Attahellah PFC.NET

    10

    3.2.1.Plantillas de casos de usoLas plantillas permiten describir los casos de uso y la forma en que se interactuar elusuario con el sistema. Esta interaccin son acciones realizadas por el usuario y por elsistema tras un suceso provocado por los mismos, y que representaremos como:

    Acciones del usuarioAcciones del sistema

    Tabla 1 - Plantilla UC - Interaccin usuario/sistema

    3.2.1.1. Crear usuarios

    Tabla 2 - Plantilla UC - Crear usuarios

    Identificacin

    Caso de Uso: Crear Usuario

    Descripcin: El Administrador registra un nuevo usuario en el Sistema

    Roles Soportados: Administrador

    Relacin

    Hereda:

    Extiende:

    Incluye:

    Proceso / Descripcin

    Actor Primario: AdministradorActores Secundarios:

    Precondiciones: Autentificarse y a acceder a la pantalla de gestin administrativa

    Post condiciones: El nuevo usuario es registrado en el sistema

    Flujo de eventos

    1. El Administrador introduce los datos del usuario

    2. El Administrador presiona el botn Validar

    3. El sistema comprueba la introduccin de los datos obligatorios

    4. El sistema guarda el nuevo usuario en el sistema y muestra un mensaje de confirmacin por

    pantallaExtensiones sncronas

    Si en el punto 3, los datos obligatorios no estn introducidos el sistema muestra un mensaje de errory no avanza al punto 4.

    Extensiones asncronas

    En cualquier momento el Administrador puede detener la ejecucin del proceso pulsando el botnde Cancelar.

  • 5/25/2018 Sistema Farmacia Documento

    17/60

    Aimen Ben Attahellah PFC.NET

    11

    La creacin o alta de clientes, proveedores y artculos es prcticamente similar a lacreacin de usuarios, salvo que el actor en este caso es el Tcnico.

    3.2.1.2. Nueva venta

    Tabla 3 - Plantilla UC - Nueva venta

    Identificacin

    Caso de Uso: Nueva venta

    Descripcin: El Tcnico de farmacia crea una nueva venta

    Roles Soportados: Tcnico de farmacia, farmacutico

    Relacin

    Hereda:

    Extiende:

    Incluye:

    Proceso / Descripcin

    Actor Primario: Tcnico de farmaciaActores Secundarios:

    Precondiciones: Autentificarse. Los clientes ya estn registrados en el sistemaPost condiciones: La venta est registrada en el sistema

    Flujo de eventos

    1. El actor accede a la pantalla de nueva venta pulsando el botn de Nueva

    2. El sistema devuelve la pantalla de ventas, y recupera todos los clientes y artculos del sistema

    3. El actor va introduciendo y filtrando los artculos solicitados por el cliente

    4. Mientras que el actor vaya filtrando los artculos, el sistema los muestra por pantalla con su detalle

    5. El Tcnico escribe la cantidad de los artculos y luego valida pulsando el botn Enter del teclado

    6. El sistema muestra el artculo introducido en la tabla de recapitulacin de artculos7. El Tcnico de farmacia puede introducir opcionalmente el nombre del cliente o dejar el campovaco, para ello va filtrando mientras vaya escribiendo

    8. El actorpresiona el botn Validar

    9. El sistema comprueba la existencia de artculos y pide confirmacin de los datos introducidos

    7. El actor de farmacia acepta

    8. El sistema guarda la venta en el sistema y enva un mensaje por pantalla de confirmacin

    Extensiones sncronas

    Extensiones asncronas

    En cualquier momento el usuario puede detener la ejecucin del proceso pulsando el botn deCancelar.

  • 5/25/2018 Sistema Farmacia Documento

    18/60

    Aimen Ben Attahellah PFC.NET

    12

    3.2.1.3. Histrico de ventas

    Tabla 4 - Plantilla UCHistrico de venta

    3.2.1.4. Caja registradora

    Identificacin

    Caso de Uso: Histrico de ventas

    Descripcin: El actor consulta todas las ventas de un cliente y/o entre dos fechas

    Roles Soportados: Tcnico de farmacia, Farmacutico

    Relacin

    Hereda:

    Extiende:

    Incluye:

    Proceso / Descripcin

    Actor Primario: Tcnico de farmacia

    Actores Secundarios:Precondiciones: Autentificacin. El cliente ya est registrado en el sistema y tiene ventas

    asociadas.

    Post condiciones: Las ventas aparecen en la pantalla

    Flujo de eventos

    1. El actor presiona el botn Histrico

    2. El sistema devuelve la pantalla pedida cargando el listado de todos los clientes

    3. El actor selecciona un cliente de la lista y/o selecciona las fechas

    4. El actorpresiona el botn Buscar

    5. El sistema recupera todas las ventas correspondientes al cliente y/o fechas seleccionadas

    Extensiones sncronasSi en el punto 4, ninguna venta es devuelta o que el usuario no haya seleccionado ninguna opcin de bsqueda, elsistema muestra un mensaje de error y vuelve al punto 2.

    Extensiones asncronas

    En cualquier momento el actorpuede detener la ejecucin del proceso pulsando el botn de Cancelar.

    Identificacin

    Caso de Uso: Consultar caja

    Descripcin: Consultar las ventas transmitidas a la caja

    Roles Soportados: Farmacutico

    Relacin

    Hereda:

    Extiende:

    Incluye:

    Proceso / Descripcin

    Actor Primario: Farmacutico

    Actores Secundarios:

  • 5/25/2018 Sistema Farmacia Documento

    19/60

    Aimen Ben Attahellah PFC.NET

    13

    Tabla 5 - Plantilla UC - Caja registradora

    3.2.1.5. Finalizar venta en caja registradora

    Tabla 6 - Plantilla UCFinalizar venta en caja registradora

    Precondiciones: Autentificacin. La venta ha sido creada y est guardada en el sistema

    Post condiciones:

    Flujo de eventos

    1. El sistema actualiza cada 5 segundos el listado de todas la ventas realizadas en los ltimos 48 horas que aun noestn finalizadas

    2. El farmacutico selecciona una venta de la lista3. El sistema muestra el detalle y los artculos de la venta as como los datos del cliente en caso que sea una ventaa cliente

    4. El farmacutico selecciona el o los tipos de pago

    5. El farmacutico introduce el importe asociado a cada tipo de pago

    Extensiones sncronas

    Extensiones asncronas

    En cualquier momento el actor puede detener la ejecucin del proceso pulsando el botn de Cancelar.

    Identificacin

    Caso de Uso: Finalizar venta

    Descripcin: El farmacutico finaliza la venta

    Roles Soportados: Farmacutico

    Relacin

    Hereda:

    Extiende:Incluye: Consultar caja

    Proceso / Descripcin

    Actor Primario: Farmacutico

    Actores Secundarios:

    Precondiciones: La venta ya ha sido informada por el tcnico de farmacia

    Post condiciones: La venta es modificada en el sistema en estado finalizado

    Flujo de eventos

    1. El farmacutico valida la venta

    2. El sistema comprueba que la venta es correcta y muestra por pantalla un mensaje con los datos de la venta

    Extensiones sncronasSi en el punto 2, el sistema verifica que los datos de la venta son incorrectos, mostrara un mensaje de error

    Extensiones asncronasEn cualquier momento el actorpuede detener la ejecucin del proceso pulsando el botn de Cancelar.

  • 5/25/2018 Sistema Farmacia Documento

    20/60

    Aimen Ben Attahellah PFC.NET

    14

    3.2.1.6. Consultar jornada de ventas

    Tabla 7 - Plantilla UCConsultar jornada de ventas

    3.2.1.7. Detalle de jornada de ventas

    Identificacin

    Caso de Uso: Consultar jornada de ventas

    Descripcin: El farmacutico consulta los pagos realizados en un periodo de fechaspreseleccionado

    Roles Soportados: Farmacutico

    Relacin

    Hereda:

    Extiende:

    Incluye:

    Proceso / Descripcin

    Actor Primario: Farmacutico

    Actores Secundarios:

    Precondiciones: AutentificacinPost condiciones:

    Flujo de eventos

    1. El farmacutico presiona el botn Jornada

    2. El sistema muestra la pantalla deseada

    3. El farmacutico selecciona un periodo de fechas de la venta y presiona el botn Buscar

    4. El sistema recupera todas las ventas finalizadas comprendidas entre las fechas seleccionadas

    5. El sistema calcula y muestra por pantalla la suma de ventas por tipo de pago

    Extensiones sncronasSi en el punto 3, el sistema verifica no hay datos para este periodo, mostrara un mensaje de error explicndolo y se

    queda en el punto 2.

    Extensiones asncronasEn cualquier momento el actorpuede detener la ejecucin del proceso pulsando el botn de Cerrar.

    Identificacin

    Caso de Uso: Detalle jornada de ventas

    Descripcin: El farmacutico desea consultar el detalle de jornada de ventas mostradasen el caso de uso de Consultar jornada de ventas

    Roles Soportados: Farmacutico

    Relacin

    Hereda:

    Extiende: Consultar jornada de ventas

    Incluye:

  • 5/25/2018 Sistema Farmacia Documento

    21/60

    Aimen Ben Attahellah PFC.NET

    15

    Tabla 8 - Plantilla UCDetalle de jornada de ventas

    3.2.1.8. Consultar pedidos

    Tabla 9 - Plantilla UCConsulta de pedidos

    Proceso / Descripcin

    Actor Primario: Farmacutico

    Actores Secundarios:

    Precondiciones: Haber ejecutado el caso de uso Consultar jornada de ventas

    Post condiciones:

    Flujo de eventos1. El actorpresiona el botn Detalle de ventas

    2. El sistema recupera los artculos y clientes asociados a las ventas recuperadas con antelacin

    3. El sistema muestra la pantalla con el detalle de ventas y artculos asociados

    Extensiones sncronas

    Si en el punto 2, el sistema verifica que los datos de la venta son incorrectos, mostrara un mensaje de error en lapantalla nueva

    Extensiones asncronas

    Identificacin

    Caso de Uso: Consultar pedidos

    Descripcin: El actor consulta la lista de pedidos por proveedor y/o en un intervalo detiempo

    Roles Soportados: Tcnico de farmacia, Farmacutico

    Relacin

    Hereda:

    Extiende:

    Incluye:

    Proceso / Descripcin

    Actor Primario: Tcnico de farmacia

    Actores Secundarios:

    Precondiciones: El Pedido ha sido registrado en el sistema

    Post condiciones:

    Flujo de eventos

    1. El actor presiona el botn Modificar pedido

    2. El sistema recupera la lista de proveedores y artculos y muestra la pantalla deseada

    3.El actor introduce el nombre del proveedor y/o las fechas y pulsa el botn Buscar4.El sistema muestra la lista de pedidos con sus artculos asociados

    Extensiones sncronasSi en el punto 3, ningn pedido es devuelto por el sistema o si ninguna opcin de bsqueda est seleccionada, elsistema muestra un mensaje de error

    Extensiones asncronas

    En cualquier momento el actor puede detener la ejecucin del proceso pulsando elbotn de Cerrar.

  • 5/25/2018 Sistema Farmacia Documento

    22/60

    Aimen Ben Attahellah PFC.NET

    16

    3.2.1.9. Modificar pedido

    Tabla 10 - Plantilla UCModificar pedido

    Identificacin

    Caso de Uso: Modificar Pedido

    Descripcin: El actor modifica un Pedido previamente registrado en el sistema

    Roles Soportados: Tcnico de farmacia, Farmacutico

    Relacin

    Hereda:

    Extiende:

    Incluye:

    Proceso / Descripcin

    Actor Primario: Tcnico de farmacia

    Actores Secundarios:Precondiciones: Consultar pedidos. El Pedido ha sido previamente registrado en el sistema

    Post condiciones: El Pedido est modificado en el sistema y el stock actualizado

    Flujo de eventos

    1. El sistema muestra el listado de pedidos con sus artculos correspondientes

    2. El actor solicita modificar el pedido mediante supresin de un artculo 3.1, modificacin de un artculo 4.1 oaadir un nuevo artculo al albarn 5.1

    3.1. Para ello el actor solicita suprimir un artculo presionando la X de la lista de artculos

    3.2.El sistema borra el artculo de la lista de artculos sin llegar a registrarlo en el sistema

    4.1. El actor solicita modificar un artculo presionando el icono de bolgrafo de la lista de artculos

    4.2. El sistema muestra por pantalla el detalle del artculo a modificar4.3. El actor modifica la fecha de caducidad o la cantidad de artculos asociados al albarn y presiona el botnModificar

    4.4. El sistema modifica el artculo y actualiza la lista de pedidos con sus artculos sin llegar a registrar en elsistema

    5.1. El actor va filtrando los artculos mientras vaya introduciendo el nombre y seleccionada el artculo deseado

    5.2 El sistema actualiza el precio del artculo mientras se vaya filtrando

    5.3.El actor introduce la cantidad y la fecha de caducidad y presiona el botn Aadir artculo

    5.4.El sistema aade el nuevo artculo al albarn sin llegar a registrar en el sistema

    6. El actor valida sus modificaciones pulsando el botn Validar

    7. El sistema registra los cambios del albarn

    Extensiones sncronasEn el punto 6, si se produce un error tcnico el sistema muestra un mensaje de error por pantalla

    Extensiones asncronasEn cualquier momento el actorpuede detener la ejecucin del proceso pulsando el botn de Cerrar.

  • 5/25/2018 Sistema Farmacia Documento

    23/60

    Aimen Ben Attahellah PFC.NET

    17

    3.2.2.Diagramas de casos de usoEl sistema bajo consideracin tiene tres tipos de actores: Administrador, farmacutico ytcnico farmacutico.

    En ste diagrama se presenta la vista ms externa del sistema estando incluidossimplemente los actores del sistema y el sistema como un todo.

    Ilustracin 4 - Diagrama UC Sistema

    Este sistema se encuentra formado por cinco subsistemas, el actor tcnico farmacuticoes capaz de acceder a tres de estos subsistemas mientras que el actor farmacutico tieneacceso a los cuatro, as que el actor Administrador accede a un solo subsistema como semuestra en el siguiente diagrama:

    Ilustracin 5 - Diagrama UCSubsistemas

  • 5/25/2018 Sistema Farmacia Documento

    24/60

    Aimen Ben Attahellah PFC.NET

    18

    3.2.2.1. Subsistema de gestin administrativaEn el subsistema siguiente, se presentan los casos de uso que permiten gestionar unusuario, y darle un rol que ser clave para la restriccin de accesos.

    Ilustracin 6 - Diagrama UC gestin administrativa

    3.2.2.2. Subsistema de autentificacinEn el subsistema siguiente, se presentan los casos de uso que permiten a un usuariodado autentificarse/cambiar de usuario o, desconectarse del sistema.

    Ilustracin 7 - Diagrama UC Autentificacin

  • 5/25/2018 Sistema Farmacia Documento

    25/60

    Aimen Ben Attahellah PFC.NET

    19

    3.2.2.3. Subsistema de gestin de ventasRealizados por un tcnico o farmacutico, son los casos de uso ms usados por losusuarios y permiten crear nuevas ventas, presupuestos y recordatorio de ventas.

    Ilustracin 8 - Diagrama UC - Gestin de ventas

    3.2.2.1.

    Subsistema de gestin de caja

    Finalmente, para la gestin de caja tenemos los casos de uso siguientes:

    Ilustracin 9 - Diagrama UC - Caja

  • 5/25/2018 Sistema Farmacia Documento

    26/60

    Aimen Ben Attahellah PFC.NET

    20

    3.2.2.2. Subsistema de gestin de sociosPermite crear las personas fsicas y morales que interactuarn con la farmacia, y son losclientes consumidores de los artculos, y los proveedores que ofrecen dichos artculos.

    Ilustracin 10 - Diagrama UC - Gestin de socios

  • 5/25/2018 Sistema Farmacia Documento

    27/60

    Aimen Ben Attahellah PFC.NET

    21

    3.2.2.3. Subsistema de gestin de stockCasos de uso referentes a la gestin de los artculos, pedidos y el stock para elinventario.

    Ilustracin 11 - Diagrama UC - Gestin de stock

  • 5/25/2018 Sistema Farmacia Documento

    28/60

    Aimen Ben Attahellah PFC.NET

    22

    3.3. Diagrama de clasesA continuacin se muestra el modelo de objetos por el que se rige el sistema con todassus relaciones entre clases:

    Ilustracin 12 - Diagrama de clases

    4. Diseo del sistemaConcluida la fase del anlisis del sistema que responde a la pregunta de qu trata el

    problema, nos introduciremos en la fase de diseo que responde a cmo se resuelve elproblema para obtener la solucin ptima.

    4.1. Arquitectura del sistemaDistinguiremos entre una arquitectura fsica hardware y una arquitectura software:

  • 5/25/2018 Sistema Farmacia Documento

    29/60

    Aimen Ben Attahellah PFC.NET

    23

    4.1.1.Arquitectura fsica del sistemaLa arquitectura del sistema usada es la de comnmente conocida cliente / servidorconectados en una red de rea local. Esto permite repartir la carga de computacin entreclientes y servidor sin que alguno tenga que hacer todo el procesamiento de datos.

    La arquitectura fsica de cliente / servidor adoptada es de dos capas constituida por trescomponentes: varios clientes, un servidor y un protocolo de comunicacin entre ambosconocido como middleware.

    Ilustracin 13Arquitectura del sistema cliente servidor

    4.1.1.Arquitectura software del sistemaLa arquitectura propuesta est basada en la plataforma .NET de Microsoft y estdiseada en tres capas:

    Capa de presentacin: representa los formularios de la aplicacin, y permitevisualizar por pantalla la interfaz grfica que permite interactuar con el usuario.Para la construccin del men, se ha usado un proyecto como componenteexterno. Esta capa esta interconectada con la capa de negocio.

    Capa de negocio: integrada tambin en la aplicacin, permite realizar lostratamientos de datos y acceder a la capa de persistencia mediante llamadas a

    procedimientos almacenados.

    Capa de persistencia: representada por un conjunto de procedimientosalmacenados previamente definidos en el sistema gestor de base de datos.

  • 5/25/2018 Sistema Farmacia Documento

    30/60

    Aimen Ben Attahellah PFC.NET

    24

    4.2. Diagramas de secuenciaLos diagramas de secuencia muestran las interacciones entre los objetos en unasecuencia temporal. En particular muestra los objetos participantes en la interaccin y lasecuencia de mensajes intercambiados.

    Dado el elevado nmero de diagramas de secuencia del sistema, se va a limitar enpresentar en esta memoria, nicamente los diagramas de secuencia ms relevantes.

    4.2.1.Autentificacin

    Ilustracin 14Diagrama de secuencia - autentificacin

  • 5/25/2018 Sistema Farmacia Documento

    31/60

    Aimen Ben Attahellah PFC.NET

    25

    4.2.2.Gestin de clientes

    La gestin de clientes, usuarios, proveedores y artculos es bastante similar, por lo cualnos limitaremos en mostrar nicamente la gestin de clientes

    Ilustracin 15Diagrama de secuenciaalta cliente

    Ilustracin 16Diagrama de secuenciaconsultar cliente

  • 5/25/2018 Sistema Farmacia Documento

    32/60

    Aimen Ben Attahellah PFC.NET

    26

    Ilustracin 17Diagrama de secuenciamodificar cliente

    Ilustracin 18Diagrama de secuenciasuprimir cliente

  • 5/25/2018 Sistema Farmacia Documento

    33/60

    Aimen Ben Attahellah PFC.NET

    27

    4.2.3.Gestin de pedidos

    Ilustracin 19Diagrama de secuenciaalta pedido

    Ilustracin 20Diagrama de secuenciaconsultar pedido

  • 5/25/2018 Sistema Farmacia Documento

    34/60

    Aimen Ben Attahellah PFC.NET

    28

    Ilustracin 21Diagrama de secuenciamodificar pedido

    Ilustracin 22Diagrama de secuenciasuprimir pedido

  • 5/25/2018 Sistema Farmacia Documento

    35/60

    Aimen Ben Attahellah PFC.NET

    29

    4.2.4.Inventario

    Ilustracin 23Diagrama de secuenciaconsultar inventario

    Ilustracin 24Diagrama de secuenciamodificar inventario stock

  • 5/25/2018 Sistema Farmacia Documento

    36/60

    Aimen Ben Attahellah PFC.NET

    30

    4.2.5.Gestin de ventas

    Ilustracin 25Diagrama de secuencianueva venta

  • 5/25/2018 Sistema Farmacia Documento

    37/60

    Aimen Ben Attahellah PFC.NET

    31

    Ilustracin 26Diagrama de secuenciahistrico de ventas

  • 5/25/2018 Sistema Farmacia Documento

    38/60

    Aimen Ben Attahellah PFC.NET

    32

    Ilustracin 27Diagrama de secuenciapresupuesto venta

    Ilustracin 28Diagrama de secuenciaimprimir presupuesto venta

  • 5/25/2018 Sistema Farmacia Documento

    39/60

    Aimen Ben Attahellah PFC.NET

    33

    4.2.6.Gestin de Caja

    Ilustracin 29Diagrama de secuenciapago diferido

  • 5/25/2018 Sistema Farmacia Documento

    40/60

    Aimen Ben Attahellah PFC.NET

    34

    Ilustracin 30Diagrama de secuenciaConsultar caja

  • 5/25/2018 Sistema Farmacia Documento

    41/60

    Aimen Ben Attahellah PFC.NET

    35

    Ilustracin 31Diagrama de secuenciaFinalizar venta

    Ilustracin 32Diagrama de secuenciajornada

  • 5/25/2018 Sistema Farmacia Documento

    42/60

    Aimen Ben Attahellah PFC.NET

    36

    Ilustracin 33Diagrama de secuenciadetalle de jornada

  • 5/25/2018 Sistema Farmacia Documento

    43/60

    Aimen Ben Attahellah PFC.NET

    37

    4.3. Diseo de base de datosEn este apartado mostraremos el diagrama de entidad relacin y el diccionario de datoscon la definicin de las tablas.

    4.3.1.Diagrama de entidad relacin

    Ilustracin 34Diagrama de entidad relacin

    4.3.2.Definicin de tablasEn este apartado se presentan las tablas de la base de datos del sistema con una breveexplicacin de la misma, as como de sus atributos, el tipo de dato y las restricciones delos mismos. Tambin se definen las relaciones entre tablas con sus clavesidentificadoras y ajenas.

  • 5/25/2018 Sistema Farmacia Documento

    44/60

    Aimen Ben Attahellah PFC.NET

    38

    4.3.2.1. Tabla Sale

    Columna Tipo DescripcinID_SALE Long Identificador auto-incremental de la venta (PK)

    ID_OPERATOR Int Identificador del operador que realiza la venta (FK)

    ID_CLIENT Int Identificador del cliente que realiza la venta (FK)

    TYPE Char(1) Tipo de venta

    DATE_OPENNING Datetime Fecha de creacin de la venta

    DATE_CLOSING Datetime Fecha de finalizacin de la venta

    HOUR Char(5) Hora de creacin o si procede finalizacin de la fecha

    NUMBER_ARTICLES Int Nmero de artculos de la venta

    STATE Char(1) Estado de la ventaAMOUNT_CASH Float Montante de pago en efectivo

    AMOUNT_CREDIT Float Montante de compra por crdito

    AMOUNT_CHEQUE Float Montante de pago con cheque

    AMOUNT_ASSET Float Montante de pago por un haber o vale

    AMOUNT_DISCOUNT Float Montante de descuento

    AMOUNT_DEFERRED Float Montante de venta diferida para saldar un crdito

    Tabla 11 - Definicin tabla - Venta

    4.3.2.2. Tabla Cliente

    Columna Tipo DescripcinID_CLIENT Int Identificador del cliente (PK)

    FIRSTNAME Varchar(50) Nombre del cliente

    LASTNAME Varchar(50) Apellidos del cliente

    BIRTHDAY Date Fecha de nacimiento del cliente

    SEX Char(1) Sexo del cliente

    NATIONAL_ID Varchar(20) Documento nacional de identidad del cliente

    ADDRESSE Varchar(50) Direccin del cliente

    CITY Varchar(20) Poblacin del cliente

    POSTAL_CODE Varchar(10) Cdigo postal del cliente

    PHONE Varchar(20) Nmero de telfono del cliente

    AMOUNT_CREDIT Float Montante de crdito actual del cliente

    AMOUNT_DISCOUNT Float Montante de descuentos del cliente

    AMOUNT_CEILING Float Lmite de crdito admitido al cliente

    DATE_DELETE Date time Fecha de supresinborrado lgico

    Tabla 12 - Definicin tabla - Cliente

  • 5/25/2018 Sistema Farmacia Documento

    45/60

    Aimen Ben Attahellah PFC.NET

    39

    4.3.2.3. Tabla Proveedor

    Columna Tipo DescripcinID_PROVEEDOR Int Identificador del proveedor (PK)

    NAME Varchar(50) Nombre del proveedor

    ADDRESS Varchar(100) Direccin del proveedor

    CITY Varchar(50) Poblacin del proveedor

    PHONE Varchar(50) Nmero de telfono del proveedor

    FAX Varchar(20) Nmero de fax del proveedor

    MAIL Varchar(20) Email del proveedor

    TURNOVER Float Cifra de negocio del proveedor

    REPRESENTATIVE_NAME Varchar(50) Nombre del representante del proveedorDELETE_DATE Date Fecha de supresinBorrado lgico

    Tabla 13 - Definicin tabla - Proveedor

    4.3.2.4. Tabla ArtculoColumna Tipo DescripcinID_ARTICLE Int Identificador del artculo (PK)

    DESIGNATION Varchar(100) Nombre del artculo

    SALE_PRICE Float Precio de venta del artculo

    PURCHASE_PRICE Float Precio de compra del artculo

    LOCATION Varchar(50) Emplazamiento del artculo dentro de la farmacia

    STOCK Int Nmero en stock del artculo

    BARCODE Varchar(50) Cdigo de barras del artculo

    DATE_DELETE Date Fecha de supresinBorrado lgico

    Tabla 14 - Definicin tabla - Artculo

    4.3.2.5. Tabla Voucher de pedidosColumna Tipo DescripcinID_VOUCHER Int Identificador auto-incremental (PK)CODE Varchar(50) Cdigo del pedido

    DATE_OPENNING Date Fecha de creacin

    NUMBER_TYPE_ARTICLE Int Nmero de artculos distintos

    NUMBER_TOTAL_ARTICLE Int Nmero total de artculos del pedido

    AMOUNT Float Precio a pagar por el pedido

    ID_PROVIDER Int Identificador del proveedor (FK)

    ID_OPERATOR Int Identificador del operador que introdujo el pedido (FK)

    Tabla 15 - Definicin tabla Pedido

  • 5/25/2018 Sistema Farmacia Documento

    46/60

    Aimen Ben Attahellah PFC.NET

    40

    4.3.2.6. Tabla OperadorColumna Tipo DescripcinID_OPERADOR Int Identificador del operador (PK)

    FIRSTNAME Varchar(50) Nombre del operador

    LASTNAME Varchar(50) Apellidos del operador

    ROLE Char(1) tipo del operador {tcnico, farmacutico, administrador}

    LOGIN Varchar(10) Nombre de acceso del operador

    PASSWORD Varchar(20) Contrasea de acceso del operador

    ADDRESSE Varchar(50) Direccin del operador

    CITY Varchar(20) Poblacin del operador

    PHONE Varchar(20) Nmero de telfono del operador

    DELETE_PHONE Date Fecha de supresin

    Borrado lgicoTabla 16 - Definicin tabla - Operador

    4.4. Diseo de interfaz de usuarioEn este apartado, se presenta el diseo de algunas interfaces de usuario basado sobre el

    prototipo horizontal que ha sido validado con el usuario final en la fase de anlisis.

    Para la implementacin de la interfaz grfica, se va a utilizar componentes ya existentes

    integrados en un proyecto C#, para que sea ms amigable.

    Ilustracin 35prototiponueva venta

  • 5/25/2018 Sistema Farmacia Documento

    47/60

    Aimen Ben Attahellah PFC.NET

    41

    Ilustracin 36prototiporecordatorio de ventas

    Ilustracin 37prototipocliente

  • 5/25/2018 Sistema Farmacia Documento

    48/60

    Aimen Ben Attahellah PFC.NET

    42

    Ilustracin 38prototipoproveedor

    Ilustracin 39prototipoarticulo

  • 5/25/2018 Sistema Farmacia Documento

    49/60

    Aimen Ben Attahellah PFC.NET

    43

    5. ImplementacinEn la implementacin de este proyecto, se ha utilizado el lenguaje C# .NET que es unlenguaje de propsito general orientado a objetos creado por Microsoft para su

    plataforma .NET. ste es un lenguaje de programacin orientado a la rpida y sencillacreacin de aplicaciones de formularios Windows, aplicaciones Web y servicios Webentre otros que funcionan sobre el Framework .NET y ofrece capacidades de diseocompletamente orientado a objetos, incorporando caractersticas como herencia,sobrecarga de mtodos o manejo de excepciones estructurado. Asimismo, el lenguaje deC# se ha optimizado, eliminando palabras clave obsoletas que se haban heredado ymejorando la seguridad de tipos.

    Ilustracin 40 - Implementacin - Esquema de compilacin .NET

    En cuanto al acceso de datos, la aplicacin utiliza ADO .NET, una evolucin de ADO(Active Data Object), con un modelo de objetos basado en XML, lo que permite unamejor interaccin con la informacin desde y hacia las bases de datos. ADO .NETforma parte integral de .NET Framework y proporciona un extenso conjunto de clases

    para facilitar un acceso eficaz a los datos. Estas clases se encuentran divididas en dosramas principales, unas estn preparadas para trabajar con controladores OLE DB y

  • 5/25/2018 Sistema Farmacia Documento

    50/60

    Aimen Ben Attahellah PFC.NET

    44

    otras son especficas para trabajar con SQL Server, sta rama es la que se ha utilizadoen la elaboracin de nuestro proyecto.

    Ilustracin 41 - Implementacin - Esquema ADO.NET

    En cuanto al entorno de desarrollo, lo detallamos como sigue.

    RAID IDE: Microsoft Visual Studio 2010 Framework: .NET en versin 3.5 SGBD: SQL Server 2008 Generacin de informes: Crystal Report versin 13.0.5

    5.1. Jerarqua del proyectoEl proyecto est constituido por tres capas, de los cuales dos estn integradas en el

    proyecto PharmacilAB y representan las capas de presentacin y formularios y lasegunda la capa del negocio, y una tercera capa que est en forma de procedimientosalmacenados directamente integrada en la base de datos.

    La carpeta de la capa de presentacin, llamada Forms, est distribuida por

    funcionalidades como muestra el men de la aplicacin para facilitar la organizacin delos formularios.

    Ilustracin 42- Implementacin - Men

  • 5/25/2018 Sistema Farmacia Documento

    51/60

    Aimen Ben Attahellah PFC.NET

    45

    De la misma forma y siguiendo el mismo principio, la capade negocio, llamada Services, respeta tambin la mismadistribucin de las principales funcionalidades del sistema.

    Nota:Se ha hecho uso del proyecto TabStripControlLibrary que es en realidad una librera que no est desarrollada eneste proyecto, sino que simplemente se hace referencia a ella

    para disear el men y el submen. Con lo cual se usa comoun componente externo o una caja negra.

    Ilustracin 43Implementacin - Proyectos C#Ilustracin 44Implementacin -

    Capas

    5.2. Algunos aspectos de implementacinA continuacin se van a presentar algunos aspectos de implementacin usados en el

    proyecto:

    5.2.1.Auto complecinEn todos los formularios que constituyen una bsqueda, sea de clientes, proveedores oartculos, se usa la auto complecin para guiar al usuario en su bsqueda. Esto tiene unimpacto ligeramente negativo en el rendimiento de la aplicacin pero el beneficio esnotorio, por eso se ha decidido su implantacin.

    //Getting an article list from DBlistAllArticles = Program.getInstanceStockService().getAllDesignationArticle();

    //Autocomplete

    AutoCompleteStringCollection acsc = newAutoCompleteStringCollection ();

    //build data auto complete article

    if(listAllArticles != null){

    foreach(Articledesignation inlistAllArticles){

    acsc.Add(designation.designation);

  • 5/25/2018 Sistema Farmacia Documento

    52/60

    Aimen Ben Attahellah PFC.NET

    46

    }

    sDesignationTB.AutoCompleteCustomSource = acsc;

    }

    5.2.2.Llamadas a procedimientos almacenadosEl acceso a los datos de la base de datos, se hace gracias a los procedimientosalmacenados, stos estn llamados desde los servicios para consultar como para escribiren la BBDD:

    //Adding voucher into DB

    decimalidVoucher = (decimal)Program.getInstanceVoucherTableAdapter().

    addOrder(voucher.code,

    DateTime.Today, voucher.numberTypeArticle,

    voucher.numberTotalArticle, voucher.amount,

    voucher.idProvider, Program.theOperator.idOperator);

    5.2.3.Mensajes de error y afirmacinLos mensajes que se muestran por pantalla, estn consolidados en el fichero Resources de la aplicacin:

    Venta no permitida, umbral de crdito alcanzado

    sError.Text = Resources.es_sale_ending_credit_top

    5.2.4.Generacin de informesLa aplicacin ofrece al usuario generar el informe e imprimir el presupuesto de la ventaa realizar, para ello se ha utilizado Crystal Report que se ha integrado a nuestro IDE

    para este fin.

    Para generar informes con Crystal Report, se ha creado un DataSet llamadoCRDataSet.xsdque contiene los datos que se van a imprimir, luego desde el formulario

  • 5/25/2018 Sistema Farmacia Documento

    53/60

    Aimen Ben Attahellah PFC.NET

    47

    SaleArticlePrintForm , se rellena dicho DataSet y se instancia en el informeBudgetCrystalReport previamente creado y el que contiene el informe con el formato

    de los datos a presentar en el documento:

    CRDataSetcrds = newCRDataSet();

    //article numbers

    intnumberData = saleListDGV.Rows.Count;

    string[] data;

    for(inti = 0; i < numberData; i++)

    {

    data = newstring[]{

    saleListDGV[1,i].Value.ToString(),

    saleListDGV[2,i].Value.ToString(),saleListDGV[3,i].Value.ToString(),

    saleListDGV[4,i].Value.ToString()

    };

    //add data to crystal report table

    crds.Tables[0].Rows.Add(data);

    }

    BudgetCrystalReportbcr = newBudgetCrystalReport();

    //adding data source to crystal report

    bcr.SetDataSource(crds);

    crystalReportViewer1.ReportSource = bcr;

    Crystal Report es una aplicacin muy potente, aunque tiene el inconveniente dedisminuir bastante el rendimiento de la aplicacin que se ve alterado, sobre todo, a lahora de generar el primer informe.

    5.1. Algunos mdulos de la aplicacinEn este apartado presentamos algunos mdulos de la aplicacin seguidos de una

    pequea explicacin de cmo operar, en cada mdulo:

  • 5/25/2018 Sistema Farmacia Documento

    54/60

    Aimen Ben Attahellah PFC.NET

    48

    5.1.1.Mdulo de administracin - Gestin de usuariosEsta pantalla permite dar de alta, consultar, modificar y eliminar los usuarios delsistema. Para registrar un nuevo usuario slo hay que introducir sus datos en el rea deDatos del operador y luego pulsar el botn Aceptar

    Para la modificacin, hay que introducir el apellido del operador previamente registradoen el rea de bsqueda, esto permitir mostrar todos sus datos mientras se vayanfiltrando los usuarios y de forma sistemtica en el rea creacin y modificacin, luegoslo faltara modificar los datos y luego validar pulsando el botn Validar.

    Para borrar, hay que realizar la bsqueda y luego pulsar el botn Borrar.

    Cabe destacar que la gestin de socios es prcticamente idntica a la gestin deusuarios.

    Ilustracin 45Pantalla de gestin administrativa

  • 5/25/2018 Sistema Farmacia Documento

    55/60

    Aimen Ben Attahellah PFC.NET

    49

    5.1.2.Mdulo de ventas Nueva ventaProbablemente, la pantalla ms utilizada por los tcnicos farmacuticas; permite aadirartculos a la venta. Esta, puede ser annima o ligada a un cliente, sto permite luegorealizar crditos a los clientes previamente registrados en el sistema.

    Para aadir un nuevo artculo, se tiene que introducir a mano en el rea de introduccinde artculos, luego seleccionarlo de la lista desplegante y pulsar la tecla Intro,finalmente introducir la cantidad deseada y pulsar de nuevo en Intro, esto permitiraadir el artculo a la venta y con lo cual, se mostrar en la lista de artculos de la venta.

    Una vez introducidos todos los artculos, pulsar el botn Validar para confirmar laventa, o sino el botn Cancelar para no registrar la venta en el sistema.

    Para realizar un presupueto sin compra, slo habra que pulsar sobre el botnPrespuesto del submen, introducir los artculos como se explica arriba y luego pulsarel botn Imprimirpara generar el informe que se puede imprimir.

    Ilustracin 46 - Pantalla de nueva venta

  • 5/25/2018 Sistema Farmacia Documento

    56/60

    Aimen Ben Attahellah PFC.NET

    50

    5.1.3.Mdulo de ventas Histrico de ventasPara visualizar el histrico de ventas, se puede seleccionar una bsqueda por cliente,fechas o ambos y luego pulsar el botn Buscar.

    Se muestra la lista de ventas y artculos asociados correspondientes a la bsqueda, sepueden seleccionar las ventas de la lista lo que permitir actualizar la lista de artculosasociados a la venta seleccionada. De la misma forma, actualizar el montante total dela venta seleccionada en el rea de Recapitulativo.

    Ilustracin 47Pantalla de histrico de ventas

  • 5/25/2018 Sistema Farmacia Documento

    57/60

    Aimen Ben Attahellah PFC.NET

    51

    5.1.4.Mdulo de stock Modificar pedidoEsta pantalla permite modificar y borrar pedidos previamente registrados en el sistema.Para ello, se tiene que hacer una bsqueda por nombre de proveedor, fechas o ambos yluego pulsar el botn de Buscar.

    Obtenida la lista de albaranes con sus artculos correspondientes, se ofrecen variasposibilidades:

    Aadir un artculo al pedido introducindolo en el rea de modificaciny luego pulsar el botn de Aadir artculo

    Modificar un artculo del pedido haciendo clic sobre el botn de editarartculo, luego en el rea de modificacin cambiar la fecha de caducidady/o cantidad, y finalmente pulsando el botn Modificar.

    Borrar un artculo del pedido haciendo clic sobre el botn de borrarartculo.

    Borrar el pedido seleccionado

    Ilustracin 48Pantalla de modificar pedido

  • 5/25/2018 Sistema Farmacia Documento

    58/60

    Aimen Ben Attahellah PFC.NET

    52

    5.1.5.Mdulo de caja Caja registradoraPermite finalizar las ventas registradas previamente en las ltimas 48 horas, lascombinaciones de pago posibles son las siguientes:

    Efectivo ntegro / Efectivo ntegro con descuento (%) / Efectivo y/o crdito paraclientes / Efectivo y/o haber / Efectivo y/o cheque

    Cabe destacar que no se permite devolucin cuando se paga con un haber ya que ste norepresenta un bien monetario, y que el crdito slo es posible para clientes previamenteregistrados en el sistema y asociados a la venta corriente.

    Todos los clientes tienen asignado un umbral de crdito que cuando se alcanza, no sepermite validar la venta a crdito.

    Con lo cual para registrar una venta, hay que introducir en los campos descuentoaplicado, efectivo o crdito, haber, cheque los montantes deseados y luego pulsar

    el botn Validar venta. O sino Cancelar para no registrar la venta.

    Ilustracin 49Pgina caja registradora

  • 5/25/2018 Sistema Farmacia Documento

    59/60

    Aimen Ben Attahellah PFC.NET

    53

    6. ConclusionesEl objetivo de este proyecto tcnico es poner en prctica algunos aspectos tericos quese han adquirido a lo largo de la carrera de ingeniera informtica, sea en el aspecto degestin de proyectos en cuanto a gestin y anlisis de riegos, seguimiento y

    planificacin de tareas como en mtodos, procesos y metodologas de la ingeniera delsoftware, as como el aspecto tcnico de las fases de anlisis y diseo siguiendo

    patrones de diseo y arquitectura de estndares tales como de IEEE.

    Pues bien, este proyecto final de carrera es buen ejemplo de ello, tratndose sobre todode un estudio de un caso real, que abarca muchos conceptos adquiridos a lo largo de la

    carrera, prueba de ello esta memoria que resume todo el trabajo realizado para construirun sistema completo respetando tanto los objetivos iniciales definidos en los requisitosfuncionales y no funcionales como los hitos principales y en los plazos previstosllegando a entregar un producto de calidad que satisface las necesidades del cliente.

    Desde el punto de vista personal, el proyecto en s ha sido un gran reto para m, porquehabra que presentar, en un plazo muy corto de tiempo, un proyecto plagado defuncionalidades y con requisitos cambiantes y poco claros al principio del proyecto.Aadiendo que parta de unos humildes conocimientos sobre la tecnologa que se va a

    utilizar. Gracias al gran esfuerzo personal y sobre todo a la organizacin del trabajo queha sido la gran protagonista a lo largo de proyecto, se consigui el fruto quesembrbamos al principio convirtiendo este gran esfuerzo en una enriquecedoraexperiencia.

    7. Lneas de futuroLas lneas de futuro de desarrollo con las siguientes:

    Internalizacin de la aplicacin adoptando el multi-idioma. Externalizar la configuracin de la aplicacin como el acceso a la base de datos. Posibilidad de parametrizar algunos datos de la aplicacin por parte de los

    usuarios como emplazamiento de los artculos.

    Mejorar la accesibilidad y navegacin dentro de los formularios para reducir eluso del ratn.

    Aadir alertas como por ejemplo: para los artculos caducados o a caducar Estadsticas de ganancias netas

  • 5/25/2018 Sistema Farmacia Documento

    60/60

    Aimen Ben Attahellah PFC.NET

    54

    8. BibliografaMoving to Microsoft Visual Studio 2010por Patrice Pelland, Pascal Par, y Ken Haine

    Una sinfona en C#

    http://leomicheloni.blogspot.com

    C# Corner

    http://www.c-sharpcorner.com/

    The Code Project

    http://www.codeproject.com/

    stackoverflow

    http://stackoverflow.com/

    Crystal Reports Para Visual Studio NetPor Blanco Luis Miguel

    Microsoft SQL Server 2008 BiblePorPaul Nielsen,Mike WhiteyUttam Parui

    http://leomicheloni.blogspot.com/http://leomicheloni.blogspot.com/http://www.c-sharpcorner.com/http://www.c-sharpcorner.com/http://www.codeproject.com/http://www.codeproject.com/http://www.amazon.es/s/280-9208533-1072045?_encoding=UTF8&field-author=Paul%20Nielsen&search-alias=english-bookshttp://www.amazon.es/s/280-9208533-1072045?_encoding=UTF8&field-author=Mike%20White&search-alias=english-bookshttp://www.amazon.es/s/280-9208533-1072045?_encoding=UTF8&field-author=Uttam%20Parui&search-alias=english-bookshttp://www.amazon.es/s/280-9208533-1072045?_encoding=UTF8&field-author=Uttam%20Parui&search-alias=english-bookshttp://www.amazon.es/s/280-9208533-1072045?_encoding=UTF8&field-author=Mike%20White&search-alias=english-bookshttp://www.amazon.es/s/280-9208533-1072045?_encoding=UTF8&field-author=Paul%20Nielsen&search-alias=english-bookshttp://www.codeproject.com/http://www.c-sharpcorner.com/http://leomicheloni.blogspot.com/