You are on page 1of 79

INSTITUTO TECNOLGICO DE

ACAPULCO
REPORTE TCNICO DE RESIDENCIAS PROFESIONALES

Practicantes:
Eduardo Ramrez Gmez No. Control: 09320855
Jos de Jess Pineda Berrn No. Control: 09320857
Ingeniera en Sistemas Computacionales
Empresa: Comisin Federal de Electricidad (CFE)
Folio de Proyecto: ISC-RP-40/2014-2
Nombre del Proyecto: IMPLEMENTACION DE SOFTWARE
PARA EL CONTROL Y ORGANIZACIN DE CONVENIOS EN CFE

Asesor Interno: M.T.I Rafael Hernndez Reyna

Asesor Externo: Ingeniero Omar Hernndez Santana


7 DE ENERO DE 2015

Instituto Tecnolgico de Acapulco

Informe tcnico

DEDICATORIA
Eduardo Ramrez Gmez

A mis padres, por su apoyo y motivacin, porque todo lo que soy se lo debo a ellos y por
inculcar en m la importancia de estudiar, por ser ellos la inspiracin para finalizar este
proyecto.

Jos de Jess Pineda Berrun

A mis maestros que en este andar por la vida, influyeron con sus lecciones y experiencias
en formarme como una persona de bien y preparada para los retos que pone la vida, a
todos y cada uno de ellos les dedico cada una de estas pginas de mi tesis.

AGRADECIMIENTOS

A Dios.
Por darnos la sabidura y fuerza para culminar esta etapa acadmica.

A nuestro director del proyecto de graduacin Rafael Hernndez Reyna.


Por su gua, comprensin, paciencia, entrega y valiosos consejos a lo largo del proceso
de investigacin.

A nuestros lectores, el/la (Sinodales).


Por brindarnos su asesora.

Al personal de la Comisin Federal de Electricidad en especial al Ing. Omar Hernndez


Santana y a la Lic. Karla Jannet Mendoza Luviano.
Por ofrecernos la informacin requerida, su valiosa experiencia, comprensin y tiempo
para lograr los objetivos trazados en este proyecto.

ndice
INTRODUCCIN ............................................................................................................................. 1
Qu es CFE? ............................................................................................................................. 1
Misin y Visin .......................................................................................................................... 2
Historia ...................................................................................................................................... 2
Caracterizacin del rea en que particip ................................................................................ 5
Ubicacin ................................................................................................................................... 5
CAPTULO I .................................................................................................................................... 6
EL TEMA..................................................................................................................................... 6
Justificacin ............................................................................................................................... 6
Descripcin del problema ......................................................................................................... 6
Objetivo General ....................................................................................................................... 7
Objetivo Especfico .................................................................................................................... 7
Alcances y limitaciones ............................................................................................................. 7
Metodologa .............................................................................................................................. 8
Especiacin de Requisitos ..................................................................................................... 8
Marco terico .............................................................................................................................. 11
La ingeniera de software ........................................................................................................ 11
Resumen .............................................................................................................................. 11
Fundamentos ...................................................................................................................... 11
Los procesos del ciclo de vida del software ........................................................................ 13
El ciclo de vida y los procesos.............................................................................................. 13
Microsoft Visual Studio 2013 .............................................................................................. 18
Qu es C#? ......................................................................................................................... 18
Microsoft Office .................................................................................................................. 22
Qu es una Macro? ........................................................................................................... 23
Visual Basic for Applications................................................................................................ 23
Qu es un archivo DLL? ..................................................................................................... 24
SQL SERVER ......................................................................................................................... 25
Desarrollo prctico ...................................................................................................................... 26
Elaboracin de Macros ............................................................................................................ 26
Implementacin de software para el control y organizacin de convenios en CFE ............... 31
Procedimientos y descripcin de las actividades realizadas ............................................... 31
Caso de uso ......................................................................................................................... 31
Forms y cdigo del programa.............................................................................................. 35

Instituto Tecnolgico de Acapulco

Informe tcnico

Form inicial loggin ............................................................................................................... 35


DLL loggin ............................................................................................................................ 38
Dll de consultas y servicios .................................................................................................. 38
Formulario menu, es el segundo form, es el form al que te envia despues de loggin. ...... 41
Form control de usuarios .................................................................................................... 42
Generador de reportes........................................................................................................ 44
Form registrar usuario......................................................................................................... 44
Form eliminar usuario ......................................................................................................... 46
Form modificar/actualizar usuario ...................................................................................... 47
Form creacin de convenio ................................................................................................. 49
SQL Server 2012 .................................................................................................................. 53
Cdigo de la base de datos ................................................................................................. 53
Tablas de la base de datos .................................................................................................. 55
Resultados, planos, graficas, prototipos, maquetas, programas, entre otros. ........................... 56
Macro de Notificaciones ......................................................................................................... 56
Sustractor de datos de Hoja1 de Excel a Hoja 2 .................................................................. 56
Botn Limpiar ...................................................................................................................... 57
Formula de Numero a letra ................................................................................................. 59
Sustractor de Peticiones de Notificacin. ........................................................................... 63
Instrucciones de uso para MACRO. ..................................................................................... 64
Implementacin de Software para el control y organizacin de convenios en CFE. .............. 65
Pantallazos del programa en ejecucin .............................................................................. 65
Form loggin de programa en ejecucin .............................................................................. 65
Conclusiones y recomendaciones ............................................................................................... 72
Conclusiones: .......................................................................................................................... 72
Recomendaciones: .................................................................................................................. 72
Linkografa ................................................................................................................................... 72
Referencias bibliogrficas ........................................................................................................... 72

Instituto Tecnolgico de Acapulco

Informe tcnico

INTRODUCCIN
Qu es CFE?
La Comisin Federal de Electricidad es una empresa del gobierno mexicano que genera,
transmite, distribuye y comercializa energa elctrica para ms de 35.6 millones de clientes al
mes de marzo, lo que representa a ms de 100 millones de habitantes, e incorpora anualmente
ms de un milln de clientes nuevos.
La infraestructura para generar la energa elctrica est compuesta por 211 centrales
generadoras, con una capacidad instalada de 52,862 megawatts (MW), incluyendo productores
independientes con 23 centrales (22 ciclo combinado y una eoloelctrica) y 32 centrales de la
extinta Luz y Fuerza.
El 22.72% de la capacidad instalada corresponde a 25 centrales construidas con capital privado
por los Productores Independientes de Energa (PIE).
En la CFE se produce la energa elctrica utilizando diferentes tecnologas y diferentes fuentes
de energtico primario. Tiene centrales termoelctricas, hidroelctricas, carboelctricas,
geotermoelctricas, eoloelctricas y una nucleoelctrica.
Para conducir la electricidad desde las centrales de generacin hasta el domicilio de cada uno
de sus clientes, la CFE tiene ms de 760 mil kilmetros de lneas de transmisin, y de distribucin,
sin Zona Centro (Ex LFC).
Al cierre de 2011, el suministro de energa elctrica lleg a ms de 190 mil localidades (190,655
rurales y 3,744 urbanas) y el 97.61% de la poblacin utiliza la electricidad.
En los ltimos diez aos se han instalado 42 mil mdulos solares en pequeas comunidades muy
alejadas de los grandes centros de poblacin. Esta ser la tecnologa de mayor aplicacin en el
futuro para aquellas comunidades que an no cuentan con electricidad.
En cuanto al volumen de ventas totales, 99% lo constituyen las ventas directas al pblico y el
0.5% restante se exporta.
Si bien el sector domstico agrupa 88.40% de los clientes, sus ventas representan 23.08% del
total de ventas al pblico. Una situacin inversa ocurre en el sector industrial, donde menos de
1% de los clientes representa ms de la mitad de las ventas.
La CFE es tambin la entidad del gobierno federal encargada de la planeacin del sistema
elctrico nacional, la cual es plasmada en el Programa de Obras e Inversiones del Sector Elctrico
(POISE), que describe la evolucin del mercado elctrico, as como la expansin de la capacidad
de generacin y transmisin para satisfacer la demanda en los prximos diez aos, y se actualiza
anualmente
El compromiso de la empresa es ofrecer servicios de excelencia, garantizando altos ndices de
calidad en todos sus procesos, al nivel de las mejores empresas elctricas del mundo.
CFE es un organismo pblico descentralizado, con personalidad jurdica y patrimonio propio. [4]

Pgina | 1

Instituto Tecnolgico de Acapulco

Informe tcnico

Misin y Visin
NUESTRA MISIN
Prestar el servicio pblico de energa elctrica con criterios de suficiencia, competitividad y
sustentabilidad, comprometidos con la satisfaccin de los clientes, con el desarrollo del pas y
con la preservacin del medio ambiente.
VISIN AL 2030
Ser una empresa de energa, de las mejores en el sector elctrico a nivel mundial, con presencia
internacional, fortaleza financiera e ingresos adicionales por servicios relacionados con su
capital intelectual e infraestructura fsica y comercial.
Una empresa reconocida por su atencin al cliente, competitividad, transparencia, calidad en el
servicio, capacidad de su personal, vanguardia tecnolgica y aplicacin de criterios de desarrollo
sustentable. [5]

Historia
La generacin de energa elctrica inici en Mxico a fines del siglo XIX. La primera planta
generadora que se instal en el pas (1879) estuvo en Len, Guanajuato, y era utilizada por la
fbrica textil La Americana. Casi inmediatamente se extendi esta forma de generar
electricidad dentro de la produccin minera y, marginalmente, para la iluminacin residencial y
pblica.
En 1889 operaba la primera planta hidroelctrica en Batopilas (Chihuahua) y extendi sus redes
de distribucin hacia mercados urbanos y comerciales donde la poblacin era de mayor
capacidad econmica.
No obstante, durante el rgimen de Porfirio Daz se otorg al sector elctrico el carcter de
servicio pblico, colocndose las primeras 40 lmparas "de arco" en la Plaza de la Constitucin,
cien ms en la Alameda Central y comenz la iluminacin de la entonces calle de Reforma y de
algunas otras vas de la Ciudad de Mxico.
Algunas compaas internacionales con gran capacidad vinieron a crear filiales, como
TheMexican Light and Power Company, de origen canadiense, en el centro del pas; el consorcio
The American and ForeignPower Company, con tres sistemas interconectados en el norte de
Mxico, y la Compaa Elctrica de Chapala, en el occidente.
A inicios del siglo XX Mxico contaba con una capacidad de 31 MW, propiedad de empresas
privadas. Para 1910 eran 50 MW, de los cuales 80% los generaba TheMexican Light and Power
Company, con el primer gran proyecto hidroelctrico: la planta Necaxa, en Puebla. Las tres

Pgina | 2

Instituto Tecnolgico de Acapulco

Informe tcnico

compaas elctricas tenan las concesiones e instalaciones de la mayor parte de las pequeas
plantas que slo funcionaban en sus regiones.
En ese perodo se dio el primer esfuerzo para ordenar la industria elctrica con la creacin de la
Comisin Nacional para el Fomento y Control de la Industria de Generacin y Fuerza, conocida
posteriormente como Comisin Nacional de Fuerza Motriz.
Fue el 2 de diciembre de 1933 cuando se decret que la generacin y distribucin de electricidad
son actividades de utilidad pblica.
En 1937 Mxico tena 18.3 millones de habitantes, de los cuales nicamente siete millones
contaban con electricidad, proporcionada con serias dificultades por tres empresas privadas.
En ese momento las interrupciones de luz eran constantes y las tarifas muy elevadas, debido a
que esas empresas se enfocaban a los mercados urbanos ms redituables, sin contemplar a las
poblaciones rurales, donde habitaba ms de 62% de la poblacin. La capacidad instalada de
generacin elctrica en el pas era de 629.0 MW.
Para dar respuesta a esa situacin que no permita el desarrollo del pas, el gobierno federal
cre, el 14 de agosto de 1937, la Comisin Federal de Electricidad (CFE), que tendra por objeto
organizar y dirigir un sistema nacional de generacin, transmisin y distribucin de energa
elctrica, basado en principios tcnicos y econmicos, sin propsitos de lucro y con la finalidad
de obtener con un costo mnimo, el mayor rendimiento posible en beneficio de los intereses
generales. (Ley promulgada en la Ciudad de Mrida, Yucatn el 14 de agosto de 1937 y publicada
en el Diario Oficial de la Federacin el 24 de agosto de 1937).
La CFE comenz a construir plantas generadoras y ampliar las redes de transmisin y
distribucin, beneficiando a ms mexicanos al posibilitar el bombeo de agua de riego y la
molienda, as como mayor alumbrado pblico y electrificacin de comunidades.
Los primeros proyectos de generacin de energa elctrica de CFE se realizaron en Teloloapan
(Guerrero), Ptzcuaro (Michoacn), Suchiate y Xa (Oaxaca), y Ures y Altar (Sonora).
El primer gran proyecto hidroelctrico se inici en 1938 con la construccin de los canales,
caminos y carreteras de lo que despus se convirti en el Sistema Hidroelctrico Ixtapantongo,
en el Estado de Mxico, que posteriormente fue nombrado Sistema Hidroelctrico Miguel
Alemn.
En 1938 CFE tena apenas una capacidad de 64 kW, misma que, en ocho aos, aument hasta
alcanzar 45,594 kW. Entonces, las compaas privadas dejaron de invertir y CFE se vio obligada
a generar energa para que stas la distribuyeran en sus redes, mediante la reventa.
Hacia 1960 la CFE aportaba ya el 54% de los 2,308 MW de capacidad instalada, la empresa
Mexican Light el 25%, la American and Foreign el 12%, y el resto de las compaas 9%.

Pgina | 3

Instituto Tecnolgico de Acapulco

Informe tcnico

