Este documento introduce el tema de la validación de datos. Explica que la validación de datos es el proceso de asegurar que los datos manipulados en una aplicación son correctos, incluyendo que el tipo de datos sea adecuado y esté dentro de un rango válido. También discute que la validación de datos debe realizarse en cada capa de una aplicación, no solo en la interfaz de usuario, para asegurar la integridad de los datos.
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
Este documento describe y compara varias herramientas CASE como Eclipse, ArgoUML, NetBeans, Enterprise Architect y Rational Rose. Eclipse es una herramienta de código abierto multiplataforma con editor de texto, compilación en tiempo real, pruebas unitarias y refactorización. ArgoUML es una herramienta para modelado de sistemas con soporte para UML 1.4 y diagramas de secuencia. NetBeans es un entorno de desarrollo integrado libre principalmente para Java. Enterprise Architect cubre todo el ciclo de desarrollo de software con
Identificadores en Lógia de Programaciónnormaroldano
Este documento describe los identificadores en la programación y su propósito. Los identificadores son nombres simbólicos asignados a datos y otros elementos en un lenguaje de programación en lugar de las direcciones de memoria. El compilador o intérprete enlaza los identificadores con las direcciones de memoria, permitiendo que los programadores se refieran a los datos usando nombres descriptivos en lugar de direcciones. El documento también proporciona recomendaciones sobre la elección de nombres para identificadores.
El documento presenta la especificación de requisitos para una aplicación de restaurante automatizado. Se describe que la aplicación mejorará el manejo de órdenes y pedidos en un restaurante. Se incluyen secciones sobre la descripción general del producto, características de usuarios, funcionalidades clave como visualizar el menú, seleccionar platillos, monitorear órdenes, y pagar con tarjeta. El documento también cubre requisitos funcionales y no funcionales, suposiciones y dependencias del sistema.
El documento describe diferentes tipos de pruebas de software, incluyendo pruebas estáticas, dinámicas, funcionales y no funcionales. Explica que las pruebas estánticas se realizan sin ejecutar el código, mientras que las dinámicas requieren ejecutar la aplicación. También cubre diferentes enfoques de pruebas como de caja blanca, caja negra y aleatorias, así como niveles de pruebas como unitarias, de integración y de sistema.
Este documento describe el proceso de ingeniería inversa, el cual consiste en analizar un sistema existente para identificar sus componentes y dependencias con el fin de extraer información sobre su diseño. Explica que la ingeniería inversa puede producir diferentes niveles de abstracción sobre la estructura y comportamiento del sistema, y que requiere interacción con un ingeniero de software. También cubre técnicas específicas como la reestructuración de código, bases de datos e interfaces de usuario.
El documento presenta los conceptos de validación y verificación de software. Explica que la validación busca comprobar que el software cumple con las expectativas del cliente, mientras que la verificación busca comprobar que el sistema cumple con los requerimientos especificados. Además, detalla las diferentes etapas de las pruebas de software como parte del proceso de validación y verificación.
Este documento presenta un curso sobre pruebas de software. Se divide en tres unidades de aprendizaje: fundamentos de pruebas de software, fundamentos de Rational Functional Tester y fundamentos de Rational Performance Tester. La primera unidad cubre conceptos como tipos de pruebas, diseño de casos de prueba y administración de pruebas. Las siguientes unidades se enfocan en herramientas específicas para pruebas funcionales y de rendimiento.
Taller: Prueba Unitaria con JUnit en NetBeansEmerson Garay
Este documento describe cómo crear pruebas unitarias con JUnit en NetBeans para validar funciones en clases Java. Inicialmente se crean dos clases, Validar y Util, con métodos de validación y utilidad. Luego, se generan clases de prueba JUnit para cada clase aplicando aserciones y validando que los resultados coinciden con los esperados. Finalmente, se muestran técnicas avanzadas como pruebas parametrizadas y suites de pruebas para ejecutar varias pruebas de forma agrupada.
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
Este documento describe y compara varias herramientas CASE como Eclipse, ArgoUML, NetBeans, Enterprise Architect y Rational Rose. Eclipse es una herramienta de código abierto multiplataforma con editor de texto, compilación en tiempo real, pruebas unitarias y refactorización. ArgoUML es una herramienta para modelado de sistemas con soporte para UML 1.4 y diagramas de secuencia. NetBeans es un entorno de desarrollo integrado libre principalmente para Java. Enterprise Architect cubre todo el ciclo de desarrollo de software con
Identificadores en Lógia de Programaciónnormaroldano
Este documento describe los identificadores en la programación y su propósito. Los identificadores son nombres simbólicos asignados a datos y otros elementos en un lenguaje de programación en lugar de las direcciones de memoria. El compilador o intérprete enlaza los identificadores con las direcciones de memoria, permitiendo que los programadores se refieran a los datos usando nombres descriptivos en lugar de direcciones. El documento también proporciona recomendaciones sobre la elección de nombres para identificadores.
El documento presenta la especificación de requisitos para una aplicación de restaurante automatizado. Se describe que la aplicación mejorará el manejo de órdenes y pedidos en un restaurante. Se incluyen secciones sobre la descripción general del producto, características de usuarios, funcionalidades clave como visualizar el menú, seleccionar platillos, monitorear órdenes, y pagar con tarjeta. El documento también cubre requisitos funcionales y no funcionales, suposiciones y dependencias del sistema.
El documento describe diferentes tipos de pruebas de software, incluyendo pruebas estáticas, dinámicas, funcionales y no funcionales. Explica que las pruebas estánticas se realizan sin ejecutar el código, mientras que las dinámicas requieren ejecutar la aplicación. También cubre diferentes enfoques de pruebas como de caja blanca, caja negra y aleatorias, así como niveles de pruebas como unitarias, de integración y de sistema.
Este documento describe el proceso de ingeniería inversa, el cual consiste en analizar un sistema existente para identificar sus componentes y dependencias con el fin de extraer información sobre su diseño. Explica que la ingeniería inversa puede producir diferentes niveles de abstracción sobre la estructura y comportamiento del sistema, y que requiere interacción con un ingeniero de software. También cubre técnicas específicas como la reestructuración de código, bases de datos e interfaces de usuario.
El documento presenta los conceptos de validación y verificación de software. Explica que la validación busca comprobar que el software cumple con las expectativas del cliente, mientras que la verificación busca comprobar que el sistema cumple con los requerimientos especificados. Además, detalla las diferentes etapas de las pruebas de software como parte del proceso de validación y verificación.
Este documento presenta un curso sobre pruebas de software. Se divide en tres unidades de aprendizaje: fundamentos de pruebas de software, fundamentos de Rational Functional Tester y fundamentos de Rational Performance Tester. La primera unidad cubre conceptos como tipos de pruebas, diseño de casos de prueba y administración de pruebas. Las siguientes unidades se enfocan en herramientas específicas para pruebas funcionales y de rendimiento.
Taller: Prueba Unitaria con JUnit en NetBeansEmerson Garay
Este documento describe cómo crear pruebas unitarias con JUnit en NetBeans para validar funciones en clases Java. Inicialmente se crean dos clases, Validar y Util, con métodos de validación y utilidad. Luego, se generan clases de prueba JUnit para cada clase aplicando aserciones y validando que los resultados coinciden con los esperados. Finalmente, se muestran técnicas avanzadas como pruebas parametrizadas y suites de pruebas para ejecutar varias pruebas de forma agrupada.
El documento describe la estructura y procesos del Rational Unified Process (RUP) y cómo se aplica en el modelo de análisis de requisitos. Explica las fases, iteraciones e iteraciones preliminares del RUP, y describe los elementos clave del modelo de análisis como casos de uso, clases de análisis, diagramas de secuencia y colaboración, y arquitectura del análisis. También incluye ejemplos detallados de cómo se representan y analizan los requisitos funcionales en el modelo de análisis.
Este documento describe los principios de seguridad informática de confidencialidad, integridad y disponibilidad y los factores de riesgo tecnológicos y humanos que pueden comprometerlos, así como los mecanismos preventivos, detectivos y correctivos para fortalecer la seguridad informática y evitar el uso no ético de la información.
El documento provee una introducción a los conceptos de calidad de software. Explica que la calidad se refiere a satisfacer las necesidades del cliente. Luego resume varios estándares e iniciativas de calidad como ISO 8402, ISO 9000, ISO/IEC 15504 y CMMI. Finalmente, describe brevemente algunos conceptos clave como errores de software, causas de errores, y sistemas de gestión de calidad.
Ejercidos resueltos en java para el portafolioJesica Pérez
Los documentos presentan ejemplos de código en Java que resuelven diferentes ejercicios, incluyendo: 1) programas para lectura de datos, impresión de saludos y calculadora; 2) programa para obtener el promedio de un estudiante; 3) programa para obtener total de votos por partido político; 4) estructuras de repetición y menús en Java; 5) ejercicios con vectores y 6) ejercicios con matrices resueltos en Java.
El documento proporciona una introducción a la ingeniería de requerimientos para sistemas de información. Explica que la ingeniería de requerimientos es el proceso de comunicación entre los clientes, usuarios y desarrolladores para descubrir, analizar y documentar los servicios y restricciones del sistema. También describe los diferentes niveles y tipos de requerimientos, incluyendo los requerimientos funcionales y no funcionales, así como ejemplos de cada uno.
Este documento describe la metodología de desarrollo de software conocida como Programación Extrema (XP). XP se centra en la comunicación, la simplicidad y la retroalimentación. El documento explica los orígenes de XP, sus valores, prácticas y roles. También cubre las fases de planificación, diseño, desarrollo, pruebas y las ventajas e inconvenientes de esta metodología ágil.
Este documento contiene preguntas sobre conceptos básicos de Java como clases, herencia, paquetes, comentarios, tipos de datos y operadores. También incluye preguntas sobre el uso de archivos y flujos de entrada/salida en Java.
Este documento describe los requisitos para un sistema de reservación de puestos en cines de Colombia. El sistema permitirá a los usuarios hacer consultas y reservaciones de sillas, y comprar boletos de manera virtual sin ir a la taquilla. El documento explica el modelo de requisitos, casos de uso, diagramas de clases y presentación para el sistema.
Estándares y modelos de calidad del softwarerodigueezleidy
Este documento describe los estándares y modelos de calidad de software más importantes a nivel internacional. Explica que los estándares agrupan las mejores prácticas para el desarrollo de software de alta calidad y proporcionan un marco teórico-práctico para asegurar la calidad. Luego detalla los principales organismos de estandarización como ISO, SEI e IEEE y los estándares más relevantes que han desarrollado, incluyendo ISO/IEC 12207, ISO/IEC 15504 y modelos del SEI.
Este documento describe varias técnicas para estimar los costos de proyectos de software. Presenta métricas como líneas de código y puntos de función que pueden usarse para estimar el tamaño de un proyecto. También describe factores que afectan los costos como la capacidad de los programadores, la complejidad del producto y el tiempo disponible. Finalmente, resume técnicas como el juicio experto y Delphi para realizar estimaciones.
El documento describe conceptos clave relacionados con la calidad del software, incluyendo modelos como ISO 9126, CMMI y principios de gestión de la calidad. Explica que la calidad del software implica seguir metodologías estándar para garantizar la confiabilidad, mantenibilidad y facilidad de prueba del software. También cubre temas como el aseguramiento, control y mejora continua de la calidad a lo largo del ciclo de vida del desarrollo de software.
Creación de diagrama de clases
Creación de clases
Herencia y asociación de clases
Publicado en blog de Visual C#
http://programacion-visual-c-sharp.blogspot.com/2014/03/creacion-de-diagramas-de-clases-en-visual-c-sharp.html
Este documento presenta un programa de seguridad informática. Define la seguridad informática y sus objetivos de proteger la infraestructura, usuarios e información. Describe las amenazas como usuarios maliciosos, programas dañinos, errores y desastres naturales. Explica el análisis de riesgos para identificar vulnerabilidades y amenazas y determinar controles de seguridad.
Este documento proporciona una lista de preguntas y respuestas sobre conceptos básicos de programación orientada a objetos. Explica los cuatro paradigmas de POO (herencia, encapsulamiento, polimorfismo y extensibilidad), las características fundamentales de un objeto (estado, identificación, comportamiento y clasificación) y que una clase es una agrupación de objetos con características similares que incluyen atributos y métodos. También define conceptos como encapsulamiento, herencia, instanciar una clase, sobrecargar mé
1.1 palabras reservadas para hacer un pseudocódigoGioo
Este documento lista palabras clave comúnmente usadas en pseudocódigo para describir algoritmos de manera concisa. Algunas de estas palabras clave incluyen "algoritmo" para nombrar un algoritmo, "inicio" y "fin" para marcar el comienzo y fin de bloques de instrucciones, y palabras para declarar variables, constantes, entrada/salida de datos, asignación, condicionales e iteración.
El documento describe el modelo de calidad ISO/IEC 9126 para evaluar la calidad de productos de software. Este modelo define características de calidad interna, externa y en uso, subdividiendo las características internas y externas en subcaracterísticas que pueden medirse. El modelo busca establecer métricas para evaluar software y mejorar procesos, productos y calidad en uso.
Metricas del proyecto de Software - introduccionJose Diaz Silva
Introducción al manejo de las métricas de proyectos de software, considerando los aspectos de tamaño y los elementos de funcionalidad. Se explora la diferencia entre error y defecto , aclarando los conceptos de medida, medición, métrica e indicador. De la misma manera se exploran las métricas privadas y las públicas. Las ventajas y desventajas de estas métricas son mencionadas
El documento describe el Team Software Process (TSP), una metodología para dirigir el desarrollo de software en equipo. Explica que TSP establece un entorno para que el trabajo en equipo sea natural y normal, a través de planes personales, compromiso con la calidad, métricas y procesos definidos. También describe las fases del ciclo de vida TSP como lanzamiento, estrategia, requerimientos, diseño, implementación, pruebas y postmortem. Finalmente, resume los pasos para la organización TSP como establecer objetivos, roles
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
Este documento presenta los requisitos para el desarrollo de un sistema de compra y venta para una ferretería. El sistema permitirá llevar un control de inventario, realizar ventas, generar reportes y mantener actualizada la información de productos. Se describen los objetivos, actores, módulos funcionales requeridos y especificaciones no funcionales como tiempos de respuesta y compatibilidad con sistemas operativos. El proceso de desarrollo seguirá la metodología RUP enfocada en la calidad y adaptación a las necesidades
Este documento introduce el tema de la validación de datos. Explica que la validación de datos asegura que los datos manipulados en una aplicación sean correctos, verificando no solo el tipo de datos sino también que estén dentro de un rango válido. También discute la importancia de realizar validaciones en cada capa de una aplicación y los diferentes enfoques y técnicas para la validación de datos en aplicaciones Windows Forms y ASP.NET.
Este documento describe los diferentes controles de validación en ASP.NET que permiten validar los datos ingresados por el usuario en formularios web. Explica controles como RequiredFieldValidator para campos obligatorios, CompareValidator para comparar valores, RegularExpressionValidator para validar formatos, RangeValidator para rangos de valores y CustomValidator para validaciones personalizadas. Además, detalla cómo configurar las propiedades y usar cada control a través de ejemplos prácticos.
El documento describe la estructura y procesos del Rational Unified Process (RUP) y cómo se aplica en el modelo de análisis de requisitos. Explica las fases, iteraciones e iteraciones preliminares del RUP, y describe los elementos clave del modelo de análisis como casos de uso, clases de análisis, diagramas de secuencia y colaboración, y arquitectura del análisis. También incluye ejemplos detallados de cómo se representan y analizan los requisitos funcionales en el modelo de análisis.
Este documento describe los principios de seguridad informática de confidencialidad, integridad y disponibilidad y los factores de riesgo tecnológicos y humanos que pueden comprometerlos, así como los mecanismos preventivos, detectivos y correctivos para fortalecer la seguridad informática y evitar el uso no ético de la información.
El documento provee una introducción a los conceptos de calidad de software. Explica que la calidad se refiere a satisfacer las necesidades del cliente. Luego resume varios estándares e iniciativas de calidad como ISO 8402, ISO 9000, ISO/IEC 15504 y CMMI. Finalmente, describe brevemente algunos conceptos clave como errores de software, causas de errores, y sistemas de gestión de calidad.
Ejercidos resueltos en java para el portafolioJesica Pérez
Los documentos presentan ejemplos de código en Java que resuelven diferentes ejercicios, incluyendo: 1) programas para lectura de datos, impresión de saludos y calculadora; 2) programa para obtener el promedio de un estudiante; 3) programa para obtener total de votos por partido político; 4) estructuras de repetición y menús en Java; 5) ejercicios con vectores y 6) ejercicios con matrices resueltos en Java.
El documento proporciona una introducción a la ingeniería de requerimientos para sistemas de información. Explica que la ingeniería de requerimientos es el proceso de comunicación entre los clientes, usuarios y desarrolladores para descubrir, analizar y documentar los servicios y restricciones del sistema. También describe los diferentes niveles y tipos de requerimientos, incluyendo los requerimientos funcionales y no funcionales, así como ejemplos de cada uno.
Este documento describe la metodología de desarrollo de software conocida como Programación Extrema (XP). XP se centra en la comunicación, la simplicidad y la retroalimentación. El documento explica los orígenes de XP, sus valores, prácticas y roles. También cubre las fases de planificación, diseño, desarrollo, pruebas y las ventajas e inconvenientes de esta metodología ágil.
Este documento contiene preguntas sobre conceptos básicos de Java como clases, herencia, paquetes, comentarios, tipos de datos y operadores. También incluye preguntas sobre el uso de archivos y flujos de entrada/salida en Java.
Este documento describe los requisitos para un sistema de reservación de puestos en cines de Colombia. El sistema permitirá a los usuarios hacer consultas y reservaciones de sillas, y comprar boletos de manera virtual sin ir a la taquilla. El documento explica el modelo de requisitos, casos de uso, diagramas de clases y presentación para el sistema.
Estándares y modelos de calidad del softwarerodigueezleidy
Este documento describe los estándares y modelos de calidad de software más importantes a nivel internacional. Explica que los estándares agrupan las mejores prácticas para el desarrollo de software de alta calidad y proporcionan un marco teórico-práctico para asegurar la calidad. Luego detalla los principales organismos de estandarización como ISO, SEI e IEEE y los estándares más relevantes que han desarrollado, incluyendo ISO/IEC 12207, ISO/IEC 15504 y modelos del SEI.
Este documento describe varias técnicas para estimar los costos de proyectos de software. Presenta métricas como líneas de código y puntos de función que pueden usarse para estimar el tamaño de un proyecto. También describe factores que afectan los costos como la capacidad de los programadores, la complejidad del producto y el tiempo disponible. Finalmente, resume técnicas como el juicio experto y Delphi para realizar estimaciones.
El documento describe conceptos clave relacionados con la calidad del software, incluyendo modelos como ISO 9126, CMMI y principios de gestión de la calidad. Explica que la calidad del software implica seguir metodologías estándar para garantizar la confiabilidad, mantenibilidad y facilidad de prueba del software. También cubre temas como el aseguramiento, control y mejora continua de la calidad a lo largo del ciclo de vida del desarrollo de software.
Creación de diagrama de clases
Creación de clases
Herencia y asociación de clases
Publicado en blog de Visual C#
http://programacion-visual-c-sharp.blogspot.com/2014/03/creacion-de-diagramas-de-clases-en-visual-c-sharp.html
Este documento presenta un programa de seguridad informática. Define la seguridad informática y sus objetivos de proteger la infraestructura, usuarios e información. Describe las amenazas como usuarios maliciosos, programas dañinos, errores y desastres naturales. Explica el análisis de riesgos para identificar vulnerabilidades y amenazas y determinar controles de seguridad.
Este documento proporciona una lista de preguntas y respuestas sobre conceptos básicos de programación orientada a objetos. Explica los cuatro paradigmas de POO (herencia, encapsulamiento, polimorfismo y extensibilidad), las características fundamentales de un objeto (estado, identificación, comportamiento y clasificación) y que una clase es una agrupación de objetos con características similares que incluyen atributos y métodos. También define conceptos como encapsulamiento, herencia, instanciar una clase, sobrecargar mé
1.1 palabras reservadas para hacer un pseudocódigoGioo
Este documento lista palabras clave comúnmente usadas en pseudocódigo para describir algoritmos de manera concisa. Algunas de estas palabras clave incluyen "algoritmo" para nombrar un algoritmo, "inicio" y "fin" para marcar el comienzo y fin de bloques de instrucciones, y palabras para declarar variables, constantes, entrada/salida de datos, asignación, condicionales e iteración.
El documento describe el modelo de calidad ISO/IEC 9126 para evaluar la calidad de productos de software. Este modelo define características de calidad interna, externa y en uso, subdividiendo las características internas y externas en subcaracterísticas que pueden medirse. El modelo busca establecer métricas para evaluar software y mejorar procesos, productos y calidad en uso.
Metricas del proyecto de Software - introduccionJose Diaz Silva
Introducción al manejo de las métricas de proyectos de software, considerando los aspectos de tamaño y los elementos de funcionalidad. Se explora la diferencia entre error y defecto , aclarando los conceptos de medida, medición, métrica e indicador. De la misma manera se exploran las métricas privadas y las públicas. Las ventajas y desventajas de estas métricas son mencionadas
El documento describe el Team Software Process (TSP), una metodología para dirigir el desarrollo de software en equipo. Explica que TSP establece un entorno para que el trabajo en equipo sea natural y normal, a través de planes personales, compromiso con la calidad, métricas y procesos definidos. También describe las fases del ciclo de vida TSP como lanzamiento, estrategia, requerimientos, diseño, implementación, pruebas y postmortem. Finalmente, resume los pasos para la organización TSP como establecer objetivos, roles
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
Este documento presenta los requisitos para el desarrollo de un sistema de compra y venta para una ferretería. El sistema permitirá llevar un control de inventario, realizar ventas, generar reportes y mantener actualizada la información de productos. Se describen los objetivos, actores, módulos funcionales requeridos y especificaciones no funcionales como tiempos de respuesta y compatibilidad con sistemas operativos. El proceso de desarrollo seguirá la metodología RUP enfocada en la calidad y adaptación a las necesidades
Este documento introduce el tema de la validación de datos. Explica que la validación de datos asegura que los datos manipulados en una aplicación sean correctos, verificando no solo el tipo de datos sino también que estén dentro de un rango válido. También discute la importancia de realizar validaciones en cada capa de una aplicación y los diferentes enfoques y técnicas para la validación de datos en aplicaciones Windows Forms y ASP.NET.
Este documento describe los diferentes controles de validación en ASP.NET que permiten validar los datos ingresados por el usuario en formularios web. Explica controles como RequiredFieldValidator para campos obligatorios, CompareValidator para comparar valores, RegularExpressionValidator para validar formatos, RangeValidator para rangos de valores y CustomValidator para validaciones personalizadas. Además, detalla cómo configurar las propiedades y usar cada control a través de ejemplos prácticos.
El documento habla sobre los conceptos básicos del desarrollo de aplicaciones web, incluyendo las arquitecturas de dos y tres capas, lenguajes del lado del cliente como HTML y JavaScript, lenguajes del lado del servidor como PHP y ASP, procesamiento del lado del servidor, herramientas de desarrollo como IDEs, y consideraciones de seguridad para aplicaciones web.
El documento describe el proceso de realizar una prueba de penetración (pentesting) de una aplicación web siguiendo la metodología OWASP. Esta metodología implica la catalogación de vulnerabilidades encontradas y consta de dos fases: pasiva de recolección de información y activa de pruebas sobre autenticación, gestión de sesiones, autorización, validación de datos y denegación de servicio. El proceso provee una revisión reglada de los principales puntos vulnerables de una aplicación web.
Seguridad en el ciclo de desarrollo del softwareAnel Sosa
El documento describe las fases del ciclo de desarrollo de software y la importancia de la seguridad en cada una. Explica que en el análisis se identifican los requisitos de seguridad, en el diseño se contemplan aspectos como la autorización de usuarios y la protección de datos, en la codificación se deben validar los datos de entrada y en las pruebas se realizan escenarios no planificados para probar la seguridad. Finalmente, en la implementación es crucial realizar cambios de configuración y separar los ambientes.
El documento habla sobre los diseños de entrada de información y controles en los sistemas de información. Explica que el diseño de entrada determina cómo los datos ingresan al sistema y deben diseñarse para que sean beneficiosos para los usuarios. También describe los aspectos que guían el diseño como la efectividad, facilidad y precisión, y los tipos de validación de datos requeridos como validación de longitud de campo y valores inválidos.
Este documento describe la validación de entrada de datos de usuario en tres oraciones. Explica qué es la validación de entrada de datos, la diferencia entre validación del lado del cliente y del servidor, y los diferentes controles de validación que proporciona ASP.NET como CompareValidator, CustomValidator y RequiredFieldValidator.
El documento presenta un caso de estudio sobre una tienda de conveniencia que desea automatizar sus procesos de compra, venta y seguimiento de clientes a través de una tienda en línea. Se describe el patrón Model-View-Controller (MVC) como la solución arquitectónica seleccionada, el cual separa la interfaz de usuario, la lógica del negocio y los datos. Adicionalmente, se incluye código de ejemplo en Java para acceder a una base de datos y manipular datos.
Este documento describe diferentes tipos de pruebas de software, incluyendo pruebas unitarias, de integración, regresión, del sistema, de estrés, de desempeño, de carga, de volumen, de recuperación y tolerancia a fallas, de múltiples sitios, de compatibilidad y conversión, de integridad de datos y base de datos, de seguridad y control de acceso, del ciclo de negocio, de interfaz gráfica de usuario, de configuración, de estilo, de aceptación, de instalación, de documentación y
Este documento presenta una metodología para realizar auditorías de seguridad en aplicaciones web a través de diferentes etapas del ciclo de vida del desarrollo. Propone un marco de pruebas con fases que incluyen revisión de requisitos, diseño, código, implementación y mantenimiento. También describe elementos clave para realizar pruebas de seguridad web como recolección de información, validación de entrada, autenticación, gestión de sesiones y manejo de errores.
El documento describe una herramienta llamada EASYDEV para generar automáticamente aplicaciones web. Los usuarios podrán crear nuevas aplicaciones o adquirir aplicaciones existentes en un mercado. El generador crea proyectos funcionales en pocos segundos basados en el modelo de datos ingresado por el usuario. Los clientes pueden probar las aplicaciones generadas antes de comprarlas y los desarrolladores pueden vender sus aplicaciones en el mercado.
OWASP es una organización sin fines de lucro dedicada a mejorar la seguridad de las aplicaciones web. Publica proyectos como la lista Top 10 de vulnerabilidades más críticas, la herramienta ZAP para pruebas de penetración, y hojas de trucos sobre temas de seguridad. Examina vulnerabilidades comunes como inyecciones, autenticación débil, exposición de datos, y uso de componentes desactualizados. Recomienda validación de entrada, encriptación, autenticación multifactor, y actualizaciones de software para prevenir ataques.
Este documento describe el análisis y diseño de un sistema para la radicación de reclamos de tarjetas de crédito según el estándar IEEE 830. Se define a los usuarios, características, interfaces y requisitos del sistema. También incluye prototipos, diagramas de flujo, casos de uso y pruebas para validar el ingreso y radicación de reclamos en el sistema.
Este documento describe el análisis y diseño de un sistema para la radicación de reclamos de tarjetas de crédito según el estándar IEEE 830. Se define a los usuarios, características, interfaces y requisitos del sistema. También incluye prototipos, diagramas de flujo, casos de uso y pruebas para validar el ingreso y radicación de reclamos en el sistema.
Las pruebas de software incluyen pruebas unitarias, de integración, de regresión, de humo, del sistema, de desempeño, de carga, de estrés, de volumen, de recuperación, de múltiples sitios, de compatibilidad, de bases de datos, de seguridad, del ciclo de negocio, de interfaz gráfica de usuario, de configuración, de estilo, de aceptación, de instalación, funcionales, de documentación, de usabilidad, de campo, alfa y beta.
Las pruebas de software incluyen pruebas unitarias, de integración, de regresión, de humo, del sistema, de desempeño, de carga, de estrés, de volumen, de recuperación, de múltiples sitios, de compatibilidad, de bases de datos, de seguridad, del ciclo de negocio, de interfaz gráfica de usuario, de configuración, de estilo, de aceptación, de instalación, funcionales, de documentación, de usabilidad, de campo, alfa y beta.
Este documento trata sobre programación interpretada (scripting). Explica que un lenguaje interpretado es ejecutado por un intérprete en lugar de ser compilado. Describe algunos lenguajes diseñados para ser interpretados y validación de datos tanto en el lado del cliente como en el servidor. También cubre introducción a scripts, control de eventos, imágenes flotantes y atributos de marcos.
El documento describe diferentes tipos de auditorías y pruebas de software y hardware. Explica la auditoría de software, auditoría de hardware, pruebas de software como pruebas de caja blanca y negra, pruebas de unidad, integración y sistema. También describe dispositivos y equipos de prueba de software.
La Unidad Eudista de Espiritualidad se complace en poner a su disposición el siguiente Triduo Eudista, que tiene como propósito ofrecer tres breves meditaciones sobre Jesucristo Sumo y Eterno Sacerdote, el Sagrado Corazón de Jesús y el Inmaculado Corazón de María. En cada día encuentran una oración inicial, una meditación y una oración final.
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMJuan Martín Martín
Examen de Selectividad de la EvAU de Geografía de junio de 2023 en Castilla La Mancha. UCLM . (Convocatoria ordinaria)
Más información en el Blog de Geografía de Juan Martín Martín
http://blogdegeografiadejuan.blogspot.com/
Este documento presenta un examen de geografía para el Acceso a la universidad (EVAU). Consta de cuatro secciones. La primera sección ofrece tres ejercicios prácticos sobre paisajes, mapas o hábitats. La segunda sección contiene preguntas teóricas sobre unidades de relieve, transporte o demografía. La tercera sección pide definir conceptos geográficos. La cuarta sección implica identificar elementos geográficos en un mapa. El examen evalúa conocimientos fundamentales de geografía.
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARIS”. Esta actividad de aprendizaje propone el reto de descubrir el la secuencia números para abrir un candado, el cual destaca la percepción geométrica y conceptual. La intención de esta actividad de aprendizaje lúdico es, promover los pensamientos lógico (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia y viso-espacialidad. Didácticamente, ésta actividad de aprendizaje es transversal, y que integra áreas del conocimiento: matemático, Lenguaje, artístico y las neurociencias. Acertijo dedicado a los Juegos Olímpicos de París 2024.
1. Introducción a la validación de datos.
La validación de datos es el proceso mediante el que nos
aseguramos de que los datos manipulados en la aplicación son
correctos.
Lo cual no solo implica que el tipo de datos sea el adecuado, sino
que esté dentro de un rango válido para la aplicación. El 14 de julio
de 1789 es una fecha válida, pero difícilmente será la fecha de
nacimiento del titular de una cuenta corriente.
La mayoría de las validaciones de datos actualmente realizadas
son sólo validaciones de entrada de datos, en la introducción de los
mismos en la aplicación desde el interfaz de usuario.
Este planteamiento, válido hasta ahora, deberá cambiar con el
desarrollo por capas, ya que cualquier capa que puede ser
cambiada, por lo que ninguna puede asumir que esta validación
haya sido efectuada en una capa anterior. Y no sólo en el sentido
interfaz -> datos, ya que ¿de dónde vienen los datos que estamos
presentando?
2. Introducción a la validación de datos (II).
Este planteamiento se integra dentro de las políticas de seguridad
ya que un escenario habitual es el de un hacker probando hasta
donde llega la validación de datos y aprovechando los huecos para
introducir código malicioso.
Hay diferentes técnicas de validación, pero es recomendable
validar la corrección de los datos en lugar de intentar comprobar si
los valores son erróneos.
Normalmente las pruebas que realizamos no detectan todos los
errores de validación ya que están orientadas a validar
funcionalidades y no inconsistencias de datos. Por lo que es
recomendable diseñar las pruebas teniendo esto en mente y añadir
validación integral de datos como parte del proceso de prueba.
La mayoría de desarrolladores no pensamos en los ataques
maliciosos que puedan lanzarse con nuestras aplicaciones cuando las
estamos probando, circunstancia obviamente aprovechada por los
hackers en cuanto les damos la oportunidad.
¡Acordémonos de validar los rangos de los datos, no sólo su tipo!
3. Introducción a la validación de datos (III).
Ya se ha comentado que actualmente la validación de datos la
efectuamos sólo en la capa de presentación, pero debemos realizarla
en cada capa, ya que cuando diseñamos y desarrollamos la
aplicación, no somos capaces de prever todos los usos que nuestra
aplicación o módulo tendrán en un futuro.
En cada capa se presentan necesidades de validación ya que no
podemos esperar que la capa anterior haya realizado todas las
validaciones pertinentes. Aunque inicialmente seamos nosotros o
nuestro equipo los que desarrollen las capas adyacentes y tengamos
claro el diseño de las mismas, en un futuro cualquiera de estas
capas puede ser cambiada por otros desarrollos que no tengan el
mismo detalle de diseño que las iniciales, con lo que podrían entrar
datos incorrectos en nuestros procesos. Y no sólo en cuanto a la
persistencia de los datos, a pesar de ser en esta capa donde mayor
importancia cobra la validación de los datos a almacenar, no
debiendo confiarse sólo en las validaciones que hayan podido
efectuarse en la capa de presentación y/o las modificaciones
aportadas en la capa de negocio.
4. Introducción a la validación de datos (IV).
Las técnicas de validación cambian según el tipos de dato, amén de las
que realice el sistema en función del tipo de dato:
Números: tamaño de la variable, el signo, la presencia de decimales y
el rango.
Cadenas: tamaño máximo y mínimo, la codificación (UTF-8/UTF-16),
la presencia de caracteres especiales.
Nombres de archivo: que sea una cadena, que sea un nombre archivo
válido, que no contenga comodines.
URL o URI: similares a los nombres de archivo.
Archivos de entrada: a las de nombres de archivo se añadirá el validar
si la fuente es de confianza, el formato del archivo, si es texto o
binario, el contenido, la codificación, etc.
Fechas: aunque se presenten como texto, las fechas son realmente
números, pero los formatos de entrada son altamente sensibles a la
cultura específica del cliente, el uso de los controles calendar, en lugar
de TextBox, es altamente recomendable. El rango de las fechas es otra
cosa a tener muy en cuenta.
Clases: las específicas en cada caso.
Las expresiones regulares (RegEx) son una herramienta muy poderosa
y eficiente a la hora de procesar y validar texto.
5. Validar aplicaciones Windows Forms – eventos de validación.
La validación de un formulario Windows puede ser efectuada a dos
niveles:
Implícitamente: al nivel de control individual, especialmente útil
cuando la validación de un control dependa de otra, aunque puede
condicionar la secuencia de cumplimentación del formulario.
Explícitamente: al nivel de formulario, al pulsar el botón de
pasar adelante, útil si el orden de relleno de los campos no es
importante y se quieren efectuar las validaciones por código y en
bloque.
Ambas técnicas pueden combinarse, en función de las
necesidades.
La mayoría de los controles de Windows Forms tienen un evento
de validación, el cual se lanza cuando el usuario intenta salir del
control y el mismo tiene su propiedad CausesValidation en true.
Podemos añadir código al evento para implementar dicha validación
o utilizar las validaciones del propio control.
Los controles asociados a datos también tienen eventos de
validación para asegurar la calidad del dato almacenado.
6. Validar aplicaciones Windows Forms– Control MaskedTextBox.
Este control está específicamente diseñado para poder efectuar
validaciones de cadenas de caracteres sin tener que añadir código en
el evento, mediante el uso de máscaras de edición para el texto para
efectuar los siguientes tipos de validación:
Caracteres requeridos.
Caracteres opcionales.
El tipo de dato esperado en determinada posición de la cadena.
Los caracteres que deban aparecer en posiciones fijas (guiones,
comas, …)
Procesos especiales a aplicar a la cadena, por ejemplo la
conversión automática a mayúsculas.
Cadenas literales predefinidas incluidas dentro del texto a rellenar,
que el control devolverá junto con lo introducido por el cliente.
7. Validar aplicaciones Windows Forms – Omisión y retorno.
Algunas veces las validaciones han de ser omitidas, por ejemplo al
cerrar un formulario. Para ello utilizaremos el evento FormClosing
del formulario y pondremos la propiedad e.cancel a false.
Retorno (feedback)
El efectuar las validaciones a distintos niveles añade complejidad
ya que ¿cómo se informa al usuario de los errores?
En la capa de presentación: es fácil, ya que estamos
interactuando con el usuario y disponemos de varios mecanismos.
En la capa de negocio: aquí la cosa se complica, ya que no hay
interacción directa con el usuario y, además, desconocemos cuál
es el tipo de interfaz utilizado. Aunque tenemos un par de
mecanismos para solventar este problema:
Generar códigos de retorno e información adicional para que el código
cliente lo recupera y presente como sea necesario.
Lanzar una excepción para que sea recogida desde el código cliente.
En la capa de datos: nos encontramos con la misma situación que
en el caso anterior, pudiendo lanzarse o sólo registrarse y
devolver un código de retorno de error.
8. Validar aplicaciones Windows Forms - Demostración.
En esta demostración veremos la codificación y el funcionamiento
de las validaciones implícitas y explícitas en formularios Windows.
Utilizaremos la validación implícita con eventos de validación.
Usaremos un evento FormClosing para cancelar la validación al
cerrar el formulario.
Efectuaremos validaciones explícitas.
Utilizaremos el control MaskedTextBox.
Efectuaremos validaciones en la capa intermedia.
Evidentemente, para poder efectuar estas validaciones será
necesario tener algo de código desarrollado y funcionalidades que
aún no han sido introducidas, el objetivo es el de ver en acción las
validaciones de Windows Forms, no el de explicar la tecnologías
adicionales aquí utilizadas.
La solución que utilizaremos es la DemoValidaciónWF.
9. Validar aplicaciones ASP.NET
En las aplicaciones ASP.NET es necesario tomar una decisión
importante a la hora de enfocar el diseño de las mismas: ¿Dónde
queremos efectuar las validaciones? ¿En el cliente o en el servidor?
En la parte cliente, se realizará mediante el uso del lenguaje
JavaScript, para que las validaciones se realicen directamente
desde el propio browser del usuario, sin necesidad de envíos y
respuestas al servidor. Sus principales características son:
Ligero y rápido.
Requiere un desarrollador experto en JavaScript.
El código de validación está abierto para que cualquiera lo vea, aunque
lo encriptemos, ya que es fácil de saltar.
Si se han de validar datos contra listas de valores, estas deberán residir
en la página o en una fuente externa descargada junto con la misma.
En la parte servidor, como su nombre indica, las validaciones las
realizaremos en el servidor. Sus principales características son:
Requiere el envío de la página al servidor para su validación.
El estado de los controles debe ser transferido en ambos sentidos, para
mantener el estado de la página (viewstate)
El cliente no puede ver el código de validación y éste se desarrollará con
las mismas herramientas que el resto de la aplicación.
Al ejecutarse el código en el servidor, las validaciones complejas o
contra base de datos se pueden realizar sin ningún problema.
10. Validar aplicaciones ASP.NET (II) - Validadores
Estos son controles incluidos en Visual Studio 2008 y que se
utilizan para la validación de datos en ASP.NET, tanto en la parte
cliente como en la del servidor.
Están asociados a otro control (ControlToValidate) y permiten
indicar el tipo de validación que se ha de efectuar sobre éste
primero.
Los controles validadores son:
RequiredFieldValidator: permite garantizar que el campo no está en
blanco ni vacío.
CompareValidator: permite comparar los valores de dos controles
relacionados.
RangeValidator: valida que el valor del campo esté en un rango.
RegularExpressionValidator: permite efectuar la validación con una
expresión regular, con toda la potencia que éstas tienen.
CustomValidator: nos permite codificar nuestra propia validación, si
las anteriores no nos satisfacen.
ValidationSummary: es un resumen de las validaciones efectuadas.
DynamicValidator: recoge las excepciones lanzadas desde el modelo
de datos y las replica como eventos de validación en la página Web.
11. Validar aplicaciones ASP.NET (III) - Demostración
En esta demostración veremos las validaciones típicas en las
aplicaciones Web de ASP.NET, mediante el uso de los controles
validadores:
RequiredFieldValidator.
RangeValidator.
RegularExpressionValidator.
CustomValidatorControl.
ValidationSummary.
Como en la demostración anterior, no se trata aquí de ver a fondo
todo el código desarrollado, sólo remarcar el uso de las validaciones
en ASP.NET, el resto del código y sus particularidades se verán más
adelante.
La solución que utilizaremos es la DemoValidaciónASP.
12. Manejo de texto y cadenas largas
Al desarrollar aplicaciones nos encontraremos con la necesidad de
procesar textos, para lo cual el Framework nos da herramientas para
leer, almacenar y manipular cadenas de caracteres mediante String
y StringBuilder, expresiones regulares (RegEx) y las páginas de
códigos.
Las características de la clase String son:
Es una colección de caracteres Unicode.
Implementada como un array de objetos Char.
El valor del objeto String es el contenido de la colección.
Es un tipo por referencia.
Permite:
Especificar reglas de formato para manejar el contenido.
Operaciones sensibles a cultura para manejar la presentación del
contenido.
Efectuar búsquedas y sustituciones de sub-cadenas.
Concatenar múltiples cadenas en una.
Trocear cadenas largas en varias pequeñas.
Todos los tipos de .NET tiene un método ToString, heredado de la
clase Object, para generar un String con su contenido.
13. Manejo de texto y cadenas largas (II) – Métodos de String
Método Ámbito Descripción
Clone Instancia Devuelve una nueva referencia al objeto String.
Compare Clase Compara dos objetos String y devuelve el resultado.
CompareTo Instancia Compara esta instancia con un objeto específico y devuelve
la posición en la que ha hallado la cadena en el objeto.
Concat Clase Concatena dos o más instancias de String en un nuevo
objeto String.
Contains Instancia Devuelve un valor booleano indicando si la instancia
contiene determinada cadena de caracteres.
Copy Clase Crea un nuevo objeto String con el mismo contenido.
EndsWith Instancia Devuelve un valor booleano indicando si el objeto acaba
con la cadena indicada.
Equals Ambos Determina si dos String tienen el mismo contenido.
Format Clase Construye una nueva cadena sustituyendo cada item del
format con un nuevo valor
Insert Instancia Devuelve un nuevo String con la cadena pasada insertada
en la posición indicada de la instancia.
14. Manejo de texto y cadenas largas (III) – Métodos de String
Método Ámbito Descripción
Join Clase Devuelve un nuevo String con la concatenación de todos
los elementos de un Array, añadiendo el separador
indicado.
Remove Instancia Devuelve un nuevo String con la cadena limpia de los
elementos indicados.
Replace Instancia Devuelve un nuevo String con una sub-cadena sustituida
por otra específica, en todas sus apariciones.
Split Instancia Devuelve un Array de String con la cadena original
segmentada según lo indicado.
StartsWith Instancia Devuelve un valor booleano indicado si la cadena empieza
con una determinada sub-cadena
ToCharArray Instancia Devuelve el contenido del String como un nuevo Array de
Char.
Trim Instancia Elimina todas las apariciones de determinado carácter al
inicio y/o fin de la cadena
15. Manejo de texto y cadenas largas (IV) – Miembros de String
Miembro Ámbito Tipo Descripción
Equality Clase Operad
or
Determina si dos Sring tienen el mismo
contenido
IndexOf Instancia Propied
ad de
índice
Devuelve un entero con la posición inicial de una
sub-cadena
Inequality Clase Operad
or
Determiona si dos String difieren en su contenido
Empty Clase Campo Representa una cadena vacía
Chars Instancia Propied
ad de
índice
Devuelve el carácter en determinada posición.
LastIndexOf Instancia Propied
ad de
índice
Devuelve un entero con la posición de la última
aparición de una sub/cadena
Length Instancia Propied
ad
Devuelve el número de caracteres en la
instancia.
16. Manejo de texto y cadenas largas (V)
Un objeto String es inmutable, es decir:
Después de creado, no se puede modificar.
Cualquier método que parece cambiar el String está devolviendo
realmente un nuevo String, con el contenido cambiado.
Para modificar el contenido es preciso utilizar la clase
System.text.StringBuilder
Esta clase:
Representa una cadena de caracteres modificable.
Se puede concatenar, eliminar, sustituir e insertar caracteres sin
crear un nuevo objeto.
La longitud máxima de 2.147.483.647 caracteres (Int.MaxValue).
El tamaño inicial por defecto es de 16 caracteres, pero esta clase
se expande dinámicamente al añadir contenido.
El método ToString() devuelve el contenido completo del objeto
StringBuilder como un String.
17. Manejo de texto y cadenas largas (VI) – Miembros de StringBuilder
Miembro Tipo Descripción
Capacity Propiedad Recupera o fija el máximo de caracteres
Chars Propiedad Recupera o fija el carácter en una determinada posición
Length Propiedad Recupera o fija el número de caracteres almacenados
Append Método Añade la representación en String de un determinado
objeto al final del contenido de la instancia.
AppendFormat Método Añade un String formateado al final del contenido actual.
EnsureCapacity Método Se asegura de que el objeto admita el tamaño indicado,
ampliándose si es necesario.
Insert Método Inserta la representación en String de un objeto en la
posición indicada de contenido actual.
Remove Método Elimina un determinado número de caracteres á partir de
una posición dada
Replace Método Sustituye una sub-cadena por otra dada, en todas sus
apariciones.
18. C#
StringBuilder cadena = new StringBuilder();
cadena.Append(“Primera parte de la cadena.”);
cadena.AppendFormat(“{0} y {1} partes de la cadena.”,
“Segunda”, “tercera”);
VB
Dim cadena as New StringBuilder()
cadena.Append(“Primera parte de la cadena.”)
cadena.AppendFormat(“ {0} y {1} partes de la cadena.”, _
“Segunda”, “tercera”)
Manejo de texto y cadenas largas (VII)
Cómo usar StringBuilder
Resultado:
"Primera parte de la cadena. Segunda y tercera partes de la cadena."
19. Expresiones regulares
Además de las operaciones de manipulación de cadenas vistas hasta
ahora, en algunas ocasiones es necesario procesar la información
contenida en las cadenas de caracteres o realizar validaciones sobre
la misma.
Por ejemplo, podríamos querer limitar el tipo de caracteres utilizados
en un campo de contraseña introducido por el usuario, en cuanto a
que deban o no contener caracteres especiales, mayúsculas,
minúsculas y/o números.
También es posible que tengamos que lidiar con información
suministrada por un sistema antiguo, cuyo formato no sea
totalmente compatible con los sistemas actuales.
Estos requerimientos son bastante complejos de gestionar mediante
código y requieren un montón de instrucciones para ello.
Pero disponemos de las expresiones regulares (RegEx),
desarrollados en los entornos UNIX y PERL durante décadas, las
cuales son laboriosas de entender, pero extremadamente eficaces a
la hora de realizar este tipo de operaciones.
20. Expresiones regulares (II)
Una expresión regular es una secuencia de caracteres (pattern
string) con la que se puede:
Comparar con un String para comprobar requerimientos de
formato.
Utilizar para sustituir o eliminar datos de una cadena.
Comparar con apariciones repetitivas de datos.
Utilizar para cambiar el formato de los datos o eliminar caracteres
no válidos.
Las expresiones regulares pueden ser extremadamente complejas
La mayoría de los caracteres especiales son sensibles al contexto y
tienen múltiples usos.
Las expresiones regulares no tienen contexto de datos, habremos
de gestionarlo nosotros en caso necesario.
Un solo carácter erróneo en la expresión puede inutilizarla toda o
producir resultados absolutamente aleatorios.
21. Expresiones regulares (III)
^S{3}-?d{4}$Desde
el inicio
Hasta el
final
Cualquier
carácter no
vacío ni espacio
El carácter
anterior n
veces
Cualquier
dígito
numérico
El carácter
anterior es
opcional
El carácter
anterior n
veces
Válido No válido Explicación
ABC-1234 ABC 1234 El espacio en blanco
DEF-5678 DEF1-234 Cuatro caracteres antes del guión
Def-3856 D f-3856 Espacio en grupo sin espacios
Gru7589 G.U 7589 Punto en grupo y espacio
Gln-6577 GlN--6577 Dos guiones
30. Expresiones regulares (XII)
Para utilizar expresiones regulares para validar cadenas deberemos:
Crear un objeto Regex, pasándole la plantilla de caracteres a
utilizar como parámetro del constructor.
Llamar a los métodos Ismatch, Match o Matches del objeto
Regex, pasándole la cadena a validar como parámetro.
Si queremos utilizar los métodos estáticos de la clase Regex
deberemos llamar a los métodos Regex.IsMatch, Regex.Match o
Regex.Matches pasando la plantilla y la cadena a validar contra ella
como parámetros.
31. Expresiones regulares (XIII)
Para utilizar expresiones regulares para extraer datos de cadenas
deberemos:
Crear una expresión regular que incluya grupos de coincidencia.
Crear un objeto Regex.
Crear una instancia del objeto Match utilizando el método
instance.Match
Recuperar los datos accediendo a los miembrs de la colección
Match.Groups.
Si queremos utilizar los métodos estáticos deberemos efectuar lo
mismo que arriba, ignorando el segundo paso y llamando a
Regex.Match en el paso 3.
32. Codificación de texto
Las páginas de código son los juegos de caracteres utilizados
para representar datos de cadena.
Todos los tipos de codificación siguen basados en las tablas
ASCII, las cuales utilizan 7 bits para representar los
caracteres, lo cual nos da 128 caracteres.
Muchos fabricantes utilizan los valores restantes, del 128 al
255, pero cada uno utiliza un formato propio, lo cual
desemboca en incompatibilidades de codificación.
Esta situación forzó la adopción de las páginas de códigos
estándar de ANSI llamadas Unicode, las cuales nos permiten
unos 100.000 caracteres distintos en una única página.
33. Codificación de texto (II)
La clase Encoding es la que nos suministra el sistema para lidiar con
estas temas y tiene métodos para:
Devolver y tipo de codificación para poder codificar textos.
Convertir una cadena de entrada en una serie de bytes de un
determinado código.
Suministrar soporte para una amplia variedad de codificaciones
ANSI e ISO.
El método Encoding.GetBytes es que se utiliza para la conversión
de cadenas.
Dim e as Encoding = Encoding.GetEncoding("Korean")
Dim EncodedString As Byte()
EncodedString = e.GetBytes("¡Hola, mundo!“)
[VB]
Encoding e = Encoding.GetEncoding("Korean")
Byte[] EncodedString;
EncodedString = e.GetBytes("¡Hola, mundo!");
[C#
34. Preguntas:
¿Qué es la validación de datos?
Es el proceso de asegurar que los datos de la aplicación son
correctos y están dentro de los rangos adecuados.
¿En que se diferencia la validación de datos de la de entrada de
datos?
La validación de entrada de datos se efectúa en la capa de
presentación, en el momento en el que se efectúa introducción de
información en el sistema. En cambio la validación de datos se
efectúa en cualquier capa de la aplicación y se asegura que la
información manejada es adecuada para el sistema.
¿Porqué es importante realizar validaciones en cada capa?
Porque las aplicaciones se desarrollan cada vez más en forma
modular, sin depender unas capas de otras, lo cual implica que no
podemos confiar en que las validaciones hayan sido efectuadas en
una capa anterior.
35. Preguntas:
¿Cuál es la diferencia entre validación implícita y explícita?
La validación implícita se realiza control a control, pero la explícita
se realiza a nivel de formulario, mediante una rutina llamada al
pulsar un botón de acción.
¿Se puede utilizar la funcionalidad y sencillez de los validadores
en el lado del cliente?
Si, fijando la propiedad client-side validation a true.
¿En qué forma nos ayuda el control MaskedTextBox para la
validación de datos?
En que nos permite filtrar los datos introducidos siguiendo una
plantilla establecida.
¿Cómo podemos evitar que se efectúen las validaciones por
defecto al cerrar el formulario?
Fijando la propiedad cancel a false en el evento form closing.
Notas del editor
La solución que utilizaremos es la DemoValidaciónWF.
Validación implícita:
Es la que se efectuará sobre el campo nombre.
Veremos el uso de un errorProvider, que utilizaremos para mostrar el error en pantalla y el evento Validating del control, el cual se activa por el valor true de la propiedad CausesValidation del control, en el que añadiremos las validaciones que nos interesen y la activación del control de error.
También veremos, en el evento FormClosing del formulario el uso del cancel para poder cerrar el formulario sin tener que disponer de un valor correcto para el campo.
Validación explícita:
Es la que se realizará en el momento en el que el usuario haga clic en el botón de validación.
Primero se lanzará la ejecución de una rutina interna con unas validaciones mínimas, y si estas se pasan, entones se generarán los objetos correspondientes, lanzándose la validación de los mismos mediante sus funciones internas, las cuales, habitualmente, residirán en otra capa de la aplicación.
Control MaskedtextBox:
En este caso, muy simple, se ha aplicado al código postal, que sólo permitirá 5 dígitos numéricos, ahorrándonos, de esta forma, la codificación de esta validación.
De una forma parecida, el control DateTimePicker aplicado a la fecha de nacimiento, amén de permitirnos una selección fácil de una fecha, sólo permitirá la introducción de una fecha válida. Quedaría pendiente la validación de que la fecha estuviera dentro de un determinado rango, en caso de ser necesario.
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección
La solución que utilizaremos es la DemoValidaciónASP.
RequiredFieldValidator:
El aplicado a los campos txtNombre y txtApellidos, viéndose claramente el amontonamiento de mensajes de error con este uso.
RangeValidator:
Aplicado al código postal.
RegularExpressionValidator:
El que se aplica a la dirección Email.
ValidationSummary:
El resumen que aparece con las validaciones de campos obligatorios de la dirección