You are on page 1of 50

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ

Programa Educativo de Tecnologas de la Informacin y Comunicacin rea Multimedia y Comercio Electrnico

Proyecto de estada realizado en la empresa Ferreteras Namorado

Nombre del proyecto: Sistema de crditos Namorado

Alumno: Jos Manuel Velzquez Parras

Cuitlhuac, Ver., Agosto 2012

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Universidad Tecnolgica del Centro de Veracruz


Programa Educativo de Tecnologas de la Informacin y Comunicacin rea Multimedia y Comercio Electrnico

Asesor Industrial: Rosalo Namorado Reyes

Asesor Acadmico: Rolando Rodrguez Vzquez

Alumno: Jos Manuel Velzquez Parras

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras ndice

Ferreteras_Namorado

Introduccin ................................................................................................................................. 5 Captulo I. Antecedentes ........................................................................................................... 6 Antecedentes de la empresa .................................................................................................... 6 Misin ....................................................................................................................................... 7 Visin ........................................................................................................................................ 7 Valores ..................................................................................................................................... 8 Organigrama ........................................................................................................................... 9 Necesidades y problemtica de la organizacin ................................................................. 10 Objetivo General....................................................................................................................... 10 Objetivos especficos ............................................................................................................... 10 Justificacin ............................................................................................................................... 10 Captulo II. Marco terico ........................................................................................................ 12 Microsoft Visual Studio 2010 .............................................................................................. 12 Lenguaje de programacin C# (C Sharp)......................................................................... 13 Microsoft SQL Server 2008 ................................................................................................ 13 Caractersticas de Microsoft SQL Server ......................................................................... 13 Metodologas para el desarrollo de un sistema ................................................................... 14 Metodologa 1: Desarrollo en cascada ............................................................................. 15 Fases del modelo. ............................................................................................................ 16 Anlisis de requisitos ....................................................................................................... 16 Diseo del Sistema .......................................................................................................... 17 Diseo del Programa ....................................................................................................... 17 Codificacin ....................................................................................................................... 17 Pruebas .............................................................................................................................. 18 Verificacin ........................................................................................................................ 18 Mantenimiento .................................................................................................................. 18 Metodologa 2: Desarrollo en espiral................................................................................. 18 Definicin de objetivos ..................................................................................................... 18 Evaluacin y reduccin de riesgos ................................................................................ 19 Desarrollo y validacin..................................................................................................... 19 3 Planeacin ......................................................................................................................... 19 Tipo de metodologa en espiral ...................................................................................... 19 Caractersticas .................................................................................................................. 20 Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Captulo III. Desarrollo del sistema ........................................................................................ 21 Cronograma de actividades ................................................................................................ 21 Eleccin de la metodologa ................................................................................................. 21 Ventajas ............................................................................................................................. 22 Desventajas ....................................................................................................................... 22 Ventajas ............................................................................................................................. 22 Desventajas ....................................................................................................................... 23 Modelo en cascada del Sistema de Crditos Namorado ............................................... 23 Anlisis de requerimientos .................................................................................................. 24 Diseo visual del sistema.................................................................................................... 25 Diseo del diagrama Entidad Relacin de la base de datos...................................... 26 Modelo relacional de la base de datos ............................................................................. 27 Diseo detallado del sistema.............................................................................................. 28 Script de la base de datos .................................................................................................. 28 Cdigo C# de la programacin del proyecto visual ........................................................ 30 Explotacin y mantenimiento.............................................................................................. 44 Generacin de bitcoras ......................................................................................................... 45 Recomendaciones.................................................................................................................... 48 Captulo IV. Conclusiones y recomendaciones ................................................................... 49 Referencia Bibliogrfica: ......................................................................................................... 50

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Introduccin

Ferreteras_Namorado

En la actualidad para muchas organizaciones, los sistemas de informacin basados en computadoras son el corazn de las actividades cotidianas y objeto de gran consideracin en la toma de decisiones, las empresas consideran con mucho cuidados las capacidades de sus sistemas de informacin cuando deciden ingresar o no en nuevos mercados o cuando planean la respuesta que darn a la competencia. Los Sistemas de Informacin por computadora normalmente estn integrados por muchos componentes. En la mayor parte de los casos, es difcil para los analistas entender todos estos componentes an mismo tiempo; por lo tanto los investigadores tienen que comenzar con preguntas de tipo general con relacin al propsito del sistema sus entradas y salidas de los procesos incluidos. En los grandes proyectos de sistema varios analistas llevan a cabo una investigacin en forma seccionada que la distribuye entre ellos mismos, de manera que cada uno pueda trabajar en forma independiente. Este proyecto de estada se realiz dentro de la empresa Ferreteras Namorado, propiedad del Lic. Rosalo Namorado Reyes, en la ciudad de Paso del Macho, Ver. Este sistema fue desarrollado en el programa Microsoft Visual Studio 2010 mediante el lenguaje de programacin C# y el programa Microsoft SQL Server 2008 para la gestin de la base de datos del sistema.

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras Captulo I. Antecedentes

Ferreteras_Namorado

Antecedentes de la empresa
Ferreteras Namorado es una empresa que se enfoca en la compra venta de materiales para la construccin. Propiedad del Sr. Rosalo Namorado Reyes, quien es gerente. La empresa nace de la idea del Sr. Rosalo Namorado quien se estableci en la ciudad de Paso del Macho en el ao de 1998. Con aos de experiencia en el campo ferretero logra consolidar despus de muchos esfuerzos, dedicacin, su sueo de tener su propio negocio y as cumplir con las necesidades de las personas que van a comprar hasta conseguir lo que hoy en da se puede observar, una evolucin positiva en el negocio y la apertura de varias sucursales en la ciudad de Paso del Macho. Dentro de los productos ms vendidos por nuestra compaa, se pueden destacar los siguientes:

Arena blanca, roja y frijolito. Bloques rojos y blancos. Cabillas estriadas. Cal. Cemento Gris. Conexiones de Aguas Blancas. Lminas de Zinc. Lminas pulidas. Lmparas. Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Ferreteras_Namorado

Materiales de Electricidad. Materiales de Plomera. Pego. Pintura. Tubos pulidos.

Misin
Ser una empresa que trabaja para brindar a sus clientes la mayor diversidad en materiales de construccin y de ferretera en general, bajo premisas de precio, calidad y servicio acorde a las exigencias del mercado, comprometindonos con la capacitacin constante de nuestro recurso humano, para que este sea altamente calificado, productivo y comprometido a mantener la preferencia y satisfaccin de nuestros clientes; con la finalidad de generar un crecimiento rentable, en beneficio de todos que nos permita mantener y mejorar cada da la calidad y servicio prestado.

Visin
Mantener un slido posicionamiento y liderazgo comercial en cuanto a la venta de materiales de construccin y ferretera en general, superando las perspectivas de calidad y servicio de nuestros clientes, gracias al apoyo incondicional de un comprometido equipo de trabajo, permitindonos as sostener un alto grado de responsabilidad social y comercial que nos garantice solidez financiera y crecimiento sostenible. En Ferreteras Namorado estamos comprometidos con nuestros clientes a mejorar permanentemente nuestros procesos para ser cada da ms eficaces en la atencin y 7 suministro oportuno de productos de ptima calidad.

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Adems nos comprometemos con los colaboradores a ofrecerles estabilidad laboral, desarrollo profesional y a brindarles un ambiente de trabajo favorable. Estamos comprometidos con nuestros socios a permanecer en el mercado de manera rentable con un crecimiento planificado y sostenible.