Sin embargo, a pesar de los esfuerzos de generacin y electrificacin, para esas fechas apenas
44% de la poblacin contaba con electricidad. Por eso el presidente Adolfo Lpez Mateos decidi
nacionalizar la industria elctrica, el 27 de septiembre de 1960.
A partir de entonces se comenz a integrar el Sistema Elctrico Nacional, extendiendo la
cobertura del suministro y acelerando la industrializacin. El Estado mexicano adquiri los
bienes e instalaciones de las compaas privadas, las cuales operaban con serias deficiencias por
la falta de inversin y los problemas laborales.
Para 1961 la capacidad total instalada en el pas ascenda a 3,250 MW. CFE venda 25% de la
energa que produca y su participacin en la propiedad de centrales generadoras de electricidad
pas de cero a 54%.
En esa dcada la inversin pblica se destin en ms de 50% a obras de infraestructura. Se
construyeron importantes centros generadores, entre ellos los de Infiernillo y Temascal, y se
instalaron otras plantas generadoras alcanzando, en 1971, una capacidad instalada de 7,874
MW.
Al finalizar esa dcada se super el reto de sostener el ritmo de crecimiento al instalarse, entre
1970 y 1980, centrales generadoras que dieron una capacidad instalada de 17,360 MW.
Cabe mencionar que en los inicios de la industria elctrica mexicana operaban varios sistemas
aislados, con caractersticas tcnicas diferentes, llegando a coexistir casi 30 voltajes de
distribucin, siete de alta tensin para lneas de transmisin y dos frecuencias elctricas de 50 y
60 Hertz.
Esta situacin dificultaba el suministro de electricidad, por lo que CFE defini y unific los
criterios tcnicos y econmicos del Sistema Elctrico Nacional, normalizando los voltajes de
operacin, con la finalidad de estandarizar los equipos, reducir sus costos y los tiempos de
fabricacin, almacenaje e inventariado. Posteriormente se unificaron las frecuencias a 60 Hertz
y CFE integr los sistemas de transmisin en el Sistema Interconectado Nacional.
En los aos 80 el crecimiento de la infraestructura elctrica fue menor que en la dcada anterior,
principalmente por la disminucin en la asignacin de recursos a la CFE. No obstante, en 1991
la capacidad instalada ascendi a 26,797 MW.
A inicios del ao 2000 se tena ya una capacidad instalada de generacin de 35,385 MW,
cobertura del servicio elctrico del 94.70% a nivel nacional, una red de transmisin y distribucin
de 614,653 kms, lo que equivale a ms de 15 vueltas completas a la Tierra y ms de 18.6 millones
de usuarios, incorporando casi un milln cada ao.
A partir octubre de 2009, CFE es la encargada de brindar el servicio elctrico en todo el pas.

Pgina | 4

Instituto Tecnolgico de Acapulco

Informe tcnico

El servicio al cliente es prioridad para la empresa, por lo que se utiliza la tecnologa para ser ms
eficiente, y se contina la expansin del servicio, aprovechando las mejores tecnologas para
brindar el servicio an en zonas remotas y comunidades dispersas.
CFE es reconocida como una de las mayores empresas elctricas del mundo, y an mantiene
integrados todos los procesos del servicio elctrico. [4]

Caracterizacin del rea en que particip


AGENCIA COMERCIAL CUAUHTMOC
Departamento encargado del proceso de facturacin de principio a fin, desde toma
de lecturas, verificaciones, ajustes, supervisin de anomalas, generacin de
acuse/recibo, adeudos de servicios y cartera vencida. [3]

Ubicacin
Divisin Centro Sur, Zona Acapulco, Agencia Cuauhtmoc.
Av. Cuauhtmoc No.93 Colonia Centro. 469 40 25.

Figura 1.1 Mapa satelital de Agencia comercial Cuauhtmoc.

Pgina | 5

Instituto Tecnolgico de Acapulco

Informe tcnico

CAPTULO I
EL TEMA
El tema del proyecto de desarrollo de software se titula: IMPLEMENTACION DE SOFTWARE
PARA EL CONTROL Y ORGANIZACIN DE CONVENIOS EN CFE el proyecto se desarrollara para
Comisin Federal de Electricidad por la necesidad que tiene esta empresa de llevar el control a
convenios con clientes que deben una cantidad mayor y se comprometen a realizar el pago a
plazos.

Justificacin
En la actualidad la alta demanda de atencin a usuarios que existe en las agencias de gobierno
provoca que el servicio que se da sea ms tardado y de menor calidad al no contar con el
personal suficiente para la demanda ni contar con las herramientas necesarias para compensar
la falta de personal y as agilizar los procesos para despachar a los usuarios, en respuesta a esta
problemtica en la actualidad se implementan sistemas de software que agilicen los procesos
de administracin en las empresas as con ello se compensa la falta de personal, se ahorra
tiempo y se reducen los pasivos de la empresa.
Con las herramientas de software adecuadas que manejan bases de datos benefician a la
empresa al no tener sus registros y archivos en formato fsico y verse en la problemtica de
buscar en demasiados expedientes los documentos que se quieren encontrar para sustraer los
datos que se necesitan y pueden ser trabajos diarios y por una alta demanda, esto cuesta tiempo
y dinero a una empresa pero con el uso de sistemas de software con bases de datos se eliminan
la mayora de estos problemas y mejora la productividad de la empresa y su calidad al tener una
mejor y ms eficiente administracin en la empresa.

Descripcin del problema


Actualmente Comisin Federal de Electricidad les da la oportunidad a sus clientes consumidores
de energa que adeudan una cantidad mayor de cubrir esta en un sistema de plazos a esto se le
conoce como convenio. Y estos convenios se realizan en un formato de Excel en el que es
difcil de llevar un control de los periodos establecidos para cada convenio y la bsqueda de los
mismos de cada cliente ya que no est establecido como un sistema especial para realizar dichos
convenios, tambin se tienen problemas en la elaboracin de notificaciones para usuarios de la
Comisin Federal de Electricidad ya que la demanda de elaboracin es alta y no se cuenta con el
tiempo ni personal suficiente para atender de manera efectiva la demanda de elaboracin.

Pgina | 6

Instituto Tecnolgico de Acapulco

Informe tcnico

Objetivo General
Es as como se ven en la necesidad de un software que les permita automatizar procesos
y una mayor administracin para los mismos de tal forma que se permita dar un servicio
de calidad y una mejora en el rendimiento de toda la agencia. Tambin se estn
desarrollando sub-proyectos estos para agilizar la alta demanda de trabajo como lo son
notificaciones para usuarios, estos sub-proyectos son desarrollo de Macros en Excel
para reducir el trabajo repetitivo que se realiza en Excel, cabe mencionar que dichas
macros se desarrollan en una versin especial del lenguaje de programacin Visual Basic.

Objetivo Especfico
Con la implementacin de un software que tenga control y administracin de sus convenios se
pretende un mejor control y organizacin de convenios, reducir el tiempo de bsqueda de un
registro ya que ahora se buscara en la base de datos y no en un archivo fsico y maximizar el
rendimiento de los trabajadores administrativos as mismo dando un servicio de calidad, sobre
la elaboracin de macros se pretende despachar todas las notificaciones de manera automtica
con la mnima iteracin por parte del usuario que haga uso de ella y con ello agilizar todo el
proceso de elaboracin de notificaciones.

Alcances y limitaciones
ALCANCES

Para la consecucin de los objetivos consignados en la propuesta del proyecto se ha decidido


seguir la metodologa propuesta en el Proceso Unificado de Desarrollo con el apoyo de UML,
haciendo nfasis en las actividades de anlisis, diseo e implementacin.

Teniendo en cuenta los requisitos presentados, se les dar prioridad para la implementacin
a casos de uso relacionados con la creacin de entidades en el sistema, por encima de
aquellos que involucren la eliminacin o modificacin de las mismas en ese orden.

Asimismo, se les dar prioridad a los casos de uso relacionados con los usuarios o
administradores del sistema.

Los despliegues de los componentes del prototipo se harn sobre mquinas de escritorio, de
forma que la capacidad de cmputo no ser de escala de servidores, y el diseo estar
orientado a ser adecuado para este tipo de mquinas.

Los datos utilizados para la creacin de convenios van a ser tomados de una base de datos
interna de la empresa y de formatos de control de archivos en 7Excel.

Pgina | 7

Instituto Tecnolgico de Acapulco

Informe tcnico

LIMITACIONES

En el desarrollo del proyecto no se tendrn actividades relacionadas con las pruebas del
producto, dada la brevedad de tiempo y la connotacin que se le da al producto de prototipo.

No se van a utilizar tecnologas multimedia como Flash para la presentacin del prototipo al
usuario final, sino interfaces grficas de usuario planas pero usables.

No se van a tener en cuenta para el diseo del prototipo, consideraciones de clustering de


los diferentes componentes a desplegar. Se van a considerar instancias nicas de los
componentes para agilizar el desarrollo.

Metodologa
Para llevar a cabo las actividades necesarias para la exitosa culminacin del proyecto de
software, se consider adoptar el Proceso Unificado de Desarrollo como metodologa de
trabajo, teniendo en cuenta el conocimiento que se tiene de los requerimientos, y dadas las tres
caractersticas esenciales que esta metodologa posee: es una metodologa dirigida por casos de
uso, centrada en la arquitectura, adems de iterativa e incremental; que son de gran
importancia en el desarrollo de un software como el que se quiere llegar a obtener al final. Sin
embargo, dada la brevedad de tiempo con que se cuenta para el desarrollo de la metodologa,
se va a reducir la cantidad de documentacin a emitir al final y en la fase de transicin se tendrn
en cuenta solo algunas actividades de los flujos de trabajo sugeridos, ya que por tratarse de un
ejercicio acadmico, no existe un cliente directo para hacer un flujo de pruebas completo y una
implementacin y entrega formales.
Esta metodologa tendr como soporte documentacin elaborada en el Lenguaje de Modelado
Unificado (UML), en las distintas fases e iteraciones que se logren desarrollar.

Especiacin de Requisitos
A continuacin se presentan los requisitos funcionales y no funcionales del sistema de
informacin a presentar, con el fin de que sirvan como base para las fases de la metodologa
que se seleccione posteriormente para llegar al prototipo final.
Requisitos funcionales
FRQ-01: Gestionar usuarios
Versin: 1.0
Autores: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Fuentes: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Descripcin: El prototipo de software debe estar en la capacidad de gestionar los
usuarios que pueden utilizarla, los cuales son: administradores, secretarias y clientes. La
Pgina | 8

Instituto Tecnolgico de Acapulco

Informe tcnico

gestin incluye agregar usuarios, gestionar sus permisos, y modificar la informacin de


estos.
Importancia: Alta
Comentarios: Ninguno

FRQ-02: Gestionar convenios


Versin: 1.0
Autores: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Fuentes: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Descripcin: El prototipo de software debe estar en la capacidad de permitir crear
convenios, borrarlos, y configurarlos, por parte de los usuarios segn los permisos que
se les hayan asignado.
Importancia: Alta
Comentarios: Ninguno
FRQ-03: Gestionar la creacin de convenios
Versin: 1.0
Autores: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Fuentes: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Descripcin: El software debe permitirles a los usuarios del mismo, solicitar la creacin
de un convenio en caso de que se le autorice proceder, de forma que sea creado por un
usuario autorizado para tal. Asimismo, los convenios creados ya en el programa deben
poder ser consultados por los usuarios autorizados. La aplicacin tambin debe
permitirles a los usuarios autorizados la eliminacin de convenios que ya hayan sido
liquidados por los clientes.
Importancia: Alta
Comentarios: Ninguno

FRQ-04: Autenticar usuarios


Versin: 1.0
Autores: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Fuentes: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Descripcin: El prototipo de software debe estar en la facultad de autenticar los usuarios
que ingresan a la aplicacin por medio de contraseas proporcionadas por el
administrador inicialmente o que hayan sido cambiadas a peticin por los mismos
usuarios.
Importancia: Alta
Comentarios: Ninguno

Pgina | 9

Instituto Tecnolgico de Acapulco

Informe tcnico

Requisitos No Funcionales
NFR-01: Usabilidad
Versin: 1.0
Autores: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Fuentes: Ninguna
Descripcin: El producto de software debe tener una interfaz de usuario sencilla e
intuitiva, orientada a las tecnologas bsicas de una interfaz de usuario, y manteniendo
coherencia lgica con el contexto del tema que involucra, en lo que a navegacin en el
sistema se refiere.
Importancia: Alta
Comentarios: Ninguno
NFR-02: Extensibilidad
Versin: 1.0
Autores: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Fuentes: Ninguna
Descripcin: El prototipo de software debe ser diseado de modo que permita la fcil
extensin a nuevas funcionalidades, en el menor tiempo de desarrollo posible, haciendo
reutilizacin de los componentes base implementados en el prototipo inicial.
Importancia: Alta
Comentarios: Ninguno
NFR-03: Optimizacin de Tiempos de Respuesta
Versin: 1.0
Autores: Eduardo Ramrez Gmez y Jos de Jess Pineda Berrun
Fuentes: Ninguna
Descripcin: Los tiempos de respuesta a las solicitudes realizadas por los usuarios deben
ser no mayores a dos (5) segundos.
Importancia: Media
Comentarios: Ninguno

Pgina | 10

Instituto Tecnolgico de Acapulco

Informe tcnico

Marco terico
La ingeniera de software
Resumen
En esta seccin se desea presentar los fundamentos en los que se basa el software educativo):
los mtodos, las herramientas y los procedimientos que provee la ingeniera de software a fin
de considerarlos para el desarrollo de los programas didcticos. Se describen y analizan los
paradigmas principales del ciclo de vida a la luz de la visin de Mario Piattini, desde la cascada
tradicional hasta los actuales orientados a objetos.
Se destaca la necesidad de una metodologa para el desarrollo de productos lgicos y se
describen las ms importantes (seccin 3.4). A fin de seleccionar el ciclo de vida adecuado para
cada desarrollo, se analizan las actividades de cada uno de los procesos de la misma. Por ltimo
se define calidad del software y la normativa vigente (seccin 3.6) para un proyecto de software
y se hace una revisin de las mtricas de calidad comnmente usadas. [14]
Fundamentos
Uno de los problemas ms importantes con los que se enfrentan los ingenieros en software y
los programadores en el momento de desarrollar un software de aplicacin, es la falta de marcos
tericos comunes que puedan ser usados por todas las personas que participan en el desarrollo
del proyecto informtico.
El problema se agrava cuando el desarrollo corresponde al mbito educativo debido a la
inexistencia de marcos tericos interdisciplinarios entre las reas de trabajo.
Si bien, algunos autores como Galvis (1996) reconocen la necesidad de un marco de referencia,
teniendo en cuenta que se debe lograr la satisfaccin de los requisitos en las diversas fases del
desarrollo, de lo que constituye un material didctico informatizado; esta necesidad sigue
vigente, aunque en la mayora de los casos analizados, se trata de software hipermedial
diseado a partir de herramientas de autor. [13]
Marqus (1995), es otro de los autores que plantean un ciclo de desarrollo para software
educativo de programas en diez etapas, con una descripcin detallada de las actividades y
recursos necesarios para cada una de ellas. El inconveniente principal de esta metodologa es
que centra el eje de la construccin de los programas educativos en el equipo pedaggico,
otorgndole el rol protagnico.
Es por este motivo, que en este captulo se sintetizan las metodologas, mtodos, herramientas
y procedimientos de la ingeniera de software, que deben ser utilizados para lograr un producto
de mejor calidad desde el punto de vista tcnico. Su conocimiento y aplicacin conjuntamente
con las teoras: educativa, epistemolgica y comunicacional permitirn el logro de un producto
ptimo desde el punto de vista educativo.
Cabe recordar una de las primeras definiciones de ingeniera de software propuesta por Fritz
Bauer en la primera conferencia importante dedicada al tema (Naur, 1969) como: El
establecimiento y uso de principios de ingeniera robustos, orientados a obtener software
econmico y que funcione de manera eficiente sobre mquinas reales.

