SlideShare ist ein Scribd-Unternehmen logo
1 von 80
ANTEPROYECTO DE TESIS
INSTITUTO TECNOLÓGICO SUPERIOR PARTICULAR
“SAN GABRIEL”




TÍTULO DEL PROYECTO:


Desarrollo del sistema Académico para el proceso de matriculación utilizando
Visual Studio 2010, para el colegio nacional 11 de noviembre perteneciente a
la parroquia San Andrés de la provincia de Chimborazo


PREVIA A LA OBTENCION DEL TÍTULO DE TECNÓLOGO
EN INFORMÁTICA


MENCION: ANÁLISIS DE SISTEMAS


PRESENTADO POR: Marcia Obdulia Campoverde Guilcapi


ANALIZADO           Y    APROBADO           POR         LA   COMISIÓN
TÉCNICA:




FECHA                          DE                        APROBACIÓN:
………………………………………………………………………
……………………………………………………………………
1. ASPECTOS GENERALES:


    1.1. TÍTULO DEL PROYECTO


Desarrollo del sistema Académico para        el proceso de     matriculación
utilizando Visual Studio 2010.Para el colegio nacional 11 de noviembre
perteneciente a la Parroquia San Andrés Provincia de Chimborazo.


    1.2. PROPONENTE:


NOMBRE: Marcia Obdulia Campoverde Guilcapi


ESPECIALIDAD: Diseño y Análisis


ÁREA: Sistemas


1.3. ASESOR DOCENTE:


Ing. Patricio Nevarez


1.4. LUGAR DE REALIZACIÓN:


Col. Nacional 11 de Noviembre


1.5. TIEMPO DE DURACIÓN:


6   meses


1.6. FECHA ESTIMADA DE INICIACIÓN:


Septiembre 2012
2.          FORMULACIÓN GENERAL DEL PROYECTO DE
TESIS:


     2.1.    ANTECEDENTES


La creación del Colegio Nacional 11 de Noviembre. Fue un hecho de
invalorable importancia, ya que se convirtió en el motor cultural del cambio,
transformación y adelanto socioeconómico de la comunidad de Pulinguí
.Parroquia San Andrés Cantón Guano.


Acontecimiento memorable que se produjo el 20 de Septiembre de 1985.Con el
nombre de 11 de Noviembre: en honor a la gesta heroica de Riobamba en 1820
y oficializado por el ministerio de educación mediante Acuerdo Ministerial
10115.


Es importante destacar que nuestra institución tuvo su origen a través de la
brillante idea progresista de los habitantes de Pulinguí, quienes dejaron volar
libremente su imaginación, aunque no en pocas ocasiones sus ánimos decaían
llegando a pensar que la idea de contar con una institución educativa de nivel
medio en su comunidad podía ser únicamente una quimera, una utopía: sin
embargo le agregaron una gran dosis de dedicación y por qué no decirlo
sacrificio hasta alcanzar el objetivo.


El Colegio Nacional 11 de Noviembre, durante el periodo lectivo 1985-1986
abrió sus puertas a la juventud con exquisitos deseos de superación basada en
la ética profesional honestidad, solidaridad y vacación de servicio a la
comunidad encaminándose hacia la excelencia educativa.


Hay que recalcar que desde siempre el servicio a la juventud estudiosa es un
compromiso de todos quienes hacemos el colegio 11 de Noviembre, es una
constante redoblar esfuerzos para formar bachilleres de élite a través de una
coeducación integral haciendo de los jóvenes personas solidarias, creativas y
sobre todo comprometidos con la sociedad.


    2.2.     JUSTIFICACIÓN


La información de matriculación se ha venido manejando de forma manual
llevando una pérdida de tiempo y recursos por lo que la Institución ha optado
por un Sistema Informático para llevar de mejor manera y rápida la
matriculación y entrega de boletines       ya que esto se realizar de forma
automatizado para mayor rapidez.


    2.3.     OBJETIVOS


    2.3.1.   OBJETIVOS GENERALES


Desarrollar el Sistema Académico para el proceso de matriculación utilizando
Visual Studio 2010 para el colegio Nacional 11 de Noviembre.


    2.3.2. OBJETIVOS ESPECIFICOS


•       Recopilar la información necesaria para el desarrollo del sistema.
•       Sistematizar la información de los estudiantes que existan en la
Institución a través del sistema informático.
•       Realizar el sistema para la matriculación de los estudiantes utilizando
la herramienta visual studio 2010.


    2.4.     MARCO TEÓRICO:


                           CAPITULO I
Servidor.
En informática, un servidor es una computadora que, formando parte de una
red, provee servicios a otras computadoras denominadas clientes.

También se suele denominar con la palabra servidor a:

Una aplicación informática o programa que realiza algunas tareas en beneficio
de otras aplicaciones llamadas clientes. Algunos servicios habituales son los
servicios de archivos, que permiten a los usuarios almacenar y acceder a los
archivos de una computadora y los servicios de aplicaciones, que realizan
tareas en beneficio directo del usuario final. Este es el significado original del
término. Es posible que un ordenador cumpla simultáneamente las funciones
de cliente y de servidor.

Una computadora en la que se ejecuta un programa que realiza alguna tarea en
beneficio de otras aplicaciones llamadas clientes, tanto si se trata de
un ordenador     central(mainframe),     un miniordenador,      una computadora
personal, una PDA o un sistema embebido; sin embargo, hay computadoras
destinadas únicamente a proveer los servicios de estos programas: estos son los
servidores por antonomasia.




Un servidor no es necesariamente una máquina de última generación de
grandes proporciones, no es necesariamente un superordenador; un servidor
puede ser desde una computadora vieja, hasta una máquina sumamente potente
(ej.: servidores web, bases de datos grandes, etc. Procesadores especiales y
hasta varios terabytes de memoria). Todo esto depende del uso que se le dé al
servidor. Si usted lo desea, puede convertir al equipo desde el cual usted está
leyendo esto en un servidor instalando un programa que trabaje por la red y a la
que los usuarios de su red ingresen a través de un programa de servidor web
como Apache.

Por lo cual podemos llegar a la conclusión de que un servidor también puede
ser un proceso que entrega información o sirve a otro proceso. El
modelo Cliente-servidor no necesariamente implica tener dos ordenadores, ya
que un proceso cliente puede solicitar algo como una impresión a un proceso
servidor en un mismo ordenador.

Tipos de servidores

En la siguiente lista hay algunos tipos comunes de servidores:


      Servidor de archivo: es el que almacena varios tipos de archivos y
los distribuye a otros clientes en la red.


      Servidor de impresiones: controla una o más impresoras y acepta
trabajos de impresión de otros clientes de la red, poniendo en cola los trabajos
de impresión (aunque también puede cambiar la prioridad de las diferentes
impresiones), y realizando la mayoría o todas las otras funciones que en un
sitio de trabajo se realizaría para lograr una tarea de impresión si la impresora
fuera conectada directamente con el puerto de impresora del sitio de trabajo.


      Servidor de correo: almacena, envía, recibe, en ruta y realiza otras
operaciones relacionadas con email para los clientes de la red.


      Servidor de fax: almacena, envía, recibe, en ruta y realiza otras
funciones necesarias para la transmisión, la recepción y la distribución
apropiadas de los fax.


      Servidor de la telefonía: realiza funciones relacionadas con la
telefonía, como es la de contestador automático, realizando las funciones de un
sistema interactivo para la respuesta de la voz, almacenando los mensajes de
voz, encaminando las llamadas y controlando también la red o el Internet, p.
ej., la entrada excesiva de la voz sobre IP (Vip), etc.
      Servidor proxy: realiza un cierto tipo de funciones a nombre de
otros clientes en la red para aumentar el funcionamiento de ciertas operaciones
(p. ej., prefetching y depositar documentos u otros datos que se soliciten muy
frecuentemente), también proporciona servicios de seguridad, o sea, incluye
un cortafuegos. Permite administrar el acceso a internet en una red de
computadoras permitiendo o negando el acceso a diferentes sitios Web.


      Servidor del acceso remoto (RAS): controla las líneas de
módem de los monitores u otros canales de comunicación de la red para que las
peticiones conecten con la red de una posición remota, responde llamadas
telefónicas entrantes o reconoce la petición de la red y realiza la autentificación
necesaria y otros procedimientos necesarios para registrar a un usuario en la
red.


      Servidor de uso: realiza la parte lógica de la informática o del
negocio de un uso del cliente, aceptando las instrucciones para que se realicen
las operaciones de un sitio de trabajo y sirviendo los resultados a su vez al sitio
de trabajo, mientras que el sitio de trabajo realiza la interfaz operadora o la
porción del GUI del proceso (es decir, la lógica de la presentación) que se
requiere para trabajar correctamente.


      Servidor web: almacena documentos HTML, imágenes, archivos de
texto, escrituras, y demás material Web compuesto por datos (conocidos
colectivamente como contenido), y distribuye este contenido a clientes que la
piden en la red.


      Servidor de base de datos: provee servicios de base de datos a
otros programas u otras computadoras, como es definido por el modelo cliente-
servidor. También puede hacer referencia a aquellas computadoras (servidores)
dedicadas a ejecutar esos programas, prestando el servicio.


      Servidor de reserva: tiene el software de reserva de la red instalado
y tiene cantidades grandes de almacenamiento de la red en discos duros u otras
formas del almacenamiento (cinta, etc.) disponibles para que se utilice con el
fin de asegurarse de que la pérdida de un servidor principal no afecte a la red.
Esta técnica también es denominada clustering.


      Servidor de impresión: muchas impresoras son capaces de actuar
como parte de una red de ordenadores sin ningún otro dispositivo, tal como un
"print server" (servidor de impresión), a actuar como intermediario entre la
impresora y el dispositivo que está solicitando que se termine un trabajo de
impresión.

Sin embargo, de acuerdo al rol que asumen dentro de una red se dividen en:


      Servidor dedicado: son aquellos que le dedican toda su potencia a
administrar los recursos de la red, es decir, a atender las solicitudes de
procesamiento de los clientes.
      Servidor no dedicado: son aquellos que no dedican toda su
potencia a los clientes, sino también pueden jugar el rol de estaciones de
trabajo al procesar solicitudes de un usuario local.


CAPITULO II




Comparación en tamaño entre un cliente liviano y un cliente pesado. El cliente
híbrido pudiera ser de cualquier tamaño entre estos dos.
El cliente es una aplicación informática o un computador que accede a un
servicio remoto en otro computador, conocido como servidor, normalmente a
través de una red de telecomunicaciones

   El   término    se   usó    inicialmente    para   los   llamados terminales
tontos, dispositivos que no eran capaces de ejecutar programas por sí mismos,
pero podían conectarse e interactuar con computadores remotos por medio de
una red y dejar que éste realizase todas las operaciones requeridas, mostrando
luego los resultados al usuario. Se utilizaban sobre todo porque su coste en esos
momentos era mucho menor que el de un computador. Estos terminales
tontos eran clientes de un computador mainframe por medio del tiempo
compartido.

Actualmente se suelen utilizar para referirse a programas que requieren
específicamente una conexión a otro programa, al que se denomina servidor y
que suele estar en otra máquina. Ya no utilizan por criterios de coste, sino para
obtener datos externos (por ejemplo páginas web, información bursátil o bases
de datos), interactuar con otros usuarios a través de un gestor central (como por
ejemplo los protocolos bittorrent o IRC), compartir información con otros
usuarios (servidores de archivos y otras aplicaciones Groupware) o utilizar
recursos de los que no se dispone en la máquina local (por ejemplo impresión)

Uno de los clientes más utilizados, sobre todo por su versatilidad, es
el navegador web. Muchos servidores son capaces de ofrecer sus servicios a
través de un navegador web en lugar de requerir la instalación de un programa
específico.



TIPOS DE CLIENTES


 Existen varios tipos de clientes, dependiendo de la cantidad de tareas que
realice el cliente en comparación con el servidor.
Almacenamiento         de           Proceso       de
                         datos local                         datos local



  Cliente
                              Sí                                 Sí
  pesado



  Cliente
                              No                                 Sí
  híbrido



  Cliente
                              No                                 No
  liviano




Cliente pesado
Un cliente pesado tiene capacidad de almacenar los datos y procesarlos, pero
sigue necesitando las capacidades del servidor para una parte importante de sus
funciones. Un cliente de correo electrónico suele ser un cliente pesado. Puede
almacenar los mensajes de correo electrónico del usuario, trabajar con ellos y
redactar nuevos mensajes, pero sigue necesitando una conexión al servidor
para enviar y recibir los mensajes.

Cliente híbrido
Un cliente híbrido no tiene almacenados los datos con los que trabaja, pero sí
es capaz de procesar datos que le envía el servidor. Muchos programas de
colaboración almacenan remotamente los datos para que todos los usuarios
trabajen con la misma información, y utilizan clientes híbridos para acceder a
esa información.

Cliente liviano
Un cliente liviano no tiene capacidad de procesamiento y su única función es
recoger los datos del usuario, dárselos al servidor, y mostrar su respuesta. Los
primeros navegadores web eran clientes livianos, simplemente mostraban
las páginas web que solicitaba el usuario. Actualmente, el uso de lenguajes
de script, programas Java y otras funciones de DHTML dan una capacidad de
procesamiento a los navegadores, por lo que se consideran clientes Híbridos.

CAPITULO III

Cliente- Servidor:

Introducción
En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que
para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor
al reconocedor de voz que brinda servicios a las peticiones que hace el sistema
MexVox, el cual hace las veces de cliente.
En el mundo de TCP/IP las comunicaciones entre computadoras se rigen
básicamente por lo que se llama modelo Cliente-Servidor, éste es un modelo
que intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad
en las comunicaciones.
El término Cliente/Servidor fue usado por primera vez en 1980 para referirse a
PC’s en red.
Este modelo Cliente/Servidor empezó a ser aceptado a finales de los 80’s. Su
funcionamiento es sencillo: se tiene una máquina cliente, que requiere un
servicio de una máquina servidor, y éste realiza la función para la que está
programado (nótese que no tienen que tratarse de máquinas diferentes; es decir,
una computadora por sí sola puede ser ambos cliente y servidor dependiendo
del software de configuración).
Cliente-servidor

La arquitectura cliente-servidor consiste básicamente en un cliente que
realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque
esta idea se puede aplicar a programas que se ejecutan sobre una sola
computadora es más ventajosa en un sistema operativo multiusuario distribuido
a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y
los servidores, aunque son más importantes las ventajas de tipo organizativo
debidas a la centralización de la gestión de la información y la separación de
responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico, donde
el servidor no se ejecuta necesariamente sobre una sola máquina ni es
necesariamente un sólo programa. Los tipos específicos de servidores incluyen
los servidores web, los servidores de archivo, los servidores del correo, etc.
Mientras que sus propósitos varían de unos servicios a otros, la arquitectura
básica seguirá siendo la misma.

Una disposición muy común son los sistemas multicapa en los que el servidor
se descompone en diferentes programas que pueden ser ejecutados por
diferentes computadoras aumentando así el grado de distribución del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que
no hay distribución, tanto a nivel físico como a nivel lógico.

La red cliente-servidor es aquella red de comunicaciones en la que todos los
clientes están conectados a un servidor, en el que se centralizan los diversos
recursos y aplicaciones con que se cuenta; y que los pone a disposición de los
clientes cada vez que estos son solicitados. Esto significa que todas las
gestiones que se realizan se concentran en el servidor, de manera que en él se
disponen los requerimientos provenientes de los clientes que tienen prioridad,
los archivos que son de uso público y los que son de uso restringido, los
archivos que son de sólo lectura y los que, por el contrario, pueden ser
modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de
que se esté utilizando en una red mixta.

Características
En la arquitectura C/S el remitente de una solicitud es conocido como cliente.
Sus características son:

Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la
comunicación (dispositivo maestro o amo).
Espera y recibe las respuestas del servidor.

Por lo general, puede conectarse a varios servidores a la vez.

Normalmente interactúa directamente con los usuarios finales mediante
una interfaz gráfica de usuario.

Al contratar un servicio de redes, se tiene que tener en la velocidad de
conexión que le otorga al cliente y el tipo de cable que utiliza, por ejemplo:
cable de cobre ronda entre 1 ms y 50 ms.

Al receptor de la solicitud enviada por el cliente se conoce como servidor.
Sus características son:

Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan
entonces un papel pasivo en la comunicación (dispositivo esclavo).

Tras la recepción de una solicitud, la procesan y luego envían la respuesta al
cliente.

Por lo general, aceptan conexiones desde un gran número de clientes (en
ciertos casos el número máximo de peticiones puede estar limitado).

No es frecuente que interactúen directamente con los usuarios finales

Comparación de la arquitectura C/S con otras arquitecturas de red.



Comparación con las redes de pares

Las redes de pares, también conocidas como redes par-a-par o peer-to-
peer (abreviados con las siglas P2PM) son otro tipo de arquitectura de red.



Comparación con la arquitectura Cliente-Cola-Cliente

Si bien la clásica arquitectura C/S requiere uno de los puntos terminales de
comunicación para actuar como un servidor, que puede ser algo más difícil de
aplicar, la arquitectura Cliente-Cola-Cliente habilita a todos los nodos para
actuar como clientes simples, mientras que el servidor actúa como una cola que
va capturando las peticiones de los clientes (un proceso que debe pasar sus
peticiones a otro, lo hace a través de una cola, por ejemplo, una consulta a una
base de datos, entonces, el segundo proceso conecta con la base de datos,
elabora la petición, la pasa a la base de datos, etc.). Esta arquitectura permite
simplificar   en    gran    medida       la   implementación   de   software.   La
arquitectura P2P originalmente se basó en el concepto "Cliente-Cola-Cliente".



Arquitecturas multi-capas

La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la
red: clientes y servidores. Consecuentemente, estas arquitecturas genéricas se
refieren a veces como arquitecturas de dos niveles o dos capas.

Algunas redes disponen de tres tipos de nodos:

       Clientes que interactúan con los usuarios finales.
       Servidores de aplicación que procesan los datos para los clientes.

       Servidores de la base de datos que almacenan los datos para los
servidores de aplicación.



El Modelo Cliente-Servidor
Desde el punto de vista funcional, se puede definir la computación
Cliente/Servidor como una arquitectura distribuida que permite a los usuarios
finales obtener acceso a la información en forma transparente aún en entornos
multiplataforma.
En el modelo cliente servidor, el cliente envía un mensaje solicitando un
determinado servicio a un servidor (hace una petición), y este envía uno o
varios mensajes con la respuesta (provee el servicio) (Ver Figura 5.1). En un
sistema distribuido cada máquina puede cumplir el rol de servidor para algunas
tareas y el rol de cliente para otras.
La idea es tratar a una computadora como un instrumento, que por sí sola
pueda realizar muchas tareas, pero con la consideración de que realice aquellas
que son más adecuadas a sus características. Si esto se aplica tanto a clientes
como servidores se entiende que la forma más estándar de aplicación y uso de
sistemas Cliente/Servidor es mediante la explotación de las PC’s a través de
interfaces gráficas de usuario; mientras que la administración de datos y su
seguridad e integridad se deja a cargo de computadoras centrales tipo
mainframe. Usualmente la mayoría del trabajo pesado se hace en el proceso
llamado servidor y el o los procesos cliente sólo se ocupan de la interacción
con el usuario (aunque esto puede variar). En otras palabras la arquitectura
Cliente/Servidor es una extensión de programación modular en la que la base
fundamental es separar una gran pieza de software en módulos con el fin de
hacer más fácil el desarrollo y mejorar su mantenimiento
Esta arquitectura permite distribuir físicamente los procesos y los datos en
forma más eficiente lo que en computación distribuida afecta directamente el
tráfico de la red, reduciéndolo grandemente.


Cliente
El cliente es el proceso que permite al usuario formular los requerimientos y
pasarlos al servidor, se le conoce con el término front-end .
El Cliente normalmente maneja todas las funciones relacionadas con la
manipulación y despliegue de datos, por lo que están desarrollados sobre
plataformas que permiten construir interfaces gráficas de usuario (GUI),
además de acceder a los servicios distribuidos en cualquier parte de una red.
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes
puntos:
Administrar la interfaz de usuario.
Interactuar con el usuario.
Procesar la lógica de la aplicación y hacer validaciones locales.
Generar requerimientos de bases de datos.
Recibir resultados del servidor.
Formatear resultados.