Valores
Los valores por los cuales nos guiamos en nuestras actividades diarias son los siguientes: Humildad Reconocemos la necesidad de escuchar a los dems y mejorar da a da. Respeto Valoramos el trato respetuoso entre nuestros colaboradores y la comunicacin clara y abierta. Reconocemos la capacidad de nuestros colaboradores para realizar las labores encomendadas de manera responsable y oportuna. Servicio Brindar ayuda de manera espontnea an en los detalles ms pequeos. Dedicacin Trabajar es el primer paso, procuramos llevar a cabo nuestras actividades de la manera correcta y con responsabilidad. Disciplina 8 Valoramos a las personas comprometidas con su trabajo y consigo mismas para lograr a travs de la perseverancia las metas propuestas. Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Rentabilidad

Ferreteras_Namorado

Producir beneficios que nos permitan ofrecer estabilidad y crecimiento a nuestra empresa y a nuestros colaboradores. Ferreteras Namorado ha desarrollado sus polticas de calidad enfocada a las necesidades de nuestros clientes; realizada con el apoyo de la gerencia y dems reas de la compaa. Ferreteras Namorado se define con las siguientes polticas de calidad:

Adquirir y vender artculos de ferretera de la mejor calidad garantizando el cumplimiento para ofrecer un excelente servicio.

Cumplir con los requisitos de la organizacin y de nuestros clientes a travs de los procesos implementados, garantizando el cumplimiento de las necesidades y satisfaccin del mismo.

Garantizar el cumplimiento de los requisitos del sistema y velar por la continua capacitacin de los responsables.

Mejora continua por medio de la evaluacin de los resultados.

Organigrama

Rosalo Namorado Reyes (Gerencia)


9

Rogelio Namorado Reyes (Administracin)

rea de recursos humanos rea de operaciones Patricia Namorado Reyes (Ventas)

Rodolfo Namorado Reyes (Contabilidad)

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Necesidades y problemtica de la organizacin


Ferreteras Namorado es una empresa dedicada a la comercializacin de materiales para la construccin. Dentro de la empresa se pueden observar varias situaciones que causan problemas para su correcta funcin. Principalmente en el rea de finanzas se puede apreciar que la forma en que se llevan a cabo los procesos de cobro y crdito no son los ms adecuados, pues son realizados de forma tradicional y carecen del uso de las nuevas tecnologas de la informacin. Esto ocasiona que el proceso de cobro sea tardado y para realizar alguna consulta se tenga que recurrir a los documentos de forma manual. Por lo tanto se requiere de un sistema computarizado que lleve a cabo el proceso de una forma eficaz para ahorrar tiempo, dinero y esfuerzo.

Objetivo General
Desarrollar una aplicacin de escritorio mediante el uso del lenguaje de programacin C# con acceso a base de datos para llevar a cabo un control sistematizado en los crditos que se le otorgan a los clientes.

Objetivos especficos
*Registrar de forma sistematizada a todos los clientes que obtengan los crditos. *Ahorrar tiempo en la bsqueda de algn estado de cuenta en los crditos. *Mejorar el proceso de cobro al tener a la mano una herramienta tecnolgica que avale y compruebe cada abono realizado por el cliente.

Justificacin
El proyecto Sistema de crditos Namorado se llevar a cabo debido a la 10 problemtica de la empresa en los crditos a clientes al no contar con un mtodo eficaz que controle ese proceso, lo cual origina prdidas econmicas, de tiempo y

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

esfuerzo. Es por ello que surge la necesidad de desarrollar una aplicacin que cubra esa necesidad lo cual originar un beneficio a la empresa y que podr aplicarse de forma oportuna.

11

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras Captulo II. Marco terico


Microsoft Visual Studio 2010

Ferreteras_Namorado

Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en ingls) para sistemas operativos Windows. Soporta varios lenguajes de programacin tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. 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 intercomuniquen entre estaciones de trabajo, pginas web y dispositivos mviles. Visual Studio 2010 es la versin ms reciente de esta herramienta, acompaada por .NET Framework 4.0. La fecha del lanzamiento de la versin final fue el 12 de abril de 2010. Hasta ahora, uno de los mayores logros de la versin 2010 de Visual Studio ha sido el de incluir las herramientas para desarrollo de aplicaciones para Windows 7, tales como herramientas para el desarrollo de las caractersticas de Windows 7

(System.Windows.Shell) y la Ribbon Preview para WPF. Entre sus ms destacables caractersticas, se encuentran la capacidad para utilizar mltiples monitores, as como la posibilidad de desacoplar las ventanas de su sitio original y acoplarlas en otros sitios de la interfaz de trabajo. Adems ofrece la posibilidad de crear aplicaciones para muchas plataformas de Microsoft, como Windows, Azure, Windows Phone 7 o Sharepoint. Microsoft ha sido 12 sensible a la nueva tendencia de las pantallas tctiles y con este Visual Studio 2010 tambin es posible desarrollar aplicativos para pantallas multitctiles.

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Lenguaje de programacin C# (C Sharp)

Ferreteras_Namorado

C# (pronunciado si Sharp en ingls) es un programacin orientado desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que despus fue aprobado como un estndar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programacin diseados para la infraestructura de lenguaje comn.

Su sintaxis bsica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.

El nombre C Sharp fue inspirado por la notacin musical, donde '#' (sostenido, en ingls Sharp) indica que la nota (C es la nota do en ingls) es un semitono ms alta, sugiriendo que C# es superior a C/C++. Adems, el signo '#' viene de cuatro '+' pegados.

Aunque C# forma parte de la plataforma .NET, sta es una API, mientras que C# es un lenguaje de programacin independiente diseado para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco Mono DotGNU, el cual genera programas para distintas plataformas como Windows, Unix, Android, iOS, Windows Phone, Mac OS y GNU/Linux.

Microsoft SQL Server 2008


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

Caractersticas de Microsoft SQL Server


Soporte de transacciones. Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados.

Ferreteras_Namorado

