Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNAN LEON
ELABORADO POR:
DEDICATORIA
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.
AGRADECIMIENTO
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
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 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
OBJETIVOS ESPECÍFICOS
Codificación de la aplicación.
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:
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.
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.
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.
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.
Difícil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar
como un todo.
7
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
VENTAJAS
Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que se
implementa la funcionalidad parcial.
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.
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:
Ram: 4 GB
RECURSOS SOFTWARE:
Para la realización de esta aplicación es necesario contar con ciertos requerimientos software
tales como:
Visual 2010
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.
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
Conectividad segura
Replicación
C, C++
C#
Pascal
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
Crear, copiar, borrar, renombrar y alterar bases de datos, tablas, campos e índices.
13
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓ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
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.
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.
Propiedades, que actúan como descriptores de acceso para variables miembro privadas.
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.
16
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
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.
17
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
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 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.
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
23
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
24
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
25
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
26
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
1. Requisitos Específicos
27
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
1.1.22. Enviar correo a todos los socios registrados de sus estados de cuenta
1.5. Atributos
1.5.1. Seguridad
1.5.2. Mantenimiento
1.6.2. Operaciones
2. Apéndice
28
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.1.1. Especificación
Introducción
Entrada
Nombre
Clave
Proceso
Salida
29
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.2.1. Especificación
Introducción
Entrada
Nombre
Clave
Proceso
Salida
30
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
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
Nombre
Clave
Proceso
Salida
31
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.4.1. Especificación
Introducción
Entrada
Nombre
Clave
Proceso
Salida
32
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.5.1. Especificación
Introducción
Entrada
Nombre
Apellido
Dirección
Cedula
Teléfono
Beneficiario
Correo
Proceso
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.1. Especificación
Introducción
Entrada
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.1. Especificación
Introducción
Entrada
Nombres
Cedula
Correo
Dirección
Id
Teléfono
Beneficiario
Proceso
Salida
35
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.8.1. Especificación
Introducción
Entrada
Código
Descripción
Precio
Existencia
Proceso
Salida
36
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.9.1. Especificación
Introducción
Entrada
Código
Descripción
Precio
Existencia
Proceso
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.1. Especificación
Introducción
Entrada
Código
Descripción
Precio
Existencia
Nombre
Código_categoria
Proceso
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.1. Especificación
Introducción
Entrada
Código de la venta
IVA
Fecha
Id socio
Cantidad
Código_producto
Descuento
Total
Subtotal
Proceso
Salida
39
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.12.1. Especificación
Introducción
Entrada
Código_devolución
Id socio
Código_producto
Cantidad
Fecha_devolución
Proceso
Salida
40
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
3.1.13.1. Especificación
Introducción
Entrada
Socio
Detalle_socio
Venta
Detalle_venta
Entrada_producto
Libros_ahorro
Proceso
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.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.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.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.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.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.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.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.1. Especificación
Introducción
Entrada
Saldo_actual
Nombre
Id socio
Código
Saldo_maquinaria
Saldo_individual
Saldo_mutua
Proceso
Salida
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
Entrada
Nombre
Apellido
Correo
Libro
Reporte_libro
Proceso
Salida
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.
51
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
CONCLUSIONES
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
53
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
ANEXOS
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
56
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
FORMULARIOS DE APLICACION
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
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
60
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
DIAGRAMA DE SECUENCIA
AGREGAR SOCIO
61
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
AGREGAR OPERACIÓN
62
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
MOSTRAR DEVOLUCION
63
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA
DEPTO. DE COMPUTACIÓN
CODIFICACION
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