Вы находитесь на странице: 1из 351

UNIVERSIDAD TECNICA DE MACHALA FACULTAD DE INGENIERA CIVIL ESCUELA DE INFORMTICA

2012
PORTAFOLIO DE PROGRAMACION 1

ALUMNO TUTORADO: Luis David Zamora Lojn CURSO: 5to Quimestre A TUTOR: Ing. Mariuxi Zea

1|Pgina

Contenido
INTRODUCCIN ........................................................................................................................................ 3 SYLLABUS DE LA ASIGNATURA ................................................................................................... 4 ACTIVIDADES DE APRENDIZAJE INTRA Y EXTRA CLASE................................................... 13 CAPITULO 1: INTRODUCCIN A .NET ........................................................................................ 14 CAPITULO 2: VISUAL STUDIO 2005 Y C# ................................................................................... 46 CAPITULO 3: USO DE CONTROLES Y METODOLOGA DE DESARROLLO.................... 100 CAPITULO 4: PRESENTACIN DE RESULTADOS (INFORMES) ........................................ 307 EXAMEN FINAL ................................................................................................................................ 348 PROYECTO FINAL .......................................................................................................................... 350

2|Pgina

INTRODUCCIN
Este trabajo corresponde al portafolio del mdulo de programacin 1, en el periodo correspondiente al 5to. Quimestre del 2012, en el cual observaremos todas las actividades realizadas da a da en el transcurso de las clases de esta materia. Al inicio de las clases fueron para afianzar los conceptos y fundamentos tericos de los estudiantes con respecto a la programacin orientada a objetos, as como adentrarse a la programacin en la plataforma .net, exclusivamente el lenguaje de programacin C Sharp (C#). Luego las clases fueron prcticas, en la cual se trabajaban con bases de datos a eleccin, entre las cuales tenemos Access o SQL Server, dando pautas para que los estudiantes realicen trabajos investigativos tanto para exposiciones grupales hacia sus compaeros sobre la forma de utilizar las bondades de la plataforma .net con C#, como para la realizacin paso a paso sobre los proyectos finales en el cual se iban aplicando, tras cada exposicin, lo que se aprenda en clases. Al final se demostr exitosa la forma de aprendizaje en la cual se aprendi mucho y se obtuvo grandes logros que enorgullecieron la imagen de la Escuela de informtica, con los trabajos finales presentados a la ciudadana en el 3 lanzamiento de software educativos y comerciales a empresas pblicas y privadas. Ahora se explicar paso a paso lo que se realiz en el transcurso del mdulo de Programacin 1.

3|Pgina

SYLLABUS DE LA ASIGNATURA

4|Pgina

UNIVERSIDAD TCNICA DE MACHALA


FACULTAD DE INGENIERA CIVIL
CARRERA DE INGENIERA EN SISTEMAS

SYLLABUS
PROGRAMACIN I

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

ASIGNATURA MALLA CURRICULAR PERIODO ACADMICO CDIGO

: PROGRAMACIN I : SISTEMA SEMESTRAL : 2012-2013 : 502

NUMERO DE CRDITOS : 5 PRERREQUISITO CORREQUISITO : BASE DE DATOS ANLISIS ORIENTADO A OBJETOS : DISEO ORIENTADO A OBJETOS : 80 horas semestrales

7. 8. 9.

No. HORAS CLASE

No HORAS NO PRESENCIALES: 80 horas semestrales HORARIO DE CLASE : 4 HORAS SEMANALES (60 minutos c/hora)

10. DESCRIPCIN DE LA ASIGNATURA Programacin I, es una asignatura en donde se utiliza un lenguaje de programacin, en este caso C#, para construir sistemas informticos que resuelvan las necesidades o requerimientos de empresas. Permitir reforzar la lgica de programacin de los estudiantes, incentivar al autoaprendizaje de nuevos lenguajes de programacin, la autodisciplina y la utilizacin de metodologas para el desarrollo de sistemas informticos basados en una metodologa de desarrollo.

5|Pgina

11. CONTRIBUCIN DE LA ASIGNATURA EN LA FORMACIN DEL INGENIERO DE SISTEMAS Con la asignatura Programacin I el ingeniero de sistemas adquiere las siguientes habilidades. 1. Modelar y resolver problemas de diferentes disciplinas que involucran el desarrollo de un software de escritorio. 2. Proponer diferentes soluciones para resolver problemas informticos. 3. Desarrollar software utilizando metodologa de desarrollo y tcnicas de programacin. 4. Capacidad de liderar y gestionar grupos de desarrollo en proyectos de creacin de software 12. RESULTADOS DE APRENDIZAJE DE LA ASIGNATURA 12.1 Disear e implementar conexiones hacia base de datos (SQL Server y/o Access) desde una aplicacin desarrollada en el lenguaje C# 12.2 Planificar, construir e Implementar aplicaciones en ambiente de escritorio amigables, flexibles y seguras que permitan resolver los problemas dentro de los procesos administrativos, utilizando el Lenguaje C#. 12.3 Programar mtodos que muestren caractersticas de bajo acoplamiento y alta cohesin. 12.4 Crear reportes que permitan tomar decisiones y ejecutarlos desde una interface creada en lenguaje C#. 12.5 Utilizar tcnicas de programacin y metodologa de desarrollo para crear e implementar soluciones informticas de escritorio eficientes. 13. PROGRAMACIN DETALLADA

DETALLE CAPITULO I (10 Horas clase) INTRODUCCIN A .NET 1.1 Diagnstico, Introduccin y encuadre 1.2 Introduccin a la programacin 1.3 .net Framework 1.4 Metodologa de Desarrollo de software 1.5 Diseo de ambientes Windows CAPITULO II (6 horas clase) VISUAL STUDIO 2005 Y C# 2.1 Conexin a Base de Datos 2.2 Acceso a Base de Datos 2.3 Tipos de Datos por Valor y Referencia 2.4 Funciones 2.5 Nombres reservados

HORAS CLASE

2 2 2 2 2

1 1 1 1 2
6|Pgina

CAPITULO III (34 Horas clase) USO DE CONTROLES Y METODOLOGA DE DESARROLLO 3.1 Clases y mtodos 2 3.2 Conexin a la base de datos con el DataAdapter 2 3.3 Programacin de mtodos 2 3.4 Programacin de botones de navegacin 2 3.5 Operaciones CRUD 4 3.6 Principales controles 4 3.7 Bsqueda de registros 2 3.8 Validacin Integridad Referencial: llave principal 2 3.9 Validacin Integridad Referencial: llave ajena 2 3.10 Formularios con relacin 1 a 1 2 3.11 Creacin de valores automticos 1 3.12 Validacin de ingreso de datos 1 3.13 Llamada a otros formularios 2 3.14 Formulario con relacin 1 a N 2 3.15 Creacin de mens 2 3.16 Creacin y uso de usuarios 2 CAPITULO IV (30 Horas clase) PRESENTACIN DE RESULTADOS. INFORMES 4.1 Creacin y ejecucin de informes. Una tabla 4.2 Informes con varias tablas. (1 a N) 4.3 Informes con filtros 4.4 Informes con quiebre de control 4.5 Examen Final del mdulo 4.6 Defensa de Proyectos 4.7 Examen de Recuperacin

3 3 2 2 8 8 4

TOTAL HORAS CLASE

80

14. TEXTO Y OTRAS REFERENCIAS TEXTO GUA C# Joseph Schmuller Editorial: Prentice Hall BIBLIOGRAFIA ADICIONAL Programando con C# Deitel & Deitel Editorial: Prentice Hall

No.Edicin: Quinta
7|Pgina

C# Paso a Paso Luis Joyanes Editorial: McGrawHill

No. Edicin:

15. DESCRIPCIN DE LA METODOLOGA DE ENSEANZA ESTRATEGIAS PEDAGGICAS DEL DOCENTE Identificar individualidades y estilos de aprendizaje de los estudiantes Organizar grupos de trabajo para prcticas en el laboratorio Definir tareas de aprendizaje de acuerdo al avance de la materia Determinar tpico de investigacin bibliogrfica

TRABAJOS QUE DEBEN REALIZAR LOS ESTUDIANTES Ejecutar tareas de aprendizaje planificadas Realizar tareas extraclase en el aulavirtual Mejorar su propio rendimiento Llevar a cabo un Proyecto de aplicacin que ser presentado en un evento de Lanzamiento de Software. Rendir las pruebas y examen final para las fechas programadas.

16. TRABAJO TERMINAL Los estudiantes elaborarn un trabajo o proyecto de aplicacin de la asignatura en el desarrollo de software de escritorio para una empresa de la localidad, para lo cual debern utilizar las capacidades desarrolladas en clase durante el periodo de enseanza. El proyecto de investigacin estar orientado hacia la utilizacin de las tcnicas de programacin y metodologa de desarrollo en la resolucin de problemas, que brinde seguridad, acceso y navegacin, utilizando el lenguaje de programacin C#.

17. PORTAFOLIO DE LA ASIGNATURA El portafolio de la asignatura contendr la siguiente informacin Cartula Syllabus Tareas en clase Tareas extraclase Evaluaciones parciales Evaluacin final Evidencia de eventos investigativos. Apuntes relevantes
8|Pgina

18. RECURSOS DIDCTICOS Los recursos didcticos a emplearse son: Texto gua y Bibliografa adicional Informacin del Internet Aula Virtual Laboratorio de computacin y proyector Software especializado: Visual .NET (C#) 2008, SQL Server 2005, Access 2010 Software Ofimtico: Office 2010 Aulas de Clase Pizarrn y marcadores

19.

RELACION DE APRENDIZAJE.

LA

ASIGNATURA

CON

LOS

RESULTADOS

DE

Se describe que es lo que se espera que los estudiantes conozcan y sean capaces de hacer al momento de terminar la asignatura.

RESULTADOS

CONTRIBUCIN EL ESTUDIANTE DEBE Aplicar procedimientos y leyes de la lgica matemtica para la implementacin de cdigo de programacin para la eficiencia y efectividad de soluciones informticas Levantar e interpretar datos de los procesos de negocio tomados en el anlisis, necesarios para el modelamiento y diseo de la aplicacin, as como la verificacin de la aplicacin mediante pruebas de unidad Disear componentes de cdigo reutilizables, para su implementacin entre diferentes proyectos de desarrollo de software aplicables en distintos contextos de negocio.

a) Aplicar conocimiento en Matemticas, Ciencia e Ingeniera

BAJA

b) Disear, conducir experimentos, analizar e interpretar datos

BAJA

c) Disear sistemas, componentes o procesos de Ingeniera de ALTA Sistemas bajo restricciones realistas

9|Pgina

RESULTADOS

CONTRIBUCIN EL ESTUDIANTE DEBE Conformar equipos de trabajo para el trabajo en clase y el proyecto final donde se distribuyan habilidades respecto a las diferentes soluciones. Entender diferentes procesos que se llevan a cabo en los negocios del mundo real, donde se pueden aplicar soluciones que involucren programacin en un entorno de escritorio. Resolver problemas informticos generales que involucren parmetros comunes y determinen subrutinas reutilizables

d) Trabajar como un equipo multidisciplinario

MEDIA

e) Identificar, formular y resolver problemas de ingeniera

ALTA

f) Comprender la responsabilidad tica y profesional

BAJA

Desarrollar un proyecto final que determine la participacin e innovacin de nicamente los involucrados y entregarlo a tiempo. Explicar la factibilidad y las ventajas del producto que han desarrollado. Desarrollar un manual de usuario claro y didctico, de tal manera que las dudas del usuario se puedan resolver fcilmente.

g) Comunicarse efectivamente

MEDIA

h) Entender el impacto de la ingeniera en el ***** contexto social y medio ambiental Realizar investigaciones sobra la evolucin de los lenguajes de programacin para entender los cambios continuos que se generan en la tecnologa. Entender los problemas de actualidad y ms comunes del negocios, que se resuelvan con soluciones de escritorio.

i) Comprometerse con el aprendizaje continuo

BAJA

j) Conocer temas contemporneos

BAJA

10 | P g i n a

RESULTADOS k) Usar tcnicas, habilidades y herramientas para la prctica de ingeniera

CONTRIBUCIN EL ESTUDIANTE DEBE Aplicar tcnicas de programacin, metodologa de desarrollo, y base de datos objeto relacionales

BAJA

i) Capacidad para liderar gestionar o emprender proyectos

MEDIA

Conformar grupos de desarrollo, que requieran direccin y liderazgo, para el anlisis, diseo e implementacin del proyecto final de la asignatura

20. EVALUACIN DE LA ASIGNATURA El objetivo de la evaluacin es poder comparar lo asimilado por el estudiante con lo que debi asimilar, de tal manera que para el docente se convierta en un termmetro que le indica hasta donde lleg con los conocimientos a los estudiantes. La evaluacin de la asignatura estar conformada por la evaluacin de cada unidad, de la siguiente manera:

FRECUENTE: Participacin del estudiante. Exposiciones - Investigaciones. Asistencia Puntualidad.

PARCIAL: Trabajos individuales y en grupo. Pruebas escritas tericas y prcticas. Trabajos de investigacin. FINAL: Examen prctico. Trabajo prctico.

11 | P g i n a

CUADRO DE PUNTAJE DEL SISTEMA DE EVALUACIONES

Participacin individual y grupal Reportes y consultas Trabajo autnomo Trabajos de investigacin Bibliogrfica o Campo (Proyecto) Evaluacin de unidad Examen Total

2 1 1 1 2 3 10 ptos.

21. RESPONSABLE DE LA ELABORACIN DEL SYLLABUS Elaborado por: ING. MARIUXI PAOLA ZEA ORDOEZ, Profesora de la Asignatura Mail: mpzea@yahoo.com Telfono: Celulares: 2915426 098228455 088006455

Machala, Abril de 2012

12 | P g i n a

ACTIVIDADES DE APRENDIZAJE INTRA Y EXTRA CLASE

13 | P g i n a

CAPITULO 1: INTRODUCCIN A .NET

14 | P g i n a

ACTIVIDAD N:
TEMA:

FECHA:

02/04/2012 - 03/04/2012

1. Establezca su objetivo para el mdulo de Programacin 2. Compartir el objetivo con los compaeros del curso DIAGNSTICO, INTRODUCCIN Y ENCUADRE Describir un objetivo personal para el mdulo

UNIDAD N 1.1:

OBJETIVO:

PROBLEMA:

Desconocimiento del enfoque del mdulo g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo Compromiso, Responsabilidad TIPO DE ACTIVIDAD
ALCANCE FORMA

INDICADOR DE EVALUACIN: VALORES:


LUGAR

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Objetivo Propuesto: Esforzarme, Estudiar y Aprobar el mdulo de Programacin I.

15 | P g i n a

ACTIVIDAD N:

FECHA:

04/04/2012 - 05/04/2012

1. Los alumnos en forma individual contestarn por escrito lo siguiente: Usted es el ingeniero de sistemas contratado para resolver algunos problemas en los procesos administrativos de una Empresa cuyos datos se proporcionan a continuacin: Caractersticas de la Empresa Nombre: XYZ. Descripcin: La empresa se dedica a la comercializacin de productos varios, ha tenido problemas con la elaboracin del rol de sueldo de los empleados, los informes sobre la cartera de clientes y el inventario de productos, debido a que la informacin la manejan de forma manual, posee 2 computadoras Intel Pentium, con bajas caractersticas. No estn conectadas a red y las aplicaciones que son utilizadas es Word para elaborar oficios, memorndums, circulares; y, Excel para elaborar facturas, llevar el control de inventario y la nmina de los empleados. El personal con el que cuenta la empresa es: Secretaria de Gerencia, 2 vendedores, 1 Bodeguero, El Gerente General, Gerente de Ventas, Contadora y 1 mensajero. De acuerdo a la investigacin realizada y a los datos proporcionados de la Empresa Qu propone hacer para solucionar este problema, y por qu? Qu beneficios proporciona su propuesta planteada, Por qu? Qu lenguaje recomendara utilizar para automatizar los procesos de la Empresa? Por qu? UNIDAD N 1.2: INTRODUCCIN A LA PROGRAMACIN Comprender cundo y por qu un problema debe ser automatizado mediante un lenguaje de programacin

TEMA:

OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente e) Identificar, formular y resolver problemas de ingeniera TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

16 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Como ingeniero de sistemas propongo implementar un sistema automatizado que gestiones esos datos de la empresa de manera automatizada y eficiente para q no exista perdida de datos y contar con ellos en tiempos pertinentes. Los beneficios que traeran para la empresa seria que primeramente tendran control sobre los procesos de la empresa, as como de los datos que estos generen, los datos de usuarios y clientes estaran guardados y disponibles para usarse en cualquier momento al igual que los datos de los productos que disponen para la venta, y disminuira los costos y tiempos de ejecucin de las actividades como roles de pagos, consultas de clientes e inventarios. Recomendara trabajar con un lenguaje de programacin de bajo o de medio nivel, en este caso C++, porque las computadoras con las que trabaja la empresa presenta pocos requerimientos y trabajar con un leguaje de mayores caractersticas ocasionara el colapso del sistema, en cambio solo buscamos funcionalidad sobre apariencia lo cual se puede hacer perfectamente con C++. Solo si la empresa est dispuesta a hacer una inversin para comprar mejores equipos de cmputo podramos optar por desarrollar un sistema de informacin sobre una plataforma de mayores caractersticas como lo es java o .net.

17 | P g i n a

ACTIVIDAD N:

FECHA:

04/04/2012 - 05/04/2012

1. Los alumnos en forma individual contestarn por escrito lo siguiente: Un nuevo virus apareci y da especficamente todos los lenguajes de programacin utilizados (Ejemplo: Visual Basic, Visual FoxPro, C++, Java, C#, etc.), de tal manera que despus de un tiempo no se podr ejecutar ningn programa, usted ha sido designado por su compaa para desarrollar un nuevo lenguaje de programacin. Qu caractersticas tendra dicho lenguaje? Por qu? INTRODUCCIN A LA PROGRAMACIN Establecer los beneficios de utilizar programacin orientada a objetos

TEMA:

UNIDAD N 1.2: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente e) Identificar, formular y resolver problemas de ingeniera TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

18 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Primeramente vera las mejoras que proporcionaban cada una de las plataformas donde se ejecutaban dichos lenguajes. Sera un lenguaje de programacin por capas en la cual se trabaje a bajo nivel pre compilando lenguaje a alto nivel para que sea fcil de usar y entender, debera tener varias versiones de entorno de trabajos que se pueda usar desde un equipo de bajas caractersticas hasta un elaborado sistema de informacin con diseos avanzados mediante la utilizacin de plugins o libreras externas en su entorno de desarrollo. Deber ser software libre para que su desarrollo avance rpidamente entre el mundo de la programacin y existan mayor nmero de herramientas disponibles para su uso. Multiplataforma e independiente del kernel, pudiendo tambin trabajar para una plataforma especfica para equipos de baja caractersticas que compilen con libreras locales, para aplicaciones personales de escritorio. Deber ser un lenguaje distribuido y adaptado a la red y a la web para su uso libre en el mundo del internet. Tambin contara con opciones de seguridad que prevengan posibles cadas de sistema y respaldo automtico de informacin en aplicaciones y niveles de seguridad contra posibles virus que afecten su desarrollo.

19 | P g i n a

ACTIVIDAD N:

FECHA:

04/04/2012 - 05/04/2012

TEMA:

En grupo de mximo 4 personas, comparta sus respuestas, discuta con sus compaeros y seleccione el lenguaje de programacin ms conveniente para la empresa, explique por escrito el porqu de sus decisiones. Qu caractersticas deben proporcionar los lenguajes de programacin a los sistemas automatizados? Por qu? (Elabore una lista de al menos 5 caractersticas). Los alumnos expondrn sus respuestas ante sus compaeros y debatirn sus acuerdos o desacuerdos con la seleccin presentada. Se revisar las caractersticas de los lenguajes de programacin.

UNIDAD N 1.2: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

INTRODUCCIN A LA PROGRAMACIN Establecer los beneficios de utilizar programacin orientada a objetos

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente e) Identificar, formular y resolver problemas de ingeniera j) Conocer temas contemporneos TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

20 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

C C++ Tiene un conjunto completo de instrucciones de control. Permite la agrupacin de instrucciones. Incluye el concepto de puntero (variable que contiene la direccin de otra variable). Los argumentos de las funciones se transfieren por su valor. E/S no forma parte del lenguaje, sino que se proporciona a travs de una biblioteca de funciones. Un ncleo del lenguaje simple, con funcionalidades aadidas importantes, como funciones matemticas y de manejo de archivos, proporcionadas por bibliotecas. Es un lenguaje muy flexible que permite programar con mltiples estilos. Uno de los ms empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura). Un sistema de tipos que impide operaciones sin sentido. Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir mltiples archivos de cdigo fuente. Acceso a memoria de bajo nivel mediante el uso de punteros. Interrupciones al procesador con uniones. Un conjunto reducido de palabras clave.

Java Lenguaje Simple Orientado a Objeto Distribuido Robusto Seguro

21 | P g i n a

ACTIVIDAD N:

FECHA:

04/04/2012 - 05/04/2012

TEMA:

Concrete una cita con un ingeniero, analista o programador de sistema que labore en el rea de desarrollo de software. Hable sobre uno de los proyectos de sistemas de informacin en los que esta persona est trabajando. Y elabore un informe en donde describa las funciones que realiza y porqu utiliza determinada herramienta de programacin: INTRODUCCIN A LA PROGRAMACIN Conocer y entender cules son las tareas y consideraciones que se deben tomar encuentra para desarrollar un buen Sistema, amigable, flexible, que cumpla con las necesidades de la empresa, que solucione los problemas existentes en los procesos administrativos.

UNIDAD N 1.2:

OBJETIVO:

PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el apredizaje continuo TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

22 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Datos del entrevistado: Nombre: Ing. Byron Torres DESARROLLO DE LA ENTREVISTA Cules son las funciones que son soportadas por dicho proyecto (por ejemplo, proceso de transacciones, ayuda a la decisin, automatizacin de oficinas)? Las funciones que tiene el sistema aCOSMOS son de Mdulo de declaracin de impuesto, Modulo de Inventario, Modulo de Produccin, Modulo de Cartera. Tambin maneja listas de biomtricos e interfaces web para el manejo de palms. En los pedidos de productos controla el stock de los mismos para de esta manera saber con cuantos productos se cuenta. Qu lenguajes de programacin utiliza o ha utilizado? Por qu? Lo lenguajes con los que ms ha trabajado C#, C++, Visual Basic, Java.Net y PHP. Java y .Net se los utiliza por las interfaces ya que se trabaja de menor manera con la base de datos e interfaz para web. Qu tareas realiz para desarrollar el software? Conversar con los usuarios para obtener las necesidades de ellos, tambin con los jefes de tal manera poder determinar qu tipo de informacin ellos esperan obtener. Obtener la informacin respectiva para realizar un anlisis y ver qu es lo implementar para realizar un sistema que contenga todos los requisitos adquiridos de los clientes. Elaborar un prototipo del sistema, es decir para de esta manera poder corregir los errores que pudiera tener el sistema. Cmo me puedo asegurar que mi desarrollo se implementar sin problemas? Teniendo una buena comunicacin con el cliente para de esta manera poder recopilar informacin verdica, obtener los debidos requerimientos del cliente, es decir como desea que quede su sistema, para de esa manera realizar un sistema bien estructurado y completo.

23 | P g i n a

ACTIVIDAD N:

FECHA:

04/04/2012 - 05/04/2012

Si usted quiere aprender a programar, existen muchos recursos, hay libros, tutoriales de bolsillo, tutoriales en el WEB. Visite algunos tutoriales de los lenguajes de programacin arriba mencionados. Conteste lo siguiente en forma de reflexin:

TEMA:

Qu tipo de apoyo proporcionan. Qu tanta ayuda proporcionan estos sitios. Termino usted sabiendo ms acerca de la programacin que antes, por qu? Qu piensa acerca de estos tutoriales en lnea, comparados con aprender de un libro o en una clase. De qu manera estos tutoriales contribuyeron a su aprendizaje.

UNIDAD N 1.2:

INTRODUCCIN A LA PROGRAMACIN Establecer la bibliografa e informacin a utilizar Identificar sitios de Internet para buscar informacin

OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

24 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Qu tipo de apoyo proporcionan. Los manuales, libros y tutoriales nos proporcionan una gua muy importante para conocer y saber ms informacin acerca del lenguaje de programacin, ya que estos nos ofrecen informacin muy variada acerca del uso del programa, as como su respectiva sintaxis y las diferentes funciones y mtodos que tiene el lenguaje, es por ello que se debe encontrar un buen material que sea lo mejor explicito posible para que as la comprensin sea mucho ms fcil. Qu tanta ayuda proporcionan estos sitios. Los tutoriales nos brindan una ayuda muy valiosa ya que nos permiten autoeducarnos a travs del contenido de los manuales, cada vez que tengamos una duda o dificultad en alguna funcin o sintaxis del programa, es por ello que se hace indispensable contar con un grupo de manuales que nos puedan servir de ayuda durante el transcurso del mdulo para que as el proceso de aprendizaje sea ms productivo y con mejor desempeo. Termino usted sabiendo ms acerca de la programacin que antes, por qu? No, ya que los manuales y tutoriales solo muestran el contenido general de un lenguaje de programacin, y por lo tanto solo nos sirve para contar con una ayuda extra para cualquier inquietud que tengamos acerca de alguna sintaxis del programa o como funciona algn mtodo o evento. Qu piensa acerca de estos tutoriales en lnea, comparados con aprender de un libro o en una clase. Yo pienso que el aprendizaje es mejor en clase porque los estudiantes pueden despejar sus inquietudes en ese mismo momento a travs de su tutor, y mucho ms aun, haciendo las practicas, en cambio los tutoriales no ofrecen una ayuda oportuna de alguna inquietud que se tenga de algn contenido el cual no entendemos su significado o no saber dnde ubicarlo. De qu manera estos tutoriales contribuyeron a su aprendizaje. Los tutoriales nos ayudan mucho en lo que se refiere a reforzar lo aprendido en clase ya que nos proporciona una informacin extra que puede ayudarnos en cualquier inquietud que tengamos acerca de lo que estamos trabajando.

25 | P g i n a

ACTIVIDAD N:

FECHA:

09/04/2012 - 10/04/2012

1. Los alumnos en grupos mximo de 4, trabajarn para responder las siguientes preguntas, Se tomarn unos 5 a 15 minutos para pensar individualmente:

TEMA:

Utilizando la lectura y la investigacin realizada responda: En qu generacin de los lenguajes de programacin ubica usted a C#? Qu razones lo llevan a pensar eso? Qu diferencia hay entre C# y los otros lenguajes de Programacin? Por qu? Qu caractersticas tendr un sistema automatizado con C#? Ponga ejemplos. Cundo considera usted que no puede utilizar C# para automatizar un sistema manual? Explique por qu? .NET FRAMEWORK Establecer los beneficios de utilizar programacin orientada a objetos

UNIDAD N 1.3: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

26 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

En qu generacin de los lenguajes de programacin ubica usted a C#? Qu razones lo llevan a pensar eso?. Yo considero a C# un lenguaje entre tercera y cuarta generacin ya que este al ser de alto nivel nos proporciona las herramientas necesarias para que la aplicacin cumpla nuestras expectativas mediante cdigo que le introducimos para que funcione y a la vez utiliza sentencias de consulta donde solo solicitamos la respuesta que queremos del programa, ambas caractersticas corresponden a tercera y cuarta generacin respectivamente. Qu diferencia hay entre C# y los otros lenguajes de Programacin? Por qu? C Sharp es un lenguaje muy potente surgido por influencia de lenguajes de programacin como java, C y C++, de los cuales evoluciono en el desarrollo de todo tipo de aplicaciones y muy intuitivo superando a sus antecesores, trabaja en la plataforma .net y sus aplicaciones son muy vistosas pero muy pesadas para mquinas de pocos requerimientos, apareci en el 2001 y desde entonces a ganado terreno da a da sobre otros lenguajes de programacin por su capacidad y sus caractersticas. Qu caractersticas tendr un sistema automatizado con C#? Ponga ejemplos. Con C# podemos conseguir aplicaciones y sistemas e informacin muy potentes y seguras, de un vistoso diseo gracias a plugins que se pueden incorporar a su entorno de desarrollo, con disponibilidad de red y proyectados a la web, en fin un sinnmero de oportunidades para trabajar, en un entorno controlado por eventos lo cual facilita su uso y lo hace muy maleable siendo orientado a la fcil manipulacin del usuario. Cundo considera usted que no puede utilizar C# para automatizar un sistema manual? Explique por qu? Cuando en el equipo no se pueda instalar la plataforma .net necesaria para que funcione C#, tambin cuando los equipos de la empresa presenten bajos requerimientos ya que C# necesita muchos recursos de las computadoras para correr correctamente.

27 | P g i n a

ACTIVIDAD N:

FECHA:

09/04/2012 - 10/04/2012

TEMA:

1. Como conclusin de la Entrevista realizada a los profesionales en el rea de Sistemas, qu consideraciones cree usted se debern tomar en cuenta al momento de desarrollar aplicaciones (sistemas comerciales), de tal manera que no se encuentren problemas en el momento de la implementacin? Elaborar una lista de al menos 5 tips o caractersticas. 2. Plenaria: Cada grupo compartir sus opiniones y cmo llegaron a esas conclusiones con el resto de compaeros.

UNIDAD N 1.3: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

.NET FRAMEWORK Establecer los beneficios de utilizar programacin orientada a objetos

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo estricciones realistas TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

28 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Primeramente y lo ms importante sera la confianza y comunicacin con el cliente, ya que hay que tener bien en claro cmo funcionan los procesos en la empresa y que tipo de informacin es la que le sirve para que funcionen correctamente y para eso se necesita una buena comunicacin con el cliente y los usuarios finales del sistema. Se debe tener en cuenta los equipos con los que cuenta la empresa para escoger un correcto lenguaje de programacin segn los requerimientos con la que esta disponga. Debemos considerar si la empresa est dispuesta a invertir en el desarrollo del sistema de informacin y si este est en red u orientado en la web segn lo que necesite el cliente. Si en cada equipo se puede implementar correctamente las herramientas que servirn para correr aplicaciones segn el lenguaje de programacin que utilicemos.

29 | P g i n a

ACTIVIDAD N:

FECHA:

09/04/2012 - 10/04/2012

TEMA:

1. Utilizando los buscadores en Internet, elabore un informe acerca de las fortalezas y limitaciones de C#. Busque ejemplos de sistemas (aplicaciones comerciales) que han sido automatizados con C# (mnimo 5). Establezca las caractersticas (en cuanto a apariencia fsica), funcionalidades que tienen dichos sistemas, requerimientos de hardware y software de cada ejemplo .NET FRAMEWORK Establecer las caractersticas de la plataforma .NET Establecer las caractersticas que puede obtener un sistema desarrollado con C#

UNIDAD N 1.3:

OBJETIVO:

PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo estricciones realistas TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

30 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Fortalezas Declaraciones en el espacio de nombres: al empezar a programar algo, se puede definir una o ms clases dentro de un mismo espacio de nombres. Tipos de datos: en C# existe un rango ms amplio y definido de tipos de datos que los que se encuentran en C, C++ o Java.

Atributos: cada miembro de una clase tiene un atributo de acceso del tipo pblico, protegido, interno, interno protegido y privado.

Pase de parmetros: aqu se puede declarar a los mtodos para que acepten un nmero variable de parmetros.

Mtodos virtuales y redefiniciones: antes de que un mtodo pueda ser redefinido en una clase base, debe declararse como virtual.

Propiedades: un objeto tiene intrnsecamente propiedades, y debido a que las clases en C# pueden ser utilizadas como objetos, C# permite la declaracin de propiedades dentro de cualquier clase.

Inicializador: un inicializador es como una propiedad, con la diferencia de que en lugar de un nombre de propiedad, un valor de ndice entre corchetes se utiliza en forma annima para hacer referencia al miembro de una clase.

Control de versiones: C# permite mantener mltiples versiones de clases en forma binaria, colocndolas en diferentes espacios de nombres. Esto permite que versiones nuevas y anteriores de software puedan ejecutarse en forma simultnea.

31 | P g i n a

Limitaciones Las desventajas que se derivan del uso de este lenguaje de programacin son que en primer lugar se tiene que conseguir una versin reciente de Visual Studio .NET, por otra parte se tiene que tener algunos requerimientos mnimos del sistema para poder trabajar adecuadamente tales como contar con Windows NT 4 o superior, tener alrededor de 4 gigas de espacio libre para la pura instalacin, etc.

Adems para quien no est familiarizado con ningn lenguaje de programacin, le costar ms trabajo iniciarse en su uso, y si se quiere consultar algn tutorial ms explcito sobre la programacin en C# se tendra que contar adems con una conexin a Internet.

Ejemplo:

LABVIEW: SISTEMA DE PRUEBAS CLNICAS PARA LA FARMACOLOGA Y LA COSMETOLOGA Este software puede semi-automatizar las mediciones de caracterizacin de la piel durante los ensayos clnicos de productos farmacuticos y cosmticos, utilizando ms de 15 instrumentos de medicin generalmente presentes en este tipo de laboratorio: cornemetro, sebmetro, pHmetro, termmetro, glossmetro, mexmetro, colormetro, tewmetro, reviscmetro, espectro colormetro,

cromammetro, cutmetro, torqumetro. Por lo tanto, hace que las mediciones se hagan de forma ms rpida a travs de una sola herramienta de software. Ejemplo de una serie de mediciones y anlisis mediante el estudio de la

elasticidad de la piel, con el software de pruebas clnicas software para productos cosmticos y farmacuticos Funcionamiento Despus de la creacin y configuracin de un estudio que especifica la lista de sujetos, las condiciones (zonas, tiempos, productos) y los instrumentos, o importando esos datos, el tcnico efecta las mediciones con el instrumento en
32 | P g i n a

mano. El software comunica con el aparato para colectar las mediciones, analizarlas, grabarlas, exportarlas para usarlas en otro software como Excel, e imprimir reportes. Una funcin de calibracin y control permite de la deteccin derivas y corregirlas. Acerca de la trazabilidad, todas acciones del usuario son grabadas para identificar cualquier cambio o problema y para tener un histrico de los estudios.

33 | P g i n a

ACTIVIDAD N:
TEMA:

FECHA:

09/04/2012 - 10/04/2012

1. Investigar sobre .NET Framework. Elaborar un ensayo acerca de lo que entiende de este concepto. Demuestre: De qu se trata? Cmo funciona? .NET FRAMEWORK Establecer las caractersticas de la plataforma .NET

UNIDAD N 1.3: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

34 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

.NET es un framework de Microsoft que hace un nfasis en la transparencia de redes, con independencia de plataforma de hardware y que permita un rpido desarrollo de aplicaciones. .NET Framework es un componente integral de Windows que admite la creacin y la ejecucin de la siguiente generacin de aplicaciones y servicios Web XML. El diseo de .NET Framework est enfocado a cumplir los objetivos siguientes: Proporcionar un entorno coherente de programacin orientada a objetos. Proporcionar un entorno de ejecucin de cdigo que reduzca lo mximo posible la implementacin de software y los conflictos de versiones. Ofrecer un entorno de ejecucin de cdigo que fomente la ejecucin segura del mismo, incluso del creado por terceras personas desconocidas o que no son de plena confianza. Proporcionar un entorno de ejecucin de cdigo que elimine los problemas de rendimiento de los entornos en los que se utilizan secuencias de comandos o intrpretes de comandos. Basar toda la comunicacin en estndares del sector para asegurar que el cdigo de .NET Framework se puede integrar con otros tipos de cdigo.

.NET Framework contiene dos componentes principales: Common Language Runtime y la biblioteca de clases de .NET Framework. Common Language Runtime es el fundamento de la tecnologa. El motor en tiempo de ejecucin se puede considerar como un agente que administra el cdigo en tiempo de ejecucin y proporciona servicios centrales, como la administracin de memoria, la administracin de subprocesos y la interaccin remota, al tiempo que aplica una seguridad estricta a los tipos y otras formas de especificacin del cdigo que fomentan su seguridad y solidez. De hecho, el concepto de administracin de cdigo es un principio bsico del motor en tiempo de ejecucin. El cdigo destinado al motor en tiempo de ejecucin se denomina cdigo administrado, a diferencia del resto de cdigo, que se conoce como cdigo no administrado. La biblioteca de clases, el otro componente principal de .NET Framework, es una completa coleccin orientada a objetos de tipos reutilizables que se pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales herramientas de interfaz grfica de usuario (GUI) o de lnea de comandos hasta las aplicaciones basadas en las innovaciones ms recientes proporcionadas por ASP.NET, como los formularios Web Forms y los servicios Web XML

