UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO



Documentos relacionados
Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Microsoft.Net. Programación III ISBO EMT CETP Prof. L. Carámbula

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Introducción a Visual.Net

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Módulo 2. Inicio con Java

1: La plataforma.net (.NET Framework)

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

Introducción a Visual Studio.Net

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes

PROGRAMACIÓN ORIENTADA A OBJETOS

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

Modulo 1 El lenguaje Java

Visual Studio 2008 es el conjunto de herramientas de

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

Capítulo 6. Introducción a la POO

Base de datos en la Enseñanza. Open Office

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Microsoft Office: EXCEL. Objetivos curso

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

TÈCNICO EN PROGRAMACIÒN DE SOFTWARE SERVICIO NACIONAL DE APRENDIZAJE, SENA Material de Apoyo Plataforma.NET LA PLATAFORMA.NET

Historia de revisiones

MICROSOFT ACCESS 2010

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Arquitectura de Redes y Comunicaciones

Capitulo V Administración de memoria

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Curso de Doctorado: Tecnologías de Objetos

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Arquitectura Cliente/Servidor

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

1.2 Qué es un Sistemas de Información Geográfica?

Unidad 9. Entornos de Desarrollo

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

FUNDAMENTOS DE PROGRAMACION CON C#

Unidad II: Administración de Procesos y del procesador

Microsoft Access 2007 (Completo)

DIAGRAMA DE CLASES EN UML

Guías técnicas Grupo Danysoft: Aplicaciones Web seguras con ASP.NET

El proceso de edición digital en Artelope y CTCE

TALLER DE CONOCIMIENTOS APRENDICES JORGE LEONARDO MAZA CARLOS DAVID ZAMBRANO JOSE G. RODRIGUEZ PROFESOR RONALD MARTELO

UML, ejemplo sencillo sobre Modelado de un Proyecto

APLICACIONES WEB GOOGLE ANAYLITICS

Tema 1. Introducción a JAVA

Orientación Diseño Industrial Asignatura: DIRECCION DE PROYECTOS 6 año

QUÉ ES Y QUÉ ESTUDIAR PARA SER PROGRAMADOR WEB? ITINERARIO DE FORMACIÓN, PLAN DE ESTUDIOS O DE CARRERA. (CE00302D)

ORIENTACIONES SIMCE TIC

CIMA. MANUAL DE USUARIO

Introducción a la Computación

Manual de Procedimientos

MICROSOFT ACCESS 2003

Práctica 2: Simón dice

Modelo de actualización y soporte

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

GUÍAS. Módulo de Diseño de software SABER PRO

7.1 Java vs.net, la lucha se acrecienta

Los números racionales

Objetivos curso. Microsoft Office: WORD

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

Modelos y Bases de Datos

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

El proceso unificado en pocas palabras

La gestión de contenidos en el nuevo Portal del Ministerio de Hacienda

4. Base de datos XML nativa: Marklogic

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

SEGURIDAD Y PROTECCION DE FICHEROS

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

Solución de telefonía para empresas TL Presentación de producto. Telefonía IP

Elementos requeridos para crearlos (ejemplo: el compilador)

Curso: FT433 - Introducción a la virtualización con VirtualBox

Guías de ayuda para la configuración de la privacidad y seguridad de las redes sociales

Eficacia operativa en el sector público. 10 recomendaciones para reducir costes

Unidad 1. Fundamentos en Gestión de Riesgos

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos

Caso práctico de Cuadro de Mando con Tablas Dinámicas

SISTEMAS OPERATIVOS AVANZADOS

Sistemas Operativos. Curso 2016 Procesos

HERRAMIENTAS DE DESARROLLO

APLICACIONES PARA INTERNET

Tener la WiFi abierta implica tener nuestra conexión a Internet compartida, además de otros riesgos:

SELECCIÓN N Y DISEÑO DEL PRODUCTO Y SERVICIO

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS

La siguiente generación de soluciones de FP&A basadas en la nube Sencillez, colaboración y tiempo real

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Transcripción:

INTRODUCCIÓN Objetivo del curso: El alumno desarrollará la capacidad para resolver problemas de almacenamiento, recuperación y ordenamiento de datos, utilizando las diferentes estructuras que existen para representarlos y adquirirá un conjunto de técnicas más eficientes en el desempeño de la programación para la creación de programas de propósito general. Para comprender lo que vamos a ver a lo largo de este curso analizaremos algunos conceptos básicos: Conceptos generales Qué son las técnicas de programación? La información que puede procesar una computadora es distinta a la que puede procesar un humano. Aun suponiendo que el procesamiento de información que realiza el cerebro humano es comparable con la que realiza una computadora, la diferencia de diseño entre ambos explicaría la incompatibilidad. Para el humano resulta fácil expresar y pensar conceptos abstractos. Por ejemplo la frase sumar dos números representa una operación general fácil de realizar para nosotros. Para que una computadora realice operaciones tan simples como ésta o más complejas se necesita que le demos la orden precisa. Qué ventajas aporta el uso de la computadora para la resolución de problemas? Un buen número de problemas conlleva cálculos complicados o manejo de grandes cantidades de datos. En el primer caso, el riesgo de equivocarse es grande, y en el segundo, el trabajo se convierte en pesado y rutinario. Mediante el uso de la computadora se eliminan estos inconvenientes debido a las capacidades de la misma, basadas en las siguientes características: Precisión, rapidez y memoria. Pero la computadora por sí misma no puede analizar un problema y dar directamente su solución. El programador deberá describir al ordenador con detalle y en una forma entendible para la máquina, todos los pasos que debe seguir para resolver el problema. Una descripción de este tipo es un programa y su objetivo es dirigir el funcionamiento de la máquina. El objetivo principal de las técnicas de programación es el de facilitar la comprensión del programa, y además permiten, de forma rápida, las ampliaciones y modificaciones que surjan en la fase de explotación del ciclo de vida de un programa o una ampliación informática. Las técnicas de programación son las distintas metodologías y enfoques utilizados para escribir programas. Al estructurar un programa este deberá ser: Fácil de leer y comprender Fácil de codificar en una amplia gama de lenguajes y en diferentes sistemas. Fácil de mantener. Eficiente, aprovechando al máximo los recursos de la computadora. Modularizable. Las características deseables en un programa son: Eficiencia: buen uso de los recursos. Transportabilidad: entre plataformas distintas. Verificabilidad: facilidad de comprobar el software. Integridad: protección de sus componentes. Facilidad de uso. Corrección: hacer lo que se pide sin fallos. Robustez: salvar situaciones anormales. Extensibilidad: capacidad de cambio o evolución. Reutilización: ahorro de trabajo. Compatibilidad: facilidad de combinar subprogramas. Página 1

LA PLATAFORMA MICROSOFT.NET Qué es Microsoft.NET? Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados. Ésta es la llamada plataforma.net, y a los servicios antes comentados se les denomina servicios Web. Esta plataforma formará parte de los próximos sistemas operativos de Microsoft, Windows.NET, la cual integrará las versiones actuales y el futuro Windows para plataformas de 64 bits, pretendiendo así Microsoft cubrir el vacío existente en cuanto a soluciones unificadas para dispositivos móviles de última generación y tomar el puesto en Internet ocupado actualmente por Java. Principales características Multiplataforma Proporciona aplicaciones compatibles con clientes inteligentes Objetivos Uno de los principales objetivos de la plataforma Microsoft.NET es transformar el funcionamiento de la actual red, en la que cualquier ordenador pueda ofrecer sus servicios a los demás, no basándose en grandes servidores. Microsoft pretende desarrollar esta plataforma para todos los sistemas Windows, así como introducirla en otras plataformas como telefonía, PDAs e incluso llevarla a otros sistemas operativos, pudiéndose incluso ejecutar una aplicación como Office.NET. Con este objetivo.net aparece como la base de un sistema operativo distribuido sobre el cual se ejecutan aplicaciones que están preparadas para relacionarse entre sí de manera transparente. XML en Microsoft.NET La información procedente de distintos servicios suele tener formatos distintos de forma que el intercambio de información entre ellos supone un problema. Para solucionar esto Microsoft.NET utiliza el lenguaje XML(Extensible Markup Language). Toda la información que tenga que fluir de un servicio a otro será descrita con XML para establecer la correspondencia entre el formato de la información de cada servicio y los demás. Además, la comunicación entre servicios se realizará utilizando el protocolo SOAP (Simple Object Access Protocol) que también está basado en XML y permite invocar métodos, servicios, componentes y objetos de otros servicios remotos. Capas Pueden considerarse cuatro capas en el entorno de la plataforma Microsoft.NET: Entorno común de ejecución (Common Language Runtime o CLR) Biblioteca de clases Base (BCL) Lenguajes de Programación Microsoft ASP.NET Página 2

