25
Programación e Programación e Ingeniería de Ingeniería de Software III Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informá tica UNIVERSIDAD AUTÓNOMA DE SINALOA

Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Embed Size (px)

Citation preview

Page 1: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Programación e Programación e Ingeniería de Software Ingeniería de Software

IIIIII

Material Proporcionado por:

MC. Gerardo Gálvez Gámez

Informática

UNIVERSIDAD AUTÓNOMA DE SINALOA

Page 2: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Introducción a Introducción a Microsoft .NETMicrosoft .NET

Page 3: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

ObjetivoObjetivo

Presentar una introducción a la Presentar una introducción a la plataforma de desarrollo plataforma de desarrollo Microsoft .NET, describiendo sus Microsoft .NET, describiendo sus principios básicos de principios básicos de funcionamiento, su arquitectura de funcionamiento, su arquitectura de componentes y sus principales componentes y sus principales bibliotecas reutilizables.bibliotecas reutilizables.

Page 4: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Temas a TratarTemas a Tratar

Introducción a Microsoft .NETIntroducción a Microsoft .NETComponentes FundamentalesComponentes FundamentalesFuncionamiento Interno del Funcionamiento Interno del CLRCLRBibliotecas PrincipalesBibliotecas PrincipalesVentajas de .NETVentajas de .NET

Page 5: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Temas a TratarTemas a TratarIntroducción a Microsoft .NETIntroducción a Microsoft .NET ¿Qué no es .NET?¿Qué no es .NET? ¿Qué es .NET?¿Qué es .NET? Paradigmas de ProgramaciónParadigmas de Programación Características de .NETCaracterísticas de .NET Plataforma de Ejecución IntermediaPlataforma de Ejecución Intermedia .NET Como evolución de COM.NET Como evolución de COM ¿Qué es el .NET Framework?¿Qué es el .NET Framework? ¿Dónde instalar el .NET Framework?¿Dónde instalar el .NET Framework? Línea del tiempo de .NETLínea del tiempo de .NET

Page 6: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

¿Qué NO es .NET?¿Qué NO es .NET?

.NET no es un Sistema Operativo.NET no es un Sistema Operativo

.NET no es un Lenguaje de Programación.NET no es un Lenguaje de Programación

.NET no es un Entorno de Desarrollo.NET no es un Entorno de Desarrollo

.NET no es un Servidor de Aplicaciones.NET no es un Servidor de Aplicaciones

.NET no es un producto empaquetado que .NET no es un producto empaquetado que se pueda comprar como tal sino que es una se pueda comprar como tal sino que es una plataforma que engloba distintas plataforma que engloba distintas aplicaciones, servicios y conceptos y que en aplicaciones, servicios y conceptos y que en conjunto permiten el desarrollo y la conjunto permiten el desarrollo y la ejecución de aplicacionesejecución de aplicaciones

Page 7: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

¿Qué es .NET?¿Qué es .NET?

Microsoft .NET es una plataforma de Microsoft .NET es una plataforma de desarrollo y ejecución de desarrollo y ejecución de aplicaciones. aplicaciones.

Nos brinda todas las herramientas y Nos brinda todas las herramientas y servicios que se necesitan para servicios que se necesitan para desarrollar modernas aplicaciones desarrollar modernas aplicaciones empresariales y de misión crítica.empresariales y de misión crítica.

También nos provee de mecanismos También nos provee de mecanismos robustos, seguros y eficientes para robustos, seguros y eficientes para asegurar que la ejecución de las asegurar que la ejecución de las mismas sea óptima. mismas sea óptima.

Page 8: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Plataforma Plataforma Microsoft.NETMicrosoft.NETEs el conjunto de nuevas tecnologías en las que Es el conjunto de nuevas tecnologías en las que

Microsoft ha estado trabajando durante los Microsoft ha estado trabajando durante los últimos años con el objetivo:últimos años con el objetivo:

Obtener una plataforma sencilla yObtener una plataforma sencilla yPotente para distribuir el software en forma de Potente para distribuir el software en forma de servicios servicios WebWebQue puedan ser suministrados remotamente yQue puedan ser suministrados remotamente y Que puedan comunicarse y combinarse unos Que puedan comunicarse y combinarse unos con otros de manera totalmente independiente con otros de manera totalmente independiente de:de: La plataforma, La plataforma, Lenguaje de programación y Lenguaje de programación y Modelo de componentes con los que hayan Modelo de componentes con los que hayan

sido desarrollados.sido desarrollados.

Page 9: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Microsoft.NETMicrosoft.NET

Permite Crear aplicaciones para la plataforma Permite Crear aplicaciones para la plataforma .NET, tanto servicios Web como .NET, tanto servicios Web como aplicaciones tradicionales (aplicaciones de aplicaciones tradicionales (aplicaciones de consola, aplicaciones de ventanas, consola, aplicaciones de ventanas, servicios de Windows NT, etc.), Microsoft servicios de Windows NT, etc.), Microsoft ha publicado el denominado kit de ha publicado el denominado kit de desarrollo de software conocido como:desarrollo de software conocido como:

1.1. .NET Framework SDK.NET Framework SDK, que incluye las , que incluye las herramientas necesarias tanto para su herramientas necesarias tanto para su desarrollo como para su distribución y ejecución desarrollo como para su distribución y ejecución y y

2.2. Visual Studio.NETVisual Studio.NET, que permite hacer todo lo , que permite hacer todo lo anterior desde una interfaz visual basada en anterior desde una interfaz visual basada en ventanas. ventanas.

Page 10: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

¿Qué es .NET?¿Qué es .NET?Plataforma de Desarrollo compuesta de:Plataforma de Desarrollo compuesta de:

Entorno de Ejecución (Runtime) componente de software cuya función es la de ejecutar las aplicaciones .NET e interactuar con el sistema operativo ofreciendo sus servicios y recursos.

Bibliotecas de Funcionalidad (Class Library) y controles reutilizables componentes ya programados listos para ser consumidos por otras aplicaciones.

Lenguajes de Programación de alto nivel , junto con sus compiladores y linkers permitirán el desarrollo de aplicaciones sobre la plataforma .NET.

Herramientas de Desarrollo (IDE & Tools) simplificar las tareas más comunes del proceso de desarrollo de aplicaciones

Documentación y Guías de Arquitectura describen las mejores prácticas de diseño, organización, desarrollo, prueba e instalación de aplicaciones .NET

Page 11: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

¿Qué es .NET?¿Qué es .NET?

La evolución de la plataforma COM(Component La evolución de la plataforma COM(Component Object Model), la plataforma de desarrollo de Object Model), la plataforma de desarrollo de Microsoft anterior a .NET y sobre la cual se basaba el Microsoft anterior a .NET y sobre la cual se basaba el desarrollo de aplicaciones Visual Basic 6 (entre otros desarrollo de aplicaciones Visual Basic 6 (entre otros tantos lenguajes y versiones).tantos lenguajes y versiones).

Page 12: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Paradigmas de Paradigmas de ProgramaciónProgramación

19801980 19901990 20002000

Fu

nci

on

alid

adF

un

cio

nal

idad

Win16Win16 Win32Win32COMCOM

MFCMFCComponentes

ComponentesServiciosServicios

APIsAPIs

Windows3.0

Page 13: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Factores que motivaron al Factores que motivaron al desarrollo de .NETdesarrollo de .NET- La amplia disponibilidad de conexiones a Internet La amplia disponibilidad de conexiones a Internet

de alta velocidad, e incluso inalámbricasde alta velocidad, e incluso inalámbricas

- La proliferación de nuevos tipos de dispositivos La proliferación de nuevos tipos de dispositivos de hardware que son usados en la vida diaria de hardware que son usados en la vida diaria (teléfonos inteligentes, Pocket PC’s, HandHelds, (teléfonos inteligentes, Pocket PC’s, HandHelds, Media Centers, etc.)Media Centers, etc.)

- El creciente poder de cómputo de las El creciente poder de cómputo de las computadoras personales y servidores basados computadoras personales y servidores basados en arquitecturas x86.en arquitecturas x86.

- El surgimiento de estándares de Internet para El surgimiento de estándares de Internet para permitir la comunicación e integración entre permitir la comunicación e integración entre diversas plataformas de softwarediversas plataformas de software

