Está en la página 1de 78

UNIVERSIDAD NACIONAL AUTONOMA DE NICARAGUA

UNAN LEON

FACULTAD DE CIENCIAS Y TECNOLOGIA


DEPARTAMENTO DE COMPUTACION

Tesis para optar al título de Ingeniero en Sistemas de Información

Tema: Desarrollo de una aplicación de escritorio para el control de costos


operativos de la Cooperativa Tulsi-RL mediante el uso del lenguaje de
programación Visual C# en el periodo comprendido de junio a agosto del 2015.

ELABORADO POR:

 Kenia Patricia Román García

 Gabriela del Socorro Sáenz Hernández

 Rodney Danilo Valle Avendaño

Tutor: MsC. Miguel Bárcenas

LEON, 09 DE NOVIEMBRE DEL 2015


INDICE
INTRODUCCION............................................................................................................................................. 1
ANTECEDENTES ............................................................................................................................................. 2
JUSTIFICACION .............................................................................................................................................. 3
OBJETIVOS ..................................................................................................................................................... 4
Objetivo General ................................................................................................................................... 4
Objetivos Específicos............................................................................................................................. 4
METODOLOGIA ............................................................................................................................................. 5
MODELO INCREMENTAL ....................................................................................................................... 5
Características ....................................................................................................................................... 7
Ventajas ................................................................................................................................................ 8
Desventajas ........................................................................................................................................... 8
RECURSOS UTILIZADOS ................................................................................................................................. 9
Recursos Hardware: .............................................................................................................................. 9
Recursos Software: ............................................................................................................................... 9
MARCO TEORICO ........................................................................................................................................ 10
MySQL ................................................................................................................................................. 10
Características de MySQL.................................................................................................................... 11
Lenguajes de programación de MySQL............................................................................................... 12
PHPMYADMIN ..................................................................................................................................... 13
Funcionalidades .................................................................................................................................. 13
¿Qué es una Base de Datos? ............................................................................................................... 14
Introducción al lenguaje C# ................................................................................................................ 14
Lenguaje C# ......................................................................................................................................... 15
Visual Studio 2010............................................................................................................................... 17
Descripción.......................................................................................................................................... 17
Programación en 3 capas .................................................................................................................... 18
Capa de presentación ......................................................................................................................... 19
Capa de lógica de negocio................................................................................................................... 19
Capa de datos...................................................................................................................................... 19
CRISTAL REPORT.................................................................................................................................. 20
Características y beneficios ................................................................................................................. 20
¿Qué es ODBC? ................................................................................................................................... 21
ANALISIS Y DISEÑO ...................................................................................................................................... 23
DIAGRAMA DE CASOS DE USOS (ADMINISTRADOR).......................................................................... 23
DIAGRAMA DE CASOS DE USOS (OPERADOR) ................................................................................... 25
DIAGRAMA DE CASOS DE USOS (OPERADOR) ................................................................................... 26
ESPECIFICACIÓN DE REQUISITOS SOFTWARE ............................................................................................. 27
RECOMENDACIONES ................................................................................................................................... 51
CONCLUSIONES ........................................................................................................................................... 52
BIBLIOGRAFÍA.............................................................................................................................................. 53
ANEXOS ....................................................................................................................................................... 54
Diagrama Entidad – Relación .............................................................................................................. 54
APLICACION......................................................................................................................................... 55
FORMULARIOS DE APLICACION ............................................................. Error! Bookmark not defined.
formularios de aplicacion.................................................................................................................... 58
REPORTES CON CRISTAL REPORT ........................................................................................................ 59
Tablas en mysql ................................................................................................................................... 60
diagrama de secuencia........................................................................................................................ 60
agregar socio ....................................................................................................................................... 61
agregar operacion ............................................................................................................................... 62
mostrar devolucion ............................................................................................................................. 63
codificacion ......................................................................................................................................... 64
Conexión a Base de Datos ................................................................................................................... 64
Menú principal .................................................................................................................................... 65
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

DEDICATORIA

Dedicamos el presente trabajo monográfico principalmente a:

Dios Padre Celestial por ser fuente inagotable de sabiduría en nuestras vidas.

A nuestros Padres por habernos brindado su apoyo moral, espiritual y económico durante
nuestros años de estudios.

A nuestros Maestros por habernos brindado sus conocimientos y su apoyo incondicional.


UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

AGRADECIMIENTO

Expresamos nuestro profundo agradecimiento a:

El creador de todas las cosas; nuestro Dios Todopoderoso, por habernos dado la fuerza y
sabiduría para llegar a culminar con éxito el presente trabajo monográfico.

A nuestros Padres y familiares por el amor y el apoyo incondicional, sincero y valioso de todos
los días, sin ustedes no hubiéramos podido culminar esta grandiosa etapa.

A nuestro tutor Ing. Miguel Bárcenas por habernos guiado con sus conocimientos y experiencia
hasta finalizar este trabajo monográfico.
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

INTRODUCCION

Hoy en día la tecnología ha avanzado a pasos agigantados y el uso de las computadoras se ha


vuelto una herramienta indispensable para el desarrollo comercial, intelectual y cultural de todo
el mundo, teniendo como consecuencia un incremento en la información y volúmenes de datos lo
cual hace muy complicado el manejo de la misma es por esto que los sistemas automatizados
juegan un papel fundamental en las empresas, ya que permiten llevar un control más eficiente en
todos los procesos logrando así una mayor facilidad en la manipulación de la información.

Nuestra aplicación software será dedicada a la Cooperativa de Transportes Tulsi RL lo cual le


permitirá llevar de manera ordenada la automatización de procesos contables lo cual abarcan
reportes de los ahorros de cada socio divididos en las diferentes cuentas, además de la generación
de informes mensuales que ayuden a la gestión contable de dicha Cooperativa.

Este sistema deberá garantizar la fiabilidad, confidencialidad, eficiencia y exactitud de la


información que se va manejar, ya que se trabaja con un área sensible como es el área contable y
un simple error puede ocasionar muchos problemas a la Cooperativa tanto administrativo como
contable.

En vista de todos estos inconvenientes la cooperativa experimenta ciertos problemas con el


manejo de información económica en sí, ya que las operaciones matemáticas las realiza una
persona encargada y las registra de manera manual siendo esto un problema tedioso ya que
puede caer en manos equivocadas.

Es por eso que hemos decidido realizar un sistema de ahorro contable para la cooperativa y a la
vez desarrollar los conocimientos en programación para nuestro trabajo monográfico adquiridos
en nuestros años de estudio

1
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

ANTECEDENTES

La Cooperativa Tulsi RL dedicada al servicio de transporte inter-urbano ubicada en la ciudad de


León departamento de León que cubre la ruta León-Malpaisillo-San Isidro y sus Ramales,
fundada el 13 de julio del año 2005 y que actualmente también se dedica a la venta de
productos y repuestos para autobuses tales como: Filtros, Llantas, Lubricantes, Aceites,
Combustible entre otros.

La cooperativa cuenta hoy en día con 40 unidades de buses y un total de 26 socios cada uno con
derecho a voz y voto.

Hoy en día en la Cooperativa Tulsi RL no existe ningún software de ahorro contable que se
encargue de forma automatizada del control de las cuentas existentes en dicha Cooperativa y de
los inventarios de los productos con los que realizan ventas a los socios, todas las operaciones las
realiza una persona encargada manualmente registrando tanto ingresos y egresos como
inventarios de productos en cuadernos y hojas sueltas resultando un trabajo tedioso y complicado
para dicha persona, ya que a veces se le pierden o se dañan con el tiempo dicha papelería y en
reiteradas ocasiones tiene que copiar dichos datos en horas extras.

La Cooperativa de Transportes inter-urbanos Tulsi–RL que cubre la ruta León - Malpaisillo - San
Isidro no cuenta con un sistema de control de ahorro lo cual ha traído ciertos inconvenientes a la
empresa, ya que dificulta la labor de llevar un seguimiento a profundidad de los recursos
económicos que ingresan mensualmente a la empresa provenientes de las ventas diarias de
diferentes productos automotrices.