Common Language Runtime (CLR) El Common Language Runtime (CLR) es el núcleo de la plataforma.net. Es el motor encargado de gestionar la ejecución de las aplicaciones para ella desarrolladas y a las que ofrece numerosos servicios que simplifican su desarrollo y favorecen su fiabilidad y seguridad. Características Cargador de clases: permite cargar en memoria las clases. Compilador MSIL: transforma código intermedio de alto nivel independiente del hardware que lo ejecuta a código de máquina propio del dispositivo que lo ejecuta. Recolector de basura: elimina de memoria objetos no utilizados. Motor de seguridad: administra la seguridad del código que se ejecuta. Motor de depuración: permite hacer un seguimiento de la ejecución del código aun cuando se utilicen lenguajes distintos. Verificador de tipos (CTS y CLS): controla que las variables de la aplicación usen el área de memoria que tienen asignado. Administrador de excepciones: maneja los errores que se producen durante la ejecución del código. Soporte de multiproceso (hilos): permite ejecutar código en forma paralela. Biblioteca de clases La Biblioteca de Clases Base (BCL por sus siglas en inglés) maneja la mayoría de las funciones básicas que se encuentran involucradas en el desarrollo de aplicaciones permitiendo interactuar con los dispositivos, manejo de datos, herramientas para gráficos, operaciones aritméticas, manejo de fechas, configuración y transmisión de datos a puertos, entre muchos otros. La Librería de Clase Base (BCL) es una librería incluida en el.net Framework formada por cientos de tipos de datos que permiten acceder a los servicios ofrecidos por el CLR y a las funcionalidades más frecuentemente usadas a la hora de escribir programas. Además, a partir de estas clases prefabricadas el programador puede crear nuevas clases que mediante herencia extiendan su funcionalidad y se integren a la perfección con el resto de clases de la BCL. Dado la amplitud de la BCL, ha sido necesario organizar las clases en ella incluida en espacios de nombres que agrupen clases con funcionalidades similares. Por ejemplo, los espacios de nombres más usados son: Página 3

Desarrollo de aplicaciones Visual Studio.NET Con la plataforma.net Microsoft ha construido una nueva herramienta para el desarrollo de aplicaciones y servicios web llamada Visual Studio.NET. En la esta nueva versión del Visual Studio se incluyen los lenguajes Visual Basic, JavaScript, C++ y un nuevo lenguaje cuyo objetivo es sustituir a Java llamado C#. Hay que mencionar que la plataforma Microsoft.NET utiliza un código intermedio para los ficheros.exe o.dll (MSIL) que se obtiene al compilar una aplicación o librería en dicha plataforma, la cual se encarga de traducir este código al código nativo de la máquina. Esquema general de trabajo de una aplicación.net Página 4

