DESARROLLO DE APLICACIONES I
Cuatrimestre Mayo - Agosto
MSC Indelfonso Rodríguez Espinoza
Tecnologías de la Información y la Comunicación
UNIDADES TEMATICAS
•
I Paradigmas de la programación
•
II Ambiente de desarrollo
•
III Diseño y desarrollo de aplicaciones
•
IV Desarrollo de aplicaciones con conexión a
base de datos.
OBJETIVO
El alumno identificará los principales paradigmas de la programación para diferenciar su ámbito de aplicación.
•
Paradigmas de
Programación
DESARROLLO DE APLICACIONES I
MATERIAParadigma de programación estructurada
• La programación estructurada es una formade escribir programas de ordenador (programación de computadora) de manera
clara. Para ello utiliza únicamente tres
estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).
DESARROLLO DE APLICACIONES I
Paradigma de programación estructurada
• El teorema del programa estructurado,demostrado por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:
▫ Secuencia
▫ Instrucción condicional.
▫ Iteración (bucle de instrucciones) con condición
al principio.
Paradigma de programación estructurada
• Solamente con estas tres estructuras se puedenescribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control, éstas pueden ser construidas mediante las tres básicas.
DESARROLLO DE APLICACIONES I
Paradigma de programación estructurada
• I Paradigmas de programación
Estructura Iterativo Estructura Selección Estructura Secuencial Estructura Selectiva
Paradigma de POO
• La programación orientada a objetos o
POO es un paradigma de programación que usa
objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.
DESARROLLO DE APLICACIONES I
Paradigma de POO
• Los objetos son entidades que combinan estado
(atributo), comportamiento (método) e identidad:
▫ El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
▫ El comportamiento está definido por los
procedimientos o métodos con que puede operar dicho objeto, es decir, qué operaciones se pueden realizar con él.
▫ La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
Paradigma de POO
• Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos.
• Los métodos (comportamiento) y atributos
(estado) están estrechamente relacionados por la
propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los atributos con los que cuenta.
DESARROLLO DE APLICACIONES I
Paradigma de POO
• La POO difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida.
OBJETIVO
El alumno operará las funciones de un entorno de desarrollo para generar una aplicación.
•
Ambiente de
desarrollo
UNIDAD TEMATICAII
DESARROLLO DE APLICACIONES I
MATERIAGeneralidades de la herramienta de
desarrollo
• Las herramientas de desarrollo son aquellos programas o aplicaciones que tengan cierta importancia en el desarrollo de un programa (programación). Pueden ser de importancia vital (como un ensamblador, un compilador o un editor) o de importancia secundaria, como una IDE (Integrated Development Environment -Entorno de Desarrollo Integrado).
Características de la interfaz de
desarrollo
• Un entorno de desarrollo integrado es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un sólo lenguaje de programación o bien, poder utilizarse para varios.
• Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word.
DESARROLLO DE APLICACIONES I
Identificar las funciones principales
Identificar las funciones principales
DESARROLLO DE APLICACIONES I
Identificar las funciones principales
OBJETIVO
El alumno creará
interfaces gráficas usando controles (componentes), manejo de excepciones y múltiples formas para elaborar aplicaciones visuales.
•
Diseño y desarrollo
de Aplicaciones
UNIDAD TEMATICA
III
DESARROLLO DE APLICACIONES I
Controles
• son objetos contenidos en objetos de formulario. Cada tipo de control tiene su propio conjunto de propiedades, métodos y eventos que lo hacen adecuado para un propósito en particular. Puede manipular los controles en el diseñador y escribir código para agregar controles dinámicamente, en tiempo de ejecución.
Uso de controles (componentes) básicos.
• Los controles que se agregan a los formularios Windows Forms tienen propiedades y métodos que permiten a los usuarios especificar en mayor medida la forma de utilizarlos.
• La personalización de la interfaz de usuario para que se ajuste a las necesidades del usuario es muy importante para el buen diseño de las aplicaciones para Windows.
DESARROLLO DE APLICACIONES I
Uso de controles (componentes) básicos.
Cuadro de dialogo
• Los cuadros de diálogo se utilizan para obtener datos de entrada de los usuarios. Puede crear sus propios cuadros de diálogo o utilizar los cuadros de diálogo integrados, como openFileDialog y
saveFileDialog
DESARROLLO DE APLICACIONES I
Cuadro de dialogo
Cuadro de dialogo
DESARROLLO DE APLICACIONES I
Proyecto de formularios Múltiples
• Un formulario MDI es un formulario (llamado "Padre" o "Parent") que puede contener otros formularios (llamados "Hijos" o "Child"). Para trabajar con este tipo de formularios se ejecuta el Visual C# y se crea un nuevo proyecto del tipo "Windows Application". De forma automàtica se crea un formulario con nombre "Form1". En la ventana Propiedades, se busca la propiedad "IsMDIContainer" y se cambia a "True".
Propiedad que determina que el
Formulario es un MDI padre
IsMDIContainer
DESARROLLO DE APLICACIONES I
MDI hijo
NombreFormulario UnAlias = new NombreFormulario(); UnAlias.MdiParent = this;
UnAlias.Show();
7/12/2016 Programacion 2Q - 2R
IRE
DESARROLLO DE APLICACIONES I
• III Diseño y Desarrollo de Aplicaciones
this
.LayoutMdi(MdiLayout.Cascade);
this
.LayoutMdi(MdiLayout.TileVertical);
DESARROLLO DE APLICACIONES IManejo de Excepciones
• C# proporciona soporte integrado para el manejo de excepciones o de una forma más formal situaciones anómalas de funcionamiento, las cuales pueden ocurrir en cualquier momento durante la ejecución del programa y son manejadas por el código que se encuentra fuera del flujo normal de control.
Manejo de Excepciones
• C#
DESARROLLO DE APLICACIONES I
Controles creados por el usuario
• Los controles de usuario proporcionan un medio para crear y reutilizar interfaces gráficas de usuario. Un control de usuario es esencialmente un componente con una representación visual. Como tal, puede constar de uno o más controles de formularios Windows Forms, componentes o bloques de código.
Creación de distribución
DESARROLLO DE APLICACIONES I
• III Diseño y Desarrollo de Aplicaciones
La aplicación constará de tres niveles lógicos:
Datos, objeto comercial e interfaz de usuario.
El nivel datos es una base de datos en SQL Server.
El nivel de objeto comercial manejará el acceso a los datos y su distribución entre los clientes.
El nivel de interfaz de usuario constará de una aplicación basada en Web y una aplicación de Windows tradicional.
Creación de distribución
• III Diseño y Desarrollo de Aplicaciones
OBJETIVO
El alumno desarrollará aplicaciones que permitan la conexión a BD, manipulación y generación de reportes utilizando asistentes para la administración y uso de la información.
• Desarrollo de aplicaciones con conexión a Base de Datos Local.
UNIDAD TEMATICA
IV
DESARROLLO DE APLICACIONES I
Modos de conexión a Base de Datos
• IV Desarrollo de Aplicaciones con
System.Data.SqlClient
(Espacio de nombres)
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Representa una conexión abierta con una base de datos de SQL Server. Esta clase no se puede heredar.
SqlConnection
SqlCommand
Representa un procedimiento almacenado o una instrucción de Transact-SQL que se ejecuta en una base de datos de SQL Server. Esta clase no se puede heredar.
SqlDataAdapter Representa un conjunto de comandos de datos y unaconexión de base de datos que se utilizan para rellenar un
DataSet y actualizar una base de datos de SQL Server.
Esta clase no se puede heredar.
SqlDataReader Proporciona una forma de leer una secuencia de filas sólo hacia delante en una base de datos de SQL Server. Esta clase no se puede heredar.
Modos de conexión a Base de Datos Access
• IV Desarrollo de Aplicaciones con
Modos de conexión a Base de Datos - Access
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con
Modos de conexión a Base de Datos -- SQL
• IV Desarrollo de Aplicaciones con
Grabar en la Base de datos
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con
Actualizar en la Base de datos
• IV Desarrollo de Aplicaciones con
Buscar en la Base de datos
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con
Borrar en la Base de datos
• IV Desarrollo de Aplicaciones con
Base de datos en un ComboBox
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con
Validando USER y Password
• IV Desarrollo de Aplicaciones con
Encriptación de Datos
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con
Creación de reportes
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Generar reportes profesionales a un precio accesible.
Permitir a los usuarios finales explorar los reportes mediante clasificaciones y parámetros en reportes.
Minimizar los esfuerzos de TI y de desarrollo por medio de reportes interactivos. Ahorrar tiempo valioso en el diseño del reporte.
Incorporar reportes de aspecto profesional en aplicaciones Java y .NET.
Personalizar su solución agregando las herramientas de visualización y administración de reportes.
Creación de reportes
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Crystal Reports para Visual Studio .NET es la herramienta de elaboración de informes estándar para Visual Studio .NET. Permite crear contenido interactivo con calidad de presentación en la plataforma .NET.
Con Crystal Reports para Visual Studio .NET, puede almacenar informes en plataformas Windows y Web y publicar informes Crystal como servicios Web de informes en un servidor Web.
INSTALACION
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Seguridad en las Aplicaciones
• La seguridad es un aspecto fundamental en todas las aplicaciones de C# y debe tenerse en cuenta en todas las fases del desarrollo:
▫ No sólo cuando se ha realizado el diseño y la implementación.
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Seguridad en las Aplicaciones
• Ésta no es una lista exhaustiva de posibles problemas de seguridad. En ella se resaltan algunos problemas comunes sobre los que deben estar prevenidos los desarrolladores de C#.
▫ Utilice siempre el tipo de datos más restrictivo para los parámetros. Por ejemplo, al pasar un valor a un método que describe el tamaño de una estructura de datos, utilice el entero sin signo en lugar del entero.
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Seguridad en las Aplicaciones
▫ No tome decisiones basadas en nombres de archivo. Los nombres de archivo se pueden expresar de muchas maneras diferentes y se podría omitir la comprobación de un archivo determinado.
▫ No incluya nunca contraseñas o información confidencial en el código de la aplicación.
▫ Valide siempre los datos de entrada que se utilicen para generar consultas SQL.
▫ Valide todas las entradas de los métodos.
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Seguridad en las Aplicaciones
• No muestre información de excepciones: esto proporciona pistas valiosas a cualquier posible atacante.
• Asegúrese de que la aplicación funciona mientras se ejecuta con la menor cantidad de privilegios posibles. Pocas aplicaciones requieren que el usuario inicie sesión como administrador.
• Asigne nombres seguros a los ensamblados.
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Seguridad en las Aplicaciones
• No almacene información confidencial en archivos XML o en otros archivos de configuración.
• Compruebe el código administrado que envuelve cuidadosamente el código nativo. Confirme que el código nativo sea seguro, sobre todo con respecto a las saturaciones del búfer.
• Actúe con precaución cuando utilice delegados pasados desde fuera de la aplicación.
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Procedimiento Almacenado
• Store Procedure: No es más que una
secuencia ordenada de instrucciones T-SQL, que pueden recibir y proporcionar parámetros provistos por el usuario y se pueden guardar en el servidor con un nombre, para posteriormente se invocados y ejecutados, por lo regular desde una aplicación (Escritorio o Web).
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Procedimiento Almacenado
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Procedimiento Almacenado
Ventajas• Compilación: La primera vez que se invoca un
SP, el motor lo compila y a partir de ahí, se sigue usando la versión compilada del mismo, hasta que se modifique o se reinicie el servicio de SQL. Esto significa que se tendrá un mejor rendimiento que las consultas directas que usan cadenas con las instrucciones T-SQL, que se compilan cada vez que se invocan.
• Automatización: si tenemos un conjunto de
instrucciones T-SQL, las cuales queremos ejecutar de manera ordenada, un SP es la mejor manera de hacerlo.
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Procedimiento Almacenado
Ventajas• Administración: cuando realizamos aplicaciones con
un gran numero de líneas de código, y queremos hacer cambios, solo implica modificar un SP y no toda la aplicación, lo que significa solo cambiamos los SP en el servidor y no tenemos que actualizar la aplicación en todos los equipos cliente.
• Seguridad: una parte importante es que a los usuarios
de nuestra aplicación, solo les proporcionamos los permisos para ejecutar los procedimientos almacenados y no el acceso a todos los objetos de la base. Es decir, si en nuestra aplicación encuentran una vulnerabilidad como SLQ Injection no se podrá explotar ejecutando SQL directamente.
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Procedimiento Almacenado
Ventajas• Programabilidad: Los SP admiten el uso de variables
y estructuras de control como IF, Bucles, Case, etc. además del manejo de transacción y permite controlar excepciones. Y cuando trabajamos con SP CLR podemos hacer uso de cualquier lenguaje .NET como lo son C# y VB.NET.
• Trafico de Red: Pueden reducir el trafico de la red,
debido a que se trabaja sobre el motor (en el servidor), y si una operación incluye hacer un trabajo de lectura primero y en base a eso realizar algunas operaciones, esos datos que se obtienen no viajan por la red.
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Triggers
• Es un tipo especial de procedimiento almacenado que se ejecuta automáticamente al intentarse efectuar una modificación de los datos, en la tabla a la que se encuentran asociados.
• Las operaciones que pueden “disparar” un trigger son las correspondientes a las instrucciones SQL, INSERT, UPDATE y DELETE.
DESARROLLO DE APLICACIONES I
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Triggers
• Puede definirse un trigger para cada una de ellas, o bien definir un trigger asociado a una combinación de las mismas.
• La mayor utilidad que se confiere a un trigger, es la de asegurar la integridad referencial o el cumplimiento de las distintas reglas definidas, si bien estas son operaciones que pueden delegarse en el propio servidor, mediante las instrucciones y cláusulas de especificación de las reglas de integridad, definidas durante la creación de las tablas, o añadidas posteriormente
• IV Desarrollo de Aplicaciones con conexión a Base de Datos
Por su atención . . . . .
Que debe CONTENER el sistema…..
10 de Julio de 2015 Revisión de Aplicación C# y cada una de los Form con acceso a la Base de Datos
Que debe CONTENER el sistema…..
Referencias Bibliográficas
• http://es.wikipedia.org/wiki/Programaci%C3% B3n_orientada_a_objetos • http://es.wikipedia.org/wiki/Programaci%C3% B3n_estructurada • http://msdn.microsoft.com/es-es/library/ms173195(v=vs.80).aspxProyecto
• Form Presentasion
▫ Los datos generales de la empresa ▫ Progressbar
• Form del Password
▫ Dos Botones (Acaptar - Cancelar) ▫ Un Combobox (usuario)
▫ Un TextBox (Clave de Acceso) • Menu
• Los form de Captura para cada Table
▫ Debe contener todos y cada uno de los campos de las tablas.