Page 14: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Características de .NET Características de .NET (1/3)(1/3)

Plataforma de ejecución intermedia: Las aplicaciones .NET no son ejecutadas directamente por el Las aplicaciones .NET no son ejecutadas directamente por el

sistema operativo.sistema operativo. Las aplicaciones .NET están diseñadas para ser ejecutadas Las aplicaciones .NET están diseñadas para ser ejecutadas

contra un componente de software llamado Entorno de contra un componente de software llamado Entorno de Ejecución ( “Runtime”, o , “Máquina Virtual”).Este Ejecución ( “Runtime”, o , “Máquina Virtual”).Este componente es el encargado de:componente es el encargado de:

manejar el ciclo de vida de cualquier manejar el ciclo de vida de cualquier aplicación .NET,aplicación .NET,

iniciándola, iniciándola, deteniéndola, deteniéndola, interactuando con el Sistema Operativo yinteractuando con el Sistema Operativo y proveyéndole servicios y proveyéndole servicios y recursos en tiempo de ejecución.recursos en tiempo de ejecución.

100% Orientada a Objetos.

Page 15: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Características de .NET Características de .NET (2/3)(2/3)

Multilenguaje, no necesitamos aprender un único lenguaje específico de programación de alto nivel.

Plataforma Empresarial de Misión Crítica: Permite la creación y ejecución de aplicaciones de Permite la creación y ejecución de aplicaciones de

porte corporativo que sean críticas para la porte corporativo que sean críticas para la operación de tipos variados de organizaciones.operación de tipos variados de organizaciones.

Es muy atrayente para desarrolladores:Es muy atrayente para desarrolladores: No profesionales. No profesionales. Estudiantes y entusiastas. Estudiantes y entusiastas. Su verdadero poder radica en su capacidad Su verdadero poder radica en su capacidad

para soportar las aplicaciones más grandes y para soportar las aplicaciones más grandes y complejas.complejas.

Page 16: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Características de .NET Características de .NET (3/3)(3/3)

Modelo de Programación único para todo tipo Modelo de Programación único para todo tipo de aplicaciones y dispositivos de hardware.de aplicaciones y dispositivos de hardware.

Se integra fácilmente con aplicaciones Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas existentes desarrolladas en plataformas Microsoft.Microsoft.

Se integra fácilmente con aplicaciones Se integra fácilmente con aplicaciones desarrolladas en otras plataformas.desarrolladas en otras plataformas.

Para esto hace un uso extensivo de numerosos Para esto hace un uso extensivo de numerosos estándares globales que son de uso estándares globales que son de uso extensivo en la industria, y acerca de los extensivo en la industria, y acerca de los cuales iremos aprendiendo a lo largo del cuales iremos aprendiendo a lo largo del curso. Algunos ejemplos de estos estándares curso. Algunos ejemplos de estos estándares son XML, HTTP, SOAP, WSDL y UDDI.son XML, HTTP, SOAP, WSDL y UDDI.

Page 17: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Clientes para la Clientes para la plataforma .NETplataforma .NETLa plataforma .NET es compatible con los

siguientes dispositivos inteligentes:

PCs portátiles Estaciones de trabajo PCs de bolsillo PDAs Teléfonos móviles inteligentes Consolas de juegos Tablet PCs

Page 18: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Plataforma de Ejecución Plataforma de Ejecución IntermediaIntermedia

Entorno de

Desarrollo

Mic

rosoft

.N

ET

Librerías de Funcionalidad

Lenguajes de Programación

Entorno de Ejecución

Sistema Operativo (Familia Windows)

Aplicación .NET

Page 19: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

.NET como evolución de .NET como evolución de COMCOMEntorno de Ejecución (Runtime)Entorno de Ejecución (Runtime)