35 | P g i n a

ACTIVIDAD N:

FECHA:

09/04/2012 - 10/04/2012

TEMA:

Utilizando el internet, investigue las principales caractersticas de las Metodologas de desarrollo de software existentes y elabore un cuadro comparativo donde permita demostrar sus ventajas y desventajas. Indique cul metodologa usar para el desarrollo del proyecto de fin de mdulo y explique el Porqu de su seleccin? METODOLOGAS DE DESARROLLO Comprender la forma en que el anlisis del problema ayuda a establecer los procesos y datos a automatizar

UNIDAD N 1.4:

OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente e) Identificar, formular y resolver problemas de ingeniera TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

36 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Rational Unified Process (RUP) La metodologa RUP, divide en 4 fases el desarrollo del software:

Inicio, El Objetivo en esta etapa es determinar la visin del proyecto. Elaboracin, En esta etapa el objetivo es determinar la arquitectura ptima. Construccin, En esta etapa el objetivo es llevar a obtener la capacidad operacional inicial. Transmisin, El objetivo es llegar a obtener el relase del proyecto.

Microsoft Solution Framework (MSF) Esta es una metodologa flexible e interrelacionada con una serie de conceptos, modelos y prcticas de uso, que controlan la planificacin, el desarrollo y la gestin de proyectos tecnolgicos. MSF tiene las siguientes caractersticas:

Adaptable: es parecido a un comps, usado en cualquier parte como un mapa, del cual su uso es limitado a un especfico lugar. Escalable: puede organizar equipos tan pequeos entre 3 o 4 personas, as como tambin, proyectos que requieren 50 personas a ms. Flexible: es utilizada en el ambiente de desarrollo de cualquier cliente. Tecnologa Agnstica: porque puede ser usada para desarrollar soluciones basadas sobre cualquier tecnologa.

Extreme Programing (XP) Pruebas Unitarias: se basa en las pruebas realizadas a los principales procesos, de tal manera que adelantndonos en algo hacia el futuro, podamos hacer pruebas de las fallas que pudieran ocurrir. Es como si nos adelantramos a obtener los posibles errores. Re fabricacin: se basa en la reutilizacin de cdigo, para lo cual se crean patrones o modelos estndares, siendo ms flexible al cambio. Programacin en pares: una particularidad de esta metodologa es que propone la programacin en pares, la cual consiste en que dos desarrolladores participen en un proyecto en una misma estacin de trabajo. Cada miembro lleva a cabo la accin que el otro no est haciendo en ese momento. Es como el chofer y el copiloto: mientras uno conduce, el otro consulta el mapa.

37 | P g i n a

VENTAJAS Genera Obtenemo mucho Asegura Incorpor s cdigo Sea Menor tiempo en la a ms adopta a taza de el producci objetivo simple y cualquier errores desarrollo n de s de ms fcil proyecto y del software calidad de tecnologa sistema entender RUP MSF XP X X X X X X X X X X

DESVENTAJAS

Existe un riesgo de falla.

Model o costos

X X X X

Bueno yo escogera el modelo RUP ya que con este trabajamos en la materia de Anlisis y creo que es ms confiable, ya que lo hemos utilizado para realizar nuestro proyecto. A su vez este modelo asegura la produccin del software de acuerdo a los requerimientos del cliente.

38 | P g i n a

ACTIVIDAD N:

10

FECHA:

09/04/2012 - 10/04/2012

TEMA:

Utilizando el internet, investigue las principales caractersticas de las Tcnicas de programacin existentes y elabore un cuadro comparativo donde permita demostrar sus ventajas y desventajas. Indique cul Tcnicas de programacin usar para el desarrollo del proyecto de fin de mdulo y explique el Porqu de su seleccin? DISEO DE AMBIENTES WINDOWS Comprender la forma en que el anlisis del problema ayuda a establecer los procesos y datos a automatizar

UNIDAD N 1.5:

OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente k) Usar tcnicas, habilidades y herramientas para la prctica de ingeniera. TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

39 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Programacin Estructurada Una caracterstica importante en un programa estructurado es que puede ser ledo en secuencia, desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple el programa. Programacin Modular La programacin modular es un paradigma de programacin que consiste en dividir un programa en mdulos o subprogramas con el fin de hacerlo ms legible y manejable Programacin Orientada a Objetos La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un paradigma de programacin que usa objetos y sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, abstraccin, polimorfismo y encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad, existe variedad de lenguajes de programacin que soportan la orientacin a objetos.

Bueno yo escogera la tcnica de programacin Orientada a objetos porque esta es ms sencillas y fcil de entender ya que es un paradigma de programacin que usa objetos y sus interacciones para disear aplicaciones y programas de computadora.

40 | P g i n a

VENTAJAS Program as fciles de entender Programacin x Estructurada Programacin Modular Programacin x Orientada a Objetos Facilitan la escritura y depuracin de un programa Reduccin de costos de mantenimie nto x x x

DESVENTAJAS

Permite crear sistemas ms complejo s x x x

Reduccin Poco del eficient esfuerzo e en pruebas

Mayor Mal Cantid rendimien ad de to Cdigo

x x

x x x

41 | P g i n a

ACTIVIDAD N:

11

FECHA:

11/04/2012 - 12/04/2012

1. Tomando en cuenta las investigaciones y los trabajos realizados anteriormente: Imagine que usted es un consultor independiente. Escriba una carta que ofrezca sus servicios como consultor para resolver los problemas relacionados a los procesos que se llevan en una empresa. El usuario, que es bastante escptico con las personas dedicadas a la informtica, no est al tanto de las modas informticas. Asegrese de que su propuesta explique paso a paso como construira un sistema que diera respuesta a las necesidades de este usuario. 1.4 METODOLOGAS DE DESARROLLO 1.5 DISEO DE AMBIENTES WINDOWS Explicar las funciones del nuevo sistema Establecer los beneficios de utilizar sistemas informticos

TEMA:

UNIDAD N 1.4, 1.5:

OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente e) Identificar, formular y resolver problemas de ingeniera TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

42 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Machala, 14 de Junio del 2012

Sr. Jaime Santander Propietario de la Empresa Mercantil Suministros S.A. Presente.

De mis consideraciones.

Yo, Luis David Zamora Lojan, por la presente le ofrezco mis servicios profesionales, como ingeniero de sistemas en oficio, para optimizar los procesos que se llevan a cabo en su empresa, pues he notado que el tiempo de repuesta de sus empleados con respecto a la solicitud de servicios del cliente y el acceso a la informacin de la empresa resulta muy lento lo que posibilita la perdidas de recursos y tiempo, ocasionando prdidas econmicas para su empresa. La solucin que le propongo es la implementacin de un sistema de informacin que automatice esos procesos y reduzca el tiempo de acceso a la informacin, con lo cual asegura que los clientes estarn contentos con ser atendidos ms rpido y de manera ms eficiente, y los usuarios del sistema tendrn disponibles los datos que necesiten en el momento que lo necesiten para trabajar mejor. Al implementar el sistema asegura una ganancia sustancial con respecto la ejecucin de los procesos de su empresa y seguramente generara un ahorro de recursos a corto plazo. Espero tome en consideracin mi propuesta, me despido indicndole que estoy a sus servicios.

Atentamente

Luis David Zamora Lojn Consultor Independiente.

43 | P g i n a

ACTIVIDAD N:

12

FECHA:

11/04/2012 - 12/04/2012

TEMA:

1. Imagine que tiene que trabajar con un usuario que ha dado muestras de impaciencia en otros proyectos, alentando los <<atajos>> en el ciclo de vida del desarrollo del sistema y despus culpando al analista de sistemas de no haber conseguido cumplir las expectativas. Elabore una lista de los problemas y sus causas, que se presentan al omitir alguna de las fases del ciclo de vida y explquelas al usuario de tal manera que le quede claro los riesgos a los que se expone el sistema. 2. Plenaria: Los alumnos compartirn sus respuestas, de esta tarea con el resto de compaeros.

UNIDAD N 1.4, 1.5:

1.4 METODOLOGAS DE DESARROLLO 1.5 DISEO DE AMBIENTES WINDOWS Explicar las funciones del nuevo sistema Establecer los beneficios de utilizar sistemas informticos

OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Desconocimiento de la terminologa para desarrollar sistema informtico g) Comunicarse efectivamente c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

44 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Requerimientos: No se tendr claro que es lo que desea y lo que necesita el cliente. No se considerara el equipo de cmputo disponible. El cliente no estar satisfecho con el resultado.

Anlisis: No se profundizaran los problemas relevantes de la empresa. No se sabr hacia donde estar orientada la aplicacin del sistema. Prdida de tiempo.

Diseo: No se tendr clara la estrategia a utilizar. No se sabr cmo solucionar los problemas encontrados en el anlisis. Mal destino de recursos.

Implementacin: El software contar con muchos errores. El software no cumplir las expectativas del cliente. No estar definido el mtodo de programacin ni hacia donde estar destinado.

Pruebas: El producto final tendr muchas fallas. Los usuarios pueden ocasionar errores graves al sistema y corromper la informacin. No habr medidas para solucionar posibles errores en la programacin.

Documentacin: La programacin puede no ser clara para futuras actualizaciones y comprensin de cdigo. No habr referencias sobre el entorno de desarrollo del sistema o sobre quien lo desarrollo. No se contar con un manual que sirva de soporte a los usuarios.

Mantenimiento: No permitir la actualizacin del software. Reduccin del periodo de vida til del sistema. Fallos en los equipos y el producto.

45 | P g i n a

CAPITULO 2: VISUAL STUDIO 2005 Y C#

46 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 2.1: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

13

FECHA:

11/04/2012 - 12/04/2012

1. Investigar: Cuales son los DBMS que trabajan con C#, caractersticas, ventajas, desventajas. Seleccionar el DBMS idneo en el que desarrollara la Base de Datos para un Sistema CONEXIN A BASE DE DATOS Evaluar y seleccionar el DBMS adecuado para el proyecto final del modulo

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

47 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

ORACLE Ventajas Oracle es el motor de base de datos relacional ms usado a nivel mundial. Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador. Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseo de bases de datos muy completo (PL/SQL) que permite implementar diseos "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente. Permite el uso de particiones para la mejora de la eficiencia, de replicacin e incluso ciertas versiones admiten la administracin de bases de datos distribuidas. El software del servidor puede ejecutarse en multitud de sistemas operativos. Existe incluso una versin personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa. Oracle es la base de datos con ms orientacin haca INTERNET. Un aceptable soporte

Desventajas Una de las versiones ms recientes de Oracle es la 8 punto algo (Aunque ya est la 9i). Y es que desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelacin del sistema de almacenamiento por causa de la introduccin de extensiones orientadas a objetos. El mayor inconveniente de Oracle es quizs su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinin.
48 | P g i n a

Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento. Tambin es elevado el coste de la formacin, y slo ltimamente han comenzado a aparecer buenos libros sobre asuntos tcnicos distintos de la simple instalacin y administracin

POSTGRESQL Ventajas Instalacin ilimitada: Ahorros considerables de costos de operacin:. Estabilidad y confiabilidad: Extensible: Multiplataforma: Diseado para ambientes de alto volumen: Herramientas grficas de diseo y administracin de bases de datos. Soporta los tipos de datos, clusulas, funciones y comandos de tipo estndar SQL92/SQL99 y extendidos propios de PostgreSQL. Puede operar sobre distintas plataformas, incluyendo Linux, Windows, Unix, Solaris y MacOS X. Buen sistema de seguridad mediante la gestin de usuarios, grupos de usuarios y contraseas. Gran capacidad de almacenamiento. Buena escalabilidad ya que es capaz de ajustarse al nmero de CPU y a la cantidad de memoria disponible de forma ptima, soportando una mayor cantidad de peticiones simultneas a la base de datos de forma correcta.

Desventajas: Soporte en lnea: Hay foros oficiales, pero no hay una ayuda obligatoria. Consume ms recursos que MySQL.
49 | P g i n a

La sintaxis de algunos de sus comandos o sentencias no es nada intuitiva Es fcil de vulnerar sin proteccin adecuada. InnoDB genera mucho footprint en memoria al indizar. El toolset empresarial tiene un costo adicional por suscripcin anual. Realizar revisiones llegar a ser una labor manual y tediosa para el DBA. Reducida cantidad de tipos de datos

ACCESS Por medio de Microsoft Access, puede administrar toda la informacin desde un nico archivo de base de datos. Tablas para almacenar los datos. Consultas para buscar y recuperar nicamente los datos que necesita. Formularios para ver, agregar y actualizar los datos de las tablas. Informes para analizar o imprimir los datos con un diseo especfico. Almacenar los datos una vez en una tabla y verlos desde varios lugares.

Ventajas: Es la base de datos ms amigable y verstil del mercado. Es portable. Crear tablas rpidamente sin preocuparse de la complejidad de las bases de datos. Actualizar y recopilar informacin directamente del origen. Obtener acceso a informacin procedente de orgenes diversos.

Desventajas: Entre sus mayores inconvenientes figuran que no es multiplataforma, pues slo est disponible para sistemas operativos de Microsoft Su uso es inadecuado para grandes proyectos de software que requieren tiempos de respuesta crticos

50 | P g i n a

MySQL Ventajas: MySQL software es Open Source Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento. Bajo costo en requerimientos para la elaboracin de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una mquina con escasos recursos sin ningn problema. Facilidad de configuracin e instalacin. Soporta gran variedad de Sistemas Operativos Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que est. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en Internet El software MySQL usa la licencia GPL

Desventajas: Un gran porcentaje de las utilidades de MySQL no estn documentadas. No es intuitivo, como otros programas (ACCESS) No permite el modo de autentificacin local (seguridad integrada de Windows), slo el modo estndar

La base de datos que utilizare para desarrollar mi base de datos es Microsoft Access.

51 | P g i n a

ACTIVIDAD N:

14

FECHA:

11/04/2012 - 12/04/2012

Resolver Mini caso Prctico La Direccin General de Hacienda (Lo que sera para nosotros el SRI) obteniendo el diagrama de procesos y diagrama E/R respectivo. Tomado del Libro Anlisis y Diseo de Sistemas de Informacin. McGraw Hill. Whitten, Bentley, Barlow. 3era. Edicin. Pgina: 363 - 364. Contestar:

TEMA:

Qu caractersticas debe considerar al momento de identificar los procesos? Por qu? Qu caractersticas tienen que tener los datos para ser considerados en la solucin del problema? Por qu? Cmo puede saber cules son los datos que se necesitan en un determinado proceso?

UNIDAD N 2.2: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

ACCESO A BASE DE DATOS Modelar y disear esquemas de base de datos

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

52 | P g i n a

MINICASO PRCTICO LA DIRECCIN GENERAL DE HACIENDA (SRI) El siguiente caso describe cmo procesa una clsica administracin regional de Hacienda las declaraciones de impuestos. Las adaptaciones realizadas pretenden hacer ms sencillo el ejercicio que cierra el minicaso. postales al centro regional. Se clasifican entonces los sobres por tipo de declaracin; por ejemplo, en modelos simplificados u ordinarios o en declaraciones positivas o negativas. Una vez hecha esta primera clasificacin, los sobres se envan a Recepcin y control, donde se separan en 27 tipos en virtud de su pertenencia a tres posibles categoras generales: modelos simplificados con derecho a devolucin, modelos ordinarios con derecho a devolucin y declaraciones positivas. Wayne: Por qu se clasifican dos veces? Paul: Buena pregunta. Principalmente por el gran nmero de declaraciones. No es raro que recibamos ms de 200.000 al da. La primera clasificacin tiene por objetivo dividir el total en varios grupos para hacer el trabajo ms manejable. Wayne: 27 tipos parecen muchsimos. Por qu tantos? Siempre he pensado que las declaraciones slo podan ser positivas o negativas. Paul: No es tan sencillo. Hay declaraciones para las que se piden papeles complementarios. Otras son pagos trimestrales. En total, puede haber unos 500 impresos oficiales para rellenar las declaraciones de la renta.

Escena: Wayne Richards, un analista de sistemas con gran experiencia, est manteniendo una entrevista con Paul Adams, supervisor regional de la Direccin General de Hacienda. Wayne ha recibido el encargo de simplificar el modo en que la Direccin General de Hacienda procesa las declaraciones de impuestos con el fin de acelerar tanto las devoluciones de los contribuyentes como el cobro de las declaraciones positivas. Para conseguirlo, Wayne intenta primero aprender los mtodos actuales del proceso. Apenas conoce los procedimientos utilizados, ya que su formacin se limita al rea de sistemas de informacin en el campo de la fabricacin. Unmonos a Wayne y Paul durante su entrevista. Wayne: A decir verdad, no me siento muy cmodo con estos temas. Si tuvieras la amabilidad de explicarme cmo se procesan las declaraciones de la renta, me sentira mucho ms tranquilo. Paul: Primero, las declaraciones de la renta se llevan en furgones

53 | P g i n a

Wayne: Tal vez sera ms fcil si empezramos por el ms sencillo. Cul es? Paul: Para procesar los modelos simplificados con derecho a devolucin, los operadores meten los impresos en una mquina que escanea las declaraciones y guarda los datos para su proceso posterior. Entonces, los datos son ledos por el ordenador principal, que determina el tipo impositivo correcto, decide si ha de enviarse un reembolso, actualiza los archivos de los contribuyentes e imprime cartas, avisos, declaraciones paralelas, etc. Wayne: imprimimos nosotros los cheches de reembolso? Paul: No, la informacin sobre reembolsos se enva al Centro informtico Nacional, que posteriormente solicita al Departamento de Hacienda que emita los cheques. Las cartas, los avisos y las restantes comunicaciones se mandan a las administraciones locales de Hacienda de todo el pas, para que remitan las informaciones adecuadas a los contribuyentes. Wayne: Parece bastante sencillo, y qu puedes decirme de los modelos ordinarios con derecho a devolucin? Paul: El proceso de los modelos ordinarios con derecho a devolucin es bastante parecido, aunque no igual, al de los modelos simplificados. Wayne: Y por qu los procesos son diferentes?

Paul: En parte porque los modelos ordinarios incluyen a menudo tablas mltiples de informacin, como son las deducciones por categoras. Primero, estas declaraciones se clasifican en bloques de lotes que se procesan como unidades separadas. Los lotes se numeran para asegurar que las declaraciones no se pierdan o se retrasen demasiado en su proceso y, a continuacin, se envan a los inspectores. stos los comprueban, corrigen los posibles errores y codifican las declaraciones para su proceso. Wayne: Y qu pasa con las declaraciones que estn incompletas o que son ilegibles? Paul: Los inspectores devuelven a los contribuyentes cualquier impreso con datos incompletos o ilegibles. Adems, los administrativos ponen un sello con un nmero de documento a cada declaracin, con el fin de poder hacer un seguimiento de todas ellas cuando vuelvan a entrar en el sistema. A partir de este momento, el proceso es similar al de los modelos simplificados. Las declaraciones son introducidas en el sistema informtico, se almacenan los datos para su tratamiento y son ledos por el ordenador principal. ste determina la tasa impositiva correcta, decide si ha de enviarse o no un reembolso, actualiza los archivos de los contribuyentes, selecciona algunas declaraciones para su inspeccin e imprime cartas, avisos, declaraciones
54 | P g i n a

paralelas, etc. La informacin de las declaraciones se enva al Centro Informtico Nacional, que la remite a su vez al Departamento de Hacienda para la emisin de los cheques de devolucin. Los avisos y las informaciones sobre posibles inspecciones se envan a las administraciones locales de Hacienda de todo el pas, desde las cuales se mandan a su vez a los contribuyentes las informaciones apropiadas. Wayne: Cmo se gestionan los pagos? Paul: Para declaraciones positivas, los inspectores las examinan y corrigen posibles errores, las codifican para su tratamiento y envan a los contribuyentes todas aquellas que contengan datos incompletos o ilegibles. Despus, las declaraciones se introducen en el ordenador. sta comprueba los clculos y los importes declarados, asigna nmeros para la localizacin de los documentos y guarda los datos. Luego se repiten los pasos utilizados operadores diferentes. Wayne: Por qu se usan dos grupos diferentes de operadores para repetir lo mismo? Paul: Se contrastan los datos de los segundos operadores con los de los primeros para mayor seguridad. Se envan entonces a los inspectores los informes con errores. Los datos correctos se almacenan para su ulterior tratamiento, y se guardan los cheques de los

depsitos Nacional.

en

el

Banco

Wayne: Qu hacen los inspectores con los informes de errores? Paul: Los verifican, corrigen lo que pueden y se ponen en contacto con los contribuyentes para recoger cualquier informacin ausente. A partir de este punto, las declaraciones siguen un tratamiento idntico al descrito para los modelos ordinarios con derecho a devolucin.

55 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO Diagrama Entidad Relacin de la Direccin General de Hacienda.

Pago

Rembolso

Genera

Declaraciones

Tiene

Declaracin Paralela

Tipos

Tiene

Inspectores

Analizan

Categoras

Qu caractersticas debe considerar al momento de identificar los procesos? Que debemos realizar un anlisis observando los procesos que se puedan automatizar. Tener conocimiento sobre los impuestos y sus clasificaciones y validacin de las haciendas y los procesos que se realizan para tener una idea clara de lo que vamos hacer en el sistema. Intervenir directamente en los procesos para ver cules son los que van a permitir al usuario mejorar del sistema manual al sistema automatizado. Debemos tomar en cuenta que vamos a manejar en el sistema grandes sumas de dinero de los hacendados as que los procesos de clasificacin y clculos no deben tener errores. Por qu? Porque debemos realizar un anlisis de lo que vamos a realizar y principalmente tener conocimiento en cuanto al tema para que el sistema pueda lograr los objetivos que se plantean en el mismo y pueda ser la solucin esperada. Qu caractersticas tienen que tener los datos para ser considerados en la solucin del problema? Deben ser flexibles y adaptables a cualquier otro cambio de sistema o software, se debe realizar un respaldo de datos.

56 | P g i n a

Los datos deben estar enlazados en archivos nicos y especficos que no permitan que se dupliquen para tener 2 resultados diferentes del mismo proceso Deben permitir al usuario que los resultados de estos sean eficaces y eficientes, y que se los permita gestionar dentro del sistema como ingresar, eliminar, consultas, modificar, etc. Deben tener validacin y ser verificados en cuanto a lo que se registra en la base de datos. Por qu? Porque los datos que se utilizan en el sistema principalmente en la base de datos tienen que poder presentar los resultados correctos en cuanto se maneja nombres y dinero de las personas. Cmo puede saber cules son los datos que se necesitan en un determinado proceso? Debemos identificar los resultados que requiere el usuario en un determinado proceso para saber qu datos se van a manejar en el mismo, hay que tomar en cuenta la informacin recopilada y posteriormente verificar los errores para tener un buen proceso Para procesar los modelos simplificados con derecho a devolucin, los operadores meten los impresos en una mquina que escanea las declaraciones y guarda los datos para su proceso posterior. Entonces, los datos son ledos por el ordenador principal, que determina el tipo impositivo correcto, decide si ha de enviarse un reembolso, actualiza los archivos de los contribuyentes e imprime cartas, avisos, declaraciones paralelas, etc. Los modelos ordinarios con derecho a devolucin incluyen a menudo tablas mltiples de informacin, como son las deducciones por categoras. Primero, estas declaraciones se clasifican en bloques de lotes que se procesan como unidades separadas. Los lotes se numeran para asegurar que las declaraciones no se pierdan o se retrasen demasiado en su proceso y, a continuacin, se envan a los inspectores. stos los comprueban, corrigen los posibles errores y codifican las declaraciones para su proceso.

57 | P g i n a

ACTIVIDAD N:

15

FECHA:

16/04/2012 - 17/04/2012

Investigar e Implementar el diagrama E/R (Tablas, llaves primarias, relaciones) del Minicaso prctico La Direccin General de Hacienda, en un DBMS (Access / SQL Server). Recuerde utilizar nombres nemotcnicos y estandarizados.

TEMA:

Responder: Qu problemas se presentaron al momento de elaborar el diagrama E/R e implementarlo? Qu se me hizo ms fcil resolver en este trabajo? Qu problemas tuve para resolver el caso? Qu debo mejorar?

UNIDAD N 2.2: OBJETIVO:

ACCESO A BASE DE DATOS Modelar y disear esquemas de base de datos Organizar los datos y procesos de un sistema

PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

58 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

INSPECTOR *Ced_ins Nom_ins Ape_ins Direc_ins Tel_ins

CATEGORA *Cod_cat Nom_cat Ced_ins

TIPO *Cod_tip Nom_tip Cod_cat

PAGO *Nro_pag Fec_pag Valor_pag Nro_dec

REMBOLSO *Nro_rem Fec_rem Valor_rem Nro_dec

DECLARACIN PARALELA *Nro_decpar Fec_decpar Per_decpar Valor_decpar Nro_dec Tablas y llaves primarias creadas:

DECLARACION *Nro_dec Fec_dec Per_dec Ingresos_dec Egresos_dec Valor_dec Cod_tip

59 | P g i n a

Relaciones Creadas:

Qu problemas se presentaron al momento de elaborar el diagrama E/R e implementarlo? Los problemas que se presentaron para elaboran el diagrama fue la falta de datos e informacin del minicaso y tambin debido a la complejidad de la explicacin del proceso que pasa a cada declaracin ya que est un poco confusa y no se comprende bien.

60 | P g i n a

Qu se me hizo ms fcil resolver en este trabajo? La elaboracin de el diagrama de entidad relacin. Qu problemas tuve para resolver el caso? Qu debo mejorar? El problema que tuve para resolver fue por la falta de informacin no se puede realizar bien el diagrama. Debo mejorar un poco la compresin de la lectura ya que se encuentran muy complejos y es difcil entender la lgica del minicaso.

61 | P g i n a

ACTIVIDAD N:
TEMA:

16

FECHA:

16/04/2012 - 17/04/2012

1. Investigar los elementos de C# que le permitirn implementar el diseo de la Interface de usuarios dentro de los Diseadores de Formularios. Cmo funcionan y para qu sirven, cundo y cmo deben ser utilizados. Qu objetos GUI existen en C#? 1.4. DISEO DE AMBIENTES WINDOWS 3.6. PRINCIPALES CONTROLES Establecer las caractersticas fsicas que tendr el sistema informtico.

UNIDAD N 1.4, 3.6: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

62 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

En la figura que observamos aqu, podemos visualizar los elementos con los cuales cuenta C# para realizar el diseo de la interface. Como son botones, cuadros de texto, Label, radioButton, checkedListbox, etc Hay tres pasos bsicos para crear interfaces de usuario para las aplicaciones de formularios

Windows Forms:

Agregar los controles a la superficie de diseo. Establecer las propiedades iniciales de los

controles.

Escribir los controladores para los eventos especificados.

Sirve para agregar controles a un formulario, organizarlos y escribir el cdigo de sus eventos. El uso del diseador permite:

63 | P g i n a

Agregar componentes, controles de datos o controles basados en Windows a un formulario.

Hacer doble clic en el formulario del diseador y escribir cdigo en el evento Load de ese formulario, o hacer doble clic en un control del formulario y escribir cdigo para el evento predeterminado del control.

Modificar la propiedad Text de un control seleccionando el control y escribiendo un nombre. Ajustar la ubicacin del control seleccionado movindolo con el mouse (ratn) o con las teclas de direccin. De forma similar, ajustar la ubicacin con ms precisin utilizando las teclas de direccin y CTRL. Por ltimo, ajustar el tamao del control utilizando las teclas de direccin y MAYS. Para obtener informacin sobre cmo ajustar de una vez la posicin de varios controles, vea Cmo: Alinear varios controles en formularios Windows Forms.

Seleccionar varios controles utilizando MAYS+clic o CTRL+clic. Si se utiliza MAYS+clic, el primer control seleccionado es el control dominante al alinear o manipular el tamao. Si se utiliza CTRL+clic, el ltimo control seleccionado es el dominante; por lo tanto, el control dominante cambia cada vez que se agrega un nuevo control. Tambin se pueden seleccionar varios controles haciendo clic en el formulario y arrastrando un rectngulo de seleccin que rodee los controles que se desean seleccionar.

64 | P g i n a

ACTIVIDAD N:

17

FECHA:

18/04/2012 - 19/04/2012

TEMA:

Utilizando el Minicaso: La Direccin General de Hacienda. Tomado del Libro Anlisis y Diseo de Sistemas de Informacin. McGraw Hill. Whitten, Bentley, Barlow. 3era. Edicin. Pgina: 363 - 364. Desarrolle: Analice y seleccione al menos cinco caractersticas de un buen diseo de entrada / salida y al menos cinco caractersticas de un buen diseo de Interface para el usuario (que sea amigable). 1.4. DISEO DE AMBIENTES WINDOWS Establecer las caractersticas fsicas que tendr el sistema informtico.

UNIDAD N 1.4: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

65 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

CARACTERSTICAS DE UN BUEN DISEO DE: ENTRADA


Ingreso ordenado de datos Deben ser eficaces, precisos, sencillos, atractivos & fciles de usar. Ingreso segn clasificaciones. Mensaje de ayuda al usuario al momento de ingresar los datos. Validacin de datos.

SALIDA

Determinar qu informacin presentar Decidir si la informacin ser presentada en forma visual, verbal o impresa y seleccionar el medio de salida.

Disponer de la presentacin de la informacin en un formato aceptable. Decidir cmo distribuir la salida entre los posibles destinatarios. Mensajes de advertencia al momento de enviar archivos o apagar el sistema.

CARACTERSTICAS DE UN BUEN DISEO DE INTERFACE PARA EL USUARIO

Que no tenga sobrecargar de colores es decir no mezclar tantos colores ni poner imgenes muy fuertes de fondo.

Que contenga un interfaz fcil de entender. No sobrecargar la interfaz con tantos iconos, haciendo que al usuario le resulte difcil encontrar lo que busca.

Utilizar iconos conocidos, para as el usuario reconozca con facilidad las opciones.

Una interfaz no necesita ser bonita para poder funcionar, sin embargo hacer un diseo agradable contribuir a que la experiencia de usuario mejore.

66 | P g i n a

Qu tipo de Interface de usuario diseara usted para los empleados de La Direccin General de Hacienda? El interfaz que se diseara para los empleados de la direccin general de hacienda serian: Con unos colores claros en tonos bajos difuminados. Un diseo amigable con opciones que necesite el usuario como son para clasificar los datos recibidos, la forma de pagos que se realizan, si necesitan o no ser corregidos, etc. de manera que sea de fcil localizacin, con iconos demostrativos y una buena visualizacin de la misma. Tambin que tenga un interfaz la cual llame la atencin a los empleados para que de esta manera realicen su trabajo con ms eficiencia. Que tenga un ingreso de usuario o empleado para que cada quien manejo su propia informacin.

67 | P g i n a

ACTIVIDAD N:
TEMA:

18

FECHA:

18/04/2012 - 19/04/2012

Basados en las caractersticas que enunci, disee las Interfaces de entrada / salida y de usuario, explique por qu encuentra que es la ms adecuada con base en lo que sabe acerca de los empleados de la administracin de la direccin general de Hacienda. 1.4. DISEO DE AMBIENTES WINDOWS Establecer las caractersticas fsicas que tendr el sistema informtico.

UNIDAD N 1.4: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

68 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Es la ms adecuada porque para los empleados de la hacienda no saben muchos de sistemas informticos la cual al momento de disear tenemos que tener en cuenta este punto para de esta manera realizar la interfaz lo ms fcil y

comprensible posible, realizando opciones con iconos conocidos para que as pueda realizar su trabajo con mayor rapidez la bsqueda y utilizacin del mismo.

Se colocarn los datos de acuerdo a la tabla (gestin) a procesar

69 | P g i n a

ACTIVIDAD N:

19

FECHA:

18/04/2012 - 19/04/2012

1. Implementar la interface (pantallas / formularios) del Minicaso prctico La Direccin General de Hacienda, en C#. Responder:

TEMA:

Qu problemas se presentaron al momento de elaborar la interface en C#? Qu se me hizo ms fcil resolver en este trabajo? Qu problemas tuve para resolver el caso? Qu debo mejorar?

UNIDAD N 3.6: OBJETIVO:

PRINCIPALES CONTROLES Establecer las caractersticas fsicas que tendr el sistema informtico. Organizar los datos y procesos de un sistema

PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente k) Usar tcnicas, habilidades y herramientas para la prctica de Ingeniera. TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

70 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

INTERFACE IMPLEMENTADA DE LA DIRECCIN GENERAL DE HACIENDA

71 | P g i n a

72 | P g i n a

73 | P g i n a

Qu problemas se presentaron al momento de elaborar la interface en C#? Hasta ahora ningn problema con el diseo visual de la interfaz, pero con la parte de realizar el contenido de los formulario se me es un poco confuso la parte de las 2 clasificaciones que se realizan ya que al momento de disearlo no s de qu manera ponerlos. Qu se me hizo ms fcil resolver en este trabajo? El diseo de la interfaz de las pantallas es decir colores, iconos, el diseo de los formularios. Qu problemas tuve para resolver el caso? Qu debo mejorar? El problema que tuve es con la parte de las distintas clasificaciones que se realizan antes de detectar los errores ya que es un poco confuso al momento de poder visualizar los documentos por lo que pasan por distintas fases.

74 | P g i n a

ACTIVIDAD N:

20

FECHA:

23/04/2012 - 24/04/2012

TEMA:

Escriba una carta a su ltimo instructor de programacin (o al que prefiera). Propngale un mtodo disciplinado de desarrollo de las especificaciones de los sistemas que sirva de gua a la programacin de cursos del prximo ciclo. Su objetivo debera ser conseguir especificaciones (de programacin) de los sistemas que eliminen o reduzcan drsticamente la necesidad de aclaraciones que requieren los estudiantes del analista de sistemas, papel desempeado por el instructor. Defienda su propuesta. 2.3 TIPOS DE DATOS POR VALOR Y REFERENCIA 2.4 FUNCIONES 2.5 NOMBRES RESERVADOS Organizar los datos y procesos de un sistema

UNIDAD N 2.3, 2.4, 2.5: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

75 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Machala, 23 de abril de 2012 Ing. ROSA LUJAN TORRES INTRUCTORA DE PROGRAMACIN DE LA ESCUELA DE INFORMATICA Presente. De mis Consideraciones Yo, Luis David Zamora Lojn, alumno de la Escuela de Informtica me dirijo a usted para proponerle un mtodo disciplinado de desarrollo de las especificaciones de los sistemas que va a servir de gua a la programacin de cursos del prximo ciclo. El mtodo que deseo proponerle consiste que usted como profesora, docente e ingeniera debera realizar ejemplos en clase explicando paso a paso los procesos que se deben realizar en los nuevos programas con los que se trabaje ,ya que sera algo nuevo para todos y poco complicado ya que no sabemos la debida utilizacin de la mismas. Para poder tener un mejor entendimiento le propongo que sus clases se han un poco dinmicas las cual nos facilite el aprendizaje, tambin que al enviar las respectivas tareas extra clase nos d una breve explicacin sobre lo que se debe realizar para de esta manera tener una idea ms clara de lo que se tiene que hacer, ya que sera de gran ayuda para los estudiantes para tener un mejor aprendizaje. Con esta propuesta los estudiantes reduciran drsticamente la necesidad de aclaraciones que requieren los estudiantes.

Atentamente

Luis Zamora

76 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 2.2: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES:

21

FECHA:

23/04/2012 - 24/04/2012

Investigar y Elaborar un informe sobre cmo Crear una Base de Datos en Access 2.2. CONEXIN A BASE DE DATOS Organizar los datos y procesos de un sistema

Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente TIPO DE ACTIVIDAD

LUGAR

ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

77 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

BASE DE DATOS Y C#

Crear una nueva base de datos

Microsoft Office Access 2007 dispone de una serie de caractersticas mejoradas que simplifican el proceso de creacin de nuevas bases de datos. Aunque haya creado bases de datos con anterioridad, probablemente apreciar estas caractersticas por su capacidad de agilizar el proceso de creacin. Este manual aborda el proceso bsico de iniciar Office Access 2007 y crear una base de datos mediante una plantilla o creando sus propias tablas. Crear una base de datos en blanco