Servidor
Es el proceso encargado de atender a múltiples clientes que hacen peticiones de
algún recurso administrado por él. Al proceso servidor se le conoce con el
término back-end.
El servidor normalmente maneja todas las funciones relacionadas con la
mayoría de las reglas del negocio y los recursos de datos.
Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes
puntos:
Aceptar los requerimientos de bases de datos que hacen los clientes.
Procesar requerimientos de bases de datos.
Formatear datos para trasmitirlos a los clientes.
Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de
datos.
Características de la arquitectura Cliente/Servidor



Las características básicas de una arquitectura Cliente/Servidor son:
Combinación de un cliente que interactúa con el usuario, y un servidor que
interactúa con los recursos compartidos. El proceso del cliente proporciona la
interfaz entre el usuario y el resto del sistema. El proceso del servidor actúa
como un motor de software que maneja recursos compartidos tales como bases
de datos, impresoras, módems, etc.
Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto
a recursos de cómputo como velocidad del procesador, memoria, velocidad y
capacidades del disco y input-output divises.
Se establece una relación entre procesos distintos, los cuales pueden ser
ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo
largo de la red.


Existe una clara distinción de funciones basada en el concepto de "servicio",
que se establece entre clientes y servidores.


La relación establecida puede ser de muchos a uno, en la que un servidor puede
dar servicio a muchos clientes, regulando su acceso a recursos compartidos.
Los clientes corresponden a procesos activos en cuanto a que son éstos los que
hacen peticiones de servicios a los servidores. Estos últimos tienen un carácter
pasivo ya que esperan las peticiones de los clientes.


No existe otra relación entre clientes y servidores que no sea la que se establece
a través del intercambio de mensajes entre ambos. El mensaje es el mecanismo
para la petición y entrega de solicitudes de servicio.


El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo
del cliente y del servidor no son siempre la misma. Precisamente una de las
principales ventajas de esta arquitectura es la posibilidad de conectar clientes y
servidores independientemente de sus plataformas.


El concepto de escalabilidad tanto horizontal como vertical es aplicable a
cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite agregar
más estaciones de trabajo activas sin afectar significativamente el rendimiento.
La escalabilidad vertical permite mejorar las características del servidor o
agregar múltiples servidores.


           Modelo Cliente-Servidor en el sistema MexVox.
En la implementación del sistema, nosotros utilizamos esta arquitectura en la
misma computadora, convirtiendo a MexVox en cliente y al reconocedor en
servidor. Esto porque MexVox no permite trabajar directamente con las
herramientas del ActiveX que son con las que implementamos el reconocedor.
Al entrar al sistema MexVox, éste hace un llamado al reconocedor y mediante
éste llamado se hace la conexión, luego cuando el usuario requiere del
reconocedor, presiona una tecla que es la petición desde el MexVox al
reconocedor. Con esto el reconocedor entiende que lo están llamando y tiene
disponible el servicio de reconocer lo que el usuario hable. Hace el proceso de
reconocimiento y regresa a MexVox el comando reconocido. Cuando el
usuario presiona nuevamente la tecla, MexVox envía una petición al
reconocedor de que esté dormido (es decir que no reconozca) hasta que se le
llame nuevamente.
Múltiple Server


Para que un proceso se realice de la mejor manera, es preferible utilizar
terminales distintos realizando la misma tarea, a centralizar los recursos y que
con más hardware/software se realice la misma tarea. Con la ejecución de
múltiples. Servidores el procesamiento es más rápido, el tiempo de respuesta es
descentralizado y se incrementa la confiabilidad.


Cooperación de procesos paralelos

El mismo proceso se ejecuta simultáneamente (sistemas redundantes).



Cooperación de base de datos

Si se requiere de cierta información ya existente, por qué crearla de nuevo,
simplemente interactúa y aprovecha la información ya creada.



Ventajas del esquema Cliente/Servidor
Entre las principales ventajas del esquema Cliente/Servidor están:
Uno de los aspectos que más ha promovido el uso de sistemas
Cliente/Servidor, es la existencia de plataformas de hardware cada vez más
baratas. Esta constituye a su vez una de las más palpables ventajas de este
esquema, la posibilidad de utilizar máquinas considerablemente más baratas
que las requeridas por una solución centralizada, basada en sistemas grandes.
Además, se pueden utilizar componentes, tanto de hardware como de software,
de varios fabricantes, lo cual contribuye considerablemente a la reducción de
costos y favorece la flexibilidad en la implantación y actualización de
soluciones.


El esquema Cliente/Servidor facilita la integración entre sistemas diferentes y
comparte información permitiendo, por ejemplo que las máquinas ya existentes
puedan ser utilizadas pero utilizando interfaces mas amigables al usuario. De
esta manera, podemos integrar PCs con sistemas medianos y grandes, sin
necesidad de que todos tengan que utilizar el mismo sistema operacional.
Al favorecer el uso de interfaces gráficas interactivas, los sistemas Construidos
bajo este esquema tienen mayor interacción y más intuitiva con el usuario. En
el uso de interfaces gráficas para el usuario, el esquema Cliente/Servidor
presenta la ventaja, con respecto a uno centralizado, de que no es siempre
necesario transmitir información gráfica por la red pues esta puede residir en el
cliente, lo cual permite aprovechar mejor el ancho de banda de la red.


Una ventaja adicional del uso del esquema Cliente/Servidor es que es más
rápido el mantenimiento y el desarrollo de aplicaciones, pues se pueden
emplear las herramientas existentes (por ejemplo los servidores de SQL o las
herramientas de más bajo nivel como los sockets o el RPC).


La estructura inherentemente modular facilita además la integración de nuevas
tecnologías y el crecimiento de la infraestructura computacional, favoreciendo
así la escalabilidad de las soluciones.
El esquema Cliente/Servidor contribuye además, a proporcionar, a los
diferentes departamentos de una organización, soluciones locales, pero
permitiendo la integración de la información relevante a nivel global.


Desventajas del esquema Cliente/Servidor
Entre las principales desventajas del esquema Cliente/Servidor están:
El mantenimiento de los sistemas es más difícil pues implica la interacción de
diferentes partes de hardware y de software, distribuidas por distintos
proveedores, lo cual dificulta el diagnóstico de fallas.
Se cuenta con muy escasas herramientas para la administración y ajuste del
desempeño de los sistemas.
Es importante que los clientes y los servidores utilicen el mismo mecanismo
(por ejemplo sockets o RPC), lo cual implica que se deben tener mecanismos
generales que existan en diferentes plataformas.
Además, hay que tener estrategias para el manejo de errores y para mantener la
consistencia de los datos.
La seguridad de un esquema Cliente/Servidor es otra preocupación importante.
Por ejemplo, se deben hacer verificaciones en el cliente y en el servidor.
El desempeño es otro de los aspectos que se deben tener en cuenta en el
esquema
Cliente/Servidor. Problemas de este estilo pueden presentarse por congestión
en la red, dificultad de tráfico de datos, etc.


CAPITULO IV
BASE DE DATOS

HISTORIA DE LAS BASES DE DATOS