Microsoft Intermediate Language (MSIL) Todos los compiladores que generan código para la plataforma.net no generan código máquina para un tipo de CPU concreta, sino que generan código escrito en el lenguaje intermedio conocido como Microsoft Intermediate Lenguage (MSIL) El CLR da a las aplicaciones las sensación de que se están ejecutando sobre una máquina virtual, y precisamente MSIL es el código máquina de esa máquina virtual. Es decir, MSIL es el único código que es capaz de interpretar el CLR, y por tanto cuando se dice que un compilador genera código para la plataforma.net lo que se está diciendo es que genera MSIL. La principal ventaja del MSIL es que facilita la ejecución multiplataforma y la integración entre lenguajes al ser independiente de la CPU y proporcionar un formato común para el código máquina generado por todos los compiladores que generen código para.net. Sin embargo, dado que las CPUs no pueden ejecutar directamente MSIL, antes de ejecutarlo habrá que convertirlo al código nativo de la CPU sobre la que se vaya a ejecutar. De esto se encarga un componente del CLR conocido como compilador JIT (Just-In-Time) o jitter que va convirtiendo dinámicamente el código MSIL a ejecutar en código nativo según sea necesario. Introducción a C# C# es un lenguaje de programación orientado a objetos, que combina algunas de las características más avanzadas de Java con algunas de las más potentes de C y C++, diseñado por Microsoft para las plataformas.net. El objetivo de Microsoft al crear C# es el de sustituir a Java y convertirlo en el nuevo lenguaje de Internet, y por supuesto, en el lenguaje nativo para acceder a todos los servicios que de la plataforma.net. Este nuevo lenguaje de Microsoft, al igual que C y C++, permite programar fácilmente a bajo nivel. Gracias a esto es posible acceder a las características avanzadas de la plataforma sobre la que trabajamos y crear código muy eficiente en aquellos puntos de la aplicación que son críticos. Características de C# C# se caracteriza principalmente por: Orientado a Objetos Es un lenguaje de programación orientado a objetos: sin funciones ni variables globales, herencia simple, encapsulación con public, protectec, private e internal Sencillez C# es un lenguaje simple: faltan los indicadores, no se permiten operaciones inseguras como manipulación directa de la memoria, no se utilizan los operadores :: o ->, macros, sin ficheros cabecera... Seguridad de tipos Control de conversiones, de inicializaciones de variables, de índices en accesos a tablas, de desbordamientos, de tipos en punteros a función. Gestión automática de la memoria Controla la gerencia de memoria y la recolección automática de la basura de los recursos (liberación de memoria). Distingue entre mayúsculas y minúsculas, lo que se debe tener en cuenta a la hora de definir y utilizar identificadores de espacios, clases, tipos... Todos los tipos de datos pueden ser tratados como objetos, incluso lo considerados intrínsecos. Página 5

Los espacios con nombre o ámbitos con nombre permiten construir jerarquías que contengan clases y tipos. Las clases escritas con C# pueden ser utilizadas directamente desde otros lenguajes de la plataforma.net como Visual Basic.NET y viceversa. Esto quiere decir que se pueden definir clases con un lenguaje y utilizarlas con otro. Completa integración con el sistema operativo. C# también permite hacer llamadas a la API de Windows para utilizar todos sus servicios. Espacios con nombre Un espacio con nombre (namespace) es un espacio delimitado de manera explícita al que se le asocia un identificador. Estos espacios pueden anidarse unos dentro de otros llegando a construir jerarquías algo complejas. Para definir un espacio con nombre se utiliza la palabra clave namespace: namespace ProgObjetos namespace Csharp class HolaMundo static void Main() System.Console.WriteLine( Hola Mundo ); Para construir una referencia a un espacio se utilizan los distintos identificadores separando unos de otros mediante un punto. En el ejemplo, para acceder al espacio Csharp hay que identificarlo con ProgObjetos.Csharp. De este modo para utilizar la clase HolaMundo se debe anteponer el identificador del espacio. Si se van a utilizar de forma repetida elementos de un espacio con nombre se puede utilizar la sentencia using [nombre_espacio], que importa dicho espacio y permite utilizar sus clases y tipos sin necesidad de anteponer el identificador. Los espacios con nombre también son denominados ámbitos. Clases En C# una clase es similar a la de cualquier lenguaje orientado a objetos, teniendo una sintaxis parecida a la de C++. Al definir una clase facilitamos al compilador una plantilla a partir de la cual podremos crear posteriormente objetos con una determinada funcionalidad. La clase tendrá un identificador que será utilizado para crear objetos. En el interior de una clase y delimitado por llaves se podrán encontrar constantes, variables, métodos, propiedades... Al igual que sucede con los espacios con nombre, y como sucede en otros lenguajes orientados a objetos, las clases también pueden albergar otras clases en su interior. Esto permite estructurar mas la jerarquía y el nivel de dependencias de unos elementos respecto de otros. Los atributos público, privado y protegido se establecen de manera individual para cada método, propiedad, evento, variable y constante y el método Main ha de ser siempre static void y se constituye como punto de entrada de la aplicación. Página 6

Para definir una clase se utiliza la palabra clave class: class ProgObjeto... UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Función Main Todo programa desde el más pequeño hasta el más complejo, tiene un programa principal que es con el que se comienza la ejecución de toda la aplicación. A este programa principal lo llamaremos Main. En C# básicamente tendremos un programa definido por un espacio de nombre, una clase y su método Main: using System; using System.Collections.Generic; using System.Text; namespace Practica1_tipo_datos class Program static void Main(string[] args) Página 7