En la pgina Introduccin a Microsoft Office Access, en Nueva base de datos en blanco, haga clic en Base de datos en blanco. 1. En el panel Base de datos en blanco, escriba un nombre de archivo en el cuadro Nombre de archivo. Si no especifica una extensin de nombre de archivo, Access la agrega automticamente. Para cambiar la ubicacin predeterminada del archivo, haga clic en Buscar una ubicacin donde colocar la base de datos (situado junto al cuadro Nombre de archivo), busque la nueva ubicacin y, a continuacin, haga clic en Aceptar. 2. Haga clic en Crear. Access crea la base de datos con una tabla vaca denominada Tabla1 y, a continuacin, abre Tabla1 en la vista Hoja de datos. El cursor se sita en la primera celda vaca de la columna Agregar nuevo campo. Importante Si cierra Tabla1 sin guardar los cambios al menos una vez, Access elimina toda la tabla, aunque haya escrito datos en ella.

78 | P g i n a

Crear tablas en una base de datos

Cuando se crea una base de datos, los datos se almacenan en tablas, que son listas de filas y columnas basadas en temas. Por ejemplo, puede crear una tabla Contactos para almacenar una lista de nombres, direcciones y nmeros de telfono, o una tabla Productos para almacenar informacin sobre productos. Siempre debe empezar a disear una base de datos creando primero sus tablas, incluso antes de crear otros objetos de base de datos. En este manual se explica cmo crear tablas. Aprender a crear una tabla, a agregar campos a la tabla y a definir la clave principal de una tabla. Obtendr tambin informacin sobre los tipos de datos y sobre el modo de definir propiedades de los ampos y de la tabla. Creacin de tablas en dbms seleccionado En esta ocasin vamos a trabajar con Access 2007 Pasos a seguir. Al abrir el Acces lo primero que aparecer esta pantalla A continuacin debemos de crear una base de datos en blanco le damos un nombre y damos clip en crear. Nota. La extensin ahora es .accdb

Al arrancar el Access tendremos la siguiente pantalla

79 | P g i n a

Se lo ve mejor en la vista de diseo sea la vista del programador

Ahora damos un nombre a la tabla la vamos a llamar tbalumnos. Procedemos a poner los distintos campos. Por ejemplo cdigo_alu es importante colocarlo en este formato para ms adelante no confundirnos, por ejemplo cuando hay un error de programacin imaginemos que simplemente le dejo cdigo y si creo por decir unas 50 tablas si me dice que hay un error de cdigo no sabra en donde esta error tendra que revisar todas las tablas. En la llave podemos identificar la clave primaria.

80 | P g i n a

Guardamos la tabla, luego abrimos la tabla clip derecho sobre la tabla - abrir para llenar los registros

Para crear las relaciones realizamos lo siguiente: Seleccionamos la opcin Herramientas de base de datos del men principal, se abrir un cuadro donde podemos agregar las Tablas creadas.

Ahora con el ratn hacemos clic en la Tabla con relacin 1 (sin soltar), arrastramos hasta la tabla con Relacin N. Aparecer una lnea que representa la relacin. No debemos olvidar que el tipo de relacin que se emplee depender de cmo se declararon las llaves principales y ajenas. En la Relacin de 1 a N, debe declararse en la Tabla1 una llave principal, y en la tabla N solo debe constar el campo de llave ajena, no debe ser llave principal ya que en ese caso la relacin sera de 1 a 1, como lo podemos observar en la figura que se muestra a continuacin:

81 | P g i n a

Por ltimo revisamos las opciones de la relacin, debemos seleccionar o verificar que est seleccionado la opcin Exigir integridad referencial. Y Por ltimo podemos cerrar el programa de Access.

82 | P g i n a

ACTIVIDAD N:
TEMA:

22

FECHA:

25/04/2012 - 26/04/2012

Revisar, consultar e investigar las funciones (para caracteres, numricas, fecha, etc.) y los tipos de datos por valor y referencia de C# Realice un informe donde se indique: Cmo funcionan? Qu hacen? Qu uso se les puede dar? Incluya ejemplos. 2.3. TIPOS DE DATOS 2.4. FUNCIONES POR VALOR Y REFERENCIA Estandarizar los nombres de indicadores en programacin Conocer y utilizar los tipos de datos en C# Conocer y utilizar las funciones de C# Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente

UNIDAD N 2.3, 2.4:

OBJETIVO:

PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

83 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

FUNCIONES UTILIZADAS EN C#

Caracteres: Chart() String() Delete() Lenght() Insert() Lower Case() Upper Case() Left() Right() Scanf () Mid ()

Matemticas: fabs(x): Devuelve el valor absoluto de x. floor(x): Redondea por defecto al entero ms prximo.

pow(x, y): Calcula x elevado a la potencia y. sqrt (x): Devuelve la raz cuadrada de x. Int(): Devuelve nmeros enteros Double (): Devuelve nmeros decimales.

84 | P g i n a

Fecha y Hora: Now ():Fecha y Hora Date():Fecha Time(): Hora DateTime() DateTimeOffset() Year (): El ao de la fecha asignada. Month (): Dato numrico del mes de la fecha asignada. Day (): Dato numrico del da de la fecha asignada. Minute (): Minuto de la fecha asignada.

TIPOS DE DATOS POR VALOR Y POR REFERENCIA UTILIZADAS EN C#

Los tipos de datos ofrecidos por C# al programador forman parte de un sistema unificado en el que todos los tipos de datos (incluidos los definidos por el usuario) derivan, aunque sea de manera implcita, de la clase System.Object. Por herencia dispondrn de todos los miembros definidos en sta clase, en particular los tiles mtodos Equals(), GetHashCode(), GetType() y ToString() que describiremnos ms adelante. C# proporciona seguridad con los tipos de datos. C# no admiten ni funciones ni variables globales sino que todo el cdigo y datos han de definirse dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de nombres y facilita la legibilidad del cdigo. C# incluye mecanismos que permiten asegurar que los accesos a tipos de datos siempre se realicen correctamente: No pueden usarse variables que no hayan sido iniciadas. El tipo asignado restringe los valores que puede almacenar y las operaciones en las que puede intervenir. Siempre se comprueba que los ndices empleados para acceder a los elementos de una tabla (vector o matriz) se encuentran en el rango de valores vlidos. Slo se admiten conversiones de tipo entre tipos compatibles y entre aquellos que se hayan definido explcitamente el mecanismo de conversin (En C# puede

85 | P g i n a

implementarse la manera en que se realiza la conversin implcita y explcita entre tipos) Los tipos de datos en C# pueden clasificarse en dos grandes categoras: tipos valor tipos referencia

y pueden caracterizarse como sigue:

Tipos valor La variable contiene un valor El dato se almacena en la pila El dato siempre tiene valor Una asignacin copia el valor

Tipos referencia La variable contiene una referencia El dato se almacena en el heap El dato puede no tener valor null Una asignacin copia la referencia

int i = 123;

// tipo valor

string s = "Hello world"; // tipo referencia

El comportamiento cuando se copian o modifican objetos de estos tipos es muy diferente. Tipos valor Los tipos bsicos son tipos valor. Si una variable es de un tipo valor contiene nicamente un valor del tipo del que se ha declarado. Los tipos predefinidos de C# son tipos disponibles en la plataforma .NET y que, por comodidad, en C# se emplean usando un alias. En la tabla siguiente enumeramos los tipos simples detallando su nombre completo, su alias, una breve descripcin, el nmero de bytes que ocupan y el rango de valores.

86 | P g i n a

Nombre (.NET Alias Framework) System.Sbyte System.Int16 System.Int32 sbyte short int

Descripcin Bytes con signo Enteros cortos Enteros

Tamao Rango (bytes) 1 2 4 -128 ... 127 -32.768 ... 32.767 -2.147.483.648 ... 2.147.483.647 -9.223.372.036.854.775.808 ... 9.223.372.036.854.775.807 0 ... 255 0 ... 65.535 0 ... 18.446.744.073.709.551.615 0 ... 18.446.744.073.709.551.615 1.5 x 10-45 ... 3.4 x 10+38 5.0 x 10-324 ... 1.7 x 10+308 1.0 x 10-28 ... 7.9 x 10+28 Cualquier carcter Unicode true false

System.Int64

long

Enteros largos

System.Byte System.Uint16

byte ushort

Bytes (sin signo) Enteros cortos (sin signo) Enteros (sin signo) Enteros largos (sin signo) Reales (7 decimales) Reales (15-16 decimales) Reales (28-29 decimales) Caracteres Unicode Valores lgicos

1 2

System.UInt32 uint

System.Uint64 System.Single

ulong float

8 4 8

System.Double double

System.Decimal decimal System.Char char

12 2 1

System.Boolean bool

El comportamiento de los datos de tipos valor es el esperado cuando se inician o reciben un valor por asignacin a partir de otro dato de tipo valor (son independientes).

87 | P g i n a

Tipos referencia Si un dato es de un tipo referencia contiene la direccin de la informacin, en definitiva, una referencia al objeto que contiene los datos y/o mtodos. En definitiva, distinguimos: La referencia o un nombre por el que nos referimos al objeto y que utilizamos para manipularlo. El objeto referenciado, que ocupa lugar en memoria (en el heap) y que almacenar el valor efectivo del objeto. En definitiva: la variable y su contenido "lgico" estn en posiciones de memoria diferentes. El valor almacenado en una variable de tipo referencia es la direccin de memoria del objeto referenciado (es una referencia) o tiene el valor null (no referencia a nada). Observe que pueden existir dos variables que referencien al mismo objeto (pueden existir dos referencias a la misma zona de memoria). C# proporciona dos tipos referencia predefinidos: object y string. Todos los dems tipos predefinidos son tipos valor. El tipo object es el tipo base del cual derivan todos los tipos bsicos predefinidos y los creados por el usuario. Pueden crearse nuevos tipos referencia usando declaraciones de clases (class), interfaces (interface) y delegados (delegate), y nuevos tipos valor usando estructuras struct. Los objetos de las clases creadas por el usuario son siempre de tipo referencia. El operador new permite la creacin de instancias de clases definidas por el usuario. new es muy diferente en C# y en C++: En C++ indica que se pide memoria dinmica. En C# indica que se llama al constructor de una clase. El efecto, no obstante, es similar ya que como la variable es de un tipo referencia, al llamar al constructor se aloja memoria en el heap de manera implcita. Considere el siguiente fragmento de cdigo, en el que todas las variables son del mismo tipo: ObjetoDemo). Entonces podemos decir que en C# se puede almacenar variables por valor y por referencia. Explicamos lo que significa cada uno, como funcionan y que usos se le puede dar. Tipos por valor: los tipos por valor almacenan datos a los que se puede acceder de forma directa, a su vez dentro de esta categora encontramos ms subcategoras como los tipos nativos, los tipos de datos creados por el

88 | P g i n a

programador y los enumerados. Los tipos por valor no pueden tener valores nulos. Cuando creamos tipos por valor, el valor de la variable de este tipo se almacena en el Stack, si asignamos una variable de estas caractersticas a otra, se crea una copia en el Stack. Al destruir un tipo por valor, se destruye tambin el valor que se guard en el Stack. Tipos por referencia: Los tipos creados por referencia almacenan la direccin de memoria en la que se encuentra un dato determinado de manera que usaremos esa direccin de memoria para acceder de forma indirecta al dato. Los tipos por referencia se dividen en varios subgrupos como son las clases propias de la plataforma, interfaces, clases creadas por el programador, etc. Cuando ejecutamos una aplicacin es necesario que los datos se siten en la memoria del ordenador, la cual est divida en dos partes, una llamada Stack, de pequeo tamao pero de un acceso muy rpido y otra llamada Heap que cuenta con un mayor tamao pero con una velocidad de acceso inferior. Cuando creamos un tipo por referencia, en realidad lo que guardamos en el Heap es una direccin de memoria que apunta a un valor, pero no al valor en s mismo. Si asignamos una variable que contiene un tipo por referencia a otra variable, se dice que ambas se refieren al mismo valor. Los tipos por referencia si pueden contener valores nulos. Pasar argumentos por valor y por referencia En C#, puede transferir un argumento a un procedimiento por valor o por referencia. Esto se conoce como mecanismo para pasar argumentos, y determina si el procedimiento puede modificar el elemento de programacin subyacente al argumento en el cdigo de llamada. La declaracin del procedimiento determina el mecanismo para pasar argumentos de cada parmetro mediante la palabra clave ByVal o ByRef. Al pasar un argumento a un procedimiento, tenga en cuenta las distintas condiciones que interactan entre s: Si el elemento de programacin subyacente es modificable o no modificable Si el propio argumento es modificable o no modificable Si el argumento se transfiere por valor o por referencia Si el tipo de datos del argumento es un tipo de valor o un tipo de referencia Para poder pasar los argumentos necesitamos seleccionar un mecanismo entre ellos se encuentra proteccin y rendimiento.

89 | P g i n a

Proteccin. A la hora de elegir uno de los dos mecanismos que existen para pasar argumentos, el criterio ms importante que hay que tener en cuenta es la exposicin al cambio de las variables de llamada. Rendimiento. Aunque el mecanismo que se utilice para pasar argumentos tambin puede afectar al rendimiento del cdigo, la diferencia suele ser insignificante. Determinacin del mecanismo para pasar argumentos La declaracin del procedimiento especifica el mecanismo para pasar argumentos de cada parmetro. El cdigo de llamada no puede reemplazar a un mecanismo ByVal, pero si un argumento se declara con ByRef, el cdigo de llamada puede forzar al mecanismo para que pase el argumento ByVal; para ello hay que encerrar el nombre del argumento entre parntesis en la llamada. Cundo pasar un argumento por valor Si el elemento del cdigo de llamada subyacente al argumento es un elemento no modificable, declare el parmetro correspondiente ByVal. Ningn cdigo puede cambiar el valor de un elemento no modificable. Si el elemento subyacente es modificable, pero no desea que el procedimiento pueda modificar su valor, declare el parmetro ByVal. Slo el cdigo de llamada puede cambiar el valor de un elemento modificable transferido por valor. Cundo pasar un argumento por referencia Si el procedimiento necesita realmente modificar el valor subyacente en el cdigo de llamada, declare el parmetro correspondiente ByRef. Si la ejecucin correcta del cdigo depende del procedimiento que cambia el elemento subyacente en el cdigo de llamada, declare el parmetro ByRef. Si lo transfiere por valor o si el cdigo de llamada en lugar de utilizar el mecanismo para pasar argumentos ByRef incluye el argumento entre parntesis, la llamada al procedimiento podra producir resultados inesperados. Tipos por Valor vs. Tipos por Referencia En Visual C# existen dos tipos de variables, y para el desarrollador de aplicaciones es muy importante saberlo, y saber cmo y cundo est usando un tipo u otro, porque de ello depende en buena medida la calidad de su desarrollo. Las variables pueden ser por Valor o por Referencia. Un Tipo por Valor es un tipo que contiene los propios datos almacenados. Podemos imaginarnos los Tipos por valor como una cajita donde metemos cosas. Cuando necesitamos usar la cosa, vemos el contenido de la cajita, y lo
90 | P g i n a