Tuvieron sus orígenes en 1960 - 1962, cuando se empezaron a usar las
maquinas que codificaban la información en tarjetas perforadas por medio de
agujeros. Las bases de datos se crean con el objetivo de almacenar grandes
cantidades de datos que antes se almacenaba en libros, lo que era lento, costoso
y complejo (cualquier actualización a realizar, había que hacerla en cada uno
de los libros en los que apareciera dicha información a modificar.

Las primeras bases de datos manejaban ficheros que eran almacenados en
tarjetas o soportes magnéticos. Cuando los ordenadores evolucionan, aparecen
las cintas y los discos, a la vez que las maquinas son dotadas de mucha más
potencia y facilidad de manipulación, es por tanto en ese momento cuando las
bases de datos comienzan a ser realmente útiles.
En 1970 se convoca una Conferencia de Lenguajes de Programación y se
establece un modelo llamado CODASYL (Modelo para el tratamiento de bases
de datos que fue publicado por E. Cód. en 1970. Cód., propuso una forma de
organizar las bases de datos mediante un modelo matemático lógico. Una vez
creado este modelo se crea un modelo estándar de actuación.

Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o
con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo
contexto y almacenados sistemáticamente para su posterior uso. En este
sentido, una biblioteca puede considerarse una base de datos compuesta en su
mayoría por documentos y textos impresos en papel e indexados para su
consulta. En la actualidad, y debido al desarrollo tecnológico de campos como
la informática y la electrónica, la mayoría de las bases de datos están en
formato digital (electrónico), que ofrece un amplio rango de soluciones al
problema de almacenar datos.

Existen programas denominados sistemas gestores de bases de datos,
abreviados SGBD, que permiten almacenar y posteriormente acceder a los
datos de forma rápida y estructurada. Las propiedades de estos SGBD, así
como su utilización y administración, se estudian dentro del ámbito de la
informática.

           ¿QUÉ ES UNA BASE DE DATOS?

Es un administrador de datos relacionados lógicamente entre si, en la forma de
cómo están organizados es la que lo convierte en una base de datos.

Hay cuatro modelos principales de bases de datos: el modelo jerárquico, el
modelo en red, el modelo relacional (el más extendido hoy en día; los datos se
almacenan en tablas a los que se accede mediante consultas escritas en SQL) y
el modelo de bases de datos deductivas. Otra línea de investigación en este
campo son las bases de datos orientadas a objeto, o de objetos persistentes.

Su objetivo es el de automatizar:

El Mantenimiento

•      Cualquier informe de información
•      Cualquier consulta sobre dicha información

ELEMENTOS DE UNA BASE DE DATOS

•      Datos: Es la parte esencial de la información, es decir, la información
que llega a la base de datos.

•      Atributos: Son los diferentes campos que conforman la estructura de
una base de datos.

•      Campos: Es la unidad más pequeña de datos.

•      Registro: Es un conjunto de campos o atributos relacionados entre sí.

•      Archivo: Es un conjunto de registros relacionados.




COMO SE RELACIONAN LAS BASES DE DATOS

Solo puede haber relación entre una tabla padre y otra tabla hija, de modo que
no se puede establecer la relación directa entre tres tablas, aunque se podrá
hacer de la siguiente manera:

TIPOS DE DATOS

Los Tipos de Datos de una Base se dividen en dos estas son:

Las de Entrada

Se refiere a la información que entra al sistema por primera vez. Esta
información podría dar pie a una modificación de los datos persistentes, pero
en principio no forma parte de la base de datos propiamente dicha.

           Las de Salida

Se refiere a mensajes y resultados que emanan del sistema. Una vez más, esta
información podría derivarse de los datos persistentes, pero no se le considera
en si como parte de la Base de Datos.

POR QUÉ UTILIZAR UNA BASE DE DATOS
•         Es Compacto: No hacen falta archivos de papeles que pudieran ocupar
mucho espacio.

•         Es Rápido: La máquina puede obtener y modificar datos con mucha
mayor velocidad que un ser humano. Así es posible satisfacer con rapidez
consultas de casos particulares, del momento, sin necesidad de búsquedas
visuales o manuales que refieren mucho tiempo.

•         Es menos Laborioso: Se elimina gran parte del tedio de manera
archivos a mano. Las tareas mecánicas siempre serán mejor realizadas por las
maquinas.

•         Es Actual: Se dispone en cualquier momento de información precisa y
al día.

•         Cómoda: Al tener la información en un mismo sitio, ahorraremos
tiempo y trabajo.

TIPOS DE DATOS PARA LOS CAMPOS DE UNA TABLA

TEXTO: Admite contenido de caracteres alfanuméricos, el tamaño estará entre
1 y 255 Bytes y el valor por defecto de esta tamaño es de 50 Bytes. MEMO:
Admite contenido de tipo alfanumérico, el tamaño está entre 1 y
64.000 Bytes (64Kas).

NUMERICOS: Admite contenido de caracteres numéricos, el tamaño será
entre 1, 2, 4 y 8 Bytes, dependiendo del formato de tipo numérico. El formato
de tipo numérico puede ser de tipo: DOUBLE, FLOAT, INTEGER, etc... Este
tipo de datos solo se utilizara cuando vayamos a realizar operaciones con ellos.

FECHA Y HORA: Solo admite horas y fechas. Este tipo de dato ocupa
8 Bytes.

MONEDA: Admite contenido de caracteres numéricos, dándoles a estos un
formato automático para una moneda (Puntos de millar, símbolo de la peseta,
etc.) dependiendo este formato de la configuración regional del panel de
control. Este tipo de datos puede llevar decimales y se utilizara siempre que
hablemos de cantidades monetarias.
AUTONUMERICO: Este campo lo crea Access con nuestro consentimiento
       de una manera automática, para establecerlo como una clave principal. Es de
       tipo numérico, y es incrementada automáticamente por Access cada vez que
       añadimos un nuevo registro a la tabla.

       Este tipo de claves principal, no suelen usarse, ya que es preferible definir
       nuestras propias claves, aunque puede ser usada como una posible puerta
       trasera en alguna ocasión.

       SI / NO: Tipo de datos boléanos, los valores boléanos pueden tener dos valores
       posibles, 1 o 0, donde 1 es verdadero y 0 es Falso.

       OBJETO OLE: El contenido serán gráficos y el tamaño de estos puede ser de
       hasta 1 un Gigabyte. Hay que tener especial cuidado con estos objetos, pues al
       borrarlos de la base de datos, no se reduce el tamaño de la misma, mientras esta
       no sea compactada.

       Si damos de baja un registro en una base de datos Access, el programa debe
       compactar la base de datos para reducir y eliminar los espacios en blancos que
       este
       Registro ha producido al ser eliminado. De este modo se reduce el tamaño de la
       base de datos. Lo mismo pasa con los objetos OLE.

       TIPOS DE BASE DE DATOS
     Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto
que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan.

       Según la variabilidad de los datos almacenados

       Bases de datos estáticas
       Éstas son bases de datos de sólo lectura, utilizadas primordialmente para
       almacenar datos históricos que posteriormente se pueden utilizar para estudiar
       el comportamiento de un conjunto de datos a través del tiempo,
       realizar proyecciones y tomar decisiones.

       Bases de datos dinámicas
Éstas son bases de datos donde la información almacenada se modifica con el
   tiempo, permitiendo operaciones como actualización, borrado y adición de
   datos, además de las operaciones fundamentales de consulta. Un ejemplo de
   esto puede ser la base de datos utilizada en un sistema de información de un
   supermercado, una farmacia, un videoclub o una empresa.

   Bases de datos bibliográficas
   Solo contienen un subrogante (representante) de la fuente primaria, que
   permite localizarla. Un registro típico de una base de datos bibliográfica
   contiene información sobre el autor, fecha de publicación, editorial, título,
   edición, de una determinada publicación, etc. Puede contener un resumen o
   extracto de la publicación original,
   pero nunca el texto completo, porque si no, estaríamos en presencia de una
   base de datos a texto completo (o de fuentes primarias —ver más abajo). Como
   su nombre lo indica, el contenido son cifras o números. Por ejemplo, una
   colección de resultados de análisis de laboratorio, entre otras.
   Bases de datos de texto completo


   Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas
   las ediciones de una colección de revistas científicas.
   Bases de datos o "bibliotecas" de información química o biológica
   Son bases de datos que almacenan diferentes tipos de información proveniente
   de la química, las ciencias de la vida o médicas. Se pueden considerar en varios
   subtipos:
   Las que almacenan secuencias de nucleótidos o proteínas.
   Las bases de datos de rutas metabólicas.
Bases de datos de estructura, comprende los registros de datos experimentales
sobre estructuras 3D de biomoléculas-
Bases de datos clínicas.
Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos):
PubChem, Medline, EBSCOhost.
   Modelos de bases de datos
   Además de la clasificación por la función de las bases de datos, éstas también
   se pueden clasificar de acuerdo a su modelo de administración de datos.
Un modelo de datos es básicamente una "descripción" de algo conocido
como contenedor de datos (algo en donde se guarda la información), así como
de los métodos para almacenar y recuperar información de esos contenedores.
Los modelos de datos no son cosas físicas: son abstracciones que permiten la
implementación de un sistema eficiente de base de datos; por lo general se
refieren a algoritmos, y conceptos matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas
Éstas son bases de datos que, como su nombre indica, almacenan su
información en una estructura jerárquica. En este modelo los datos se
organizan en una forma similar a un árbol (visto al revés), en donde un nodo
padre de información puede tener varios hijos. El nodo que no tiene padres es
llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de
aplicaciones que manejan un gran volumen de información y datos muy
compartidos permitiendo crear estructuras estables y de gran rendimiento.

Una de las principales limitaciones de este modelo es su incapacidad de
representar eficientemente la redundancia de datos.

Base de datos de red
Éste es un modelo ligeramente distinto del jerárquico; su diferencia
fundamental es la modificación del concepto de nodo: se permite que un
mismo nodo tenga varios padres (posibilidad no permitida en el modelo
jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una
solución eficiente al problema de redundancia de datos; pero, aun así, la
dificultad que significa administrar la información en una base de datos de red
ha significado que sea un modelo utilizado en su mayoría por programadores
más que por usuarios finales.

Bases de datos transaccionales
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes
velocidades, estas bases son muy poco comunes y están dirigidas por lo general
al entorno de análisis de calidad, datos de producción e industrial, es
importante entender que su fin único es recolectar y recuperar los datos a la
mayor velocidad posible, por lo tanto la redundancia y duplicación de
información no es un problema como con las demás bases de datos, por lo
general para poderlas aprovechar al máximo permiten algún tipo de
conectividad a bases de datos relacionales.

Bases de datos relacionales
Éste es el modelo utilizado en la actualidad para modelar problemas reales y
administrar datos dinámicamente. Tras ser postulados sus fundamentos
en 1970 por Edgar    Frank    Codd,    de     los   laboratorios IBM en San   José
(California), no tardó en consolidarse como un nuevo paradigma en los
modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas
relaciones podrían considerarse en forma lógica como conjuntos de datos
llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales
creadas por Codd, la mayoría de las veces se conceptualiza de una manera más
fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla
que está compuesta por registros (las filas de una tabla), que representarían las
tuplas, y campos (las columnas de una tabla).

En este modelo, el lugar y la forma en que se almacenen los datos no tienen
relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto
tiene la considerable ventaja de que es más fácil de entender y de utilizar para
un usuario esporádico de la base de datos. La información puede ser
recuperada o almacenada mediante "consultas" que ofrecen una amplia
flexibilidad y poder para administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos
relacionales es SQL, Structured Query Language o Lenguaje Estructurado de
Consultas, un estándar implementado por los principales motores o sistemas de
gestión de bases de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le
conoce como normalización de una base de datos.

Durante los años 80 la aparición de BASE produjo una revolución en los
lenguajes de programación y sistemas de administración de datos. Aunque
nunca debe olvidarse que Base no utilizaba SQL como lenguaje base para su
gestión.

Bases de datos multidimensionales
Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como
creación de Cubos OLAP. Básicamente no se diferencian demasiado de las
bases de datos relacionales (una tabla en una base de datos relacional podría
serlo también en una base de datos multidimensional), la diferencia está más
bien a nivel conceptual; en las bases de datos multidimensionales los campos o
atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones
de la tabla, o bien representan métricas que se desean estudiar.

Bases de datos orientadas a objetos
Este modelo, bastante reciente, y propio de los modelos informáticos
orientados   a   objetos,   trata   de   almacenar    en   la   base   de   datos
los objetos completos (estado y comportamiento).

Una base de datos orientada a objetos es una base de datos que incorpora todos
los conceptos importantes del paradigma de objetos:

      Encapsulación - Propiedad que permite ocultar la información al resto
de los objetos, impidiendo así accesos incorrectos o conflictos.
      Herencia - Propiedad a través de la cual los objetos heredan
comportamiento dentro de una jerarquía de clases.

      Polimorfismo - Propiedad de una operación mediante la cual puede ser
aplicada a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones
sobre los datos como parte de la definición de la base de datos. Una operación
(llamada función) se especifica en dos partes. La interfaz (o signatura) de una
operación incluye el nombre de la operación y los tipos de datos de sus
argumentos (o parámetros). La implementación (o método) de la operación se
especifica separadamente y puede modificarse sin afectar la interfaz. Los
programas de aplicación de los usuarios pueden operar sobre los datos
invocando a dichas operaciones a través de sus nombres y argumentos, sea cual
sea la forma en la que se han implementado. Esto podría denominarse
independencia entre programas y operaciones.

SQL: 2003, es el estándar de SQL92 ampliado, soporta los conceptos
orientados a objetos y mantiene la compatibilidad con SQL92.

Bases de datos documentales
Permiten la indexación a texto completo, y en líneas generales realizar
búsquedas más potentes. Tesauros es un sistema de índices optimizado para
este tipo de bases de datos.

Bases de datos deductivas

Un sistema de base de datos deductiva, es un sistema de base de datos pero con
la diferencia de que permite hacer deducciones a través de inferencias. Se basa
principalmente en reglas y hechos que son almacenados en la base de datos.
Las bases de datos deductivas son también llamadas bases de datos lógicas, a
raíz de que se basa en lógica matemática.

Gestión de bases de datos distribuida (SGBD)

La base de datos y el software SGBD pueden estar distribuidos en múltiples
sitios conectados por una red. Hay de dos tipos:

Distribuidos homogéneos: utilizan el mismo SGBD en múltiples sitios.

Distribuidos heterogéneos: Da lugar a los SGBD federados o sistemas
multibase de datos en los que los SGBD participantes tienen cierto grado de
autonomía local y tienen acceso a varias bases de datos autónomas
preexistentes almacenados en los SGBD, muchos de estos emplean una
arquitectura cliente-servidor.

Estas surgen debido a la existencia física de organismos descentralizados. Esto
les da la capacidad de unir las bases de datos de cada localidad y acceder así a
distintas universidades, sucursales de tiendas, etcétera.
Definir el término base de datos

Definición de Bases de Datos.- Un conjunto de información almacenada
en memoria auxiliar   que permite     acceso directo y un conjunto de
programas que manipulan esos datos


Base de Datos es un conjunto exhaustivo no redundante de datos
estructurados organizados independientemente de su utilización y su
implementación en máquina accesibles en tiempo real y compatibles con
usuarios concurrentes con necesidad de información diferente y no predicable
en tiempo.



1.- Nivel Físico.

Es el nivel real de los datos almacenados. Es decir como se almacenan los
datos, ya sea en registros, o como sea. Este nivel es usado por muy pocas
personas que deben estar cualificadas para ello. Este nivel lleva asociada una
representación de los datos, que es lo que denominamos Esquema Físico.

2.-                           Nivel                            Conceptual.
Es el correspondiente a una visión de la base de datos desde el punto de visto
del mundo real. Es decir tratamos con la entidad u objeto representado, sin
importarnos como está representado o almacenado. Este nivel lleva asociado el
Esquema                                                           Conceptual.
3.-                                Nivel                             Visión.
Son partes del esquema conceptual. El nivel conceptual presenta toda la base
de datos, mientras que los usuarios por lo general sólo tienen acceso a
pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas
parcelas. Un ejemplo sería el caso del empleado que no tiene porqué tener
acceso al sueldo de sus compañeros o de sus superiores. El esquema asociado a
éste nivel es el Esquema de Visión.

Los 3 niveles vistos, componen lo que conocemos como arquitectura de base
de               datos                a               3               niveles.
A menudo el nivel físico no es facilitado por muchos DBMS, esto es, no
permiten al usuario elegir como se almacenan sus datos y vienen con una
forma estándar de almacenamiento y manipulación de los datos.



TIPOS DE MODELOS DE DATOS


Existen multitud de estos modelos que se conocen como Modelos de Datos,
algunos de estos modelos son:

•      Modelo Relacional de Datos
•      Modelo de Red
•      Modelo Jerárquico


Modelo Relacional

Este modelo se está empleando con más frecuencia en la práctica, debido a las
ventajas que ofrece sobre los dos modelos anteriores, entre ellas, el rápido
entendimiento por parte de usuarios que no tienen conocimientos profundos
sobre Sistemas de Bases de Datos.

Las bases de datos que pertenecen a esta categoría se basan en el modelo
relaciones, cuya estructura principal es la relación, es decir una tabla
bidimensional compuesta por líneas y columnas. Cada línea, que en
terminología relacional se llama tupla, representa una entidad que nosotros
queremos memorizar en la base de datos. Las características de cada entidad
están definidas por las columnas de las relaciones, que se llaman atributos.
Entidades con características comunes, es decir descritas por el mismo
conjunto de atributos, formarán parte de la misma relación.

Modelo de Red.

Este modelo permite la representación de muchos a muchos, de tal forma que
cualquier registro dentro de la base de datos puede tener varias ocurrencias
superiores a él. El modelo de red evita redundancia en la información, a través
de la incorporación de un tipo de registro denominado el conector.

Modelo Jerárquico.
Los datos se organizan en grupos unidos entre ellos por relaciones de
"posesión", en las que un conjunto de datos puede tener otros conjuntos de
datos,    pero     un        conjunto   puede   pertenecer   sólo    a   otro   conjunto.
La estructura resultante es un árbol de conjuntos de datos.

Bases de datos reticulares: el modelo reticular es muy parecido al jerárquico, y
de hecho nace como una extensión de este último. También en estos modelos
conjuntos de datos están unidos por relaciones de posesión, pero cada conjunto
de datos puede pertenecer a uno o más conjuntos.




CAPITULO V

SQL
Abreviatura de s tructured query l LENGUAJE, y se pronuncia ya sea ver-
Kwell o como letras separadas. SQL es un estándar consulta para solicitar
información de una base de datos . La versión original llamada
SEQUEL (s tructured Español Query l LENGUAJE) fue                   diseñado    por   un
IBM centro de investigación en 1974 y 1975. SQL primero fue introducido
como un comercial del sistema de base de datos en 1979 por Oracle
Corporation.
Históricamente, SQL ha sido el lenguaje de consulta favorita para los sistemas
de       gestión        de      bases     de    datos    que        se   ejecutan     en
minicomputadoras y mainframes . Cada vez más, sin embargo, SQL Server
está siendo apoyado por el PC los sistemas de bases de datos, ya que
soporta bases de datos distribuidas (las bases de datos que se transmiten a lo
largo de varios sistemas informáticos ). Esto permite que varios usuarios en
una red de área local para acceder a la base de datos simultáneamente.

Aunque hay diferentes dialectos de SQL, sin embargo es lo más parecido a un
estándar de lenguaje de consulta que existe en la actualidad. En 1986,ANSI
aprobó una versión rudimentaria de SQL como el estándar oficial, pero la
mayoría de las versiones de SQL desde entonces se han incluido muchas
extensiones para el estándar ANSI. En 1991, ANSI actualizada de la norma. El
nuevo estándar se conoce como SQL SAG.
¿Cuál es la diferencia entre el SQL y PL / SQL?



Tanto SQL y PL / SQL son idiomas que se utilizan para acceder a los datos en
bases de datos Oracle.SQL es un lenguaje limitado que le permite interactuar
directamente con la base de datos. Puede escribir consultas (SELECT),
manipular objetos (DDL) y datos (DML) de SQL. Sin embargo, SQL Server no
incluye todas las cosas que los lenguajes de programación normales tienen,
como los bucles y SI... ENTONCE. else.

PL / SQL es un lenguaje de programación normal, que incluye todas las
características de la mayoría de otros lenguajes de programación. Pero, tiene
una cosa que otros lenguajes de programación no tienen: la capacidad de
integrar fácilmente con SQL Server.

Algunas de las diferencias:

SQL se ejecuta una instrucción cada vez. PL / SQL se ejecuta como un bloque
de código.

SQL le dice a la base de datos lo que debe hacer (declarativa), no sé cómo
hacerlo. Por el contrario, PL / SQL la base de datos dicen cómo hacer las cosas
(de procedimiento).

SQL se utiliza para consultas de código, declaraciones DML y DDL. PL / SQL
se utiliza para codificar los bloques del programa, triggers, funciones,
procedimientos y paquetes.
Puede incrustar SQL en un programa de PL / SQL, pero no se puede incrustar
PL / SQL dentro de una sentencia SQL.
En caso de un uso de PL / SQL o Java de código a los procedimientos y
factores desencadenantes?

Tanto el PL / SQL y Java se puede utilizar para crear procedimientos
almacenados y disparadores de Oracle. Esto conduce a menudo a preguntas
como "¿Cuál de los dos es mejor?" y "Will nunca desupport Oracle PL / SQL
en favor de Java?".
Muchas de las aplicaciones de Oracle se basa en PL / SQL y sería difícil de
Oracle para siempre desupport PL / SQL. De hecho, todo indica que PL / SQL
todavía tiene un futuro brillante por delante. Muchas de las mejoras todavía se
están haciendo a PL / SQL. Por ejemplo, Oracle 9i soporta compilación nativa
de código PL / SQL a los binarios. Por no hablar de los numerosos PL / SQL
mejoras realizadas en Oracle 10g y 11g.

PL / SQL y Java atraer a diferentes personas en roles de trabajo diferentes. La
siguiente tabla describe brevemente las similitudes y diferencias entre estos dos
entornos de lenguaje:

PL / SQL:

Se puede utilizar para crear paquetes de Oracle, los procedimientos y
disparadores

Los datos céntricos y bien integrados en la base de datos

Propiedad de Oracle y difícil portarlo a otras bases de datos

La manipulación de datos es ligeramente más rápido en PL / SQL que en Java

PL / SQL es un lenguaje de programación tradicional de procedimiento

Java:

Se puede utilizar para crear paquetes de Oracle, los procedimientos y
disparadores

Estándar abierto, no propiedad de Oracle

Incurre en algunos gastos de conversión de datos entre la base de datos y el
tipo de Java

Java es un lenguaje orientada a objetos, y los módulos se estructuran en clases

Java se puede utilizar para producir aplicaciones completas
PS: A partir de Oracle 10g, procedimientos NET también se pueden almacenar
en la base de datos (sólo Windows). Sin embargo, a diferencia de PL / SQL y
Java, NET no se puede utilizar en sistemas no-Windows.

PD: En versiones anteriores de Oracle que era mejor poner el código tanto
como sea posible en los procedimientos en lugar de los factores
desencadenantes. En esa etapa los procedimientos ejecutados más rápido que
los desencadenantes como disparadores tenía que volver a compilar cada vez
que antes de ejecutarse (a menos que en caché). En las versiones más recientes
de los dos gatillos y los procedimientos se compilan cuando se creó (almacena
p-code) y se puede agregar el código tanto como a uno le gusta, ya sea en los
procedimientos o disparadores. Sin embargo, todavía se considera una buena
práctica de poner la mayor cantidad de la lógica del programa como sea posible
en paquetes, en lugar de los factores desencadenantes.

CAPITULO VI

Microsoft Visual Studio.

Es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para
sistemas operativos Windows. Soporta varios lenguajes de programación tales
como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET,
aunque actualmente se han desarrollado las extensiones necesarias para
muchos otros.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y
aplicaciones web, así como servicios web en cualquier entorno que soporte la
plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear
aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y
dispositivos móviles.

A partir de la versión 2005 Microsoft ofrece gratuitamente las Express
Editions, que son varias ediciones básicas separadas por lenguajes de
programación o plataforma enfocadas para novatos y entusiastas. Estas
ediciones son iguales al entorno de desarrollo comercial pero sin características
avanzadas. Dichas ediciones son:

      Visual Basic Express Editions
      Visual C# Express Editions

      Visual C++ Express Editions

      Visual J# Express Editions (Desapareció en Visual Studio 2008)

      Visual Web Develo per Express Editions (para programar en
ASP.NET)

      Visual F# (Apareció en Visual Studio 2010, es parecido al J#)*

Adicionalmente, Microsoft ha puesto gratuitamente a disposición de todo el
mundo una versión reducida de MS SQL Server llamada SQL Server Express
Editions cuyas principales limitaciones son que no soporta bases de datos
superiores a 4 GB de tamaño, únicamente se ejecuta en un procesador y emplea
1 GB de RAM como máximo, y no cuenta con el Agente de SQL Server.

INFORMACIÓN GENERAL DE VISUAL STUDIO 2010

Historia
Se lanzó en 1998 y fue la última versión en ejecutarse en la
plataforma Win9x.1 Los números de versión de todas las partes constituyentes
pasaron a 6.0, incluyendo Visual J++ y Visual InterDev, que se encontraban en
las versiones 1.1 y 1.0 respectivamente. Esta versión fue la base para el sistema
de desarrollo de Microsoft para los siguientes 4 años, en los que Microsoft
migró su estrategia de desarrollo al .NET Framework.



Visual Studio 6.0 fue la última versión en que Visual Basic se incluía de la
forma en que se conocía hasta entonces; versiones posteriores incorporarían
una versión muy diferente del lenguaje con muchas mejoras, fruto de la
plataforma .NET. También supuso la última versión en incluir Visual J++, que
proporcionaba extensiones de la plataforma Java, lo que lo hacía incompatible
con la versión de Sun Microsystems. Esto acarreó problemas legales a
Microsoft, y se llegó a un acuerdo en el que Microsoft dejaba de comercializar
herramientas de programación que utilizaran la máquina virtual de Java.
Aunque el objetivo a largo plazo de Microsoft era unificar todas las
herramientas en un único entorno, esta versión en realidad añadía un entorno
más a Visual Studio 5.0: Visual J++ y Visual InterDev se separaban del
entorno de Visual C++, al tiempo que Visual FoxPro y Visual Basic seguían
manteniendo su entorno específico.


Visual Studio .NET (2002)


En esta versión se produjo un cambio sustancial, puesto que supuso la
introducción de la plataforma .NET de Microsoft. .NET es una plataforma de
ejecución intermedia multilenguaje, de forma que los programas desarrollados
en .NET no se compilan en lenguaje máquina, sino en un lenguaje intermedio
(CIL - Common Intermediate Language) denominado Microsoft Intermediate
Language (MSIL). En una aplicación MSIL, el código no se convierte a
lenguaje máquina hasta que ésta se ejecuta, de manera que el código puede ser
independiente de plataforma (al menos de las soportadas actualmente por
.NET). Las plataformas han de tener una implementación de Infraestructura de
Lenguaje Común (CLI) para poder ejecutar programas MSIL.

Actualmente se pueden ejecutar programas MSIL en Linux y Mac OS
X usando implementaciones de .NET que no son de Microsoft, tales
como Mono y DotGNU.



Visual Studio .NET 2002 supuso también la introducción del lenguaje C#, un
lenguaje nuevo diseñado específicamente para la plataforma .NET, basado en
C++ y Java. Se presentó también el lenguaje J# (sucesor de J++), el cual, en
lugar de ejecutarse en una máquina virtual de Java, se ejecuta únicamente en el
framework .NET. El lenguaje



Visual Basic fue remodelado completamente y evolucionó para adaptarse a las
nuevas características de la plataforma .NET, haciéndolo mucho más versátil y
dotándolo con muchas características de las que carecía. Algo similar se llevó a
cabo con C++, añadiendo extensiones al lenguaje llamadas Managed
Extensions for C++ con el fin de que los programadores pudieran crear
programas en .NET. Por otra parte, Visual FoxPro pasa a comercializarse por
separado.

Todos los lenguajes se unifican en un único entorno. La interfaz se mejora
notablemente en esta versión, siendo más limpia y personalizable.

Visual Studio .NET puede usarse para crear programas basados en Windows
(usando Windows Forms en vez de COM), aplicaciones y sitios web
(ASP.NET y servicios web), y dispositivos móviles (usando el .NET Compact
Framework).

Esta versión requiere un sistema operativo basado en NT. La versión interna de
Visual Studio .NET es la 7.0.
Visual Studio .NET 2003
Visual Studio .NET 2003 supone una actualización menor de Visual Studio
.NET. Se actualiza el .NET Framework a la versión 1.1. También se añade
soporte con el fin de escribir aplicaciones para determinados dispositivos
móviles, ya sea con ASP.NET o con el .NET Compact Framework. Además, el
compilador de Visual C++ se mejora para cumplir con más estándares: el
Visual C++ Toolkit 2003.

Visual Studio 2003 se lanza en 4 ediciones: Academic, Professional, Enterprise
Develo per y Enterprise Architect. La edición Enterprise Architect incluía una
implementación de la tecnología de modelado Microsoft Visio, que se centraba
en la creación de representaciones visuales de la arquitectura de la aplicación
basadas en UML. También se introdujo "Enterprise Templates", para ayudar a
grandes equipos de trabajo a estandarizar estilos de programación e impulsar
políticas de uso de componentes y asignación de propiedades.

Microsoft lanzó el Service Pack 1 para Visual Studio 2003 el 13 de septiembre
de 2006.

La versión interna de Visual Studio .NET 2003 es la 7.1 aunque el formato del
archivo que emplea es el 8.0.



Visual Studio 2005
Visual Studio 2005 se empezó a comercializar a través de Internet a partir del 4
de octubre de 2005 y llegó a los comercios a finales del mes de octubre en
inglés. En castellano no salió hasta el 4 de febrero de 2006. Microsoft eliminó
la coletilla .NET de su nombre, pero eso no indica que se alejara de la
plataforma .NET, de la cual se incluyó la versión 2.0.

La actualización más importante que recibieron los lenguajes de programación
fue la inclusión de tipos genéricos, similares en muchos aspectos a las
plantillas de C++. Con esto se consigue encontrar muchos más errores en la
compilación en vez de en tiempo de ejecución, incitando a usar
comprobaciones estrictas en áreas donde antes no era posible. C++ tiene una
actualización similar con la adición de C++/CLI como sustituto de C#
manejado.

Se incluye un diseñador de implantación, que permite que el diseño de la
aplicación sea validado antes de su implantación. También se incluye un
entorno para publicación web y pruebas de carga para comprobar el
rendimiento de los programas bajo varias condiciones de carga.

Visual Studio 2005 también añade soporte para arquitecturas de 64 bits.
Aunque el entorno de desarrollo sigue siendo una aplicación de 32 bits, Visual
C++ 2005 soporta compilación para x86-64 (AMD64, Intel 64) e IA-
64 (Itanium). El SDK incluye compiladores de 64 bits así como versiones de
64 bits de las librerías.

Visual Studio 2005 tiene varias ediciones radicalmente distintas entre sí:
Express, Standard, Professional, Tools for Office y 5 ediciones Visual Studio
Team System.        Éstas últimas   se proporcionaban conjuntamente con
suscripciones a MSDN cubriendo los 4 principales roles de la programación:
Architects, Software Developers, Testers y Database Professionals. La
funcionalidad combinada de las 4 ediciones Team System se ofrecía como la
edición Team Suite. Por otra parte, Tools for the Microsoft Office System está
diseñada para extender la funcionalidad a Microsoft Office.

Las ediciones Express se han diseñado para principiantes, aficionados y
pequeños negocios, todas disponibles gratuitamente a través de la página de
Microsoft.2 Se incluye una edición independiente para cada lenguaje: Visual
Basic, Visual C++, Visual C#, Visual J# para programación .NET en Windows
y Visual Web Develo per para la creación de sitios web ASP.NET. Las
ediciones Express carecen de algunas herramientas avanzadas de programación
así como de opciones de extensibilidad.

Se lanzó el Service Pack 1 para Visual Studio 2005 el 14 de diciembre de 2006.

La versión interna de Visual Studio 2005 es la 8.0, mientras que el formato del
archivo que emplea es la 9.0.



Visual Studio 2008


Visual Studio 2008 fue publicado (RTM) el 17 de noviembre de 2007 en
inglés, mientras que la versión en castellano no fue publicada hasta el 2 de
febrero de 2008.3

El nuevo framework (.NET 3.5) está diseñado para aprovechar las ventajas que
ofrece el nuevo sistema         operativo Windows Vista a través de sus
subsistemas Windows      Communication       Foundation      (WCF)     y Windows
Presentation Foundation (WPF). El primero            tiene como objetivo la
construcción de aplicaciones orientadas a servicios, mientras que el último
apunta a la creación de interfaces de usuario más dinámicas que las conocidas
hasta el momento.4

A las mejoras de desempeño, escalabilidad y seguridad con respecto a la
versión anterior, se agregan, entre otras, las siguientes novedades:

La mejora en las capacidades de pruebas unitarias permiten ejecutarlas más
rápido independientemente de si lo hacen en el entorno IDE o desde la línea de
comandos. Se incluye además un nuevo soporte para diagnosticar y optimizar
el sistema a través de las herramientas de pruebas de Visual Studio. Con ellas
se podrán ejecutar perfiles durante las pruebas para que ejecuten cargas,
prueben procedimientos contra un sistema y registren su comportamiento, y
utilizar herramientas integradas para depurar y optimizar.
Con Visual Studio Tools for Office (VSTO) integrado con Visual Studio 2008
es posible desarrollar rápidamente aplicaciones de alta calidad basadas en la
interfaz de usuario (UI) de Office que personalicen la experiencia del usuario y
mejoren su productividad en el uso de Word, Excel, PowerPoint, Outlook,
Visio, InfoPath y Project. Una completa compatibilidad para implementación
con Clic Once garantiza el entorno ideal para una fácil instalación y
mantenimiento de las soluciones Office.

Visual Studio 2008 permite incorporar características del nuevo Windows
Presentation Foundation sin dificultad tanto en los formularios de Windows
existentes como en los nuevos. Ahora es posible actualizar el estilo visual de
las aplicaciones al de Windows Vista debido a las mejoras en Microsoft
Foundation Class Library (MFC) y Visual C++. Visual Studio 2008 permite
mejorar la interoperabilidad entre código nativo y código manejado por .NET.
Esta integración más profunda simplificará el trabajo de diseño y codificación.

LINQ (Language Integrated Query) es un nuevo conjunto de herramientas
diseñado para reducir la complejidad del acceso a bases de datos a través de
extensiones para C++ y Visual Basic, así como para Microsoft .NET
Framework. Permite filtrar, enumerar, y crear proyecciones de muchos tipos y
colecciones de datos utilizando toda la misma sintaxis, prescindiendo del uso
de lenguajes especializados.

Visual Studio 2008 ahora permite la creación de soluciones multiplataforma
adaptadas para funcionar con las diferentes versiones de .NET Framework: 2.0
(incluido con Visual Studio 2005), 3.0 (incluido en Windows Vista) y 3.5
(incluido con Visual Studio 2008).

NET Framework 3.5 incluye la biblioteca ASP.NET AJAX para desarrollar
aplicaciones web más eficientes, interactivas y altamente personalizadas que
funcionen para todos los navegadores más populares y utilicen las últimas
tecnologías y herramientas Web, incluyendo Silverlight y Popfly.



Visual Studio 2010
Visual Studio 2010 es la versión más reciente de esta herramienta, acompañada
por .NET Framework 4.0. La fecha del lanzamiento de la versión final fue el
12 de abril de 2010.5

Hasta ahora, uno de los mayores logros de la versión 2010 de Visual Studio ha
sido el de incluir las herramientas para desarrollo de aplicaciones
para Windows 7, tales como herramientas para el desarrollo de las
características de Windows 7 (System.Windows.Shell) y la Ribbon Preview
para WPF.

Entre sus más destacables características, se encuentran la capacidad para
utilizar múltiples monitores, así como la posibilidad de desacoplar las ventanas
de su sitio original y acoplarlas en otros sitios de la interfaz de trabajo.

Además ofrece la posibilidad de crear aplicaciones para muchas plataformas de
Microsoft, como Windows, Azure, Windows Phone 7 o Sharepoint. Microsoft
ha sido sensible a la nueva tendencia de las pantallas táctiles y con este Visual
Studio 2010 también es posible desarrollar aplicativos para pantallas
multitáctiles.

Entre las ediciones disponibles de Visual Studio 2010 que podemos adquirir se
encuentran:

Visual Studio 2010 Ultímate: Conjunto completo de herramientas de
gestión del ciclo de vida de una aplicación para los equipos que garantizan
unos resultados de calidad, desde el diseño hasta la implementación. Ya sea
creando nuevas soluciones o mejorando las aplicaciones existentes, Visual
Studio 2010 Ultímate le permite llevar sus ideas a la vida en un número
creciente de plataformas y tecnologías - incluyendo la nube y la computación
paralela.

Visual Studio 2010 Premium: Un conjunto de herramientas completo
que simplifica el desarrollo de aplicaciones para personas o equipos que
entregan aplicaciones escalables de alta calidad. Que este escribiendo código
de aplicaciones o de bases de datos, creando bases de datos, o quitando los
errores, puede aumentar su productividad usando herramientas poderosas que
funcionan de la manera que usted trabaja.
Visual Studio 2010 Professional: La herramienta esencial para las personas
que realizan tareas de desarrollo básico. Visual Studio 2010 Professional
simplifica la compilación, la depuración y el despliegue de las aplicaciones en
una variedad de plataformas incluyendo SharePoint y la Nube. También viene
con el soporte integrado para el desarrollo con pruebas y con las herramientas
de depuración que ayudan a garantizar unas soluciones de alta calidad.

Visual Studio Team Foundation Server 2010: Una plataforma de
colaboración en el centro de la solución de gestión del ciclo de vida de una
aplicación (ALM) de Microsoft. Team Foundation Server 2010 automatiza el
proceso de entrega del software y le da las herramientas que necesita para
gestionar eficazmente los proyectos de desarrollo de software a través del ciclo
de vida de IT.

Visual Studio Test Professional 2010: Visual Studio Test Professional
2010 es un conjunto de herramientas integrado que entrega un flujo de trabajo
completo planificar-probar-seguir para una colaboración en contexto entre los
probadores y los desarrolladores, aumentando considerablemente la visibilidad
de los probadores en la globalidad del proyecto.

Visual Studio Team Explorer Everywhere 2010:
Permite a los equipos de desarrollo colaborar fácilmente entre las plataformas.
Team Explorer Everywhere 2010 contiene las herramientas y los plug-ins
necesarios para acceder a Visual Studio Team Foundation Server 2010 desde
dentro de los entornos basados en Eclipse, de manera que todo el mundo puede
trabajar juntos y lograr los objetivos del negocio.



Visual Studio 2012


Esta información hace referencia al 24 de mayo 2012, en esta fecha fue
dado a conocer la Release Candidate de el nuevo entorno de programación
de "Windows", cual integra completo soporte para el actual y en fase de
desarrollo Windows 8, Microsoft Visual Studio 2012 RC tiene como
características el desarrollo completo e integro en el estilo Metro de
Windows 8, además soporte para antiguas versiones de Windows al estilo
clásico.

REQUISITOS DE SOFTWARE




Visual Studio 2010 puede instalarse en los sistemas operativos siguientes:

Windows XP (x86) con Service Pack 3 - todas las ediciones, excepto Starter
Edition

Windows Vista (x86 y x64) con Service Pack 1 - todas las ediciones, excepto
Starter Edition

Windows 7 (x86 y x64)

Windows Server 2003 (x86 y x64) con Service Pack 2

Windows Server 2003 R2 (x86 y x64)

Windows Server 2008 (x86 y x64) con Service Pack 2

Windows Server 2008 R2 (x64)

Arquitecturas compatibles:

32 bits (x86)

64 bits (x64)

REQUISITOS DE HARDWARE

•         Equipo con un procesador de al menos 1,6 GHz

•         1024 MB de RAM

•         Espacio disponible en disco duro de 3 GB

•         Unidad de disco duro de 5.400 RPM

•         Tarjeta de vídeo compatible con DirectX 9 con una resolución de 1280
x 1024 o superior

•         Unidad de DVD-ROM
•      .NET FRAMEWORK 4




NET FRAMEWORK


                  Microsoft .NET

                  Desarrollador
                  Microsoft
                  http://www.microsoft.com/NET
                  Información general
                  Lanzamiento                13 de febrero de 2002
                  inicial
                  Última versión             4.0.30319.1
                  estable                    12 de abril de 2010;
                                             hace 1 año
                  Género                     Framework
                  Sistema                    Microsoft Windows
                  operativo
                  Licencia                   Propietario, comercial
                  En español



   NET es un Framework de Microsoft que hace un énfasis en la transparencia
   de redes, con independencia de plataforma de hardware y que permita un
   rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar
   una estrategia horizontal que integre todos sus productos, desde el sistema
   operativo hasta las herramientas de mercado.



   NET podría considerarse una respuesta de Microsoft al creciente mercado de
   los negocios en entornos Web, como competencia a la plataforma
   Java de Oracle Corporation y a los diversos Framework de desarrollo web
   basados en PHP. Su propuesta es ofrecer una manera rápida y económica, a la
   vez que segura y robusta, de desarrollar aplicaciones –o como la misma
plataforma las denomina, soluciones– permitiendo una integración más rápida
y ágil entre empresas y un acceso más simple y universal a todo tipo de
información desde cualquier tipo de dispositivo.

Consideraciones

La plataforma .NET de Microsoft es un componente de software que puede ser
añadido al sistema operativo Windows. Provee un extenso conjunto de
soluciones predefinidas para necesidades generales de la programación de
aplicaciones,   y administra    la    ejecución    de los   programas   escritos
específicamente con la plataforma. Esta solución es el producto principal en la
oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones
creadas para la plataforma Windows.

NET     Framework      se   incluye    en Windows      Server   2008, Windows
Vista y Windows 7. De igual manera, la versión actual de dicho componente
puede ser instalada en Windows XP, y en la familia de sistemas
operativos Windows Server 2003. Una versión "reducida" de .NET Framework
está disponible para la plataforma Windows Mobile, incluyendo teléfonos
inteligentes.

La norma (incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de
funciones que debe implementar la biblioteca de clases base (BCL por sus
siglas en inglés, tal vez el más importante de los componentes de la
plataforma), define un conjunto funcional mínimo que debe implementarse
para que el marco de trabajo sea soportado por un sistema operativo.
Aunque Microsoft implementó esta norma para su sistema operativo Windows,
la publicación de la norma abre la posibilidad de que sea implementada para
cualquier otro sistema operativo existente o futuro, permitiendo que las
aplicaciones corran sobre la plataforma independientemente del sistema
operativo para el cual haya sido implementada. El Proyecto

Mono emprendido por Ximian pretende realizar la implementación de la norma
para varios sistemas operativos adicionales bajo el marco del código abierto.

Componentes

Los principales componentes del marco de trabajo son:
         El conjunto de lenguajes de programación.
         La biblioteca de clases base o BCL.

         El entorno común de ejecución para lenguajes, o CLR por sus siglas en
inglés.

Debido a la publicación de la norma para la infraestructura común de
lenguajes (CLI por sus siglas en inglés), el desarrollo de lenguajes se facilita,
por lo que el marco de trabajo .NET soporta ya más de 20 lenguajes de
programación y es posible desarrollar cualquiera de los tipos de aplicaciones
soportados en la plataforma con cualquiera de ellos, lo que elimina las
diferencias que existían entre lo que era posible hacer con uno u otro lenguaje.

Algunos de los lenguajes desarrollados para el marco de trabajo .NET
son: C#, Visual           Basic        .NET, Delphi (Object          Pascal), C+
+, J#, Perl, Python, Fortran, Prolog (existen al menos dos implementaciones,
el P#1 y el Prolog.NET2 ), Cobol y PowerBuilder.




Este es el lenguaje insignia de .NET Framework (marco de trabajo .NET) y
pretende reunir las ventajas de lenguajes como C, C++ y Visual Basic en uno
solo. El CLR es el verdadero núcleo del Framework de .NET, entorno de
ejecución en el que se cargan las aplicaciones desarrolladas en los distintos
lenguajes, ampliando el conjunto de servicios del sistema operativo (W2k y
W2003).

La herramienta de desarrollo compila el código fuente de cualquiera de los
lenguajes soportados por .NET en un código intermedio, el CIL (Common
Intermediate Language) antes conocido como MSIL (Microsoft Intermediate
Language), similar al BYTECODE de Java. Para generarlo, el compilador se
basa      en   la   especificación CLS (Common    Language    Specification) que
determina las reglas necesarias para crear el código MSIL compatible con el
CLR.

Para ejecutarse se necesita un segundo paso, un compilador JIT (Just-In-
Time) es el que genera el código máquina real que se ejecuta en la plataforma
del cliente. De esta forma se consigue con .NET independencia de la
plataforma de hardware. La compilación JIT la realiza el CLR a medida que el
programa invoca métodos. El código ejecutable obtenido se almacena en la
memoria caché del ordenador, siendo recompilado de nuevo sólo en el caso de
producirse algún cambio en el código fuente.

Características

Es el encargado de proveer lo que se llama código administrado, es decir, un
entorno que provee servicios automáticos al código que se ejecuta. Los
servicios son variados:

Cargador de clases: permite cargar en memoria las clases.

Compilador MSIL a nativo: 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.

Administrador de código: coordina toda la operación de los distintos
subsistemas del Common Language Runtime.

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
aún cuando se utilicen lenguajes distintos.

Verificador de tipos: 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 todo el código en forma
paralela.

Empaquetador de COM: coordina la comunicación con los componentes COM
para que puedan ser usados por el .NET Framework.

Soporte de la Biblioteca de Clases Base: interfaz con las clases base del .NET
Framework. Esto quiere decir que existen tipos de estructuras como es la de
java y la .NET

Las aplicaciones .NET son mucho más lentas que las aplicaciones nativas
(diferencias de 20 a 1).

Las aplicaciones .NET requieren instalar el Framework, lo que complica la
distribución vía Web debido a lo pesado de la descarga.

Las aplicaciones .NET son fácilmente crackeables dado que, aún usando
ofuscador de código, es posible ver el código y alterar el mismo.

La plataforma .NET no provee soporte transparente para los sistemas
multinucleo/multithread quedando en responsabilidad del programador diseñar
la lógica que aproveche los sistemas multithread.

Estandarización y licenciamiento
En agosto de 2000, Microsoft, Hewlett-Packard e Intel trabajaron
conjuntamente para estandarizar el lenguaje de programación C# y una
Infraestructura de Lenguaje Común (CLI por sus siglas en inglés). Para
Diciembre de 2001, ambos fueron ratificados por los estándares Internacionales
ECMA.3 4 ISO también siguió los pasos para abril de 2003.

Mientras Microsoft y sus socios de negocios ganaban patentes para los
lenguajes CLI y C#, ECMA e ISO solicitaron que era esencial que la
implementación estuviera disponible bajo “términos no discriminatorios”.
Además de alcanzar estos términos, las compañías también accedían a dejar
estas patentes disponibles. Sin embargo, esto no aplicó para la parte del .NET
Framework, que no está cubierto por los estándares ECMA/ISO. Esto
incluye Windows Forms, ADO.Net y ASP.Net.

En octubre de 2007, Microsoft anunciaba la liberación de su código fuente para
la Biblioteca de Clases Base del .NET Framework (incluidos ASP.Net,
ADO.Net y Windows Presentation Foundation) esto con el lanzamiento de su
nueva versión: Visual Studio 2008.

El futuro de .NET

A   largo   plazo Microsoft pretende     reemplazar     el API Win32 o Windows
API con la plataforma .NET. Esto debido a que el API Win32 o Windows
API fue desarrollada sobre la marcha, careciendo de documentación detallada,
uniformidad y cohesión entre sus distintos componentes, provocando múltiples
problemas en el desarrollo de aplicaciones para el sistema operativo Windows.
La plataforma .NET pretende solventar la mayoría de estos problemas
proveyendo un conjunto único y expandible con facilidad, de bloques
interconectados, diseñados de forma uniforme y bien documentados, que
permitan a los desarrolladores tener a mano todo lo que necesitan para producir
aplicaciones sólidas.

Debido a las ventajas que la disponibilidad de una plataforma de este tipo
puede darle a las empresas de tecnología y al público en general, muchas otras
empresas e instituciones se han unido a Microsoft en el desarrollo y
fortalecimiento de la plataforma .NET, ya sea por medio de la implementación
de la plataforma para otros sistemas operativos aparte de Windows(Proyecto
Mono de Ximian/Novell para GNU/Linux/MacOS                  X/BSD/Solaris),   el
desarrollo de lenguajes de programación adicionales para la plataforma
(Léxico para      hispanoparlantes, ANSI         C de        la Universidad   de
Princeton, NetCOBOL de Fujitsu, Delphi de Borland, PowerBuilder de Sybase
entre otros) o la creación de bloques adicionales para la plataforma (como
controles, componentes y bibliotecas de clases adicionales); siendo algunas de
ellas software libre, distribuibles bajo la licencia GPL.

Con esta plataforma, Microsoft incursiona       de lleno      en   el campo   de
los Servicios Web y establece el XML como norma en el transporte de
información en sus productos y lo promociona como tal en los sistemas
desarrollados utilizando sus herramientas.

Biblioteca de Clases Base de .NET
Diagrama básico de la Biblioteca de Clases Base.

La Biblioteca de Clases Base (BCL por sus siglas en inglés) maneja la mayoría
de las operaciones básicas que se encuentran involucradas en el desarrollo de
aplicaciones, incluyendo entre otras:

      Interacción con los dispositivos periféricos
      Manejo de datos (ADO.NET)

      Administración de memoria

      Cifrado de datos

      Transmisión y recepción de datos por distintos medios (XML, TCP/IP)

      Administración de componentes Web que corren tanto en el servidor
como en el cliente (ASP.NET)

      Manejo y administración de excepciones

      Manejo del sistema de ventanas

      Herramientas de despliegue de gráficos (GDI+)

      Herramientas de seguridad e integración con la seguridad del sistema
operativo

      Manejo de tipos de datos unificado

      Interacción con otras aplicaciones

      Manejo de cadenas de caracteres y expresiones regulares

      Operaciones aritméticas
      Manipulación de fechas, zonas horarias y periodos de tiempo

      Manejo de arreglos de datos y colecciones

      Manipulación de archivos de imágenes

      Aleatoriedad

      Generación de código

      Manejo de idiomas

      Auto descripción de código

      Interacción con el API Win32 o Windows API.

      Compilación de código

Esta funcionalidad se encuentra organizada por medio de espacios de nombres
jerárquicos.

La Biblioteca de Clases Base se clasifica, en cuatro grupos clave:

      ASP.NET y Servicios Web XML
      Windows Forms

      ADO.NET

      .NET




Ensamblados
Diagrama interno de un Ensamble .NET



Un ensamblado es un compilado EXE o DLL que contiene código CIL que se
genera desde los diferentes lenguajes .NET, y que es ejecutado por el CLR.
Puede contener una o varias clases al igual que uno o varios namespaces.5

Los ensamblados pueden tener diferentes decoradores que definen el entorno
de ejecución de los mismos COM+, DCOM, Remoting, etc.
BIBLIOGRAFÍA:


    • http://www.maestrosdelweb.com/principiantes/%C2%BFque-son-las-bases-
    de-datos/


    • http://www.webopedia.com/TERM/S/SQL.html
    • http://www.orafaq.com/wiki/PL/SQL_FAQ
    • http://es.wikipedia.org/wiki/Microsoft_Visual_Studio
    •      http://www.google.com.ec/imgres?
    q=PANTALLA+DE+INGRESO+AL+SISTEMA&hl=es&biw=1366&bih=667
    &tbm=isch&tbnid=plMac6ApNRkoEM:&imgrefurl=http://www.softaller.com/
    foro/guias-manuales-tutoriales/63-inicio-de-
    sesion.html&docid=dTjlAjuiumEQ-M&imgurl=http:/
    •      http://www.google.com.ec/imgres?
    q=PANTALLA+DE+INSCRIPCION+DE+MATRICULA
    %7D&hl=es&biw=1366&bih=667&tbm=isch&tbnid=h55zmAKiudNOdM:&i
    mgrefurl=http://www.rafaelvarela.com/sas-academico-software-notas-
    boletines-matriculas.html&docid=YXYg3OXIh3oiGM&imgurl=http://
•   http://www.google.com.ec/imgres?
    q=PANTALLA+PRINCIPAL+DEL+SISTEMA+de+matriculacion&hl=es&sa
    =X&biw=1366&bih=667&tbm=isch&tbnid=RMnGPj2LxL16wM:&imgrefurl
=http://blanquitatecnicasdedocumentacion.blogspot.com/&docid=G4-
    AXGacGLLk_M&imgurl=http://1.
•   http://www.lafacu.com/apuntes/informatica/base_datos/default.htm#Introducci
    ón
    http://www.dbinternet.com.ar/metodo.htm
    http://www.uas.mx/cursoswebct/Progsist/material.htm
    http://www.programacionfacil.com/basic/cuatro4.htm
    LIBROS
•   autor:              Baltazar             Birnios,             Mariano         Birnios
    Paginas                                        :                                 617
    Con               28           páginas              de             ejemplo
    Idioma : Español-Castellano
•   autor:                     Gustavo                       Du                  Mortier
    Paginas                                        :                                381
    Con            24              páginas              de             ejemplo
    Idioma : Castellano



          3. EJECUCION DEL PROYECTO DE INVESTIGACIÓN


          3.1.       PLAN GENERAL DEL TRABAJO


         3.1.1 ANALISIS PRELIMINAR DEL PROYECTO




          3.1.1.1.     DEFINICION DEL PROBLEMA:


    1.- ¿El proceso de matriculación es manual?
    La matriculación se ingresa, se modifica o elimina es decir es manual cuando
    hemos ingresado en una de trabajo como es Word; Y luego lo imprime para
    asentar la matricula en un documento físico para cada año lectivo.
    2.- ¿El proceso ingreso de notas es lento?
El proceso se inicia cuando se ingresan las notas de estudiantes a los boletines
y luego se tiene que verificar si se ha ingresado correctamente.
3.- ¿El proceso de ingreso de notas es manual?
El Colegio Nacional 11 de Noviembre realiza un ingreso de notas de forma
manual ya que no dispone con un sistema automático de ingreso de notas.
4.- ¿La emisión de boletines es manual?
La elaboración de los boletines que se entrega a los Padres de Familia, así
como el ingreso de cada nota es un proceso manual.
5.- ¿Pérdida de tiempo en la elaboración de Boletines de
Calificaciones y Certificados?
Todos los Boletines o Certificados que se entregan a los Padres de Familia se
realizan manualmente.
La elaboración de entrega de calificaciones se tiene una plantilla echa en Word
Impresa, es ahí cuando el maestro dirigente demora mucho tiempo en
transcribir cada una de las notas de los alumnos manualmente para su entrega.
6- ¿Elaboración de reportes              o entrega de calificaciones de
alumnos?
Todos los informes o reportes de alumnos se realiza en una computadora y
lleva mucho tiempo en hacer la búsqueda de información en distintos registros
o documentos fiscos.
ESTUDIO DE FACTIBILIDAD


FACTIBILIDAD TECNICA
A) Hardware
                             Costos
Recursos
1 Computadora                800.00
Total:                       800.00

B)
Recursos            Costos
SQLserver 2008      700.00
Windows 2007        300.00
Server
Total:              100.00




C) Software
CARGO             NOMBRES      SUELDO
                               ($)