Hoy en día la persona encargada de llevar el control de estas operaciones financieras lo hace de
manera manual, registrando cada ingreso y egreso en cuadernos y hojas sueltas, Por lo tanto
dicha Cooperativa accedió a nuestras sugerencias de crear un sistema de costos con el cual no
contaban y así facilitarle los cálculos y ahorrarle tiempo y trabajo.

2
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

JUSTIFICACION

En la segunda mitad del siglo XX se realizaban operaciones de forma manual es decir hojas
blancas y cuadernos, años después se evoluciono a la máquina de escribir y a finales de la década
de los 90 y principios del siglo XXI se fue introduciendo poco a poco en las empresas el uso de
las computadoras viniendo estas integradas con una paquetería básica de Office dentro de los
cuales las empresas utilizan principalmente Excel, Word y Access, por un tiempo funciono de
acuerdo a sus necesidades, pero en los últimos años se han registrado ciertos inconvenientes tales
como que cualquier persona no autorizada pueda acceder a dicha información poniéndoles en
riego su confidencialidad.

De acuerdo a la rapidez con que evoluciona la tecnología hoy en día se ha dado la necesidad de
seguir el ritmo y no quedarse rezagado, ya que en éste ámbito cualquier tipo de dato financiero
podría ser filtrado de manera mal intencionado ocasionándole perdidas económicas a la empresa
por no tener un control con dicha información.

Es por dichos inconvenientes que decidimos desarrollar una aplicación de escritorio para el
control de ahorros y sistema de inventario en la Cooperativa Tulsi-RL de uso sencillo y práctico
para que se convierta en una útil herramienta tanto para los socios como la persona encargada de
manejar el sistema donde el socio pueda dar seguimiento de una manera más continua el estado
de sus cuentas.

Esta aplicación de escritorio permitirá al socio tener acceso a la información que brinda la
cooperativa además de ver su estado de cuenta ingresos y egresos que tiene la cooperativa
mensualmente.

Tenemos como propósito fundamental ahorrarle trabajo a la persona encargada de ingresar los
datos de la cooperativa y de facilitarle los cálculos que se generen mostrándole así una
innovación tecnología para el beneficio socioeconómico general y particular dentro de la
Cooperativa.

3
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

OBJETIVOS

OBJETIVO GENERAL

 Desarrollar un sistema para gestión de inventario y cuentas de ahorro de la cooperativa


Tulsi R.L, bajo el IDE Microsoft Visual Studio 2010 en el periodo de Junio a Agosto del
2015.

OBJETIVOS ESPECÍFICOS

 Diseño de la base de datos de inventario y cuentas de ahorro.

 Desarrollo de interfaces de la aplicación

 Codificación de la aplicación.

 Crear reportes de estado de cuenta de socios e inventario.

4
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

METODOLOGIA

MODELO INCREMENTAL
El modelo incremental fue propuesto por Harlan Mills en el año 1980. Surgió el enfoque
incremental de desarrollo como una forma de reducir la repetición del trabajo en el proceso de
desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir
experiencia con el sistema. Este modelo se conoce también bajo las siguientes denominaciones:

Método de las comparaciones limitadas sucesivas.

 Ciencia de salir del paso.

 Método de atacar el problema por ramas.

El Modelo Incremental combina elementos del Modelo Lineal Secuencial con la filosofía
interactiva de Construcción de Prototipos. Como se muestra en la Figura 1, el modelo
incremental aplica secuencias lineales de forma escalonada mientras progresa el tiempo en el
calendario. Cada secuencia lineal produce un incremento del software. El primer incremento
generalmente es un producto esencial denominado núcleo.

En una visión genérica, el proceso se divide en 4 partes:

 Análisis

 Diseño

 Código

 Prueba

5
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

Sin embargo, para la producción del Software, se usa el principio de trabajo en cadena o
Pipeline. Con esto se mantiene al cliente en constante contacto con los resultados obtenidos en
cada incremento. Es el mismo cliente el que incluye o desecha elementos al final de cada
incremento a fin de que el software se adapte mejor a sus necesidades reales. El proceso se repite
hasta que se elabora el producto completo. De esta forma el tiempo de entrega se reduce
considerablemente.

El Modelo Incremental es de naturaleza interactiva brindando al final de cada incremento la


entrega de un producto completamente operacional. Este modelo es particularmente útil cuando
no se cuenta con una dotación de personal suficiente. Los primeros pasos los pueden realizar un
grupo reducido de personas y en cada incremento se añadirá personal, de ser necesario. Por otro
lado los incrementos se pueden planear para gestionar riesgos técnicos.

Durante el proceso se trata de llevar a cabo al proyecto en diferentes partes que al final terminará
siendo la solución completa requerida por el cliente, pero éstas partes no se pueden realizar en
cualquier orden, sino que dependen de lo que el cliente este necesitando con más urgencia, de los
puntos más importantes del proyecto, los requerimientos más básicos, difíciles y con mayor
grado de riesgo, ya que estos se deben hacer al comienzo, de manera que se disminuya la
dificultad y el riesgo en cada versión.

6
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

De este modo podemos terminar una aplicación ejecutable (primera versión) que podrá ser
entregada al cliente para que éste pueda trabajar en ella y el programador pueda considerar las
recomendaciones que el cliente efectúe para hacer mejoras en el producto. Estas nuevas mejoras
deberán esperar a ser integradas en la siguiente versión junto con los demás requerimientos que
no fueron tomados en cuenta en la versión anterior.

El modelo incremental consiste en un desarrollo inicial de la arquitectura completa del sistema,


seguido de sucesivos incrementos funcionales. Cada incremento tiene su propio ciclo de vida y
se basa en el anterior, sin cambiar su funcionalidad ni sus interfaces. Una vez entregado un
incremento, no se realizan cambios sobre el mismo, sino únicamente corrección de errores. Dado
que la arquitectura completa se desarrolla en la etapa inicial, es necesario conocer los
requerimientos completos al comienzo del desarrollo.

Al iniciar del desarrollo, los clientes o los usuarios, identifican a grandes rasgos, las
funcionalidades que proporcionará el sistema. Se confecciona un bosquejo de requisitos
funcionales y será el cliente quien se encarga de priorizar que funcionalidades son más
importantes. Con las funcionalidades priorizadas, se puede confeccionar un plan de incrementos,
donde en cada incremento se indica un subconjunto de funcionalidades que el sistema entregará.
La asignación de funcionalidades a los incrementos depende de la prioridad dada a los requisitos.
Finalizado el plan de incrementos, se puede comenzar con el primer incremento.

CARACTERÍSTICAS
 Se evitan proyectos largos y se entrega "algo de valor" a los usuarios con cierta
frecuencia.

 El usuario se involucra más.

 Difícil de evaluar el costo total.

 Difícil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar
como un todo.

 Requiere gestores experimentados.

7
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

 Los errores en los requisitos se detectan tarde.

 El resultado puede ser positivo.

VENTAJAS
 Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que se
implementa la funcionalidad parcial.

 También provee un impacto ventajoso frente al cliente, que es la entrega temprana de


partes operativas del software.

 El modelo proporciona todas las ventajas del modelo en Cascada realimentado,


reduciendo sus desventajas sólo al ámbito de cada incremento.

 Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.

DESVENTAJAS
 El modelo incremental no es recomendable para casos de sistemas de tiempo real, de alto
nivel de seguridad, de procesamiento distribuido y/o de alto índice de riesgos.

 Requiere de mucha planeación, tanto administrativa como técnica.

 Requiere de metas claras para conocer el estado del proyecto.

 Un modelo incremental lleva a pensar en un desarrollo modular, con entregas parciales


del producto Software denominados "incrementos" del sistema, que son escogidos en
base a prioridades predefinidas de algún modo.

 El modelo permite una implementación con refinamientos sucesivos (ampliación y/o


mejoras).

 Con cada incremento se agrega nueva funcionalidad o se cubren nuevos requisitos o bien
se mejora la versión previamente implementada del producto software.

8
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

RECURSOS UTILIZADOS

RECURSOS HARDWARE:
Para la realización de la Aplicación de escritorio requerimos de ciertas herramientas tales como:

 PC: 1.65 GHz, AMD E-450 APU

 Ram: 4 GB

 Disco duro: 500 GB