Pgina | 11

Instituto Tecnolgico de Acapulco

Informe tcnico

Posteriormente se han propuesto muchas definiciones destacando la importancia de base


terica ingenieril para el desarrollo del software.
La ingeniera del software surge a partir de las ingenieras de sistemas y de hardware, y
considera tres elementos clave: que son los mtodos, las herramientas y los procedimientos que
facilitan el control del proceso de desarrollo de software y brinda a los desarrolladores las bases
de la calidad de una forma productiva.
La ingeniera de software est compuesta por una serie de modelos que abarcan los mtodos,
las herramientas y los procedimientos. Estos modelos se denominan frecuentemente
paradigmas de la ingeniera del software y la eleccin de un paradigma se realiza bsicamente
de acuerdo a la naturaleza del proyecto y de la aplicacin, los controles y las entregas a realizar.
Debido a las caractersticas particulares de los desarrollos educativos, ya que se deben tener en
cuenta los aspectos pedaggicos y de la comunicacin con el usuario, en cada caso en particular,
la respuesta a la problemtica debe basarse en una adaptacin de los actuales paradigmas de
desarrollo a las teoras de aprendizaje que permitan satisfacer una demanda en especial.
Para la construccin de un sistema de software, el proceso puede describirse sintticamente
como: la obtencin de los requisitos del software, el diseo del sistema de software (diseo
preliminar y diseo detallado), la implementacin, las pruebas, la instalacin, el mantenimiento
y la ampliacin o actualizacin del sistema.
El proceso de construccin est formado por etapas que son: la obtencin de los requisitos, el
diseo del sistema, la codificacin y las pruebas del sistema. Desde la perspectiva del producto,
se parte de una necesidad, se especifican los requisitos, se obtiene el diseo del mismo, el cdigo
respectivo y por ltimo el sistema de software. Algunos autores sostienen que el nombre ciclo
de vida ha sido relegado en los ltimos aos, utilizando en su lugar proceso de software,
cambiando la perspectiva de producto a proceso.
El software o producto, en su desarrollo pasa por una serie de etapas que se denominan ciclo
de vida, siendo necesario, definir en todas las etapas del ciclo de vida del producto, los procesos,
las actividades y las tareas a desarrollar.
Por lo tanto, se puede decir que: se denomina ciclo de vida a toda la vida del software,
comenzando con su concepcin y finalizando en el momento de la desinstalacin del mismo.
(Sigwart et al., 1990), aunque a veces, se habla de ciclo de desarrollo, para denominar al
subconjunto del ciclo de vida que empieza en el anlisis y finaliza la entrega del producto.
Un ciclo de vida establece el orden de las etapas del proceso de software y los criterios a tener
en cuenta para poder pasar de una etapa a la siguiente.
El tema del ciclo de vida ha sido tratado por algunas organizaciones profesionales y organismos
internacionales como la IEEE (Institute of ofElectrical and ElectronicsEngineers) y la ISO/IEC
(International StandardsOrganization/International ElectrochemicalCommission), que han
publicado normas tituladas Standard forDeveloping Software LifeCycleProcesses (Estndar
IEEE para el desarrollo de procesos del ciclo de vida del software) (IEEE, 1991) y Software lifecycleprocess (Proceso de ciclo de vida del software) (ISO, 1994).
Segn la norma 1074 IEEE se define al ciclo de vida del software como una aproximacin lgica
a la adquisicin, el suministro, el desarrollo, la explotacin y el mantenimiento del software y
la norma ISO 12207 define como modelo de ciclo de vida al marco de referencia, que contiene
Pgina | 12

Instituto Tecnolgico de Acapulco

Informe tcnico

los procesos, las actividades y las tareas involucradas en el desarrollo, la explotacin y el


mantenimiento de un producto de software, abarcando la vida del sistema desde la definicin
de requisitos hasta la finalizacin de su uso. Ambas consideran una actividad como un
subconjunto de tareas y una tarea como una accin que transforma las entradas en salidas.
(Piattini, 1996). [19]
Los procesos del ciclo de vida del software
Segn la norma ISO 12207-1, las actividades que se pueden realizar durante el ciclo de vida se
puede agrupar en cinco procesos principales, ocho de soporte y cuatro procesos generales de la
organizacin, as como un proceso que permite adaptar el ciclo de vida a cada caso concreto.
[14]

El ciclo de vida y los procesos


Todo proyecto tiene asociado, por ms pequeo que ste sea, pasos que se deben seguir tales
como: planificacin, estimacin de recursos, seguimiento y control, y evaluacin del proyecto.
La seleccin de un modelo de ciclo de vida est asociada a un orden en la realizacin de las
actividades a desarrollar.
La red de actividades, es la que permitir establecer a partir de la matriz de precedencia el
camino crtico, como la secuencia de tareas ms larga de principio al fin.
El diagrama de Gantt, o los diagramas calendario permitirn establecer el estado del proyecto
en un determinado momento a partir de su inicio, en cuanto a recursos se refiere.
El trmino ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta
la fase final. El propsito de este programa es definir las distintas fases intermedias que se
requieren para validar el desarrollo de la aplicacin, es decir, para garantizar que el software
cumpla los requisitos para la aplicacin y verificacin de los procedimientos de desarrollo: se
asegura de que los mtodos utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se
detectan tarde dentro de la fase de implementacin. El ciclo de vida permite que los errores se
detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad
del software, en los plazos de implementacin y en los costos asociados.

El ciclo de vida bsico de un software consta de los siguientes procedimientos:

Definicin de objetivos: definir el resultado del proyecto y su papel en la estrategia


global.
Anlisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del
cliente y examinar cualquier restriccin que se pueda aplicar.
Diseo general: requisitos generales de la arquitectura de la aplicacin.
Diseo en detalle: definicin precisa de cada subconjunto de la aplicacin.
Programacin (programacin e implementacin): es la implementacin de un lenguaje
de programacin para crear las funciones definidas durante la etapa de diseo.
Prueba de unidad: prueba individual de cada subconjunto de la aplicacin para
garantizar que se implementaron de acuerdo con las especificaciones.

Pgina | 13

Instituto Tecnolgico de Acapulco

Informe tcnico

Integracin: para garantizar que los diferentes mdulos se integren con la aplicacin.
ste es el propsito de la prueba de integracin que est cuidadosamente
documentada.
Prueba beta (o validacin), para garantizar que el software cumple con las
especificaciones originales.
Documentacin: sirve para documentar informacin necesaria para los usuarios del
software y para desarrollos futuros.
Implementacin
Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo)
y las actualizaciones secundarias del software (mantenimiento continuo).

El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicacin
dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de
desarrolladores. [14]

Modelos de ciclo de vida


Para facilitar una metodologa comn entre el cliente y la compaa de software, los modelos
de ciclo de vida se han actualizado para reflejar las etapas de desarrollo involucradas y la
documentacin requerida, de manera que cada etapa se valide antes de continuar con la
siguiente etapa.

Modelo en cascada
El modelo de ciclo de vida en cascada comenz a disearse en 1966 y se termin alrededor de
1970. Se define como una secuencia de fases en la que al final de cada una de ellas se rene la
documentacin para garantizar que cumple las especificaciones y los requisitos antes de pasar
a la fase siguiente:

Pgina | 14

Instituto Tecnolgico de Acapulco

Informe tcnico

Figura 1.2 Modelo en cascada

Modelo V
El modelo de ciclo de vida V proviene del principio que establece que los procedimientos
utilizados para probar si la aplicacin cumple las especificaciones ya deben haberse creado en
la fase de diseo. [14]

Figura 1.3 Modelo V

Pgina | 15

Instituto Tecnolgico de Acapulco

Informe tcnico

UML
El lenguaje unificado de diagrama o notacin (UML) sirve
para especificar, visualizar y documentar esquemas de
sistemas de software orientado a objetos. UML no es un
mtodo de desarrollo, lo que significa que no sirve para
determinar qu hacer en primer lugar o cmo disear el
sistema, sino que simplemente le ayuda a visualizar el diseo
y a hacerlo ms accesible para otros. UML est controlado por el grupo de administracin de
objetos (OMG) y es el estndar de descripcin de esquemas de software. [9]
UML est diseado para su uso con software orientado a objetos, y tiene un uso limitado en
otro tipo de cuestiones de programacin.
UML se compone de muchos elementos de esquematizacin que representan las diferentes
partes de un sistema de software. Los elementos UML se utilizan para crear diagramas, que
representa alguna parte o punto de vista del sistema. Umbrello UML Modeller soporta los
siguientes tipos de diagramas:

Diagrama de casos de uso que muestra a los actores (otros usuarios del sistema), los
casos de uso (las situaciones que se producen cuando utilizan el sistema) y sus
relaciones.
Diagrama de clases que muestra las clases y la relaciones entre ellas.
Diagrama de secuencia muestra los objetos y sus mltiples relaciones entre ellos.
Diagrama de colaboracin que muestra objetos y sus relaciones, destacando los objetos
que participan en el intercambio de mensajes.
Diagrama de estado muestra estados, cambios de estado y eventos en un objeto o en
parte del sistema.
Diagrama de actividad que muestra actividades, as como los cambios de una a otra
actividad junto con los eventos que ocurren en ciertas partes del sistema.
Diagrama de componentes que muestra los componentes de mayor nivel de la
programacin (cosas como Kparts o Java Beans).
Diagrama de implementacin que muestra las instancias de los componentes y sus
relaciones.
Diagrama de relaciones de entidad que muestra los datos y las relaciones y restricciones
entre ellos.

Diagrama de casos de uso: Los diagramas de casos de uso describen las relaciones y las
dependencias entre un grupo de casos de uso y los actores participantes en el proceso.
Es importante resaltar que los diagramas de casos de uso no estn pensados para representar
el diseo y no puede describir los elementos internos de un sistema. Los diagramas de casos de
uso sirven para facilitar la comunicacin con los futuros usuarios del sistema, y con el cliente, y
resultan especialmente tiles para determinar las caractersticas necesarias que tendr el
sistema. En otras palabras, los diagramas de casos de uso describen qu es lo que debe hacer el
sistema, pero no cmo.

Pgina | 16

Instituto Tecnolgico de Acapulco

Informe tcnico

Caso de uso
Un caso de uso describe, desde el punto de vista de los actores, un grupo de actividades de
un sistema que produce un resultado concreto y tangible.
Los casos de uso son descriptores de las interacciones tpicas entre los usuarios de un sistema y
ese mismo sistema. Representan el interfaz externo del sistema y especifican qu requisitos de
funcionamiento debe tener este (recuerde, nicamente el qu, nunca el cmo).
Cuando se trabaja con casos de uso, es importante tener presentes algunas secillas reglas:

Cada caso de uso est relacionado como mnimo con un actor


Cada caso de uso es un iniciador (es decir, un actor)
Cada caso de uso lleva a un resultado relevante (un resultado con valor intrnseco)

Los casos de uso pueden tener relaciones con otros casos de uso. Los tres tipos de relaciones
ms comunes entre casos de uso son:

<<include>> que especifica una situacin en la que un caso de uso tiene lugar dentro de
otro caso de uso
<<extends>> que especifica que en ciertas situaciones, o en algn punto (llamado punto
de extensin) un caso de uso ser extendido por otro.
Generalizacin que especifica que un caso de uso hereda las caractersticas del super
caso de uso, y puede volver a especificar algunas o todas ellas de una forma muy similar
a las herencias entre clases.

Actor
Un actor es una entidad externa (de fuera del sistema) que interacciona con el sistema
participando (y normalmente iniciando) en un caso de uso. Los actores pueden ser gente real
(por ejemplo, usuarios del sistema), otros ordenadores o eventos externos.
Los actores no representan a personas fsicas o a sistemas, sino su rol. Esto significa que cuando
una persona interacta con el sistema de diferentes maneras (asumiendo diferentes papeles),
estar representado por varios actores. Por ejemplo, una persona que proporciona servicios de
atencin telefnica a clientes y realiza pedidos para los clientes estara representada por un
actor equipo de soporte y por otro actor representante de ventas.
Descripcin de casos de uso
Las descripciones de casos de uso son reseas textuales del caso de uso. Normalmente tienen
el formato de una nota o un documento relacionado de alguna manera con el caso de uso, y
explica los procesos o actividades que tienen lugar en el caso de uso. [15]

Pgina | 17

Instituto Tecnolgico de Acapulco

Informe tcnico

Microsoft Visual Studio 2013

Microsoft Visual Studio es un entorno de desarrollo integrado


(IDE, por sus siglas en ingls) para sistemas operativos Windows.
Soporta mltiples lenguajes de programacin tales como C++,
C#, Visual Basic .NET, F#, Java, Python, Ruby, PHP; al igual que
entornos de desarrollo web como ASP.NET MVC, Django, etc., a lo cual sumarle las nuevas
capacidades online bajo Windows Azure en forma del editor Monaco.
Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, as como
servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versin .NET
2002). As se pueden crear aplicaciones que se comuniquen entre estaciones de trabajo, pginas
web, dispositivos mviles, dispositivos embebidos, consolas, etc. [2]

Qu es C#?

C# es el nuevo lenguaje de propsito general orientado a objetos creado


por Microsoft para su nueva plataforma .NET.
Microsoft.NET es el conjunto de nuevas tecnologas en las que Microsoft ha
estado trabajando estos ltimos aos con el objetivo de mejorar tanto su sistema operativo
como su modelo de componentes (COM) para obtener una plataforma con la que sea sencillo el
desarrollo de software en forma de servicios web.
Los servicios web son un novedoso tipo de componentes software que se caracterizan a la hora
de trabajar por su total independencia respecto a su ubicacin fsica real, la plataforma sobre la
que corre, el lenguaje de programacin con el que hayan sido desarrollados o el modelo de
componentes utilizado para ello.
El acceso a estos servicios se realiza en base a estndares de Internet, como son diferentes
mecanismos del protocolo HTTP (GET y PUT) o el novedoso protocolo RPC conocido como SOAP
(Simple Access Object Protocol), que no es ms que una combinacin de estndares como HTTP
y XML para realizar llamadas a los miembros de estos servicios web. La idea detrs de SOAP
consiste sencillamente en utilizar HTTP como medio de transporte para el envo de los mensajes
de solicitud de ejecucin de los miembros de servicios web remotos (lo que permite atravesar
barreras tales como firewalls) y utilizar XML como lenguaje con el que escribir los cuerpos de
estos mensajes.
Pero la plataforma .NET no son slo los servicios web, sino que tambin ofrece numerosos
servicios a las aplicaciones que para ella se escriban, como son un recoleccin de basura,
independencia de la plataforma, total integracin entre lenguajes (por ejemplo, es posible
escribir una clase en C# que derive de otra escrita en Visual Basic.NET que a su vez derive de
otra escrita en Cobol)
Como se deduce del prrafo anterior, es posible programar la plataforma .NET en prcticamente
cualquier lenguaje, pero Microsoft ha decidido sacar uno nuevo porque ha visto conveniente
poder disponer de un lenguaje diseado desde 0 con vistas a ser utilizado en .NET, un lenguaje
que no cuente con elementos heredados de versiones anteriores e innecesarios en esta
Pgina | 18