Gestor      del   Marcia       250
proyecto          Campoverde
Analista          Marcia       230
                  Campoverde
Diseñador         Marcia       150
                  Campoverde
Programador       Marcia       300
                  Campoverde
TOTAL                          930
FACTIBILIDAD ECONOMICA
Inversión                         Costo Operación
1 PC              680.0           Luz,            200.00
                  0               Papel,
                                  Tinta
1                 200.0           Procesos            420.00
Windows           0               por cobro
2007                              Pensiones
                                  Procesos            480.00
Server
                                  entrega
                                  de
                                  boletines
                                  Procesos            480.00
                                  Reportes
Total:                            Total:           1580.00
880.00


S-A


    Inversión                          Costo operación
    1 PC              800.0            Luz,            220.00
                      0                Papel,
                                       Tinta
    1        hp       130.0            Procesos              600.00
    Compac            0                por cobro
    s1922a                             Pensiones
    1                 50.00            Procesos              720.00
    impresora                          entrega
                                       de
                                       boletines
    1 Office          110.0            Procesos              720.00
    2010              0                Reportes
    Total                     :        Total:       2260.00
    1090.00
FACTIBILIDAD OPERATIVA


Este sistema es de fácil operación, para su aprendizaje se utilizará un máximo de
1 hora para su total comprensión.
COMPARACION E NTRE SISTEMAS OPERATIVA
S - A                                                                       S_P