RECURSOS SOFTWARE:
Para la realización de esta aplicación es necesario contar con ciertos requerimientos software
tales como:

 Windows 7 (Sistema Operativo)

 Visual 2010

 Programación Microsoft Visual C#

9
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

MARCO TEORICO

MYSQL
Es un sistema de administración de bases de datos relational (RDBMS). Se trata de un programa
capaz de almacenar una enorme cantidad de datos de gran variedad y de distribuirlos para cubrir
las necesidades de cualquier tipo de organización, desde pequeños establecimientos comerciales
a grandes empresas y organismos administrativos. MySQL compite con sistemas RDBMS
propietarios conocidos, como Oracle, SQL Server y DB21. MySQL2 incluye todos los elementos
necesarios para instalar el programa, preparar diferentes niveles de acceso de usuario,
administrar el sistema y proteger y hacer volcados de datos. Puede desarrollar sus propias
aplicaciones de base de datos en la mayor parte de los lenguajes de programación utilizados en la
actualidad y ejecutarlos en casi todos 1os sistemas operativos, incluyendo algunos de los que
probablemente no ha oído nunca hablar. MySQL utiliza el lenguaje de consulta estructurado
(SQL). Se trata del lenguaje utilizado por todas las bases de relacionales. Este lenguaje permite
crear bases de datos, así como agregar, manipular y recuperar datos en función de criterios
específicos. Pero nos estamos adelantando (Guillen, 2014).

Son muchas las razones para escoger MySQL como solución de misión crítica para la
administración de datos. Coste: El coste de MySQL es gratuito para la mayor parte de los usos y
su servicio de asistencia resulta económico. Asistencia: MySQL AB ofrece contratos de
asistencia a precios razonables y existe una nutrida y activa comunidad MySQL. Velocidad:
MySQL es mucho más rápido que la mayor parte de sus rivales. Funcionalidad: MySQL dispone
de muchas de las funciones que exigen los desarrolladores profesionales, como compatibilidad
completa con ACID, compatibilidad para la mayor parte de SQL ANSI, volcados online,

1 DB2 UDB es un sistema para administración de Bases de Datos Relacionales (RDBMS). (DataPrix,
s.f.)

2 MySQL es un sistema gestor de bases de datos (SGBD, DBMS por sus siglas en inglés) muy conocido
y ampliamente usado por su simplicidad y notable rendimiento. (Luis Alberto Casillas Santillán)

10
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

duplication, funciones SSL e integración con la mayor parte de 1os entornos de programación.
Así mismo, se desarrolla y actualiza de forma mucho más rápida que muchos de sus rivales, por
lo que prácticamente todas las funciones estándar de MySQL todavía no están en fase de
desarrollo. Portabilidad: MySQL se ejecuta en la inmensa mayoría de sistemas operativos y, la
mayor parte de los casos, los datos se pueden transferir de un sistema a otro sin dificultad.
Facilidad de uso: MySQL resulta fácil de utilizar y de administrar. Gran parte de las viejas bases
de datos presentan problemas por utilizar sistemas obsoletos, lo que complica innecesariamente
las tareas de administración. Las herramientas de MySQL son potentes y flexibles, sin sacrificar
su capacidad de uso.

MySQL es el software de fuente abierta lo cual significa que es posible para cualquier persona
bajar el código fuente de MySQL y usarlo sin pagar así como estudiar el código fuente y
ajustarlo a sus necesidades MySQL usa el GPL (GNU General Public License)3 para definir qué
puede hacer y que no se puede hacer con el software en diferentes situaciones, pero si requiere
introducir código MySQL en aplicaciones comerciales, se debe comprar una versión comercial
licenciada

CARACTERÍSTICAS DE MYSQL
Inicialmente MySQL carecía de elementos considerados esenciales en las bases de datos
relacionales, tales como integridad referencial y transacciones.

Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto en
desarrollos internos, como por desarrolladores de software libre. Entre las características
disponibles en las últimas versiones se puede destacar:

 Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.

 Disponibilidad en gran cantidad de plataformas y sistemas

3 La Licencia Pública General de GNU es una licencia copyleft libre para software y otro tipo de trabajos.

11
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

 Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes


velocidades de operación, soporte físico, capacidad, distribución geográfica,
transacciones.

 Transacciones y claves foráneas

 Conectividad segura

 Replicación

 Búsqueda e indexión de campos de texto

LENGUAJES DE PROGRAMACIÓN DE MYSQL


Existen varias APIs4 que permiten a aplicaciones escritas en diversos lenguajes de programación
acceder a las bases de datos MySQL como:

 C, C++

 C#

 Pascal

 Delphi (vía dbExpress)

 Java (con una implementación nativa del driver Java)

 Perl

 PHP

 Python

4 (Interfaces de programación de aplicaciones) una API es una especificación formal sobre cómo un
módulo de un software se comunica o interactúa con otro. (ABC Tecnología, s.f.)

12
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

Cada uno de estos utiliza una API específica. También existe una interfaz OBDC, llamado
MyOBDC que permite a cualquier lenguaje de programación que soporte OBDC comunicarse
con las bases de datos MySQL. También puede acceder desde el sistema SAP, lenguaje ABAP.

PHPMYADMIN
PhpMyAdmin es una herramienta de software libre escrito en PHP, con la intención de mejorar
la administración de MySQL a través de internet. PhpMyAdmin es compatible con una amplia
gama de operaciones en MySQL. Operaciones de uso frecuente (gestión de base de datos, tablas,
columnas, relaciones, índices, usuarios, permisos, etc.) se puede realizar mediante la interfaz de
usuario, mientras que todavía tiene la capacidad de ejecutar directamente cualquier sentencia
SQL.

FUNCIONALIDADES
 Visualizar y borrar bases de datos tablas, vistas, campos e índices

 Mostrar múltiples resultados a través de procedimientos almacenados o consultas

 Crear, copiar, borrar, renombrar y alterar bases de datos, tablas, campos e índices.

 Realizar labores de mantenimiento de servidor, bases de datos y tablas, dando consejos


acerca de la configuración del servidor

 Carga tablas con el contenido ficheros de texto

 Administra múltiples servidores

 Gestionar privilegios y usuarios de MySQL

 Crear gráficos PDF del diseño de su base de datos

 Busca globalmente o solamente en una parte de una base de datos

 Transforma los datos almacenados a cualquier formato usando un conjunto de funciones


predefinidas; como mostrar objetos binarios como imágenes de enlaces de descarga.

13
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

 Visualizar cambios en bases de datos, tablas y vistas.

 Capacidad de trabajar con tablas InnoDB y claves foráneas.

 Crear, editar, exportar, eliminar eventos y disparadores.

 Comunicarse con 62 idiomas distintos

¿QUÉ ES UNA BASE DE DATOS?


Una base de datos, en su definición más sencilla, es una colección de archivos relacionados.
Imagine un archivo (ya sea en formato de papel o electrónico) que contenga 1os pedidos de
ventas de una tienda. También existirá otro archivo de productos, en el que se incluyen 1os
registros sobre existencias. Para completar un pedido, necesitara buscar el producto en el archivo
de pedidos y 1os niveles de existencias relativos a dicho producto en el archivo de productos.
Una base de datos y el software que controla la base de datos, denominado sistema de
administración de base de datos (DBMS5), le ayudara a realizar estas tareas. La mayor parte de
las bases de datos actuales son de tipo relacional. Se denominan así porque utilizan tablas de
datos relacionadas por un campo en común.

INTRODUCCIÓN AL LENGUAJE C#
C# es un lenguaje orientado a objetos elegante y con seguridad de tipos que permite a los
desarrolladores compilar diversas aplicaciones sólidas y seguras que se ejecutan en .NET
Framework. Puede utilizar C# para crear aplicaciones cliente de Windows, servicios Web XML,
componentes distribuidos, aplicaciones cliente-servidor, aplicaciones de base de datos, y mucho
más. Visual C# proporciona un editor de código avanzado, cómodos diseñadores de interfaz de

5 DBMS: es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las
bases de datos. (Plataforma-Sistemas-Informática, s.f.)

14
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

usuario, depurador integrado y numerosas herramientas más para facilitar el desarrollo de


aplicaciones basadas el lenguaje C# y .NET Framework.