Instituto Tecnolgico de Acapulco

Informe tcnico

plataforma y que por tanto sea lo ms sencillo posible para programarla aprovechando toda su
potencia y versatilidad.
C# combina los mejores elementos de mltiples lenguajes de amplia difusin como C++, Java,
Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue tambin el creador de muchos
otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrs del
lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como
Visual Basic, y que adems la migracin a este lenguaje por los programadores de C/C++/Java
sea lo ms inmediata posible.
Adems de C#, Microsoft proporciona Visual Studio.NET, la nueva versin de su entorno de
desarrollo adaptada a la plataforma .NET y que ofrece una interfaz comn para trabajar de
manera cmoda y visual con cualquiera de los lenguajes de la plataforma .NET (por defecto, C++,
C#, Visual Basic.NET y JScript.NET, aunque pueden aadirse nuevos lenguajes mediante los
plugins que proporcionen sus fabricantes).
El propio autor de este artculo ha publicado un excelente libro de C# donde se puede ampliar
toda esta informacin y, por supuesto, aprender el lenguaje. Consta de unas 260 pginas y ha
sido escrito con la idea de que cualquiera con unos conocimientos mnimos de programacin
pueda seguirlo, aunque sera recomendable que el lector conociese C++, Java o lenguajes
similares. [16]

Tipos de datos
C# permite trabajar con dos tipos de datos: de valor y de referencia. Los de valor contienen
valores reales. Los de referencia contienen referencias a valores almacenados en algn lugar de
la memoria. Los tipos primitivos como char, int y float. Junto con los valores y estructuras
comentados. Son tipos de valor. Los tipos de referencia tienen variables que tratan con objetos
y variables. C# viene con tipos de referencia definidos (como object y string).
C# le permite convertir un valor de un tipo en un valor de otro tipo, puede trabajar con
conversiones implcitas y explicitas.

Funciones
Una funcin es un fragmento de cdigo que puede ser invocado y que puede o no devolver un
valor al cdigo que lo envi en un principio. Una funcin puede asociarse a fragmentos de
cdigo que devuelven informacin, mientras que un mtodo no suele devolver informacin.
Las funciones pueden tener 4 tipos de parmetros:

Parmetros de entrada: tienen valores que son enviados a la funcin, pero la funcin no
puede cambiar esos valores.
Parmetros de salida: no tienen un valor cuando son enviados a la funcin pero la
funcin puede darles un valor y enviar el valor de vuelta al invocador.
Parmetros de referencia: introducen una referencia en otro valor. Tiene un valor de
entrada en otra funcin y ese valor puede ser cambiado dentro de esa funcin.
Parmetros Params: Definen un numero variable de argumentos en una lista.

Pgina | 19

Instituto Tecnolgico de Acapulco

Informe tcnico

Variables
Las variables pueden ser definidas como constantes, las constantes tienen valores que no
pueden cambiar durante la ejecucin de cdigo, un ejemplo es el valor de pi que no cambia. Las
declaraciones de tipo enumeracin especifican un nombre de tipo para un grupo de constantes
relacionadas, ejemplo puede ser la enumeracin de los planetas.

Interfaces
C# admite interfaces que son grupo de propiedades, mtodos y eventos que especifican un
grupo de funcionalidad. Las clases C# pueden implementar interfaces, que informan a los
usuarios de que la clase admite el conjunto de funcionalidades documentado por la interfaz.
Pueden desarrollar implementaciones de interfaces sin interferir con algn cdigo existente.
Una vez que la interfaz ha sido publicada, no se puede modificar, pero puede evolucionar
mediante herencia.
Las clase de C# pueden implementar muchas interfaces, aunque las clases solo pueden derivarse
de una clase base.

Como construir una clase


Una clase es como un recipiente para todo el cdigo de la aplicacin. A diferencia de C y C++
todo el cdigo debe estar contenido en una clase con escasas excepcione. Estas excepciones a
la regla son la instruccin using, las declaraciones a la estructura y la declaracin namespace.
Cualquier intento de escribir cdigo que no est contenido en una clase marcara error de
compilacin.

El mtodo main()
Todas las aplicaciones escritas en c# deben contar con un mtodo llamado main(). Un mtodo
es un conjunto de instrucciones que realizan una accin este mtodo puede devolver
informacin a la seccin de cdigo que lo llamo pero en determinadas circunstancias no es
necesario que lo haga.

Palabras reservadas
Son palabras claves que posee el lenguaje c# y tienen un significado especial.
Ejemplo: class, static y void.

Como comentar el cdigo


Comentar el cdigo le permite aadir notas al cdigo fuente de C#, estas notas pueden ayudarle
a documentar el diseo y el funcionamiento de la aplicacin, pueden colocar comentarios en
cualquier parte del cdigo fuente de C# donde sea posible usar espacios en blanco. Los
comentarios de una lnea comienzan por dos diagonales //, y Los comentarios generales se
Pgina | 20

Instituto Tecnolgico de Acapulco

Informe tcnico

utilizan diagonal asterisco para abrir comentario y asterisco diagonal para cerrar el comentario
/**/.

Tipos de datos comunes (variables)


sbyte: Las variables con tipo sbyte pueden contener nmeros enteros de 8 bits con signo. La s
de sbyte significa con signo, lo que quiere decir que el valor de la variable puede ser positivo o
negativo. El menor valor posible para una variable sbyte es de -128 y el mayor es de 127.
Byte: Las variables con tipo byte pueden contener nmeros enteros de 8 bits sin signo. A
diferencia de las variables sbyte, las variables byte no tienen signo y solo pueden contener
nmeros positivos. El valor ms pequeo para una variable byte es 0 y el ms alto es 255.
Short: Las variables con tipo short pueden contener tipos enteros de 16 bits con signo el menor
valor pasible para una variable short es -32.768, el valor ms alto es 32.767.
Ushort: Las variables con tipo ushort pueden contener nmeros enteros con 16 bits sin signo. La
u de ushort significa sin signo, el menor valor posible para una variable ushort es 0, y el ms
alto es 65.353.
Int: Las variables tipo int pueden contener nmeros enteros de 32 bits con signo. El menor valor
posible para una variable int es -2,147,483,648; el ms alto es 2,147,483,647.
Uint: Las variables uint pueden contener nmeros enteros de 32 bits sin signo. Su menor valor
posible para una variable uint es 0 y el mayor es 4,294,967,295.
Long: Las variables tipo long pueden contener nmeros enteros de 32 bits con signo. El menor
valor posible para una variable long es 9,223,372,036,854,775,808; el valor ms alto es
9,223,372,036,854,775,807.
Ulong: Las variables ulong pueden contener nmeros enteros de 64 bits sin signo, el menor valor
posible para una variable ulong es 0, el mayor es 18,446,744,073,709,551,615.
Char: Las variables con tipo char pueden contener caracteres Unicode de 16 bits, el menor valor
pasible para una variable char es el caracter Unicode y su valor es 0; el valor ms alto posible es
el carcter Unicode y su valor es 65,535.
Float: Las variables de tipo float pueden contener un valor de coma flotante de 32 bits con signo,
el menor valor posible para una variable float es 1.5 por 10 elevado a la 45; el valor ms alto
aproximadamente es 3.4 por 10 elevado a la 38.
Doubl: las variables tipo doubl pueden contener un valor coma flotante de 64 bits con signo,
el menor valor pasible para una variable tipo doubl es 5 por 10 elevado a la 324; el valor ms
alto aproximadamente es 1.7 por 10 elevado a la 308.
Decimal: las variables tipo decimal pueden tener un coma flotante de 128 bit con signo, son para
clculos financieros; el menor valor posible para una variable decimal es 1 por 10 elevado a la
28, el valor ms alto es de 7.9 por 10 elevado a la 28.
Bool: Una variable bool puede contener uno de los dos posibles valores: true o false (verdadero
o falso) y/o (1 0).

Pgina | 21

Instituto Tecnolgico de Acapulco

Informe tcnico

Convertir tipos de variables


Se trata cuando tienes una variable de un tipo, y paro su manejo la conviertes a otro tipo y hay
dos tipos de conversiones las implcitas y las explicitas.
Las implcitas son automticas y se manejan de la siguiente manera:
Int variabletipoint=129;
Float variabletipofloat;
Variabletipofloat = variabletipoint;

Las explicitas se requiere indicarle al compilador en que variable la estamos convirtiendo:


Char caractervariable;
Int enterovariable=9;
Caractervariable=(char)enterovariable;
[16]
Microsoft Office

Microsoft Office es un paquete de programas informticos


para oficina desarrollado por Microsoft Corp. (Una
empresa estadounidense fundada en 1975). Se trata de un
conjunto de aplicaciones que realizan tareas ofimticas, es
decir, que permiten automatizar y perfeccionar las
actividades habituales de una oficina.
Word es uno de los programas ms populares que forman parte de Microsoft Office. Consiste
en un procesador de textos que incluye un corrector ortogrfico, diccionario de sinnimos y la
posibilidad de trabajar con diversas fuentes (tipografas).
Excel, por su parte, est compuesto por planillas u hojas de clculo. Su principal atractivo es la
posibilidad de realizar operaciones aritmticas de manera automtica, lo que facilita el
desarrollo de balances y estados contables.
PowerPoint es el programa de Office que se utiliza para crear y mostrar presentaciones visuales.
Su base est en el desarrollo de diapositivas multimediales que pueden incluir imgenes, texto,
sonido y videos.
Caber resaltar que Microsoft Office es un programa con licencia. Por lo tanto, quienes deseen
aprovechar sus prestaciones, deben comprarlo y respetar las condiciones del contrato, como la
prohibicin de realizar copias con fines de lucro. Algunos de sus principales competidores son
OpenOffice (de cdigo libre), StarOffice, Lotus Symphony y WordPerfect Office. [6]

Pgina | 22

Instituto Tecnolgico de Acapulco

Informe tcnico

Qu es una Macro?

Las macros Excel es un conjunto de instrucciones programadas en la hoja de clculo electrnica


Excel, las cuales automatizan las operaciones que realiza la aplicacin ofimtica Excel con el
objetivo de eliminar tareas repetitivas o realizar clculos complejos en un corto espacio de
tiempo y con una nula probabilidad de error.
Vba es el lenguaje de programacin que se utiliza para la creacin de las macros Excel, vba son
las siglas de Visual Basic for Applications y es un lenguaje desarrollado por Microsoft e
implementado dentro de los programas informticos de la suite Office, donde se encuentra
Excel.
Pero para que Excel haga estos trabajos por usted es necesario que le digamos como, en este
momento es cuando interviene VBA, podemos decir que VBA es el interlocutor por el cual nos
comunicamos con Excel, Vba es el lenguaje de programacin de las Macros Excel.
Existen 2 maneras de realizar Macros en Excel:

Mediante el uso de la grabadora de Macros.


Mediante el uso del lenguaje VBA para programar a Excel

La primera de las opciones es la ms fcil, dado a que solo requiere apretar al botn grabador
de macros y realizar el conjunto de operaciones que queramos que se repitan, una vez finalizado
guardamos la macro grabada con el nombre que queramos. Cada vez que queramos ejecutar
esta macro tendremos que apretar el botn ejecutar macro y seleccionarla.
Esta primera opcin es la ms fcil de usar pero es la que presenta ms limitaciones, dado a que
solo ejecutar una vez la tarea grabada as como no utilizar toda la potencia del lenguaje VBA.
La segunda opcin requiere del conocimiento y prctica del lenguaje de programacin VBA, pero
es sin duda la opcin ms potente en cuestin de desarrollo de aplicaciones, cualquier cosa que
se nos ocurra puede realizarse mediante el uso de VBA, desde una aplicacin compleja hasta la
automatizacin de tareas repetitivas de nuestra hoja de clculo Excel. [17]

Visual Basic for Applications

Microsoft Visual Basic para Aplicaciones


(VBA) es una herramienta de desarrollo
para automatizar las tareas cotidianas y
crear aplicaciones y servicios de bases
de datos en el escritorio ya que provee un lenguaje de macros comn para aplicaciones de
Microsoft y de otros fabricantes. VBA permite a usuarios y programadores ampliar la
funcionalidad de programas como Word, Excel, Autocad y Microsoft Access. Permite acceder a
las funcionalidades de un lenguaje orientado a eventos que puede acceder a la API de Windows.
VBA de Excel
VBA de Excel est adaptado a Excel, para trabajar con celdas, hojas, autofiltro, etc. (es decir, los
objetos de la aplicacin Excel).
Pgina | 23

Instituto Tecnolgico de Acapulco

Informe tcnico

VBA permite a usuarios y programadores ampliar la funcionalidad de programas como Word,


Excel y Access. Prcticamente cualquier cosa que se pueda programar en VB se puede hacer
tambin dentro de un documento de Office, con la sola limitacin que el producto final no se
puede compilar separadamente del documento, hoja o base de datos en que fue creado. Es decir
que se convierte en una macro que se puede instalar o distribuir con solo copiar el documento,
presentacin o base de datos. [6]

Qu es un archivo DLL?

Un archivo DLL es una biblioteca que contiene el cdigo y los datos que se pueden utilizar por
ms de un programa al mismo tiempo. Por ejemplo, en sistemas operativos Windows, el archivo
Comdlg32 DLL realiza comn funciones relacionadas con el cuadro de dilogo. Por lo tanto, cada
programa puede usar la funcionalidad contenida en este archivo DLL para implementar un
cuadro de dilogo Abrir. Esto ayuda a promover la reutilizacin de cdigo y el uso eficaz de la
memoria.
Mediante el uso de un archivo DLL, un programa puede ser modular en componentes separados.
Por ejemplo, un programa de contabilidad puede venderse por mdulo. Cada mdulo puede
cargarse en el programa principal en tiempo de ejecucin, si est instalado el mdulo. Dado que
los mdulos son independientes, el tiempo de carga del programa es ms rpido y un mdulo
slo se carga cuando se solicita esa funcionalidad.
Adems, las actualizaciones son ms fciles de aplicar a cada mdulo sin afectar a otras partes
del programa.
La lista siguiente describe algunos de los archivos que se implementan como archivos DLL en los
sistemas operativos Windows:

Archivos de controles ActiveX (.ocx)


Un ejemplo de un control ActiveX es un control de calendario que le permite seleccionar
una fecha en un calendario.
Archivos (.cpl) del Panel de control
Un ejemplo de un archivo .cpl es un elemento que se encuentra en el Panel de Control.
Archivos (.drv) del controlador de dispositivo
Un ejemplo de un controlador de dispositivo es un controlador de impresora que
controla la impresin en una impresora.

Ventajas DLL
La lista siguiente describe algunas de las ventajas que se proporcionan cuando un programa
utiliza un archivo DLL:

Utiliza menos recursos


Cuando varios programas utilizan la misma biblioteca de funciones, un archivo DLL
puede reducir la duplicacin de cdigo que se carga en el disco y en la memoria fsica.
Promueve la arquitectura modular
Un archivo DLL ayuda a promover el desarrollo de programas modulares.
Instalacin e implementacin de las aceleraciones

Pgina | 24

Instituto Tecnolgico de Acapulco

Informe tcnico

Cuando una funcin dentro de un archivo DLL necesita una actualizacin o una revisin,
la distribucin y la instalacin de la DLL no requieren el programa volver a vincular con
el archivo DLL.

Dependencias de DLL
Cuando un programa o un archivo DLL utiliza una funcin DLL en otro archivo DLL, se crea una
dependencia.
Una DLL dependiente se actualiza a una nueva versin.
Se fija una DLL dependiente.
Una DLL dependiente se sobrescribe con una versin anterior.
Una DLL dependiente se quita del equipo.
Estas acciones se conocen generalmente como conflictos de DLL.
La lista siguiente describe los cambios que se han introducido en Microsoft Windows 2000 y en
sistemas operativos de Windows posteriores para ayudar a minimizar los problemas de
dependencia:
Proteccin de archivos de Windows
En la proteccin de archivos de Windows, el sistema operativo impide que las DLL se actualiza o
elimina un agente no autorizado del sistema.
Archivos DLL privados
Dejar archivos DLL privados aislar un programa de los cambios que se realizan en los archivos
DLL de Private archivos DLL compartidos utilizan informacin especfica de la versin o un
archivo .local vaca para exigir la versin de la DLL que es utilizada por el programa. [12]

SQL SERVER

Microsoft SQL Server es un sistema para la gestin de bases de datos


producido por Microsoft basado en el modelo relacional. Sus
lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server
constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos
como son Oracle, PostgreSQL o MySQL.
Caractersticas de Microsoft SQL Server
Soporte de transacciones.
Soporta procedimientos almacenados.
Incluye tambin un entorno grfico de administracin, que permite el uso de comandos DDL y
DML grficamente.
Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan en el servidor
y los terminales o clientes de la red slo acceden a la informacin.

Pgina | 25

Instituto Tecnolgico de Acapulco

Informe tcnico

Adems permite administrar informacin de otros servidores de datos.


Este sistema incluye una versin reducida, llamada MSDE con el mismo motor de base de datos
pero orientado a proyectos ms pequeos, que en sus versiones 2005 y 2008 pasa a ser el SQL
Express Edition, que se distribuye en forma gratuita.
Es comn desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft
Access a travs de los llamados ADP (Access Data Project). De esta forma se completa la base de
datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a travs de la
implementacin de aplicaciones de dos capas mediante el uso de formularios Windows. [18]

Desarrollo prctico
Elaboracin de Macros
La elaboracin de esta macro se centra en el problema de tener que elaborar demasiadas
notificaciones dependiendo del tipo de anomala que se presente en cada caso en
especfico.
Aqu se muestra la tabla de anomalas necesaria para la elaboracin de las notificaciones.
Tipos de Anomalas
UI01
UI02
UI03
UI04
UI05
UI06
UI07
UI08
UI09
UI10
UI11
UI12
UI13
UI14
UI15
UI16
UI17
UI18
UI19
EF01
EF02
EF03
EF04
EF05

Sellos violados
Sello falsificado
Servicio directo sin contrato
Carga conectada antes de la medicin
Manecillas intervenidas
Disco atorado
Ajuste de medidores movidos
Retorno de corriente abierto
Intervencin de las conexiones del equipo
Aldabas de potencial abiertas
Medidor intervenido
Terminales de base enchufes puenteadas
Sin contrato con medicin instalada
Pasa energa a otro domicilio
Alteracin a la programacin del medidor
Retira su medidor y coloca otro que no factura
Registro del medidor alterado o cambiado
Otros usos ilcitos
Total de usos ilcitos
Directo con estimacin errnea
Tarifa incorrecta
Servicio con lecturas estimadas
Servicio con medicin y no se factura
Servicio de concurrencia de tarifas
Pgina | 26

Instituto Tecnolgico de Acapulco


EF06
EF07
EF08
EF09
EF10
FM01
FM02
FM03
FM04
FM05
FM06
FM07
FM08
FM09
FM10
FM11
FM12
FM13
FM14
FM15
FM16
FM17
FM18
FM19

Informe tcnico

Lectura mal tomada


Carga mayor a la contratada
Multiplicador de lectura errneo
Clave de tipo de suministro mal errnea
Total de errores de facturacin
Servicio directo
Multiplicador de lecturas errneas
Medidor mal conectado
Bobina de potencial abierta
Medidor quemado
Transformador de instrumento daado
Transformador de instrumento mal conectado
Circuito de corriente de T.C. a tierra
Registro sin engranar
Numero de medidor diferente al de facturacin
Clave de tipo de suministro mal errnea
Medicin inadecuada al circuito
Medidor destruido
Alambrado secundario daado
Secundario de T.C. en corto circuito
Medidor mal programado
Registro atorado
Disco atorado
Total de fallas de medicin
Figura 1.4 Tabla de anomalas.

Tipo de tarifa
Comercial
Domstica

2
1B

Figura 1.5 Tabla de tipo de tarifa.

Las notificaciones se hacen en base a un archivo de Excel que suministra un sistema interno
de la Comisin Federal de Electricidad con las siguientes caractersticas.
# Notif
Fecha Elab.
Tarifa
Anomala
Programa
tipo
Fecha Cl/Recal
Fecha Inicio
Fecha Final
Pgina | 27

Instituto Tecnolgico de Acapulco

Informe tcnico
KHW Total
Imp. Energa
Imp. Total
Fecha Venta
Operacin
Fecha Operacin
Nombre
Direccin
rpu
Ciudad
Cuenta
Cve. Agen
Agencia
Zona.
Zona

Figura 1.6 Caractersticas del suministro de datos de notificaciones.

De las cuales solo se utilizarn algunas de estas caractersticas para la creacin de cada
notificacin, as pues empezamos por crear la plantilla de trabajo de un archivo Excel que
extraer del archivo Excel suministrado por el sistema de la CFE todas y cada una de las
peticiones de notificaciones que se harn as como los datos de las caractersticas necesarias
para su elaboracin, A continuacin se muestra el diseo de la Hoja final.

Figura 1.7 Interfaz izquierda del area de trabajo.

Figura 1.8 Intefaz derecha del area de trabajo

Como se puede ver hacemos uso de controles de formularios con los cuales creamos los
botones de Limpiar el cual se encarga de limpiar el area de trabajo una vez se hayan
terminado de procesar todas las notificaciones, Direccionales estos dos botones los
Pgina | 28

Instituto Tecnolgico de Acapulco

Informe tcnico

usamos para el desplazamiento y la seleccin de cada peticin de notificacin as podemos


navegar entre todas las notificaciones pendientes y por ultimo Generar Word el cual se
encarga de procesar todos los datos de la peticin seleccionada a una plantilla de Word la
cual llevara acomodado los datos sustraidos por la macro y solo debera imprimirse y
continuar con la siguiente peticin.
Esta interfaz tan solo es un control para la administracin de los datos una vez extrados de
manera automtica desde el archivo fuente de peticion de notificaciones y tambien se
encarga de analizar los datos extrados y clasifica de que tipo de tarifa y anomala es la
peticin.

Figura 1.9 Hoja de datos hacia platilla de Word

Como podemos observar en la segunda Hoja del archivo que contiene nuestra Macro vemos
como sustrae los datos seleccionados por el usuario al hacer uso de los botones de
direccionales, como podemos apreciar cuenta el nmero de variables que se trasladarn a
la platilla de Word, el nombre de la platilla de Word en el que se trasladarn los datos y la
ruta donde se encuentra la plantilla.
Tambin se program en la macro una formula la cual convierte nmeros a letras
respectivamente hablando en pesos y una serie de frmulas en las celdas para calcular la
suma de todos los valores en la deuda as como la fecha en la que se genera esta notificacin.

Pgina | 29

Instituto Tecnolgico de Acapulco

Informe tcnico

Figura 1.10 Hoja 1 Plantilla de Word

Figura 1.11 Hoja 2 Plantilla de Word

Como podemos apreciar la plantilla de Word es relativamente sencilla solo se ponen


etiquetas donde queramos que la Macro de Excel acomode los datos.

Pgina | 30

Instituto Tecnolgico de Acapulco

Informe tcnico

Implementacin de software para el control y organizacin de convenios en CFE


El proyecto se est desarrollando en el lenguaje de programacin C#, del cual ya habamos
trabajado con dicho lenguaje en clase en nuestro instituto, en el cual desarrollamos software
bsicos en este lenguaje. Hacemos mencin de principales conocimientos acerca del
lenguaje:

Diseo de formularios.
Manejo de variables locales y globales.
Manejo de objetos.
Programacin en capas.
Enlazar con base de datos.
Consultas a base de datos.
Implementacin de loggin.
Otros.

Procedimientos y descripcin de las actividades realizadas

Deteccin del problema.


Recoleccin de datos.
Anlisis de datos.
Eleccin del entorno de desarrollo.
Anlisis de datos para el desarrollo de la base de datos.
Creacin de entornos grficos.
Desarrollo de sistema loggin.
Desarrollo de programacin mediante DLL.
Manejo de DataGridView.
Consultas a la base de datos desde entorno grfico.

Caso de uso

Es un conjunto de escenarios que representan una meta en comn. Es una descripcin de un


proceso fin-a-fin, incluye varias etapas o transacciones. Es una manera especfica de cmo usar
el sistema.
Cuentan con escenarios y un escenario es una secuencia de acciones e interacciones (pasos)
entre los usuarios (actores) y el sistema.
Los actores representan un rol jugado, por una persona o cosa que acta con el sistema.
Usuario administrador del sistema.
Desarrollador del sistema.

Pgina | 31

Instituto Tecnolgico de Acapulco

Informe tcnico

Usuario con autentificacin.


Usuario cliente del sistema sin autentificacin.
Los casos de usos son indispensable para los proyectos de los desarrolladores de sistemas, ah
consideran todos los usos, definen los lmites del sistema y su entorno.
Un caso de uso no es un diagrama, ni un smbolo del diagrama; Es una forma de describir un
escenario de interaccin usuario sistema.
DESCRIPCION CONTEXTUAL DEL CASO DE USO
Nombre:

Creacion de convenios de pago para usuarios con adeuo en CFE

Autores:

Eduardo Ramirez Gomez y Jose de Jesus Pineda Brrun

Fecha:

05 de enero del 2015

Descripcion:

Creacion de convenios de pago para usuarios con adeuo en CFE, se


pretente llevar un mejor control de los convenios, para saber si los
aduedos continuan vigentes o los usuarios ya cobrieron la deuda del
convenio.

Actores:

* Usuario con autentificacion, administrador del sistema. *usuario con


autentificacion, * desarrollador del sistema y * usuario sin
autentificaion cliente.

No se puede generar convenio de pago a un servicio que ya cuente con


caonvenio de pago.
Que los usuarios generen un convenio de pago y se vuelva clientes
Flujo normal:
regulares.
Llevar un control de los convenios, en caso de que el usuario no pague,
Flujo alternativo:
general una orden de desconexion.
Precondiciones:

Poscondiciones:

Los convenios se realizan en adeudos mayores a $10,000.00

Pgina | 32

Instituto Tecnolgico de Acapulco

Informe tcnico

CASOS DE USOS INDIVUDUALES POR ACTORES.

Pgina | 33

Instituto Tecnolgico de Acapulco

Informe tcnico

Pgina | 34

Instituto Tecnolgico de Acapulco

Informe tcnico

Plataforma del caso de uso del sistema completo.


Aqu se pueden observar los distintos escenarios. Representamos los actores, los casos de uso,
las asociaciones, los lmites del sistema y las colaboraciones para los casos de uso.

Forms y cdigo del programa.

Form inicial loggin

/*Este es el formulario principal, es el primer formulario que se ejecuta cuando abrimos el


programa, se dise un sistema de loggin, el cual no te permite manipular la venta, y solo cuenta
con dos opciones, entrar y cancelar, la opcin cancelar termina el programa lo deja de compilar,
y la opcin de entrar est diseada con un sistema de base de datos en tres capas donde solo

Pgina | 35

Instituto Tecnolgico de Acapulco

Informe tcnico

usuarios con una cuenta pueden acceder al sistema, es un sistema de tres capas donde la cadena
de conexin a la base de datos pertenece a una librera DLL.
Se implement un diseo con un fondo de imagen perteneciente la empresa.

*/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CrearAutentificar; //Librera DLL para crear consultas, insertar, modificar y
eliminar registros de la base de datos.
using System.Data.SqlClient; //Librera para el manejo de base de datos.
using dllLogin; //Librera que contiene la cadena de conexin, a la base de datos.
namespace tesis
{
public partial class loggin : Form
{
public static int akc = 1;
public loggin()
{
InitializeComponent();
}

private void label4_Click_1(object sender, EventArgs e)


{
this.Close();//lnea de cdigo que finaliza el programa, para la ejecucin;
}
private void btEntrar_Click_1(object sender, EventArgs e)
{
if (txtUsuario.Text == "administrador")

Pgina | 36

Instituto Tecnolgico de Acapulco

Informe tcnico

{//este if compara los usuarios que se estn loggiando para darle distintos
privilegios.
if(CrearYAutentificar.Autentificar(txtUsuario.Text,
txtContrasea.Text) > 0)//crear y autentificar es un llamado a una librera DLL, a la
cual le estamos enviando dos tipos de datos, el contenido del txrUsuario y el
txtContrasea, los cuales son consultados en la base de datos y comparan, y asi permiten
ono que el usuario se loggee.
{
this.Hide(); //cierra la ventana actual y el programa sigue
ejecutndose.
clasevariableglobal kiko = new clasevariableglobal();
kiko.jose = txtUsuario.Text;
//creamos un nuevo objeto de la variable clasevariableglobal, donde a
esta variable le asignamos el contenido de txtUsuario, esto va a permitir que al momento
de crear un convenio el nombre del agente que crea el convenio sea automatico.
menu f = new menu();
f.label1.Text = kiko.jose;
f.ShowDialog(); //creamos un objeto para abrir el formulario men.
}
Else
{
MessageBox.Show("Error en los datos");
// en caso de que el usuario no introduzca de forma correcta su
usuario y contrasea, ono exista es cuando lanzamos este mensaje.
}
}
else
{
if
(CrearYAutentificar.Autentificar(txtUsuario.Text,
txtContrasea.Text) > 0) )//crear y autentificar es un llamado a una librera DLL, a
la cual le estamos enviando dos tipos de datos, el contenido del txrUsuario y el
txtContrasea, los cuales son consultados en la base de datos y comparan, y asi permiten
ono que el usuario se loggee.
{
this.Hide();//cierra

la

ventana

actual

el

programa

sigue

ejecutndose.
menu f = new menu();
f.label1.Text = txtUsuario.Text;
f.ShowDialog();
//creamos un objeto para abrir el formulario men.
}
else
{
MessageBox.Show("Error en los datos");
// en caso de que el usuario no introduzca de forma correcta su
usuario y contrasea, ono exista es cuando lanzamos este mensaje.
}
}
}
private void loggin_Load(object sender, EventArgs e)
{
}
private void txtUsuario_TextChanged(object sender, EventArgs e)
{
}
private void txtContrasea_TextChanged(object sender, EventArgs e)
{

Pgina | 37

Instituto Tecnolgico de Acapulco

Informe tcnico

}
private void label1_Click(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
}
}