En las tablas anteriores demostramos que nuestro
Sistema, optimiza el tiempo utilizado en realizar
Las actividades necesarias para cumplir con
Los objetivos de la institución.




FACTIBILIDAD LEGAL
Nuestro sistema propuesto, no incumple con ninguno de los estatutos
actualmente vigentes de la institución, por lo cual decimos que es legalmente
factible su implantación.
DESARROLLO DEL PROYECTO
PLANIFICACION DEL SISTEMA
ENTREVISTA
Entrevista dirigida al Dr. Nelson Cubí Y. (Rector) y Mr. Paulina Aguiar
(Secretaria)
1.      ¿Qué Hardware utiliza para la matriculación de los
alumnos, ingreso de notas?
•      Una computadora Compac s1922a
•      Una impresora a tinta

2.     ¿Cómo realiza el proceso de matriculación, ingreso de
notas?


•      Las matriculas de estudiantes se realiza manualmente utilizando
Microsoft Word. Los ingresos de notas se realiza de igual manera utilizando
Microsoft Excel de la familia de Microsoft Office.
3.     ¿Qué tiempo se demora en obtener los reportes de

alumnos?
Para sacar reportes de alumnos, notas etc., se demora de 10 a 15 minutos en
cada una de ellas, aproximadamente 1h30min en total, considerando un manejo
de Microsoft Office ágilmente y de los archivos que se encuentran en
documentos físicos haciéndole el proceso muy lento.
4.     ¿Qué le gustaría que haga su sistema?
•      Que permita almacenar la matricula en cada año lectivo.
•      Que permita realiza reportes de los alumnos por especialidad, curso.
•      Permitir la búsqueda general e individual de cada alumno y notas.
•      Que permita hacer la entrega de boletines de calificaciones.
•      Permitir Almacenar las promociones y la búsqueda de cada una de ellas.
•      Entrega de promedios por cursos e individual.

      5. ¿Qué personas actualmente manipulan la información de
         la Institución?


La información es únicamente manipulada por la Mr. Paulina Aguiar (Secretaria
del Colegio).
      6. ¿La información obtenida es únicamente para el colegio
         o para otras entidades?
La información es manipulada solo por la secretaria solamente cuando un
Supervisor le pide las promociones se lo indica o se lo da impreso.
     INTRODUCCION
El presente documento será útil para como para el usuario también como para
desarrollador establecer cada una de las reglas y funciones que va a cumplir el
sistema.
El análisis de requerimientos para el desarrollo del Sistema Académico para el
proceso de matriculación con visual estudio 2010 de Promociones, Ingreso de
notas se ha realizado gracias a la colaboración del colegio nacional 11 de
Noviembre
PROPOSITO
El análisis de requerimientos de software es con la finalidad de poner reglas
para los usuarios y el administrador y la empresa desarrolladora del software con
la finalidad de cumplir cada uno de los problemas estudiados por ambas partes.
Mediante este documento los desarrolladores trataran de solucionar las
necesidades que tiene la institución, con el documento para cumplir con los
requerimientos detallados que han sido analizados por los usuarios y las
personas responsables de la empresa desarrolladora del software.
Finalmente este documento servirá para que exista comunicación entre el
desarrollador y guía de proyecto.




            AMBITO DEL SISTEMA
Actualmente el manejo de matriculación, ingreso de notas y busca de
promociones del Colegio “Nacional 11 de Noviembre “lo hacen de manera
manual     la información. La solución propuesta es facilitar el manejo de la
información de acuerdo a cada acatamiento.
El departamento de secretaria necesita ingresar y obtener información de cada
estudiante, así como matriculación, ingreso de notas, obtención de promociones
con su respectiva información de cada uno de los estudiantes.
Para mayor facilidad el departamento de secretaria podrá obtener reportes
automáticamente de matriculación, notas, promociones una lista completa de
alumnos por curso.
El sistema propuesto se llamara “CNON”
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas
Formato de presentacion del anteproyecto de tesis de sistemas

Weitere ähnliche Inhalte

Ähnlich wie Formato de presentacion del anteproyecto de tesis de sistemas

Resumen servidores
Resumen servidoresResumen servidores
Resumen servidores
amador11
 
Evolucion de los sistemas computacionales
Evolucion de los sistemas computacionalesEvolucion de los sistemas computacionales
Evolucion de los sistemas computacionales
Danny Mejia
 
Investigacion servidores
Investigacion servidoresInvestigacion servidores
Investigacion servidores
Ramicat
 

Ähnlich wie Formato de presentacion del anteproyecto de tesis de sistemas (20)

Resumen servidores
Resumen servidoresResumen servidores
Resumen servidores
 
Servidores trabajo
Servidores trabajoServidores trabajo
Servidores trabajo
 
Servidores
ServidoresServidores
Servidores
 
Servidores
ServidoresServidores
Servidores
 
Servidores
ServidoresServidores
Servidores
 
Servidores
ServidoresServidores
Servidores
 
Servidores
ServidoresServidores
Servidores
 
Evolucion de los sistemas computacionales
Evolucion de los sistemas computacionalesEvolucion de los sistemas computacionales
Evolucion de los sistemas computacionales
 
Servidores
ServidoresServidores
Servidores
 
Servidor
ServidorServidor
Servidor
 
Tablón de anuncios por web y móvil
Tablón de anuncios por web y móvilTablón de anuncios por web y móvil
Tablón de anuncios por web y móvil
 
Servidores
ServidoresServidores
Servidores
 
Tipos de Servidores
Tipos de Servidores Tipos de Servidores
Tipos de Servidores
 
Investigacion servidores
Investigacion servidoresInvestigacion servidores
Investigacion servidores
 
Redes
RedesRedes
Redes
 
trabajo de comunicacion web.docx
trabajo de comunicacion web.docxtrabajo de comunicacion web.docx
trabajo de comunicacion web.docx
 
Resumenservidores
ResumenservidoresResumenservidores
Resumenservidores
 
Servidores
ServidoresServidores
Servidores
 
Desarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
Desarrolo de un videojuego multijugador usando arquitectura Cliente-ServidorDesarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
Desarrolo de un videojuego multijugador usando arquitectura Cliente-Servidor
 
Tema los servidores... moli marre jussy talia
Tema los servidores... moli marre jussy taliaTema los servidores... moli marre jussy talia
Tema los servidores... moli marre jussy talia
 

Kürzlich hochgeladen

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Kürzlich hochgeladen (20)

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 