manipulamos directamente. Los tipos numricos de Visual Studio: int, long, double, float son ejemplos de Tipos por Valor. Cuando asignamos a una variable de un tipo por valor el contenido de otra variable, hacemos una copia de la "cosa" contenida en la cajita, y desde ese momento, ambas copias son completamente independientes. Pongamos un ejemplo:
static void Main(string[] args) { int i; int j; i = 1; j = i; i++; j--; Console.WriteLine(String.Format("i={0} j={1}", i, j)); // i=2 j=0, porque al asignar j=i, lo que hacemos es // una copia de su contenido. Console.ReadKey(); }

Los Tipos por Referencia, por el contrario, son tipos que contienen una referencia a los datos, en vez de los datos en s. Podemos imaginarnos los tipos por referencia como una cajita donde, en vez de cosas, guardamos un papel que dice dnde est la cosa que queremos usar. Cuando asignamos una variable de un tipo por referencia a otra, copiamos el papel que dice dnde est guardada la cosa. Algunos ejemplos de tipos por referencia son object, List, etc.
static void Main(string[] args) { List L; List M; L = new List(); L.Add(7); M = L; M.Add(1); Console.WriteLine(String.Format( "Elementos en L={0} Elementos en M={1}", L.Count, M.Count)); // Elementos en L=2 Elementos en M=2, porque L y M apuntan al // mismo objeto. Console.ReadKey(); }

91 | P g i n a

El caso del tipo string es particular, ya que es un tipo por referencia, pero se comporta como un tipo por valor. Esto se debe a que Visual Studio .Net define los strings como inmutables, es decir: una vez creado el objeto, no se puede cambiar de ninguna manera.

92 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 2.5: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD
LUGAR ALCANCE

23

FECHA:

30/04/2012 - 01/05/2012

Realizar una investigacin y elaborar un informe acerca de los nombres reservados usados en C#. Tratando de explicar qu son? Para qu sirven? Cmo funcionan? NOMBRES RESERVADOS Estandarizar nombres de indicadores en programacin Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

93 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

NOMBRES

abstract

as

DEFINICION Este indica que el elemento objeto de la modificacin tiene una implementacin incompleta o que le falta una implementacin. El modificador abstract se puede usar con clases, mtodos, propiedades, indizadores y eventos. Se usa el modificador abstract en una declaracin de clase para indicar que la clase slo se puede utilizar como clase base de otras clases. El operador as se usa para realizar determinados tipos de conversiones entre tipos de referencia compatibles. La palabra clave base se utiliza para obtener acceso a los miembros de la clase base desde una clase derivada. El acceso a una clase base slo se permite en un constructor, en un mtodo de instancia o en un descriptor de acceso a una propiedad de instancia La palabra clave bool es un alias de System.Boolean. Se utiliza para declarar variables que almacenan los valores booleanos, true y false. Es una instruccin que permite terminar el bucle envolvente ms cercano o la instruccin switch en la cual aparece. El control se transfiere a la instruccin que sigue a la instruccin terminada, si existe alguna. La palabra clave byte denota un tipo integral que almacena valores. No es posible convertir implcitamente a byte otros tipos numricos no literales de mayor tamao de almacenamiento. La palabra clave char se utiliza para declarar un carcter Unicode. Las constantes de tipo char se pueden escribir como literales de cadena, secuencias de escape hexadecimales o representaciones. El tipo System.Char proporciona varios mtodos estticos para trabajar con valores char. Esta palabra clave usa con el fin de habilitar explcitamente la comprobacin de desbordamiento para operaciones aritmticas y conversiones de tipo integral. Si la expresin contiene uno o varios valores no constantes, el compilador no detecta el desbordamiento. La palabra clave class permite declarar las clases. Una clase puede heredar la implementacin de una sola clase base. Sin embargo, una clase puede implementar ms de una interfaz. Se utiliza para modificar una declaracin de un campo o una variable local. Especifica que el valor del campo o de la variable local es constante, o sea que no se puede modificar. Una expresin constante debe dar un valor del tipo destino o de un tipo que se pueda convertir implcitamente en el tipo destino. Transfiere el control a la siguiente iteracin de la instruccin de iteracin envolvente donde aparece
94 | P g i n a

base

bool

break

byte

char

checked

clase

const

continue

decimal

default

do

double

event

explicit

True-false

float

for

El tipo decimal tiene una mayor precisin y un intervalo ms reducido, lo que lo hace adecuado para clculos financieros y monetarios. Se puede dar formato a los resultados mediante el mtodo String.Format o a travs del mtodo Console.Write, el cual llama a String.Format(). La palabra clave default se puede utilizar en la instruccin switch o en cdigo genric. Cada tipo de referencia tiene un valor por defecto, este valor es devuelto por el valor por defecto (tipo), el valor predeterminado es ms til para la escritura de clases genricas. La instruccin do ejecuta una instruccin o un bloque de instrucciones repetidamente hasta que una determinada expresin se evala como false. El cuerpo del bucle se debe incluir entre llaves, {}, a menos que est compuesto por una sola instruccin. En ese caso, las llaves son opcionales La palabra clave double denota un tipo simple que almacena valores de punto flotante de 64 bits. Se utiliza para almacenar valores muy grandes y muy pequeos, este tambin almacena los valores fraccionarios como 1.5 y los valores negativos, tales como 1,5. La palabra clave event se utiliza para declarar un evento en una clase de editor. Los eventos son un tipo especial de delegado multidifusin que slo se puede invocar desde dentro de la clase o struct Este declara un operador de conversin de tipos definido por el usuario que se debe invocar con una conversin de tipos. Si una operacin de conversin puede producir excepciones o prdida de informacin, debe marcarse como explicit. De esta forma, se evita que el compilador realice la conversin automticamente y se produzcan posibles consecuencias no deseadas. Devuelve el valor booleano true para indicar que un operando es false; de lo contrario, devuelve false. Debe sobrecargar ambos operadores, true y false, por separado para controlar correctamente los valores NULL en la expresin. La palabra clave float denota un tipo simple que almacena valores de punto flotante de 32 bits. Float es un alias para el tipo System.Single. De forma predeterminada, un literal numrico real en el lado derecho del operador de asignacin se trata como double. Por consiguiente, para inicializar una variable de tipo float, utilice el sufijo f o F El bucle for ejecuta una instruccin o un bloque de instrucciones repetidamente hasta que una determinada expresin se evala como false. El bucle for es til para recorrer en iteracin matrices y para procesar secuencialmente.

95 | P g i n a

goto

If- else

implicit

int

interface

is

lock

new

null override

La instruccin goto transfiere el control del programa directamente a una instruccin identificada por una etiqueta. Un uso habitual de goto consiste en transferir el control a una etiqueta switch-case especfica o a la etiqueta predeterminada de una instruccin switch. La instruccin goto es til para salir de bucles de varios niveles de anidamiento. La instruccin if selecciona una instruccin para ejecucin en base al valor de una expresin Boolean. Si se desea ejecutar ms de una instruccin, es posible ejecutar varias instrucciones en forma condicional al incluirlas en bloques mediante {} La palabra clave implicit se utiliza para declarar un operador de conversin de tipo implcito definido por el usuario. Utilcela para permitir conversiones implcitas entre un tipo definido por el usuario y otro tipo, si existen garantas de que la conversin no provocar la prdida de datos. La palabra clave int denota un tipo integral que almacena valores segn el tamao. Las variables de tipo int se pueden declarar e inicializar. Una interfaz contiene solo las firmas de mtodos, propiedades, eventos o indizadores. Una clase o struct que implementa la interfaz debe implementar los miembros de la interfaz que se especifican en la definicin de interfaz. En el ejemplo siguiente, la clase ImplementationClass debe implementar un mtodo denominado SampleMethod que no tenga ningn parmetro y devuelva void. Comprueba si un objeto es compatible con un tipo determinado. La palabra clave is genera una advertencia en tiempo de compilacin si se sabe que la expresin siempre ser true o siempre ser false, pero normalmente evala la compatibilidad de tipos en tiempo de ejecucin. La palabra clave lock marca un bloque de instrucciones como una seccin crucial, para lo cual utiliza el bloqueo de exclusin mutua de un objeto, la ejecucin de una instruccin y, posteriormente, la liberacin del bloqueo. Esta garantiza que un subproceso no va a entrar en una seccin crtica del cdigo mientras otro subproceso se encuentre ya en esta seccin. La palabra clave new se puede utilizar como operador, modificador o restriccin. Operador: Se utiliza para crear objetos e invocar constructores. Modificador: Se utiliza para ocultar un miembro heredado de un miembro de clase base. Restriccin: Se utiliza para restringir tipos que se podran utilizar como argumentos para un parmetro de tipo en una declaracin genrica. Este es un literal que representa una referencia nula, es decir, que no apunta a ningn objeto. null es el valor predeterminado de variables de tipo referencia. El modificador override es necesario para ampliar o modificar la implementacin abstracta o virtual de un mtodo, propiedad,
96 | P g i n a

indizador o evento heredado. El mtodo invalidado por una declaracin override se conoce como mtodo base invalidado. El mtodo base reemplazado debe tener la misma firma que el mtodo override. Este permite especificar un parmetro de mtodo que acepta un nmero variable de argumentos. Puede enviar una lista separada por comas de argumentos del tipo especificado en la declaracin de parmetro o una matriz de argumentos del tipo especificado. Tambin puede no enviar ningn argumento. Es un modificador de acceso de miembros. El acceso de tipo private corresponde al nivel de acceso ms restrictivo. Los miembros privados slo son accesibles dentro del cuerpo de la clase o struct en los que se declaran Es un modificador de acceso a miembros. Un miembro protegido es accesible dentro de su clase y por instancias de clases derivadas. Encontrar una comparacin de protected con los otros modificadores de acceso en Niveles de accesibilidad. Los miembros de un struct no se pueden proteger, ya que el struct no se puede heredar. Es un modificador de acceso para tipos y miembros de tipos. El acceso de tipo public corresponde al nivel de acceso menos restrictivo. No existen restricciones para obtener acceso a los miembros pblicos. La instruccin return termina la ejecucin del mtodo en el que aparece y devuelve el control al mtodo que realiz la llamada. Tambin puede devolver un valor opcional. Si el mtodo es del tipo void, la instruccin return se puede omitir. Si la instruccin return est incluida en un bloque try, el bloque finally, si existe, se ejecutar antes de que el control se devuelva al mtodo de llamada La palabra clave stackalloc se utiliza en un contexto de cdigo no seguro para asignar un bloque de memoria en la pila. Dado que intervienen los tipos de puntero, stackalloc requiere el contexto unsafe. El uso de stackalloc habilita automticamente las caractersticas de deteccin de saturacin del bfer en Common Language Runtime (CLR). Este se utiliza para declarar un miembro esttico, que pertenece al propio tipo en vez de a un objeto especfico. El modificador static puede utilizarse con clases, campos, mtodos, propiedades, operadores, eventos y constructores, pero no puede utilizarse con indizadores, destructores o tipos que no sean clases. No se puede hacer referencia a un miembro esttico por medio de una instancia. En vez de ello, se debe hacer referencia por medio del nombre de tipo

params

private

protected

public

return

stackalloc

static

97 | P g i n a

string

Switch case

this

throw

Try-Finally

unchecked

virtual

void

El tipo string representa una secuencia de cero o ms caracteres Unicode. string es un alias de String en .NET Framework. Aunque string es un tipo de referencia, los operadores de igualdad (== y !=) se definen para comparar los valores de objetos string, no las referencias. De esta forma, es ms intuitivo comprobar la igualdad entre cadenas. Switch es una instruccin de control que selecciona una seccin del modificador para ejecutar desde una lista de candidatos. Este puede incluir un nmero cualquiera de secciones del modificador y cada seccin puede tener una o ms etiquetas case. Sin embargo, las etiquetas de dos casos pueden contener el mismo valor constante. La palabra clave this hace referencia a la instancia actual de la clase y tambin se utiliza como modificador del primer parmetro de un mtodo de extensin. Ejemplo: Pasar un objeto como parmetro a otros mtodos La instruccin throw se utiliza para sealizar la aparicin de una situacin anmala (excepcin) durante la ejecucin del programa. Normalmente, la instruccin throw se utiliza junto con las instrucciones try-catch o try-finally. El bloque finally es til para limpiar cualquier recurso asignado en el bloque try, as como tambin para ejecutar cualquier cdigo que deba ejecutarse incluso si hay una excepcin. El control se transfiere siempre al bloque finally independientemente de cmo finalice el bloque try. finally se emplea para asegurar la ejecucin de un bloque de instrucciones sin importar cmo finaliza el bloque try anterior Este se utiliza con el fin de suprimir la comprobacin de desbordamiento para operaciones aritmticas y conversiones de tipo integral. Si se quita el entorno unchecked, se produce un error de compilacin. Se puede detectar el desbordamiento en tiempo de compilacin porque todos los trminos de la expresin son constantes. De forma predeterminada, se suprime la comprobacin de desbordamiento de las expresiones que contienen trminos no constantes en tiempo de compilacin y tiempo de ejecucin. La palabra clave virtual se utiliza para modificar un mtodo, propiedad, indizador o declaracin de evento y permite invalidar cualquiera de estos elementos en una clase derivada. La implementacin de un miembro virtual puede reemplazarse por un miembro de reemplazo de una clase derivada. Cuando se utiliza como tipo de valor devuelto por un mtodo, void especifica que el mtodo no devuelve ningn valor. No se permite utilizar void en la lista de parmetros de un mtodo. Un mtodo que no utiliza parmetros y que no devuelve ningn valor se declara del siguiente modo void SampleMethod(); Void es un alias para el tipo System.Void de .NET Framework.

98 | P g i n a

volatile

while

La palabra clave volatile indica que varios subprocesos que se ejecutan a la vez podran modificar un campo. Los campos que se declaran como volatile no estn sujetos a optimizaciones del compilador que suponen el acceso por un subproceso nico. Esto garantiza que el valor ms actualizado est en todo momento presente en el campo. El modificador volatile suele utilizarse para un campo al que tengan acceso varios subprocesos sin utilizar la instruccin lock para serializar el acceso. La instruccin while ejecuta una instruccin o un bloque de instrucciones repetidamente hasta que una expresin especificada se evala como false. Un bucle while se puede terminar cuando una instruccin break, goto, return o throw transfiere el control fuera del bucle. Para pasar el control a la siguiente iteracin sin salir del bucle, use la instruccin continue.

99 | P g i n a

CAPITULO 3: USO DE CONTROLES Y METODOLOGA DE DESARROLLO

100 | P g i n a

ACTIVIDAD N:

24

FECHA:

02/05/2012 - 03/05/2012

Con la ayuda de las lecturas realizadas: Lectura complementaria: La programacin Orientada a Objetos. Cap. 9, pg. 339 343, del libro Programacin Visual Fox PRO 6.0 Paso a Paso. Editorial Macro. Rubn Luna Villavicencio. 1era. Edicin.

TEMA:

Lectura complementaria: Conceptos Fundamentales de Orientacin a Objetos. Captulo 15. pg. 575 609, del libro Fundamentos de Programacin: Algoritmos, Estructura de Datos y Objetos. Mc. GrawHill Liste las palabras claves y trate de darle una breve descripcin a cada una de estas.

UNIDAD N 3.1:

CLASES Y MTODOS Establecer los beneficios de utilizar programacin orientada a objetos Establecer y utilizar programacin modular de eventos Disear programas modulares Desarrollo de Sistemas informticos que no son modulares y que permitan alto acoplamiento y baja cohesin. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente

OBJETIVO:

PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

101 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Con la ayuda de las lecturas realizadas:

Liste las palabras claves y trate de darle una breve descripcin a cada una de estas. Orientada Objetos Clase Agrupar Reutilizar Sobrescribe La programacin orientada a objetos es lo que se conoce como un paradigma o modelo de programacin, es una forma de programar, una manera de plantearse la programacin. Es aquella que representa las cosas de una manera distinta, para escribir nuestros programas en trminos de objetos, propiedades, mtodos. Los objetos posee sus propias caractersticas o datos que determinan su comportamiento, adems posee sus propios mtodos o cdigo asociado, los cuales van a responder a las acciones que se den sobre dicho objeto. La clase es un modelo o prototipo que define las variables y mtodos comunes a todos los objetos de cierta clase. Las clases tienes las siguientes caractersticas: Encapsulamiento es la agrupacin de los datos y el cdigo asociado a una determinada clase ocultando de esta manera la complejidad que sta pueda tener. Herencia es aquella que nos permite reutilizar el cdigo de manera fcil y ordenada para de esta manera ahorrar recursos y espacio. La herencia se produce al crear subclases dentro de una clase.

102 | P g i n a

Polimorfismo consiste en que varios objetos que tengan distintas clases pero los mismos mtodos o propiedades con el mismo nombre se puede establecer. Este tiene relacin con la herencia ya que se sobrescribe.

Expresa la relacin que existe entre Mtodos, Clases y el objeto. Tanto objetos, mtodos y clases estn relacionadas entre s ya que cada uno se contiene. Un Objeto es aquel que tiene caracterstica y mtodos ya que gracias a esto responde a las acciones que debe realizar y un objeto es la instancia de una clase

103 | P g i n a

ACTIVIDAD N:

25

FECHA:

02/05/2012 - 03/05/2012

TEMA:

Revisar las propiedades de los controles y determinar para qu sirve, cmo funcionan y cules son los posibles valores que pueden contener. Realizar un informe donde explique las propiedades de los controles, e identificar aquellas propiedades que se utilizan para varios controles. Tome en cuenta los que usted considera ms importantes y que le servirn para su Proyecto Final. CLASES Y MTODOS Establecer los beneficios de utilizar programacin orientada a objetos Establecer y utilizar programacin modular de eventos Disear programas modulares Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente

UNIDAD N 3.1:

OBJETIVO:

PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

104 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Estos controles son los ms utilizados y los cuales utilizare dentro de mi proyecto.

BUTTON:

Es aquel que realizar una accin al hacer clip dentro del botn. Este tiene las siguientes caractersticas.

Name: Nombre del botn con cual se va a identificar de los dems al momento de codificar.

Backcolor: Aqu le daremos color al componente es decir al botn.

BackgroundImage: Se puede insertar una imagen de fondo al botn.

BackgroundImageLayout: Se puede escoger entre diferentes opciones que cuenta como es centrar, zoom, strech de la imagen.

Enabled: Se puede poner como activo o desactivado el botn.

Font: Aqu se cambia la fuente, el estilo y tamao del texto del botn.

ForeColor: Aqu se cambia el color del texto del botn.

Text: Aqu ponemos un nombre con cual se va identificar los botones hacia el usuario.

105 | P g i n a

Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga

LABEL:

Es una etiqueta que permite identificar algo que se va realizar.

Name: Nombre del label con cual se va a identificar de los dems al momento de codificar.

Backcolor: Aqu le daremos color al componente es decir al label o tambin podemos ponerlo como transparente para que no se note.

Enabled: Se puede poner como activo o desactivado el label.

Font: Aqu se cambia la fuente, el estilo y tamao del texto del label.

ForeColor: Aqu se cambia el color del texto del label.

Text: Aqu ponemos un nombre con cual se va identificar el label hacia el usuario.

Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga

CHECKBOX:

Este es una casilla de verificacin que nos permite escoger entre varios opciones.

106 | P g i n a

Name: Nombre del checkbox con cual se va a identificar de los dems al momento de codificar.

Backcolor: Aqu le daremos color al componente es decir al checkbox o tambin podemos ponerlo como transparente para que no se note.

BackgroundImage: Se puede insertar una imagen de fondo al checkbox.

BackgroundImageLayout: Se puede escoger entre diferentes opciones que cuenta como es centrar, zoom, strech de la imagen.

Font: Aqu se cambia la fuente, el estilo y tamao del texto del checkbox.

ForeColor: Aqu se cambia el color del texto del checkbox.

Text: Aqu ponemos un nombre con cual se va identificar el label hacia el usuario.

Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga

COMBOBOX:

Este componente es una lista desplegable con distintas entradas.

Name: Nombre del combobox con cual se va a identificar de los dems al momento de codificar.

Backcolor: Aqu le daremos color al componente es decir al combobox o tambin podemos ponerlo como transparente para que no se note..
107 | P g i n a

Font: Aqu se cambia la fuente, el estilo y tamao del texto del combobox.

ForeColor: Aqu se cambia el color del texto del combobox.

Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga

Item: Aqu podremos insertar lo elementos que queremos que contenga el combobox.

DATAGRIDVIEW:

Este inserta una tabla que nos permite observar datos tanto ingresado como de la base de datos.

Name: Nombre del datagridview o tabla con cual se va a identificar de los dems al momento de codificar.

Backgroundcolor: Aqu podremos cambiar el color de fondo de la tabla.

BorderStyle: Esta opcin permite con los borde cambien su funcin es decir finos, grueso, 3d.

Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga

108 | P g i n a

MENUSTRIP:

Este nos proporcin un sistema de mens dentro de un formulario para de esta manera insertas diferentes submens.

Name: Nombre del menustrip o tabla con cual se va a identificar de los dems al momento de codificar.

Backcolor: Aqu le daremos color al componente es decir al menustrip o tambin podemos ponerlo como transparente para que no se note.

BackgroundImage: Se puede insertar una imagen de fondo al menustrip.

Text: Aqu ponemos un nombre con cual se va identificar el label hacia el usuario.

PICTUREBOX:

Nos permite ingresar imgenes.

Name: Nombre del picturebox con cual se va a identificar de los dems al momento de codificar.

Backcolor: Aqu le daremos color al componente es decir al picturebox o tambin podemos ponerlo como transparente para que no se note.

BorderStyle: Esta opcin permite con los borde cambien su funcin es decir finos, grueso, 3d.

Image: Nos permite ingresar la imagen que queremos captar.


109 | P g i n a

TEXTBOX:

Mediante este control podremos realizar tanto la entrada como la salida de datos en nuestras aplicaciones.

Name: Nombre del textbox con cual se va a identificar de los dems al momento de codificar.

Backcolor: Aqu le daremos color al componente es decir al textbox o tambin podemos ponerlo como transparente para que no se note.

BorderStyle: Esta opcin permite con los borde cambien su funcin es decir finos, grueso, 3d.

Font: Aqu se cambia la fuente, el estilo y tamao del texto del textbox.

ForeColor: Aqu se cambia el color del texto del textbox..

Text: Aqu ponemos un nombre con cual se va identificar el textbox hacia el usuario.

110 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.2: OBJETIVO:

26

FECHA:

07/05/2012 - 08/05/2012

Realizar un ensayo acerca de la creacin de base de datos en Sql Server y la conexin en C#, tratando de explicar cul ha sido su experiencia, dificultades encontradas y cmo logr superarlas, reflexione sobre lo que necesita mejorar. CONEXIN A LA BASE DE DATOS CON EL DATAADAPTER Establecer la estructura de la Base de Datos Seleccionar el DBMS a utilizar Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas e) Identificar, formular y resolver problemas de ingeniera. g) Comunicarse efectivamente

PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

111 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

CREACION DE BASE DE DATOS: Para crear una base de datos en SQL Server primeramente debemos ya tener instalado el programa. Una vez hecho esto procedemos a crear una nueva base de datos. Para realizar esto, al lado derecho podemos encontrar todos los objetos que contiene esta instancia, hay encontraremos una carpeta con el mismo nombre donde haremos clip derecho nueva base de datos, nos aparecer una nueva pantalla donde en la parte superior escribiremos el nombre de nuestra nueva base de datos y haremos clip en aceptar para poder continuar. En la parte superior podemos observar que ya se encuentra el nombre de nuestra base de datos. Una vez creada la base de datos, dentro de esta encontraremos una diversidad de carpetas, entre ellas tablas. Para poder crear las tablas que contendr nuestra base de datos hacienda_bd haremos clip derecho nueva tabla. Dentro de ella podemos escribir los campos k contendr esta tabla poniendo las distintas llaves, tipo de valor, etc. Luego procederemos a guardar nuestra tabla designndole su correspondiente nombre y a su sucesivamente creando todas las tablas necesarias que tendr nuestra base de datos hacienda_bd. Ejemplo: 1.- Abrir el Management Studio

Figura 1. Seleccionar la Herramienta SQL Server Management Studio

Seleccionar la instancia en la que se quiere trabajar, en la figura 2 es la instancia de SQLEXPRESS.

112 | P g i n a

Figura 2. Conectar a un servidor de bases de datos con el Management Studio

A continuacin damos clic en conectar o connect dependiendo si est en espaol o ingls:

Figura 3. Cuadro de dialogo Management Studio Y listo ya tenemos abierto Microsoft SQL Server Management Studio, el cual servir para crear bases de datos con sus tablas correspondientes entre otras cosas ms, para crear las Bases de datos podemos utilizar los asistentes o realizarlo a travs de cdigo SQL, en este primer ejemplo, veamos cmo crear nuestra Base de Datos utilizando la interfaz grfica. Con el botn derecho (o el botn secundario), pulsar en Bases de datos y del men seleccionar Nueva base de datos, tal como se muestra en la figura 4.

113 | P g i n a

Como primer paso debemos hacer click derecho sobre la carpeta de: bases de datos

Despus debemos seleccionar la opcin de: Nueva base de datos

Figura 4. Crear una nueva base de datos

Entonces se abrir una ventana en la cual daremos los datos correspondientes para crear nuestra base de datos, el nombre que en este ejemplo se utiliza es MiDB:

114 | P g i n a

Una vez que seleccionamos la opcin de Nueva base de datos aparecer una ventana como esta En esta ventana asignaremos un nombre a la base de datos Despus presionamos Aceptar (OK)

Figura 5. Cuadro de dilogo para ingresar informacin sobre la base de datos. Damos clic en OK, y listo, nuestra base de datos est creada y aparecer dentro de la carpeta Base de Datos, pero ahora falta agregarle tablas, procedemos entonces a realizarlo, de la siguiente manera: Extendemos la jerarqua de las carpetas de nuestra base de datos hasta poder ver la carpeta que dice Tables (Tablas), como se muestra en la Figura 6, le damos clic derecho y seleccionamos New Table (Nueva Tabla).
Para crear una tabla en nuestra Base daremos click derecho sobre la Carpeta Tablas ubicada dentro de la base de datos (MiDB para el ejemplo) y seleccionaremos Nueva tabla

Jerarqua de carpetas

Figura 6. Jerarqua de Carpetas.

Haciendo esto tendremos una ventana como aparece la figura 7, donde podremos ingresar la estructura de nuestra tabla.

115 | P g i n a

Figura 7. Diseador de tablas.

En esta ventana empezaremos primero a darle nombre a los campos y el tipo de datos que manejarn, y desde luego si manejan o no valores nulos.
En esta ventana agregaremos Todos los campos que Necesitemos en la tabla. Ingresaremos: Nombre de columna Tipo de dato Permitir si el valor ser nulo

Figura 8. Diseador de tablas.

Tambin le asignaremos al campo Id la Primary Key

116 | P g i n a

Al hacer clic en esta opcin configuramos el campo seleccionado como llave principal de la tabla

Nota: con esta opcin podremos crear las relaciones entre las tablas. (links entre llave principal y llave ajena)

Figura 9. Asignacin Clave principal. Con esto, ya tenemos creada una tabla en nuestra base de datos, ahora lo que resta es guardarla con un nombre, para eso daremos clic derecho en la pestaa de dicha tabla (o seleccionamos la opcin Archivo del men principal) y le daremos en Save Table_1 (Grabar Tabla):
Click derecho en la pestaa de la tabla

Clic en la opcin Save Table 1 (Grabar Tabla1)

Figura 10. Grabar tabla creada. Entonces les damos un nombre a la tabla:
Ingrese el nombre que le quiere dar a su tabla

Click en el botn OK para grabar tabla.

Figura 11. Nombre de la tabla a crear.

117 | P g i n a

Y listo ya hemos creado nuestra tabla en Microsoft SQL Server 2005. Si hacemos clic en el nombre de la tabla creada dentro de la estructura jerrquica de carpetas ubicada en el panel izquierdo, luego clic con el botn derecho y seleccionamos SCRIPT .., esto permitir observar el cdigo que se ejecut para la creacin de dicha tabla (se aplica para cualquier objeto de la base de datos que se haya seleccionado). Como lo muestra la Figura 12

Se muestra la codificacin SQL para crear dicho objeto.

Clic en el botn secundario del mouse sobre el objeto y seleccionar SCRIPT

Figura 12. Crear SCRIPT para crear objeto en SQL.

Ahora bien, veamos un ejemplo para crear una base de datos, utilizando comandos SQL. Para esto, en la base de datos que hemos creado, pulsa con el botn derecho del ratn para que te muestre el men contextual, del que seleccionars Nueva consulta, tal como puedes ver en la figura 13.

118 | P g i n a

A lado de esta pestaa se abrir una nueva para editar cdigo SQL.

Figura 13. Crear una nueva consulta en Management Studio

Eso har que se muestre una ventana en el panel de la derecha (junto a la ficha Resumen). En la ventana de consulta se puede escribir el cdigo de SQL que se desee para crear los objetos de la base de datos. A continuacin se presenta un ejercicio para realizar la creacin a travs de comandos, para lo cual se presenta un esquema E-R (figura 14), y los cdigos que se deben ejecutar:

Figura 14. Modelo E-R, esquema a implementarse


119 | P g i n a

COMANDOS SQL. Sentencias que se deben ejecutar:


--Sentencias para crear base de datos

CREATE DATABASE BANCO GO

--Sentencias para seleccionar base de datos donde se crear la tabla

USE BANCO GO

--Sentencias para crear tabla Cliente

CREATE TABLE CLIENTE (IDCLIENTE VARCHAR(5)PRIMARYKEY, APELLIDOS VARCHAR(30), NOMBRES VARCHAR(30)) GO //Aqu se declara la llave principal

--Sentencias para crear tabla Cuenta

CREATE TABLE CUENTA (IDCLIENTE VARCHAR(5), ajena IDCUENTA VARCHAR(5)PRIMARYKEY, SALDO FLOAT, DIVISA VARCHAR(20)) GO //Aqu se declara campo para llave

//Aqu se declara la llave principal

--Sentencias para crear tabla Movimiento

120 | P g i n a

CREATE TABLE MOVIMIENTO (IDCUENTA VARCHAR(5), ajena //Aqu se declara campo para llave

IDMOVIMIENTO VARCHAR(5)PRIMARYKEY, //Aqu se declara la llave principal TIPO VARCHAR(2), MONTO FLOAT, FECHA DATETIME) GO

--Sentencias para crear llaves ajenas en la tabla Cuenta

ALTER TABLE CUENTA ADD FOREIGN KEY(IDCLIENTE)REFERENCES CLIENTE GO

--Sentencias para crear llaves ajenas en la tabla Movimiento

ALTER TABLE MOVIMIENTO ADD FOREIGN KEY(IDCUENTA)REFERENCES CUENTA GO

Una vez escrito el cdigo en la ventana de consultas, pulsar el botn Ejecutar (ver la figura 15), o bien pulsa la tecla F5.

121 | P g i n a

Figura 15. Ejecutar la consulta Esto crear la Base de datos Banco y sus tablas Clientes, Cuentas y Movimientos. Si expande la base de datos y pulsa en Tablas, se observar que ya estn las tablas creadas, parecido a como lo muestra la Figura 16.

Figura 16. La tabla de Clientes ya est creada

122 | P g i n a

Ahora vamos a aadir unos cuantos datos. Para ello vamos a utilizar el comando INSERT, y colocarlo dentro de la ventana consulta.
--Sentencias para insertar registros en la tabla Cliente

INSERT INTO CLIENTE VALUES ('00001','CORDOVA','WLIMER') GO INSERT INTO CLIENTE VALUES ('00002','ACOSTA','ANA') GO INSERT INTO CLIENTE VALUES ('00003','CORDOVA','DANIELA') GO

--Sentencias para insertar registros en la tabla Cuenta

INSERT INTO CUENTA VALUES ('00001','00011',200,'DOLARES') GO INSERT INTO CUENTA VALUES ('00002','00012',150,'DOLARES') GO INSERT INTO CUENTA VALUES ('00003','00013',300,'DOLARES') GO

--Sentencias para insertar registros en la tabla Movimiento

INSERT INTO MOVIMIENTO VALUES ('00011','00111','D',20,'24/10/2005') GO INSERT INTO MOVIMIENTO VALUES ('00012','00112','R',100,'05/05/2000') GO INSERT INTO MOVIMIENTO VALUES ('00013','00113','D',50,'25/08/2006') GO

Al igual que con la creacin, una vez escrito el cdigo en la ventana de consultas, pulsar el botn Ejecutar (ver la figura 15), o bien pulsa la tecla F5 y se aadirn
123 | P g i n a

estos datos. Tambin se puede grabar un archivo de texto y ejecutarlo en cualquier momento.

abrirlo para

Otra opcin es abrir la tabla de Clientes para que muestre lo que tiene, se mostrar algo parecido a lo que se muestra en la figura 17. En esta ventana, el ltimo registro en blanco, permite adicionar nuevos registros.

Registros ingresados en la tabla Clientes

Este espacio permite adicionar nuevos registros.

Figura 17. Los datos que se aadieron a la tabla de Clientes

CONEXION CON C# Una vez realizada la debida instalacin de Microsoft Visual Studio c#, podemos crear un proyecto donde dentro de este crearemos un respectivo formulario. A continuacin procedemos a enlazar la base de datos, haciendo clip en el men data y escogemos data source, hay nos aparecer un ventanita donde haremos clip dentro de ella en la parte que dice agregar base de datos. Aparecer una ventana nueva donde haremos clip en base de datos siguiente, aqu escogeremos la base de datos donde despus nos aparecer todo lo referente con lo que trabaja esa base de datos. Haremos clip en tablas y se desplegaran todas las que contiene y sealaremos las tablas con las cuales vamos a trabajar y se cerrara esa pequea ventana. Ahora en la ventana principal de c# a lado izquierdo podremos visualizar las tablas con sus respectivos campos. Dentro de cada tabla al hacer clic podemos hacer que los datos de esta se visualicen en una tabla o como detalles. Si es como detalle dentro de cada campo
124 | P g i n a

al hacer clip podemos escoger en donde quiere que lo hagan es decir si en un label, textbox, etc. Una vez realizado todo esto procedemos a arrastrar la tabla hacia el formulario donde automticamente se colocaron todos los campos correspondientes. De ah solo se procede a cambiar la interfaz, colores, letra, etc. Ejemplo: Enlazar una Base de Datos SQL Server a los Formularios Visual Studio 2008 proporciona a los desarrolladores un conjunto de herramientas y asistentes que facilitan enormemente el trabajo y ahorran grandes cantidades de tiempo en el desarrollo de diferentes aplicaciones. De los asistentes o herramientas que nos proporcionan mayor rendimiento en el entorno de desarrollo rpido de Microsoft, est la que nos permite trabajar con fuentes de datos como los datos de una aplicacin tpica maestro detalle. Entre otras cosas, nos centraremos en esta accin, que ser la que veremos en detalle a continuacin. Qu son los datos Maestro Detalle? El desarrollador de aplicaciones que debe trabajar con datos y fuentes de datos relacionadas entre s, encuentra con frecuencia problemas de desarrollo en aplicaciones con datos interrelacionados. Adems, este tipo de aplicaciones, consumen gran parte del tiempo de desarrollo y son por lo general, acciones repetitivas. Supongamos como ejemplo general, la tabla Socios de un videoclub. Adems, relacionemos los socios del videoclub, con una tabla Alquileres, para saber si un socio determinado tiene pelculas alquiladas, y en ese caso, saber cules. Este sencillo ejemplo, es un claro exponente de una aplicacin que relaciona datos maestro detalle. Ambas tablas deben estar relacionadas para recopilar la informacin que se necesite en un momento dado. Los datos maestros seran expuestos por los socios del videoclub, mientras que los datos detalle estaran relacionados con los datos de los alquileres de los socios. En nuestro caso, vamos a cambiar las palabras maestro y detalle por padre e hijo, y a partir de ahora, nos referiremos a padre como la tabla Socios, e hijo como la tabla Alquileres. De esta forma, ubicaremos sin problemas ambos conceptos dentro del entorno de Visual Studio 2008, ya que ste tiene alguna ligera connotacin que podra infundirnos a error como observar ms adelante.
125 | P g i n a

Por suerte, Visual Studio 2008 nos proporciona un conjunto de herramientas, que hace que realizar una aplicacin Windows con todas las caractersticas de una aplicacin maestro detalle, sea un autntico juego de nios, que nos llevar aproximadamente un minuto de nuestro tiempo como mucho. Configurando la fuente de datos Trabajar con fuentes de datos requiere como tarea inicial, que tengamos listo y preparado un origen de fuentes de datos vlido. Para esta tarea, deberemos configurar la fuente de datos que vamos a utilizar, algo que vamos a aprender a hacer a continuacin. Configurando el origen de la fuente de datos Iniciaremos una nueva aplicacin Windows con Visual Studio 2008 y seleccionaremos el men Data > Show Data Sources (Datos > Mostrar orgenes de datos) como se indica en la figura 1.

Figura 1. Men para mostrar los orgenes de datos

En este punto, aparecer una ventana como la que se muestra en la figura 2.

Figura 2. Ventana de orgenes de datos 126 | P g i n a

Como podemos apreciar, la ventana no tiene por defecto ningn origen de datos asignado, adems, esta ventana inicialmente, no est anclada a ningn sitio del entorno. Para situarla en un lugar especfico del entorno, haga clic sobre la ventana y arrstrela sobre la parte en la que desee situarla, como se indica por ejemplo, en la figura 3.

Figura 3. La ventana orgenes de datos podemos situarla dnde deseemos dentro de Visual Studio 2008

En este punto, la ventana de orgenes de datos, quedar anclada en el entorno de desarrollo, como se muestra en la figura 4.

127 | P g i n a

Figura 4. La ventana orgenes de datos anclada en Visual Studio 2008

Cada uno, puede situar esta ventana dnde considere oportuno. En mi caso la he situado entre las ventanas del Explorador de soluciones y de Propiedades, pero podemos situarla dnde consideremos oportuno. Sobre la configuracin del origen de datos, haga clic sobre la opcin Agregar nuevo origen de datos... como se indica en la figura 5.

Figura 5. Opcin para agregar un nuevo origen de datos

128 | P g i n a

Aparecer una ventana como la que se muestra en la figura 6 en la cual indicaremos el lugar de dnde la aplicacin obtendr los datos, y que en nuestro caso ser de una Base de datos.

Figura 6. Como tipo de origen de datos elegiremos una Base de datos

Una vez seleccionado la opcin de Base de datos como tipo de origen de datos, presionaremos el botn Siguiente. En la siguiente ventana, elegiremos la conexin de la base de datos que vamos a utilizar, o presionaremos sobre el botn Nueva conexin... si no tenemos seleccionada la conexin que queremos utilizar, como se muestra a continuacin en la figura 7.

Hacer clic en el botn New Connection para crear una nueva coneccin.

Figura 7. Ventana dnde elegimos la conexin de datos 129 | P g i n a

Aparecer una nueva ventana denominada Agregar conexin, aqu podemos observar la opcin Origen de datos, si esta en blanco o contiene otro origen diferente, debemos hacer clic en el botn Cambiar, tal como lo muestra la figura 8.

Figura 8. Ventana para seleccionar el origen de datos.

Al hacer clic en ese botn aparece una ventana con la lista de orgenes de datos disponibles para el proveedor .NET Framework, de esta lista se debe seleccionar el dbms donde se ha implementado la base de datos, en este caso seleccionamos Microsoft Sql Server. Y hacemos clic en Aceptar, como lo muestra la figura 9.

Primero seleccionamos el origen de datos Microsoft SQL Server y luego hacemos clic en el botn Aceptar

Figura 9. Lista de orgenes de datos.

Retornamos a la ventana anterior (Agregar conexin), aqu seleccionaremos nuestro Servidor, si no se encuentra el nombre del servidor en la lista, haga clic
130 | P g i n a

en el botn Actualizar, o solicitar informacin del nombre del servidor al administrador de la Red. A continuacin seleccionaremos nuestra Base de Datos (para el ejemplo se est utilizando la base de datos denominada Negocio), para asegurarse de que la conexin se est estableciendo, probaremos la Conexin (Tiene que funcionar, por lo que debe aparecer un mensaje indicando esta situacin), por ltimo hacemos clic en el botn aceptar, como lo muestra la figura 10.

Figura 10. Ventana dnde se muestra los datos que elegimos para la conexin

Con esto regresar a la ventana anterior, como dato informativo por el momento, hacemos clic en el + de cadena de conexin como lo demuestra la figura 11. Esta cadena la podemos copiar y podr ser utilizada dentro de la codificacin cuando no se desee utilizar este asistente, por lo que en este caso luego de copiar se presiona Cancelar. Este apartado lo veremos ms adelante.

131 | P g i n a

Figura 11. Ventana dnde se muestra la cadena de conexin utilizada.

Regresando a nuestro tema, en la figura 12, podemos ver cmo hemos establecido la conexin con nuestra fuente de datos, que utilizaremos en nuestro ejemplo de creacin de la aplicacin de acceso a datos maestro detalle.

Figura 12. Ventana dnde se muestra la conexin de datos que elegimos

A continuacin, haremos clic en el botn Siguiente. En la nueva ventana que aparece ahora dentro del asistente para la creacin del origen de datos,
132 | P g i n a

indicaremos el nombre de la cadena de conexin que crearemos. En nuestro caso, no modificaremos el nombre de la cadena de conexin, dejndola por defecto como se muestra en la figura 13.

Figura 13. Asignamos un nombre para el nombre de la cadena de conexin

A continuacin, haremos clic sobre el botn Siguiente. En este punto, el asistente se conecta a la base de datos para recuperar la informacin de la base de datos y mostrarla en la ventana del asistente como se muestra en la figura 14.

Figura 14. Ventana con los objetos de la base de datos seleccionada

A continuacin, despliegue el objeto Tablas y seleccione las tablas Alquileres y Socios como se indica en la figura 15.
133 | P g i n a

Figura 15. Seleccin de los objetos de la base de datos seleccionada

Una vez que hemos seleccionado los objetos de la base de datos, haremos clic sobre el botn Finalizar para que el asistente concluya las opciones aadidas al asistente. La ventana del origen de datos, quedar ahora configurado de una forma similar a la que se presenta en la figura 16.

Figura 16. Ventana de origen de datos con la configuracin aadida

A partir de aqu, deberemos preparar las tablas del origen de datos para que se comporten como autnticos datos e informaciones maestro detalle. Preparando el origen de datos Ya hemos aprendido a aadir nuestro origen de datos, y ahora aprenderemos a prepararlo para poder utilizarlo posteriormente en la aplicacin Windows.
134 | P g i n a

La preparacin del origen de datos, nos permitir seleccionar que tabla o datos queremos que acten como maestro y cuales como detalle, o dicho de otra forma, que datos queremos que sean padre y cuales hijo. Nuestro objetivo principal es mostrar la tabla Alquileres como tabla hijo y la tabla Socios como padre de la tabla anterior. Prepararemos e incrustaremos primero la tabla Socios dentro del formulario Windows como Detalle de la informacin, y posteriormente insertaremos la tabla Alquileres dentro del formulario. Por ltimo, asignaremos alguna relacin que permita trabajar con las dos tablas en nuestro formulario Windows sin perder la conexin entre ambas tablas y permitindonos acceder a la informacin que nos proporciona dicha relacin. Preparando la tabla padre Lo primero que haremos ser preparar la tabla padre para poderla aadir al formulario Windows. Por esa razn, haremos clic sobre la tabla Socios de la ventana de Orgenes de datos como se indica en la figura 17.

Figura 17. Tabla Socios de la ventana de orgenes de datos

En la ventana de Orgenes de datos y en concreto con la tabla Socios desplegada, centraremos nuestra atencin en el campo NIF como se indica en la figura 18.

Figura 18. Campo NIF de la tabla Socios

Pulse sobre la lista desplegable que aparece a la derecha del campo NIF y seleccione la opcin Label como se indica en la figura 19.

135 | P g i n a

Figura 19. Lista desplegable con la opcin Label seleccionada como campo de la tabla desplegada

En este caso, la ventana de Orgenes de datos quedar informada tal y como se indica en la figura20.

Figura 20. Campo NIF modificado en la ventana de Orgenes de datos

A continuacin, haremos clic sobre la tabla Socios como se indica en la figura 21, y posteriormente presionaremos sobre la lista desplegable que aparece a la derecha de la tabla.

Figura 21. Tabla Socios seleccionada en la ventana de Orgenes de datos

Si hacemos clic sobre la lista desplegable, aparecer una lista de opciones o posibilidades, para indicar cmo queremos que sean los campos de la tabla

136 | P g i n a

seleccionada con respecto a qu tipo de controles queremos que sean. Esto es lo que se indica en la figura 22.

Figura 22. Lista desplegable de la tabla Socios de la ventana de Orgenes de datos

Por defecto, una tabla queda determinada con un icono que representa el control DataGridView, aunque se puede modificar la representacin que deseamos tengan los datos dentro de un formulario seleccionando cualquiera de las opciones que tenemos de la lista desplegable. Estas opciones pueden ser cualquiera de las siguientes: Representa los datos volcados dentro de un control DataGridView Representa los datos volcados dentro de controles estndar como TextBox u otros controles para reflejarla como Detalle de la informacin No representa ningn control como tipo de control de volcado de datos En el caso de la tabla Socios que usaremos como tabla padre, cambiaremos la representacin por defecto de DataGridView para indicarle que nos represente la informacin en controles, tal y como se indica en la figura 23.

Figura 23. Tabla Socios seleccionada en la ventana de Orgenes de datos como Detalle

Ahora que tenemos la tabla maestra ya preparada, pasaremos a preparar la tabla hija.

137 | P g i n a

Preparando la tabla hija Ahora que ya tenemos preparada la tabla tabla padre, prepararemos la tabla hija de los alquileres de las pelculas de video, para poder usar su informacin dentro del formulario Windows. Por esa razn, haga clic sobre la tabla Alquileres de la ventana de Orgenes de datos como se indica en la figura 24.

Figura 24. Tabla Alquileres de la ventana de orgenes de datos

Dentro de la ventana de Orgenes de datos y en concreto de la tabla Alquileres desplegada, centraremos nuestra atencin en el campo AlquilerID y SocioNIF como se indica en la figura 25.

Figura 25. Campos AlquilerID y SocioNIF de la tabla Alquileres

Sobre el campo AlquilerID y SocioNIF, haremos una pequea modificacin. Pulse sobre la lista desplegable que aparece a la derecha del campo AlquilerID y SocioNIF y seleccione la opcin Label como se indica en la figura 26.

138 | P g i n a

Figura 26. Lista desplegable de opciones de un campo de la tabla desplegada

De esta manera, el campo AlquilerID y SocioNIF quedarn modificados en la ventana Orgenes de datos como se indica en la figura 27.

Figura 27. Campo AlquilerID y SocioNIF modificados en la ventana de Orgenes de datos

A continuacin, haremos clic sobre la tabla Alquileres como se indica en la figura 28, y posteriormente presionaremos sobre la lista desplegable que aparece a la derecha de la tabla.

Figura 28. Tabla Alquileres seleccionada en la ventana de Orgenes de datos

Nos aseguraremos que est seleccionada la opcin DataGridView que es la que aparece por defecto. Esto es lo que se indica en la figura 29.
139 | P g i n a

Figura 29. En la tabla Alquileres, nos aseguraremos de seleccionar la opcin DataGridView

Una vez que tenemos las tabla maestra y detalle preparadas para utilizarlas, las aadiremos al formulario Windows para que tengan el funcionamiento esperado. Incrustando los datos maestro detalle Ya sabemos cmo crear un origen de datos, tambin sabemos cmo preparar los datos maestro y detalle, y por ltimo, lo que nos queda es insertar esos datos en el formulario, y relacionar todos sus datos para que funcionen de la forma esperada. A continuacin, veremos cmo llevar a cabo esta tarea y aprenderemos a hacerlo posible de forma muy rpida y sencilla. Incrustando la tabla padre en el formulario Nuestra primera accin, ser incrustar en el formulario los datos o tabla padre, que en nuestro caso es la formada por la tabla Socios. Para situar los datos de la tabla Socios dentro de un formulario y en concreto como una informacin de detalle, bastar con arrastrar y soltar la tabla Socios sobre el formulario como se indica en la figura 30.

Figura 30. Para presentar la informacin como detalle, arrastraremos la tabla Socios de la ventana Orgenes de datos sobre el formulario Windows

140 | P g i n a

Observaremos que Visual Studio 2008, generar por nosotros un conjunto de componentes y controles, que por defecto tendr una apariencia similar a la que se presenta en la figura 31.

Figura 31. Controles y Componentes de la tabla maestra aadidos al formulario Windows

Observe por un momento, que el campo NIF que declaramos como Label en la ventana de Orgenes de datos, aparece como tal en el formulario, tal y como se indica en la figura 32.

Figura 32. Campo NIF de la tabla, representado como un control Label en el formulario Windows

Si ejecutamos nuestra aplicacin, observaremos que esta acta como una tpica aplicacin de acceso a datos que nos permite navegar a travs de los campos de la tabla Socios, tal y como se indica en la figura 33.

141 | P g i n a

Figura 33. Aplicacin en ejecucin de la tabla de detalle incrustada en el formulario Windows

A continuacin, insertaremos en el formulario la tabla Alquileres y relacionaremos ambas tablas para que se muestren los datos relacionados, dentro del formulario Windows. Incrustando la tabla hija en el formulario Ya tenemos la tabla padre insertada en nuestro formulario Windows. Nuestra segunda accin, ser la de incrustar en el formulario los datos o tabla hoja, que en nuestro caso es la formada por la tabla Alquileres, la cual adems, posee una relacin entre campos con la tabla Socios insertada anteriormente. Para llevar a cabo esta accin arrastraremos y soltaremos la tabla Alquileres sobre el formulario como se indica en la figura 34.

Figura 34. Para presentar la informacin de la tabla Alquileres, arrastraremos la tabla de la ventana Orgenes de datos sobre el formulario Windows

142 | P g i n a

Observe que Visual Studio 2008, genera por nosotros ms componentes y controles, que por defecto tendr una apariencia similar a la que se presenta en la figura 35.

Figura 35. Controles y Componentes de la tabla maestra y detalle aadidos al formulario Windows

Como podemos observar, el entorno de trabajo ha hecho por nosotros el trabajo ms complejo para representar los datos de forma rpida y sencilla. El esquema de datos tipados, apareca ya en nuestro proyecto cuando asignamos el correspondiente origen de datos. Ahora lo que ha ocurrido, es que al arrastrar y soltar la tabla padre Socios de la ventana de Orgenes de datos, en el entorno se ha aadido un componente de nombre MSDNVideoDataSet que es el que permitir relacionar el DataSet tipado con nuestros datos. Este componente ser usado por la relacin maestro detalle de las dos tablas aadidas al formulario. En la figura 36, podemos ver el esquema aadido a nuestro proyecto, y el componente del que estamos hablando.

Figura 36. Esquema del DataSet tipado aadido al proyecto y su componente de relacin

143 | P g i n a

Ejecute la aplicacin y observe el comportamiento de la misma. Observar por lo tanto, que los datos entre detalle y maestra, no estn relacionados. Si navegamos a travs de los datos de detalle a travs del objeto SociosBindingNavigator, el control DataGridView no representa la relacin de los datos seleccionados. Esto es lo que se muestra en la figura 37.

Figura 37. Ejecucin de la aplicacin confirmando que los datos mostrados no estn relacionados

A continuacin, la tarea que nos queda para completar el correcto funcionamiento de nuestra aplicacin, es la de relacionar la tabla detalle y la tabla maestra entre s, para que los datos que se muestran en la aplicacin, estn relacionados entre s. Relacionando la tabla padre con la tabla hija La tarea ms sencilla es la de relacionar la tabla detalle con la tabla maestra. Es una tarea sencilla, porque Visual Studio 2008 nos proporciona las herramientas necesarias para simplificar al mximo esta tarea. Para llevar a cabo esta tarea, haga clic sobre el control DataGridView que corresponde a los datos de la tabla maestra, y acceda a la ventana de Propiedades. Dentro de la ventana de Propiedades, acceda a la propiedad DataSource como se indica en la figura 38.

144 | P g i n a

Figura 38. Propiedad DataSource del control DataGridView de la informacin maestra

Despliegue esta propiedad, y de la lista desplegable que aparece, seleccione la opcin FK_Alquileres_Socios como se indica en la figura 39.

Figura 39. Asignacin de la clave de relacin entre las tablas

Cuando se asigna el campo de relacin de las tablas, dentro de la aplicacin se aade esta relacin para que cuando naveguemos entre los datos de la tabla Socios aparezca toda la informacin de la tabla Alquileres relacionada con la tabla Socios. Esto de lo que hablamos, est supeditado por el componente FK_Alquileres_SociosBindingSource que es lo que se indica en la figura 40.

145 | P g i n a

Figura 40. Controles y componentes incluido el de relacin entre tablas, aadidos al formulario Windows

Para finalizar, ejecutaremos nuestra aplicacin y comprobaremos que el funcionamiento de esta, incluida la relacin entre tablas, funciona como esperbamos. En la figura 41, podemos observar el comportamiento de nuestra aplicacin en ejecucin.

Figura 41. Aplicacin en ejecucin, mostrando la correcta relacin entre las tablas

146 | P g i n a

Manipulando los datos maestro - detalle Obviamente, los datos maestro detalle no nos sirve nicamente para insertar las tablas de datos en un formulario, mostrarlos y navegar por ellos. Adems de esto, podemos tambin manipular los datos maestro detalle, modificarlos, actualizarlos, borrarlos, sin hacer ninguna accin adicional. El control BindingNavigator ya proporciona todas las caractersticas necesarias para realizar estas acciones. Podemos personalizar el control para permitir o denegar estas acciones. Adems, dentro de la ventana de Orgenes de datos, podemos seleccionar diferentes campos de las tablas y cambiar el tipo de control en el que queremos representar sus datos. A continuacin veremos un breve ejemplo de cmo manipular datos para que nos sirva de aprendizaje de cmo hacer esto posible. Modificando datos Ejecute la aplicacin de ejemplo que hemos diseado hasta ahora y sitese en alguno de sus campos. Centrndonos en la informacin de la tabla Socios, cambiaremos un campo determinado, como el que se muestra en la figura 42.

Figura 42. Modificaremos el valor de un campo para que nos sirva de ejemplo

Acto seguido, cuando hayamos realizado la modificacin, haremos clic sobre la opcin de Guardar datos, tal y como se muestra en la figura 43.
147 | P g i n a

Figura 43. Opcin del control BindingNavigator para guardar los datos modificados

Como vemos, la manipulacin de datos es realmente sencilla y en la relacin de datos mostrada, no tiene porqu presentarnos ninguna dificultad. Insertando y eliminando datos Si queremos agregar datos, deberemos hacer clic sobre la opcin Agregar nuevo del control BindingNavigator como se muestra en la figura 44.

Figura 44. Aadir un registro nuevo es realmente sencillo

De la misma manera funciona el mecanismo para eliminar un registro, tal y como se muestra en la figura 45.

Figura 45. Eliminar un registro de forma rpida

Recuerde presionar el icono si quiere que los cambios y modificaciones realizadas se mantengan. Pulsando sobre ese icono, la accin de manipulacin de datos se lanza contra la base de datos. Reflexin: Bueno al momento de realizar la debida conexin con la base de datos si tuve algunos problemas porque no recordaba ciertas pasos y me di cuenta que haba seleccionado mal algo ya que ese era el problema del porque no se cargaban las tablas de mi base de datos. Pero pude resolverlo viendo unos videos que se facilitaron en la clase de programacin para conectar la base de datos y as poder seguir paso a paso para realizar una buena conexin.
148 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.3, 3.4:

27

FECHA:

14/05/2012 - 15/05/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de la programacin de botones de navegacin 3.3 PROGRAMACIN DE MTODOS 3.4 PROGRAMACIN DE BOTONES DE NAVEGACIN Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

149 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

PROGRAMACIN DE METODOS
HIDE Este mtodo permite ocultar cualquier tipo de componente que este dentro del formulario: Ejemplo: Formulario normal:

private void button1_Click(object sender, EventArgs e) { imgmetodos.Hide(); lbmetodos.Hide(); btmetodos.Hide(); }

150 | P g i n a

Formulario Aplicando Hide:

SHOW Este mtodo permite mostrar cualquier tipo de componente que este dentro del formulario: Ejemplo: Formulario Aplicando Show:

151 | P g i n a

private void button2_Click(object sender, EventArgs e) { imgmetodos.Show(); lbmetodos.Show(); btmetodos.Show(); }

FOCUS Este mtodo permite poner la seleccin en el objeto especificado, es decir, el foco se posiciona en el control que se especific: Ejemplo: Formulario Aplicando Focus:

private void button3_Click(object sender, EventArgs e) { btmetodos.Focus(); }

152 | P g i n a

CONEXIN A BASE DE DATOS A TRAVES DE CDIGO


CONCEPTOS BASICOS PARA CONECTAR UNA BASE DE DATOS A TRAVES DE CDIGO: ADO.NET QUE ES ADO.NET? Responde a las siglas de Microsoft Activex Data Object, es un modelo de conexin y acceso a la base de datos y se caracterizan por: -Trabajar desconectados del origen de datos que se utilicen -El uso de ADO es independiente del lenguaje de programacin que se utilice. El modelo de ADO esta dividido en 2 grupos: -Los proveedores de datos o Managed Data Providers -Los contenedores de datos, que aunque estn vinculados a los orgenes de datos, son independientes de ellos. NAMESPACES: ADO se basa en los siguientes espacion de nombres de acceso a datos: System.Data: proporciona las clases de acceso a datos generales System.Data.Common, contienen las clases compartidas por los proveedores de datos. System.Data.OleDb, almacena las clases del proveedor de datos OLE DB System.Data.SqlClient, expone las clases del proveedor de datos para SQL Server. Ejemplo:

MANAGED PROVIDERS: El Managed Provider es el proveedor de datos de la plataforma .NET que permite conectar a un origen de datos con una aplicacin para recuperar y modificar informacin, ademas, este proveedor sirve de puente entre el origen de datos y el objeto de ADO ms importante, el Dataset.

153 | P g i n a

Para utilizar los proveedores de acceso a datos debe utilizarse el NAMESPACE correspondiente: System.Data.SqlClient: para SQL SERVER System.Data.OleDb para proveedores OLE DB (ACCESS)

COMPONENTES DE ADO.NET -CLASE OLEDBCONNECTION: Es la clase encargada de establecer la conexion con el origen de datos . Dependiendo del origen de datos que se utilice se deber utilizar OleDbConnection o SqlConnection. Los mtodos ms importantes de la clase connection son: Open: Permite establecer la conexin con el origen de los datos. Close: Cierra la conexin. Create Command: Crea un objeto command.

154 | P g i n a

-CLASE OLEDBCOMMAND Esta clase representa una declaracin OLE DB que puede ser un comando SQL, un procedimiento almacenado concreto u cualquier texto que entienda el proveedor OLE DB. Para ejecutar un comando se necesita que haya una conexin valida abierta y dependiendo del comportamiento que se desee dar al objeto Command se utilizara uno de los siguientes mtodos: -ExecuteNonQuery.- se utiliza para para ejecutar consultas de accin mediante clausulas como INSERT, UPDATE, DELETE, CREATE, SET principalmente. -ExecuteReader.- devuelve un objeto OleDbDataReader despus de ejecutar una sentencia SQL de seleccin SELECT.

155 | P g i n a

CREAR UNA CONEXIN A TRAVES DE CDIGO: 1.- Disear un formulario con los siguientes controles:

2.- Crear una Clase ConexionBd.cs dentro de una carpeta llamada DAC, en el proyecto que se est trabajando:

3.- Escribir el siguiente cdigo que permite conectar a una Base de Datos ACCESS:
using System; using System.Collections.Generic; using System.Linq; using System.Text; //LIBRERIAS PARA CONECTARA A LA BASE DE DATOS (ACCESS) using System.Data.OleDb; namespace PRACTICA_CONEXIONBD_CODIGO.DAC { class ConexionBD { //Establece una conexion a una Base de Datos ACCESS OleDbConnection Conexion = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=D:\\basedatos.accdb"); public void EjecutarExecuteNonQuery(String sql)

156 | P g i n a

{ Conexion.Open();//abre la conexion a la BD //OleDbCommand: permite realizar sentencias SQL OleDbCommand coman = new OleDbCommand(sql, Conexion); //ExecuteNonQuery: EJECUTA SENTENCIAS INSERT, UPDATE DELETE coman.ExecuteNonQuery(); Conexion.Close();//cierra la conexion a la BD } public void EjecutarExecuteReader(String sql) { Conexion.Open(); OleDbCommand coman = new OleDbCommand(sql, Conexion); //ExecuteReader: EJECUTA SENTENCIAS SELECT coman.ExecuteReader(); Conexion.Close(); } } }

4.- Una vez creada la conexin, nos dirigimos al formulario principal y damos doble clic sobre el para escribir el siguiente cdigo:

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.ProviderBase; //LIBRERIA PARA CONECTARA A LA BASE DE DATOS (ACCESS) using System.Data.OleDb; //RUTA DONDE SE ENCUENTRA LA CLASE ConexionBD using PRACTICA_CONEXIONBD_CODIGO.DAC;

namespace PRACTICA_CONEXIONBD_CODIGO { public partial class Form1 : Form { public Form1() { InitializeComponent(); ListarDatos(); } //CODIGO PARA LA CONEXION A LA BASE DE DATOS //////////////////////////////////////// //Creamos una instancia de la Clase ConexionBD ConexionBD Conexion = new ConexionBD();

157 | P g i n a

//creamos la clase cliente public class Cliente { public String id; public String nombre; public String apellido; public String direccion; } //creamos la clase que lee los datos del formulario public Cliente leer() { Cliente cli = new Cliente(); cli.nombre = txtnombre.Text; cli.apellido = txtapellido.Text; cli.direccion = txtdireccion.Text; return cli; }

//clase que permite insertar en la BD los datos leidos en la clase anterior public void guardar(Cliente cli) { try { //Sentencia SQL para INSERTAR String sql = ("INSERT INTO clientes(nombre,apellido,direccion) VALUES('" + cli.nombre + "','" + cli.apellido + "','" + cli.direccion + "')"); //ejecuta la sentencia sql Conexion.EjecutarExecuteNonQuery(sql); } catch (Exception ex) { MessageBox.Show("Error al insertar en la bd: " + ex + " ."); } } //////////////////////////////////////////////////////////////////////////

private void ListarDatos() { OleDbConnection conex = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\basedatos.accdb"); OleDbCommand coman = new OleDbCommand("SELECT * From clientes",conex); conex.Open(); //executereader se usa solo es SELECT y ExecuteNonQuery para INSERT UPDATE DELETE OleDbDataReader lee = coman.ExecuteReader(); while (lee.Read()) {

158 | P g i n a

String[] filas = { lee[0].ToString(), lee[1].ToString(), lee[2].ToString(), lee[3].ToString() }; grid_datos.Rows.Add(filas); } lee.Close(); conex.Close(); } public void habilitar_textos(Boolean ok) { txtnombre.Enabled = ok; txtapellido.Enabled = ok; txtdireccion.Enabled = ok; } public void limpiar_textos() { txtnombre.Text = ""; txtapellido.Text = ""; txtdireccion.Text = ""; } public void habilitar_botones(Boolean ok) { btingresar.Enabled = !ok; btnuevo.Enabled = ok; } private void button1_Click(object sender, EventArgs e) { guardar(leer()); MessageBox.Show("Aadido", "Se aadio el registro", MessageBoxButtons.OK, MessageBoxIcon.Information); grid_datos.Rows.Clear(); ListarDatos(); habilitar_textos(false); habilitar_botones(true); } private void bteliminar_Click(object sender, EventArgs e) { limpiar_textos(); habilitar_textos(true); habilitar_botones(false); } private void button3_Click(object sender, EventArgs e) { this.Hide(); frmmenu frm = new frmmenu(); frm.Show(); } } }

159 | P g i n a

5.- Disear una Base de Datos en Access con el siguiente formato:

6.- Ejecutar el programa y empezar a guardar datos:

160 | P g i n a

PROGRAMACION DE BOTONES DE NAVEGACIN


CONCEPTOS BASICOS PARA PROGRAMAR BOTONES DE NAVEGACIN (INICIO, ATRS, SIGUIENTE, FIN) -CLASE DATA ADAPTER La clase DataAdapter se encarga de las operaciones entre la capa de datos y la capa intermedia, donde los datos son transferidos, se puede decir que es como un puente entre un objeto DataSet y un origen de datos asociados para recuperar y guardar datos. Los principales constructores de la clase son: -Fill (DataSet ds). Rellena un objeto de la clase Data set. -Update (Data Set ds). Actualiza el DataSet correspondiente. -CLASE DATASET La clase DataSet es la clase principal de la arquitectura ADO.NET. Un objeto de esta clase es una representacin en memoria de los datos en forma relacional, El Objeto DataSet se rellena con DataAdapters o con datos locales. -CLASE DATATABLE La clase DataTable representa una tabla en memoria y es donde reside la informacin de los datos. -CLASE DATACOLUMN El conjunto de columnas de un objeto DataTable corresponde a una coleccin de objetos DataColumn.

-CLASE DATAROW El conjunto de filas de un objeto DataTable corresponde a una coleccin de objetos DataRow. CREAR BOTONES DE NAVEGACION DE REGISTROS DE UNA BASE DE DATOS: 1.- Disear un formulario con los siguientes controles:

161 | P g i n a

2.- Dar doble clic en el formulario y programar el siguiente cdigo:


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; //LIBRERIA PARA CONECTARA A LA BASE DE DATOS (ACCESS) using System.Data.OleDb;

namespace PRACTICA_CONEXIONBD_CODIGO { public partial class frmcodigoconexionbd : Form { public frmcodigoconexionbd() { InitializeComponent(); }

//CODIGO PARA MOVER LOS REGISTROS A TRAVES DEL DATA ADAPTER private DataTable tabladedatos; private OleDbDataAdapter DataAdapter; private int fila; private void mostrarDatos(int f) { //cuenta el numero de filas de la tabla de datos int uf = tabladedatos.Rows.Count - 1; //si el parametro recibido es menor que 0 y menor que el numero de filas de la consulta if (f < 0 || uf < 0) return; //almacena la fila de datos

162 | P g i n a

DataRow dr = tabladedatos.Rows[f]; txtId.Text = dr["id"].ToString(); txtNombre.Text = dr["nombre"].ToString(); txtApellido.Text = dr["apellido"].ToString(); txtDireccion.Text = dr["direccion"].ToString(); //btactualizar.Enabled = true; }

private void frmcodigoconexionbd_Load(object sender, EventArgs e) { string Conex = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=D:\\basedatos.accdb"; string Sentencia = "SELECT * FROM clientes";

// Crear un nuevo objeto del tipo DataAdapter DataAdapter = new OleDbDataAdapter(Sentencia, Conex); // Crear un nuevo objeto del tipo DataTable tabladedatos = new DataTable(); // Llenar la tabla con los datos indicados DataAdapter.Fill(tabladedatos); // Mostrar el primer registro if (tabladedatos.Rows.Count > 0) { btinicio_Click(null,null); } else { fila = -1; //btactualizar.Enabled = false; } } private void btinicio_Click(object sender, EventArgs e) { // Posicionarse en la primera fila fila = 0; // Mostrar los datos de la fila indicada mostrarDatos(fila); } private void btatras_Click(object sender, EventArgs e) { // Posicionarse en la fila anterior fila = fila - 1; if (fila < 0) fila = 0; // Mostrar los datos de la fila indicada mostrarDatos(fila); } private void btsiguiente_Click(object sender, EventArgs e) { // Posicionarse en la fila siguiente int uf = tabladedatos.Rows.Count - 1;

163 | P g i n a

fila = fila + 1; if (fila > uf) fila = uf; // Mostrar los datos de la fila indicada mostrarDatos(fila); } private void btfin_Click(object sender, EventArgs e) { // Posicionarse en la ltima fila fila = tabladedatos.Rows.Count - 1; // Mostrar los datos de la fila indicada mostrarDatos(fila); } private void button3_Click(object sender, EventArgs e) { this.Hide(); frmmenu frm = new frmmenu(); frm.Show(); } } }

3.- Ejecutar el programa y verificar los botones de navegacin:

164 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.5:

28

FECHA:

21/05/2012 - 22/05/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de las tareas de ingresar, modificar, eliminar registros. OPERACIONES CRUD Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

165 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

BOTONES PARA EL MANEJO DE FORMULARIOS

Creacin del Formulario:

Primeramente, el formulario se lo cre con los siguientes botones: Aadir. Modificar. Eliminar. Aceptar. Cancelar. Ahora veremos que realiza cada botn segn la siguiente imagen:
Botn para habilitar los cuadros de textos. Botn para cambiar los datos de algn ingreso.

Botn para eliminar los registros.

Botn para guardar los registros. Aqu se insertarn los datos. Botn para borrar lo que estemos digitando.

Tabla donde se mostrar todos los registros.

166 | P g i n a

A continuacin se explicar cada botn, su funcionamiento y su codificacin: Aadir y Aceptar Registro. Para aadir un registro, simplemente daremos clic en el botn AADIR, el cual automticamente habilitar los cuadros de texto y a su vez los botones de ACEPTAR y CANCELAR.

Una vez que todos los campos estn llenos daremos clic en el botn ACEPTAR y listo nuestro registro se guardar y se visualizar en la tabla de abajo.

167 | P g i n a

Para el botn Aadir, su codificacin es el que encontramos a continuacin:


private void btnAadir_Click_1(object sender, EventArgs e) { btnAadir.Enabled = false; btnAceptar.Enabled = true; btnCancel.Enabled = true; txtcedula.Enabled = true; txtnombre.Enabled = true; txtapellido.Enabled = true; txtdireccion.Enabled = true; txtedad.Enabled = true; txttelefono.Enabled = true; limpiar_cajas(); bandera = 0; }

Primero se da doble click en el botn AADIR que se encuentra en la interfaz y automticamente se crea un evento para poder codificar dentro de l. Cada una de estas lneas de cdigo sirven para dejar habilitado y deshabilitado los botones de Aceptar, Cancelar, Aadir, tambin se aplica en las cajas de texto. Adems encontramos el mtodo limpiar_cajas() que nos sirve para que todos los datos que se encuentren escritos en la cajas de texto se vuelva a dejar en blanco, listo para volver ingresar un nuevo registro. Para el botn Aceptar, su codificacin es la que encontramos a continuacin:

private void btnAceptar_Click_1(object sender, EventArgs e) { try { conexion.Open();

if (bandera == 0) {

168 | P g i n a

//OleDbCommand sirve para crear comandos tipo sentencias SQL OleDbCommand insertar = new OleDbCommand("INSERT into Persona(Cedula, Nombre, Apellido, Direccion, Edad, Telefono ) values('" + txtcedula.Text.ToString() + "','" + txtnombre.Text.ToString() + "','" + txtapellido.Text.ToString() + "','" + txtdireccion.Text.ToString() + "','" + Convert.ToInt16(txtedad.Text.ToString()) + "','" + txttelefono.Text.ToString()+"')", conexion); //OleDbDataAdapter sirve de puente para obtener la sentencia especificada con el OleDbCommand OleDbDataAdapter dainsertar = new OleDbDataAdapter(); dainsertar.InsertCommand = insertar; dainsertar.InsertCommand.ExecuteNonQuery(); txtcedula.Enabled = false; txtnombre.Enabled = false; txtapellido.Enabled = false; txtdireccion.Enabled = false; txtedad.Enabled = false; txttelefono.Enabled = false; limpiar_cajas(); } else { //OleDbCommand sirve para crear comandos tipo sentencias SQL OleDbCommand actualizar = new OleDbCommand("UPDATE Persona SET Nombre='" + txtnombre.Text.ToString() + "',Apellido='" + txtapellido.Text.ToString() + "',Direccion='" + txtdireccion.Text.ToString() + "',Edad='" + Convert.ToInt16(txtedad.Text.ToString()) + "',Telefono='" + txttelefono.Text.ToString() + "' where Cedula='" + txtcedula.Text.ToString()+"' ", conexion); //OleDbDataAdapter sirve de puente para obtener la sentencia especificada con el OleDbCommand OleDbDataAdapter daactualizar = new OleDbDataAdapter(); daactualizar.UpdateCommand = actualizar; // ExecuteNonQuery() sirve para ejecutar sentencias SQL(generalmente es usado para sentencias Insert, Delete, Update, Truncate) // ExecuteReader() sirve para ejecutar sentencias SQL(select) daactualizar.UpdateCommand.ExecuteNonQuery(); } listar_datos(); } catch {

169 | P g i n a

} finally { if (conexion.State == ConnectionState.Open) { conexion.Close(); } } } } }

Este botn se encarga de guardar todos los datos que se hayan ingresado en las cajas de texto e inmediatamente se presentar en la tabla que se encuentra debajo.

Modificar Registro. Para modificar un registro, lo primero que hacemos es seleccionar en la tabla el registro y seguidamente dar clic en el botn MODIFICAR, el cual habilitar esos datos y podremos modificar el campo que deseemos.

170 | P g i n a

Luego de esto daremos clic en ACEPTAR, y el registro de modificar. En este caso trabajamos con el campo apellido el cual se cambi de Lima a Serrano.

Su codificacin es la siguiente:

private void btnModificar_Click(object sender, EventArgs e) { btnAadir.Enabled = false; btnModificar.Enabled = false; btnAceptar.Enabled = true; btnCancel.Enabled = true; txtnombre.Enabled = true; txtapellido.Enabled = true; txtdireccion.Enabled = true; txtedad.Enabled = true; txttelefono.Enabled = true; bandera = 1; }

171 | P g i n a

private void frmexposicion_Load(object sender, EventArgs e) { listar_datos(); }

public void listar_datos() { // la variable canal es tipo OleDbDataAdapter sta servira para hacer de canal entre el DataSet y un origen de datos para recuperar y guardar los datos. OleDbDataAdapter canal = new OleDbDataAdapter("SELECT * FROM Persona ", conexion); DataSet mibd = new DataSet(); canal.Fill(mibd, "Persona"); // sirve para darle un origen de datos a la grilla grilla_datos.DataSource = mibd; grilla_datos.DataMember = "Persona"; grilla_datos.Update(); }

// el evento SelectionChanged permite obtener los datos que hayamos seleccionado en un grilla

private void grilla_datos_SelectionChanged(object sender, EventArgs e) { try {

//CurrentRow sirve para obtener la fila actual dond se encuentra el puntero o la seleccion dentro de la grilla.// .Value es para obtener el valor o contenido que se encuentra dentro de la Fila(columna) seleccionada. // se los debe convertir a tipo string porq mientras constan en la grilla mantienen el mismo tipo de datos de origen

txtcedula.Text = grilla_datos.CurrentRow.Cells[1].Value.ToString(); txtnombre.Text = grilla_datos.CurrentRow.Cells[2].Value.ToString(); txtapellido.Text = grilla_datos.CurrentRow.Cells[3].Value.ToString(); txtdireccion.Text = grilla_datos.CurrentRow.Cells[4].Value.ToString(); txtedad.Text = grilla_datos.CurrentRow.Cells[5].Value.ToString();

172 | P g i n a

txttelefono.Text = grilla_datos.CurrentRow.Cells[6].Value.ToString();

txtcedula.Enabled = false; txtnombre.Enabled = false; txtapellido.Enabled = false; txtdireccion.Enabled = false; txtedad.Enabled = false; txttelefono.Enabled = false; } catch { } }

En este botn, no es necesario llenar nuevamente todos los campos para que se pueda modificar, basta con llenar el campo que se desea cambiar para que se guarde los dems igual. La codificacin que se encuentra en la parte de arriba sirve para que pueda actuar este botn. Eliminar Registro.

Primeramente seleccionamos el registro de la tabla que deseemos eliminar.

Seguidamente damos clic en el botn ELIMINAR, y como podemos observar en el grfico de abajo, el registro con Id nmero 11 se ha eliminado.
173 | P g i n a

Su codificacin es la siguiente:
private void btnEliminar_Click(object sender, EventArgs e) { try { conexion.Open(); { OleDbCommand eliminar = new OleDbCommand("DELETE FROM Persona where Cedula='" + txtcedula.Text.ToString() + "'", conexion); //OleDbDataAdapter sirve de puente para obtener la sentencia especificada con el OleDbCommand OleDbDataAdapter deliminar = new OleDbDataAdapter(); deliminar.DeleteCommand = eliminar; deliminar.DeleteCommand.ExecuteNonQuery(); } listar_datos(); } catch { }

174 | P g i n a

finally {

if (conexion.State == ConnectionState.Open) { conexion.Close(); } } }

En este botn se aplica la sentencia SQL para poder eliminar un registro, solo basta con seleccionar el registro y presionamos eliminar y se borra automticamente.

Cancelar Registro. Simplemente daremos clic en el botn CANCELAR y nuestros cuadros de texto se pondrn en blanco, es decir, todo lo que hayamos ingresado en ellos se borrar

175 | P g i n a

Su codificacin es la siguiente:
private void btnCancel_Click(object sender, EventArgs e) { limpiar_cajas(); btnAadir.Enabled = true; btnModificar.Enabled = true; btnAceptar.Enabled = false; btnCancel.Enabled = false;}

Lo que realiza este botn es solamente todos los botones habilitarlos o deshabilitarlos (Aadir, Modificar, Aceptar, Cancelar) y dejar las cajas de texto sin nada de escritos.

Ahora la codificacin de toda la aplicacin es la siguiente: CODIGO DE LA APLICACIN

using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; // DATA son para datos.. // sirve para poder utilizar todas las referencias para hacer uso de BD en ACCESS using System.Data.OleDb; using System.Data.SqlClient; //Proporciona una implementacin base para el modelo de proveedor extensible using System.Data.ProviderBase; using System.Data.Common; using System.Data;

176 | P g i n a

namespace exposicion { public partial class frmexposicion : Form {

static OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\\Users\\Usu\\Documents\\Visual Studio 2010\\Projects\\exposicion\\dbexposicion1.accdb"); //sirve para tener una referencia para cuando necesite guardar cambias // tendra un valor 0 cuando se requiera ingresar un nuevo elemento // valor = 1 cuando se trate de modificar. static int bandera = 0;

public frmexposicion() { InitializeComponent(); btnAceptar.Enabled=false; btnCancel.Enabled = false; }

public void limpiar_cajas() { // limpiar cajas de texto txtcedula.Clear(); txtnombre.Clear(); txtapellido.Clear(); txtdireccion.Clear(); txtedad.Clear(); txttelefono.Clear();

private void btnModificar_Click(object sender, EventArgs e) {

177 | P g i n a

btnAadir.Enabled = false; btnModificar.Enabled = false; btnAceptar.Enabled = true; btnCancel.Enabled = true; txtnombre.Enabled = true; txtapellido.Enabled = true; txtdireccion.Enabled = true; txtedad.Enabled = true; txttelefono.Enabled = true; bandera = 1; }

private void frmexposicion_Load(object sender, EventArgs e) { listar_datos(); }

public void listar_datos() { // la variable canal es tipo OleDbDataAdapter sta servira para hacer de canal entre el DataSet y un origen de datos para recuperar y guardar los datos. OleDbDataAdapter canal = new OleDbDataAdapter("SELECT * FROM Persona ", conexion); DataSet mibd = new DataSet(); canal.Fill(mibd, "Persona"); // sirve para darle un origen de datos a la grilla grilla_datos.DataSource = mibd; grilla_datos.DataMember = "Persona"; grilla_datos.Update(); }

// el evento SelectionChanged permite obtener los datos que hayamos seleccionado en un grilla private void grilla_datos_SelectionChanged(object sender, EventArgs e) { try {

178 | P g i n a

//CurrentRow sirve para obtener la fila actual dond se encuentra el puntero o la seleccion dentro de la grilla.// .Value es para obtener el valor o contenido que se encuentra dentro de la Fila(columna) seleccionada. // se los debe convertir a tipo string porq mientras constan en la grilla mantienen el mismo tipo de datos de origen

txtcedula.Text = grilla_datos.CurrentRow.Cells[1].Value.ToString(); txtnombre.Text = grilla_datos.CurrentRow.Cells[2].Value.ToString(); txtapellido.Text = grilla_datos.CurrentRow.Cells[3].Value.ToString(); txtdireccion.Text = grilla_datos.CurrentRow.Cells[4].Value.ToString(); txtedad.Text = grilla_datos.CurrentRow.Cells[5].Value.ToString(); txttelefono.Text = grilla_datos.CurrentRow.Cells[6].Value.ToString();

txtcedula.Enabled = false; txtnombre.Enabled = false; txtapellido.Enabled = false; txtdireccion.Enabled = false; txtedad.Enabled = false; txttelefono.Enabled = false; } catch { } }

private void btnEliminar_Click(object sender, EventArgs e) { try { conexion.Open(); { OleDbCommand eliminar = new OleDbCommand("DELETE FROM Persona where Cedula='" + txtcedula.Text.ToString() + "'", conexion); //OleDbDataAdapter sirve de puente para obtener la sentencia especificada con el OleDbCommand OleDbDataAdapter deliminar = new OleDbDataAdapter();

179 | P g i n a

deliminar.DeleteCommand = eliminar; deliminar.DeleteCommand.ExecuteNonQuery(); } listar_datos(); } catch { }

finally {

if (conexion.State == ConnectionState.Open) { conexion.Close(); } } }

private void btnCancel_Click(object sender, EventArgs e) { limpiar_cajas(); btnAadir.Enabled = true; btnModificar.Enabled = true; btnAceptar.Enabled = false; btnCancel.Enabled = false; }

private void btnAadir_Click_1(object sender, EventArgs e) { btnAadir.Enabled = false; btnAceptar.Enabled = true; btnCancel.Enabled = true; txtcedula.Enabled = true;

180 | P g i n a

txtnombre.Enabled = true; txtapellido.Enabled = true; txtdireccion.Enabled = true; txtedad.Enabled = true; txttelefono.Enabled = true; limpiar_cajas(); bandera = 0; }

private void btnAceptar_Click_1(object sender, EventArgs e) { try { conexion.Open();

if (bandera == 0) { //OleDbCommand sirve para crear comandos tipo sentencias SQL OleDbCommand insertar = new OleDbCommand("INSERT into Persona(Cedula, Nombre, Apellido, Direccion, Edad, Telefono ) values('" + txtcedula.Text.ToString() + "','" + txtnombre.Text.ToString() + "','" + txtapellido.Text.ToString() + "','" + txtdireccion.Text.ToString() + "','" + Convert.ToInt16(txtedad.Text.ToString()) + "','" + txttelefono.Text.ToString()+"')", conexion); //OleDbDataAdapter sirve de puente para obtener la sentencia especificada con el OleDbCommand OleDbDataAdapter dainsertar = new OleDbDataAdapter(); dainsertar.InsertCommand = insertar; dainsertar.InsertCommand.ExecuteNonQuery();

txtcedula.Enabled = false; txtnombre.Enabled = false; txtapellido.Enabled = false; txtdireccion.Enabled = false; txtedad.Enabled = false; txttelefono.Enabled = false; limpiar_cajas(); } else

181 | P g i n a

{ //OleDbCommand sirve para crear comandos tipo sentencias SQL OleDbCommand actualizar = new OleDbCommand("UPDATE Persona SET Nombre='" + txtnombre.Text.ToString() + "',Apellido='" + txtapellido.Text.ToString() + "',Direccion='" + txtdireccion.Text.ToString() + "',Edad='" + Convert.ToInt16(txtedad.Text.ToString()) + "',Telefono='" + txttelefono.Text.ToString() + "' where Cedula='" + txtcedula.Text.ToString()+"' ", conexion); //OleDbDataAdapter sirve de puente para obtener la sentencia especificada con el OleDbCommand OleDbDataAdapter daactualizar = new OleDbDataAdapter(); daactualizar.UpdateCommand = actualizar; // ExecuteNonQuery() sirve para ejecutar sentencias SQL(generalmente es usado para sentencias Insert, Delete, Update, Truncate) // ExecuteReader() sirve para ejecutar sentencias SQL(select) daactualizar.UpdateCommand.ExecuteNonQuery(); } listar_datos(); } catch {

} finally { if (conexion.State == ConnectionState.Open) { conexion.Close(); } } } }}

182 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.6:

29

FECHA:

28/05/2012 - 29/05/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de los principales controles que se pueden utilizar en C# PRINCIPALES CONTROLES Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

183 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Control, control de usuario y formulario La mayora de las clases del espacio de nombres System.Windows.Forms derivan de la clase Control. La clase Control proporciona la funcionalidad base de todos los controles que se muestran en un objeto Form. La clase Form representa una ventana dentro de una aplicacin. Incluye cuadros de dilogo, ventanas no modales y ventanas cliente y principal de la Interfaz de documentos mltiples (MDI). Tambin puede crear sus propios controles derivando de la clase UserControl. Mens y barras de herramientas Windows.Forms contiene un amplio conjunto de clases para que pueda crear sus propias barras de herramientas y mens personalizadas, con un aspecto y comportamiento modernos (apariencia y percepcin). Las clases ToolStrip, MenuStrip, ContextMenuStripy StatusStrip se pueden utilizar para crear barras de herramientas, barras de mens, mens contextuales y barras de estado, respectivamente. Controles El espacio de nombres System.Windows.Forms dispone de diferentes clases de controles que se pueden utilizar para crear interfaces de usuario completas. Algunos controles estn diseados para la entrada de datos en la aplicacin, por ejemplo, los controles TextBox y ComboBox. Otros controles muestran datos de la aplicacin, por ejemplo, Label y ListView. El espacio de nombres tambin dispone de controles para invocar comandos en la aplicacin, por ejemplo, Button. El control WebBrowser y las clases HTML administradas, como HtmlDocument, permiten mostrar y manipulan pginas HTML desde su propia aplicacin administrada de formularios Windows Forms. El control MaskedTextBox es un control de entrada de datos avanzado que permite definir mscaras que aceptan o rechazan automticamente los datos proporcionados por el usuario. Adems, puede utilizar el control PropertyGrid para crear su propio Diseador de Windows Forms que muestra las propiedades visibles de diseador de los controles. Diseo Hay varias clases importantes en Windows.Forms que ayudan a controlar el diseo de los controles en una superficie de presentacin, como un formulario o

control.FlowLayoutPanel dispone en serie todos los controles que contiene y

184 | P g i n a

TableLayoutPanel permite definir celdas y filas para disponer los controles en una cuadrcula fija. SplitContainer divide la superficie de presentacin en dos o ms partes ajustables. Datos y enlace de datos Windows.Forms define una arquitectura enriquecida para enlazar a los orgenes de datos como las bases de datos y los archivos XML. El control DataGridView proporciona una tabla personalizable para mostrar los datos y le permite personalizar celdas, filas, columnas y bordes. El control BindingNavigator representa una forma estandarizada de explorar datos y trabajar con ellos en un formulario; BindingNavigator se empareja frecuentemente con el control BindingSource para recorrer los registros de datos de un formulario e interactuar con ellos. Componentes Adems de los controles, el espacio de nombres System.Windows.Forms proporciona otras clases que, aunque no se derivan de la clase Control, tambin aportan caractersticas visuales a las aplicaciones basadas en Windows. Algunas clases, como ToolTip y ErrorProvider, amplan las capacidades o proporcionan informacin al usuario. Con las clases Help y HelpProvider, puede mostrar informacin de Ayuda al usuario de sus aplicaciones. Cuadros de dilogo comunes Windows proporciona varios cuadros de dilogo comunes que se pueden utilizar para ofrecer a la aplicacin una interfaz de usuario coherente a la hora de realizar tareas como abrir y guardar archivos, manipular la fuente o el color del texto o imprimir. Las clases OpenFileDialog y SaveFileDialog proporcionan la funcionalidad para mostrar un cuadro de dilogo que permita al usuario buscar o escribir el nombre del archivo que desea abrir o guardar. La clase FontDialog muestra un cuadro de dilogo para cambiar los elementos del objeto Font que utiliza la aplicacin. Las clases PageSetupDialog, PrintPreviewDialog y PrintDialog muestran cuadros de dilogo que permiten al usuario controlar la impresin de documentos. Para obtener ms informacin sobre cmo imprimir desde una aplicacin basada en Windows, vea el espacio de nombres System.Drawing.Printing. Adems de los cuadros de dilogo comunes, el espacio de nombres System.Windows.Forms dispone de la clase MessageBox para mostrar un cuadro de mensaje que pueda presentar datos del usuario y tambin recuperarlos de ste.

185 | P g i n a

186 | P g i n a

187 | P g i n a

DESCRIPCIN Y EJEMPLO DE CONTROLES: TEXTBOX


Un control TextBox acepta datos del usuario en un formulario. CREACIN DE UN CUADRO DE TEXTO Para crear un control TextBox en tiempo de diseo, slo tiene que arrastrar y soltar un control TextBox desde Caja de herramientas a un formulario en Visual Studio. Despus de arrastrar y colocar un cuadro de texto en un formulario, el cuadro de texto se parece. Una vez que un cuadro de texto est en el formulario, puede moverse y cambiar su tamao a travs del ratn y establecer sus propiedades y eventos.

188 | P g i n a

ESTABLECER LAS PROPIEDADES DE TEXTBOX Despus de colocar un control TextBox en un formulario, el siguiente paso es establecer las propiedades. La forma ms fcil es establecer las propiedades de la ventana Propiedades. Puede abrir la ventana Propiedades presionando F4 o haga clic derecho sobre un control y seleccionar la opcin Propiedades del men.

189 | P g i n a

UBICACIN, ALTURA, ANCHURA Y TAMAO La propiedad Location toma un punto que especifica la posicin inicial del cuadro de texto en un formulario. La propiedad Tamao especifica el tamao del control. Tambin podemos utilizar la propiedad Ancho y Altura lugar de la propiedad Tamao FONDO, PRIMER PLANO, BORDERSTYLE Las propiedades BackColor y ForeColor se utilizan para establecer el fondo y el color de primer plano de un cuadro de texto, respectivamente. Si hace clic sobre estas propiedades en la ventana de Propiedades, el cuadro de dilogo de color aparece. NOMBRE Nombre de la propiedad representa un nombre nico de un control TextBox. TEXTO, TEXTALIGN Y TEXTLENGTH Propiedad Text de un cuadro de texto representa el texto actual de un control TextBox. La propiedad TextAlign representa la alineacin del texto que puede ser de Izquierda, Centro o Derecha. La propiedad textLength devuelve la longitud del contenido de un TextBox. FUENTE Propiedad Font representa la fuente del texto de un control TextBox. Si hace clic en la propiedad Font en la ventana de Propiedades, ver el nombre de fuente, tamao y otras opciones de la fuente. CONTRASEA CARCTER Y EL CARCTER DE LA CARCASA Propiedad PasswordChar se utiliza para aplicar mscara en un cuadro de texto cuando necesite usarlo para un ingreso de la contrasea y hacer ahora lo que la contrasea sea fcil de leer. Por ejemplo, puede colocar una estrella (*) para caracteres de la contrasea. LONGITUD MXIMA Puede restringir el nmero de caracteres en un control TextBox estableciendo la propiedad MaxLength. El fragmento de cdigo siguiente se establece la duracin mxima de un cuadro de texto de 50 caracteres.

COMBOBOX
Un control ComboBox es una combinacin de un control TextBox y un control ListBox. Slo un elemento de la lista se muestra a la vez en un ComboBox y otros artculos disponibles son cargados en una lista desplegable. CREACIN DE UN COMBOBOX Podemos crear un control ComboBox con un diseador de formularios en tiempo de diseo. Para crear un control ComboBox en tiempo de diseo, slo tiene que arrastrar y soltar un control ComboBox desde Caja de herramientas a un formulario en Visual Studio. Despus de arrastrar y

190 | P g i n a

soltar un ComboBox en un formulario. Una vez que un ComboBox es en el formulario, puede moverse y cambiar su tamao a travs del ratn y establecer sus propiedades y eventos.

ESTABLECER LAS PROPIEDADES DE COMBOBOX Despus de colocar un control ComboBox en un formulario, el siguiente paso es establecer las propiedades. La forma ms fcil es establecer las propiedades de la ventana Propiedades. Puede abrir la ventana Propiedades presionando F4 o haga clic derecho sobre un control y seleccionar la opcin Propiedades del men.

191 | P g i n a

NOMBRE Nombre de la propiedad representa un nombre nico de un control ComboBox. Se utiliza para acceder al control en el cdigo. UBICACIN, ALTURA, ANCHURA Y TAMAO La propiedad Location toma un punto que especifica la posicin inicial del ComboBox en un formulario. Tambin puede utilizar las propiedades Left y Top para especificar la ubicacin de un control de la esquina superior izquierda del formulario. La propiedad Tamao especifica el tamao del control. DROPDOWNHEIGHT Y DROPDOWNWIDTH Usted puede controlar el tamao del rea desplegable de un ComboBox. Las propiedades DropDownHeight y dropdownWidth representan la altura y la anchura de la zona desplegable de pxeles respectivamente. Si las propiedades dropdownWidth y DropDownHeight son inferiores a los valores de anchura y altura, no ser aplicable. Si todos los elementos que no caben en el tamao de la zona desplegable, las barras de desplazamiento aparecern.

FUENTE Propiedad Font representa la fuente del texto de un control ComboBox. Si hace clic en la propiedad Font en la ventana de Propiedades, ver el nombre de fuente, tamao y otras opciones de la fuente. Fondo y primer plano Las propiedades BackColor y ForeColor se utilizan para establecer el fondo y el color de primer plano de un ComboBox, respectivamente. Si hace clic sobre estas propiedades en la ventana de Propiedades, el cuadro de dilogo de color aparece.

192 | P g i n a

ARTCULOS COMBOBOX La propiedad tems se utiliza para agregar y trabajar con los elementos de un ComboBox. Podemos aadir elementos a un ComboBox en tiempo de diseo desde la ventana de Propiedades, haga clic en la coleccin de elementos.

Al hacer clic en las colecciones, la coleccin de cadenas ventana del editor se abrir donde usted puede escribir una cadena. Cada lnea de agregar a esta coleccin se convertir en un elemento de ComboBox.

193 | P g i n a

PICTUREBOX
Control PictureBox se utiliza para mostrar imgenes en Windows Forms. CREACIN DE UN PICTUREBOX MOSTRAR UNA IMAGEN Propiedad Image se utiliza para establecer una imagen que se mostrar en un control PictureBox.

SIZEMODE Propiedad SizeMode se utiliza para colocar una imagen en un cuadro de imagen. Puede ser normal, StretchImage, AutoSize, CenterImage, y Zoom.

194 | P g i n a

LISTBOX
Un control ListBox proporciona una interfaz para visualizar una lista de elementos. Los usuarios pueden seleccionar uno o varios elementos forman la lista. Un ListBox se puede utilizar para mostrar varias columnas y estas columnas pueden tener imgenes y otros controles. CREACIN DE UN LISTBOX Hay dos enfoques para crear un control ListBox de formularios Windows Forms. En tiempo de diseo Para crear un control ListBox en tiempo de diseo, simplemente arrastre y suelte un control ListBox de caja de herramientas a un formulario en Visual Studio. Despus de arrastrar y soltar un control ListBox en un formulario, el control ListBox aparecer. Una vez que un ListBox es en el formulario, puede moverse y cambiar su tamao a travs del ratn y establecer sus propiedades y eventos.

ESTABLECER LAS PROPIEDADES DE LISTBOX La forma ms fcil es establecer las propiedades de la ventana Propiedades. Puede abrir la ventana Propiedades presionando F4 o haga clic derecho sobre un control y seleccionar la opcin Propiedades del men.

195 | P g i n a

NOMBRE Nombre de la propiedad representa un nombre nico de un control ListBox. Se utiliza para acceder al control en el cdigo UBICACIN, ALTURA, ANCHURA Y TAMAO La propiedad Location toma un punto que especifica la posicin de partida de la ListBox en un formulario. Tambin puede utilizar las propiedades Left y Top para especificar la ubicacin de un control de la esquina superior izquierda del formulario. La propiedad Tamao especifica el tamao del control. FUENTE Propiedad Font representa la fuente del texto de un control ListBox. Si hace clic en la propiedad Font en la ventana de Propiedades, ver el nombre de fuente, tamao y otras opciones de la fuente.

FONDO Y PRIMER PLANO Las propiedades BackColor y ForeColor se utilizan para establecer el fondo y el color de primer plano de un ListBox, respectivamente. Si hace clic sobre estas propiedades en la ventana de Propiedades, el cuadro de dilogo de color aparece.

196 | P g i n a

LISTBOX ARTCULOS La propiedad Items se utiliza para agregar y trabajar con los elementos de un ListBox. Podemos aadir elementos a un control ListBox en tiempo de diseo de la ventana Propiedades, haga clic en la coleccin de elementos.

Al hacer clic en las colecciones, la coleccin de cadenas ventana del editor se abrir donde usted puede escribir una cadena. Cada lnea de agregar a esta coleccin se convertir en un elemento de ListBox.

197 | P g i n a

SELECCIN DEL MODO Y LA SELECCIN DE OBJETOS Propiedad SelectionMode define cmo se seleccionan los elementos en un ListBox. El valor SelectionMode puede ser uno de los siguientes cuatro valores de enumeracin SelectionMode. Ninguno - No hay elemento se puede seleccionar. Uno - Slo un elemento se puede seleccionar. MultiSimple - Varios elementos pueden ser seleccionados. MultiExtended - Varios elementos se pueden seleccionar, y el usuario puede utilizar las teclas SHIFT, CTRL y las teclas de flecha para hacer las selecciones. T o seleccionar un elemento en un control ListBox, podemos usar el mtodo que se SetSelect ndice de elemento y un valor verdadero o falso en verdadero valor representan el elemento a seleccionar. CMO DESHABILITAR LA SELECCIN DE ELEMENTOS EN UN LISTBOX? Slo tienes que configurar la propiedad SelectionMode en Ninguno. ORDENAR LOS ELEMENTOS La propiedad Sorted establecida en true, los elementos de ListBox se ordenan.

CHECKBOX
Un control CheckBox permite a los usuarios seleccionar las opciones de uno o varios de una lista de opciones. CREACIN DE UN CHECKBOX Podemos crear un control CheckBox con un diseador de formularios en tiempo de diseo. Para crear un control CheckBox en tiempo de diseo, slo tiene que arrastrar y soltar un control CheckBox de la caja de herramientas a un formulario en Visual Studio. Despus de arrastrar y soltar un control CheckBox en un formulario. Una vez que un control CheckBox est en el formulario, puede moverse y cambiar su tamao a travs del ratn y establecer sus propiedades y eventos.
198 | P g i n a

ESTABLECER LAS PROPIEDADES DE CHECKBOX Despus de colocar un control CheckBox en un formulario, el siguiente paso es establecer las propiedades. La forma ms fcil es establecer las propiedades de la ventana Propiedades. Puede abrir la ventana Propiedades presionando F4 o haga clic derecho sobre un control y seleccionar la opcin Propiedades del men.

199 | P g i n a

UBICACIN, ALTURA, ANCHURA Y TAMAO La propiedad Location toma un punto que especifica la posicin inicial de la casilla de verificacin en un formulario. Tambin puede utilizar las propiedades Left y Top para especificar la ubicacin de un control de la esquina superior izquierda del formulario. La propiedad Tamao especifica el tamao del control. Tambin podemos utilizar la propiedad Ancho y Altura lugar de la propiedad Tamao. FONDO, PRIMER PLANO, BORDERSTYLE Las propiedades BackColor y ForeColor se utilizan para establecer el fondo y el color de primer plano de un control CheckBox, respectivamente. Si hace clic sobre estas propiedades en la ventana de Propiedades, el cuadro de dilogo de color aparece. NOMBRE Nombre de la propiedad representa un nombre nico de un control CheckBox. Se utiliza para acceder al control en el cdigo. TEXTO Y TEXTALIGN Propiedad Text de un control CheckBox representa el texto actual de un control CheckBox. La propiedad TextAlign representa la alineacin del texto que puede ser de Izquierda, Centro o Derecha. COMPRUEBE LA ALINEACIN DE MARK Propiedad CheckAlign se utiliza para alinear la marca de verificacin en un control CheckBox.Mediante el uso de las propiedades CheckAlign y TextAlign, podemos colocar el texto y la marca de verificacin para cualquier posicin en un control CheckBox que queremos.

FUENTE Propiedad Font representa la fuente del texto de un control CheckBox. Si hace clic en la propiedad Font en la ventana de Propiedades, ver el nombre de fuente, tamao y otras opciones de la fuente. IMAGEN DE CHECKBOX La imagen caracterstica de un CheckBox control se utiliza para establecer el fondo como una imagen.La propiedad de la imagen necesita un objeto Image. La clase de imagen tiene un mtodo esttico llamado FromFile que toma el nombre de un archivo de imagen con la ruta completa y crea un objeto de imagen. Tambin puede alinear la imagen y el texto. Las propiedades ImageAlign y TextAlign de CheckBox se utilizan para este propsito.

200 | P g i n a

ESTADOS CHECKBOX Un control CheckBox tpico tiene dos estados posibles "registrado como el no. Estado de activacin es cuando la casilla se marca de verificacin dentro y sin control es cuando la casilla no est marcada. Normalmente, se utiliza un ratn para activar o desactivar un control CheckBox. Propiedad Checked es cierto cuando un control CheckBox se encuentra en estado de activacin. Resumen
Un control TextBox acepta datos del usuario en un formulario. En este artculo, hablamos de discutir la manera de crear un control TextBox de formularios Windows Forms en tiempo de diseo, as como en tiempo de ejecucin. Despus de eso, vimos cmo utilizar varias propiedades y mtodos. En este artculo, hablamos de discutir la manera de crear un control ComboBox de formularios Windows Forms en tiempo de diseo, as como en tiempo de ejecucin. Despus de eso, hablamos de cmo utilizar sus diversas propiedades y mtodos para crear aplicaciones del mundo real, hablamos de discutir la forma de utilizar un control PictureBox para mostrar imgenes en aplicaciones de Windows Forms, hablamos de discutir la manera de crear un control ListBox de formularios Windows Forms.Despus de eso, vimos cmo utilizar varias propiedades y mtodos. Vea a continuacin la lista de artculos para aprender ms sobre el control ListBox, y por ltimo, hablamos de discutir la manera de crear un control CheckBox de formularios Windows Forms en tiempo de diseo, as como en tiempo de ejecucin. Despus de eso, vimos cmo utilizar varias propiedades y mtodos.

http://www.c-sharpcorner.com/uploadfile/mahesh/textbox-in-C-Sharp/ http://www.c-sharpcorner.com/uploadfile/mahesh/combobox-in-C-Sharp/

201 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.7:

30

FECHA:

04/06/2012 - 05/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo realizar la recuperacin de informacin (bsqueda) BSQUEDA DE REGISTROS Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

202 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

INTRODUCCIN

El presente manual de usuario se lo ha realizado para facilitar la utilizacin del programa y brindar una mejor visualizacin del mismo. Para una mejor

comprensin sobre el sistema elaborado se presentan la explicacin respectiva de sus debidos funcionamientos. Visual Studio es un conjunto de herramientas de desarrollo y de otras tecnologas basado en componentes para crear aplicaciones eficaces de alto

rendimiento. Adems, Visual Studio est optimizado para diseo basado en equipos, desarrollo e implementacin de soluciones empresariales. Visual Studio es un conjunto completo de herramientas de desarrollo para la generacin de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones mviles. Visual Basic, Visual C++, Visual C# y Visual J# utilizan el mismo entorno de desarrollo integrado (IDE), que les permite compartir herramientas y facilita la creacin de soluciones en varios lenguajes. Asimismo, dichos lenguajes aprovechan las funciones de .NET Framework, que ofrece acceso a tecnologas clave para simplificar el desarrollo de aplicaciones Web ASP y Servicios Web XML.

OBJETIVO El principal objetivo del manual es facilitar a los usuarios el manejo del programa de Automatizacin de Sistema Mdico "ASME", permitiendo la realizacin de simulaciones del sistema y los procedimientos de bsqueda mediante diferentes maneras, para optimizar su utilizacin.

203 | P g i n a

PROGRAMACIN DE BSQUEDA DE REGISTROS (VARIAS FORMAS O MODELOS)

Explicacin de palabras desconocidas. OleDBConnection.- Representa una conexin abierta a un origen de datos. En el caso de un sistema de bases de datos de cliente y servidor, equivale a una conexin de red al servidor. Dependiendo de la funcionalidad que admita el proveedor OLE DB nativo, algunos mtodos o propiedades de un

objeto OleDbConnection pueden no estar disponibles.

OleDBDataAdapter.- Representa un conjunto de comandos de datos y una conexin de base de datos que se utilizan para rellenar DataSet y actualizar el origen de datos. DataSet.- Representa una cach de memoria interna de datos. EventArgs.- Contiene los datos adicionales asociados a ciertos tipos de eventos de estado de flujo de trabajo.
Diferencia entre Object sender y EventArgs e.- Sender representa una referencia al objeto

que lanza ese evento, mientras que eventargs es la clase base para contener los eventos lanzados por el control.

204 | P g i n a

Explicacin de la creacin de la Base de Datos

Abrimos el programa Acces para la creacin de la Base de Datos, nos vamos a Inicio, Todos los Programas, Microsoft Office y clic en Microsoft Acces.

Una vez abierto el programa damos clic en BASE DE DATOS EN BLANCO.

Luego ponemos el nombre de la base de datos en la parte inferior derecha y clic en CREAR.

205 | P g i n a

Ahora agregamos la tabla en el programa de la siguiente manera.

Colocamos un nombre en este caso el nuestro ser Empleados.

Empezamos a crear los campos de la siguiente manera.

Una vez creada los campos realizamos lo siguiente y empezamos a ingresar registros.

206 | P g i n a

Ahora guardamos todo lo que hemos realizado.

Explicacin de la creacin del formulario en Visual C# Abrimos el programa Visual C# para la creacin del formulario y nos vamos a Inicio, Todos los Programas, Microsoft Visual Studio 2010 y clic en Microsoft Visual Studio 2010.

207 | P g i n a

Una vez abierto el programa vamos a Archivo, Nuevo, Proyecto y nos aparecer la siguiente pantalla. Le ponemos un Nombre al archivo y aceptamos.

Editamos el formulario agregando los componentes a utilizar como son:

TextBox Label Label RadioButton

TextBox

TextBox

Button

DataGridView

208 | P g i n a

Explicacin de cmo insertar la base de datos al programa. Paso1.-

Paso2.- Presionar el icono de Base de Datos y clic en siguiente.

Paso 3.- Elegimos un modelo de base de datos de la siguiente manera y clic en siguiente.

Paso 4.- Clic en Nueva Conexin y en la pantalla que nos saldr en la parte de examinar buscamos la base de datos que anteriormente creamos, clic en Probar conexin y aceptamos.
209 | P g i n a

Paso5.- En la parte de cadena de conexin copiamos lo que observamos ah para luego utilizarlo en el cdigo y salimos e la ventana.

Explicacin del funcionamiento del programa. El programa le permitir buscar al empleado por las opciones de cedula, nombre, ciudad, apellido. Deber seleccionar una de las opciones y en un cuadro de texto colocar el valor de cedula, nombre, etc., del registro que quiera buscar y automticamente en la tabla se presentara el registro, seleccionamos el que se busque y se cargar en los cuadros de texto, adems encontramos botones de movimiento que nos permitir movernos entre registros inicio, fin, siguiente, anterior.
210 | P g i n a

Cdigo General.

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.ProviderBase; using System.Data.OleDb; using Grupo3Parte2.conexionBD;// librebria que nos permite escribir un comando de un conjunto de datos namespace Grupo3Parte2 { public partial class Empleado : Form { private DataSet datos; private OleDbDataAdapter medio; int posicion; int posicionFinal; OleDbConnection conexion = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Hacienda.accdb "); // ruta de conexion public void cargarDatos() { medio = new OleDbDataAdapter("select * from Empleados", conexion); datos = new DataSet(); medio.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables["Empleados"];

211 | P g i n a

posicion = 0; posicionFinal = (datos.Tables["Empleados"].Rows.Count) - 1; } private void mover(int paso) { posicion = posicion + paso; txtCedula.Text = datos.Tables["Empleados"].Rows[posicion][0].ToString(); txtNombre.Text = datos.Tables["Empleados"].Rows[posicion][1].ToString(); txtApellido.Text = datos.Tables["Empleados"].Rows[posicion][2].ToString(); txtFecha.Text = datos.Tables["Empleados"].Rows[posicion][3].ToString(); txtCargo.Text = datos.Tables["Empleados"].Rows[posicion][4].ToString(); txtCiudad.Text = datos.Tables["Empleados"].Rows[posicion][5].ToString(); } public Empleado() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // TODO: esta lnea de cdigo carga datos en la tabla 'haciendaDataSet.Empleados' Puede moverla o quitarla segn sea necesario. this.empleadosTableAdapter.Fill(this.haciendaDataSet.Empleados); cargarDatos(); } { private void btnInicio_Click(object sender, EventArgs e) mover(-posicion); }

private void btnSiguiente_Click(object sender, EventArgs e) { if (posicion == posicionFinal) { MessageBox.Show("No hay ms registros"); }

212 | P g i n a

else { mover(1); } }

private void btnAnterior_Click(object sender, EventArgs e) { if (posicion == 0) { MessageBox.Show("Estas ya en el primer Registro");

} else { mover(-1); } }

private void btnFin_Click(object sender, EventArgs e) { posicion = 0; if (posicion == posicionFinal) { MessageBox.Show("No hay ms registros");

} else { mover(posicionFinal); } } {

private void textBox1_TextChanged(object sender, EventArgs e) if (rd1.Checked == true) try {

213 | P g i n a

{ //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Cedula like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables[0];} catch (Exception ex) { MessageBox.Show("Error al leer de la bd: " + ex + "."); } }

if (rd2.Checked == true) { try { //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Nombre like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables[0]; } catch (Exception ex) { MessageBox.Show("Error al leer de la bd: " + ex + "."); } }

if (rd3.Checked == true) { try

214 | P g i n a

{ //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Ciudad like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables[0]; } catch (Exception ex) { } } if (rd4.Checked == true) { try { //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Apellido like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables[0]; } catch (Exception ex) { MessageBox.Show("Error al leer de la bd: " + ex + "."); } } } MessageBox.Show("Error al leer de la bd: " + ex + ".");

private void rd2_CheckedChanged(object sender, EventArgs e) { }

215 | P g i n a

private void rd3_CheckedChanged(object sender, EventArgs e) { }

//para cargar de la tabal a los cuadros de texto private void tabla_CellContentClick(object sender, DataGridViewCellEventArgs e) { txtCedula.Text = tabla.CurrentRow.Cells[0].Value.ToString(); txtNombre.Text = tabla.CurrentRow.Cells[1].Value.ToString(); txtApellido.Text = tabla.CurrentRow.Cells[2].Value.ToString(); txtFecha.Text = tabla.CurrentRow.Cells[3].Value.ToString(); txtCargo.Text = tabla.CurrentRow.Cells[4].Value.ToString(); txtCiudad.Text = tabla.CurrentRow.Cells[5].Value.ToString(); } } }

EXPLICACIN DE CADA PARTE DEL PROGRAMA CON SU RESPECTIVO CDIGO Mediante esta lnea podemos realizar la conexin con nuestra base de datos, aqu colocamos lo que copiamos al momento de realizar la conexin de la base de datos con el programa. OleDbConnection conexion = new OleDbConnection (@Provider=Microsoft.ACE.OLEDB.12.0; DataSource=Hacienda.accdb); En esta lnea de cdigo carga datos en la tabla 'haciendaDataSet.Empleados'. Puede moverla o quitarla segn sea necesario.
private void Form1_Load(object sender, EventArgs e) { this.empleadosTableAdapter.Fill(this.haciendaDataSet.Empleados); cargarDatos(); }

Para cargar o colocar los datos de los registros ingresados en la tabla de la Base de Datos creada en Access a la tabla del programa se la realiza de la siguiente manera.

216 | P g i n a

public void cargarDatos() { medio = new OleDbDataAdapter("select * from Empleados", conexion); datos = new DataSet(); medio.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables["Empleados"]; posicion = 0; posicionFinal = (datos.Tables["Empleados"].Rows.Count) - 1; }

Encontramos tambin botones de movimiento para podernos desplazar de registro en registro o podemos tambin ir al principio o final de los registros, segn lo que se desee.

217 | P g i n a

El mtodo para permitir que los botones funciones es el siguiente pero este mtodo no va dentro de ningn botn.

private void mover(int paso)


{ posicion = posicion + paso; txtCedula.Text = datos.Tables["Empleados"].Rows[posicion][0].ToString(); txtNombre.Text = datos.Tables["Empleados"].Rows[posicion][1].ToString(); txtApellido.Text = datos.Tables["Empleados"].Rows[posicion][2].ToString(); txtFecha.Text = datos.Tables["Empleados"].Rows[posicion][3].ToString(); txtCargo.Text = datos.Tables["Empleados"].Rows[posicion][4].ToString(); txtCiudad.Text = datos.Tables["Empleados"].Rows[posicion][5].ToString(); }

La codificacin de cada botn se encuentra dentro del mismo solo hacemos clic sobre ellos y ponemos el siguiente cdigo:

BOTN INICIO:

private void btnInicio_Click(object sender, EventArgs e) { mover(-posicion);

BOTN SIGUIENTE:

private void btnSiguiente_Click(object sender, EventArgs e) { if (posicion == posicionFinal) { MessageBox.Show("No hay ms registros");

218 | P g i n a

} else { mover(1); } }

BOTN ANTERIOR:

private void btnAnterior_Click(object sender, EventArgs e) { if (posicion == 0) { MessageBox.Show("Estas ya en el primer Registro");

} else { mover(-1); } }

BOTN FIN:

private void btnFin_Click(object sender, EventArgs e) { posicion = 0; if (posicion == posicionFinal) { MessageBox.Show("No hay ms registros"); } else {

219 | P g i n a

mover(posicionFinal); } }

Lo que encontramos posteriormente es la funcion principal del programa que cuenta con 4 RadioButton y un TextBox en el cual se insertara lo que se requiera buscar.

Todo el cdigo que observamos a continuacin para realizar estas acciones se la debe colocar dentro del TextBox y es el siguiente: Este proceso se lo coloca dentro de un try y un catch para as poder especificar lo que se va a realizar dependiendo de la opcin que elija.

Accion del RadioButton Cedula:

private void textBox1_TextChanged(object sender, EventArgs e) { if (rd1.Checked == true) { try { //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Cedula like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados");

220 | P g i n a

tabla.DataSource = datos.Tables[0]; } catch (Exception ex) { MessageBox.Show("Error al leer de la bd: " + ex + "."); } }

Accion del RadioButton Nombre

if (rd2.Checked == true) { try { //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Nombre like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables[0]; } catch (Exception ex) { MessageBox.Show("Error al leer de la bd: " + ex + "."); } }

Accion del RadioButton Ciudad

if (rd3.Checked == true)

221 | P g i n a

{ try { //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Ciudad like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables[0]; } catch (Exception ex) { MessageBox.Show("Error al leer de la bd: " + ex + "."); } }

Accion del RadioButton Apellido

if (rd4.Checked == true) { try { //limpiamos la tabla DataTable dt = tabla.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from Empleados where Apellido like '" + textBox1.Text + "%'", conexion); ad.Fill(datos, "Empleados"); tabla.DataSource = datos.Tables[0]; } catch (Exception ex)

222 | P g i n a

{ MessageBox.Show("Error al leer de la bd: " + ex + "."); } } }

Y por ltimo el cdigo que se pondr dentro del DataGridView que se utiliza para poder realizar la accin que cuando el usuario busque un registro y le aparezca en la tabla este seleccione el registro que quiera y se cargue automticamente en los cuadros de textos.

//para cargar de la tabal a los cuadros de texto private void tabla_CellContentClick(object sender, DataGridViewCellEventArgs e) { txtCedula.Text = tabla.CurrentRow.Cells[0].Value.ToString(); txtNombre.Text = tabla.CurrentRow.Cells[1].Value.ToString(); txtApellido.Text = tabla.CurrentRow.Cells[2].Value.ToString(); txtFecha.Text = tabla.CurrentRow.Cells[3].Value.ToString(); txtCargo.Text = tabla.CurrentRow.Cells[4].Value.ToString(); txtCiudad.Text = tabla.CurrentRow.Cells[5].Value.ToString(); }

CONCLUSIN Visual Studio, es un idioma muy completo para uso de formularios y manejo con bases de datos, es muy claro y tiene muy buena ayuda en castellano. Sus usos para fines administrativos y contables para pequeas y medianas administraciones, lo hacen ser uno de los mejores en esa materia. Es por esto que este sistema ofrece una visin global de lo que podra ser la bsqueda de un medicamento, empleado, etc., dentro del Subcentro de Salud Velasco Ibarra la aplicacin ofrece alta interactividad con las personas que vayan a trabajar con el sistema, y puede ofrecer datos de manera rpida y sencilla.

223 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.8:

31

FECHA:

11/06/2012 - 12/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo realizar la validacin de la llave principal. VALIDACIN DE INTEGRIDAD REFERENCIAL (LLAVE PRINCIPAL) Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

224 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Validacin de Integridad Referencial (Llave principal y llave ajena). Definicin de Bases de Datos. Es una coleccin de datos referentes a una organizacin estructurada segn un modelo de datos de forma que refleja las relaciones y restricciones existentes entre los objetos del mundo real, y consigue independencia, integridad y seguridad de los datos. Lo que debemos tener claro es la diferencia entre Base de Datos y SGBD. La base de datos es el almacenamiento donde residen los datos. El SGBD es el encargado de manipular la informacin contenida en ese almacenamiento mediante operaciones de lectura/escritura sobre la misma. Adems las bases de datos no slo contendrn las tablas (ficheros) de datos, sino que tambin almacenar formularios (interfaces para edicin de datos), consultas sobre los datos, e informes. El SGBD se encargar de manipular esos datos, controlar la integridad y seguridad de los datos, reconstruir y reestructurar la base de datos cuando sea necesario. Introduccin a las tcnicas de Bases de Datos. El objetivo principal de las bases de datos es el de unificar los datos que se manejan y los programas o aplicaciones que los manejan. Anteriormente los programas se codificaban junto con los datos, es decir, se diseaban para la aplicacin concreta que los iba a manejar, lo que desembocaba en una dependencia de los programas respecto a los datos, ya que la estructura de los ficheros va incluida dentro del programa, y cualquier cambio en la estructura del fichero provocaba modificar y recompilar programas. Adems, cada aplicacin utiliza ficheros que pueden ser comunes a otras de la misma organizacin, por lo que se produce una REDUNDANCIA de la informacin, que provoca mayor ocupacin de memoria, laboriosos programas de actualizacin (unificar datos recogidos por las aplicaciones de los diferentes departamentos), e inconsistencia de datos (no son correctos) si los datos no fueron bien actualizados en todos los programas. Con las bases de datos, se busca independizar los datos y las aplicaciones, es decir, mantenerlos en espacios diferentes. Los datos residen en memoria y los programas mediante un sistema gestor de bases de datos, manipulan la informacin. El sistema gestor de bases de datos recibe la peticin por parte del programa para manipular los datos y es el encargado de recuperar la informacin de la base de datos y devolvrsela al programa que la solicit. Cada programa requerir de una cierta informacin de la base de datos, y podr haber otros que utilicen los mismos datos, pero realmente residirn en el mismo espacio de almacenamiento y los programas no duplicarn esos datos, si no que trabajarn directamente sobre ellos concurrentemente. Aunque la estructura de la base de datos cambiara, si los datos modificados no afectan a un programa
225 | P g i n a

especfico, ste no tendr por qu ser alterado. Mediante estas tcnicas de base de datos se pretende conseguir a travs del Sistema Gestor de Bases de Datos(SGBD): INDEPENDENCIA de los Datos: Cambios en la estructura de la Base de Datos no modifican las aplicaciones. INTEGRIDAD de los Datos: Los datos han de ser siempre correctos. Se establecen una serie de restricciones (reglas de validacin) sobre los datos. SEGURIDAD de los Datos: Control de acceso a los datos para evitar manipulaciones de estos no deseadas. INTEGRIDAD REFERENCIAL Podemos definir integridad referencial al hecho de no hacer referencia a registros o campos que no existen porque nunca fueron creados o por que han dejado de existir en el transcurso de la base de datos. Por tanto podemos afirmar que la integridad referencial impide que queden registros hurfanos, ya que no podemos hablar de una persona que figura en la tabla de ventas si esta no existe en la tabla de clientes. En una clave ajena no puede haber un valor no nulo que no exista en la tabla de referencia. Para que no existan errores de integridad referencial en la base de datos, el sistema comprueba automticamente que los valores introducidos en las claves ajenas existan en el campo de referencia en la otra tabla, si no existe, no nos dejar insertar el registro. La integridad referencial garantiza que los cambios efectuados en una tabla no afectaran a la relacin. Adems impide: Aadir un registro a la tabla seleccionada si el valor del campo de relacin no existe en la tabla principal. Eliminar un registro de la tabla principal si tiene registros relacionados en la tabla relacionada. Esto quiere decir, siguiendo con el ejemplo anterior, que antes de borrar a una persona de la tabla de clientes, habra que borrarla de la tabla de ventas, ya que no pueden existir ventas de un cliente inexistente. Modificar el campo de relacin en la tabla principal si tiene registros relacionados en la tabla relacionada. Modificar el campo de relacin en la tabla relacionada si el nuevo valor que se indexa en el no existe en la tabla principal, ya que este debe estar tambin en la tabla principal. Cuando se define una columna como clave fornea, las filas de la tabla pueden contener en esa columna o bien el valor nulo (ningn valor), o bien un valor que
226 | P g i n a

existe en la otra tabla, un error sera asignar a un habitante una poblacin que no est en la tabla de poblaciones. Eso es lo que se denomina integridad referencial y consiste en que los datos que referencian otros (claves forneas) deben ser correctos. La integridad referencial hace que el sistema gestor de la base de datos se asegure de que no hayan en las claves forneas valores que no estn en la tabla principal. La integridad referencial se activa en cuanto creamos una clave fornea y a partir de ese momento se comprueba cada vez que se modifiquen datos que puedan alterarla. Cundo se pueden producir errores en los datos? Cuando insertamos una nueva fila en la tabla secundaria y el valor de la clave fornea no existe en la tabla principal. insertamos un nuevo habitante y en la columna poblacin escribimos un cdigo de poblacin que no est en la tabla de poblaciones (una poblacin que no existe). Cuando modificamos el valor de la clave principal de un registro que tiene 'hijos', modificamos el cdigo de Valencia, sustituimos el valor que tena (1) por un nuevo valor (10), si Valencia tena habitantes asignados, qu pasa con esos habitantes, no pueden seguir teniendo el cdigo de poblacin 1 porque la poblacin 1 ya no existe, en este caso hay dos alternativas, no dejar cambiar el cdigo de Valencia o bien cambiar el cdigo de poblacin de todos los habitantes de Valencia y asignarles el cdigo 10. Cuando modificamos el valor de la clave fornea, el nuevo valor debe existir en la tabla principal. Por ejemplo cambiamos la poblacin de un habitante, tena asignada la poblacin 1 (porque estaba empadronado en valencia) y ahora se le asigna la poblacin 2 porque cambia de lugar de residencia. La poblacin 2 debe existir en la tabla de poblaciones. Cuando queremos borrar una fila de la tabla principal y ese registro tiene 'hijos', por ejemplo queremos borrar la poblacin 1 (Valencia) si existen habitantes asignados a la poblacin 1, estos no se pueden quedar con el valor 1 en la columna poblacin porque tendran asignada una poblacin que no existe. En este caso tenemos dos alternativas, no dejar borrar la poblacin 1 de la tabla de poblaciones, o bien borrarla y poner a valor nulo el campo poblacin de todos sus 'hijos'. Asociada a la integridad referencial estn los conceptos de actualizar los registros en cascada y eliminar registros en cascada. Actualizar en cascada los campos relacionados:

227 | P g i n a

Al activar esta opcin, si realizamos alguna modificacin en el campo clave principal de la tabla principal, Access realizara una actualizacin automtica en el campo relacionado de la tabla relacionada. Eliminar en cascada los registros relacionados: Si eliminamos un registro en la tabla principal, se eliminaran automticamente todos los registros relacionados en las dems tablas relacionadas. Tipos de restricciones de integridad Datos Requeridos: establece que una columna tenga un valor no NULL. Se define efectuando la declaracin de una columna es NOT NULL cuando la tabla que contiene las columnas se crea por primera vez, como parte de la sentencia CREATE TABLE. Chequeo de Validez: cuando se crea una tabla cada columna tiene un tipo de datos y el DBMS asegura que solamente los datos del tipo especificado sean ingresados en la tabla. Integridad de entidad: establece que la clave primaria de una tabla debe tener un valor nico para cada fila de la tabla; si no, la base de datos perder su integridad. Se especifica en la sentencia CREATE TABLE. El DBMS comprueba automticamente la unicidad del valor de la clave primaria con cada sentencia INSERT Y UPDATE. Un intento de insertar o actualizar una fila con un valor de la clave primaria ya existente fallar. Integridad referencial: asegura la integridad entre las llaves forneas y primarias (relaciones padre/hijo). Como crear una Integridad Referencial utilizando el DBMS Colocaremos un ejemplo de una base de datos que est relacionado la tabla Empleados y la tabla Proyectos donde existe una relacin uno a varios, dentro de la relacin activaremos la integridad referencial.

228 | P g i n a

Al crear la relacin con su respectiva integridad referencial nos quedara las tablas relacionadas de la siguiente manera

Ahora dentro del programa realizado en C# vemos que dentro de los registros de la tabla Proyecto existen 2 registros donde aparece el Empleado Byron Aguilar

Si dentro del programa eliminamos el registro de este empleado como vemos en imagen, tambin se eliminar el proyecto ya que esta activada la integridad referencial

229 | P g i n a

Luego de haber eliminado el registro del empleado, volvemos a la tabla de registro de los proyectos y nos damos cuenta que los proyectos en los que constaba el empleado eliminado, tambin se ha eliminado

Como crear una Integridad Referencial utilizando el Codificacin C# Para realizar la practica con respecto a la integridad referencial vamos a necesitar los siguientes elementos los cuales lo encontraremos en el botn cuadro de herramientas en la barra de herramientas de la aplicacin visual C#.

Damos clic ah y nos aparecer en el lado derecho una ventana con todos los elementos para realizar un formulario.

230 | P g i n a

De esta lista escogeremos los siguientes elementos: 1 DataGridView 1 Panel 3 Label 3 TextBox 2 Button

Los cuales colocaremos de la siguiente forma:

231 | P g i n a

Una vez que tenemos la interfaz grafica procederemos ha realizar la programacin respectiva del botn Ingresar (1 mtodo) Ahora en la parte de la programacin contamos con 3 capas para realizar esta prctica.

La primera capa ser la capa de los formularios es decir q ah van todos los formularios que hagamos. La capa dos estar la lgica, aqu encontraremos todos las clases necesarias con sus respectivos mtodos. Y la tercera y ultima capa se encontrar la base de datos en esta clase se definir todo con respecto a la conexin de la base de datos con SQL SERVER MANAGER 2008.

Para realizar la codificacin respectiva al botn del primer metodo utilizaremos las siguientes clases:

232 | P g i n a

frmClientes (la una pestaa esta el diseo del formulario y en la otra la codificacin del formulario) CAPA 1 controlClientes (parte lgica del botn) CAPA 2 baseDatos (conexin y sentencias sql) CAPA3

Ahora demos doble clic en ese botn y nos enviara a la parte del cdigo de la clase frmClientes de ese botn el cual por defecto estar escrito esta parte del cdigo. private void button1_Click_1(object sender, EventArgs e) { } Dentro de esta lnea de cdigo empezaremos a escribir lo siguiente
controlClientes ctrlClientes = new controlClientes(); de esta forma instaciamos un objeto de la clase controClientes para poder acceder a sus mtodos.

Dentro de este mtodo escribiremos lo siguiente:


int error= ctrlClientes.ingresarCliente(Convert.ToInt16(txtCodigo.Text), txtNombre.Text, txtApellido.Text);//inicializamos la variable error y le asignamos el metodo ingresarCliente y como lo que escribimos en los textBox es tipo text y un parmetro que recibe el mtodo es entero tenemos que convertirlo por medio del castig Convert.ToInt16 el cual convertir el nummero que ingresemos en el textBox en entero.

Seguido de esto en la clase controlClientes tendremos el metodo ingresarCliente, este mtodo recibe como parmetro 3 cosas, es decir de la siguiente manera:
public int { } ingresarCliente(int codigo, String nombre, String apellido)

Dentro de este mtodo haremos una instanciacin a la clase baseDatos para poder acceder a sus mtodos.
baseDatos bd = new baseDatos(); instanciamos la clase// String sentencia = ("INSERT INTO clientes (id_cliente , nombre_cliente , apellido_cliente) VALUES ( ' " + codigo + "','" + nombre + "','" + apellido + "')");// en esta lnea estamos escribiendo nuestra sentencia y utilizamos INSERT para insertar los datos q se ingresan en el textBox.

233 | P g i n a

Seguidamente a esta lnea escribimos la siguiente lnea en la que ya llamamos al mtodo ejecutarComandos de la clase baseDatos, el cual recibe como parmetro la sentencia que nosotros escribimos.
public int ejecutarComandos(String sql) { conectar();//establecemos la conexin con la bse de datos comandos.CommandText = sql; especificamos el tipo de sentencia en este caso sql comandos.CommandType = CommandType.Text; //especifica que vamos a mandar es texto, no un procedimiento almacenado

Realizamos un try catch para capturar errore en los cuales definiremos lo siguiente: si la excepcin cae en el try el ingreso se realizo con xito, pasando directamente a cerrar la conexin y retornndome un valor de 0.
try { comandos.ExecuteNonQuery();//hace que se ejecute la sentencia sql Console.WriteLine("Se Realiz con Exito");//enva un mensaje por consola que se realizo con xito el ingreso } cerrarConexion(); return 0;

si la excepcin cae en el catch el ingreso me va a dar error, cerrar la conexin y me retornar un valor de 1
catch (SqlException exc) { Console.WriteLine("ERROR: "+ exc.Message); return 1; } }

Una vez que me retornan los valores de 0 o 1 respectivamente este valor se retornara en la capa anterior que es la numero 2 la capa de la lgica donde esta la clase controlCliente en donde se inicializa la variable error para que reciba un entero.
int error= bd.ejecutarComandos(sentencia);// se inicializa error y le asignamos el mtodo ejecutarComandos y como parmetro la sentencia que escribimos.

Seguida a esta lnea escribiremos la siguiente que nos permite obtener el valor del error de la capa3 de la base de datos.
return error;// este error captura el error de la base de datos sea 0 o 1

Una vez que este error tiene el valor de la capa 3 lo enva a la capa 1 donde se encuentra la clase del formulario; en esta parte se har la comparacin.
234 | P g i n a

Si el valor q retorna es cero entra en el if actualiza la tabla y enva el mensaje Se realizo con xito
if (error == 0)//compara el valor de retorno { ActualizarGRID();//actualiza la tabla MessageBox.Show("Registro Guardado con Exito", "Guardar");//muestra mensaje }

Pero si el valor q retorna es uno pasa el if y se ejecuta la lnea del else mostrndome un mensaje de error
else MessageBox.Show("ERROR", "REGISTRO NO GUARDADO");//muestra mensaje

Ahora si una vez explicado las lneas de cdigo aqu les dejo para q se guen de una mejor forma cada clase con su mtodo y lneas de cdigo utilizado. CAPA 1 FORMULARIOS CLASE: frmClientes
private void button1_Click_1(object sender, EventArgs e) { controlClientes ctrlClientes = new controlClientes();

235 | P g i n a

int error= ctrlClientes.ingresarCliente(Convert.ToInt16(txtCodigo.Text), txtNombre.Text, txtApellido.Text); if (error == 0) { ActualizarGRID(); MessageBox.Show("Registro Guardado con Exito", "Guardar"); } else MessageBox.Show("ERROR", "REGISTRO NO GUARDADO"); }

CAPA 2 LGICA CLASE: controlClientes


public int { ingresarCliente(int codigo, String nombre, String apellido)

//DataTable tabla = new DataTable(); baseDatos bd = new baseDatos(); String sentencia = ("INSERT INTO clientes (id_cliente , nombre_cliente , apellido_cliente) VALUES ( ' " + codigo + "','" + nombre + "','" + apellido + "')"); int error= bd.ejecutarComandos(sentencia); return error; }

CAPA 3 BASE DE DATOS CLASE: baseDatos

public int ejecutarComandos(String sql) { //Console.WriteLine("LLEGA A EJECUTAR COMANDOS "); conectar(); //onsole.WriteLine("SI CONECTA"); comandos.CommandText = sql; comandos.CommandType = CommandType.Text; //especifica que vamos a mandar es texto, no un procedimiento almacenado try { comandos.ExecuteNonQuery();//hace que se ejecute la sentencia sql Console.WriteLine("Se Realiz con Exito"); } catch (SqlException exc) { Console.WriteLine("ERROR: "+ exc.Message); return 1; }

236 | P g i n a

cerrarConexion(); return 0; }

BOTON INGRESAR (2 METODO) En el cuadro de herramientas se selecciona un botn para poder agregar al formulario En la clase lgica controlClientes se encuentra el mtodo verificarllaveprimaria Aqu recibe como parmetro un entero que ser el cdigo Instanciaremos un objeto de la clase baseDatos para poder acceder su mtodo ejecutarSeleccionSQL La variable sentencia guardara la sentencia sql que se va implementar para poder seleccionar de la base de datos el cdigo que se haya ingresado en el formulario.
public int verificarLlavePrimaria(int codigo) {

" +

baseDatos bd = new baseDatos(); String sentencia = ("Select * from clientes where id_cliente = codigo); DataTable tabla= bd.ejecutarSeleccionSQL(sentencia); int t = tabla.Rows.Count; return t; }

En la clase de la base de dato baseDatos se encuentra el mtodo ejecutarSeleccionSQL.

Este mtodo recibe como parmetro la sentencia sql. Aqu se instancia una tabla en donde recibe como parmetro la sentencia sql y la conexin para conectarse con la base de datos y pueda ver los registros.

Luego se llenara o cargara la tabla con la consulta que se hizo en la base de datos, es decir con los cdigos que se encuentra en dicho registro.
public DataTable ejecutarSeleccionSQL(String sql) { DataTable tabla = new DataTable(); SqlDataAdapter adap = new SqlDataAdapter(sql, miConexion); //sirve para hacer selecciones SQL adap.Fill(tabla); //llena o carga la tabla con la base de datos return tabla;

237 | P g i n a

Aqu retorna lo que est en la variable tabla para guardarse en la variable tabla que est en la clase controlClientes
DataTable tabla= bd.ejecutarSeleccionSQL(sentencia);

De ah cuenta el numero de filas que tiene dicha tabla y lo guarda en t


int t = tabla.Rows.Count;

Entonces en la clase del formulario con el mtodo verificarllaveprimaria con lo que retorna t el nmero de filas si este es igual a 1 no podr ingresarse un nuevo registro ya que esta existente esa llave primaria. Pero si es igual a 0 si se puede ingresar un nuevo registro.

private void button2_Click(object sender, EventArgs e) { controlClientes ctrlClientes = new controlClientes(); int numRegistro=ctrlClientes.verificarLlavePrimaria(Convert.ToInt16(txtCodigo.Text) ); if (numRegistro == 0) { //MessageBox.Show("LLAVE PRIMARIA NO REPETIDA", "CORRECTO" ); ctrlClientes.ingresarCliente2(Convert.ToInt16(txtCodigo.Text), txtNombre.Text, txtApellido.Text); ActualizarGRID(); MessageBox.Show("Registro Guardado con Exito", "Guardar"); } else MessageBox.Show("LLAVE PRIMARIA REPETIDA", "MAL"); }

Dentro del if se encuentra el mtodo ingresarCliente2 que est en la clase controlClientes.

Aqu el siguiente mtodo recibe como parmetro el cdigo, el nombre y apellido del cliente.

Se instancia un objeto de la clase basededatos En la variable sentencia se guardar la sentencia sql insert. Se llama al mtodo ejecutarComandos2 que est en la clase de baseDatos.

public void ingresarCliente2(int codigo, String nombre, String apellido)

238 | P g i n a

baseDatos bd = new baseDatos(); String sentencia = ("INSERT INTO clientes (id_cliente , nombre_cliente , apellido_cliente) VALUES ( ' " + codigo + "','" + nombre + "','" + apellido + "')"); bd.ejecutarComandos2(sentencia); } }

Este mtodo ejecutarComandos2 recibe como parmetro la sentencia sql. Hace que se ejecute la sentencia sql. Verifica si se realizo con xito cuando entra al try En caso de que no sea as el catch me mostrar un mensaje en consola que hubo un error.

Por ltimo cierra la conexin.

public void ejecutarComandos2(String sql) { //Console.WriteLine("LLEGA A EJECUTAR COMANDOS "); conectar(); //onsole.WriteLine("SI CONECTA"); comandos.CommandText = sql; comandos.CommandType = CommandType.Text; //especifica que vamos a mandar es texto, no un procedimiento almacenado try { comandos.ExecuteNonQuery();//hace que se ejecute la sentencia sql Console.WriteLine("Se Realiz con Exito"); } catch (SqlException exc) { Console.WriteLine("ERROR: " + exc.Message); } cerrarConexion(); }

CAPA 1 FORMULARIOS
private void button2_Click(object sender, EventArgs e) { controlClientes ctrlClientes = new controlClientes(); int numRegistro=ctrlClientes.verificarLlavePrimaria(Convert.ToInt16(txtCodigo.Text) ); if (numRegistro == 0)

239 | P g i n a

{ //MessageBox.Show("LLAVE PRIMARIA NO REPETIDA", "CORRECTO" ); ctrlClientes.ingresarCliente2(Convert.ToInt16(txtCodigo.Text), txtNombre.Text, txtApellido.Text); ActualizarGRID(); MessageBox.Show("Registro Guardado con Exito", "Guardar"); } else MessageBox.Show("LLAVE PRIMARIA REPETIDA", "MAL");

CAPA 2 LOGICA
public int verificarLlavePrimaria(int codigo) { baseDatos bd = new baseDatos(); String sentencia = ("Select * from clientes where id_cliente = " + codigo); DataTable tabla= bd.ejecutarSeleccionSQL(sentencia); int t = tabla.Rows.Count; return t; }

public void ingresarCliente2(int codigo, String nombre, String apellido) { baseDatos bd = new baseDatos(); String sentencia = ("INSERT INTO clientes (id_cliente , nombre_cliente , apellido_cliente) VALUES ( ' " + codigo + "','" + nombre + "','" + apellido + "')"); bd.ejecutarComandos2(sentencia); }

CAPA 3 BASE DE DATOS


public DataTable ejecutarSeleccionSQL(String sql) { DataTable tabla = new DataTable(); SqlDataAdapter adap = new SqlDataAdapter(sql, miConexion); //sirve para hacer selecciones SQL adap.Fill(tabla); //llena o carga la tabla con la base de datos return tabla; }

public void ejecutarComandos2(String sql) { //Console.WriteLine("LLEGA A EJECUTAR COMANDOS "); conectar(); //onsole.WriteLine("SI CONECTA"); comandos.CommandText = sql; comandos.CommandType = CommandType.Text; //especifica que vamos a mandar es texto, no un procedimiento almacenado

240 | P g i n a

try { comandos.ExecuteNonQuery();//hace que se ejecute la sentencia sql Console.WriteLine("Se Realiz con Exito"); } catch (SqlException exc) { Console.WriteLine("ERROR: " + exc.Message); } cerrarConexion();

Formulario CELULARES Bueno primeramente este proyecto echo en c# esta realizado en capas esto nos sirve para no mezclar el cdigo y ser ms fcil utilizarlo, como lo muestro a continuacin:

Capa 1 que es AccesoADatos

Capa 2 que es ExposicionIntegralReferencial


Capa 3 que es LOGIC

Luego de crear las capas procedemos a crear el formulario, para ello seleccionamos la capa en la que deseamos crear el formulario y damos Click derecho buscamos la opcin Agregar y se nos despliega ms opciones en la cual seleccionamos Windows froms y damos Click .

241 | P g i n a

Luego nos aparecer una new ventana en la cual colocaremos el nombre de cmo queremos que se llame el new formulario en mi caso le colocare fromCelulares.cs y podemos notar que se pone automticamente la extensin .cs y damos Click en aceptar y se nos creara el nuevo from el cual nos aparecer totalmente Facio o limpio.

Form New

Luego de tener el new From procedemos a colocar los componentes en el from para ello se los debe seleccionar del cuadro de herramientas en el cual hay muchos componentes como observamos en la imagen.

242 | P g i n a

El cuadro de herramientas consta de varias pestaas como controles comunes, contenedores entre otras mas

Para agregar los componentes solo se los debe arrastrar al from, en mi caso le coloque botones una DATAGRIDVIEW (tabla), label y textbox y un Panel.

DATAGRIDVIE W LABEL PANEL

BUTTON

TEXTBOX

243 | P g i n a

Estos componentes mencionados anteriormente se les puede cambiar de apariencia entre otras cosas mediante las propiedades en el caso del button se le puede colocar imagen al panel igual a los label, textbox y button se les puede colocar un formato y color de la letra, para esto seleccionar el campo y les aparece al lado izquierdo la herramienta de las propiedades.

Una vez ya creado el from y colocado los componentes y colocndole nombre a los componentes para que se nos haga ms fcil su utilizacin procedemos a realizar la codificacin de los botones q hallamos colocado.

Le damos doble Click para abrir modo edicin el cual nos dar mtodo con evento para que momento de ejecutarlo funcione

el un al el

Al hacer doble Click nos aparecer lo siguiente, el cual es el modo de edicin:

244 | P g i n a

Como pueden ver lo seleccionado es el cdigo que contiene nuestro botn. Al darle doble Click en nuestro botn. Por defecto nos aparecer el siguiente mtodo el cual recibe el evento para su ejecucin al darle Click cuando este en marcha el programa.
Private void button1_Click (object sender, EventArgs e) { }

A continuacin se mostrara el cdigo del botn.


private void button1_Click(object sender, EventArgs e) { //lo que hacemos aqu es simplemente crear un new objeto de la clase controlCelular que se encuentra en la Capa LOGIC controlCelulares ctrlCelulares = new controlCelulares(); //primeramente se creado el objeto mediante la instanciacin utilizamos el mtodo ingresar celular la cual recibe parmetros de tal forma que convertimos lo que capturamos en el textbox llamado txtcodigo a un entero de 16bits porque este mtodo recibe parmetros String y el cdigo entero por lo cual hacemos la conversin //la variable entera declarada int error nos va a servir para guardar el valor del error ya se ha este 0 o 1; int error = ctrlCelulares.ingresarCelular(Convert.ToInt16(txtCodigo.Text), txtMarca.Text, txtModelo.Text , txtPertenece.Text); //nos preguntamos si el error q nos devuelve en igual igual a 0 si es as ara lo siguiente caso contrario salta al else. if (error == 0) { //llama el metodo actualizarGrip la cual se encuentra en la misma clase. ActualizarGRID(); //nos presenta un mensaje que nos indica que se guardo correctamente. MessageBox.Show("Registro Guardado con xito", "Guardar"); //aqu simplemente hacemos que al momento que se guarde los datos se limpien los textbox en el cual mediante el .Text= ; para que queden vacio y se borre lo que estaba en ellos. txtCodigo.Text = " "; txtMarca.Text = " ";

245 | P g i n a

txtModelo.Text = " "; txtPertenece.Text = ""; } Else //nos mostrara un mensaje de error porq retorno el valor 1 MessageBox.Show("ERROR", "REGISTRO NO GUARDADO"); } public int ingresarCelular(int codigo, String marca, String modelo , String pertenece) { //crear un new objeto de la clase baseDatos que se encuentra en la Capa LOGIC AccesoADatos baseDatos bd = new baseDatos(); //creamos una new variable tipo string la cual utilizaremos para guardarlo que ingresamos en tabla celulares String sentencia = ("INSERT INTO celulares (id_celular , marca_celular , modelo_celular , id_cliente ) VALUES ( ' " + codigo + "','" + marca + "','" + modelo + "','" + pertenece + "')"); //se llama el metodo ejecutarComandos de la clase basedatos y le mandamos en este caso la variable que creamos de tipo String la cual ser como sentencia sql, la variable int error es la que nos va a almacenar ya se 0 o 1 deacuerdo al error int error = bd.ejecutarComandos(sentencia); return error; //retornara 0 o 1 }

public int ejecutarComandos(String sql) { conectar(); comandos.CommandText = sql; comandos.CommandType = CommandType.Text; //especifica que vamos a mandar es texto, no un procedimiento almacenado try { comandos.ExecuteNonQuery();//hace que se ejecute la sentencia sql Console.WriteLine("Se Realiz con Exito"); } catch (SqlException exc) { Console.WriteLine("ERROR: "+ exc.Message); return 1; } cerrarConexion(); return 0; } private void ActualizarGRID() { //lo que hacemos aqu es simplemente crear un new objeto de la clase controlCelular que se encuentra en la Capa LOGIC controlCelulares ctrlCelulares = new controlCelulares(); tblCelulares.DataSource = ctrlCelulares.mostrarDatosEnGrid("celulares"); }

246 | P g i n a

public DataTable mostrarDatosEnGrid(String nombreTabla) { //Creamos un new objeto de la clase baseDatos que se encuentra en la Capa AccesoADatos baseDatos bd = new baseDatos(); //creamos una variable tipo String y la inicializamos String nomTabla = nombreTabla; //llamamos al metodo llenartabla y le mandamos el parmetro el cual es la variable q creamos en este caso nomTabla DataTable s = bd.llenarTabla(nomTabla); return s; //retorna en este caso los datos de la tabla }

Formulario Celulares (usando el boton de 2 metodo) Primeramente hay que crear un proyecto y dentro del proyecto las siguientes clases. Lo podremos hacer desde el men archivo de C#

Seguido de eso en el formulario Celulares.cs tendremos que tener los siguientes controles: Un datagrid 3 labels 3 textboxs 2 botones

247 | P g i n a

Ahora damos doble clic en el botn ingresar 2 metodo para acceder al cdigo y codificamos lo siguiente
controlClientes ctrlClientes = new controlClientes(); int numRegistro=ctrlClientes.verificarLlavePrimaria(Convert.ToInt16(txtCodigo.Text) ); if (numRegistro == 0) { //MessageBox.Show("LLAVE PRIMARIA NO REPETIDA", "CORRECTO" );

ctrlClientes.ingresarCliente2(Convert.ToInt16(txtCodigo.Text), txtNombre.Text, txtApellido.Text); ActualizarGRID(); MessageBox.Show("Registro Guardado con Exito", "Guardar"); } else MessageBox.Show("LLAVE PRIMARIA REPETIDA", "MAL");

Lo que hace este cdigo es extraer los valores de los textboxs para su validacin primeramente y luego para hacer el respectivo ingreso.

Ahora no dirigiremos a la clase controlCelulares.cs que la podremos apreciar en el explorador de proyectos ubicado en el lado derecho de C#

Y tendremos estos cdigos:

248 | P g i n a

METODO PARA VERIFICAR QUE LA LLAVE PRIMARIA QUE NO EST REPETIDA public int verificarLlavePrimaria(int codigo) {

baseDatos bd = new baseDatos(); String sentencia = ("Select * from celulares where id_celular = " + codigo); DataTable tabla = bd.ejecutarSeleccionSQL(sentencia); int t = tabla.Rows.Count; return t; }

249 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.9:

32

FECHA:

13/06/2012 - 14/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo realizar validar la llave ajena. VALIDACIN DE INTEGRIDAD REFERENCIAL (LLAVE AJENA) Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

250 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Continuando con el ejercicio anterior, podemos realizar la verificacin de la integridad referencial en cuanto a la llave ajena.

METODO PARA VERIFICAR QUE LA LLAVE AJENA TENGA REFERENCIA A LA TABLA PRINCIPAL. public int verificarLlaveAjena(int codigo) {

baseDatos bd = new baseDatos(); String sentencia = ("Select * from clientes where id_cliente = " + codigo); DataTable tabla = bd.ejecutarSeleccionSQL(sentencia); int t = tabla.Rows.Count; return t; } Mtodo para relizar el ingreso de datos public void ingresarCelular2(int codigo, String marca, String modelo, String pertenece) { //DataTable tabla = new DataTable(); baseDatos bd = new baseDatos(); String sentencia = ("INSERT INTO celulares (id_celular , marca_celular , modelo_celular , id_cliente ) VALUES ( ' " + codigo + "','" + marca + "','" + modelo + "','" + pertenece + "')"); bd.ejecutarComandos2(sentencia); } Todos estos mtodos llaman a diferentes mtodos de seleccin de datos, estos mtodos se encuentran en la clase baseDatos.cs que la podemos apreciar en el explorador de proyectos, ubicado generalmente al lado derecho de C#. Dichos mtodos son:

251 | P g i n a

Mtodo para ejecutar las sentencias Select.


public DataTable ejecutarSeleccionSQL(String sql) { DataTable tabla = new DataTable(); SqlDataAdapter adap = new SqlDataAdapter(sql, miConexion); //sirve para hacer selecciones SQL adap.Fill(tabla); //llena o carga la tabla con la base de datos return tabla; }

Metodo para realizar el insert a la base de datos


public void ejecutarComandos2(String sql) { //Console.WriteLine("LLEGA A EJECUTAR COMANDOS "); conectar(); //onsole.WriteLine("SI CONECTA"); comandos.CommandText = sql; comandos.CommandType = CommandType.Text; //especifica que vamos a mandar es texto, no un procedimiento almacenado try { comandos.ExecuteNonQuery();//hace que se ejecute la sentencia sql Console.WriteLine("Se Realiz con Exito"); } catch (SqlException exc) { Console.WriteLine("ERROR: " + exc.Message); } cerrarConexion(); }

En primera instancia nuestro programa en ejecucin tendr la siguiente ventana

252 | P g i n a

En el formulario tambin tenemos un botn con un icono de binoculares, cual nos va ayudar a seleccionar la llave ajena para su ingreso.

Vamos al cdigo de este winowsForm El cual es la clase busquedaCliente.cs


public String id; private void tblClientes_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.RowIndex == -1) return; id = "" + tblClientes.Rows[e.RowIndex].Cells[0].Value; txtCodigo.Text = id; }

private void button1_Click(object sender, EventArgs e) { this.Hide();

Lo que hace es que al seleccionar un registro con el mouse en la tabla, se pase el dato del id al textbox y cuando pulsemos aceptar, este form se cierra y se llena en el formulario principal.

253 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.10:

33

FECHA:

18/06/2012 - 19/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo realizar la relacin de informacin (registros) cuando se utilizan formularios de 1 a 1. FORMULARIOS CON RELACIN 1 A 1 Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

254 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.11:

34

FECHA:

20/06/2012 - 21/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo crear o utilizar valores automticos para las llaves principales (cdigos, ids, entre otros) CREACIN DE VALORES AUTOMTICOS Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

255 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

INTRODUCCION
La presente investigacin se refiere al tema de validacin de campos. La validacin de datos nos permite definir el tipo de datos que se desea introducir en una celda, haciendo ms seguro los datos que se ingresan y se puede configurar la validacin de datos para evitar que los usuarios introduzcan datos no vlidos o permitir su entrada y comprobarlos tras finalizar el usuario. En muchos casos de sistemas se requiere informacin de confiabilidad para que los registros sean correctos. Los controles de validacin comprueban los datos proporcionados por el usuario en los controles SelectionList y TextBox. La validacin se produce cuando el formulario se enva al servidor. Los controles de validacin comprueban los datos proporcionados por el usuario y, si estos no superan alguna de las pruebas de validacin, ASP.NET devuelve la pgina al dispositivo de cliente. Cuando esto ocurre, los controles de validacin que detectaron los errores muestran mensajes de error. La creacin de valores auto numrico nos ayuda asignar un nmero creciente o aleatorio a ese campo en cada nuevo registro que se agregue a la tabla. Es ideal para el caso en que debemos numerar los registros por orden de llegada. La validacin de datos se hace verdaderamente importante para cualquier proyecto, ya que as impedimos que los usuarios que hagan uso del software que nosotros desarrollemos tengan menos posibilidad de cometer errores en el traspaso de datos. La validacin de datos se hace de distintas formas, pero tambin hay distintos tipos. A continuacin en el siguiente manual veremos de forma ms especfica la creacin de valores automticos (Cdigo). Tambin como validar nmeros, letras, si existen o no datos dentro de un cuadro de texto, cedula. Para crear valores automticos al momento de insertar nuevos registros lo podemos hacer de dos formas. En la Base de Datos Por Codificacin

256 | P g i n a

CREACION DE VALORES AUTOMATICOS A TRAVS DEL DBMS (CODIGO PRINCIPAL NUMERICO) Creacin de valores automticos en Access.Una de las necesidades ms frecuentes que se plantean en las bases de datos consiste en la creacin de valores automticos al momento de realizar clculos matemticos con datos combinados que pertenecen a distintos campos. En Access, la mejor manera de hacerlo es mediante la creacin de un campo nuevo que realice estas operaciones. Hay que realizarlo sobre una consulta. 1) Creamos una nueva base de datos con su nombre en Access. Ejemplo: Escuela

2) Creamos una nueva tabla en la que podemos dar propiedades al campo que queramos sean automticos. Por ejemplo: Al crear la tabla alumnos podemos escoger que el primer campo sea de autonumeracin o autogenerado, en este caso el Id del alumno.

257 | P g i n a

Entonces al momento de realizar un nuevo registro este campo ser generado slo, incrementando de uno en uno, sin la necesidad de insertar algn valor en este campo. 3) Seguimos creando los dems campos y guardamos la tabla con su respectivo nombre. Ejemplo: Alumnos

4) Una vez ya creada la tabla podremos guardar informacin en esta. Entonces al momento de trabajar con una conexin de Visual Studio con Access lo podemos comprobar. 5) Ejecutamos nuestro programa que nos permitir almacenar un nuevo registro en la tabla Alumnos de nuestra base de datos.

6) Insertamos el nombre, apellido, la edad y esta informacin se guardar en la base de datos. El Id es generado automticamente gracias a la propiedad del tipo de dato (Autonumeracin) asignado al momento de crear este campo.

258 | P g i n a

Codificacin del Ejemplo Planteado.


1) Primeramente creamos un nuevo proyecto en Visual Studio C#. Clic en Nuevo Proyecto y nos aparecer la ventana de abajo y le damos un nombre. Ejemplo: MiProyecto.

2) Se crear un formulario que ser la ventana que interacta con el usuario. 3) Creamos una clase para poder conectarnos a nuestra base de datos de Access. Con la siguiente codificacin:

Ruta de la base de Datos

Abrimos la Conexin

Mtodo para cerrar la Conexin

4) Creamos la tabla y los campos necesarios para ingresar los datos en nuestro formulario.
259 | P g i n a

Tabla (DataGridView) Campos de Registro

Botn Guardar

5) En el formulario estar un evento para visualizar la informacin de mi base de datos y llenar la tabla con estos, tambin tendremos un mtodo que al pulsar el botn se nos guardarn los nuevos datos ingresados en los campos nombre, apellido y edad.

Abrimos la conexin con la base


Buscamos todos los registros de la tabla alumnos en la base de datos y son enviados al mtodo Consultar

Llenamos la tabla de nuestro formulario

Actualizamos la tabla con el nuevo registro

Obtenemos los datos ingresados en los campos de registro y los enviamos al mtodo guardar

6) En la clase conexin tendremos un mtodo Consultar que es que el realizar el llenado de la grilla cada vez que llamemos a este mtodo.

260 | P g i n a

Sentencia de consulta

Creacin y llenado de la grilla

7) En la misma clase tendremos el mtodo Guardar que es l que trabaja con el botn realizando la consulta para ingresar los datos a la base. Dentro de este tenemos 2 lneas que nos ayudan a generar el ID automticamente, obteniendo el nmero total de registros y sumndole 1 para luego asignar el nuevo id al registro que est siendo guardado.

Creamos una variable para acceder al formulario

Obtenemos el nmero total de registros de la tabla para crear un nuevo id aumentado en uno

Consulta para insertar los datos a la base

Asignamos los datos a los campos de la tabla para el nuevo registro Ejecutamos la consulta

261 | P g i n a

CREACIN DE VALORES AUTOMTICOS (A TRAVS DE CODIGO EN C#)


La creacin de valores auto numrico nos ayuda asignar un nmero creciente o aleatorio a ese campo en cada nuevo registro que se agregue a la tabla. Es ideal para el caso en que debemos numerar los registros por orden de llegada. En este caso la base de datos Access lo realiza de forma automticamente, pero en este manual lo haremos de forma que codificamos la parte que esta salga automticamente la numeracin de los campos.

262 | P g i n a

Aqu lo k hacemos es llamar a la sentencias SQL en este caso ocupamos el SELECT. OleDbDataAdapter canal = new OleDbDataAdapter ("SELECT * FROM Persona ", conexion); Aqu lo k hacemos crear una variable de tipo dataset para que almacena el arreglo. OleDbDataAdapter mibd = new DataSet (); try { Aqu lo k hacemos es abrir la conexin conexion.Open(); Aqu lo k hacemos es crear un canal donde vamos a poner un nombre o etiqueta donde se va guardar los arreglos.

canal.Fill(mibd, "Persona"); Aqu lo que hacemos es crear una variable de tipo entero para as guardar el nmero total de registros ingresados. int numero_registros = mibd.Tables["Persona"].Rows.Count; Aqu lo que hacemos es crear una variable de tipo llamada ultimo _numero aqu se va guardar el arreglo es decir al nmero total de posiciones. int numero_ultimo = Convert.ToInt16(mibd.Tables["Persona"].Rows[numero_registros - 1][0].ToString()); Esta condicin lo que hace es decir si el nmero de registros es 0 tomara el txtid es valor de 1 caso contrario si el nmero de registros es igual numero_ultimo el txtid tomara el valor del ultimo nmero +1. Caso contrario de esto se har lo mismo. Esto se da dentro del try cach. if (numero_registros == 0) { txtid.Text = "1"; } else { if(numero_registros==numero_ultimo) { txtid.Text = (numero_ultimo + 1).ToString(); } else {

263 | P g i n a

} } catch { } Dentro del finally funcin casi igual al try cach pero este caso si se cumple o no igual entra al finally y realiza la accin. Finally { if (conexion.State == ConnectionState.Open) { conexion.Close (); } } }

OleDbDataAdapter Representa un conjunto de comandos de datos y una conexin de base de datos que se utilizan para rellenar Dataset y actualizar el origen de datos.

DataSet: Representa una cach de memoria interna de datos.

Fill Agrega filas en un intervalo especificado de Dataset o las actualiza para hacerlas coincidir con las filas del origen de datos utilizando el nombre de la Tabla.

Convert Convierte un tipo de datos base en otro tipo de datos base.

ToString Devuelve una clase String que representa la clase Object actual.
264 | P g i n a

State Obtiene el estado actual de la conexin

CONCLUSION
La caracterstica principal de este documento ha sido aprender mas sobre como utilizar la codificacin y a su vez entender bien los cdigos para evitar los problemas que se tornan muy seguidos si un software no cuenta con una validacin de datos ptima. Al igual que la creacin de valores automticos estos dos parmetros son partes fundamentales de un sistema para ello hemos puesto ejemplos que logren un mayor entendimiento para si poner en practica en cualquier sistema a desarrollarse.

265 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.12:

35

FECHA:

20/06/2012 - 21/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo validar que los datos ingresados son correctos (validacin de datos), tienen integridad. VALIDACIN DE INGRESO DE DATOS Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

266 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

Introduccin La presente investigacin se refiere al tema de validacin de campos, La validacin de datos nos permite definir el tipo de datos que se desea introducir en una celda, haciendo ms seguro los datos y Se puede configurar la validacin de datos para evitar que los usuarios introduzcan datos no vlidos o permitir su entrada y comprobarlos tras finalizar el usuario. En muchos casos se requiere informacin de la confiabilidad de que los registros sean correctos. La caracterstica principal de este documento es saber cmo utilizar la codificacin y como utilizar bien los cdigos para evitar los problemas que se tornan muy seguidos si un software no cuenta con una validacin de datos ptima.

Validaciones en C# La validacin de datos resulta especialmente til al disear formularios u hojas de clculo que otras personas utilizarn para introducir datos como formularios presupuestarios o informes de gastos. Tipos de datos que se pueden validar C# permite designar los siguientes tipos de datos vlidos para una celda: Nmeros Especifique que la entrada en una celda debe ser un nmero entero

o un nmero decimal. Puede establecer un mnimo o mximo, excluir un nmero o intervalo determinado, o utilizar una frmula para calcular la validez de un nmero. Fechas y horas Establezca un mnimo o mximo, excluya determinadas

fechas u horas, o utilice una frmula para calcular la validez de una fecha u hora. Longitud Limite el nmero de caracteres que se puede escribir en una celda o

exija un nmero mnimo de caracteres.

267 | P g i n a

Lista de valores

Elabore una lista de las opciones para una celda como, por

ejemplo, pequea, mediana, grande, y admita slo esos valores en la celda. Se puede mostrar una flecha de lista desplegable cuando un usuario hace clic en la celda para facilitar la seleccin de una opcin de la lista. Tipos de mensajes que se puede mostrar Para cada celda que se valida, se pueden mostrar dos mensajes diferentes: uno que aparece antes de que el usuario introduzca los datos y otro que aparece despus de que el usuario intente introducir los datos que no cumplen los requisitos. Si los usuarios tienen activado el Ayudante de Office, ste mostrar los mensajes. Mensaje de entrada Mensaje entrante Este tipo de mensaje aparece cuando

un usuario hace clic en la celda validada. Se puede utilizar este tipo de mensaje para facilitar instrucciones sobre el tipo de datos que se han de introducir en la celda. Mensaje de error Este tipo de mensaje aparece slo cuando el usuario escribe

datos no vlidos y presiona la tecla ENTRAR. Se puede elegir entre tres tipos de mensajes de error: Mensaje de informacin Este mensaje no impide la entrada de datos no

vlidos. Adems del texto que proporciona el usuario, incluye un icono de informacin, un botn Aceptar, que introduce los datos no vlidos en la celda, y un botn Cancelar, que restaura el valor anterior de la celda. Mensaje de advertencia Este mensaje no impide la entrada de datos no

vlidos. Incluye el texto que proporciona el usuario, un icono de advertencia y tres botones: S introduce los datos no vlidos en la celda, No regresa a la celda para ms modificaciones y Cancelar restaura el valor anterior de la celda. Mensaje de detencin Este mensaje no permite la entrada de datos no

vlidos. Incluye el texto que proporciona el usuario, un icono de detencin y dos botones: Reintentar regresa a la celda para ms modificaciones y

Cancelar restaura el valor anterior de la celda. Observe que este mensaje no est
268 | P g i n a

concebido como medida de seguridad: si bien los usuarios no pueden introducir datos no vlidos escribiendo y presionando ENTRAR, pueden eludir la validacin copiando y pegando o rellenando datos en la celda. Si no se especifica ningn mensaje, Excel marca si los datos que introduce un usuario son vlidos de modo que se pueden comprobar ms adelante, pero no notifica al usuario cuando una entrada no es vlida. Cdigo ASCII

Ejemplos: La cedula ecuatoriana est formada por los dos primeros dgitos que corresponden a la provincia donde fue expedida, por lo cual los dos primeros nmeros no ser mayor a 24 ni menor a 1. El tercer digito es un nmero menor a 6 (0, 1, 2, 3, 4, 5).
269 | P g i n a

Los siguientes hasta el noveno digito son un nmero consecutivo. Y el dcimo digito es el digito verificador. Los coeficientes usados para verificar el dcimo dgito de la cdula, mediante el algoritmo Mdulo 10

Coeficientes = 2.1.2.1.2.1.2.1.2

270 | P g i n a

Validaciones de los campos en C# Captura de pantalla de validacin de Cedula

Se introduce la cedula de identidad en el campo DNI para saber si la cedula es correcta o no. En caso ser correcta aparece una ventana que dice cedula correcta.

En caso de ser incorrecta la cedula aparecer una ventana cedula incorrecta. Cdigo de validacin de cedula:
using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace Validar {

271 | P g i n a

class ValidarDni { public bool res; public string num_cedula; public int tamanio; public ValidarDni(string num, int tam) { num_cedula = num; tamanio = tam; }

public Boolean comprobar_cedula() { int suma = 0; int j = 0; bool a = true; int x = 0;

for (int i = 0; i < tamanio - 1; i++) { j = Convert.ToInt16(this.num_cedula[i].ToString()); if (a == true) { x = j * 2; if (x > 9) { x = 1 + (x % 10); } a = false; }

else { x = j * 1; a = true; } suma += x; } x = suma % 10; j = Convert.ToInt32(this.num_cedula[tamanio - 1].ToString());

272 | P g i n a

if (x == 0) { if (x == j) { res = true; } } else { x = (suma - x) + 10; if (j == (x - suma)) { res = true; } else { res = false; } } return res; } } }

Captura de pantalla de validacin Nombre y Apellido:

273 | P g i n a

Al introducir el nombre y el apellido en los campos de texto deben fijarse que solo sean letras y en el caso de introducir nmeros o caracteres aparecer una ventana que indicara Solo letras en estos campos. Cdigo de validacin Nombre y Apellido (Slo Letras)
private void txtNombre_KeyPress(object sender, KeyPressEventArgs e) { if (((((e.KeyChar) < 65 ) || e.KeyChar > 90) && (((e.KeyChar) < 97 ) || e.KeyChar > 122)) && (e.KeyChar != 8 && e.KeyChar != 32)) { MessageBox.Show("Solo letras"); e.Handled = true; } }

private void txtApellido_KeyPress(object sender, KeyPressEventArgs e) { if (((((e.KeyChar) < 65) || e.KeyChar > 90) && (((e.KeyChar) < 97) || e.KeyChar > 122)) && (e.KeyChar != 8 && e.KeyChar != 32)) { MessageBox.Show("Solo letras"); e.Handled = true; } }

Captura de pantalla de validacin de Telfono

274 | P g i n a

Al introducir el nmero de telfono el campo de texto deben fijarse que solo sean nmeros en caso de introducir letras o caracteres aparecer una ventana que indicara Solo nmeros Telefnicos. Cdigo de validacin Telfono (Slo nmeros)
private void txtTelefono_KeyPress(object sender, KeyPressEventArgs e) { if ((((e.KeyChar) < 48 && e.KeyChar != 8 ) || e.KeyChar > 57) && e.KeyChar !=45) { MessageBox.Show("Solo numeros telefonico"); e.Handled = true; } }

Captura de pantalla de validacin de Correo

Al introducir el correo en el campo de texto deben fijarse que solo sean letras y caracteres como @,-_. en el caso de introducir mal el correo aparecer una ventana que indicara Correo incorrecto. Cdigo de validacin de Correo (Validacin caracteres especiales)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions;

namespace Validacion {

275 | P g i n a

class Email { public Boolean email_bien_escrito(String email) { String expresion; expresion = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; if (Regex.IsMatch(email, expresion)) { if (Regex.Replace(email, expresion, String.Empty).Length == 0) { return true; } else { return false; } } else { return false; } } } }

Captura de pantalla de validacin de Datos Obligatorios

276 | P g i n a

Al introducir el DNI, nombre, apellido, direccin, telfono y correo en los campos de texto deben fijarse que todos los campos estn llenos en caso de dejar un campo sin llenar aparecer una ventana que indicara Ingresar datos obligatorios. Cdigo de validacin de Datos obligatorios (Sin datos en blanco)

private void btnIngresar_Click(object sender, EventArgs e) { if (txtDni.Text.Equals("") || txtApellido.Text.Equals("") || txtNombre.Text.Equals("") || txtDireccion.Text.Equals("") || txtTelefono.Text.Equals("") || txtCorreo.Text.Equals("")) { MessageBox.Show("Ingrese datos obligatorios"); } else { ValidarDni dni = new ValidarDni(txtDni.Text, 10);

if (dni.comprobar_cedula()) { //MessageBox.Show("Cedula correcta"); } else { MessageBox.Show("Cedula incorrecta"); }

Validacion.Email ema = new Validacion.Email();

if (ema.email_bien_escrito(txtCorreo.Text)) { //MessageBox.Show("Correo correcto"); } else { MessageBox.Show("Correo incorrecta"); }

MessageBox.Show("Datos Ingresados"); }

277 | P g i n a

txtDni.Text = null; txtNombre.Text = null; txtApellido.Text = null; txtDireccion.Text = null; txtTelefono.Text = null; txtCorreo.Text = null; }

278 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.13:

36

FECHA:

25/06/2012 - 26/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo llamar a formularios (desde men o desde un formulario) LLAMADA A FORMULARIOS Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

279 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

NAVEGACION ENTRE FORMULARIOS

1. En el frame principal vamos a propiedades y la opcin IsMdiContainer ponemos True

2. Creamos una instancia del tipo del frame del que queremos que nos aparezca en nuestra ventana principal

Inventario inven = new Inventario(); inven.MdiParent = this; inven.Show();

280 | P g i n a

3. Una vez hecho esto nos quedar algo asi

281 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.14:

37

FECHA:

27/06/2012 - 28/06/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo realizar la relacin de informacin (registros) cuando se utilizan formularios de 1 a N (maestro detalle). FORMULARIOS CON RELACION 1 A N Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

282 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

INTRODUCCION

El presente trabajo escrito, correspondiente al mdulo de Programacin 1, se utilizar como complemento de la exposicin, dentro del mismo trataremos sobre la fcil creacin de facturas y manejo de clculos dentro del entorno de Visual Studio 2008, adems est enfocado en ayudar de manera oportuna a tener un

concepto ms claro de esta prctica, considerando que este informe cuenta con datos que en nuestra posterior vida profesional nos ayudar en posibles casos en los que tendremos que interactuar con estos conceptos. Desarrollaremos actitudes para poder realizar con xito prcticas y trabajos de manera eficiente. Este informe servir como material de apoyo para posteriores aplicaciones, permitir ejecutar los conocimientos adquiridos a futuro y asegurara la compresin total de posibles implementaciones.

283 | P g i n a

DISEO Algo fundamental en la realizacin de un sistema o proyecto implementado en un lenguaje de programacin es el diseo, es decir que nuestra interfaz debe poseer los componentes necesarios para cada una de las funciones que se pretendan realizar. Lo primero a realizar es un proyecto nuevo declarado como Windows aplicacin, el cual nombraremos con Factura1

Al realizar esto c# nos presentara por defecto un formulario de nombre Form1 en el cual aadiremos los componentes necesarios.

En nuestra prctica primero utilizaremos, un Datagridview al cual llamaremos dgArticulos adems, agregaremos un label y un textBox(txtCantidadVenta) para la cantidad a vender y un Button(btnAgregar) y un textBox(txtAgregar) para Agregar.

284 | P g i n a

Como segunda parte aadiremos un GroupBox, dentro del cual agregaremos un Datagridview llamado dgVentas, el cual tendr como columnas la cantidad tomada del txtAgregar; la descripcin, Precio Unitario tomados de la tabla artculos de la base de datos Facturacion que ser creada en Acces

De igual manera en el mismo GroupBox introducimos 6 label y 6 textBox correspondientes a Pago de cliente (txtMontoFact), subtotal(txtsubtotal), Descuento (txtDescuento), Iva(lblIva), Total(lblTotal=), Cambio(lblCambio):

Por ltimo agregaremos botones de clculo de salida

285 | P g i n a

FUNCIONAMIENTO Hacemos clic en la fila del producto a vender y especificamos la cantidad en el txtCantidadVenta , presionamos enter.

NOTA: Si la cantidad ingresada es mayor al stock del producto aparecer un mensaje avisando que la cantidad debe ser menor al stock del producto y que no hay suficientes productos para la venta

Si los datos son correctos aparecern en la tabla de descripcin de la venta (dgVenta), adems de reducirse el stock con respecto a la cantidad ingresada

286 | P g i n a

En caso de querer ingresar ms productos a la base: Hacemos clic sobre el producto en la tabla e ingresamos la cantidad en el txtAgregar y pulsamos el btnAgregar

Por ltimo calculamos los valores simplemente presionamos el botn calcular

Luego ingresamos el pago del cliente y presionamos enter esto nos dar el cambio a devolver.

Para terminar la aplicacin simplemente presionamos el botn Salir

287 | P g i n a

CODIFICACION Declaracin de objetos y variables

Mtodo para la conexin y desconexin Este mtodo es invocado en los mtodos de actualizar (), modifyStock():

Mtodo para actualizar

Mtodo para modificar (disminuir y aumentar) el stock y tomar las filas titulo y precio unitario para enviar al mtodo traspasar

288 | P g i n a

Mtodo que recibe los argumentos enviados de la modificacin para actualizar la base de datos en stock

Mtodo que recibe los argumentos de nombre del artculo y precio unitario para aadir las filas de cantidad, la descripcin y el precio unitario en la tabla de dgVentas

289 | P g i n a

Accin clic del botn calculo

Mtodo de los clculos

Mtodo que al dar enter permite obtener el pago o monto del cliente y devuelve el cambio

290 | P g i n a

Accin clic del botn Agregar

Accin que al presionar enter llena las filas cantidad descripcin y precio unitario de la tabla dgVentas

CONCLUSION:

Despus de la exposicin y la prctica realizada en clase, estaremos en condiciones de implementar en nuestro sistema la gestin de la factura, la cual nos ayudara en posibles proyectos en los que se utilizara inventario o manejo de entrada y salida de productos.

291 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.15:

38

FECHA:

02/07/2012 - 03/07/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo crear, utilizar y mostrar el men del sistema informtico CREACIN DE MENS Disear programas modulares que muestren caractersticas de bajo acoplamiento y alta cohesin. Establecer los beneficios de utilizar la programacin orientada a objetos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

292 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

INTRODUCCIN Una de las caractersticas en una aplicacin de escritorio es que sea fcil de usar para el usuario. Es importante que contengan mens que puedan ofrecer atajos para los distintos procesos del sistema, adems de una gacil navegacin de formularios y control de los accesos de usuarios

A continuacin vamos a explicar los pasos necesarios para implementar los procesos antes mencionados para que nuestra aplicacin satisfaga las necesidades del usuario.

OBJETIVO Realizar un manual que describa paso a paso la creacin de mens, navegacin de formularios y control de usuarios mediante la investigacin para poder aplicar los conocimientos adquiridos en el desarrollo de un sistema informtico.

293 | P g i n a

Mens
Hoy en da la mayora de las aplicaciones para Windows tienen mens. Es realmente sencillo trabajar con ellos con C#. Hay tres tipos de mens y los tres derivan de una clase comn, denominada Men, que proporciona la funcionalidad bsica y comn a las tres.

Las clases MainMenu y MenuItem


MainMenu es el men principal. Un formulario puede tener definidos varios mens principales, dependiendo del estado de algunas variables de la aplicacin. Estos mens pueden unirse entre s. Cada uno de los elementos o items o submens ya sean de primer o segundo nivel- de cada men son objetos de la clase MenuItem. Estos elementos, a su vez, pueden contener otros objetos o submens. Todos los elementos u objetos de un men son almacenados en la coleccin MenuItemCollection que es una propiedad de las clases

MainMenu y ContextMenu.
Los mens contextuales o tambin llamados mens PopUp se despliegan generalmente cuando se pulsa sobre un control con el botn derecho. Al igual que los MainMenu pueden contener varios elementos MenuItem. A continuacin se
294 | P g i n a

estudiarn las propiedades ms importantes Posteriormente se estudiarn los mens PopUp. Propiedades 1. Checked y RadioChecked

de

la

clase

MenuItem.

Propiedad booleana. Indica si un elemento aparece activado con un elemento tipo Check o RadioCheck. Para que ste ltimo tenga funcionalidad debe estar a True la propiedad Checked. 2. DefaultItem Propiedad booleana. Indica si es el elemento por defecto o predeterminado. Se escribe en letra negrita. 3. Enabled Propiedad booleana. Indica si est habilitada o no esa opcin de men. 4. MdiList Propiedad booleana. Indica si la lista de ventanas hijas MDI se aadir a este item. 5. MergeOrder Indica el orden donde ser ubicado el men. 6. MergeType Indica el tipo de unin de los mens. 7. OwnerDraw Propiedad booleana. Indica si ser Windows o el programador el responsable de dibujar el item o elemento de men. 8. ShortCut Indica la combinacin de teclas o acceso directo asociado con ese elemento.

9. ShowShortCut Propiedad booleana. Indica si aparece escrito a la derecha del item la combinacin de teclas asociada al item. 10. Text Texto del elemento.
295 | P g i n a

11. Visible Indica si un item es visible o no. Es una propiedad booleana. Eventos 1. Click Ocurre cuando se pulsa un item con el ratn. 2. DrawItem Ocurre si un item de men necesita ser redibujado. 3. MeasureItem Ocurre justo antes de que sea redibujado un item. 4. PopUp Ocurre cuando se presentan en pantalla un submen. 5. Select Ocurre cuando se selecciona un item del men. Hay adems dos mtodos interesantes de esta clase: CloneMenu: Que permite crear un nuevo men a partir de otros existentes y MergeMenu que permite unir dos mens. Para trabajar con mens se utiliza la clase MenuItemCollection que almacena los elementos de cada men. Para aadir y eliminar elementos de men a MainMenu o ContextMenu: Se utilizan los mtodos de esta coleccin.

La clase ContextMenu
Es el men que aparece cuando se pulsa con el botn derecho del ratn. Se trabaja de la misma manera que un MainMenu con la nica diferencia de que no existe un nivel principal de items y por lo tanto no se puede nombrar el principal. Los mens PopUp contienen tambin objetos de la clase MenuItem. Una vez diseado el men es necesario asociarlo a un control o a un formulario por medio de la propiedad ContextMenu del control.

La clase ImageList
Este control proporciona una coleccin para almacenar imgenes que puede ser utilizada en otros controles como una caja de herramientas o un ListView. Aunque
296 | P g i n a

puede almacenar imgenes de cualquier tamao, las que se aaden a un mismo control deben tener en general- el mismo. Sin embargo, en el caso del control ListView y a veces las cajas de herramientas- es preciso almacenar dos tipos de tamaos de imgenes. Este control no es visible en tiempo de diseo ni en tiempo de ejecucin, aunque se le pueden aadir imgenes en tiempo de diseo y en tiempo de ejecucin.

La clase ToolBar
Los controles ToolBar se usan para construir una barra de herramientas. Una barra de herramientas contiene, por lo general, varios controles de la clase ToolBarButton que pueden aparecer como botones estndar como por ejemplo los botones Abrir, Guardar,...-, controles ComboBox como el tipo de letrabotones desplegables como los iconos color de la letra, resaltar o ayuda- , botones ToogleButton o de dos posiciones o de ON/OFF como el tipo de alineacin del prrafo, y botones con texto, imagen o ambos. Adems, normalmente suelen disponer de una pequea etiqueta o ToolTip, con una breve descripcin de la funcin del botn. En general, las barras de herramientas sirven para acceder de manera ms rpida y grfica a algunos de los elementos ms importantes o ms utilizados de un men. Se puede asociar imgenes a cada uno de los botones a travs de un objeto ImageList, asignando el ndice de cada imagen a la propiedad ImageIndex del botn. Tambin se puede asignar un texto a la derecha o en la parte inferior del botn a travs de la propiedad Text del ToolBarButton.

La clase ToolbarButton
Los objetos de esta clase son los controles que se ubican en la barra de herramientas. Esta clase no deriva de la clase Control, sino directamente de la clase Component. Propiedades Esta clase permite configurar para cada botn de la caja de herramientas la imagen, estilo, texto y ToolTip. A travs de ellos se puede configurar un botn desplegable como, por ejemplo los dos botones situados en la parte superior derecha de la barra de herramientas del Visual Studio .NET. Las propiedades ms importantes son:

297 | P g i n a

1. DropDownMenu Asigna un men de tipo PopUp a un botn desplegable. Para ello, debe tener la propiedad Style a DropDownButton-. 2. ImageIndex Contiene el ndice de la imagen del botn. 3. Style Es el estilo del botn. 4. Text La etiqueta o texto opcional- del botn en la barra de herramientas. 5. ToolTipText Es el texto de la etiqueta explicativa del botn. Para ello, la barra de herramientas debe tener la propiedad ShowToolTips a True. 6. ParcialPush Slo tiene sentido con la propiedad Style a ToogleButton. Si es True Los botones estn en gris, indicando que estn inhabilitados. 7. Pushed Propiedad booleana. Indica si el botn est pulsado o no (ON/OFF).

Para controlar los eventos sobre la barra de herramientas, se procede como en los dems controles. Cuando se desea determinar qu botn ha sido pulsado, se utiliza la propiedad Button - que devuelve el botn que se ha pulsado- de la clase ToolBarButtonClickEventArgs que se ha pasado al auditor del evento.

CREACION DE MENUS MenuStrip.


MenuStrip es el contenedor de nivel superior que reemplaza a MainMenu. Tambin proporciona las caractersticas de control de claves y de interfaz de mltiples documentos (MDI). Funcionalmente, ToolStripDropDownItem y ToolStripMenuItem operan MenuStrip, aunque se derivan de ToolStripItem. junto con

298 | P g i n a

Para crear un MenuStrip se realize lo siguiente:

1.- Se crea una variable de tipo MenuStrip.

MenuStrip ms = new MenuStrip();

2.-

Creamos los items con los que vamos a trabajar.

ToolStripMenuItem windowMenu = new ToolStripMenuItem("AR&CHIVO"); ToolStripMenuItem salirMenu = new ToolStripMenuItem("&Salir"); ToolStripMenuItem EditarMenu = new ToolStripMenuItem("&Editar");

3.- Se asigna el campo que queremos que aparezca como la lista principal y a los tems que va a contener esta lista en el MenuStrip.

ms.MdiWindowListItem = windowMenu; windowMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {EditarMenu,salirMenu}); // Add the window ToolStripMenuItem to the MenuStrip. ms.Items.Add(windowMenu);
4.- Colocamos el menu en el espacio que queremos.

ms.Dock = DockStyle.Top; this.MainMenuStrip = ms;

Y por ultimo agregamos la barra al frame.

299 | P g i n a

this.Controls.Add(ms); De la siguiente manera tendramos la barra men.

ContextMenu. Se utilizan mens contextuales para ofrecer a los usuarios opciones de men especficas del contexto cuando hacen clic con el botn secundario del mouse en el control.

1.-Creamos el menu contextual de la siguiente manera.

ContextMenuStrip menuContextual = new ContextMenuStrip();

2.- Creamos los tems que van a estar dentro del men contextual. ToolStripMenuItem estiloMenu = new ToolStripMenuItem("&Estilo"); ToolStripMenuItem letra = new ToolStripMenuItem("&Letra"); ToolStripMenuItem fondo = new ToolStripMenuItem("&Fondo");

3.-Agregamos el item principal y los item secundarios del menu contextual menuContextual.Items.Add(estiloMenu);

estiloMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {letra,fondo});


300 | P g i n a

4.- Por ultimo colocamos el menu contextual dentro del frame.

this.ContextMenuStrip = menuContextual;

Y tendremos el men contextual de la siguiente manera.

CONCLUSION

La creacin de MenuStrip nos permite realizar barras de mens que contengas diferentes funciones que agilizan los procesos del usuario

301 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 3.16: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD
LUGAR ALCANCE

39

FECHA:

02/07/2012 - 03/07/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo crear usuarios, asignar privilegios, quitar privilegios. CREACIN Y USO DE USUARIOS Asegurar el acceso a los datos. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

302 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

PRIVILEGIOS DE USUARIOS
Los privilegios de usuarios definen el ingreso, acceso y restricciones de funciones para los usuarios para si llevar un control en los procesos del sistema

Seleccionamos el tipo de acceso del usuario

Recibe los datos ingresados del sistema Para luego hacer una consulta a la base De datos de la tabla Usuarios

303 | P g i n a

De esta forma buscamos en la base de datos que coincidan con el ingreso del sistema para luego permita el ingreso al men principal del programa.

Usuario permitido como Administrador

CONTROL DE USUARIO Permite tener un historial de usuario es decir al ingresar el usuario al sistema se crea un registro de que a iniciado sesin especificando la fecha y la hora. Tambin se utiliza este historial al momento de guardar: Cliente Proveedor Producto Generacin de facturas. Entre otras.

Visualizacin del Control de usuario.

304 | P g i n a

Accedemos al sistema escribiendo el nombre y contrasea de usuario y automticamente se genera un registro de historial de inicio de sesin.

Para ver el historial damos clic en el botn reportes.(#1)

Al dar clic en reportes nos mostrara la siguiente ventana donde esta el botn historial (#1)

305 | P g i n a

Al dar clic (#1) mostrara el historial de lo que a iniciado sesin el usuario.

CONCLUSION

El control de usuarios es importante puesto que da seguridad al sistema y esto evita la salida de informacin no autorizada

306 | P g i n a

CAPITULO 4: PRESENTACIN DE RESULTADOS (INFORMES)

307 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 4.1: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD
LUGAR ALCANCE

40

FECHA:

04/07/2012 - 05/07/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo crear y ejecutar reportes utilizando 1 tabla desde C#. CREACIN Y EJECUCIN DE INFORMES (1 TABLA) Recuperar informacin para ser presentada en impresos Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

308 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

CREACIN Y EJECUCIN DE REPORTES CON CRYSTAL REPORTS.UNA TABLA. En este manual Aprenderemos a crear Reportes con CrystalReport de una sola Tabla, para ello comenzaremos creando un nuevo Proyecto.

Luego de Haber Creado Un nuevo Proyecto, procedemos a agregar un WindowsFormApplication llamado Report1Tabla.

309 | P g i n a

Dentro de este formulario Agregaremos los siguientes componentes:

1 dataGridView = grilla 2 Botones = atrs, Generar Reporte

Luego de haber agregado estos componentes, pasamos a crear otro Formulario llamado Visualizar1Tabla.cs

Dentro de este formulario Pasaremos a agregar el siguiente componente a nuestro formulario.

310 | P g i n a

Este CrystalreportViewer nos permitir ms adelante poder visualizar el reporte con los datos de la base de datos que se est consultando. Y este formulario quedar diseado de la siguiente manera.

Ahora s, una vez concluida la parte del diseo, la misma que nos permitir visualizar los datos, pasemos a codificar los componentes agregados. Comenzamos con el formulario Report1Tabla. Dentro de este formulario ira agregado los siguientes mtodos.

311 | P g i n a

Una vez realizada esta codificacin llamamos al mtodo cargarDatos(); al evento

Load del Formulario. Con todas estas lneas de cdigo, en nuestro dataGriedView que agregamos a este formulario, se mostrara la informacin que poseemos en nuestra base de datos de la tabla Empleado.

312 | P g i n a

Esta es la tabla con sus respectivos campos que posee la base de datos creada en Access 2010

Una vez que ya se ha cargado los datos de la base de datos a nuestra grilla, procedemos a agregar a nuestro proyecto 2 componentes ms:

Conjunto de datos = Dataset1 Archivo CrystalReport = rpt1Tabla.rpt

Como primer Punto Agregamos el conjunto de datos, una vez ya agregado a nuestro proyecto se cargara una vista, donde comenzaremos a agregar una tabla que ira almacenando los datos que tenemos de la base de datos.

313 | P g i n a

Una vez dado clic derecho sobre el espacio de trabajo agregaremos una tabla de datos llamada Empleados, que como se mencion anteriormente almacenar los datos de la base de datos.

314 | P g i n a

En esta grfica ya nos muestra el dataTable que se utilizara para trabajar.

Una vez que ya est agregado el dataTable procederemos a agregar columnas que se agregaran de acuerdo a los campos que posee nuestra base de datos.

Ya agregadas todas las columnas a nuestra tabla, procedemos a crear el segundo archivo, CrystalReport, que nos permitir visualizar los datos de nuestra base de datos.

315 | P g i n a

Ya creado nuestro componente, se abrir un asistente de creacin de reportes, la cual nos muestra 3 opciones:

Usar asistente de informes Como Informe en Blanco A partir de un informe existente De estas tres opciones escogeremos Como Informe en Blanco, y damos a aceptar

Ahora se nos muestra el informe en blanco, de aqu en adelante seguiremos los siguientes pasos para enlazar este visor de reportes con el conjunto de datos que se cre anteriormente. En la parte derecha se Muestra un men que dice EXPLORADOR DE CAMPOS damos clic derecho, seleccionamos la opcin asistente de base de datos

Ahora se visualizar la siguiente ventana, en esta ventana escogeremos la primera opcin Datos del Proyecto y desplegamos la carpeta que dice ADO .Net Dataset. Seleccionamos la opcin con nombre Empleado y lo pasamos al otro lado con el botn de Mayor Que > y presionamos aceptar.

316 | P g i n a

Una vez enlazado con el dataSet1. Se mostraran los campos de la tabla que se agrego en el dataset, a esos campos se los debe arrastrar a la seccin de Detalle, los colocamos ordenadamente, ya que depende de como los ordenemos, cambiara la apariencia del reporte.

Una vez Terminada esta parte, llegamos a la parte final, donde realizaremos la codificacin del Botn Generar Reporte que se encuentra en el Formulario Report1Tabla. Damos doble clic sobre ese componente y se generara el evento click del botn, dentro de este evento escribiremos las siguientes lneas de cdigo.

Y una vez Terminado todos los Pasos, al ejecutar nuestro proyecto se vera asi, con la tabla que muestra todos los datos de la base de datos y el reporte que se crea al dar clic sobre el botn de generacin de reporte.

317 | P g i n a

318 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 4.2: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD
LUGAR ALCANCE

41

FECHA:

11/07/2012 - 12/07/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo crear y ejecutar reportes con varias tablas desde c#. INFORMES CON VARIAS TABLAS (1 A N) Recuperar informacin para ser presentada en impresos Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

319 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

CREACIN DE REPORTES DE UNO A MUCHOS MEDIANTE CRYSTAL REPORTS DE VISUAL STUDIO 2010 CREACION DE REPORTES MEDIANTE EL ASISTENTE Creamos un nuevo proyecto de C# en el IDE de Visual Studio y le pondremos un nombre.

320 | P g i n a

Vamos hasta el men Proyecto y luego a propiedades del Proyecto

En la parte donde dice Versin de .NET nos fijamos que predeterminado se encuentra .NET Framework 4 Client Profile

Lo debemos cambiar por el que dice .NET Framework 4, ya que ste nos permitir a realizar trabajos con Crystal Reports. En el Explorador de Servicios Agregamos una nueva conexin la cual permitir trabajar con nuestra base de datos.

321 | P g i n a

Elegimos cual es el origen de los datos que vamos agregar a nuestro proyecto.

Procedemos a buscar la ubicacin de la base de datos que necesita nuestro proyecto

Agregamos un nuevo elemento a nuestro proyecto el cual va a ser un Data Set que no es mas que un conjunto de datos para visualizar las tablas de una base de datos

322 | P g i n a

Desde el Explorador de Servicios arrastramos las tablas para que el Crystal Reports sepa como trabajar, cabe mencionar que las relaciones entre las tablas deben estar establecidas desde un principio

Terminado el paso anterior se debe agregar un nuevo elemento al proyecto el cual ser el Crystal Reports

323 | P g i n a

Le damos aceptar para poder continuar

324 | P g i n a

Elegimos todos los dato que deseamos tener en el reporte

Damos clic en siguiente para continuar

325 | P g i n a

Nos fijamos que as queda la relacin entre las tablas que escogimos para el proyecto

Escogemos los campos que aparecern en el reporte

326 | P g i n a

En esta opcin se la debe seleccionar el campo para hacer las respectivas agrupaciones

En este caso se selecciona como se presentarn los resmenes, puede ser una suma, un promedio, entre muchas operaciones

327 | P g i n a

Se selecciona el ttulo del grfico que se presentar en el reporte con los resultados obtenidos

Se debe seleccionar la plantilla con el modelo de reporte que se va a generar

328 | P g i n a

Y asi se tiene listo el reporte ahora se debe hacer las conexiones para que se lo pueda apreciar mejor.

Ahora en el formulario se debe arrastrar el CrystalReport Viewer es aquel que permitir tener listo para la impresin e reporte

329 | P g i n a

Una vez finalizado se debe crear un nuevo mtodo que permita llenar el reporta y que est preparado para imprimir

Y por ltimo se debe ejecutar para comprobar que lo que hemos realizado funciona

330 | P g i n a

CREACIN DE REPORTES MEDIANTE CDIGO: Creamos un nuevo proyecto de C# en el IDE de Visual Studio y le pondremos un nombre.

331 | P g i n a

Hacemos un GUI rpido y sencillo para tener una idea de lo que se quiere hacer, as de la siguiente manera, el cual posee un label, un DataGridView y un botn:

Cambiamos la configuracin del Proyecto a .NET Framework 4 asi:

332 | P g i n a

Creamos un dataSet, luego se crea una tabla de datos con el nmero de columnas que tengamos en nuestra tabla y que son necesarias para el reporte.

333 | P g i n a

Cargamos todos los datos de la tabla de la base de datos y los presentamos en el DataGridView, al mismo tiempo enviamos las columnas al DataSet

334 | P g i n a

Luego agregamos un nuevo elemento al proyecto, en este caso va a ser un CrystalReport:

Usamos el asistente para hacer el reporte

335 | P g i n a

Agregamos todos los elementos del dataSet de nuestro proyecto:

Escogemos todos los campos que nos sern tiles para la realizacin del reporte:

336 | P g i n a

Nos saltamos todas las que son opcionales y concluimos con elegir el tipo de reporte que vamos a utilizar, en este caso escog el borde rojo azul.

Diseamos a nuestro gusto la forma en la que el reporte se va a imprimir:

337 | P g i n a

Agregamos un nuevo elemento al proyecto, que va a ser un Form en el que vayamos a visualizar el reporte

Al formulario le agregamos un CrystalReportsView para poder captar el reporte:

338 | P g i n a

Por ltimo creamos un evento para el botn de Ver Reporte con el siguiente cdigo:

Y por ltimo ejecutamos el programa para observar el reporte

339 | P g i n a

340 | P g i n a

NOTAS IMPORTANTES PARA LA CORRECTA IMPLEMENTACIN DE LOS REPORTES CON CRYSTAL REPORT. Cuando creamos de esta manera el reporte en VS 2010 tendra que agregar automticamente las libreras necesarias, adems configurar el App.Config de manera que la ejecucin resulte exitosa. Pero por alguna razn en algunos VS 2010 no configura de manera correcta el App.config y nuestro reporte no se ejecuta, en otros no existe el problema. Estuve probando en diferentes VS 2010 sobre todo ultmate pero me sale un error, en otros no y todo es normal, tal vez sea porque algunos PC eran de X64 y otros de X32 pero, no hay problema si tenemos este error de ejecucin el cual indica que no podemos compilar porque no se reconoce las libreras de CR.

Para que se ejecute de manera correcta solo tenemos que configurar el App.Config, agregando esta lnea.

<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup>

Y comentando la lnea <!<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>>

341 | P g i n a

Quedando el App.config como sigue: ////////////////////// <?xml version="1.0"?> <configuration>

<!--<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>--> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration> ///////////////////// Con esto ya se ejecuta nuestro reporte.

342 | P g i n a

ACTIVIDAD N:
TEMA:
UNIDAD N 4.3: OBJETIVO: PROBLEMA: INDICADOR DE EVALUACIN: VALORES: TIPO DE ACTIVIDAD
LUGAR ALCANCE

42

FECHA:

18/07/2012 - 19/07/2012

Realizar una investigacin, Exponer y elaborar un Informe acerca de cmo crear y ejecutar reportes utilizando filtros de informacin desde c#. INFORMES CON FILTROS Recuperar informacin para ser presentados en impresos Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo

FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

343 | P g i n a

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

BUSQUEDA DE REGISTROS POR FILTRADO DE DATOS Y PASO DE INFORMACION A OTRO FORMULARIO Presionamos el botn buscar y as seleccionar el dato que deseamos pasar a este formulario.

Presionar

Esta es la tabla que se muestra a continuacin y en donde se puede ver la lista de clientes con sus respectivas edades.

Ingresar el dato a buscar

En los campos nombre, apellido y edad podemos ingresar los datos a buscar segn la bsqueda, en este caso buscamos los clientes que tengan por nombre JIMMY, damos click en la celda y procedemos a cerrar el formulario.

344 | P g i n a

Podemos ver que el dato ya se pas al otro formulario

CODIFICACION
Botn Buscar del primer formulario private void button1_Click(object sender, EventArgs e) { Form1 ver = new Form1(); ver.ShowDialog(); txt_nombres.Text=ver.valor; txt_apellidos.Text = ver.apellido; txt_edad.Text = ver.edad; } Formulario de datos 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.OleDb;

namespace practica

345 | P g i n a

{ public partial class Form1 : Form { Form2 inicio=new Form2(); public string valor,apellido,edad; public Form1() { InitializeComponent(); } private DataSet ds; OleDbConnection conn = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\CLIENTEDB.accdb;");

private void Form1_Load(object sender, EventArgs e) { ds=new DataSet(); coneccion(); } public void coneccion() { //codificacion con la cual cargamos el grip al iniciar el from OleDbDataAdapter ad = new OleDbDataAdapter("select * from clientes",conn); ad.Fill(ds, "clientes"); dataGridView1.DataSource=ds.Tables["clientes"]; } //campo de texto del nombre al escribir se limpia en los otros 2 campos private void textBox1_TextChanged(object sender, KeyPressEventArgs e) { textBox2.Text = ""; textBox3.Text = ""; //limpiamos el datagrid DataTable dt = dataGridView1.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from clientes where nombre like '"+textBox1.Text +"%'", conn); ad.Fill(ds, "clientes"); dataGridView1.DataSource = ds.Tables[0];

} //Campo de texto apellido private void textBox2_TextChanged(object sender, KeyPressEventArgs e) { textBox1.Text = ""; textBox3.Text = ""; //limpiamos el datagrid DataTable dt = dataGridView1.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from clientes where apellido like '" + textBox2.Text + "%' ", conn); ad.Fill(ds, "clientes"); dataGridView1.DataSource = ds.Tables[0];

346 | P g i n a

} // Campo de texto edad private void textBox3_TextChanged(object sender, KeyPressEventArgs e) { textBox2.Text = ""; textBox1.Text = ""; //limpiamos el datagrid DataTable dt = dataGridView1.DataSource as DataTable; dt.Rows.Clear(); OleDbDataAdapter ad = new OleDbDataAdapter("select * from clientes where edad like '" + textBox3.Text + "%' order by edad asc", conn); ad.Fill(ds, "clientes"); dataGridView1.DataSource = ds.Tables[0]; } public String nombre; // Codigo del datagrip el cual se activa al presionar clic captutamos el valor de las celdas //y la almacenamos en unas variables publicas valor apellido y edad private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if ((e.RowIndex != -1) && (e.ColumnIndex != -1)) { // valor = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); valor = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); apellido = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); edad = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();

} else { MessageBox.Show("Seleccin fuera de la tabla"); } }

} }

Esta seleccin se la enva a imprimir, utilizando un informe creado con cdigo.

347 | P g i n a

EXAMEN FINAL

348 | P g i n a

Grupo # 1. Nombre: . Aparatos * Cod_ap Descripcin Est_conserv Id_s Salas * Id_s Metros2 Ubicacin Tipo Aparatos? Cursos? Clases * Codigo_da Descripcin Fecha/hora Id_s

1) Crear la correspondiente base de datos (0,5) 2) Formulario para Aparatos. (3.5 puntos) a) Verificar que el Cod_ap no se repita. 1

b) Verificar que el Id_s se encuentre en la otra tabla, si no existe permitirle si desea, crear dicho registro. 2 c) En el campo Est_conserv solo puede contener valores de: Excelente, Bueno, Regular, Malo, Daado. 0,50 3) Formulario Salas (cabecera) y Clases (detalle) (5 puntos) 1.5

a) Id_s debe llenarse automticamente (secuencial) b) El campo metros2 solo puede contener valores entre 10 y 50 0,50 c) Al aadir detalle se debe crear automticamente la relacin entre las dos tablas

d) para la llave ajena Id_s de la tabla Clases (detalle) mostrar una ventana de ayuda (con bsqueda por descripcin) para seleccionar el registro y que devuelva el cdigo al formulario anterior 2

4) Colocar donde sea necesario, botones para moverse, aadir, aceptar y cancelar registros. (1 punto)

349 | P g i n a

PROYECTO FINAL

350 | P g i n a

ACTIVIDAD N:
TEMA:

44

FECHA:

30/07/2012 - 31/07/2012

Presentar el proyecto Final para revisin previa antes de la presentacin oficial. Desarrollar un sistema informtico que permita integrar los datos y procesos de la institucin. Sistemas informticos que no cumplen con los requisitos y necesidades establecidos por las empresas. Desarrollo de Sistemas informticos que no son modulares y no permiten alto acoplamiento y baja cohesin b) Disear, conducir experimentos, analizar e interpretar datos c) Disear sistemas, componentes o procesos de Ingeniera de Sistemas bajo restricciones realistas d) Trabajar como un equipo multidisciplinario e) Identificar, formular y resolver problemas de ingeniera f) Comprender la responsabilidad tica y profesional g) Comunicarse efectivamente i) Comprometerse con el aprendizaje continuo j) Conocer temas contemporneos k) Usar tcnicas, habilidades y herramientas para la prctica de ingeniera

OBJETIVO:

PROBLEMA:

INDICADOR DE EVALUACIN:

VALORES: TIPO DE ACTIVIDAD


LUGAR ALCANCE FORMA

Intraclase Extraclase

Individual Grupal

CALIFICACIN

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la colectividad

Prctica de laboratorio Prctica de clase Resolucin de problemas,


ejercicios

Ensayo, artculo Informe de exposicin

DESARROLLO DE LA ACTIVIDAD, SOLUCIN O PROCEDIMIENTO

351 | P g i n a

Вам также может понравиться