DLL loggin
/*DLL que contiene la cadena de conexin a la base de datos, es muy independiente al cdigo del programa y esta la
mandamos a traer cada vez que deseamos generar una consulta a la base de datos. Cabe mencionar que un archivo
DLL puede estar programado en otro lenguaje muy independiente al lenguaje de la aplicacin.
*/
using System;
using System.Collections.Generic;
using System;
using System.Text;
using System.Threading;
using System.Data.SqlClient; //Librera para el manejo de base de datos.
namespace dllLogin
{
public class BDComundll
{
public static SqlConnection ObtnerCOnexion()
{
SqlConnection Conm = new SqlConnection(@"Data Source=JESUS\SQLEXPRESS;Initial
Catalog=dbcfe;Integrated Security=True"); //Cadena de conexin al servidor de base de datos.
Conm.Open(); //Abrimos la cadena de conexin.
return Conm; //Cuando manden a traer esta DLL va a generar un tipo de dato devuelto, este es de tipo
SqlConnection y es la cadena de conexin.
}
}
}

Dll de consultas y servicios

/*En esta librera generaremos las consultas a la base de datos, esto se hizo as para contar con
una aplicacin programada en tres capas. Podramos depurar el cdigo y tratar de que sean
menos lneas de cdigo, pero pretendimos abarcar mucho este lenguaje para demostrar el
manejo de l.
*/
using System;
using System.Collections.Generic;
using System.Text;

Pgina | 38

Instituto Tecnolgico de Acapulco

Informe tcnico

using System.Threading;
using System.Data.SqlClient; //Librera para el manejo de base de datos.
using dllLogin; //Mandamos a traer la librera DLL loggin que contiene la cadena de conexin.
namespace CrearAutentificar
{
public class CrearYAutentificar
{
public static int CrearCuentas(string pNombre, string pUsuario, string pContrasea)
{
/*Servicio de DLL que va recibir tres datos, estos datos los va a trabajar y permitir insertar un registro a la
tabla usuarios, es un mtodo declarado como tipo entero, as que devolver un valor entero tipo int.
*/
int resultado = -1; //Declaracion de variable tipo entero con valor a menos 1.
SqlConnection Conm = BDComundll.ObtnerCOnexion() //Llamado a la cadena de conexin.
SqlCommand Comando = new SqlCommand(string.Format("Insert Into Usuarios (nombre, usuario,
contrasea) values ('{0}','{1}','{2}')", pNombre, pUsuario, pContrasea), Conm);
//Comando que permite ingrasar un registro a la tabla Usuarios, los registros que insertara son los
//contenidos en las variables pNombre, PUsuario y pContrasea.
resultado = Comando.ExecuteNonQuery(); //Ejecuta la consulta en la base de datos.
Conm.Close(); //Cierra la cadena de conexcion.
return resultado; //retorna la variable tipo entero llamada resultado.
}
public static string agente(string agecomercial)
{
//Este mtodo lo usamos para saber que agente esta actualmente en sesin en el programa, para que al
//momento de crear convenios podamos saber y guardar un registro de quien creo el convenio.
string resultado=""; // Declaracion de una cadena vacia.
SqlConnection Conm = BDComundll.ObtnerCOnexion();//Llamado a la cadena de conexin.
string cadenaconsulta = string.Format("select * from Usuarios where usuario='{0}'",agecomercial);
SqlCommand cadena = new SqlCommand(cadenaconsulta, Conm);
SqlDataReader lee = cadena.ExecuteReader();
//consulta que permite seleccionar el agentecomenrcial de la tabla usuario.
if (lee.Read() == true)
resultado = lee["nombre"].ToString();
Conm.Close(); //cierra la cadena de conexin.
return resultado; //Retorna un dato tipo entero resultado.
}
public static int actualiza(string pNombre, string pUsuario, string pContrasea, string txtid)
{
//Este mtodo permite la modificacin de un registro, recibe 4 tipos de datos y selecciona un registro del
//cual permite que se altualize su contenido en la base de datos.
int resultado = -1;
SqlConnection Conm = BDComundll.ObtnerCOnexion();//Llamado a la cadena de conexin.
SqlCommand Comando = new SqlCommand(string.Format("update Usuarios set nombre='{0}', usuario='{1}',
contrasea='{2}' where id='{3}'", pNombre, pUsuario, pContrasea, txtid), Conm);
// lneas con la actualizacin de los datos e inserta en la tabla Usuarios.
resultado = Comando.ExecuteNonQuery();
Conm.Close();//cierra la cadena de conexin.

return resultado; //Retorna un dato tipo entero resultado.


}
public static int Autentificar(String pUsuarios, String pContrasea)
{
//Metodo que trabaja con el primer loggin y le pregunta a la base de datos que si el usuario que est intentado
acceder al sistema est registrado en la base de datos.
int resultado = -1;

Pgina | 39

Instituto Tecnolgico de Acapulco

Informe tcnico

SqlConnection conexion = BDComundll.ObtnerCOnexion(); //Llamado a la cadena de conexin.


SqlCommand comando = new SqlCommand(string.Format(@"Select * From Usuarios Where usuario = '{0}'
and Contrasea='{1}'", pUsuarios, pContrasea), conexion);
//seleciona el registro que sea igual a las variables recibidas, y entra al while y si el while lee por lo menos //una
vez quiere decir que el usuario si esta registrado y le premite el acceso al sistemas.
SqlDataReader reader = comando.ExecuteReader();
while (reader.Read())
{
resultado = 1;
}
conexion.Close();//cierra la cadena de conexin.
return resultado; //Retorna un dato tipo entero resultado.
}
public static int creaconvenio(string prpu, string pnombrecliente, string pdireccion, string pagente, string
ptipoadeudo, string pimporte, string pperiodospago, string pplazosautorizados, string ppagoinicial, string
ptasainteres, string pnombresolidario, string pidentificacion, string pididentificacion, string pnumconvenio, string
pfecha)
{
/*Mtodo creado para permitir la creacin de convenios aqu comenzamos a trabajar con la tabla convenio de pago,
este mtodo recibe 15 tipos de datos lo cuales se van a trabajar e insertar creando un registro en la base de datos. Es
un mtodo tipo entero, el valor devuelto por el mtodo ser de tipo entero.
*/
int resultado = -1; //Declaracin de la variable tipo entero con valor de menos 1.
SqlConnection Conm = BDComundll.ObtnerCOnexion(); //Mandamos a traer la cadena de conexin al servidor
//de base de datos.
SqlCommand Comando = new SqlCommand(string.Format("Insert Into conveniodepago (rpu, nombrecliente,
direccion, agente, tipoadeudo, importe, periodospago, plazosautorizados, pagoinicial, tasainteres, nombresolidario,
identificacion, ididentificacion, numconvenio, fecha) values
('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}')", prpu, pnombrecliente, pdireccion,
pagente, ptipoadeudo, pimporte, pperiodospago, pplazosautorizados, ppagoinicial, ptasainteres, pnombresolidario,
pidentificacion, pididentificacion, pnumconvenio, pfecha), Conm);
// Lneas que indican el nombre de las columnas, el nmero de parmetro y la variable que va a ser insertado en la
//base de datos creando as un registro.
resultado = Comando.ExecuteNonQuery();
Conm.Close(); //Cierra la cadena de conexcion.
return resultado; //Retorna un dato tipo entero resultado.

}
public static int desloceletras(string prpu, float pimporteletra, DateTime pfechavencimiento, string pestado,
float pimportedeuda, string pfiniquito)
{
/* Este mtodo tipo entero que contiene un procedimiento para poder crear un desloce de letras, es decir registrar
en una tabla cierto numero de registros que nos van a permitir simular una venta a crdito, tambin llamada venta a
plazos. Este es un proceso un poco mas automatizado ya que el usuario indica el importe de la deuda y los plazos
autorizados para el convenio y el sistema hace automatico el calculo, y genera los registros en la base de datos.
*/
int resul = -1; //declaracin de variable tipo entero con valor de menos 1.
SqlConnection Conmm = BDComundll.ObtnerCOnexion();//Llamado a la cadena de conexin.
SqlCommand consulta = new SqlCommand(string.Format("Insert Into credito (rpu, importeletra,
fechavencimiento, estado, importedeuda, finiquito) values ('{0}','{1}','{2}','{3}','{4}','{5}')", prpu, pimporteletra,
pfechavencimiento, pestado, pimportedeuda, pfiniquito), Conmm);
resul = consulta.ExecuteNonQuery();
Conmm.Close();//cierra la cadena de conexin.
return resul; //Retorna un dato tipo entero resultado.
}
}
}

Pgina | 40

Instituto Tecnolgico de Acapulco

Informe tcnico

Formulario menu, es el segundo form, es el form al que te envia despues de loggin.

/* Cabe mencionar que este form cambia, tiene 2 niveles, nivel administrador y nivel usuario.
Es el men principal que te da acceso a todos los servicios con los que cuenta el programa.
*/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient; //Librera que te permite el acceso a base de datos.
using dllLogin; //DLL que contiene la cadena de conexin.
using CrearAutentificar; //DLL que contiene las consultas a la base de datos, almacena los procedimientos como
crear, insertar, modificar y eliminar.
namespace tesis
{
public partial class menu : Form
{
public menu()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
control_usuarios xcx = new control_usuarios();
xcx.Show(); //creamos un objeto que nos permite abrir el form control_usuarios.
this.Hide(); //al abrir el form usuario cierra la ventana men.
}
private void button4_Click(object sender, EventArgs e)

Pgina | 41

Instituto Tecnolgico de Acapulco

Informe tcnico

{
Application.Restart(); //Funcion que nos permite cerrar sesin y volver al formulario para acceder mediante
loggin.
}

private void menu_Load(object sender, EventArgs e)


{
}
}
}

Form control de usuarios

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CrearAutentificar; //DLL que almacena las consultas.
using dllLogin; //DLL que contiene la cadena de conexin.
using System.Data.SqlClient; //Permite el manejo de base de datos.
/*Este formulario nos permite visualizar los usuarios actualmente disponibles en la base de datos, cuenta con un
datagriew que nos muestra los usuarios. De aqu tenemos las opciones de actualizar la tabla, agregar usuario,
modificar usuario y eliminar usuario. Tambin cuanta con un botn para cerrar sesin y otro para regresar el men.
*/
namespace tesis
{
public partial class control_usuarios : Form
{

Pgina | 42

Instituto Tecnolgico de Acapulco

Informe tcnico

public control_usuarios()
{
InitializeComponent();
}
public DataTable listaUsuario()
{
//Este mtodo permite que cuando inicie este form automticamente se llene con los registro de la tabla
//usuarios. Esta parte del cdigo se pudo incluir en una dll, lo que se busca es demostrar el distinto manejo de los
//datos, distintos mtodos de programacin.
SqlConnection conexion = BDComundll.ObtnerCOnexion();
string sql = @"Select * From Usuarios";
SqlDataAdapter da = new SqlDataAdapter(sql, conexion);
DataTable dt = new DataTable();
conexion.Close(); //cierra la cadena de conexin.
da.Fill(dt);
return dt;
}
private void button1_Click(object sender, EventArgs e)
{
registrar vvv = new registrar();
vvv.Show(); //Abre el formulario registrar.
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
eliminar_usuario iii = new eliminar_usuario();
iii.Show(); //Abre el formulario eliminar.
}
private void button3_Click(object sender, EventArgs e)
{
modificar_usuario ddd = new modificar_usuario();
ddd.Show(); //Abre el formulario modificar.
}
private void button5_Click(object sender, EventArgs e)
{
this.Hide();
menu kkk = new menu();
kkk.Show(); //Boton para regresar el men principal.
}
private void button6_Click(object sender, EventArgs e)
{
Application.Restart(); //Cierra sesin.
}
private void button4_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = listaUsuario(); //permite actualizar los datos del datagriview.
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void control_usuarios_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = listaUsuario(); //inicializa este formulario con eldatagriview y llena este con el
procedimiento almacenado en el mtodo listaUsuario().
}

Pgina | 43

Instituto Tecnolgico de Acapulco

Informe tcnico

private void imprimirToolStripButton_Click(object sender, EventArgs e)


{
opcionesReporte jjj = new opcionesReporte();
jjj.Show(); //nos direcciona a un formulario que genera informes. Reportes.
}
}
}

Generador de reportes

Form registrar usuario

Pgina | 44

Instituto Tecnolgico de Acapulco

Informe tcnico

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CrearAutentificar;

namespace tesis
{
public partial class registrar : Form
{
public registrar()
{
InitializeComponent();
}
private void registrar_Load(object sender, EventArgs e)
{
}
private void btnRegistrar_Click(object sender, EventArgs e)
{
//este mtodo nos permite crear un registro en la tabla usuarios y esta condicionado, tiene un filtro de seguridad
//para asegurarse que el usuario confirme que la contrasea eligida es la correcta o que la memoriza correctamente.
if (txtContrasea.Text == txtConfirmar.Text)
{
if (CrearYAutentificar.CrearCuentas(txtNombre.Text, txtUsuario.Text, txtContrasea.Text) > 0)
{
//Hace un llamado a la DLL crear y autentificar y si el procedimiento se ejecuta correctamente, nos lanza un
mensaje y cierra este formulario y habre el formulario control de usuarios.
MessageBox.Show("Cuenta Creada con exito");
control_usuarios vvv = new control_usuarios();
vvv.Show();
this.Hide();
}
else
{
MessageBox.Show("No se pudo realizar el registro, reinicie el servidor");
//mensaje programado en caso de no poder realizar el registro en el procedimiento anterior.
}
}
else
{
MessageBox.Show("Las contraseas no coinciden");
//Filtro para que el registro de las contraseas sea el correcto.
}
}
private void btnCancelar_Click(object sender, EventArgs e)
{
this.Close(); //Cierra el formulario actual.
}
}
}

Pgina | 45

Instituto Tecnolgico de Acapulco

Informe tcnico

Form eliminar usuario

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using dllEliminarUsuario;
namespace tesis
{
public partial class eliminar_usuario : Form
{
public eliminar_usuario()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
/*Metodo creado para eliminar un registro de la tabla Usuarios. Muestra un textBox donde ingrasamos el id del
registro a liminar. Mandamosa traer el mtodo eliminaUsuario y si la consulta se ejecuta correctamente, se cierra la
ventana y nos manda de regreso al formulario principal.
*/
if (elimina.eliminaUsuario(textBox2.Text) < 0)
{
this.Hide();
MessageBox.Show("Usuario eliminado correctamente");
}
}
private void button4_Click(object sender, EventArgs e)
{

Pgina | 46

Instituto Tecnolgico de Acapulco

Informe tcnico

this.Hide();
}
}
}

Form modificar/actualizar usuario

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using dllLogin;
using CrearAutentificar;
namespace tesis
{
public partial class modificar_usuario : Form
{
public modificar_usuario()
{
InitializeComponent();
}
private void modificar_usuario_Load(object sender, EventArgs e)
{
textBox2.Visible = false;
txtNombre.Visible = false;
txtUsuario.Visible = false;
txtContrasea.Visible = false;
txtConfirmar.Visible = false;

Pgina | 47

Instituto Tecnolgico de Acapulco

Informe tcnico

label2.Visible = false;
label3.Visible = false;
label4.Visible = false;
label5.Visible = false;
label6.Visible = false;
button4.Visible = false;
button3.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection Conm = BDComundll.ObtnerCOnexion();
string cadenaconsulta = "select * from Usuarios where id='" + textBox1.Text + "'";
SqlCommand cadena = new SqlCommand(cadenaconsulta, Conm);
SqlDataReader lee = cadena.ExecuteReader();
if (lee.Read() == true)
{
textBox2.Visible = true;
txtNombre.Visible = true;
txtUsuario.Visible = true;
txtContrasea.Visible = true;
txtConfirmar.Visible = true;
textBox1.Visible = false;
button1.Visible = false;
button2.Visible = false;
label1.Visible = false;
label2.Visible = true;
label3.Visible = true;
label4.Visible = true;
label5.Visible = true;
label6.Visible = true;
button4.Visible = true;
button3.Visible = true;
textBox2.Enabled = false;
//MessageBox.Show("el registro se a encontrado");
textBox2.Text = lee["id"].ToString();
txtNombre.Text = lee["nombre"].ToString();
txtUsuario.Text = lee["usuario"].ToString();
txtContrasea.Text = lee["contrasea"].ToString();
txtConfirmar.Text = lee["contrasea"].ToString();
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
}
private void button4_Click(object sender, EventArgs e)
{
if (txtContrasea.Text == txtConfirmar.Text)
{
if (CrearYAutentificar.actualiza(txtNombre.Text, txtUsuario.Text, txtContrasea.Text, textBox2.Text) > 0)
{
MessageBox.Show("Cuenta modificada con exito");
this.Hide();
}
else
{
MessageBox.Show("No se pudo realizar modificacion, reinicie el servidor");
}

Pgina | 48

Instituto Tecnolgico de Acapulco

Informe tcnico

}
else
{
MessageBox.Show("Las contraseas no coinciden");
}
}
private void button3_Click(object sender, EventArgs e)
{
this.Hide();
}
}
}

Form creacin de convenio

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CrearAutentificar;
using System.Data.SqlClient;
using dllLogin;
using System.Globalization;
namespace tesis
{
public partial class creacion_convenio : Form
{
public creacion_convenio()
{

Pgina | 49

Instituto Tecnolgico de Acapulco

Informe tcnico

InitializeComponent();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if(txtrpu.Text=="" || txttitular.Text=="" || txtdireccion.Text=="" || txtagente.Text=="")
{
MessageBox.Show("Todos los campos son obligatorios");
}
else
{
txtrpu.Enabled = false;
txttitular.Enabled = false;
txtdireccion.Enabled = false;
txtagente.Enabled = false;
txtsino.Enabled = false;
btnavanzar1.Visible = false;
txttipoadeudo.Enabled = true;
txtimporte.Enabled = true;
txtperiodos.Enabled = true;
txtplazos.Enabled = true;
txtpagoinicial.Enabled = true;
btnavanzar2.Visible = true;
btnavanzar3.Visible = false;
btnregresar1.Visible = true;
if (txtsino.Text == "SI")
{
txtsolidario.Text = txttitular.Text;
}
}
}
private void creacion_convenio_Load(object sender, EventArgs e)
{
lblcorrecto.Visible = false;
btnsi.Visible = false;
btnno.Visible = false;
txtagente.Enabled = false;
txttipoadeudo.Enabled = false;
txtimporte.Enabled = false;
txtperiodos.Enabled = false;
txtplazos.Enabled = false;
txtpagoinicial.Enabled = false;
btnavanzar2.Visible = false;
txtsolidario.Enabled = false;
txtidentificacion.Enabled = false;
txtididentificacion.Enabled = false;
txtconvenio.Enabled = false;
txtfecha.Enabled = false;
txtfecha.Text = DateTime.Now.ToString("dd/MM/yyyy");
btnavanzar3.Visible = false;
btnregresar1.Visible = false;
btnregresar2.Visible = false;
//btnletras.Visible = false;
}
private void label9_Click(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{

Pgina | 50

Instituto Tecnolgico de Acapulco

Informe tcnico

if (txtsolidario.Text == "" || txtidentificacion.Text == "" || txtididentificacion.Text == "" || txtconvenio.Text ==


"" || txtfecha.Text == "")
{
MessageBox.Show("Todos los campos son obligatorios");
}
else
{
txtsolidario.Enabled = false;
txtidentificacion.Enabled = false;
txtididentificacion.Enabled = false;
txtconvenio.Enabled = false;
lblcorrecto.Visible = true;
btnsi.Visible = true;
btnno.Visible = true;
btnavanzar3.Visible = false;
btnregresar2.Visible = false;
}
}
private void btnavanzar2_Click(object sender, EventArgs e)
{
if (txttipoadeudo.Text == "" || txtimporte.Text == "" || txtperiodos.Text == "" || txtplazos.Text == "" ||
txtpagoinicial.Text == "")
{
MessageBox.Show("todos los campos son requeridos");
}
else
{
txttipoadeudo.Enabled = false;
txtimporte.Enabled = false;
txtperiodos.Enabled = false;
txtplazos.Enabled = false;
txtpagoinicial.Enabled = false;
btnavanzar2.Visible = false;
txtsolidario.Enabled = true;
txtidentificacion.Enabled = true;
txtididentificacion.Enabled = true;
txtconvenio.Enabled = true;
btnavanzar3.Visible = true;
btnregresar1.Visible = false;
btnregresar2.Visible = true;
}
}
private void button1_Click_1(object sender, EventArgs e)
{
txtrpu.Enabled = true;
txttitular.Enabled = true;
txtdireccion.Enabled = true;
txtagente.Enabled = true;
txtsino.Enabled = true;
btnavanzar1.Visible = true;
txttipoadeudo.Enabled = false;
txtimporte.Enabled = false;
txtperiodos.Enabled = false;
txtplazos.Enabled = false;
txtpagoinicial.Enabled = false;
btnavanzar2.Visible = false;
btnregresar1.Visible = false;
}
private void btnregresar2_Click(object sender, EventArgs e)
{
txttipoadeudo.Enabled = true;
txtimporte.Enabled = true;

Pgina | 51

Instituto Tecnolgico de Acapulco

Informe tcnico

txtperiodos.Enabled = true;
txtplazos.Enabled = true;
txtpagoinicial.Enabled = true;
btnavanzar2.Visible = true;
txtsolidario.Enabled = false;
txtidentificacion.Enabled = false;
txtididentificacion.Enabled = false;
txtconvenio.Enabled = false;
btnavanzar3.Visible = false;
btnregresar1.Visible = true;
btnregresar2.Visible = false;
}
private void btnno_Click(object sender, EventArgs e)
{
txtsolidario.Enabled = true;
txtidentificacion.Enabled = true;
txtididentificacion.Enabled = true;
txtconvenio.Enabled = true;
btnavanzar3.Visible = true;
btnregresar2.Visible = true;
lblcorrecto.Visible = false;
btnsi.Visible = false;
btnno.Visible = false;
}
private void btnsi_Click(object sender, EventArgs e)
{
if (CrearYAutentificar.creaconvenio(txtrpu.Text, txttitular.Text, txtdireccion.Text, txtagente.Text,
txttipoadeudo.Text, txtimporte.Text, txtperiodos.Text, txtplazos.Text, txtpagoinicial.Text, txtinteres.Text,
txtsolidario.Text, txtidentificacion.Text, txtididentificacion.Text, txtconvenio.Text, txtfecha.Text) > 0)
{
MessageBox.Show("Convenio formalizado");
}
else
{
MessageBox.Show("Error, convenio no creado correctamente");
}
}
private void txttipoadeudo_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click_2(object sender, EventArgs e)
{
float importe = 0, fecha1 = 0, pagoinicial = 0, interes = 0, deudaactual = 0, letra = 0, plazosconstante = 0,
letraconstante, jose;
string estado = "vigente", finiquito = "vigente";
importe = Convert.ToSingle(txtimporte.Text);
pagoinicial = Convert.ToSingle(txtpagoinicial.Text);
plazosconstante = Convert.ToSingle(txtplazos.Text);
DateTime fecha = new DateTime();
fecha = Convert.ToDateTime(txtfecha.Text, new CultureInfo("es-ES"));
deudaactual = importe - pagoinicial;
jose = deudaactual / plazosconstante;
letraconstante = jose;
fecha1 = 30;
if (txttipoadeudo.Text == "11.Facturacion normal" || txttipoadeudo.Text == "13.Falla en medicion" ||
txttipoadeudo.Text == "14.Falla en facturacion")
{
interes = 1;
letra = (deudaactual * interes) / plazosconstante;

Pgina | 52

Instituto Tecnolgico de Acapulco

Informe tcnico

//fecha = fecha.AddDays(fecha1);
//string fechabasedatos = fecha.ToString("ddMMyyyy");
deudaactual = deudaactual - letra;
if((CrearYAutentificar.desloceletras(txtrpu.Text, letra, fecha, estado, deudaactual, finiquito))>0)
{
MessageBox.Show("registrada letra en if");
}
}
else
{
interes = ((Convert.ToSingle(txtinteres.Text)) / 100);
letra = (deudaactual * interes) / plazosconstante;
fecha = fecha.AddDays(fecha1);
string fechabasedatos = fecha.ToString("ddMMyyyy");
deudaactual = deudaactual - letra;
if((CrearYAutentificar.desloceletras(txtrpu.Text, letra, fecha, estado, deudaactual, finiquito))>0)
{
MessageBox.Show("registrada letra en else");
}
}
}
}
}

SQL Server 2012

Cdigo de la base de datos


CREATE DATABASE logginConvenios
Create table [loggin]
(
[ID] Int NOT NULL,
[nombre] Char(40) NOT NULL,
[usuario] Char(10) NOT NULL, UNIQUE ([usuario]),
[pass] Char(10) NOT NULL, UNIQUE ([pass]),

Pgina | 53

Instituto Tecnolgico de Acapulco

Informe tcnico

Primary Key ([ID])


)
Create table [conveniodepago]
(
[rpu] char(12) NOT NULL, UNIQUE ([rpu]),
[nombrecliente] Char(40) NOT NULL,
[direccion] Char(40) NOT NULL,
[agente] Char(40) NOT NULL,
[tipoadeudo] char(40) NOT NULL,
[importe] char(6) NOT NULL,
[periodospago] char(10) NOT NULL,
[plazosautorizados] char(2) NOT NULL,
[pagoinicial] char(6) NOT NULL,
[tasainteres] char(10) NOT NULL,
[nombresolidario] char(40) NOT NULL,
[identificacion] char(40) NOT NULL,
[ididentificacion] char(40) NOT NULL,
[numconvenio] char(40) NOT NULL,
[fecha] char(15) NOT NULL,
Primary Key ([rpu])
)
Create table [credito]
(
[rpu] char NOT NULL,
[importeletra] float NOT NULL,
[fechavencimiento] Char NOT NULL,
[estado] Char NOT NULL,
[importedeuda] float NOT NULL,
[finiquito] char NOT NULL,
Primary Key ([rpu])
)

Pgina | 54

Instituto Tecnolgico de Acapulco

Informe tcnico

Tablas de la base de datos

Pgina | 55

Instituto Tecnolgico de Acapulco

Informe tcnico

Resultados, planos, graficas, prototipos, maquetas, programas,


entre otros.
Macro de Notificaciones
Sustractor de datos de Hoja1 de Excel a Hoja 2
Sub toWord()
'Ubicacin y nombre de la plantilla
'La ubicacin est dada por la concatenacin de los datos de dos celdas + la extensin del archivo de plantillas de
Word.
wArch = Hoja2.Range("C3").Text & Hoja2.Range("C2").Text & ".dotx"
'Con la variable siguiente definimos que vamos a trabajar con un documento de Word.
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'Creamos un documento nuevo con la plantilla
objWord.documents.Add Template:=wArch, NewTemplate:=False, DocumentType:=0
'Utilizamos For para recorrer todas las variables de 1 al dato de la celda C1.
For i = 1 To Hoja2.Range("c1").Value 'celda dnde est la cuenta
datos = Hoja2.Range("B" & i).Text 'dnde estn los datos
reemp = Hoja2.Range("A" & i).Text 'dnde estn las etiquetas

Pgina | 56

Instituto Tecnolgico de Acapulco

Informe tcnico

'utilizamos buscar y reemplazar de word


With objWord.Selection.Find
.Text = datos 'busca el texto de datos
.Replacement.Text = reemp 'reemplaza por el texto
.Execute Replace:=2 'la variable en dos es para reemplazar todos los valores
End With
Next i
objWord.Activate 'Activa el documento de word
End Sub

Botn Limpiar
Sub limpiar1()
'
' limpiar1 Macro
'
'
Range("B4:M4000").Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Pgina | 57

Instituto Tecnolgico de Acapulco

Informe tcnico

With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0

Pgina | 58

Instituto Tecnolgico de Acapulco

Informe tcnico

.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

End Sub

Formula de Numero a letra


Function CONVERTIRNUM(Numero As Double, Optional CentimosEnLetra As Boolean) As String

Dim Moneda As String


Dim Monedas As String
Dim Centimo As String
Dim Centimos As String
Dim Preposicion As String
Dim NumCentimos As Double

Pgina | 59

Instituto Tecnolgico de Acapulco

Informe tcnico

Dim Letra As String


Const Maximo = 1999999999.99

'************************************************************
' Parmetros
'************************************************************
Moneda = "Peso"

'Nombre de Moneda (Singular)

Monedas = "Pesos"

'Nombre de Moneda (Plural)

Centimo = "Centavo"

'Nombre de Cntimos (Singular)

Centimos = "Centavos" 'Nombre de Cntimos (Plural)


Preposicion = "Con"

'Preposicin entre Moneda y Cntimos

'************************************************************

'Validar que el Numero est dentro de los lmites


If (Numero >= 0) And (Numero <= Maximo) Then

Letra = NUMERORECURSIVO((Fix(Numero)))

'Convertir el Numero en letras

'Si Numero = 1 agregar leyenda Moneda (Singular)


If (Numero = 1) Then
Letra = Letra & " " & Moneda
'De lo contrario agregar leyenda Monedas (Plural)
Else
Letra = Letra & " " & Monedas
End If

NumCentimos = Round((Numero - Fix(Numero)) * 100) 'Obtener los centimos del Numero

'Si NumCentimos es mayor a cero inicar la conversin


If NumCentimos >= 0 Then
'Si el parmetro CentimosEnLetra es VERDADERO obtener letras para los cntimos
If CentimosEnLetra Then
Letra = Letra & " " & Preposicion & " " & NUMERORECURSIVO(Fix(NumCentimos)) 'Convertir los cntimos en
letra

Pgina | 60

Instituto Tecnolgico de Acapulco

Informe tcnico

'Si NumCentimos = 1 agregar leyenda Centimos (Singular)


If (NumCentimos = 1) Then
Letra = Letra & " " & Centimo
'De lo contrario agregar leyenda Centimos (Plural)
Else
Letra = Letra & " " & Centimos
End If
'De lo contrario mostrar los cntimos como nmero
Else
If NumCentimos < 10 Then
Letra = Letra & " 0" & NumCentimos & "/100"
Else
Letra = Letra & " " & NumCentimos & "/100"
End If
End If
End If

'Regresar el resultado final de la conversin


CONVERTIRNUM = Letra

Else
'Si el Numero no est dentro de los lmites, entivar un mensaje de error
CONVERTIRNUM = "ERROR: El nmero excede los lmites."
End If

End Function

Function NUMERORECURSIVO(Numero As Long) As String

Dim Unidades, Decenas, Centenas


Dim Resultado As String

'**************************************************
' Nombre de los nmeros

Pgina | 61

Instituto Tecnolgico de Acapulco

Informe tcnico

'**************************************************
Unidades = Array("", "Un", "Dos", "Tres", "Cuatro", "Cinco", "Seis", "Siete", "Ocho", "Nueve", "Diez", "Once",
"Doce", "Trece", "Catorce", "Quince", "Diecisis", "Diecisiete", "Dieciocho", "Diecinueve", "Veinte", "Veintiuno",
"Veintidos", "Veintitres", "Veinticuatro", "Veinticinco", "Veintiseis", "Veintisiete", "Veintiocho", "Veintinueve")
Decenas = Array("", "Diez", "Veinte", "Treinta", "Cuarenta", "Cincuenta", "Sesenta", "Setenta", "Ochenta",
"Noventa", "Cien")
Centenas = Array("", "Ciento", "Doscientos", "Trescientos", "Cuatrocientos", "Quinientos", "Seiscientos",
"Setecientos", "Ochocientos", "Novecientos")
'**************************************************

Select Case Numero


Case 0
Resultado = "Cero"
Case 1 To 29
Resultado = Unidades(Numero)
Case 30 To 100
Resultado = Decenas(Numero \ 10) + IIf(Numero Mod 10 <> 0, " y " + NUMERORECURSIVO(Numero Mod 10),
"")
Case 101 To 999
Resultado = Centenas(Numero \ 100) + IIf(Numero Mod 100 <> 0, " " + NUMERORECURSIVO(Numero Mod 100),
"")
Case 1000 To 1999
Resultado = "Mil" + IIf(Numero Mod 1000 <> 0, " " + NUMERORECURSIVO(Numero Mod 1000), "")
Case 2000 To 999999
Resultado = NUMERORECURSIVO(Numero \ 1000) + " Mil" + IIf(Numero Mod 1000 <> 0, " " +
NUMERORECURSIVO(Numero Mod 1000), "")
Case 1000000 To 1999999
Resultado = "Un Milln" + IIf(Numero Mod 1000000 <> 0, " " + NUMERORECURSIVO(Numero Mod 1000000),
"")
Case 2000000 To 1999999999
Resultado = NUMERORECURSIVO(Numero \ 1000000) + " Millones" + IIf(Numero Mod 1000000 <> 0, " " +
NUMERORECURSIVO(Numero Mod 1000000), "")
End Select

NUMERORECURSIVO = Resultado

End Function

Pgina | 62

Instituto Tecnolgico de Acapulco

Informe tcnico

Sustractor de Peticiones de Notificacin.


Sub COPIA_EFFM()
'
' COPIA_EFFM Macro
'
' Acceso directo: CTRL+q
'
Windows("SERVICIOS PARA REALIZAR NOTIFICACION.xlsx").Activate
ActiveSheet.Range("$A$2:$X$295").AutoFilter Field:=4, Criteria1:=Array( _
"EF03", "EF01", "EF02", "EF07", "EF08", "EF09", "EF10", "EF04", "EF05", "EF06", "FM01", "FM02", "FM03",
"FM04", "FM05", "FM06", "FM07", "FM08", "FM09", "FM10", "FM11", "FM12", "FM13", "FM14", "FM15", "FM16",
"FM17", "FM18", "FM19"), Operator:=xlFilterValues
Columns("A:A").Select
Selection.EntireColumn.Hidden = True
Columns("E:G").Select
Selection.EntireColumn.Hidden = True
Columns("M:O").Select
Selection.EntireColumn.Hidden = True
Columns("S:S").Select
Selection.EntireColumn.Hidden = True
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
Columns("U:X").Select
Selection.EntireColumn.Hidden = True
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
Range("B3:T4000").Select
Selection.Copy
Windows("Macro EF y FM.xlsm").Activate
Range("B4").Select
ActiveSheet.Paste
End Sub

Pgina | 63

Instituto Tecnolgico de Acapulco

Informe tcnico

Instrucciones de uso para MACRO.


Instrucciones para el uso de Macro de Notificaciones:

A) Condiciones:

1.
2.
3.
4.
5.

El archivo Excel de donde provienen las notificaciones siempre debe tener por nombre "SERVICIOS PARA
REALIZAR NOTIFICACION" sin comillas.
La carpeta "generar reportes notificaciones" que contiene los archivos Excel con Macros y plantillas de
Word debe permanecer en la ruta "C:\".
Nunca "guardar cambios" en los archivos Excel de Macros para no alterar el programa.
La Macro tiene como lmite 4000 lneas.
No trabaja con Notificaciones UI03.

B) Pasos para el comienzo

1.
2.
3.
4.
5.
6.

Abrir el Excel de donde se extraern las solicitudes de notificaciones.


(Opcional) Si nos aparece en la parte superior el mensaje "Advertencia de seguridad Las macros se han
deshabilitado" Dar clic en "Opciones... y seleccionar "Habilitar contenido".
Abrir la Macro que necesitemos usar y asegurarnos de que este seleccionada la Hoja 1 de la Macro.
Presionar Ctrl+q (en minscula) para pasar el contenido a la Macro.
Conforme se cambia de usuario se deben actualizar los datos de las celdas "Indemnizacin" y "DAP" para
cada cliente.
Clic en el boton "Generar Word" para generar el documento en Word.

Pgina | 64

Instituto Tecnolgico de Acapulco

Informe tcnico

Implementacin de Software para el control y organizacin de convenios en CFE.


Pantallazos del programa en ejecucin
Form loggin de programa en ejecucin

Pgina | 65

Instituto Tecnolgico de Acapulco

Informe tcnico

Pgina | 66

Instituto Tecnolgico de Acapulco

Informe tcnico

Pgina | 67

Instituto Tecnolgico de Acapulco

Informe tcnico

Pgina | 68

Instituto Tecnolgico de Acapulco

Informe tcnico

Pgina | 69

Instituto Tecnolgico de Acapulco

Informe tcnico

Pgina | 70

Instituto Tecnolgico de Acapulco

Informe tcnico

Pgina | 71

Instituto Tecnolgico de Acapulco

Informe tcnico

Conclusiones y recomendaciones
Conclusiones:
Que los alumnos tengan la oportunidad de realizar prcticas profesionales es lo mejor que puede
ocurrir, ya que pasas de a un ambiente totalmente distinto al de estudiante, y comienzas a
desarrollarte en el ambiente laboral, adems todo lo que uno desarrolla como alumno es la base
del profesionista.

Recomendaciones:
Como alumnos del Instituto Tecnolgico de Acapulco, hacemos mencin que representamos en
su totalidad al instituto, y nos consideramos por as decirlo hijos del Instituto Tecnolgico de
Acapulco, y lo menciono por que el Instituto debera tener la responsabilidad de que sus
egresados consigan un trabajo donde puedan ejercer, o dar becas que sean de apoyo para sus
egresados.
Otra recomendacin es que los estudiantes deberamos tener licencias gratuitas para software
de desarrollo como Visual Studio, etc.

Linkografa

http://deletesql.com/viewtopic.php?f=5&t=19 [1]
http://es.wikipedia.org/wiki/Microsoft_Visual_Studio [2]
http://tarifasdeluz.mx/guerrero/acapulco-de-juarez-cuauhtemoc [3]
http://www.cfe.gob.mx/ConoceCFE/1_AcercadeCFE/CFE_y_la_electricidad_en_Mexic
o/Paginas/CFEylaelectricidadMexico.aspx [4]
http://www.cfe.gob.mx/ConoceCFE/1_AcercadeCFE/Paginas/Misionyvision.aspx [5]
http://www.thocp.net/companies/microsoft/microsoft_company_part2.html [6]

Referencias bibliogrficas
Visual Basic 2012 (VB.NET): Los fundamentos del lenguaje - Desarrollar con Visual Studio
2012 [7]
Thierry Groussard
Ediciones ENI, 2013 - 580 pginas
C# 5: Desarrolle Aplicaciones Windows Con Visual Studio 2013
Jrme Hugon
Ediciones ENI, 2014 - 509 pages

Casos prcticos de UML [8]


Ttulo Casos prcticos de UML
Pgina | 72

Instituto Tecnolgico de Acapulco

Informe tcnico

Autor Celia Gutirrez Coso


Editor Editorial Complutense, 2011
ISBN 8499381006, 9788499381008
N. de pginas 96 pginas
Diseo de sistemas software en UML [9]
Ttulo Diseo de sistemas software en UML
Autores Ernest Teniente Lpez, Antoni Oliv Ramon, Enric Mayol Sarroca, Cristina Gmez
Seone
Editor Univ. Politc. de Catalunya, 2004
ISBN 8498800757, 9788498800753
N. de pginas 216 pginas
Especificacin de sistemas software en UML [10]
Ttulo Especificacin de sistemas software en UML
Autores Ernest Teniente Lpez, Dolors Costal Costa, Ma Ribera Sancho Sams
Editor Univ. Politc. de Catalunya, 2004
ISBN 8498801168, 9788498801163
N. de pginas 182 pginas
Enciclopedia de Microsoft Visual C# [11]
Ttulo Enciclopedia de Microsoft Visual C#
Autor Francisco Javier Ceballos Sierra
Edicin 4
Editor RA-MA, 2013
ISBN 8499642640, 9788499642642
N. de pginas 1118 pginas
Microsoft C#. Lenguaje y Aplicaciones. 2a Edicin. [12]
Title Microsoft C#. Lenguaje y Aplicaciones. 2a Edicin.
Author Francisco Javier Ceballos Sierra
Edition 2
Publisher RA-MA S.A. Editorial y Publicaciones, 2007
ISBN 8478978135, 9788478978137
Length 498 pages

Introduccin Al Anlisis de Sistemas Y la Ingeniera de Software [13]


Ttulo Introduccin Al Anlisis de Sistemas Y la Ingeniera de Software
Editor EUNED
ISBN 9977649618, 9789977649610
Ingeniera del software [14]
Ttulo Ingeniera del software
Fuera de coleccin Out of series
Pearson educacin
Autor Ian Sommerville
Pgina | 73

Instituto Tecnolgico de Acapulco

Informe tcnico

Traducido por Mara Isabel Alfonso Galipienso


Edicin ilustrada
Editor Pearson Educacin, 2005
ISBN 8478290745, 9788478290741
N. de pginas 687 pginas
Diseo de sistemas interactivos centrados en el usuario [15]
Ttulo Diseo de sistemas interactivos centrados en el usuario
Formaci de postgrau (Universitat Oberta de Catalunya). Castell
Formacin de posgrado
Autores Toni Granollers i Saltiveri, Jess Lors Vidal, Jos Juan Caas Delgado
Editor Editorial UOC, 2011
ISBN 8497882679, 9788497882675
N. de pginas 280 pginas
La Biblia de C# [16]
Ttulo La Biblia de C#
La Biblia de / The Bible of
Colaborador Jeff Ferguson
Edicin ilustrada
Editor Anaya Multimedia, 2003
ISBN 8441514844, 9788441514843
N. de pginas 861 pginas
Macros y lenguaje VBA - aprender a programar con Excel [17]
Ttulo Macros y lenguaje VBA - aprender a programar con Excel
Autor Frdric Le Guen
Editor Ediciones ENI
ISBN 2746073129, 9782746073128
SQL Server 2008 - SQL, Transact SQL: Diseo y creacin de una base de datos [18]
Ttulo SQL Server 2008 - SQL, Transact SQL: Diseo y creacin de una base de datos
Recursos informticos
Volumen 1 de SQL server 2008: domine la administracin y la implementacin
Autor Jrme Gabillaud
Editor Ediciones ENI
ISBN 2746049112, 9782746049116
N. de pginas 402 pginas
Ingeniera del software: un enfoque prctico [19]
Ttulo Ingeniera del software: un enfoque prctico
Autor Roger S. Pressman
Editor Luis Joyanes Aguilar
Traducido por Rafael Ojeda Martn
Editor Mikel Angoar, 1997
N. de pginas 581 pginas

Pgina | 74

You might also like