COM (Component Object Model : WindowsCOM (Component Object Model : Windows .NET: Common Language Runtime.NET: Common Language Runtime

Librerías de FuncionalidadLibrerías de Funcionalidad COM: Algunas (ADO, RDO, etc.)COM: Algunas (ADO, RDO, etc.) .NET: Muy extensa (.NET Framework Class .NET: Muy extensa (.NET Framework Class

Library)Library)

Lenguajes de ProgramaciónLenguajes de Programación COM: VB, C++, VFP, ASP, J++COM: VB, C++, VFP, ASP, J++ .NET: Common Language Specification.NET: Common Language Specification

Entorno de Desarrollo (IDE)Entorno de Desarrollo (IDE) COM: Uno para cada lenguajeCOM: Uno para cada lenguaje .NET: Uno independiente del lenguaje (VS.NET).NET: Uno independiente del lenguaje (VS.NET)

Page 20: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

¿Qué es el .NET Framework?¿Qué es el .NET Framework?

Es el componente fundamental de la Es el componente fundamental de la plataforma Microsoft .NET, necesario plataforma Microsoft .NET, necesario tanto para poder desarrollar tanto para poder desarrollar aplicaciones como para poder aplicaciones como para poder ejecutarlas luego en entornos de ejecutarlas luego en entornos de prueba o producción.prueba o producción.

Incluye:Incluye: Entorno de Ejecución (Runtime)Entorno de Ejecución (Runtime) Bibliotecas de Funcionalidad Bibliotecas de Funcionalidad reutilizable reutilizable (Class (Class

Library)Library) El motor de generación de interfaz de usuario El motor de generación de interfaz de usuario

(web y windows)(web y windows)

Se distribuye en forma libre y Se distribuye en forma libre y gratuita.gratuita.

Está instalado por defecto en Está instalado por defecto en Windows XP SP2 y 2003 Server o Windows XP SP2 y 2003 Server o superior.superior.

Page 21: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

¿Qué es el .NET Framework?¿Qué es el .NET Framework?Existen tres variantes principales:Existen tres variantes principales: .NET Framework Redistributable

Package, , mínimo componente de la mínimo componente de la plataforma .NET que se necesita para poder plataforma .NET que se necesita para poder ejecutar aplicaciones, que se instala en los ejecutar aplicaciones, que se instala en los entornos productivos, una vez que el entornos productivos, una vez que el desarrollo y las pruebas de la aplicación han desarrollo y las pruebas de la aplicación han finalizado.finalizado.

.NET Framework SDK, contiene contiene herramientas de desarrollo de línea de herramientas de desarrollo de línea de comandos (compiladores, depuradores, etc.), comandos (compiladores, depuradores, etc.), documentación de referencia, ejemplos y documentación de referencia, ejemplos y manuales para desarrolladores de manuales para desarrolladores de aplicaciones(útil a los programadores)aplicaciones(útil a los programadores)

.NET Compact Framework, versión reducida versión reducida del .NET Framework Redistributable, del .NET Framework Redistributable, especialmente pensada para ser instalada en especialmente pensada para ser instalada en dispositivos móviles como Pocket PC’s y dispositivos móviles como Pocket PC’s y SmartPhones.SmartPhones.

Page 22: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

¿Dónde instalar el .NET ¿Dónde instalar el .NET Framework?Framework?

.NET Compact Framework

**

AplicaciónMóvil

Aplicación de Consola

Aplicación Web

Aplicación de Escritorio

ServidorCliente

* Sólo si la aplicación es distribuída* Sólo si la aplicación es distribuída

Debe estar instalado en cualquier dispositivo de hardware para que la ejecución de una aplicación .NET sea posible.

.NET Framework puede ser instalado en cualquier sistema operativo de la familia Windows, superior a Windows 98.

Page 23: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Visual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASP

Visual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#

.NET 3.0

2000 2001 2002 2003 2004 2005 2006 2007

Visual Studio 2005 (“Whidbey”).NET Framework 2.0 (“Whidbey”).NET Compact Framework 2.0 (“Whidbey”)

Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#

Versiones de Versiones de Microsoft .NETMicrosoft .NET

.NET 3.5,C# 3.0,VS 2008(Orcas)

Page 24: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

Productos y TecnologíasProductos y Tecnologías

Page 25: Programación e Ingeniería de Software III Material Proporcionado por: MC. Gerardo Gálvez Gámez Informática UNIVERSIDAD AUTÓNOMA DE SINALOA

© 2007. All rights reserved.

FINFIN