LENGUAJE C#
La sintaxis de C# es muy expresiva, pero también es sencilla y fácil de aprender. La sintaxis de
C# basada en signos de llave podrá ser reconocida inmediatamente por cualquier persona
familiarizada con C, C++ o Java. Los desarrolladores que conocen cualquiera de estos lenguajes
pueden empezar a trabajar de forma productiva en C# en un plazo muy breve. La sintaxis de C#
simplifica muchas de las complejidades de C++ y proporciona características eficaces tales como
tipos de valor que admiten valores NULL, enumeraciones, delegados, expresiones lambda6 y
acceso directo a memoria, que no se encuentran en Java. C# admite métodos y tipos genéricos,
que proporcionan mayor rendimiento y seguridad de tipos, e iteradores, que permiten a los
implementadores de clases de colección definir comportamientos de iteración personalizados que
el código cliente puede utilizar fácilmente. Las expresiones Language-Integrated Query (LINQ)
convierten la consulta fuertemente tipada en una construcción de lenguaje de primera clase.

Como lenguaje orientado a objetos, C# admite los conceptos de encapsulación7, herencia8 y


polimorfismo9. Todas las variables y métodos, incluido el método Main que es el punto de
entrada de la aplicación, se encapsulan dentro de definiciones de clase. Una clase puede heredar
directamente de una clase primaria, pero puede implementar cualquier número de interfaces. Los
métodos que reemplazan a los métodos virtuales en una clase primaria requieren la palabra

6 Expresiones lambda: es una forma de escribir métodos breves en una línea (Santillan, s.f.).

7 Encapsulamiento: es el proceso de almacenar en una misma sección los elementos de una abstracción
que constituyen su estructura y su comportamiento (STYDE, s.f.)

8 Herencia es la transmisión del código entre unas clases y otras. (Desarrolloweb.com, s.f.)

9 Polimorfismo: capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento
en función de los parámetros utilizados durante su invocación. (Desarrolloweb.com, s.f.)

15
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

clave override como medio para evitar redefiniciones accidentales. En C#, una struct es como
una clase sencilla; es un tipo asignado en la pila que puede implementar interfaces pero que no
admite la herencia.

Además de estos principios básicos orientados a objetos, C# facilita el desarrollo de


componentes de software a través de varias construcciones de lenguaje innovadoras, entre las
que se incluyen las siguientes:

Firmas de métodos encapsulados denominadas delegados, que habilitan notificaciones de


eventos con seguridad de tipos.

Propiedades, que actúan como descriptores de acceso para variables miembro privadas.

Atributos, que proporcionan metadatos declarativos sobre tipos en tiempo de ejecución.

Comentarios en línea de documentación XML.

Language-Integrated Query (LINQ) que proporciona funciones de consulta integradas en una


gran variedad de orígenes de datos.

Si necesita interactuar con otro software de Windows, como objetos COM o archivos DLL
nativos de Win32, podrá hacerlo en C# mediante un proceso denominado "interoperabilidad". La
interoperabilidad habilita los programas de C# para que puedan realizar prácticamente las
mismas tareas que una aplicación C++ nativa. C# admite incluso el uso de punteros y el concepto
de código "no seguro" en los casos en que el acceso directo a la memoria es totalmente crítico.

El proceso de compilación de C# es simple en comparación con el de C y C++, y es más flexible


que en Java. No hay archivos de encabezado independientes, ni se requiere que los métodos y los
tipos se declaren en un orden determinado. Un archivo de código fuente de C# puede definir
cualquier número de clases, structs, interfaces y eventos.

16
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

VISUAL STUDIO 2010

DESCRIPCIÓN
Visual Studio 2010 Ultimate Edition es un entorno de desarrollo integrado (IDE) para los
equipos que construyen aplicaciones que funcionan en Microsoft Windows, Microsoft Office, o
en la web de Microsoft y plataformas de dispositivos móviles-.

Visual Studio Ultimate Edition incluye todas las de depuración, el diagnóstico y la funcionalidad
de las pruebas de la edición Premium, además de herramientas para la gestión del laboratorio, la
arquitectura y el modelado.

Los desarrolladores que utilizan Visual Studio Ultimate Edition puede optar por el programa a
largo Lenguajes de programación de Microsoft, como Visual Basic.NET, Visual C + +. NET,
Visual C #. NET, JScript, y docenas más o en varios idiomas que se acaban de apoyo con Visual
Studio 2010 como Visual C #, IronRuby y IronPython. Visual Studio 2010 también incluye una
mayor integración con SharePoint Server que las versiones anteriores, ayudando a los
desarrolladores que necesitan para personalizar una instalación de SharePoint Server 2010.

Otras capacidades incluyen las siguientes:

 Herramientas de desarrollo de base de datos para ayudar a la implementación y gestión


del cambio, garantizar las bases de datos y aplicaciones están sincronizadas.

 Herramientas de análisis de código a los desarrolladores evitar errores de codificación


comunes antes de entrar en producción.

 Prueba de análisis de impacto proporciona una lista de pruebas recomendadas para


ejecutar después de un cambio de código se hizo, lo que permite una verificación más
precisa de código y reducir el número de pruebas necesarias.

17
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

 Lab Management automatiza la construcción de implementar la prueba de flujos de


trabajo para reducir los costes de desarrollo y las pruebas asociadas con la instalación,
desmontaje y la restauración de los entornos virtuales en un estado conocido.

 Arquitectura Explorer ayuda a los usuarios explorar visualmente los activos de código y
sus interdependencias, producir modelos detallados de cómo una aplicación se construye,
y drill-down en áreas específicos.

PROGRAMACIÓN EN 3 CAPAS
La programación por capas se refiere a un estilo de programación que tiene como objetivo
separar la lógica de diseño de la lógica de negocios. Una de las ventajas que podemos destacar
sobre este estilo es que el desarrollo del software se puede llevar a cabo en varios tipos de
niveles, así, cuando suceda algún cambio solo nos iremos sobre el nivel requerido. La
programación por capas es una técnica de la ingeniería del software propia de la programación a
objetos, que se divide en 3 capas: la capa de presentación o frontera, la capa de lógica de negocio
y por último la capa de datos.

18
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

CAPA DE PRESENTACIÓN
Se refiere a la presentación del programa frente al usuario, esta presentación debe cumplir su
propósito con el usuario final, una presentación fácil de usar y amigable. También las interfaces
deben ser consistentes con la información dentro del software (Por ejemplo; en los formularios
no debe haber más que lo necesario), tomar en cuenta los requerimientos del usuario, la capa de
presentación va de la mano con capa de la lógica de negocio.

CAPA DE LÓGICA DE NEGOCIO


En esta capa es donde se encuentran los programas que son ejecutados, recibe las peticiones del
usuario y posteriormente envía las respuestas tras el proceso. Esta capa es muy importantes pues
es donde se establecen todas aquellas reglas que se tendrán que cumplir, decía anteriormente que
la capa de presentación tiene comunicación con la capa de lógica de negocio ya que se tienen que
comunicar para recibir las solicitudes y presentar los resultados.

CAPA DE DATOS
Esta capa es la que se encarga de hacer las transacciones con la base de datos y con otros
sistemas para descargar o insertar información al sistema. La consistencia en los datos es
sumamente importante, es decir, los datos que se ingresan o insertan deben ser precisos y
consientes. Aquí definimos las consultas que vamos a realizar en la base de datos, o consultas
para reportes. La comunicación de esta capa con la capa de lógica de negocio se refiere a que la
capa de datos es la que le enviara información a la capa de negocio para que sea procesada e
ingresada en objetos según sea necesario (encapsulamiento).

19
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

CRISTAL REPORT
Una herramienta de informes de producción robusta, SAP Crystal Reports convierte casi
cualquier fuente de datos en información interactiva, accionable que se puede acceder en línea o
en línea, desde las aplicaciones, portables y dispositivos móviles.

CARACTERÍSTICAS Y BENEFICIOS
Con SAP Crystal Reports 2013, puede crear potentes y sofisticados formatos, informes
dinámicos desde prácticamente cualquier fuente de datos, entregados en docenas de formatos, en
hasta 24 idiomas. Una herramienta de informes de producción robusta, SAP Crystal Reports
convierte casi cualquier fuente de datos en información interactiva, accionable que se puede
acceder en línea o en línea, desde las aplicaciones, portales y dispositivos móviles.

 Diseño de informes flexible, personalizable: Crear, informes de píxeles perfecto


