Agradecimientos
Sobre el autor
Sobre el revisor técnicoÍndice de contenidos
Introducción
A quién está dirigido este libro
Actividades y requisitos de software
Parte I. Conceptos básicos de la programación y el diseñoorientados a objetos
1. Introducción a la programación orientada a objetos
Historia de la POO
¿Por qué utilizar POO?
Las características de la POO
Objetos
Abstracción
Encapsulación
Polimorfismo
Herencia
Agregación
La historia de Visual Basic
Resumen
2. Diseño de soluciones POO: identificar la estructura de clases
Objetivos del diseño de software
El Lenguaje de Modelado Unificado
Desarrollar las SRS
Análisis de un ejemplo de SRS
Estudios de uso
Actividad 2.1: Crear un diagrama de caso de uso
Examinar las SRS
Crear un diagrama de casos de uso utilizando UML Modeler
Diagramas de clases
Asociación
Herencia
Agregación
Asociación de clases
Actividad 2.2: Crear un diagrama de clases
Identificar las clases y los atributos
Crear un diagrama de clases utilizando UML Modeler
Resumen
3. Diseño de soluciones POO: modelar la interacción entrelos objetos
Escenarios
Diagramas de secuencia
Tipos de mensaje
Mensajes recursivos
Iteración de mensajes
Mensajes condicionales
Bifurcación de mensajes
Actividad 3.1: Crear un diagrama de secuencia
Examinar el escenario
Crear un diagrama de secuencia utilizando UML Modeler
Añadir métodos al diagrama de clases
Diagramas de colaboración
Indicar el orden de los mensajes
Iteración, condiciones y bifurcación
Diagramas de actividad
Puntos de decisión y condiciones
Procesamiento en paralelo
Propiedad de la actividad
Actividad 3.2: Crear un diagrama de actividad
Identificar los objetos y las actividades
Crear un diagrama de actividad utilizando UML Modeler
Diseño de interfaces gráficas de usuario
Diagramas de actividad GUI
Crear un prototipo de la interfaz
Diagramas de flujo de la interfaz
Diagramas de clases GUI
Crear un prototipo de la aplicación
Resumen
4. Diseño de soluciones POO: un caso de estudio
Desarrollo de un sistema de petición de material de oficina
Información general sobre el caso de estudio
Crear las Especificaciones de Requisitos del Sistema
Desarrollo de los casos de uso
Diagramas de los casos de uso
Modelo de la estructura de clases de la aplicación OSO
Añadir atributos a las clases
Identificar las asociaciones entre clases
Modelar los comportamientos de las clases en la aplicación OSO
Desarrollar el diseño del modelo de la interfaz de usuario
Evitar algunos defectos de diseño POO habituales
Resumen
Parte II. Programación orientada a objetos con Visual Basic .NET
5. Introducción a VB.NET
Objetivos de .NET Framework
Compatibilidad con estándares de la industria
Extensibilidad
Modelos de programación unificados
Desarrollo simplificado
Administración de memoria mejorada
Modelo de seguridad mejorado
Componentes de .NET Framework
Common Language Runtime
Biblioteca de clases base de Framework
Clases de datos y XML
Formularios Web y servicios
Ensamblados y manifiestos
Referencias a ensamblados y espacios de nombres
Compilación y ejecución de código administrado
El entorno de desarrollo integrado de Visual Studio
Actividad 5.1: Introducción a Visual Studio .NET
Personalizar el IDE
Crear un proyecto nuevo
El Explorador de soluciones y la Vista de clases
El Cuadro de herramientas y la ventana Propiedades
Generar y ejecutar el ensamblado
Actividad 5.2: Las herramientas de depuración de Visual Studio .NET
Ejecución del código paso a paso
Establecer puntos de interrupción condicionales
Localizar y corregir errores de generación
Resumen
6. Creación de clases
Objetos y clases
Definir las clases
Crear las propiedades de las clases
Restringir el acceso a las propiedades
Crear métodos de clases
Actividad 6.1: Crear la clase Employee
Crear la clase Employee
Probar la clase Employee
Constructores
Destructores
Sobrecarga de métodos
Actividad 6.2: Sobrecarga de métodos y constructores
Creación y sobrecarga de constructores de clases
Probar el constructor de la clase Employee
Sobrecarga de un método de clase
Probar el método Update sobrecargado
Resumen
7. Creación de jerarquías de clases
Herencia
Utilización de MustInherit
Utilización de NotInheritable
Utilización de los modificadores de acceso en clases base
Actividad 7.1: Creación y utilización de clases base y derivadascon Visual Studio
Crear la clase Account
Probar las clases
Crear un método protegido
Probar el método Withdraw
Crear una clase abstracta
Reemplazar métodos de la clase base
Cuándo utilizar MyBase, MyClass o Me
MyClass
MyBase
Actividad 7.2: Reemplazar clases base
Reemplazar la cuenta Account
Probar los métodos Withdraw
Utilizar el calificador MyBase
Probar el método Withdraw
Utilizar el calificador MyClass
Probar los métodos GetMinimumBalance
Sobrecarga de métodos de una clase base
Sombreado
Implementación de interfaces
Los secretos del polimorfismo
Actividad 7.3: Aplicación de técnicas de polimorfismo
Polimorfismo mediante herencia
Probar el método polimórfico
Polimorfismo mediante interfaces
Probar el método polimórfico
Resumen
8. Implementación de colaboración entre objetos
Comunicación entre objetos mediante mensajes
Definir firmas de método
Pasar parámetros
Programación dirigida por eventos
Actividad 8.1: Desencadenar y responder a mensajes de evento
Añadir y desencadenar mensajes de evento en la definiciónde la clase
Recibir eventos desde la clase cliente utilizando la declaraciónWithEvents
Recibir eventos en la clase cliente utilizando el método AddHandler
Controlar múltiples eventos con un solo método
Delegación
Utilizar delegación
Utilizar delegación para implementar controladores de eventos
Actividad 8.2: Delegación en VB
Crear métodos sobre los que delegar
Probar la rutina Sort y filtrar los eventos en la clase cliente
Gestionar excepciones en .NET Framework
Utilización del bloque Try-Catch
Añadir un bloque Finally
Iniciar excepciones
Gestión anidada de excepciones
Acceso a métodos y propiedades compartidas
Actividad 8.3. Gestión de excepciones y métodos compartidos
Creación de métodos compartidos
Crear un controlador de excepciones estructurado
Filtrado de excepciones
Mensajes asincrónicos
Actividad 8.4: Efectuar llamadas a métodos asincrónicamente
Crear el método compartido y llamarle sincrónicamente
Llamar a un método asincrónicamente
Resumen
Parte III. Desarrollo de aplicaciones con Visual Basic .NET
9. Aplicación OSO: implementación de los algoritmos lógicos
Fases de diseño de la aplicación
Introducción a ADO.NET
Proveedores de datos
Establecer una conexión
Ejecutar un comando
Utilización de procedimientos almacenados
Utilización del objeto DataReader para obtener datos
Utilización de DataAdapter para obtener datos
Actividad 9.1: Obtención de datos
Crear una conexión y ejecutar consultas SQL
Utilización del objeto DataReader para obtener registros
Ejecución de un procedimiento almacenado utilizando un objetoCommand
Ejecución de un procedimiento almacenado utilizando un objetoCommand
Utilización de los objetos DataSet
Rellenar un DataSet desde una base de datos de SQL Server
Establecer relaciones entre tablas de un DataSet
Editar los datos de un DataSet
Conversión entre objetos relacionales DataSet y archivos jerárquicosXML
Actividad 9.2: Utilización de objetos DataSet
Rellenar un DataSet desde una base de datos de SQL Server
Modificar y actualizar un DataSet en una base de datos de SQL Server
Establecer relaciones entre las tablas de un DataSet
Construcción de la capa lógica de la aplicación OSO
Actividad 9.3: Revisar y probar la capa lógica de la aplicación OSO
Configurar la base de datos Office Supply
Probar la lógica de la aplicación OSO
Probar la clase Order
Resumen
10. Desarrollo de aplicaciones Windows
Conceptos básicos sobre los formularios de Windows
La jerarquía de herencia de los formularios Windows
El diseñador de formularios de Visual Studio
Gestión de los eventos de formulario y control en Windows
Añadir controladores de evento de formulario
Añadir controladores de eventos de control
Actividad 10.1: Utilización de formularios y controles
Crear la interfaz del visor de memorandos
Codificar los eventos de tipo click del menú
Herencia entre formularios
Creación y utilización de cuadros de diálogo
Presentar un cuadro de mensaje al usuario
Recuperar la respuesta de un cuadro de diálogo MessageBox
Crear un cuadro de diálogo personalizado
Actividad 10.2: Aplicación de herencia de formularios y cuadrosde diálogo en una GUI basada en formularios de Windows
Crear un formulario heredado
Añadir un cuadro de diálogo para cerrar la aplicación
Asociación de datos en GUIs basadas en formularios de Windows
Actividad 10.3: Enlace de controles en un formulario de Windows
Implementación de controles de enlace simple
Implementación de controles de enlace complejo
Crear la GUI basada en formulario de Windows de la aplicación OSO
Mostrar los productos
Autentificación de los empleados
Añadir elementos al pedido
Eliminar elementos
Cursar un pedido
Probar la GUI de Windows de la aplicación OSO
Resumen
11. Desarrollo de aplicaciones Web
Conceptos básicos sobre los formularios Web
Conceptos básicos sobre los controles de servidor Web
Jerarquía de herencia de Web Form y de los controles Web
Utilización del diseñador de formularios Web de Visual Studio
Gestión de los eventos de Web Form y sus controles
Controladores de eventos de página y de controles de servidor
Procesado de eventos en el lado del servidor
Eventos de aplicación y de sesión
Actividad 11.1: Utilización de Web Forms y controles de servidor
Crear una aplicación Web
Creación de controladores de eventos de control del lado del servidor
Creación de eventos Non-Postback
Almacenar y compartir el estado en una aplicación Web
Mantener el estado de visualización
Utilización de cookies
Mantener el estado de sesión y aplicación
Enlace de datos en GUIs basadas en formularios Web
Enlace de datos multivalor
Actualización de datos en un control DataGrid
Actividad 11.2: Enlace de un DataGrid en un Web Form
Mostrar datos en un control DataGrid de ASP.NET
Actualizar datos utilizando el control DataGrid de ASP.NET
Crear la GUI basada en formularios Web de la aplicación OSO
Mostrar los productos
Iniciar un pedido
Validación de los empleados
Añadir otros elementos
Eliminar elementos
Cursar un pedido
Actividad 11.3: Probar la GUI Web de la aplicación OSO
Resumen
12. Conclusión y repaso
Mejorar nuestra habilidad como diseñadores orientados a objetos
Estudiar los espacios de nombres de .NET Framework
Familiarizarse con ADO.NET
Avanzar hacia el desarrollo orientado a componentes
Encontrar ayuda
Unirse a un grupo de usuarios
Obtener una certificación
Gracias y buena suerte
Parte IV. Apéndices
Apéndice A. Conceptos básicos sobre programación
Variables y tipos de datos
Tipos de datos elementales
Tipos de datos enteros
Tipos de datos no enteros
Tipos de datos de carácter
Tipo de datos Boolean o lógico
Tipo de datos Date
Tipo de datos Object
Introducción a los tipos de datos compuestos
Estructuras
Matrices
Clases
Literales, constantes y enumeraciones
Literales
Constantes
Enumeraciones
El alcance o ámbito de las variables
Ámbito de bloque
Ámbito de procedimiento
Ámbito de módulo
Conversión entre tipos de datos
Conversión implícita
Conversión explícita
Conversiones de ampliación y de restricción
Operadores
Operadores aritméticos
Operadores de comparación
Operadores lógicos
Introducción a las estructuras de decisión
Instrucciones If-Then
Instrucciones Select-Case
Estructuras de bucle
Instrucciones While
Instrucciones Do-Loop
Instrucciones For-Next
Instrucciones For Each-Next
Introducción a los procedimientos
Apéndice B. Gestión de excepciones en VB .NET
Gestión de excepciones
Las clases de excepciones de .NET Framework
Apéndice C. Contenido del CD-ROM
Índice alfabético