Incluye tambin un potente 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.

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. En el manejo de SQL mediante lneas de comando se utiliza el SQLCMD Para el desarrollo de aplicaciones ms complejas (tres o ms capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor slo est disponible para Sistemas Operativos.

Metodologas para el desarrollo de un sistema


Son mtodos que indican cmo hacer ms eficiente el desarrollo de sistemas de 14 informacin. Para ello suelen estructurar en fases la vida de dichos sistemas con el fin de facilitar su planificacin, desarrollo y mantenimiento. Las metodologas de

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

desarrollo de sistemas deben definir: objetivos, fases, tareas, productos y responsables, necesarios para la correcta realizacin del proceso y su seguimiento. Los principales objetivos de una metodologa de desarrollo son: Asegurar la uniformidad y calidad tanto del desarrollo como del sistema en s. Satisfacer las necesidades de los usuarios del sistema. Conseguir un mayor nivel de rendimiento y eficiencia del personal asignado al desarrollo. Ajustarse a los plazos y costes previstos en la planificacin. Generar de forma adecuada la documentacin asociada a los sistemas. Facilitar el mantenimiento posterior de los sistemas.

Metodologa 1: Desarrollo en cascada


En Ingeniera de software el desarrollo en cascada, tambin llamado modelo en cascada, es el enfoque metodolgico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalizacin de la etapa anterior. Un ejemplo de una metodologa de desarrollo en cascada es: 1. Anlisis de requisitos. 2. Diseo del Sistema. 3. Diseo del Programa. 4. Codificacin. 5. Pruebas. 15 6. Implantacin. 7. Mantenimiento. Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

De esta forma, cualquier error de diseo detectado en la etapa de prueba conduce necesariamente al rediseo y nueva programacin del cdigo afectado, aumentando los costes del desarrollo. La palabra cascada sugiere, mediante la metfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases ms avanzadas de un proyecto. Si bien ha sido ampliamente criticado desde el mbito acadmico y la industria, sigue siendo el paradigma ms seguido al da de hoy.

Fases del modelo.

El "modelo cascada" sin modificar. El progreso fluye de arriba hacia abajo, como una cascada.

Anlisis de requisitos
En esta fase se analizan las necesidades de los usuarios finales del software para determinar qu objetivos debe cubrir. De esta fase surge una memoria llamada SRD (documento de especificacin de requisitos), que contiene la especificacin completa de lo que debe hacer el sistema sin entrar en detalles internos. 16

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Es importante sealar que en esta etapa se debe evaluar todo lo que se requiere del sistema y ser aquello lo que seguir en las siguientes etapas, no pudindose requerir nuevos resultados a mitad del proceso de elaboracin del software.

Diseo del Sistema


Descompone y organiza el sistema en elementos que puedan elaborarse por separado, aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD (Documento de Diseo del Software), que contiene la descripcin de la estructura relacional global del sistema y la especificacin de lo que debe hacer cada una de sus partes, as como la manera en que se combinan unas con otras. Es conveniente distinguir entre diseo de alto nivel o arquitectnico y diseo detallado. El primero de ellos tiene como objetivo definir la estructura de la solucin (una vez que la fase de anlisis ha descrito el problema) identificando grandes mdulos (conjuntos de funciones que van a estar asociadas) y sus relaciones. Con ello se define la arquitectura de la solucin elegida. El segundo define los algoritmos empleados y la organizacin del cdigo para comenzar la implementacin.

Diseo del Programa


Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los requerimientos del usuario as como tambin los anlisis necesarios para saber que herramientas usar en la etapa de Codificacin.

Codificacin
Es la fase en donde se implementa el cdigo fuente, haciendo uso de prototipos as como de pruebas y ensayos para corregir errores. Dependiendo del lenguaje de programacin y su versin se crean las bibliotecas y componentes reutilizables dentro del mismo proyecto para hacer que la programacin sea un proceso mucho ms rpido. Universidad Tecnolgica del Centro de Veracruz | TIC

17

Jos Manuel Velzquez Parras


Pruebas

Ferreteras_Namorado

Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba que funciona correctamente y que cumple con los requisitos, antes de ser entregado al usuario final.

Verificacin
Es la fase en donde el usuario final ejecuta el sistema, para ello el o los programadores ya realizaron exhaustivas pruebas para comprobar que el sistema no falle.

Mantenimiento
Una de las etapas ms crticas, ya que se destina un 75% de los recursos, es el mantenimiento del Software ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras expectativas.

Metodologa 2: Desarrollo en espiral


El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986, utilizado generalmente en la Ingeniera de software. Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteracin representa un conjunto de actividades. Las actividades no estn fijadas a ninguna prioridad, sino que las siguientes se eligen en funcin del anlisis de riesgo, comenzando por el bucle interior. El ciclo de la espiral se divide en 4 etapas:

Definicin de objetivos
Para esta fase del proyecto se definen los objetivos especficos. Se identifican las 18 restricciones los procesos y el producto, y se estipula un plan detallado de administracin. Se identifican los riesgos del proyecto. Dependiendo de esos riesgos, se planean estrategias alternativas. Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Evaluacin y reduccin de riesgos

Ferreteras_Namorado

Se lleva a cabo un anlisis detallado para cada uno de los riesgos del proyecto. Se definen los pasos para reducir dichos riesgos. Por ejemplo si existe el riesgo de tener requerimientos inapropiados, se desarrolla un prototipo del sistema.

Desarrollo y validacin
Despus de la evaluacin de riesgos, se elige un Modelo para el desarrollo del sistema. Por ejemplo, si los riesgos en la interfaz de usuario son dominantes, un modelo de desarrollo apropiado podra ser la construccin de prototipos evolutivos. Si los riesgos de proteccin son la principal consideracin, un desarrollo basado en transformaciones formales podra ser el ms apropiado, y as sucesivamente. El modelo de cascada es el ms apropiado para el desarrollo si el mayor riesgo identificado es la integracin de los subsistemas.

Planeacin
El proyecto se revisa y se toma la decisin de si se debe continuar con un ciclo posterior de la espiral. Si se decide continuar, se debe planear la siguiente representacin grfica.

Tipo de metodologa en espiral


El modelo en espiral WINWIN de Boehm, define un conjunto de actividades de negociacin al principio de cada paso alrededor de la espiral. Ms que una simple actividad de comunicacin con el cliente se definen las siguientes actividades: Identificacin del sistema o subsistemas clave de los directivos. Determinacin de las condiciones de victoria de los directivos. Negociacin de las condiciones de victoria de los directivos para reunirlas en un conjunto de condiciones para todos los afectados 19 (incluyendo el equipo del proyecto de software).

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Caractersticas

Ferreteras_Namorado

Trata de mejorar los ciclos de vida clsicos y prototipos. Este modelo puede combinarse con otros modelos de proceso de desarrollo (cascada, evolutivo).En cada giro se construye un nuevo modelo del sistema completo. El anlisis de riesgo requiere la participacin de personal con alta calificacin. Incorpora objetivos de calidad y gestin de riesgos, elimina errores y alternativas no atractivas al comienzo permite iteraciones, vuelta atrs y finalizaciones rpidas. Cada ciclo empieza identificando: Los objetivos de la porcin correspondiente Las alternativas Restricciones

20

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras Captulo III. Desarrollo del sistema


Cronograma de actividades

Ferreteras_Namorado

No. P/R 1 P R 2 3 P R P

Actividad Anlisis y recoleccin de informacin Diseo de la Base de datos Depuracin y actualizacin de la BD Metodologa para el desarrollo de sistemas Generacin de Reportes Elaboracin de manuales Documentacin Presentacin del sistema (Capacitacin)

Semanas 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

R P

R P R P R P R P

7 8

Eleccin de la metodologa
Para el desarrollo del Sistema de Crditos Namorado (SCN) lo primero que se realiz fue un anlisis de las ventajas y desventajas de cada modelo. Para el modelo en cascada: 21

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Ventajas

Ferreteras_Namorado

Existen variantes de este modelo; especialmente destacamos la que hace uso de prototipos y en la que se establece un ciclo antes de llegar a la fase de mantenimiento, verificando que el sistema final est libre de fallos.

Desventajas
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala implementacin del modelo, lo cual hace que lo lleve al fracaso. El proceso de creacin del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no est completo no se opera. Esto es la base para que funcione bien. Cualquier error de diseo detectado en la etapa de prueba conduce necesariamente al rediseo y nueva programacin del cdigo afectado, aumentando los costos del desarrollo. Para el modelo en espiral:

Ventajas
El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora. Como el software evoluciona a medida que progresa el proceso, el desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de los niveles evolutivos. El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de construccin de prototipos en cualquier etapa de evolucin del producto. El modelo en espiral demanda una consideracin directa de los riesgos tcnicos en todas las etapas del proyecto y si se aplica adecuadamente debe reducir los riesgos antes 22 de que se conviertan en problemas.

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Desventajas

Ferreteras_Namorado

Resulta difcil convencer a grandes clientes de que el enfoque evolutivo es controlable. Debido a su elevada complejidad no se aconseja utilizarlo en pequeos sistemas. Genera mucho tiempo en el desarrollo de sistemas Una vez analizadas las ventajas e inconvenientes de cada modelo se lleg a la conclusin de que lo ms ptimo fue elegir al modelo en cascada, debido a que el proceso que conlleva su uso es muy sencillo pero a la vez permite verificar que cada paso se est realizando de la manera ms adecuada, lo cual es una ventaja para el desarrollador del sistema.

Modelo en cascada del Sistema de Crditos Namorado

ANALISIS DE REQUERIMIENT OS DEL SISTEMA Se requiere que el sistema controle los crditos que se les otorgan a los clientes. Que haya una base de datos donde se almacenen los registros de los clientes y de los crditos Que tenga una funcionalidad intuitiva y agradable para el administrador de los crditos.

ANALISIS DE REQUISITOS DE SOFTWARE Programas necesarios: Microsoft Visual Studio 2010 Microsoft SQL Server 2008 Requerimientos del equipo: Memoria RAM mayor a 1 GB Procesador mayor a 2 GB Disco duro mayor a 20 GB

DISEO PRELIMINAR DISEO DETALLADO El sistema de crditos se diseo con el Microsoft Visual Studio 2010, donde se cre un proyecto de Windows forms y en modo grfico se agregaron controles (labels, textbox, buttons, listbox, radiobuttons, checklist, menustrip, etc.) y con el SQL Server se cre una base de datos donde estn contenidas las tablas a utilizar para el almacenamiento de los registros. El sistema pide al usuario introducir una contrasea preestablecida para permitir el acceso al panel de control donde se pueden administrar los crditos.

CODIFICACION Y PRUEBAS Con el programa Visual Studio 2010 se codific nuestro programa usando el lenguaje de programacin C# y durante el desarrollo de la programacin se fue depurando la compilacin del cdigo para verificar que no existieran errores. namespace PruebaClase { class Persona { private string nombre; private int edad; public void inicializar() {

EXPLOTACION Y MANTENIMIENTO El sistema est validado para mandar un aviso al administrador cuando intente agregar una clave que no se encuentre registrada. As mismo estar validado para no permitir caracteres donde no correspondan, por ejemplo, escribir texto donde solo se admitan cantidades monetarias o numricas. Se le dar seguimiento Veracruz | TIC a la actualizacin en la base de datos de los productos si los precios cambiasen

23

Universidad Tecnolgica delelCentro ngrese nombre:");de


nombre = Console.ReadLine(); string Linea; Console.WriteLine("I

Console.WriteLine("I

Jos Manuel Velzquez Parras


Anlisis de requerimientos

Ferreteras_Namorado

En base a la experiencia adquirida mediante los estudios se determinaron las siguientes necesidades que el sistema cubriera, as mismo, el empresario expres sus inquietudes respecto a la forma en que el sistema deba funcionar. El principal motivo para la realizacin de este sistema fue precisamente la necesidad de contar con una herramienta tecnolgica informtica que llevara a cabo un control detallado de los crditos que en la empresa se les otorgan a los clientes. Otro de los puntos importantes que se incluyen en los requerimientos fue que se diseara una base de datos donde se almacenen los registros de los clientes y de los crditos, as mismo de los productos que la empresa ofrece. En consecuencia, otro punto de suma importancia fue el diseo visual del sistema, el cual requiri que tuviera una funcionalidad intuitiva y agradable para el administrador de los crditos. Tambin se requiri que el sistema tuviera un acceso restringido nicamente para el administrador de los crditos, donde ste hiciera uso de una contrasea para acceder al panel de control principal. As mismo, la validacin de los controles del sistema es un punto importante para la prevencin de errores en tiempo de ejecucin, por lo cual entr dentro de los requerimientos principales.

24

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Diseo visual del sistema

Ferreteras_Namorado

Como se puede apreciar en la imagen anterior, el diseo visual del sistema consta de cuatro apartados: uno para los crditos, uno para los abonos, uno para los productos y otro para los clientes.

En el apartado de clientes el administrador podr de dar de alta nuevos clientes, con el propsito de obtener sus datos para dar de alta nuevos crditos, los cuales incluirn la cantidad de productos solicitados en el mismo, al igual que el importe total del que consta su crdito, el cual debern ir cubriendo en pagos semanales mediante los abonos que se registrarn en la base de datos del sistema.

25

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Diseo del diagrama Entidad Relacin de la base de datos

Nombre

Nombre

Id_Cliente

Clientes

Direccin

Id_Prod

Productos

Precio $

Telfono
Monto Id_cliente Fecha inicio

Descripcin

Id_Abono

Fecha fin

Crditos

solicitan
Id_prod Cantidad

Tienen

Id_Crdito

Concepto

Saldan

Cantidad $

Id_Abono

Abonos

Fecha de abono

26

Saldo

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Modelo relacional de la base de datos
Administrador
clave ID_Admin

Ferreteras_Namorado

Detalle_Creditos
ID_Credito ID_Producto Cantidad Precio

Productos
ID_Producto Producto Descripcion Precio

Creditos
ID_Credito Fecha_inicio Fecha_fin Plazo Monto_Credito Estado ID_Nombre ID_Abono

Abonos
ID_Abono Abono Fecha_abono Hora_abono Total_abonos ID_Nombre

Clientes
ID_Nombre Nombre Direccion Rfc Telefono Email Localidad

27

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Diseo detallado del sistema

Ferreteras_Namorado

El sistema de crditos se diseo con el Microsoft Visual Studio 2010, donde se cre un proyecto de Windows forms y en modo grfico se agregaron controles (labels, textbox, buttons, listbox, radiobuttons, checklist, menustrip, etc.) y con el SQL Server se cre una base de datos donde estn contenidas las tablas a utilizar para el almacenado de los registros. El sistema pide al usuario introducir una contrasea preestablecida para permitir el acceso al panel de control donde se pueden administrar los crditos.

Script de la base de datos


create database creditos go use creditos; go create table Clientes ( ID_Nombre int primary key, Nombre varchar (150) not null, Direccion varchar (300) not null, Rfc varchar (15) null, Telefono varchar (20) not null, Email varchar (100) null, Ciudad varchar (100) not null, Estado varchar (100) not null, Baja bit not null default 0 ); go create table Productos

28

( ID_Producto int primary key, Codigo varchar (20) not null,

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Nombre_Producto varchar (500) not null, Descripcion varchar (500) not null, Precio money not null, ID_Categoria int references Categorias not null, Baja int not null default 0 ); go create table Abonos ( ID_Abono int primary key, Fecha date not null, Monto money not null, Baja bit not null default 0 ); go create table Credito ( ID_Credito int primary key, ID_Nombre int references Clientes not null, ID_Abono int references Abonos not null, ID_Producto int references Productos not null, Fecha_inicio date not null, Fecha_fin date not null, Plazo int not null, Num_Productos int not null, Monto_Credito money not null, Estado varchar (50) not null,

Ferreteras_Namorado

29

Baja bit not null default 0 ); Go

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Cdigo C# de la programacin del proyecto visual


using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Text.RegularExpressions; namespace SistemaCreditosNamorado { public partial class panel : Form { private BindingSource bindingsource_clientes = new BindingSource(); private SqlDataAdapter dataAdapter_clientes = new SqlDataAdapter(); private BindingSource bindingsource_productos = new BindingSource(); private SqlDataAdapter dataAdapter_productos = new SqlDataAdapter(); private void actualizar_clientes(string consulta_clientes) { String datasource = @"Data Source=MANUEL-LAPTOP; Initial Catalog=creditos; Integrated Security=SSPI"; dataAdapter_clientes = new SqlDataAdapter(consulta_clientes, datasource); SqlCommandBuilder comando_clientes = new SqlCommandBuilder(dataAdapter_clientes); DataTable tabla_clientes = new DataTable(); dataAdapter_clientes.Fill(tabla_clientes); bindingsource_clientes.DataSource = tabla_clientes; } private void actualizar_productos(string consulta_productos) { String datasource = @"Data Source=MANUEL-LAPTOP; Initial Catalog=creditos; Integrated Security=SSPI"; dataAdapter_productos = new SqlDataAdapter(consulta_productos, datasource); SqlCommandBuilder comando_productos = new SqlCommandBuilder(dataAdapter_productos); DataTable tabla_productos = new DataTable(); dataAdapter_productos.Fill(tabla_productos); bindingsource_productos.DataSource = tabla_productos; } public panel() { InitializeComponent(); txtclavec.Focus(); btnmodifc.Visible = false; btnelimc.Visible = false; dgvclientes.Visible = false; dgvproductos.Visible = false; btnmodifp.Visible = false; btneliminp.Visible = false; txtfechaabono.Text = DateTime.Now.ToShortDateString(); txthoraabono.Text = DateTime.Now.ToShortTimeString(); }

30

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

SqlConnection miconexion = new SqlConnection("Data Source=MANUEL-LAPTOP; Initial Catalog=creditos; Integrated Security=SSPI"); private void timer1_Tick(object sender, EventArgs e) { toolStripStatusLabel3.Text = DateTime.Now.ToLongTimeString(); toolStripStatusLabel1.Text = DateTime.Now.ToShortDateString(); } private void toolStripStatusLabel2_Click(object sender, EventArgs e) { } private void toolStripStatusLabel1_Click(object sender, EventArgs e) { Calendario mc = new Calendario(); mc.Show(); } private void toolStripStatusLabel3_Click(object sender, EventArgs e) { } private void salirToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void timer1_Tick_1(object sender, EventArgs e) { toolStripStatusLabel3.Text = DateTime.Now.ToLongTimeString(); toolStripStatusLabel1.Text = DateTime.Now.ToShortDateString(); } private void calculadoraToolStripMenuItem_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("Calc.exe"); } private void calendarioToolStripMenuItem_Click_1(object sender, EventArgs e) { Calendario mc = new Calendario(); mc.Show(); } //AQUI EMPIEZA EL APARTADO DE CLIENTES. private void btnagregarc_Click(object sender, EventArgs e) { if (txtnombrec.Text == "" || txtdireccion.Text == "" || txtrfc.Text == "" || txttel.Text == "" || txtciudad.Text == "") { MessageBox.Show("Todos los campos son obligatorios", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { miconexion.Open(); SqlCommand comando = new SqlCommand("INSERT INTO [Clientes](Nombre, Direccion, Rfc, Telefono, Email, Localidad) VALUES (@Nombre,@Direccion,@Rfc,@Telefono,@Email,@Localidad)", miconexion);

31

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

comando.Parameters.AddWithValue("Nombre", txtnombrec.Text); comando.Parameters.AddWithValue("Direccion", txtdireccion.Text); comando.Parameters.AddWithValue("Rfc", txtrfc.Text); comando.Parameters.AddWithValue("Telefono", txttel.Text); comando.Parameters.AddWithValue("Email", txtemail.Text); comando.Parameters.AddWithValue("Localidad", txtciudad.Text); comando.ExecuteNonQuery(); miconexion.Close(); MessageBox.Show("Cliente registrado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtclavec.Clear(); txtnombrec.Clear(); txtdireccion.Clear(); txtrfc.Clear(); txttel.Clear(); txtemail.Clear(); txtciudad.Clear(); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); } } private void btnbuscarc_Click(object sender, EventArgs e) { miconexion.Open(); SqlCommand Consulta = new SqlCommand("select * from Clientes where ID_Nombre=@ID_Nombre", miconexion); Consulta.Parameters.AddWithValue("ID_Nombre", txtclavec.Text); SqlDataReader ejecuta = Consulta.ExecuteReader(); if (ejecuta.Read()) { txtnombrec.Text = ejecuta.GetString(1); txtdireccion.Text = ejecuta.GetString(2); txtrfc.Text = ejecuta.GetString(3); txttel.Text = ejecuta.GetSqlDecimal(4).ToString(); txtemail.Text = ejecuta.GetString(5); txtciudad.Text = ejecuta.GetString(6); btnagregarc.Visible = false; btnmodifc.Visible = true; btnelimc.Visible = true; miconexion.Close(); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText);

} else { MessageBox.Show("La clave no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtclavec.Text = ""; miconexion.Close(); txtclavec.Focus(); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); } } private void btnmodifc_Click(object sender, EventArgs e) {

32

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

if (txtnombrec.Text == "") { MessageBox.Show("El campo nombre no puede quedar vaco", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { miconexion.Open(); SqlCommand comando = new SqlCommand("UPDATE Clientes SET Nombre=@Nombre, Direccion=@Direccion, Rfc=@Rfc, Telefono=@Telefono, Email=@Email, Localidad=@Localidad WHERE ID_Nombre=@ID_Nombre", miconexion); comando.Parameters.AddWithValue("ID_Nombre", txtclavec.Text); comando.Parameters.AddWithValue("Nombre", txtnombrec.Text); comando.Parameters.AddWithValue("Direccion", txtdireccion.Text); comando.Parameters.AddWithValue("Rfc", txtrfc.Text); comando.Parameters.AddWithValue("Telefono", txttel.Text); comando.Parameters.AddWithValue("Email", txtemail.Text); comando.Parameters.AddWithValue("Localidad", txtciudad.Text); comando.ExecuteNonQuery(); MessageBox.Show("Cliente actualizado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); miconexion.Close(); txtclavec.Clear(); txtnombrec.Clear(); txtdireccion.Clear(); txtrfc.Clear(); txttel.Clear(); txtemail.Clear(); txtciudad.Clear(); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); btnmodifc.Visible = false; btnelimc.Visible = false; } } private void btnelimc_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Seguro que desea eliminar al cliente?", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Question); switch (result) { case DialogResult.Yes: SqlCommand Consulta = new SqlCommand("delete from Clientes where ID_Nombre=@ID_Nombre", miconexion); Consulta.Parameters.AddWithValue("ID_Nombre", txtclavec.Text); miconexion.Open(); SqlDataReader ejecuta = Consulta.ExecuteReader(); txtclavec.Clear(); txtnombrec.Clear(); txtdireccion.Clear(); txtrfc.Clear(); txttel.Clear(); txtemail.Clear(); txtciudad.Clear(); btnagregarc.Visible = true; btnelimc.Visible = false; btnmodifc.Visible = false;

33

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

MessageBox.Show("Cliente eliminado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); miconexion.Close(); break; case DialogResult.No: break; }

} private void btnnuevoc_Click(object sender, EventArgs e) { txtclavec.Clear(); txtnombrec.Clear(); txtdireccion.Clear(); txtrfc.Clear(); txttel.Clear(); txtemail.Clear(); txtciudad.Clear(); btnagregarc.Visible = true; btnelimc.Visible = false; btnmodifc.Visible = false; actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); } private void btncatalc_Click(object sender, EventArgs e) { dgvclientes.Visible = true; actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); } private void panel_Load(object sender, EventArgs e) { // TODO: esta lnea de cdigo carga datos en la tabla 'creditosDataSet2.Productos' Puede moverla o quitarla segn sea necesario. this.productosTableAdapter.Fill(this.creditosDataSet2.Productos); dgvproductos.DataSource = bindingsource_productos; actualizar_productos("select * from Productos"); // TODO: esta lnea de cdigo carga datos en la tabla 'creditosDataSet1.Clientes' Puede moverla o quitarla segn sea necesario. this.clientesTableAdapter1.Fill(this.creditosDataSet1.Clientes); dgvclientes.DataSource = bindingsource_clientes; actualizar_clientes("select * from Clientes"); } private void txttel_KeyPress(object sender, KeyPressEventArgs e) { if (Char.IsDigit(e.KeyChar)) { e.Handled = false;

34
} else if (Char.IsControl(e.KeyChar)) {

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


e.Handled = false; } else if (Char.IsSeparator(e.KeyChar)) { e.Handled = false; } else { e.Handled = true; } }

Ferreteras_Namorado

private void txtemail_Validating(object sender, CancelEventArgs e) { System.Text.RegularExpressions.Regex rEMail = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[azA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"); //txtmail is name/object of textbox if (txtemail.Text.Length > 0) { //rEMail is object of Regex class located in System.Text.RegularExpressions if (!rEMail.IsMatch(txtemail.Text)) { MessageBox.Show("Direccin de correo electrnico invlida", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtemail.SelectAll(); e.Cancel = true; } } } private void txtnombrec_KeyPress(object sender, KeyPressEventArgs e) { if (Char.IsLetter(e.KeyChar)) { e.Handled = false; } else if (Char.IsControl(e.KeyChar)) { e.Handled = false; } else if (Char.IsSeparator(e.KeyChar)) { e.Handled = false; } else { e.Handled = true; } } private void txtciudad_KeyPress(object sender, KeyPressEventArgs e) {

35

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


if (e.KeyChar == (char)(Keys.Enter)) { e.Handled = true; if (btnagregarc.Visible == true) {

Ferreteras_Namorado

if (txtnombrec.Text == "" || txtdireccion.Text == "" || txtrfc.Text == "" || txttel.Text == "" || txtciudad.Text == "") { MessageBox.Show("Todos los campos son obligatorios", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { miconexion.Open(); SqlCommand comando = new SqlCommand("INSERT INTO [Clientes](Nombre, Direccion, Rfc, Telefono, Email, Localidad) VALUES (@Nombre,@Direccion,@Rfc,@Telefono,@Email,@Localidad)", miconexion); comando.Parameters.AddWithValue("Nombre", txtnombrec.Text); comando.Parameters.AddWithValue("Direccion", txtdireccion.Text); comando.Parameters.AddWithValue("Rfc", txtrfc.Text); comando.Parameters.AddWithValue("Telefono", txttel.Text); comando.Parameters.AddWithValue("Email", txtemail.Text); comando.Parameters.AddWithValue("Localidad", txtciudad.Text); comando.ExecuteNonQuery(); miconexion.Close(); MessageBox.Show("Cliente registrado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtclavec.Clear(); txtnombrec.Clear(); txtdireccion.Clear(); txtrfc.Clear(); txttel.Clear(); txtemail.Clear(); txtciudad.Clear(); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); } } } else if (Char.IsLetter(e.KeyChar)) { e.Handled = false; } else if (Char.IsControl(e.KeyChar)) { e.Handled = false; } else if (Char.IsSeparator(e.KeyChar)) { e.Handled = false; } else { e.Handled = true; } }

36

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

private void txtrfc_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar >= 48 && e.KeyChar <= 57) || (e.KeyChar >= 97 && e.KeyChar <= 122) || (e.KeyChar >= 65 && e.KeyChar <= 90) || (e.KeyChar == 8)) e.Handled = false; else e.Handled = true; } private void txtclavec_KeyPress(object sender, KeyPressEventArgs e) { if (Char.IsDigit(e.KeyChar)) { e.Handled = false; } else if (Char.IsControl(e.KeyChar)) { e.Handled = false; } else if (Char.IsSeparator(e.KeyChar)) { e.Handled = false; } else { e.Handled = true; } if (e.KeyChar == (char)(Keys.Enter)) { e.Handled = true; miconexion.Open(); SqlCommand Consulta = new SqlCommand("select * from Clientes where ID_Nombre=@ID_Nombre", miconexion); Consulta.Parameters.AddWithValue("ID_Nombre", txtclavec.Text); SqlDataReader ejecuta = Consulta.ExecuteReader(); if (ejecuta.Read()) { txtnombrec.Text = ejecuta.GetString(1); txtdireccion.Text = ejecuta.GetString(2); txtrfc.Text = ejecuta.GetString(3); txttel.Text = ejecuta.GetSqlDecimal(4).ToString(); txtemail.Text = ejecuta.GetString(5); txtciudad.Text = ejecuta.GetString(6); btnagregarc.Visible = false; btnmodifc.Visible = true; btnelimc.Visible = true; miconexion.Close(); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText);

37

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

} else { MessageBox.Show("La clave no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtclavec.Text = ""; miconexion.Close(); txtclavec.Focus(); actualizar_clientes(dataAdapter_clientes.SelectCommand.CommandText); } } } //AQUI EMPIEZA EL APARTADO DE PRODUCTOS. private void btnbuscarp_Click(object sender, EventArgs e) { miconexion.Open(); SqlCommand Consulta = new SqlCommand("select * from Productos where ID_Producto=@ID_Producto", miconexion); Consulta.Parameters.AddWithValue("ID_Producto", txtclavep.Text); SqlDataReader ejecuta = Consulta.ExecuteReader(); if (ejecuta.Read()) { txtnombrep.Text = ejecuta.GetString(1); txtdescrip.Text = ejecuta.GetString(2); txtprecio.Text = ejecuta.GetDecimal(3).ToString(); ; btnagregarp.Visible = false; btnmodifp.Visible = true; btneliminp.Visible = true; miconexion.Close(); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText);

} else { MessageBox.Show("La clave no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtclavec.Text = ""; miconexion.Close(); txtclavec.Focus(); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); } } private void btnagregarp_Click(object sender, EventArgs e) { if (txtnombrep.Text == "" || txtdescrip.Text == "" || txtprecio.Text == "") { MessageBox.Show("Todos los campos son obligatorios", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { miconexion.Open();

38

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

SqlCommand comando = new SqlCommand("INSERT INTO [Productos](Producto, Descripcion, Precio) VALUES (@Producto,@Descripcion,@Precio)", miconexion); comando.Parameters.AddWithValue("Producto", txtnombrep.Text); comando.Parameters.AddWithValue("Descripcion", txtdescrip.Text); comando.Parameters.AddWithValue("Precio", txtprecio.Text); comando.ExecuteNonQuery(); miconexion.Close(); MessageBox.Show("Producto registrado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtclavep.Clear(); txtnombrep.Clear(); txtdescrip.Clear(); txtprecio.Clear(); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); } } private void btnmodifp_Click(object sender, EventArgs e) { if (txtnombrep.Text == "") { MessageBox.Show("El campo nombre no puede quedar vaco", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { miconexion.Open(); SqlCommand comando = new SqlCommand("UPDATE Productos SET Producto=@Producto, Descripcion=@Descripcion, Precio=@Precio WHERE ID_Producto=@ID_Producto", miconexion); comando.Parameters.AddWithValue("ID_Producto", txtclavep.Text); comando.Parameters.AddWithValue("Producto", txtnombrep.Text); comando.Parameters.AddWithValue("Descripcion", txtdescrip.Text); comando.Parameters.AddWithValue("Precio", txtprecio.Text); comando.ExecuteNonQuery(); MessageBox.Show("Producto actualizado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); miconexion.Close(); txtclavep.Clear(); txtnombrep.Clear(); txtdescrip.Clear(); txtprecio.Clear(); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); btnmodifp.Visible = false; btneliminp.Visible = false; } }

39

private void btneliminp_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Seguro que desea eliminar el producto?", "Advertencia", MessageBoxButtons.YesNo); switch (result)

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


{

Ferreteras_Namorado

case DialogResult.Yes: SqlCommand Consulta = new SqlCommand("delete from Productos where ID_Producto=@ID_Producto", miconexion); Consulta.Parameters.AddWithValue("ID_Producto", txtclavep.Text); miconexion.Open(); SqlDataReader ejecuta = Consulta.ExecuteReader(); txtclavep.Clear(); txtnombrep.Clear(); txtdescrip.Clear(); txtprecio.Clear(); btnagregarp.Visible = true; btneliminp.Visible = false; btnmodifp.Visible = false; MessageBox.Show("Producto eliminado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); miconexion.Close(); break; case DialogResult.No: break; } } private void btnnuevop_Click(object sender, EventArgs e) { txtclavep.Clear(); txtnombrep.Clear(); txtdescrip.Clear(); txtprecio.Clear(); btnagregarp.Visible = true; btneliminp.Visible = false; btnmodifp.Visible = false; actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); } private void btncatalp_Click(object sender, EventArgs e) { dgvproductos.Visible = true; actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); } private void txtclavep_KeyPress(object sender, KeyPressEventArgs e) { if (Char.IsDigit(e.KeyChar)) { e.Handled = false; }

40

else if (Char.IsControl(e.KeyChar)) { e.Handled = false; }

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

else if (Char.IsSeparator(e.KeyChar)) { e.Handled = false; } else { e.Handled = true; } if (e.KeyChar == (char)(Keys.Enter)) { e.Handled = true; miconexion.Open(); SqlCommand Consulta = new SqlCommand("select * from Productos where ID_Producto=@ID_Producto", miconexion); Consulta.Parameters.AddWithValue("ID_Producto", txtclavep.Text); SqlDataReader ejecuta = Consulta.ExecuteReader(); if (ejecuta.Read()) { txtnombrep.Text = ejecuta.GetString(1); txtdescrip.Text = ejecuta.GetString(2); txtprecio.Text = ejecuta.GetSqlMoney(3).ToString(); btnagregarp.Visible = false; btnmodifp.Visible = true; btneliminp.Visible = true; miconexion.Close(); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText);

} else { MessageBox.Show("La clave no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtclavec.Text = ""; miconexion.Close(); txtclavec.Focus(); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); } } } private void txtprecio_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 8) { e.Handled = false; return; }

41

bool IsDec = false; int nroDec = 0;

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


for (int i = 0; i < txtprecio.Text.Length; i++) { if (txtprecio.Text[i] == '.') IsDec = true; if (IsDec && nroDec++ >= 2) { e.Handled = true; return; }

Ferreteras_Namorado

} if (e.KeyChar >= 48 && e.KeyChar <= 57) e.Handled = false; else if (e.KeyChar == 46) e.Handled = (IsDec) ? true : false; else e.Handled = true;

if (e.KeyChar == (char)(Keys.Enter)) { e.Handled = true; if (btnagregarp.Visible == true) { if (txtnombrep.Text == "" || txtdescrip.Text == "" || txtprecio.Text == "") { MessageBox.Show("Todos los campos son obligatorios", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { miconexion.Open(); SqlCommand comando = new SqlCommand("INSERT INTO [Productos](Producto, Descripcion, Precio) VALUES (@Producto,@Descripcion,@Precio)", miconexion); comando.Parameters.AddWithValue("Producto", txtnombrep.Text); comando.Parameters.AddWithValue("Descripcion", txtdescrip.Text); comando.Parameters.AddWithValue("Precio", txtprecio.Text); comando.ExecuteNonQuery(); miconexion.Close(); MessageBox.Show("Producto registrado exitosamente", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtclavep.Clear(); txtnombrep.Clear(); txtdescrip.Clear(); txtprecio.Clear(); actualizar_productos(dataAdapter_productos.SelectCommand.CommandText); } }

42
}

private void txtprecio_Validating(object sender, CancelEventArgs e) {

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


}

Ferreteras_Namorado

//AQUI EMPIEZA EL APARTADO DE LOS ABONOS private void btnbuscarabono_Click(object sender, EventArgs e) { } private void txtfechaabono_TextChanged(object sender, EventArgs e) { txtfechaabono.Text = DateTime.Now.ToShortDateString(); } private void txthoraabono_TextChanged(object sender, EventArgs e) { txthoraabono.Text = DateTime.Now.ToShortTimeString(); } private void cambiarContraseaToolStripMenuItem_Click(object sender, EventArgs e) { confirmar abrir = new confirmar(); abrir.Show(); }

} }

43

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Explotacin y mantenimiento

Ferreteras_Namorado

El sistema est validado para mandar un aviso al administrador cuando intente agregar una clave que no se encuentre registrada. As mismo estar validado para no permitir caracteres donde no correspondan, por ejemplo, escribir texto donde solo se admitan cantidades monetarias o numricas. Se le dar seguimiento a la actualizacin en la base de datos de los productos si los precios cambiasen. El sistema se pondr se dejar listo para aadir tanto a los clientes, productos, abonos como a los crditos. As mismo, el cdigo se dejar abierto con el propsito de que otra persona con los conocimientos necesarios se enfoque en actualizar el sistema y mejorar su funcionalidad ampliamente.

44

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Generacin de bitcoras

Ferreteras_Namorado

Como primer paso se analizaron los diferentes departamentos que tienen relacin con el proyecto a elaborar, los cuales son: el

Semana 1
departamento de cobranza y el de crditos. As mismo se aprovech la ocasin para hablar con el asesor industrial a cerca de los distintos apartados que se tomaron en cuenta para el diseo del sistema. Durante la segunda semana se recolect informacin sobre la historia y antecedentes de la empresa Ferreteras Namorado. En esta semana

Semana 2
se document la informacin recopilada de la historia de la sucursal central, localizada en el centro de la ciudad de Paso del Macho, donde el proyecto se llev a cabo. En esta semana se lleg a un acuerdo con el asesor industrial en relacin a los das que la empresa destinara para atender las

Semana 3
necesidades del proyecto y del alumno. Los das que se asignaron para ir a la empresa fueron de lunes a viernes en un horario de 11 de la maana a 7 de la tarde.

Semana 4

Dentro de esta semana se inici con la estructuracin de la base datos mediante la creacin de los modelos Entidad - Relacin.

de

En esta semana se termin de detallar la base de datos,

Semana 5

las tablas y se analiz la organizacin de las mismas.

Tambin

se

hicieron los ajustes necesarios para depurar los campos que no fueron necesarios y se cre el modelo relacional de las tablas. Esta semana fue dedicada a la revisin y correccin de errores en la

Semana 6
45

base de datos. La empresa se encarg de revisar el avance de la documentacin presentada para la primera evaluacin. Tambin se agregaron los programas a utilizar para el desarrollo tanto visual de la

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


interfaz y de la base de datos.

Ferreteras_Namorado

Se comenz a buscar la metodologa ms adecuada para el

Semana 7
desarrollo del sistema, los modelos ms convenientes fueron los de cascada y el de espiral. Se decidi utilizar el modelo en cascada pues se lleg a la conclusin de que es un modelo sencillo y se comenzaron a desarrollar cada

Semana 8
una de las etapas del modelo. Primeramente se desarroll el anlisis de requerimientos en colaboracin con el asesor industrial para determinar las necesidades de la empresa que cubriera el sistema. Se continu con el desarrollo del modelo en cascada, esta vez en la etapa de diseo preliminar, donde se hicieron bocetos del posible

Semana 9
diseo del sistema. Aqu se colocaron en distintas posiciones los controles del sistema utilizando el programa Microsoft Visual Studio 2010. En esta semana se comenz la programacin del sistema, aplicando cdigos y validaciones a los controles para un correcto

funcionamiento del sistema. Tambin se implement un acceso

Semana 10
restringido al administrador de los crditos donde ste debe introducir una clave de acceso como medida de seguridad. De igual manera se comenzaron a elaborar los reportes semanales mediante el formato de bitcoras. Se revisaron los detalles pendientes de la programacin y se

Semana 11
continu ingresando registros de prueba en la base de datos. Se contina con la documentacin de las actividades de esta semana. 46

Semana 12

Esta semana se emple para la revisin y correccin de los formularios y detalles pendientes. Se contina ingresando a la base de datos los registros para pruebas.

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Esta semana es utilizada para finalizar los ltimos detalles pendientes

Semana 13
del sistema y la base de datos. Se contina ingresando a la base de datos registros. Se realizan pruebas de funcionalidad al sistema.

Semana 14

Aqu se da la capacitacin pertinente para el manejo del sistema y se implementa dentro de la empresa.

47

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Recomendaciones

Ferreteras_Namorado

48

Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras

Ferreteras_Namorado

Captulo IV. Conclusiones y recomendaciones


Al trmino de este proyecto podemos concluir que la importancia de crear sistemas es que sirven de apoyo para los usuarios, ya que con estos tienen un mejor control sobre las actividades dentro de una empresa, as como un dominio ms completo en relacin a los movimientos efectuados con los productos existentes. Los sistemas que son creados a la medida en mi opinin son ms recomendables, debido a que el usuario pide lo necesario y lo ms apropiado para el sistema, con esto se logra un sistema que sea idneo y apto para cada tipo de empresa. Es importante el apoyo que se da por parte de las empresas a las universidades para el desarrollo y crecimiento de los alumnos, en este caso la estada es un proyecto muy valioso para los egresados, ya que al realizar la liberacin se titular al egresado. Es de gran importancia que se entregue un proyecto de calidad y que cumpla con lo planeado. Al finalizar el sistema el alumno refuerza los conocimientos adquiridos durante su estancia en la universidad, y tambin se pretende que el alumno busque sus propios medios para salir adelante. Gracias a la apoyo del asesor industrial y al respaldo del asesor acadmico se logr terminar el proyecto de estada. Sistema de Crditos Namorado (SCN) es una herramienta informtica diseada especialmente para resolver el problema del control de crditos dentro de la empresa Ferreteras Namorado, ayudando enormemente para llevar a cabo el proceso de pedidos a crdito por parte de los clientes, realizndose de una manera eficaz con lo cual se ahorrar tiempo y esfuerzo, reduciendo las prdidas en las utilidades. Se recomienda la implementacin de un manual de usuario que sirva de orientacin al 49 administrador de los crditos para resolver sus dudas en cuanto a la funcionalidad del sistema, brindndole la informacin necesaria para que se sienta ms seguro a la hora de utilizarlo. Universidad Tecnolgica del Centro de Veracruz | TIC

Jos Manuel Velzquez Parras


Referencia Bibliogrfica:

Ferreteras_Namorado

Metodologa para el desarrollo de sistemas. [En lnea]. Pantoja, Arnoldo. Scribd Inc. 2012. (Consulta: lunes 4 de junio de 2012). Disponible en internet: http://es.scribd.com/doc/17519265/Metodologia-Para-el-Desarrollo-de-Sistemas

Desarrollo en cascada. [En lnea]. S. Presuman, Roger. Ingeniera del Software: Un enfoque prctico, 3ra.edicin, Pg. 26-30. 2012. (Consulta: lunes 4 de junio de 2012). Disponible en internet: http

Modelo en espiral. [En lnea]. Masache Leon, Carmen. Pepper Conforme, Jos Paul. Scribd Inc. (Consulta: lunes 4 de junio de 2012). Disponible en internet: http://es.scribd.com/doc/35012428/Modelo-espiral-y-Prototipo-Paul-Pepper-UNEMI http://kalreturns.blogspot.mx/2009/09/modelo-en-espiral.html

Microsoft Visual Studio. [En lnea]. (Consulta: lunes 4 de junio de 2012). Disponible en internet: http://es.wikipedia.org/wiki/Microsoft_Visual_Studio

Microsoft SQL Server. [En lnea]. (Consulta: lunes 4 de junio de 2012). Disponible en internet: http://es.wikipedia.org/wiki/Microsoft_SQL_Server

50

Universidad Tecnolgica del Centro de Veracruz | TIC

You might also like