altamente formateados rápidamente con interfaz de diseño intuitivo SAP Crystal Reports
y flujos de trabajo eficientes.

 Conectividad de datos Broad: Conectarse a fuentes de información repartidos por la


organización directamente. Las fuentes de datos incluyen: Nativo, ODBC, OLE DB y
conectividad JDBC para relacionales, OLAP, servicios Web, XML, fuentes de datos
empresariales y salesforce.com.

 Opciones de entrega Potente informe: Entregar informes personalizados a destino


preferido de sus usuarios de negocios en su idioma y el formato que prefiera.

 Soporte ampliado para Excel: Exportación XLSX aprovecha al máximo el formato de


archivo actualizado Excel permitiendo más datos para ser exportados a una sola hoja de
trabajo, sin que abarca varias hojas de cálculo.

 Interactividad móvil: Informes interactivos están ahora disponibles a través de sus


dispositivos móviles.

20
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

 Software SAP Crystal Dashboard Design, Adobe Flex, Adobe Flash y HTML 5
integración: Habilitar SAP Crystal Reports desarrolladores para producir poderosos
"mash-ups" que tiran de datos de diversas fuentes.

 Compatible con Windows 7: El software SAP Crystal Reports 2013 está certificado
compatible con Microsoft Windows 7. (SAP , s.f.)

¿QUÉ ES ODBC?
Open Data Base Conectivity o lo que es lo mismo, conectividad abierta de bases de datos. Si
escribimos una aplicación para acceder a las tablas de una DB de Access, ¿qué ocurrirá si
después queremos que la misma aplicación, y sin reescribir nada, utilice tablas de SQL Server u
otra DB cualquiera? La respuesta es sencilla: no funcionará. Nuestra aplicación, diseñada para un
motor concreto, no sabrá dialogar con el otro. Evidentemente, si todas las DB funcionaran igual,
no tendríamos este problema aunque eso no es probable que ocurra nunca.

Pero si hubiera un elemento que por un lado sea siempre igual, y por el otro sea capaz de
dialogar con una DB concreta, solo tendríamos que ir cambiando este elemento, y nuestra
aplicación siempre funcionaría sin importar lo que hay al otro lado, algo así como ir cambiando
las boquillas de una manguera. A esas piezas intercambiables las llamaremos orígenes de
datos de ODBC

Casi todas las DB actuales tienen un ODBC. Debido a que este elemento impone ciertas
limitaciones, ya que no todo lo que la DB sabe hacer es compatible con la aplicación, como
velocidad de proceso, tiempos de espera, máxima longitud de registro, número máximo de
registros, versión de SQL, etc., está cayendo en desuso a cambio de otras técnicas de
programación, pero aún le quedan muchos años de buen servicio.

Esta es la idea: por un lado el ODBC provee de unas características siempre homogéneas, y por
el otro permite distintos controladores que aseguran la conectividad de la aplicación con
diferentes bases de datos.

21
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

A través de ODBC, en un sistema Windows se puede conectar con cualquier base de datos.
Bueno habría que decir que permite conectar con cualquier base de datos de la que exista un
driver ODBC. Los creadores de las distintas bases de datos son los responsables de crear un
driver ODBC para que su base de datos se pueda conectar desde un sistema Microsoft.

Para conectar con ODBC una base de datos se ha de crear un DSN, que es un nombre que
asociamos a una conexión por ODBC para referirnos a ella desde las aplicaciones o programas
que deban conectarse con la base de datos.

Cualquier base de datos que se pretenda utilizar desde aplicaciones Windows debe tener su
propio driver ODBC. Por ejemplo, MySQL dispone de un Driver ODBC que se puede descargar
desde su página web. Las bases de datos Access (Microsoft Jet) y SQL Server de Microsoft
también tienen su driver ODBC y este ya se encuentra instalado en el Windows de fábrica.
(Desarrollo web, s.f.)

22
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

ANALISIS Y DISEÑO

DIAGRAMA DE CASOS DE USOS (ADMINISTRADOR)

23
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

DIAGRAMA DE CASOS DE USOS (ADMINISTRADOR)

24
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

DIAGRAMA DE CASOS DE USOS (OPERADOR)

25
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

DIAGRAMA DE CASOS DE USOS (OPERADOR)

26
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

ESPECIFICACIÓN DE REQUISITOS SOFTWARE

1. Requisitos Específicos

1.1. Requisitos Funcionales

1.1.1. Registro de usuario

1.1.2. Login de usuario

1.1.3. Limitar roles de usuario

1.1.4. Agregar nuevo usuario

1.1.5. Agregar socio

1.1.6. Editar socio

1.1.7. Agregar nuevo socio

1.1.8. Agregar datos de producto

1.1.9. Editar datos de producto

1.1.10. Agregar entrada de producto

1.1.11. Agregar salida de producto

1.1.12. Agregar devolución de venta

1.1.13. Generar respaldo de base de datos

1.1.14. Agregar libros de reporte

1.1.15. Editar libros de reporte

1.1.16. Agregar operación de cada socio

27
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

1.1.17. Mostrar reporte de cada socio

1.1.18. Mostrar reporte de ahorros mensuales según tipo de libro

1.1.19. Mostrar reporte de salida según tipo de libro

1.1.20. Mostrar reporte de cierre mensual

1.1.21. Realizar cierre al final de cada mes

1.1.22. Enviar correo a todos los socios registrados de sus estados de cuenta

1.2. Interfaces Externas

1.2.1. Interfaces de usuario

1.2.2. Interfaces hardware

1.2.3. Interfaces software

1.2.4. Interfaces de comunicaciones

1.3. Requisitos de Funcionamiento

1.4. Restricciones de diseño

1.5. Atributos

1.5.1. Seguridad

1.5.2. Mantenimiento

1.6. Otros Requisitos

1.6.1. Bases de datos

1.6.2. Operaciones

2. Apéndice

28
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.1. Registro de Usuario

3.1.1.1. Especificación

 Introducción

Para que el usuario pueda acceder a las funciones de la aplicación de


escritorio primeramente deberá de registrar sus datos

 Entrada

Datos proporcionados por el usuario

 Nombre
 Clave

 Proceso

Se registraran los datos y se guardan en la base de datos

 Salida

Muestran el registro del usuario

29
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.2. Login de Usuario

3.1.2.1. Especificación

 Introducción

Deberá de introducir su nombre y password. Una vez que haya realizado el


proceso de Login podrá acceder a la página principal donde podrá visualizar
un menú de los estados de cuenta de cada socio.

 Entrada

Datos proporcionados por el usuario

 Nombre
 Clave

 Proceso

Se validan los datos introducidos y posteriormente se ingresan al menú


principal

 Salida

Muestra un mensaje por pantalla de autentificación

30
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.3. Limitar roles de usuario

3.1.3.1. Especificación

 Introducción

Se deberán crear dos usuarios uno con rol de administrador y el otro con
roles limitados

 Entrada

Datos proporcionados por el usuario

 Nombre
 Clave

 Proceso

Se validan los datos introducidos y posteriormente ingresan al menú


principal

 Salida

Muestra un mensaje por pantalla de autentificación

31
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.4. Agregar nuevo usuario

3.1.4.1. Especificación

 Introducción

Se deberá de crear un nuevo usuario con sus datos.

 Entrada

Datos proporcionados por el usuario.

 Nombre
 Clave

 Proceso

Se registraran los datos y se guardaran en la base de dato.

 Salida

Muestra un mensaje de autentificación.

32
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.5. Agregar socio

3.1.5.1. Especificación

 Introducción

El usuario en cuestión deberá de ingresar los datos de cada uno de los


socios, para el almacenamiento en la base de dato.

 Entrada

Datos proporcionados por el usuario

 Nombre
 Apellido
 Dirección
 Cedula
 Teléfono
 Beneficiario
 Correo

 Proceso

Se ingresan los datos requeridos de cada socio para su debido


almacenamiento, sin dejar ningún dato vacío.

 Salida

Se mostrara por pantalla un mensaje, donde se nos muestre que los datos
introducidos son correcto.