Formato de presentacion del anteproyecto de tesis de sistemas

  • 1. ANTEPROYECTO DE TESIS INSTITUTO TECNOLÓGICO SUPERIOR PARTICULAR “SAN GABRIEL” TÍTULO DEL PROYECTO: Desarrollo del sistema Académico para el proceso de matriculación utilizando Visual Studio 2010, para el colegio nacional 11 de noviembre perteneciente a la parroquia San Andrés de la provincia de Chimborazo PREVIA A LA OBTENCION DEL TÍTULO DE TECNÓLOGO EN INFORMÁTICA MENCION: ANÁLISIS DE SISTEMAS PRESENTADO POR: Marcia Obdulia Campoverde Guilcapi ANALIZADO Y APROBADO POR LA COMISIÓN TÉCNICA: FECHA DE APROBACIÓN: ……………………………………………………………………… ……………………………………………………………………
  • 2. 1. ASPECTOS GENERALES: 1.1. TÍTULO DEL PROYECTO Desarrollo del sistema Académico para el proceso de matriculación utilizando Visual Studio 2010.Para el colegio nacional 11 de noviembre perteneciente a la Parroquia San Andrés Provincia de Chimborazo. 1.2. PROPONENTE: NOMBRE: Marcia Obdulia Campoverde Guilcapi ESPECIALIDAD: Diseño y Análisis ÁREA: Sistemas 1.3. ASESOR DOCENTE: Ing. Patricio Nevarez 1.4. LUGAR DE REALIZACIÓN: Col. Nacional 11 de Noviembre 1.5. TIEMPO DE DURACIÓN: 6 meses 1.6. FECHA ESTIMADA DE INICIACIÓN: Septiembre 2012
  • 3. 2. FORMULACIÓN GENERAL DEL PROYECTO DE TESIS: 2.1. ANTECEDENTES La creación del Colegio Nacional 11 de Noviembre. Fue un hecho de invalorable importancia, ya que se convirtió en el motor cultural del cambio, transformación y adelanto socioeconómico de la comunidad de Pulinguí .Parroquia San Andrés Cantón Guano. Acontecimiento memorable que se produjo el 20 de Septiembre de 1985.Con el nombre de 11 de Noviembre: en honor a la gesta heroica de Riobamba en 1820 y oficializado por el ministerio de educación mediante Acuerdo Ministerial 10115. Es importante destacar que nuestra institución tuvo su origen a través de la brillante idea progresista de los habitantes de Pulinguí, quienes dejaron volar libremente su imaginación, aunque no en pocas ocasiones sus ánimos decaían llegando a pensar que la idea de contar con una institución educativa de nivel medio en su comunidad podía ser únicamente una quimera, una utopía: sin embargo le agregaron una gran dosis de dedicación y por qué no decirlo sacrificio hasta alcanzar el objetivo. El Colegio Nacional 11 de Noviembre, durante el periodo lectivo 1985-1986 abrió sus puertas a la juventud con exquisitos deseos de superación basada en la ética profesional honestidad, solidaridad y vacación de servicio a la comunidad encaminándose hacia la excelencia educativa. Hay que recalcar que desde siempre el servicio a la juventud estudiosa es un compromiso de todos quienes hacemos el colegio 11 de Noviembre, es una constante redoblar esfuerzos para formar bachilleres de élite a través de una
  • 4. coeducación integral haciendo de los jóvenes personas solidarias, creativas y sobre todo comprometidos con la sociedad. 2.2. JUSTIFICACIÓN La información de matriculación se ha venido manejando de forma manual llevando una pérdida de tiempo y recursos por lo que la Institución ha optado por un Sistema Informático para llevar de mejor manera y rápida la matriculación y entrega de boletines ya que esto se realizar de forma automatizado para mayor rapidez. 2.3. OBJETIVOS 2.3.1. OBJETIVOS GENERALES Desarrollar el Sistema Académico para el proceso de matriculación utilizando Visual Studio 2010 para el colegio Nacional 11 de Noviembre. 2.3.2. OBJETIVOS ESPECIFICOS • Recopilar la información necesaria para el desarrollo del sistema. • Sistematizar la información de los estudiantes que existan en la Institución a través del sistema informático. • Realizar el sistema para la matriculación de los estudiantes utilizando la herramienta visual studio 2010. 2.4. MARCO TEÓRICO: CAPITULO I
  • 5. Servidor. En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes. También se suele denominar con la palabra servidor a: Una aplicación informática o programa que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes. Algunos servicios habituales son los servicios de archivos, que permiten a los usuarios almacenar y acceder a los archivos de una computadora y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Este es el significado original del término. Es posible que un ordenador cumpla simultáneamente las funciones de cliente y de servidor. Una computadora en la que se ejecuta un programa que realiza alguna tarea en beneficio de otras aplicaciones llamadas clientes, tanto si se trata de un ordenador central(mainframe), un miniordenador, una computadora personal, una PDA o un sistema embebido; sin embargo, hay computadoras destinadas únicamente a proveer los servicios de estos programas: estos son los servidores por antonomasia. Un servidor no es necesariamente una máquina de última generación de grandes proporciones, no es necesariamente un superordenador; un servidor puede ser desde una computadora vieja, hasta una máquina sumamente potente (ej.: servidores web, bases de datos grandes, etc. Procesadores especiales y hasta varios terabytes de memoria). Todo esto depende del uso que se le dé al servidor. Si usted lo desea, puede convertir al equipo desde el cual usted está leyendo esto en un servidor instalando un programa que trabaje por la red y a la
  • 6. que los usuarios de su red ingresen a través de un programa de servidor web como Apache. Por lo cual podemos llegar a la conclusión de que un servidor también puede ser un proceso que entrega información o sirve a otro proceso. El modelo Cliente-servidor no necesariamente implica tener dos ordenadores, ya que un proceso cliente puede solicitar algo como una impresión a un proceso servidor en un mismo ordenador. Tipos de servidores En la siguiente lista hay algunos tipos comunes de servidores:  Servidor de archivo: es el que almacena varios tipos de archivos y los distribuye a otros clientes en la red.  Servidor de impresiones: controla una o más impresoras y acepta trabajos de impresión de otros clientes de la red, poniendo en cola los trabajos de impresión (aunque también puede cambiar la prioridad de las diferentes impresiones), y realizando la mayoría o todas las otras funciones que en un sitio de trabajo se realizaría para lograr una tarea de impresión si la impresora fuera conectada directamente con el puerto de impresora del sitio de trabajo.  Servidor de correo: almacena, envía, recibe, en ruta y realiza otras operaciones relacionadas con email para los clientes de la red.  Servidor de fax: almacena, envía, recibe, en ruta y realiza otras funciones necesarias para la transmisión, la recepción y la distribución apropiadas de los fax.  Servidor de la telefonía: realiza funciones relacionadas con la telefonía, como es la de contestador automático, realizando las funciones de un sistema interactivo para la respuesta de la voz, almacenando los mensajes de voz, encaminando las llamadas y controlando también la red o el Internet, p. ej., la entrada excesiva de la voz sobre IP (Vip), etc.
  • 7. Servidor proxy: realiza un cierto tipo de funciones a nombre de otros clientes en la red para aumentar el funcionamiento de ciertas operaciones (p. ej., prefetching y depositar documentos u otros datos que se soliciten muy frecuentemente), también proporciona servicios de seguridad, o sea, incluye un cortafuegos. Permite administrar el acceso a internet en una red de computadoras permitiendo o negando el acceso a diferentes sitios Web.  Servidor del acceso remoto (RAS): controla las líneas de módem de los monitores u otros canales de comunicación de la red para que las peticiones conecten con la red de una posición remota, responde llamadas telefónicas entrantes o reconoce la petición de la red y realiza la autentificación necesaria y otros procedimientos necesarios para registrar a un usuario en la red.  Servidor de uso: realiza la parte lógica de la informática o del negocio de un uso del cliente, aceptando las instrucciones para que se realicen las operaciones de un sitio de trabajo y sirviendo los resultados a su vez al sitio de trabajo, mientras que el sitio de trabajo realiza la interfaz operadora o la porción del GUI del proceso (es decir, la lógica de la presentación) que se requiere para trabajar correctamente.  Servidor web: almacena documentos HTML, imágenes, archivos de texto, escrituras, y demás material Web compuesto por datos (conocidos colectivamente como contenido), y distribuye este contenido a clientes que la piden en la red.  Servidor de base de datos: provee servicios de base de datos a otros programas u otras computadoras, como es definido por el modelo cliente- servidor. También puede hacer referencia a aquellas computadoras (servidores) dedicadas a ejecutar esos programas, prestando el servicio.  Servidor de reserva: tiene el software de reserva de la red instalado y tiene cantidades grandes de almacenamiento de la red en discos duros u otras formas del almacenamiento (cinta, etc.) disponibles para que se utilice con el
  • 8. fin de asegurarse de que la pérdida de un servidor principal no afecte a la red. Esta técnica también es denominada clustering.  Servidor de impresión: muchas impresoras son capaces de actuar como parte de una red de ordenadores sin ningún otro dispositivo, tal como un "print server" (servidor de impresión), a actuar como intermediario entre la impresora y el dispositivo que está solicitando que se termine un trabajo de impresión. Sin embargo, de acuerdo al rol que asumen dentro de una red se dividen en:  Servidor dedicado: son aquellos que le dedican toda su potencia a administrar los recursos de la red, es decir, a atender las solicitudes de procesamiento de los clientes.  Servidor no dedicado: son aquellos que no dedican toda su potencia a los clientes, sino también pueden jugar el rol de estaciones de trabajo al procesar solicitudes de un usuario local. CAPITULO II Comparación en tamaño entre un cliente liviano y un cliente pesado. El cliente híbrido pudiera ser de cualquier tamaño entre estos dos.
  • 9. El cliente es una aplicación informática o un computador que accede a un servicio remoto en otro computador, conocido como servidor, normalmente a través de una red de telecomunicaciones El término se usó inicialmente para los llamados terminales tontos, dispositivos que no eran capaces de ejecutar programas por sí mismos, pero podían conectarse e interactuar con computadores remotos por medio de una red y dejar que éste realizase todas las operaciones requeridas, mostrando luego los resultados al usuario. Se utilizaban sobre todo porque su coste en esos momentos era mucho menor que el de un computador. Estos terminales tontos eran clientes de un computador mainframe por medio del tiempo compartido. Actualmente se suelen utilizar para referirse a programas que requieren específicamente una conexión a otro programa, al que se denomina servidor y que suele estar en otra máquina. Ya no utilizan por criterios de coste, sino para obtener datos externos (por ejemplo páginas web, información bursátil o bases de datos), interactuar con otros usuarios a través de un gestor central (como por ejemplo los protocolos bittorrent o IRC), compartir información con otros usuarios (servidores de archivos y otras aplicaciones Groupware) o utilizar recursos de los que no se dispone en la máquina local (por ejemplo impresión) Uno de los clientes más utilizados, sobre todo por su versatilidad, es el navegador web. Muchos servidores son capaces de ofrecer sus servicios a través de un navegador web en lugar de requerir la instalación de un programa específico. TIPOS DE CLIENTES Existen varios tipos de clientes, dependiendo de la cantidad de tareas que realice el cliente en comparación con el servidor.
  • 10. Almacenamiento de Proceso de datos local datos local Cliente Sí Sí pesado Cliente No Sí híbrido Cliente No No liviano Cliente pesado Un cliente pesado tiene capacidad de almacenar los datos y procesarlos, pero sigue necesitando las capacidades del servidor para una parte importante de sus funciones. Un cliente de correo electrónico suele ser un cliente pesado. Puede almacenar los mensajes de correo electrónico del usuario, trabajar con ellos y redactar nuevos mensajes, pero sigue necesitando una conexión al servidor para enviar y recibir los mensajes. Cliente híbrido Un cliente híbrido no tiene almacenados los datos con los que trabaja, pero sí es capaz de procesar datos que le envía el servidor. Muchos programas de colaboración almacenan remotamente los datos para que todos los usuarios trabajen con la misma información, y utilizan clientes híbridos para acceder a esa información. Cliente liviano
  • 11. Un cliente liviano no tiene capacidad de procesamiento y su única función es recoger los datos del usuario, dárselos al servidor, y mostrar su respuesta. Los primeros navegadores web eran clientes livianos, simplemente mostraban las páginas web que solicitaba el usuario. Actualmente, el uso de lenguajes de script, programas Java y otras funciones de DHTML dan una capacidad de procesamiento a los navegadores, por lo que se consideran clientes Híbridos. CAPITULO III Cliente- Servidor: Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor al reconocedor de voz que brinda servicios a las peticiones que hace el sistema MexVox, el cual hace las veces de cliente. En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama modelo Cliente-Servidor, éste es un modelo que intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad en las comunicaciones. El término Cliente/Servidor fue usado por primera vez en 1980 para referirse a PC’s en red. Este modelo Cliente/Servidor empezó a ser aceptado a finales de los 80’s. Su funcionamiento es sencillo: se tiene una máquina cliente, que requiere un servicio de una máquina servidor, y éste realiza la función para la que está programado (nótese que no tienen que tratarse de máquinas diferentes; es decir, una computadora por sí sola puede ser ambos cliente y servidor dependiendo del software de configuración). Cliente-servidor La arquitectura cliente-servidor consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
  • 12. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema. La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma. Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema. La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico. La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en una red mixta. Características En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son: Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
  • 13. Espera y recibe las respuestas del servidor. Por lo general, puede conectarse a varios servidores a la vez. Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. Al contratar un servicio de redes, se tiene que tener en la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza, por ejemplo: cable de cobre ronda entre 1 ms y 50 ms. Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son: Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo). Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente. Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). No es frecuente que interactúen directamente con los usuarios finales Comparación de la arquitectura C/S con otras arquitecturas de red. Comparación con las redes de pares Las redes de pares, también conocidas como redes par-a-par o peer-to- peer (abreviados con las siglas P2PM) son otro tipo de arquitectura de red. Comparación con la arquitectura Cliente-Cola-Cliente Si bien la clásica arquitectura C/S requiere uno de los puntos terminales de comunicación para actuar como un servidor, que puede ser algo más difícil de aplicar, la arquitectura Cliente-Cola-Cliente habilita a todos los nodos para
  • 14. actuar como clientes simples, mientras que el servidor actúa como una cola que va capturando las peticiones de los clientes (un proceso que debe pasar sus peticiones a otro, lo hace a través de una cola, por ejemplo, una consulta a una base de datos, entonces, el segundo proceso conecta con la base de datos, elabora la petición, la pasa a la base de datos, etc.). Esta arquitectura permite simplificar en gran medida la implementación de software. La arquitectura P2P originalmente se basó en el concepto "Cliente-Cola-Cliente". Arquitecturas multi-capas La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores. Consecuentemente, estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos capas. Algunas redes disponen de tres tipos de nodos:  Clientes que interactúan con los usuarios finales.  Servidores de aplicación que procesan los datos para los clientes.  Servidores de la base de datos que almacenan los datos para los servidores de aplicación. El Modelo Cliente-Servidor Desde el punto de vista funcional, se puede definir la computación Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma. En el modelo cliente servidor, el cliente envía un mensaje solicitando un determinado servicio a un servidor (hace una petición), y este envía uno o varios mensajes con la respuesta (provee el servicio) (Ver Figura 5.1). En un sistema distribuido cada máquina puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras.
  • 15. La idea es tratar a una computadora como un instrumento, que por sí sola pueda realizar muchas tareas, pero con la consideración de que realice aquellas que son más adecuadas a sus características. Si esto se aplica tanto a clientes como servidores se entiende que la forma más estándar de aplicación y uso de sistemas Cliente/Servidor es mediante la explotación de las PC’s a través de interfaces gráficas de usuario; mientras que la administración de datos y su seguridad e integridad se deja a cargo de computadoras centrales tipo mainframe. Usualmente la mayoría del trabajo pesado se hace en el proceso llamado servidor y el o los procesos cliente sólo se ocupan de la interacción con el usuario (aunque esto puede variar). En otras palabras la arquitectura Cliente/Servidor es una extensión de programación modular en la que la base fundamental es separar una gran pieza de software en módulos con el fin de hacer más fácil el desarrollo y mejorar su mantenimiento Esta arquitectura permite distribuir físicamente los procesos y los datos en forma más eficiente lo que en computación distribuida afecta directamente el tráfico de la red, reduciéndolo grandemente. Cliente El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el término front-end . El Cliente normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas de usuario (GUI), además de acceder a los servicios distribuidos en cualquier parte de una red. Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:
  • 16. Administrar la interfaz de usuario. Interactuar con el usuario. Procesar la lógica de la aplicación y hacer validaciones locales. Generar requerimientos de bases de datos. Recibir resultados del servidor. Formatear resultados. Servidor Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún recurso administrado por él. Al proceso servidor se le conoce con el término back-end. El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos. Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos: Aceptar los requerimientos de bases de datos que hacen los clientes. Procesar requerimientos de bases de datos. Formatear datos para trasmitirlos a los clientes. Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos. Características de la arquitectura Cliente/Servidor Las características básicas de una arquitectura Cliente/Servidor son: Combinación de un cliente que interactúa con el usuario, y un servidor que interactúa con los recursos compartidos. El proceso del cliente proporciona la interfaz entre el usuario y el resto del sistema. El proceso del servidor actúa como un motor de software que maneja recursos compartidos tales como bases de datos, impresoras, módems, etc. Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cómputo como velocidad del procesador, memoria, velocidad y capacidades del disco y input-output divises.
  • 17. Se establece una relación entre procesos distintos, los cuales pueden ser ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo largo de la red. Existe una clara distinción de funciones basada en el concepto de "servicio", que se establece entre clientes y servidores. La relación establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a recursos compartidos. Los clientes corresponden a procesos activos en cuanto a que son éstos los que hacen peticiones de servicios a los servidores. Estos últimos tienen un carácter pasivo ya que esperan las peticiones de los clientes. No existe otra relación entre clientes y servidores que no sea la que se establece a través del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la petición y entrega de solicitudes de servicio. El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas. El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite agregar más estaciones de trabajo activas sin afectar significativamente el rendimiento. La escalabilidad vertical permite mejorar las características del servidor o agregar múltiples servidores. Modelo Cliente-Servidor en el sistema MexVox. En la implementación del sistema, nosotros utilizamos esta arquitectura en la misma computadora, convirtiendo a MexVox en cliente y al reconocedor en servidor. Esto porque MexVox no permite trabajar directamente con las herramientas del ActiveX que son con las que implementamos el reconocedor.
  • 18. Al entrar al sistema MexVox, éste hace un llamado al reconocedor y mediante éste llamado se hace la conexión, luego cuando el usuario requiere del reconocedor, presiona una tecla que es la petición desde el MexVox al reconocedor. Con esto el reconocedor entiende que lo están llamando y tiene disponible el servicio de reconocer lo que el usuario hable. Hace el proceso de reconocimiento y regresa a MexVox el comando reconocido. Cuando el usuario presiona nuevamente la tecla, MexVox envía una petición al reconocedor de que esté dormido (es decir que no reconozca) hasta que se le llame nuevamente. Múltiple Server Para que un proceso se realice de la mejor manera, es preferible utilizar terminales distintos realizando la misma tarea, a centralizar los recursos y que con más hardware/software se realice la misma tarea. Con la ejecución de múltiples. Servidores el procesamiento es más rápido, el tiempo de respuesta es descentralizado y se incrementa la confiabilidad. Cooperación de procesos paralelos El mismo proceso se ejecuta simultáneamente (sistemas redundantes). Cooperación de base de datos Si se requiere de cierta información ya existente, por qué crearla de nuevo, simplemente interactúa y aprovecha la información ya creada. Ventajas del esquema Cliente/Servidor Entre las principales ventajas del esquema Cliente/Servidor están: Uno de los aspectos que más ha promovido el uso de sistemas Cliente/Servidor, es la existencia de plataformas de hardware cada vez más baratas. Esta constituye a su vez una de las más palpables ventajas de este esquema, la posibilidad de utilizar máquinas considerablemente más baratas que las requeridas por una solución centralizada, basada en sistemas grandes.
  • 19. Además, se pueden utilizar componentes, tanto de hardware como de software, de varios fabricantes, lo cual contribuye considerablemente a la reducción de costos y favorece la flexibilidad en la implantación y actualización de soluciones. El esquema Cliente/Servidor facilita la integración entre sistemas diferentes y comparte información permitiendo, por ejemplo que las máquinas ya existentes puedan ser utilizadas pero utilizando interfaces mas amigables al usuario. De esta manera, podemos integrar PCs con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo sistema operacional. Al favorecer el uso de interfaces gráficas interactivas, los sistemas Construidos bajo este esquema tienen mayor interacción y más intuitiva con el usuario. En el uso de interfaces gráficas para el usuario, el esquema Cliente/Servidor presenta la ventaja, con respecto a uno centralizado, de que no es siempre necesario transmitir información gráfica por la red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda de la red. Una ventaja adicional del uso del esquema Cliente/Servidor es que es más rápido el mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear las herramientas existentes (por ejemplo los servidores de SQL o las herramientas de más bajo nivel como los sockets o el RPC). La estructura inherentemente modular facilita además la integración de nuevas tecnologías y el crecimiento de la infraestructura computacional, favoreciendo así la escalabilidad de las soluciones. El esquema Cliente/Servidor contribuye además, a proporcionar, a los diferentes departamentos de una organización, soluciones locales, pero permitiendo la integración de la información relevante a nivel global. Desventajas del esquema Cliente/Servidor Entre las principales desventajas del esquema Cliente/Servidor están:
  • 20. El mantenimiento de los sistemas es más difícil pues implica la interacción de diferentes partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el diagnóstico de fallas. Se cuenta con muy escasas herramientas para la administración y ajuste del desempeño de los sistemas. Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas. Además, hay que tener estrategias para el manejo de errores y para mantener la consistencia de los datos. La seguridad de un esquema Cliente/Servidor es otra preocupación importante. Por ejemplo, se deben hacer verificaciones en el cliente y en el servidor. El desempeño es otro de los aspectos que se deben tener en cuenta en el esquema Cliente/Servidor. Problemas de este estilo pueden presentarse por congestión en la red, dificultad de tráfico de datos, etc. CAPITULO IV BASE DE DATOS HISTORIA DE LAS BASES DE DATOS Tuvieron sus orígenes en 1960 - 1962, cuando se empezaron a usar las maquinas que codificaban la información en tarjetas perforadas por medio de agujeros. Las bases de datos se crean con el objetivo de almacenar grandes cantidades de datos que antes se almacenaba en libros, lo que era lento, costoso y complejo (cualquier actualización a realizar, había que hacerla en cada uno de los libros en los que apareciera dicha información a modificar. Las primeras bases de datos manejaban ficheros que eran almacenados en tarjetas o soportes magnéticos. Cuando los ordenadores evolucionan, aparecen las cintas y los discos, a la vez que las maquinas son dotadas de mucha más potencia y facilidad de manipulación, es por tanto en ese momento cuando las bases de datos comienzan a ser realmente útiles.
  • 21. En 1970 se convoca una Conferencia de Lenguajes de Programación y se establece un modelo llamado CODASYL (Modelo para el tratamiento de bases de datos que fue publicado por E. Cód. en 1970. Cód., propuso una forma de organizar las bases de datos mediante un modelo matemático lógico. Una vez creado este modelo se crea un modelo estándar de actuación. Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Existen programas denominados sistemas gestores de bases de datos, abreviados SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. ¿QUÉ ES UNA BASE DE DATOS? Es un administrador de datos relacionados lógicamente entre si, en la forma de cómo están organizados es la que lo convierte en una base de datos. Hay cuatro modelos principales de bases de datos: el modelo jerárquico, el modelo en red, el modelo relacional (el más extendido hoy en día; los datos se almacenan en tablas a los que se accede mediante consultas escritas en SQL) y el modelo de bases de datos deductivas. Otra línea de investigación en este campo son las bases de datos orientadas a objeto, o de objetos persistentes. Su objetivo es el de automatizar: El Mantenimiento • Cualquier informe de información
  • 22. Cualquier consulta sobre dicha información ELEMENTOS DE UNA BASE DE DATOS • Datos: Es la parte esencial de la información, es decir, la información que llega a la base de datos. • Atributos: Son los diferentes campos que conforman la estructura de una base de datos. • Campos: Es la unidad más pequeña de datos. • Registro: Es un conjunto de campos o atributos relacionados entre sí. • Archivo: Es un conjunto de registros relacionados. COMO SE RELACIONAN LAS BASES DE DATOS Solo puede haber relación entre una tabla padre y otra tabla hija, de modo que no se puede establecer la relación directa entre tres tablas, aunque se podrá hacer de la siguiente manera: TIPOS DE DATOS Los Tipos de Datos de una Base se dividen en dos estas son: Las de Entrada Se refiere a la información que entra al sistema por primera vez. Esta información podría dar pie a una modificación de los datos persistentes, pero en principio no forma parte de la base de datos propiamente dicha. Las de Salida Se refiere a mensajes y resultados que emanan del sistema. Una vez más, esta información podría derivarse de los datos persistentes, pero no se le considera en si como parte de la Base de Datos. POR QUÉ UTILIZAR UNA BASE DE DATOS
  • 23. Es Compacto: No hacen falta archivos de papeles que pudieran ocupar mucho espacio. • Es Rápido: La máquina puede obtener y modificar datos con mucha mayor velocidad que un ser humano. Así es posible satisfacer con rapidez consultas de casos particulares, del momento, sin necesidad de búsquedas visuales o manuales que refieren mucho tiempo. • Es menos Laborioso: Se elimina gran parte del tedio de manera archivos a mano. Las tareas mecánicas siempre serán mejor realizadas por las maquinas. • Es Actual: Se dispone en cualquier momento de información precisa y al día. • Cómoda: Al tener la información en un mismo sitio, ahorraremos tiempo y trabajo. TIPOS DE DATOS PARA LOS CAMPOS DE UNA TABLA TEXTO: Admite contenido de caracteres alfanuméricos, el tamaño estará entre 1 y 255 Bytes y el valor por defecto de esta tamaño es de 50 Bytes. MEMO: Admite contenido de tipo alfanumérico, el tamaño está entre 1 y 64.000 Bytes (64Kas). NUMERICOS: Admite contenido de caracteres numéricos, el tamaño será entre 1, 2, 4 y 8 Bytes, dependiendo del formato de tipo numérico. El formato de tipo numérico puede ser de tipo: DOUBLE, FLOAT, INTEGER, etc... Este tipo de datos solo se utilizara cuando vayamos a realizar operaciones con ellos. FECHA Y HORA: Solo admite horas y fechas. Este tipo de dato ocupa 8 Bytes. MONEDA: Admite contenido de caracteres numéricos, dándoles a estos un formato automático para una moneda (Puntos de millar, símbolo de la peseta, etc.) dependiendo este formato de la configuración regional del panel de control. Este tipo de datos puede llevar decimales y se utilizara siempre que hablemos de cantidades monetarias.
  • 24. AUTONUMERICO: Este campo lo crea Access con nuestro consentimiento de una manera automática, para establecerlo como una clave principal. Es de tipo numérico, y es incrementada automáticamente por Access cada vez que añadimos un nuevo registro a la tabla. Este tipo de claves principal, no suelen usarse, ya que es preferible definir nuestras propias claves, aunque puede ser usada como una posible puerta trasera en alguna ocasión. SI / NO: Tipo de datos boléanos, los valores boléanos pueden tener dos valores posibles, 1 o 0, donde 1 es verdadero y 0 es Falso. OBJETO OLE: El contenido serán gráficos y el tamaño de estos puede ser de hasta 1 un Gigabyte. Hay que tener especial cuidado con estos objetos, pues al borrarlos de la base de datos, no se reduce el tamaño de la misma, mientras esta no sea compactada. Si damos de baja un registro en una base de datos Access, el programa debe compactar la base de datos para reducir y eliminar los espacios en blancos que este Registro ha producido al ser eliminado. De este modo se reduce el tamaño de la base de datos. Lo mismo pasa con los objetos OLE. TIPOS DE BASE DE DATOS Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan. Según la variabilidad de los datos almacenados Bases de datos estáticas Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones. Bases de datos dinámicas
  • 25. Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de un supermercado, una farmacia, un videoclub o una empresa. Bases de datos bibliográficas Solo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras. Bases de datos de texto completo Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas. Bases de datos o "bibliotecas" de información química o biológica Son bases de datos que almacenan diferentes tipos de información proveniente de la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos: Las que almacenan secuencias de nucleótidos o proteínas. Las bases de datos de rutas metabólicas. Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas- Bases de datos clínicas. Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos): PubChem, Medline, EBSCOhost. Modelos de bases de datos Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de administración de datos.
  • 26. Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos. Algunos modelos con frecuencia utilizados en las bases de datos: Bases de datos jerárquicas Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Base de datos de red Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales. Bases de datos transaccionales
  • 27. Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales. Bases de datos relacionales Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.
  • 28. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos. Durante los años 80 la aparición de BASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que Base no utilizaba SQL como lenguaje base para su gestión. Bases de datos multidimensionales Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar. Bases de datos orientadas a objetos Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:  Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.  Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.  Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una
  • 29. operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones. SQL: 2003, es el estándar de SQL92 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL92. Bases de datos documentales Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesauros es un sistema de índices optimizado para este tipo de bases de datos. Bases de datos deductivas Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa en lógica matemática. Gestión de bases de datos distribuida (SGBD) La base de datos y el software SGBD pueden estar distribuidos en múltiples sitios conectados por una red. Hay de dos tipos: Distribuidos homogéneos: utilizan el mismo SGBD en múltiples sitios. Distribuidos heterogéneos: Da lugar a los SGBD federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonomía local y tienen acceso a varias bases de datos autónomas preexistentes almacenados en los SGBD, muchos de estos emplean una arquitectura cliente-servidor. Estas surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etcétera.
  • 30. Definir el término base de datos Definición de Bases de Datos.- Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo. 1.- Nivel Físico. Es el nivel real de los datos almacenados. Es decir como se almacenan los datos, ya sea en registros, o como sea. Este nivel es usado por muy pocas personas que deben estar cualificadas para ello. Este nivel lleva asociada una representación de los datos, que es lo que denominamos Esquema Físico. 2.- Nivel Conceptual. Es el correspondiente a una visión de la base de datos desde el punto de visto del mundo real. Es decir tratamos con la entidad u objeto representado, sin importarnos como está representado o almacenado. Este nivel lleva asociado el Esquema Conceptual. 3.- Nivel Visión. Son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios por lo general sólo tienen acceso a pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería el caso del empleado que no tiene porqué tener acceso al sueldo de sus compañeros o de sus superiores. El esquema asociado a éste nivel es el Esquema de Visión. Los 3 niveles vistos, componen lo que conocemos como arquitectura de base de datos a 3 niveles. A menudo el nivel físico no es facilitado por muchos DBMS, esto es, no
  • 31. permiten al usuario elegir como se almacenan sus datos y vienen con una forma estándar de almacenamiento y manipulación de los datos. TIPOS DE MODELOS DE DATOS Existen multitud de estos modelos que se conocen como Modelos de Datos, algunos de estos modelos son: • Modelo Relacional de Datos • Modelo de Red • Modelo Jerárquico Modelo Relacional Este modelo se está empleando con más frecuencia en la práctica, debido a las ventajas que ofrece sobre los dos modelos anteriores, entre ellas, el rápido entendimiento por parte de usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos. Las bases de datos que pertenecen a esta categoría se basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla bidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. Las características de cada entidad están definidas por las columnas de las relaciones, que se llaman atributos. Entidades con características comunes, es decir descritas por el mismo conjunto de atributos, formarán parte de la misma relación. Modelo de Red. Este modelo permite la representación de muchos a muchos, de tal forma que cualquier registro dentro de la base de datos puede tener varias ocurrencias superiores a él. El modelo de red evita redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector. Modelo Jerárquico.
  • 32. Los datos se organizan en grupos unidos entre ellos por relaciones de "posesión", en las que un conjunto de datos puede tener otros conjuntos de datos, pero un conjunto puede pertenecer sólo a otro conjunto. La estructura resultante es un árbol de conjuntos de datos. Bases de datos reticulares: el modelo reticular es muy parecido al jerárquico, y de hecho nace como una extensión de este último. También en estos modelos conjuntos de datos están unidos por relaciones de posesión, pero cada conjunto de datos puede pertenecer a uno o más conjuntos. CAPITULO V SQL Abreviatura de s tructured query l LENGUAJE, y se pronuncia ya sea ver- Kwell o como letras separadas. SQL es un estándar consulta para solicitar información de una base de datos . La versión original llamada SEQUEL (s tructured Español Query l LENGUAJE) fue diseñado por un IBM centro de investigación en 1974 y 1975. SQL primero fue introducido como un comercial del sistema de base de datos en 1979 por Oracle Corporation. Históricamente, SQL ha sido el lenguaje de consulta favorita para los sistemas de gestión de bases de datos que se ejecutan en minicomputadoras y mainframes . Cada vez más, sin embargo, SQL Server está siendo apoyado por el PC los sistemas de bases de datos, ya que soporta bases de datos distribuidas (las bases de datos que se transmiten a lo largo de varios sistemas informáticos ). Esto permite que varios usuarios en una red de área local para acceder a la base de datos simultáneamente. Aunque hay diferentes dialectos de SQL, sin embargo es lo más parecido a un estándar de lenguaje de consulta que existe en la actualidad. En 1986,ANSI aprobó una versión rudimentaria de SQL como el estándar oficial, pero la mayoría de las versiones de SQL desde entonces se han incluido muchas extensiones para el estándar ANSI. En 1991, ANSI actualizada de la norma. El nuevo estándar se conoce como SQL SAG.
  • 33. ¿Cuál es la diferencia entre el SQL y PL / SQL? Tanto SQL y PL / SQL son idiomas que se utilizan para acceder a los datos en bases de datos Oracle.SQL es un lenguaje limitado que le permite interactuar directamente con la base de datos. Puede escribir consultas (SELECT), manipular objetos (DDL) y datos (DML) de SQL. Sin embargo, SQL Server no incluye todas las cosas que los lenguajes de programación normales tienen, como los bucles y SI... ENTONCE. else. PL / SQL es un lenguaje de programación normal, que incluye todas las características de la mayoría de otros lenguajes de programación. Pero, tiene una cosa que otros lenguajes de programación no tienen: la capacidad de integrar fácilmente con SQL Server. Algunas de las diferencias: SQL se ejecuta una instrucción cada vez. PL / SQL se ejecuta como un bloque de código. SQL le dice a la base de datos lo que debe hacer (declarativa), no sé cómo hacerlo. Por el contrario, PL / SQL la base de datos dicen cómo hacer las cosas (de procedimiento). SQL se utiliza para consultas de código, declaraciones DML y DDL. PL / SQL se utiliza para codificar los bloques del programa, triggers, funciones, procedimientos y paquetes. Puede incrustar SQL en un programa de PL / SQL, pero no se puede incrustar PL / SQL dentro de una sentencia SQL. En caso de un uso de PL / SQL o Java de código a los procedimientos y factores desencadenantes? Tanto el PL / SQL y Java se puede utilizar para crear procedimientos almacenados y disparadores de Oracle. Esto conduce a menudo a preguntas como "¿Cuál de los dos es mejor?" y "Will nunca desupport Oracle PL / SQL en favor de Java?".
  • 34. Muchas de las aplicaciones de Oracle se basa en PL / SQL y sería difícil de Oracle para siempre desupport PL / SQL. De hecho, todo indica que PL / SQL todavía tiene un futuro brillante por delante. Muchas de las mejoras todavía se están haciendo a PL / SQL. Por ejemplo, Oracle 9i soporta compilación nativa de código PL / SQL a los binarios. Por no hablar de los numerosos PL / SQL mejoras realizadas en Oracle 10g y 11g. PL / SQL y Java atraer a diferentes personas en roles de trabajo diferentes. La siguiente tabla describe brevemente las similitudes y diferencias entre estos dos entornos de lenguaje: PL / SQL: Se puede utilizar para crear paquetes de Oracle, los procedimientos y disparadores Los datos céntricos y bien integrados en la base de datos Propiedad de Oracle y difícil portarlo a otras bases de datos La manipulación de datos es ligeramente más rápido en PL / SQL que en Java PL / SQL es un lenguaje de programación tradicional de procedimiento Java: Se puede utilizar para crear paquetes de Oracle, los procedimientos y disparadores Estándar abierto, no propiedad de Oracle Incurre en algunos gastos de conversión de datos entre la base de datos y el tipo de Java Java es un lenguaje orientada a objetos, y los módulos se estructuran en clases Java se puede utilizar para producir aplicaciones completas
  • 35. PS: A partir de Oracle 10g, procedimientos NET también se pueden almacenar en la base de datos (sólo Windows). Sin embargo, a diferencia de PL / SQL y Java, NET no se puede utilizar en sistemas no-Windows. PD: En versiones anteriores de Oracle que era mejor poner el código tanto como sea posible en los procedimientos en lugar de los factores desencadenantes. En esa etapa los procedimientos ejecutados más rápido que los desencadenantes como disparadores tenía que volver a compilar cada vez que antes de ejecutarse (a menos que en caché). En las versiones más recientes de los dos gatillos y los procedimientos se compilan cuando se creó (almacena p-code) y se puede agregar el código tanto como a uno le gusta, ya sea en los procedimientos o disparadores. Sin embargo, todavía se considera una buena práctica de poner la mayor cantidad de la lógica del programa como sea posible en paquetes, en lugar de los factores desencadenantes. CAPITULO VI Microsoft Visual Studio. Es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta varios lenguajes de programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. A partir de la versión 2005 Microsoft ofrece gratuitamente las Express Editions, que son varias ediciones básicas separadas por lenguajes de programación o plataforma enfocadas para novatos y entusiastas. Estas ediciones son iguales al entorno de desarrollo comercial pero sin características avanzadas. Dichas ediciones son:  Visual Basic Express Editions
  • 36. Visual C# Express Editions  Visual C++ Express Editions  Visual J# Express Editions (Desapareció en Visual Studio 2008)  Visual Web Develo per Express Editions (para programar en ASP.NET)  Visual F# (Apareció en Visual Studio 2010, es parecido al J#)* Adicionalmente, Microsoft ha puesto gratuitamente a disposición de todo el mundo una versión reducida de MS SQL Server llamada SQL Server Express Editions cuyas principales limitaciones son que no soporta bases de datos superiores a 4 GB de tamaño, únicamente se ejecuta en un procesador y emplea 1 GB de RAM como máximo, y no cuenta con el Agente de SQL Server. INFORMACIÓN GENERAL DE VISUAL STUDIO 2010 Historia Se lanzó en 1998 y fue la última versión en ejecutarse en la plataforma Win9x.1 Los números de versión de todas las partes constituyentes pasaron a 6.0, incluyendo Visual J++ y Visual InterDev, que se encontraban en las versiones 1.1 y 1.0 respectivamente. Esta versión fue la base para el sistema de desarrollo de Microsoft para los siguientes 4 años, en los que Microsoft migró su estrategia de desarrollo al .NET Framework. Visual Studio 6.0 fue la última versión en que Visual Basic se incluía de la forma en que se conocía hasta entonces; versiones posteriores incorporarían una versión muy diferente del lenguaje con muchas mejoras, fruto de la plataforma .NET. También supuso la última versión en incluir Visual J++, que proporcionaba extensiones de la plataforma Java, lo que lo hacía incompatible con la versión de Sun Microsystems. Esto acarreó problemas legales a Microsoft, y se llegó a un acuerdo en el que Microsoft dejaba de comercializar herramientas de programación que utilizaran la máquina virtual de Java.
  • 37. Aunque el objetivo a largo plazo de Microsoft era unificar todas las herramientas en un único entorno, esta versión en realidad añadía un entorno más a Visual Studio 5.0: Visual J++ y Visual InterDev se separaban del entorno de Visual C++, al tiempo que Visual FoxPro y Visual Basic seguían manteniendo su entorno específico. Visual Studio .NET (2002) En esta versión se produjo un cambio sustancial, puesto que supuso la introducción de la plataforma .NET de Microsoft. .NET es una plataforma de ejecución intermedia multilenguaje, de forma que los programas desarrollados en .NET no se compilan en lenguaje máquina, sino en un lenguaje intermedio (CIL - Common Intermediate Language) denominado Microsoft Intermediate Language (MSIL). En una aplicación MSIL, el código no se convierte a lenguaje máquina hasta que ésta se ejecuta, de manera que el código puede ser independiente de plataforma (al menos de las soportadas actualmente por .NET). Las plataformas han de tener una implementación de Infraestructura de Lenguaje Común (CLI) para poder ejecutar programas MSIL. Actualmente se pueden ejecutar programas MSIL en Linux y Mac OS X usando implementaciones de .NET que no son de Microsoft, tales como Mono y DotGNU. Visual Studio .NET 2002 supuso también la introducción del lenguaje C#, un lenguaje nuevo diseñado específicamente para la plataforma .NET, basado en C++ y Java. Se presentó también el lenguaje J# (sucesor de J++), el cual, en lugar de ejecutarse en una máquina virtual de Java, se ejecuta únicamente en el framework .NET. El lenguaje Visual Basic fue remodelado completamente y evolucionó para adaptarse a las nuevas características de la plataforma .NET, haciéndolo mucho más versátil y dotándolo con muchas características de las que carecía. Algo similar se llevó a cabo con C++, añadiendo extensiones al lenguaje llamadas Managed
  • 38. Extensions for C++ con el fin de que los programadores pudieran crear programas en .NET. Por otra parte, Visual FoxPro pasa a comercializarse por separado. Todos los lenguajes se unifican en un único entorno. La interfaz se mejora notablemente en esta versión, siendo más limpia y personalizable. Visual Studio .NET puede usarse para crear programas basados en Windows (usando Windows Forms en vez de COM), aplicaciones y sitios web (ASP.NET y servicios web), y dispositivos móviles (usando el .NET Compact Framework). Esta versión requiere un sistema operativo basado en NT. La versión interna de Visual Studio .NET es la 7.0. Visual Studio .NET 2003 Visual Studio .NET 2003 supone una actualización menor de Visual Studio .NET. Se actualiza el .NET Framework a la versión 1.1. También se añade soporte con el fin de escribir aplicaciones para determinados dispositivos móviles, ya sea con ASP.NET o con el .NET Compact Framework. Además, el compilador de Visual C++ se mejora para cumplir con más estándares: el Visual C++ Toolkit 2003. Visual Studio 2003 se lanza en 4 ediciones: Academic, Professional, Enterprise Develo per y Enterprise Architect. La edición Enterprise Architect incluía una implementación de la tecnología de modelado Microsoft Visio, que se centraba en la creación de representaciones visuales de la arquitectura de la aplicación basadas en UML. También se introdujo "Enterprise Templates", para ayudar a grandes equipos de trabajo a estandarizar estilos de programación e impulsar políticas de uso de componentes y asignación de propiedades. Microsoft lanzó el Service Pack 1 para Visual Studio 2003 el 13 de septiembre de 2006. La versión interna de Visual Studio .NET 2003 es la 7.1 aunque el formato del archivo que emplea es el 8.0. Visual Studio 2005
  • 39. Visual Studio 2005 se empezó a comercializar a través de Internet a partir del 4 de octubre de 2005 y llegó a los comercios a finales del mes de octubre en inglés. En castellano no salió hasta el 4 de febrero de 2006. Microsoft eliminó la coletilla .NET de su nombre, pero eso no indica que se alejara de la plataforma .NET, de la cual se incluyó la versión 2.0. La actualización más importante que recibieron los lenguajes de programación fue la inclusión de tipos genéricos, similares en muchos aspectos a las plantillas de C++. Con esto se consigue encontrar muchos más errores en la compilación en vez de en tiempo de ejecución, incitando a usar comprobaciones estrictas en áreas donde antes no era posible. C++ tiene una actualización similar con la adición de C++/CLI como sustituto de C# manejado. Se incluye un diseñador de implantación, que permite que el diseño de la aplicación sea validado antes de su implantación. También se incluye un entorno para publicación web y pruebas de carga para comprobar el rendimiento de los programas bajo varias condiciones de carga. Visual Studio 2005 también añade soporte para arquitecturas de 64 bits. Aunque el entorno de desarrollo sigue siendo una aplicación de 32 bits, Visual C++ 2005 soporta compilación para x86-64 (AMD64, Intel 64) e IA- 64 (Itanium). El SDK incluye compiladores de 64 bits así como versiones de 64 bits de las librerías. Visual Studio 2005 tiene varias ediciones radicalmente distintas entre sí: Express, Standard, Professional, Tools for Office y 5 ediciones Visual Studio Team System. Éstas últimas se proporcionaban conjuntamente con suscripciones a MSDN cubriendo los 4 principales roles de la programación: Architects, Software Developers, Testers y Database Professionals. La funcionalidad combinada de las 4 ediciones Team System se ofrecía como la edición Team Suite. Por otra parte, Tools for the Microsoft Office System está diseñada para extender la funcionalidad a Microsoft Office. Las ediciones Express se han diseñado para principiantes, aficionados y pequeños negocios, todas disponibles gratuitamente a través de la página de
  • 40. Microsoft.2 Se incluye una edición independiente para cada lenguaje: Visual Basic, Visual C++, Visual C#, Visual J# para programación .NET en Windows y Visual Web Develo per para la creación de sitios web ASP.NET. Las ediciones Express carecen de algunas herramientas avanzadas de programación así como de opciones de extensibilidad. Se lanzó el Service Pack 1 para Visual Studio 2005 el 14 de diciembre de 2006. La versión interna de Visual Studio 2005 es la 8.0, mientras que el formato del archivo que emplea es la 9.0. Visual Studio 2008 Visual Studio 2008 fue publicado (RTM) el 17 de noviembre de 2007 en inglés, mientras que la versión en castellano no fue publicada hasta el 2 de febrero de 2008.3 El nuevo framework (.NET 3.5) está diseñado para aprovechar las ventajas que ofrece el nuevo sistema operativo Windows Vista a través de sus subsistemas Windows Communication Foundation (WCF) y Windows Presentation Foundation (WPF). El primero tiene como objetivo la construcción de aplicaciones orientadas a servicios, mientras que el último apunta a la creación de interfaces de usuario más dinámicas que las conocidas hasta el momento.4 A las mejoras de desempeño, escalabilidad y seguridad con respecto a la versión anterior, se agregan, entre otras, las siguientes novedades: La mejora en las capacidades de pruebas unitarias permiten ejecutarlas más rápido independientemente de si lo hacen en el entorno IDE o desde la línea de comandos. Se incluye además un nuevo soporte para diagnosticar y optimizar el sistema a través de las herramientas de pruebas de Visual Studio. Con ellas se podrán ejecutar perfiles durante las pruebas para que ejecuten cargas, prueben procedimientos contra un sistema y registren su comportamiento, y utilizar herramientas integradas para depurar y optimizar.
  • 41. Con Visual Studio Tools for Office (VSTO) integrado con Visual Studio 2008 es posible desarrollar rápidamente aplicaciones de alta calidad basadas en la interfaz de usuario (UI) de Office que personalicen la experiencia del usuario y mejoren su productividad en el uso de Word, Excel, PowerPoint, Outlook, Visio, InfoPath y Project. Una completa compatibilidad para implementación con Clic Once garantiza el entorno ideal para una fácil instalación y mantenimiento de las soluciones Office. Visual Studio 2008 permite incorporar características del nuevo Windows Presentation Foundation sin dificultad tanto en los formularios de Windows existentes como en los nuevos. Ahora es posible actualizar el estilo visual de las aplicaciones al de Windows Vista debido a las mejoras en Microsoft Foundation Class Library (MFC) y Visual C++. Visual Studio 2008 permite mejorar la interoperabilidad entre código nativo y código manejado por .NET. Esta integración más profunda simplificará el trabajo de diseño y codificación. LINQ (Language Integrated Query) es un nuevo conjunto de herramientas diseñado para reducir la complejidad del acceso a bases de datos a través de extensiones para C++ y Visual Basic, así como para Microsoft .NET Framework. Permite filtrar, enumerar, y crear proyecciones de muchos tipos y colecciones de datos utilizando toda la misma sintaxis, prescindiendo del uso de lenguajes especializados. Visual Studio 2008 ahora permite la creación de soluciones multiplataforma adaptadas para funcionar con las diferentes versiones de .NET Framework: 2.0 (incluido con Visual Studio 2005), 3.0 (incluido en Windows Vista) y 3.5 (incluido con Visual Studio 2008). NET Framework 3.5 incluye la biblioteca ASP.NET AJAX para desarrollar aplicaciones web más eficientes, interactivas y altamente personalizadas que funcionen para todos los navegadores más populares y utilicen las últimas tecnologías y herramientas Web, incluyendo Silverlight y Popfly. Visual Studio 2010
  • 42. Visual Studio 2010 es la versión más reciente de esta herramienta, acompañada por .NET Framework 4.0. La fecha del lanzamiento de la versión final fue el 12 de abril de 2010.5 Hasta ahora, uno de los mayores logros de la versión 2010 de Visual Studio ha sido el de incluir las herramientas para desarrollo de aplicaciones para Windows 7, tales como herramientas para el desarrollo de las características de Windows 7 (System.Windows.Shell) y la Ribbon Preview para WPF. Entre sus más destacables características, se encuentran la capacidad para utilizar múltiples monitores, así como la posibilidad de desacoplar las ventanas de su sitio original y acoplarlas en otros sitios de la interfaz de trabajo. Además ofrece la posibilidad de crear aplicaciones para muchas plataformas de Microsoft, como Windows, Azure, Windows Phone 7 o Sharepoint. Microsoft ha sido sensible a la nueva tendencia de las pantallas táctiles y con este Visual Studio 2010 también es posible desarrollar aplicativos para pantallas multitáctiles. Entre las ediciones disponibles de Visual Studio 2010 que podemos adquirir se encuentran: Visual Studio 2010 Ultímate: Conjunto completo de herramientas de gestión del ciclo de vida de una aplicación para los equipos que garantizan unos resultados de calidad, desde el diseño hasta la implementación. Ya sea creando nuevas soluciones o mejorando las aplicaciones existentes, Visual Studio 2010 Ultímate le permite llevar sus ideas a la vida en un número creciente de plataformas y tecnologías - incluyendo la nube y la computación paralela. Visual Studio 2010 Premium: Un conjunto de herramientas completo que simplifica el desarrollo de aplicaciones para personas o equipos que entregan aplicaciones escalables de alta calidad. Que este escribiendo código de aplicaciones o de bases de datos, creando bases de datos, o quitando los errores, puede aumentar su productividad usando herramientas poderosas que funcionan de la manera que usted trabaja.
  • 43. Visual Studio 2010 Professional: La herramienta esencial para las personas que realizan tareas de desarrollo básico. Visual Studio 2010 Professional simplifica la compilación, la depuración y el despliegue de las aplicaciones en una variedad de plataformas incluyendo SharePoint y la Nube. También viene con el soporte integrado para el desarrollo con pruebas y con las herramientas de depuración que ayudan a garantizar unas soluciones de alta calidad. Visual Studio Team Foundation Server 2010: Una plataforma de colaboración en el centro de la solución de gestión del ciclo de vida de una aplicación (ALM) de Microsoft. Team Foundation Server 2010 automatiza el proceso de entrega del software y le da las herramientas que necesita para gestionar eficazmente los proyectos de desarrollo de software a través del ciclo de vida de IT. Visual Studio Test Professional 2010: Visual Studio Test Professional 2010 es un conjunto de herramientas integrado que entrega un flujo de trabajo completo planificar-probar-seguir para una colaboración en contexto entre los probadores y los desarrolladores, aumentando considerablemente la visibilidad de los probadores en la globalidad del proyecto. Visual Studio Team Explorer Everywhere 2010: Permite a los equipos de desarrollo colaborar fácilmente entre las plataformas. Team Explorer Everywhere 2010 contiene las herramientas y los plug-ins necesarios para acceder a Visual Studio Team Foundation Server 2010 desde dentro de los entornos basados en Eclipse, de manera que todo el mundo puede trabajar juntos y lograr los objetivos del negocio. Visual Studio 2012 Esta información hace referencia al 24 de mayo 2012, en esta fecha fue dado a conocer la Release Candidate de el nuevo entorno de programación de "Windows", cual integra completo soporte para el actual y en fase de desarrollo Windows 8, Microsoft Visual Studio 2012 RC tiene como características el desarrollo completo e integro en el estilo Metro de
  • 44. Windows 8, además soporte para antiguas versiones de Windows al estilo clásico. REQUISITOS DE SOFTWARE Visual Studio 2010 puede instalarse en los sistemas operativos siguientes: Windows XP (x86) con Service Pack 3 - todas las ediciones, excepto Starter Edition Windows Vista (x86 y x64) con Service Pack 1 - todas las ediciones, excepto Starter Edition Windows 7 (x86 y x64) Windows Server 2003 (x86 y x64) con Service Pack 2 Windows Server 2003 R2 (x86 y x64) Windows Server 2008 (x86 y x64) con Service Pack 2 Windows Server 2008 R2 (x64) Arquitecturas compatibles: 32 bits (x86) 64 bits (x64) REQUISITOS DE HARDWARE • Equipo con un procesador de al menos 1,6 GHz • 1024 MB de RAM • Espacio disponible en disco duro de 3 GB • Unidad de disco duro de 5.400 RPM • Tarjeta de vídeo compatible con DirectX 9 con una resolución de 1280 x 1024 o superior • Unidad de DVD-ROM
  • 45. .NET FRAMEWORK 4 NET FRAMEWORK Microsoft .NET Desarrollador Microsoft http://www.microsoft.com/NET Información general Lanzamiento 13 de febrero de 2002 inicial Última versión 4.0.30319.1 estable 12 de abril de 2010; hace 1 año Género Framework Sistema Microsoft Windows operativo Licencia Propietario, comercial En español NET es un Framework de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado. NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Oracle Corporation y a los diversos Framework de desarrollo web basados en PHP. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones –o como la misma
  • 46. plataforma las denomina, soluciones– permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo. Consideraciones La plataforma .NET de Microsoft es un componente de software que puede ser añadido al sistema operativo Windows. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la programación de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Esta solución es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para la plataforma Windows. NET Framework se incluye en Windows Server 2008, Windows Vista y Windows 7. De igual manera, la versión actual de dicho componente puede ser instalada en Windows XP, y en la familia de sistemas operativos Windows Server 2003. Una versión "reducida" de .NET Framework está disponible para la plataforma Windows Mobile, incluyendo teléfonos inteligentes. La norma (incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de funciones que debe implementar la biblioteca de clases base (BCL por sus siglas en inglés, tal vez el más importante de los componentes de la plataforma), define un conjunto funcional mínimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque Microsoft implementó esta norma para su sistema operativo Windows, la publicación de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operativo existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada. El Proyecto Mono emprendido por Ximian pretende realizar la implementación de la norma para varios sistemas operativos adicionales bajo el marco del código abierto. Componentes Los principales componentes del marco de trabajo son:
  • 47. El conjunto de lenguajes de programación.  La biblioteca de clases base o BCL.  El entorno común de ejecución para lenguajes, o CLR por sus siglas en inglés. Debido a la publicación de la norma para la infraestructura común de lenguajes (CLI por sus siglas en inglés), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta ya más de 20 lenguajes de programación y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferencias que existían entre lo que era posible hacer con uno u otro lenguaje. Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic .NET, Delphi (Object Pascal), C+ +, J#, Perl, Python, Fortran, Prolog (existen al menos dos implementaciones, el P#1 y el Prolog.NET2 ), Cobol y PowerBuilder. Este es el lenguaje insignia de .NET Framework (marco de trabajo .NET) y pretende reunir las ventajas de lenguajes como C, C++ y Visual Basic en uno solo. El CLR es el verdadero núcleo del Framework de .NET, entorno de ejecución en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el conjunto de servicios del sistema operativo (W2k y W2003). La herramienta de desarrollo compila el código fuente de cualquiera de los lenguajes soportados por .NET en un código intermedio, el CIL (Common Intermediate Language) antes conocido como MSIL (Microsoft Intermediate Language), similar al BYTECODE de Java. Para generarlo, el compilador se basa en la especificación CLS (Common Language Specification) que
  • 48. determina las reglas necesarias para crear el código MSIL compatible con el CLR. Para ejecutarse se necesita un segundo paso, un compilador JIT (Just-In- Time) es el que genera el código máquina real que se ejecuta en la plataforma del cliente. De esta forma se consigue con .NET independencia de la plataforma de hardware. La compilación JIT la realiza el CLR a medida que el programa invoca métodos. El código ejecutable obtenido se almacena en la memoria caché del ordenador, siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el código fuente. Características Es el encargado de proveer lo que se llama código administrado, es decir, un entorno que provee servicios automáticos al código que se ejecuta. Los servicios son variados: Cargador de clases: permite cargar en memoria las clases. Compilador MSIL a nativo: 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. Administrador de código: coordina toda la operación de los distintos subsistemas del Common Language Runtime. 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 aún cuando se utilicen lenguajes distintos. Verificador de tipos: 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.
  • 49. Soporte de multiproceso (hilos): permite ejecutar todo el código en forma paralela. Empaquetador de COM: coordina la comunicación con los componentes COM para que puedan ser usados por el .NET Framework. Soporte de la Biblioteca de Clases Base: interfaz con las clases base del .NET Framework. Esto quiere decir que existen tipos de estructuras como es la de java y la .NET Las aplicaciones .NET son mucho más lentas que las aplicaciones nativas (diferencias de 20 a 1). Las aplicaciones .NET requieren instalar el Framework, lo que complica la distribución vía Web debido a lo pesado de la descarga. Las aplicaciones .NET son fácilmente crackeables dado que, aún usando ofuscador de código, es posible ver el código y alterar el mismo. La plataforma .NET no provee soporte transparente para los sistemas multinucleo/multithread quedando en responsabilidad del programador diseñar la lógica que aproveche los sistemas multithread. Estandarización y licenciamiento En agosto de 2000, Microsoft, Hewlett-Packard e Intel trabajaron conjuntamente para estandarizar el lenguaje de programación C# y una Infraestructura de Lenguaje Común (CLI por sus siglas en inglés). Para Diciembre de 2001, ambos fueron ratificados por los estándares Internacionales ECMA.3 4 ISO también siguió los pasos para abril de 2003. Mientras Microsoft y sus socios de negocios ganaban patentes para los lenguajes CLI y C#, ECMA e ISO solicitaron que era esencial que la implementación estuviera disponible bajo “términos no discriminatorios”. Además de alcanzar estos términos, las compañías también accedían a dejar estas patentes disponibles. Sin embargo, esto no aplicó para la parte del .NET Framework, que no está cubierto por los estándares ECMA/ISO. Esto incluye Windows Forms, ADO.Net y ASP.Net. En octubre de 2007, Microsoft anunciaba la liberación de su código fuente para la Biblioteca de Clases Base del .NET Framework (incluidos ASP.Net,
  • 50. ADO.Net y Windows Presentation Foundation) esto con el lanzamiento de su nueva versión: Visual Studio 2008. El futuro de .NET A largo plazo Microsoft pretende reemplazar el API Win32 o Windows API con la plataforma .NET. Esto debido a que el API Win32 o Windows API fue desarrollada sobre la marcha, careciendo de documentación detallada, uniformidad y cohesión entre sus distintos componentes, provocando múltiples problemas en el desarrollo de aplicaciones para el sistema operativo Windows. La plataforma .NET pretende solventar la mayoría de estos problemas proveyendo un conjunto único y expandible con facilidad, de bloques interconectados, diseñados de forma uniforme y bien documentados, que permitan a los desarrolladores tener a mano todo lo que necesitan para producir aplicaciones sólidas. Debido a las ventajas que la disponibilidad de una plataforma de este tipo puede darle a las empresas de tecnología y al público en general, muchas otras empresas e instituciones se han unido a Microsoft en el desarrollo y fortalecimiento de la plataforma .NET, ya sea por medio de la implementación de la plataforma para otros sistemas operativos aparte de Windows(Proyecto Mono de Ximian/Novell para GNU/Linux/MacOS X/BSD/Solaris), el desarrollo de lenguajes de programación adicionales para la plataforma (Léxico para hispanoparlantes, ANSI C de la Universidad de Princeton, NetCOBOL de Fujitsu, Delphi de Borland, PowerBuilder de Sybase entre otros) o la creación de bloques adicionales para la plataforma (como controles, componentes y bibliotecas de clases adicionales); siendo algunas de ellas software libre, distribuibles bajo la licencia GPL. Con esta plataforma, Microsoft incursiona de lleno en el campo de los Servicios Web y establece el XML como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas. Biblioteca de Clases Base de .NET
  • 51. Diagrama básico de la Biblioteca de Clases Base. La Biblioteca de Clases Base (BCL por sus siglas en inglés) maneja la mayoría de las operaciones básicas que se encuentran involucradas en el desarrollo de aplicaciones, incluyendo entre otras:  Interacción con los dispositivos periféricos  Manejo de datos (ADO.NET)  Administración de memoria  Cifrado de datos  Transmisión y recepción de datos por distintos medios (XML, TCP/IP)  Administración de componentes Web que corren tanto en el servidor como en el cliente (ASP.NET)  Manejo y administración de excepciones  Manejo del sistema de ventanas  Herramientas de despliegue de gráficos (GDI+)  Herramientas de seguridad e integración con la seguridad del sistema operativo  Manejo de tipos de datos unificado  Interacción con otras aplicaciones  Manejo de cadenas de caracteres y expresiones regulares  Operaciones aritméticas
  • 52. Manipulación de fechas, zonas horarias y periodos de tiempo  Manejo de arreglos de datos y colecciones  Manipulación de archivos de imágenes  Aleatoriedad  Generación de código  Manejo de idiomas  Auto descripción de código  Interacción con el API Win32 o Windows API.  Compilación de código Esta funcionalidad se encuentra organizada por medio de espacios de nombres jerárquicos. La Biblioteca de Clases Base se clasifica, en cuatro grupos clave:  ASP.NET y Servicios Web XML  Windows Forms  ADO.NET  .NET Ensamblados
  • 53. Diagrama interno de un Ensamble .NET Un ensamblado es un compilado EXE o DLL que contiene código CIL que se genera desde los diferentes lenguajes .NET, y que es ejecutado por el CLR. Puede contener una o varias clases al igual que uno o varios namespaces.5 Los ensamblados pueden tener diferentes decoradores que definen el entorno de ejecución de los mismos COM+, DCOM, Remoting, etc.
  • 54. BIBLIOGRAFÍA: • http://www.maestrosdelweb.com/principiantes/%C2%BFque-son-las-bases- de-datos/ • http://www.webopedia.com/TERM/S/SQL.html • http://www.orafaq.com/wiki/PL/SQL_FAQ • http://es.wikipedia.org/wiki/Microsoft_Visual_Studio • http://www.google.com.ec/imgres? q=PANTALLA+DE+INGRESO+AL+SISTEMA&hl=es&biw=1366&bih=667 &tbm=isch&tbnid=plMac6ApNRkoEM:&imgrefurl=http://www.softaller.com/ foro/guias-manuales-tutoriales/63-inicio-de- sesion.html&docid=dTjlAjuiumEQ-M&imgurl=http:/ • http://www.google.com.ec/imgres? q=PANTALLA+DE+INSCRIPCION+DE+MATRICULA %7D&hl=es&biw=1366&bih=667&tbm=isch&tbnid=h55zmAKiudNOdM:&i mgrefurl=http://www.rafaelvarela.com/sas-academico-software-notas- boletines-matriculas.html&docid=YXYg3OXIh3oiGM&imgurl=http:// • http://www.google.com.ec/imgres? q=PANTALLA+PRINCIPAL+DEL+SISTEMA+de+matriculacion&hl=es&sa =X&biw=1366&bih=667&tbm=isch&tbnid=RMnGPj2LxL16wM:&imgrefurl
  • 55. =http://blanquitatecnicasdedocumentacion.blogspot.com/&docid=G4- AXGacGLLk_M&imgurl=http://1. • http://www.lafacu.com/apuntes/informatica/base_datos/default.htm#Introducci ón http://www.dbinternet.com.ar/metodo.htm http://www.uas.mx/cursoswebct/Progsist/material.htm http://www.programacionfacil.com/basic/cuatro4.htm LIBROS • autor: Baltazar Birnios, Mariano Birnios Paginas : 617 Con 28 páginas de ejemplo Idioma : Español-Castellano • autor: Gustavo Du Mortier Paginas : 381 Con 24 páginas de ejemplo Idioma : Castellano 3. EJECUCION DEL PROYECTO DE INVESTIGACIÓN 3.1. PLAN GENERAL DEL TRABAJO 3.1.1 ANALISIS PRELIMINAR DEL PROYECTO 3.1.1.1. DEFINICION DEL PROBLEMA: 1.- ¿El proceso de matriculación es manual? La matriculación se ingresa, se modifica o elimina es decir es manual cuando hemos ingresado en una de trabajo como es Word; Y luego lo imprime para asentar la matricula en un documento físico para cada año lectivo. 2.- ¿El proceso ingreso de notas es lento?
  • 56. El proceso se inicia cuando se ingresan las notas de estudiantes a los boletines y luego se tiene que verificar si se ha ingresado correctamente. 3.- ¿El proceso de ingreso de notas es manual? El Colegio Nacional 11 de Noviembre realiza un ingreso de notas de forma manual ya que no dispone con un sistema automático de ingreso de notas. 4.- ¿La emisión de boletines es manual? La elaboración de los boletines que se entrega a los Padres de Familia, así como el ingreso de cada nota es un proceso manual. 5.- ¿Pérdida de tiempo en la elaboración de Boletines de Calificaciones y Certificados? Todos los Boletines o Certificados que se entregan a los Padres de Familia se realizan manualmente. La elaboración de entrega de calificaciones se tiene una plantilla echa en Word Impresa, es ahí cuando el maestro dirigente demora mucho tiempo en transcribir cada una de las notas de los alumnos manualmente para su entrega. 6- ¿Elaboración de reportes o entrega de calificaciones de alumnos? Todos los informes o reportes de alumnos se realiza en una computadora y lleva mucho tiempo en hacer la búsqueda de información en distintos registros o documentos fiscos. ESTUDIO DE FACTIBILIDAD FACTIBILIDAD TECNICA A) Hardware Costos Recursos 1 Computadora 800.00 Total: 800.00 B)
  • 57. Recursos Costos SQLserver 2008 700.00 Windows 2007 300.00 Server Total: 100.00 C) Software CARGO NOMBRES SUELDO ($) Gestor del Marcia 250 proyecto Campoverde Analista Marcia 230 Campoverde Diseñador Marcia 150 Campoverde Programador Marcia 300 Campoverde TOTAL 930 FACTIBILIDAD ECONOMICA
  • 58. Inversión Costo Operación 1 PC 680.0 Luz, 200.00 0 Papel, Tinta 1 200.0 Procesos 420.00 Windows 0 por cobro 2007 Pensiones Procesos 480.00 Server entrega de boletines Procesos 480.00 Reportes Total: Total: 1580.00 880.00 S-A Inversión Costo operación 1 PC 800.0 Luz, 220.00 0 Papel, Tinta 1 hp 130.0 Procesos 600.00 Compac 0 por cobro s1922a Pensiones 1 50.00 Procesos 720.00 impresora entrega de boletines 1 Office 110.0 Procesos 720.00 2010 0 Reportes Total : Total: 2260.00 1090.00
  • 59. FACTIBILIDAD OPERATIVA Este sistema es de fácil operación, para su aprendizaje se utilizará un máximo de 1 hora para su total comprensión. COMPARACION E NTRE SISTEMAS OPERATIVA S - A S_P En las tablas anteriores demostramos que nuestro Sistema, optimiza el tiempo utilizado en realizar Las actividades necesarias para cumplir con Los objetivos de la institución. FACTIBILIDAD LEGAL Nuestro sistema propuesto, no incumple con ninguno de los estatutos actualmente vigentes de la institución, por lo cual decimos que es legalmente factible su implantación. DESARROLLO DEL PROYECTO PLANIFICACION DEL SISTEMA ENTREVISTA Entrevista dirigida al Dr. Nelson Cubí Y. (Rector) y Mr. Paulina Aguiar (Secretaria) 1. ¿Qué Hardware utiliza para la matriculación de los alumnos, ingreso de notas?
  • 60. Una computadora Compac s1922a • Una impresora a tinta 2. ¿Cómo realiza el proceso de matriculación, ingreso de notas? • Las matriculas de estudiantes se realiza manualmente utilizando Microsoft Word. Los ingresos de notas se realiza de igual manera utilizando Microsoft Excel de la familia de Microsoft Office. 3. ¿Qué tiempo se demora en obtener los reportes de alumnos? Para sacar reportes de alumnos, notas etc., se demora de 10 a 15 minutos en cada una de ellas, aproximadamente 1h30min en total, considerando un manejo de Microsoft Office ágilmente y de los archivos que se encuentran en documentos físicos haciéndole el proceso muy lento. 4. ¿Qué le gustaría que haga su sistema? • Que permita almacenar la matricula en cada año lectivo. • Que permita realiza reportes de los alumnos por especialidad, curso. • Permitir la búsqueda general e individual de cada alumno y notas. • Que permita hacer la entrega de boletines de calificaciones. • Permitir Almacenar las promociones y la búsqueda de cada una de ellas. • Entrega de promedios por cursos e individual. 5. ¿Qué personas actualmente manipulan la información de la Institución? La información es únicamente manipulada por la Mr. Paulina Aguiar (Secretaria del Colegio). 6. ¿La información obtenida es únicamente para el colegio o para otras entidades? La información es manipulada solo por la secretaria solamente cuando un Supervisor le pide las promociones se lo indica o se lo da impreso. INTRODUCCION
  • 61. El presente documento será útil para como para el usuario también como para desarrollador establecer cada una de las reglas y funciones que va a cumplir el sistema. El análisis de requerimientos para el desarrollo del Sistema Académico para el proceso de matriculación con visual estudio 2010 de Promociones, Ingreso de notas se ha realizado gracias a la colaboración del colegio nacional 11 de Noviembre PROPOSITO El análisis de requerimientos de software es con la finalidad de poner reglas para los usuarios y el administrador y la empresa desarrolladora del software con la finalidad de cumplir cada uno de los problemas estudiados por ambas partes. Mediante este documento los desarrolladores trataran de solucionar las necesidades que tiene la institución, con el documento para cumplir con los requerimientos detallados que han sido analizados por los usuarios y las personas responsables de la empresa desarrolladora del software. Finalmente este documento servirá para que exista comunicación entre el desarrollador y guía de proyecto. AMBITO DEL SISTEMA Actualmente el manejo de matriculación, ingreso de notas y busca de promociones del Colegio “Nacional 11 de Noviembre “lo hacen de manera manual la información. La solución propuesta es facilitar el manejo de la información de acuerdo a cada acatamiento. El departamento de secretaria necesita ingresar y obtener información de cada estudiante, así como matriculación, ingreso de notas, obtención de promociones con su respectiva información de cada uno de los estudiantes. Para mayor facilidad el departamento de secretaria podrá obtener reportes automáticamente de matriculación, notas, promociones una lista completa de alumnos por curso. El sistema propuesto se llamara “CNON”