33
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.6. Editar socio

3.1.6.1. Especificación

 Introducción

El usuario podrá modificar los datos de un socio previamente ingresado a la


base de dato

 Entrada

Datos proporcionados por el usuario:

 Nombre
 Apellido
 Dirección
 Cédula
 Teléfono
 Beneficiario
 Correo

 Proceso

Elige el socio al que desea editar sus datos y procede a modificar los datos.

 Salida

Se mostrara por pantalla un mensaje donde nos muestre los datos editados
son correctos.

34
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.7. Agregar nuevo socio

3.1.7.1. Especificación

 Introducción

El usuario deberá ingresar los detalles de cada socio en la cooperativa

 Entrada

Datos proporcionados por el usuario:

 Nombres
 Cedula
 Correo
 Dirección
 Id
 Teléfono
 Beneficiario

 Proceso

Se ingresaran los datos requeridos de las consultas para su debido


almacenamiento, sin dejar ningún dato vacío

 Salida

Se mostrara por pantalla un mensaje donde se muestre que los datos


introducidos son correctos

35
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.8. Agregar datos de producto

3.1.8.1. Especificación

 Introducción

El usuario ingresara los datos de cada producto en inventario

 Entrada

Datos proporcionados por el usuario:

 Código
 Descripción
 Precio
 Existencia

 Proceso

Se ingresaran los datos requeridos para su almacenamiento

 Salida

Se mostrara un mensaje por pantalla que los datos se han ingresado

36
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.9. Editar datos de producto

3.1.9.1. Especificación

 Introducción

El usuario deberá modificar los datos de cualquier producto en la base de


datos

 Entrada

Datos proporcionados por el usuario:

 Código
 Descripción
 Precio
 Existencia

 Proceso

Se elige el producto al que desea cambiar los datos y se procede a


modificar los datos

 Salida

Se mostrara un mensaje por pantalla donde se muestra que los datos han
sido editados

37
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.10. Agregar entrada de producto

3.1.10.1. Especificación

 Introducción

El usuario ingresara los nuevos productos que hay en existencia con su


categoría correspondiente

 Entrada

Datos proporcionados por el usuario:

 Código
 Descripción
 Precio
 Existencia
 Nombre
 Código_categoria

 Proceso

Se ingresaran los datos sin dejar ningún campo vacío

 Salida

Se mostrara un mensaje por pantalla donde se muestra que los datos han
sido guardados exitosamente

38
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.11. Agregar salida de producto

3.1.11.1. Especificación

 Introducción

El usuario ingresara la venta del producto que se realice al socio

 Entrada

Datos proporcionados por el usuario:

 Código de la venta
 IVA
 Fecha
 Id socio
 Cantidad
 Código_producto
 Descuento
 Total
 Subtotal

 Proceso

Se ingresaran los detalles de cada venta

 Salida

Se mostrara un mensaje por pantalla donde se muestra que la venta ha sido


realizada

39
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.12. Agregar devolución de venta

3.1.12.1. Especificación

 Introducción

Si el socio realiza una devolución, el socio deberá detallar dicha devolución.

 Entrada

Datos proporcionado por el usuario

 Código_devolución
 Id socio
 Código_producto
 Cantidad
 Fecha_devolución

 Proceso

Se llevara a cabo la devolución del producto.

 Salida

Se mostrara un mensaje por pantalla que la devolución ha sido realizada.

40
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.13. Generar respaldo de base de datos

3.1.13.1. Especificación

 Introducción

El usuario deberá respaldar los datos introducidos en la base de datos

 Entrada

Datos proporcionados por el usuario:

 Socio
 Detalle_socio
 Venta
 Detalle_venta
 Entrada_producto
 Libros_ahorro

 Proceso

Se hará un respaldo completo de los datos introducidos al sistema, para eso


el usuario la deberá hacer manual

 Salida

Se mostrara un mensaje por pantalla donde se muestra que los datos han
sido respaldados exitosamente

41
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.14. Agregar libros de reporte

3.1.14.1. Especificación

 Introducción
El usuario en cuestión ingresara los datos de cada libro de reporte para el
almacenamiento en la base de datos.

 Entrada
Datos proporcionados por el usuario
 Código
 Descripción
 Nombre

 Proceso
Se ingresaran los datos de cada libro de reporte para su debido almacenamiento sin
dejar datos vacíos.

 Salida
Se mostrara por pantalla un mensaje donde diga que los datos introducidos son
correctos.

42
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.15. Editar libros de reporte

3.1.15.1. Especificación

 Introducción
El usuario podrá modificar los datos del libro de reporte, previamente ingresados
en la base de datos.

 Entrada
Datos proporcionados por el usuario
 Código
 Descripción
 Nombre

 Proceso
Elige el libro de reporte al que desea editar sus datos y procede a modificarlos.

 Salida
Se mostrara por pantalla un mensaje donde nos muestre que los datos han sido
modificados correctamente.

43
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.16. Agregar operación de cada socio

3.1.16.1. Especificación

 Introducción
El usuario podrá visualizar por pantalla todos los reportes que haya ingresado de
antemano.

 Entrada
Datos proporcionados por el usuario:
 Nombre
 Id socio

 Proceso
Se mostrara en pantalla los detalles de los reporte

 Salida
Se visualizara en pantalla

 Referencia
 Saldo
 Fecha de ingreso
 Código
 Código socio
 Código libro

44
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.17. Mostrar reporte de cada socio

3.1.17.1. Especificación

 Introducción
El usuario podrá modificar los datos del libro de reporte, previamente ingresados
en la base de datos

 Entrada
Datos proporcionados por el usuario

 Código
 Descripción
 Nombre

 Proceso
Elige el libro de reporte al que desea editar sus datos y procede a modificarlos

 Salida
Se mostrara por pantalla un mensaje donde nos muestre que los datos han sido
modificados correctamente

45
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.18. Mostrar reporte de ahorros mensuales según tipo de libro

3.1.18.1. Especificación

 Introducción
Es un historial de saldo de cada socio

 Entrada
Datos proporcionados por el usuario

 Id socio

 Proceso
Se mostrara en pantalla los ingresos que tiene cada socio

 Salida
Se visualizara por pantalla
 Referencia
 Saldo
 Fecha_ingreso
 Código_libro
 Id socio
 Código

46
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.19. Mostrar reporte de salida de operaciones según tipo de libro

3.1.19.1. Especificación

 Introducción
Es un historial de las ventas realizadas por el usuario en el periodo de tiempo
comprendido.

 Entrada
Datos proporcionados por el usuario
 Fecha
 Tipo de libro

 Proceso
Se mostrara en pantalla el desarrollo de los reportes

 Salida
Se visualizara en pantalla

 Total
 Fecha descuento
 IVA
 Id socio
 Descuento
 Id venta

47
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.20. Mostrar reporte de cierre mensual

3.1.20.1. Especificación

 Introducción
Es un historial de los ingresos totales por mes de las ventas hechas por el usuario

 Entrada
Datos proporcionados por el usuario
 Fecha

 Proceso
Se mostrara en pantalla los ingresos obtenidos totales

 Salida
Se visualizara en pantalla: los resultados de reporte

48
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.21. Realizar cierre al final de cada mes

3.1.21.1. Especificación

 Introducción

El usuario deberá realizar un estado de cuenta total al final de cada mes

 Entrada

Datos proporcionados por el usuario:

 Saldo_actual
 Nombre
 Id socio
 Código
 Saldo_maquinaria
 Saldo_individual
 Saldo_mutua

 Proceso

Se deberá de hacer un cierre al mes para llevar un control mensual de cada


estado de ahorro de los socios

 Salida

Se mostrara un mensaje por pantalla donde se muestren los saldos totales


de acuerdo a cada libro de reporte de cada socio

49
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

3.1.22. Enviar correo a todos los socios registrados de sus estados de cuenta

3.1.22.1. Especificación

 Introducción

El usuario deberá enviar el estado de cuenta de cada socio al final de cada


mes

 Entrada

Datos proporcionados por el usuario:

 Nombre
 Apellido
 Correo
 Libro
 Reporte_libro

 Proceso

Se enviara un correo con el estado de cuenta a cada socio

 Salida

Se mostrara un mensaje por pantalla donde se muestre que el correo ha


sido enviado

50
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

RECOMENDACIONES

CAPACITACION DE USUARIOS

En este sentido, es importante capacitar al administrador del sistema de tal manera que se haga
un buen uso de la herramienta garantizando un servicio de calidad e información de primera
mano.

ADMINISTRACION DE LA INFORMACION

Además, se deben hacer jornadas periódicas de actualización de datos, tanto en lo que tiene que
ver con la información de los socios tantos nuevos como antiguos, también con el capital que
posee cada socio.

En lo que respecta a la información que debe ser administrada institucionalmente por el


administrador o en su defecto por una persona que sea de confianza del administrador, se
recomienda que ésta sea revisada continuamente de manera que se pueda garantizar un excelente
servicio y una información actual y confiable.

51
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

CONCLUSIONES

Gracias a la información brindada por la gerencia de la Cooperativa Tulsi RL se ha diseñado una


base de datos que permitirá almacenar la información referente a sus ingresos de venta y ahorro,
egresos e inventario de los diferentes productos. Una vez diseñada la base de datos se procedió a
crear interfaces amigables para el usuario final y la codificación necesaria para que el sistema
permita realizar operaciones sobre productos, ventas y devoluciones.

Por otra parte para nosotros es muy importante facilitarle el trabajo al administrador siendo esto
la piedra angular de nuestro trabajo monográfico y para alcanzar dicho objetivo hemos procurado
que esta aplicación sea facilitadora y sencilla de manipular para una persona con pocos
conocimientos en cuanto a computadoras se refiere logrando así también cuidar la apariencia de
la aplicación.

También logramos incorporar el sistema de reportes con Cristal Report satisfaciendo de esta
manera una necesidad por parte de la gerencia que conllevaba a la obtención de información más
detallada en sus diferentes modalidades como son: ventas detalladas en días y meses,
devoluciones por días y meses, operaciones de cada uno de los socios en días y meses.

Otro logro que obtuvimos fue el de limitar el acceso a la información, mediante los permisos
concedidos al administrador y a una persona delegada para operaciones básicas sin manipular
información confidencial, ya que solo el administrador tendrá permisos ilimitados en dicha
aplicación. Es ella misma quien se encargara de delegar permisos a otros usuarios.

Siempre es muy útil estar actualizado e informado con los avances tecnológicos en nuestro
mundo ya que la tecnología es un universo de nuevos descubrimientos cada día, y podemos
aprovechar para poseer un estilo de vida más digitalizado lo cual nos conlleva a
responsabilidades por su manejo delicado de información entre otras cosas que ella nos ofrecen.

52
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

BIBLIOGRAFÍA

ABC Tecnología. (s.f.). Obtenido de http://www.abc.es/tecnologia/

DataPrix. (s.f.). Obtenido de http://www.dataprix.com/271-caracter-sticas-generales-db2-udb

Desarrollo web. (s.f.). Obtenido de http://www.desarrolloweb.com/faq/que-es-odbc.

Desarrolloweb.com. (s.f.). Obtenido de http://www.desarrolloweb.com

Desarrolloweb.com. (s.f.). Obtenido de http://www.desarrolloweb.com/

Guillen, I. (2014). La biblia de mysql . ANAYA.

Luis Alberto Casillas Santillán, M. G. (s.f.). Bases de datos en Mysql.

OpenSuse.org. (s.f.). https://es.opensuse.org/.

Plataforma-Sistemas-Informática. (s.f.). Obtenido de https://plataformasistemas.wordpress.com

Santillan, J. (s.f.). The Code.Net. Obtenido de https://jsantillan.wordpress.com

SAP . (s.f.). Obtenido de http://www.crystalreports.com/

STYDE. (s.f.). Obtenido de https://styde.net/encapsulamiento-en-la-programacion-orientada-a-objetos/

53
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

ANEXOS

DIAGRAMA ENTIDAD – RELACIÓN

54
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

APLICACION
Formulario de loguiarse para ingresar a la aplicación. Se debe introducir una clave
de usuario ya sea administrador o invitado.

Interfaz principal de la aplicación para acceder a cada uno de los formularios y así
realizar las diferentes funciones de la aplicación.

55
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

FORMULARIOS DE APLICACION

Formulario para ingresar un nuevo socio de la cooperativa, editar su información


en caso de que cambie algún dato o eliminar. Abajo se puede ver una lista donde se
observan todos los socios y su información. Esta lista sólo la podrá observar el
administrador de la aplicación.

56
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

FORMULARIOS DE APLICACION

Formulario donde se envía a los socios la información de sus estados de cuenta a


su correo personal.

57
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

FORMULARIOS DE APLICACION

Formulario donde se digita todo tipo de operaciones de cada uno de los socios,
dividida en los diferentes tipos de libros asociados a su cuenta.

58
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

REPORTES CON CRISTAL REPORT


Reporte con cada una de las transacciones realizadas de todos los socios ordenadas.

por fecha.

Reporte con cada uno de los socios registrados mostrando toda su información
personal.

59
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

BASE DE DATOS EN MYSQL


La siguiente imagen muestra la interfaz de MySQL PhpMyAdmin que nos permite
crear una base de datos de forma más rápida.

60
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

DIAGRAMA DE SECUENCIA

AGREGAR SOCIO

La siguiente imagen muestra como fluye la información dentro de nuestra


aplicación en el formulario Agregar Socio

61
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

AGREGAR OPERACIÓN

La siguiente imagen muestra como fluye la información dentro de nuestra


aplicación en el formulario agregar operación.

62
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

MOSTRAR DEVOLUCION

La siguiente imagen muestra como fluye la información dentro de nuestra


aplicación en el formulario mostrar devolución.

63
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

CODIFICACION

CONEXIÓN A BASE DE DATOS


using System;
using System.Collections.Generic;
using System.Text;
//referencia para poder usar las variables del controlador mysql
using System.Data.Odbc;
using System.Data;
//referencia a configuracion de app.config
using System.Configuration;
using Cooperativa_Datos.Properties;
namespace Cooperativa_Datos
{
public class Conectar
{
//Variables que nos permitiran realizar operaciones de insercion y lecturas de datos, para
utilizarlas incorporamos
//la referencia System.Data.Odbc
//se crea la conexion para utilizarla en el proceso de lectura o insercion de datos
static OdbcConnection con;

public static string GetStringConexion()


{
return Settings.Default.CooperativaConnectionString;
}
public static OdbcConnection GetConexion()
{
//hacemos la conexion mediante el string del app.config
con= new OdbcConnection(GetStringConexion());
con.Open();
return con;
}
public static void Desconexion()
{
con.Close();

64
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

MENÚ PRINCIPAL

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//Referencias para utilizar acceso a datos
using Cooperativa_Datos;
namespace Cooperativa_Presentacion
{
public partial class Menu : Form
{
private int childFormNumber = 0;
//instancia a la capa de datos para pedir datos
Producto p = new Producto();
public Menu()
{
InitializeComponent();
}
private void ShowNewForm(object sender, EventArgs
{
Form childForm = new Form();
childForm.MdiParent = this;
childForm.Text = "Ventana " + childFormNumber++;
childForm.Show();
}
private void OpenFile(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.InitialDirectory =
Environment.GetFolderPath(Environment.SpecialFolder.Personal);
openFileDialog.Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*";
if (openFileDialog.ShowDialog(this) == DialogResult.OK)
{
string FileName = openFileDialog.FileName;
}
}
private void SaveAsToolStripMenuItem_Click(object sender, EventArgs

65
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.InitialDirectory =
Environment.GetFolderPath(Environment.SpecialFolder.Personal);
saveFileDialog.Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*";
if (saveFileDialog.ShowDialog(this) == DialogResult.OK)
{
string FileName = saveFileDialog.FileName;
}
}
private void ExitToolsStripMenuItem_Click(object sender, EventArgs
{
this.Close();
}
private void CutToolStripMenuItem_Click(object sender, EventArgs
{
}
private void CopyToolStripMenuItem_Click(object sender, EventArgs
{
}
private void PasteToolStripMenuItem_Click(object sender, EventArgs
{
}
private void CascadeToolStripMenuItem_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.Cascade);
}
private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.TileVertical);
}
private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.TileHorizontal);
}
private void ArrangeIconsToolStripMenuItem_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.ArrangeIcons);
}
private void CloseAllToolStripMenuItem_Click(object sender, EventArgs
{
foreach (Form childForm in MdiChildren)
{
childForm.Close();

66
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

}
}
private void timerhora_Tick(object sender, EventArgs
{
lblHora.Text = Convert.ToString(DateTime.Now);
}
//funcion que llena el data grid
public bool VerificarExistencias()
{
bool v = false;
int total = p.ListItem().Tables["Producto"].Rows.Count;
// MessageBox.Show("datos" + sd.ListItem().Tables["Producto"].Rows.Count);
try
{
DataRow filas;
int i;
if (total > 0)
{
for (i = 0; i < p.ListItem().Tables["Producto"].Rows.Count; i++)
{
filas = p.ListItem().Tables["Producto"].Rows[i];
//verificamos las existencias
if (Convert.ToInt32(filas["Existencia".ToString()]) <= 5)
{
v = true;
}
else
// MessageBox.Show("Ya no hay Existencias de: " +
filas["Nombre"].ToString().ToUpper() + ", Registre Pedido Nuevo",
MessageBoxButtons.OK, MessageBoxIcon.Information);
v = false;
}
}
// v = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Acceso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
v = false;
}
return v;
}
private void Menu_Load(object sender, EventArgs

67
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

{
User.Text = frmLogin._Vendedor;
//asignacion de permisos ante al sistema
toolStripMenuReportes.Enabled = frmLogin._PREPORTES;
mantenimientoToolStripMenuItem.Enabled = frmLogin._PCREAR;
ventaToolStripMenuItem.Enabled = frmLogin._PCREAR;
registrarDevolucionToolStripMenuItem.Enabled = frmLogin._PCREAR;
hacerCierreToolStripMenuItem.Enabled = frmLogin._PCREAR;
enviarCorreoToolStripMenuItem.Enabled = frmLogin._PCREAR;
#region "Buscar Existencias minimas"
//verificamoss el vencimiento
if (VerificarExistencias())
{
if (MessageBox.Show("Hay productos con poca existencia ¿Desea Observarlos: " +
"?", "Cooperativa", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==
DialogResult.Yes)
{
frmAlerta a = new frmAlerta();
a.MdiParent = this;
a.Show(); ;
}
else
MessageBox.Show("Recuerde Ver Los productos que estan proximos a vencerce",
"Cooperativa", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
private void agregarSocioToolStripMenuItem_Click(object sender, EventArgs
{
//abriendo el formulario de socio como mdi
frmSocio s = new frmSocio();
s.MdiParent = this;
s.Show();
}
private void agregarDepositoToolStripMenuItem_Click(object sender, EventArgs
{
frmTransaccion t = new frmTransaccion();
t.MdiParent = this;
t.Show();
}
private void agregarLibroToolStripMenuItem_Click(object sender, EventArgs
{
frmLibro l = new frmLibro();
l.MdiParent = this;

68
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

l.Show();
}
private void mostrarLibrosToolStripMenuItem_Click(object sender, EventArgs
{
}
private void agregarProductoToolStripMenuItem_Click(object sender, EventArgs
{
frmProducto p = new frmProducto();
p.MdiParent = this;
p.Show();
}
private void salidasToolStripMenuItem_Click(object sender, EventArgs
{
frmVenta v = new frmVenta();
v.MdiParent = this;
v.Show();
}
private void registrarDevolucionToolStripMenuItem_Click(object sender, EventArgs
{
frmDevolucion d = new frmDevolucion();
d.MdiParent = this;
d.Show();
}
private void hacerCierreToolStripMenuItem_Click(object sender, EventArgs
{
frmCierre f = new frmCierre();
f.MdiParent = this;
f.Show();
}
private void permisosToolStripMenuItem_Click(object sender, EventArgs
{
frmUsuario u = new frmUsuario();
u.MdiParent = this;
u.Show();
}
private void cambiarDeUsuarioToolStripMenuItem_Click(object sender, EventArgs
{
frmLogin f = new frmLogin();
f.Show();
this.Hide();
}
private void toolStripMenuItem2_Click(object sender, EventArgs
{
Application.Exit();

69
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

}
private void mostrarSociosToolStripMenuItem_Click(object sender, EventArgs
{
Reportes.frmRptSocio f = new Reportes.frmRptSocio();
f.MdiParent = this;
f.Show();
}
private void mostrarAhorroDeSociosToolStripMenuItem_Click(object sender, EventArgs
{
Reportes.frmRptTransacion t = new Reportes.frmRptTransacion();
t.MdiParent = this;
t.Show();
}
private void mostrarEstadoDeCuentaToolStripMenuItem_Click(object sender, EventArgs
{
Reportes.frmRptEstadoSegunLibro es = new Reportes.frmRptEstadoSegunLibro();
es.MdiParent = this;
es.Show();
}
private void inventarioToolStripMenuItem1_Click(object sender, EventArgs
{
Reportes.frmRptInventario i = new Reportes.frmRptInventario();
i.MdiParent = this;
i.Show();
}
private void saldoActualToolStripMenuItem_Click(object sender, EventArgs
{
Reportes.frmRptSaldoActual s = new Reportes.frmRptSaldoActual();
s.MdiParent = this;
s.Show();
}
private void agregarCategoriaToolStripMenuItem_Click(object sender, EventArgs
{
frmCategoria c = new frmCategoria();
c.MdiParent = this;
c.Show();
}
private void enviarCorreoToolStripMenuItem_Click(object sender, EventArgs
{
frmCorreo c = new frmCorreo();
c.MdiParent = this;
c.Show();
}
private void estadoDeCuentaToolStripMenuItem_Click(object sender, EventArgs

70
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

{
frmVerEstadoAhorros f = new frmVerEstadoAhorros();
f.MdiParent = this;
f.Show();
}
private void ventasToolStripMenuItem_Click(object sender, EventArgs
{
Reportes.frmRptVentas v = new Reportes.frmRptVentas();
v.MdiParent = this;
v.Show();
}
private void inventarioToolStripMenuItem_Click(object sender, EventArgs
{
Reportes.frmRptProductos p = new Reportes.frmRptProductos();
p.MdiParent = this;
p.Show();
}
private void toolStripMenuItem3_Click(object sender, EventArgs
{
Reportes.frmRptDevoluciones d = new Reportes.frmRptDevoluciones();
d.MdiParent = this;
d.Show();
}
private void crearRespaldoToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MessageBox.Show("¿Desea Generar Respaldo de la Base de datos: " + "" + "?",
"Farmacia", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
System.Diagnostics.Process.Start(@"C:\Program Files
(x86)\TULSI\Setup_Cooperativa\Crear_backUp.bat");
}
else
MessageBox.Show("Recuerde Generar un Respaldo de la Base de datos, Para Mayor
Seguridad de sus Datos", "Informacion", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
private void recuperarRespaldoToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MessageBox.Show("¿Desea Recuperar Respaldo de la Base de datos?, recuerde que se
restauraran los registros de la base de datos que se respaldo anteriormente " , "Farmacia",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
try
{

71
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

System.Diagnostics.Process.Start(@"C:\Program Files
(x86)\TULSI\Setup_Cooperativa\Restaurar.bat");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Acceso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}}
else
MessageBox.Show("Recuerde Generar un Respaldo de la Base de datos, Para Mayor
Seguridad de sus Datos", "Informacion", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
private void logToolStripMenuItem_Click(object sender, EventArgs e)
{
Reportes.frmRptLogSucesos l = new Reportes.frmRptLogSucesos();
l.MdiParent = this;
l.Show();
}
private void toolStripMenuItem8_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.Cascade);
}
private void toolStripMenuItem9_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.TileVertical);
}
private void toolStripMenuItem10_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.TileHorizontal);
}
private void toolStripMenuItem11_Click(object sender, EventArgs
{
foreach (Form childForm in MdiChildren)
{
childForm.Close();
}
}
private void toolStripMenuItem12_Click(object sender, EventArgs
{
LayoutMdi(MdiLayout.ArrangeIcons);
}
}
}

72
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN

73