capitulo ii marco teorico - francisco...

25
CAPITULO II MARCO TEORICO

Upload: others

Post on 19-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

CAPITULO II MARCO TEORICO

Page 2: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

2.1 CICLO DE VIDA DE UN SISTEMA DE INFORMACION.

Un sistema de información es el conjunto de recursos que permiten recoger,

gestionar, controlar y difundir la información de toda una empresa u organización.

Un sistema de información está formado por los siguientes componentes:

• La base de datos.

• El Sistema Gestor de la Base de Datos (SGBD).

• Los programas de aplicación.

• Los dispositivos físicos (computadoras, dispositivos de almacenamiento, etc.).

• El personal que utiliza y que desarrolla el sistema.

El ciclo de vida de un sistema de información está ligado al ciclo de vida del

sistema de base de datos sobre el que se apoya. Al ciclo de vida de los sistemas

de información también se le denomina ciclo de vida de desarrollo del software.

Este ciclo de vida hace énfasis en la identificación de las funciones que realiza la

empresa y en el desarrollo de las aplicaciones que lleven a cabo estas funciones.

Se dice que el ciclo de vida de desarrollo del software sigue un enfoque orientado

a funciones, ya que los sistemas se ven desde el punto de vista de las funciones

que llevan a cabo.

Por esta razón, el análisis estructurado hace énfasis en los diagramas de flujo de

datos, siguiendo el movimiento de los datos a través de una secuencia de

transformaciones, y refinando éstas a través de una serie de niveles. Lo mismo

ocurre en el diseño estructurado, que ve a un sistema como una función que se

descompone sucesivamente en niveles o subfunciones.

Objetivos del CICLO DE VIDA de un Proyecto:

Page 3: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

• Definir las actividades a ser ejecutadas en un proyecto de Procesamiento

Electrónico de Datos (PED)

• Introducir coherencia en muchos proyectos de PED de la misma organización.

• Establecer punto de control para control de gerencia y puntos de control para

tomar la decisión de "continuar o no".

2.2 CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS.

El método de ciclo de vida para el desarrollo de sistemas es el conjunto de

actividades que los analistas, diseñadores y usuarios realizan para desarrollar e

implantar un sistema de información. El método del ciclo de vida para el desarrollo

de sistemas consta de 6 fases:

• Investigación Preliminar: La solicitud para recibir ayuda de un sistema de

información puede originarse por varias razones: sin importar cuales sean

estas, el proceso se inicia siempre con la petición de una persona.

• Determinación de los requerimientos del sistema: El aspecto fundamental

del análisis de sistemas es comprender todas las facetas importantes de la

parte de la empresa que se encuentra bajo estudio.

• Diseño del sistema: El diseño de un sistema de información produce los

detalles que establecen la forma en la que el sistema cumplirá con los

requerimientos identificados durante la fase de análisis. Los especialistas

en sistemas se refieren, con frecuencia, a esta etapa como diseño lógico en

contraste con la del desarrollo del software, a la que denominan diseño

físico.

• Desarrollo del software: Los encargados de desarrollar software pueden

instalar software creado por terceros o escribir programas diseñados a la

medida del solicitante. La elección depende del costo de cada alternativa,

Page 4: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

del tiempo disponible para escribir el software y de la disponibilidad de los

programadores.

• Prueba de sistemas: Durante la prueba de sistemas, el sistema se emplea

de manera experimental para asegurarse de que el software no tenga

fallas, es decir, que funciona de acuerdo con las especificaciones y en la

forma en que los usuarios esperan que lo haga.

• Implantación y evaluación: La implantación es el proceso de verificar e

instalar nuevo equipo, entrenar a los usuarios, instalar la aplicación y

construir todos los archivos de datos necesarios para utilizarla. Una vez

instaladas, las aplicaciones se emplean durante muchos años. Sin

embargo, las organizaciones y los usuarios cambian con el paso del tiempo,

incluso el ambiente es diferente con el paso de las semanas y los meses.

La evaluación de un sistema se lleva a cabo para identificar puntos débiles

y fuertes.

2.3 TÉCNICAS Y METODOLOGÍAS.

Técnica es un método que aplica herramientas y reglas específicas para completar

una o más fases del ciclo de vida del desarrollo de Sistemas. Ellas se aplican a

una parte del ciclo de vida total.

Metodología es una versión amplia y detallada de un ciclo de vida completo de

desarrollo de sistemas que incluye:

• Reglas, procedimientos, métodos, herramientas.

• Funciones individuales y en grupo por cada tarea.

• Productos resultantes o Normas de Calidad. Herramientas son los ambientes de apoyo necesario para automatizar las

prácticas de Ingeniería de Software.

Métodos: son las maneras que se efectúan las tareas de Ingeniería de Software o

las actividades del ciclo de vida.

Page 5: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Procedimientos son los mecanismos de gestión que soportan a los métodos: El

control de los proyectos, el control de la calidad.

2.4 METODO DE DESARROLLO POR ANALISIS ESTRUCTURADO.

El análisis estructurado es un método para el análisis de sistemas manuales o

automatizados, que conduce al desarrollo de especificaciones para sistemas

nuevos o para efectuar modificaciones a los ya existentes. Éste análisis permite al

analista conocer un sistema o proceso en una forma lógica y manejable al mismo

tiempo que proporciona la base para asegurar que no se omite ningún detalle

pertinente.

El análisis estructurado se concentra en especificar lo que se requiere que haga el

sistema o la aplicación. Permite que las personas observen los elementos lógicos

(lo que hará el sistema) separados de los componentes físicos (computadora,

terminales, sistemas de almacenamiento, etc.).

2.5 DISEÑO ESTRUCTURADO.

El diseño Estructurado es otro elemento del Método de Desarrollo por Análisis

Estructurado que emplea la descripción gráfica, se enfoca en el desarrollo de

especificaciones del software.

El objetivo del Diseño Estructurado es desarrollar programas formados por

módulos independientes unos de otros desde el punto de vista funcional.

La herramienta fundamental del Diseño Estructurado es el diagrama estructurado

que es de naturaleza gráfica y evitan cualquier referencia relacionada con el

hardware o detalles físicos. Su finalidad no es mostrar la lógica de los programas

(que es la tarea de los diagramas de flujo).

Page 6: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Los Diagramas Estructurados describen la interacción entre módulos

independientes junto con los datos que un módulo pasa a otro cuando interacciona

con él.

2.5.1 CARACTERISTICAS DE LOS PROYECTOS ESTRUCTURADOS.

Las técnicas estructuradas utilizadas en el desarrollo de los Proyectos de

Sistemas, buscaron superar el fracaso en muchos desarrollos convencionales.

Los proyectos estructurados se caracterizan por mejores herramientas para

expresar los requisitos del usuario, énfasis en el proyecto de calidad, sistemas de

desarrollo top-down.

El Análisis se refiere al "extremo inicial" de un proyecto de desarrollo de sistemas,

durante el tiempo en que los requisitos del usuario son definidos y documentados.

El Análisis estructurado introduce el uso de las herramientas de documentación

gráficas para producir un tipo diferente de especificación funcional: "la

especificación estructurada".

Herramientas de documentación del Análisis Estructurado

• Diagramas de flujo de datos (DFDs)

• Diccionario de Datos (DD)

• Diagramas de Entidad-Relación (ER)

• Diagramas de Transición de Estado (DTEs)

• Especificaciones de procesos

2.6 BASE DE DATOS RELACIONAL. Una base de datos relacional es una base de datos en donde todos los datos

visibles al usuario están organizados estrictamente como tablas de valores, y en

donde todas las operaciones de la base de datos operan sobre estas tablas, es un

conjunto de relaciones normalizadas.

Page 7: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Estas bases de datos son percibidas por los usuarios como una colección de

relaciones normalizadas de diversos grados que varían con el tiempo.

El modelo relacional representa un sistema de bases de datos en un nivel de

abstracción un tanto alejado de los detalles de la máquina subyacente, de la

misma manera como. De hecho, el modelo relacional puede considerarse como un

lenguaje de programación más bien abstracto, orientado de manera específica

hacia las aplicaciones de bases de datos. Para representar el esquema de una

base de datos relacional se debe dar el nombre de sus relaciones, los atributos de

éstas, los dominios sobre los que se definen estos atributos, las claves primarias y

las claves ajenas.

2.7 DIAGRAMA DE FLUJO DE DATOS. Un diagrama de flujo de datos (DFD) es un modelo lógico-gráfico para representar

el funcionamiento de un sistema en un proyecto software.

Un diagrama de flujo u organigrama es una representación diagramática que

ilustra la secuencia de las operaciones que se realizarán para conseguir la

solución de un problema. Los diagramas de flujo se dibujan generalmente antes

de comenzar a programar el código frente a la computadora. Estos diagramas de

flujo desempeñan un papel vital en la programación de un problema y facilitan la

comprensión de problemas complicados y sobre todo muy largos. Una vez que se

dibuja el diagrama de flujo, llega a ser fácil escribir el programa en cualquier

idioma de alto nivel.

Los Diagramas de flujo se dibujan generalmente usando algunos símbolos

estándares, algunos símbolos especiales pueden también ser desarrollados

cuando sean requeridos. Algunos símbolos estándares, que se requieren con

frecuencia para diagramar programas de computadora se muestran a

continuación:

Inicio y fin

Page 8: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Procesos

Decisión

Entrada

Conector para unir el flujo a otra parte

del diagrama

Cinta Magnetica

Entrada manual

Display

DECISION

Page 9: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Líneas de Flujo

2.8 DIAGRAMA ENTIDAD-RELACIÓN. Un Diagrama Entidad-Relación es un modelo que identifica los conceptos o

entidades que existen en un sistema y las relaciones entre esas entidades. El

Diagrama Entidad-Relación se utiliza con frecuencia como una forma de visualizar

una base de datos relacional: cada entidad representa una tabla de la base de

datos, y las líneas de relación representan las llaves en una tabla que apuntan a

registros específicos en una tabla relacionada. Los diagramas Entidad-Relación

pueden ser mas abstractos, sin necesidad de mostrar cada tabla necesaria en una

base de datos, sino más bien, sirviendo para diagramar los conceptos generales y

las relaciones entre ellos.

2.8.1 ENTIDADES. Las Entidades son conceptos dentro del modelo de información. Cada entidad es

representada por una "caja" dentro del Diagrama Entidad-Relación. Una entidad

podría ser considerada como un contenedor que almacena toda la información de

un objeto particular dentro de la base de datos. Por ejemplo: como vemos en la

figura 1 tanto empleado, cargo y área son entidades, cada una con

especificaciones o características distintas que deben ser almacenadas dentro de

la base de datos. También para cada entidad, pueden existir varios tipos, por

Page 10: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

ejemplo: analista de sistemas, programador, diseñador están dentro de la misma

entidad "cargo".

2.8.2 RELACIONES.

Las relaciones son representadas por líneas entre entidades. La línea de relación

indica que cada objeto de una entidad podría tener una relación con objetos de

otra entidad, y vice versa.

Si fuese necesario, una línea de relación puede ser rotulada para especificar la

relación. En el caso de la Figura 1, uno puede intuir que cada empleado tiene un

cargo, o que un cargo puede ser asignado a varios empleados. Pero para más

claridad, esta relación puede ser rotulada.

Figura 1. Rotulado de relaciones.

El diagrama Entidad-Relación es una representación grafica de las relaciones que

tienen las tablas entre si dentro de la base de datos. Las relaciones obedecen las

reglas de Normalización de Bases de Datos, que evitan que existan datos

duplicados dentro de una o misma tabla o dentro de otras tablas de la base de

datos. Esto maximiza el rendimiento de la base de datos y al mismo tiempo

mantiene una lógica sobre la forma en que se deben de registrar los datos.

2.9 NORMALIZACIÓN DE LA BASE DE DATOS.

Normalización es el proceso de organizar la información eficientemente dentro de

una base de datos. Existen dos objetivos que persigue el proceso de

Page 11: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

normalización: eliminar información redundante (como se mencionaba antes,

evitar almacenar la misma información dentro de una o mas tablas) y asegurar que

las dependencias de la información tengan sentido (almacenar solo información

relacionadas en un tabla). Estos objetivos son valiosos ya que reducen la cantidad

de espacio que consume una base de datos y asegura que la información sea

lógicamente almacenada.

Las Formas Normales. Se han desarrollado una serie de guías para asegurar que una base de datos esta

normalizada. Se refiere a ellas como formas normales y están numeradas desde

uno (la forma mas baja de normalización, a la cual se refiere como la primera

forma normal o 1FN) hasta la cinco (la quinta forma normal o 5FN). En

aplicaciones practicas, con frecuencia se observan la 1FN, la 2NF, la 3NF y

ocasionalmente la 4FN. Es muy raro utilizar la quinta forma normal, ya que no es

necesaria para obtener una base de datos completamente funcional, y por lo cual

no se tratara acá. Aunque se debe recordar que son solamente guías, ya que en

ocasiones, es necesario alejarse un poco de ellas para lograr los requerimientos

prácticos del negocio en la aplicación, aunque se deban mantener ciertas

inconsistencias.

Primera Forma Normal (1FN). La primera forma normal establece las reglas básicas de una base de datos

normalizada:

- Eliminar columnas duplicadas en la misma tabla.

- Crear tablas relacionadas para cada grupo de información relacionada e

identificar cada fila con una columna única o con un grupo de columnas (la llave

primaria).

Segunda Forma Normal (2FN). La segunda retoma el concepto de eliminar informacion duplicada:

- Cumplir con todos los requerimientos de la primera forma normal.

Page 12: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

- Remover campos de una tabla que deberían tener su propia tabla y ponerlos en

tablas aparte.

- Crear relaciones entre estas nuevas tablas y sus predecesores mediante el uso

de llaves foráneas.

.

Tercer Forma Normal (3FN). La tercera forma normal va más allá:

- Cumplir con todos los requerimientos de la segunda forma normal.

- Remover columnas que no son dependientes de la llave primaria, ósea que la

llave primaria no los pueda identificar por completo, y ponerlos en una tabla

aparte.

Cuarta Forma Normal (4FN). - Cumplir con todos los requerimientos de la tercera forma normal.

- Una relación esta en 4FN si no tiene dependencias de valores múltiples, es decir,

no deben existir relaciones muchos a muchos.

Ejemplo: Un ejemplo de una base de Datos No Normalizada es la que se muestra en la

figura, donde se muestra una Base de Datos que almacena información sobre

empleados, sus cargos y el área a la que pertenecen. En este caso, si hubiera dos

o más empleados que pertenecieran a la misma área o tuvieran el mismo cargo, el

nombre del área y el nombre del cargo se repetirían varias veces, causando

duplicidad de datos. Observando la figura 2, vemos un ejemplo de la misma Base

de Datos, pero en este caso ha sido normalizada. Esto quiere decir que por cada

empleado, dentro de su información solo se guarda una referencia hacia otra tabla

(llamada Llave Foránea) donde se especifica que cargo desempeña, al igual que

la tabla “cargo” hace referencia a una tabla “área”, ya que cada cargo pertenece

solo a una área. De esta forma, la información de cargo y área solo se registra una

vez, evitando duplicidad de datos y optimizando el espacio de la Base de Datos.

Figura 2. Base de datos Normalizada

Page 13: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

2.10 LLAVES PRIMARIAS. Cada entidad debe poder ser reconocida por un identificador único dentro de la

base de datos, este identificador único es la llave primaria. La llave primaria

identifica a cada registro dentro de una tabla de manera tal que con identificar la

llave primaria de un registro, podemos identificar la informacion completa de ese

registro.

2.11 INTEGRIDAD RELACIONAL. En un momento dado, los valores de los datos en una base de datos son una

representación de un fragmento de la realidad. Es decir, si tenemos una tabla con

los atributos de personas y entre ellos el peso o la edad, estos no pueden ser

negativos, porque en el mundo real, esto no es posible. Si añadimos una

restricción de este tipo a una base de datos, estamos incluyéndole una regla de

integridad.

Por ejemplo, si tenemos una base de datos alumnos, profesores y cursos para una

escuela o facultad, algunas reglas de integridad serían:

Base de Datos No

Normalizada Base de Datos Normalizada

Page 14: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

• Las claves de los alumnos son de la forma ALaaaannnn donde aaaa son los

cuatro dígitos del año de ingreso y nnnn son cuatro dígitos que representan un

número secuencial.

• Las claves de los profesores son de la forma ACmmnn donde mm es la clave

del departamento al que está asociado y nn es un secuencial.

• Las claves de cursos son de la forma MAmmnnaa donde mm es la clave del

departamento, nn es la clave de la materia y aa son los dos dígitos menos

significativos del año.

• Un alumno no puede estar inscrito en más de cinco materias.

• Un maestro no puede dar más de tres materias.

• Un curso no puede tener menos de cinco alumnos ni más de doce.

• Un maestro no puede dar la misma materia más de dos semestres seguidos.

• Un alumno que no aprueba una materia en la segunda oportunidad será dado

de baja.

• Los departamentos vienen de una determinada lista.

• Las materias tienen que existir en otra lista.

• Las calificaciones no pueden tomar valores fuera del rango.

Algunas de estas reglas son arbitrarias y para fines de ejemplificar el concepto y

es inmediato notar que se aplican a tablas en específico.

Sin embargo, las bases de datos relacionales, tienen dos reglas generales de

integridad que se aplican a las llaves primarias y a las llaves foráneas.

Page 15: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

2.12 PLATAFORMA DE DESARROLLO. .NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo

de software con énfasis en transparencia de redes, con independencia de

plataforma de hardware y que permita un rápido desarrollo de aplicaciones.

Basado en ella, una empresa puede intentar 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 Sun

Microsystems. Su propuesta es ofrecer una manera rápida y económica, a la vez

que es segura y robusta al 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 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 software libre

o código abierto.

Page 16: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

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, Delphi (Object Pascal), C++, J#, Perl, Python, Fortran, Cobol.NET y

PowerBuilder.

Common Language Runtime (CLR).

Estructura interna del entorno de ejecución en lenguaje común (CLR por sus siglas

en inglés).

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).

Page 17: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

La herramienta de desarrollo compila el código fuente de cualquiera de los

lenguajes soportados por .NET en un código intermedio, el MSIL (Microsoft

Intermediate Lenguaje), 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.

Page 18: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

• Administrador de excepciones: maneja los errores que se producen durante

la ejecución del código.

• Soporte de multiproceso (threads): permite ejecutar 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.

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 Linux/MacOS X/BSD/Solaris), el desarrollo de lenguajes de

programación adicionales para la plataforma (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.

Page 19: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

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

Page 20: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

• 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.

Page 21: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Diagrama interno de un Ensamble .NET. Los ensamblados son ficheros con forma de EXE o DLL que contienen toda la

funcionalidad de la aplicación de forma encapsulada.

Con los ensamblados ya no es necesario registrar los componentes de la

aplicación.

2.13 MICROSOFT SQL SERVER. Microsoft SQL Server es un sistema gestor base de datos relacional (SGBD)

producido por Microsoft. Su principal lenguaje de consultas es Transact-SQL, una

aplicación de la norma ANSI / ISO del Lenguaje estructurado de consultas (SQL)

estándar utilizado por Microsoft y Sybase.

Microsoft® SQL Server 2000 es uno de los productos de bases de datos de

Microsoft, que aprovecha la sólida base establecida por SQL Server 6.5 y SQL 7.

Como la mejor base de datos para Windows NT®, SQL Server es el RDBMS ideal

para un amplio espectro de clientes corporativos y productores independientes de

software (ISV) inmersa en la creación de aplicaciones empresariales. Las

necesidades y requisitos del cliente han dado lugar a innovaciones significativas

en el producto SQL Server versión 2000, entre las que se incluyen la facilidad de

uso, escalabilidad y fiabilidad, y almacenamiento de datos.

Page 22: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Objetivos de diseño de SQL Server. Liderazgo e innovación . Las innovaciones permiten a SQL Server 2000 liderar algunas de las categorías

de aplicaciones de más rápido crecimiento dentro del sector de las bases de

datos. Entre estas categorías se pueden mencionar el comercio electrónico,

informática móvil, automatización de sucursales, aplicaciones de líneas de negocio

y depósitos de datos.

Entre las importantes áreas de liderazgo e innovación de Microsoft SQL Server

2000 cabe citar:

• Primera base de datos que se amplía desde los portátiles a la empresa

mediante el mismo código base y que ofrece una compatibilidad del código del

cien por cien.

• Primera base de datos que soporta la configuración automática y la auto-

optimización.

• Primera base de datos con un servidor OLAP integrado.

• Primera base de datos con los servicios de transformación de datos (Data

Transformation Services, DTS) integrados.

• El marco de almacenamiento de datos de Microsoft (Data Warehousing

Framework) constituye el primer planteamiento de amplia cobertura para la

resolución de los problemas que plantea la utilización de metadatos.

• La primera base de datos que ofrece administración multiservidor para un

gran número de servidores.

• Una gran variedad de opciones de duplicación de cualquier base de datos.

• La mejor integración con la familia Windows NT Server, Microsoft Office y

BackOffice®.

• Acceso universal a los datos (Universal Data Access), la estrategia de

Microsoft para permitir el acceso de alto rendimiento a una gran cantidad de

fuentes de información.

Facilidad de uso.

Page 23: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Los clientes buscan soluciones a los problemas de la empresa. La mayor parte de

las soluciones para bases de datos simplemente implican nuevos costes y

complejidad añadida. La estrategia de Microsoft estriba en convertir a SQL Server

en la base de datos que permita llevar a cabo la creación, administración y

distribución de las aplicaciones empresariales de la forma más sencilla. Esto

significa proporcionar a los desarrolladores un modelo de programación simple y

rápido, eliminar la necesidad de administrar la base de datos en las operaciones

habituales y proporcionar herramientas sofisticadas para acometer las

operaciones más complejas.

SQL Server 2000 reduce el coste total de propiedad mediante opciones tales

como la administración de varios servidores con una única consola; ejecución de

trabajos basados en eventos y generación de alertas; seguridad integrada y

procedimientos de comandos para realizar tareas administrativas. Esta versión

también deja vía libre al administrador de la base de datos para llevar a cabo

trabajos más sofisticados al automatizar las tareas rutinarias. Mediante la

combinación de estas potentes utilidades para la administración con las nuevas

opciones de configuración automática, Microsoft SQL Server 2000 constituye la

opción ideal para las aplicaciones de automatización de sucursales y de bases de

datos incrustadas.

Ampliable y fiable. Los clientes invierten en sistemas de administración de bases de datos en forma

de aplicaciones escritas para sus bases de datos y también en la formación que

conlleva su administración y despliegue. Esta inversión debe estar protegida: a

medida que el negocio crece, la base de datos debe crecer para tratar más datos,

transacciones y usuarios. Los clientes también desean proteger su inversión

cuando llevan las aplicaciones de base de datos a equipos portátiles o a

sucursales.

Para satisfacer estas necesidades, Microsoft ofrece un único motor de base de

datos ampliable desde un equipo portátil que ejecuta el sistema operativo

Windows® 95 o Windows 98, hasta clusters multiprocesador simétricos de varios

Page 24: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

terabytes de información y que ejecutan Windows 2000 Server Enterprise Edition.

Todos estos sistemas mantienen la seguridad y fiabilidad que exigen los sistemas

empresariales críticos.

Una novedad de la versión 2000 es su diseño para cubrir las necesidades cada

vez mayores del mercado de la informática móvil, con nuevas e innovadoras

funcionalidades como un pequeño espacio físico para la memoria, ajuste

automático y duplicación en varias instalaciones.

SQL Server es también la elección ideal para los sistemas de almacenamiento de

datos y OLTP de la gama alta, ya que dispone de funcionalidades de escalabilidad

como bloqueo dinámico a nivel de filas, paralelismo entre consultas, consulta

distribuida y mejoras en bases de datos de gran tamaño (Very Large Database,

VLDB).

Almacenes de datos. Los sistemas de proceso de transacciones siguen siendo un componente

fundamental de las infraestructuras de bases de datos corporativas. Las empresas

también realizan grandes inversiones en mejorar el conocimiento de sus datos. La

estrategia de Microsoft consiste en reducir el coste y la complejidad del

almacenamiento de datos al tiempo que pone la tecnología al alcance de un mayor

número de personas.

Microsoft ha establecido un planteamiento de amplia cobertura para el proceso

completo del almacenamiento de datos. El objetivo es facilitar aún más la creación

y el diseño de soluciones de soluciones económicas de almacenamiento de datos

mediante la combinación de tecnologías, servicios y alianzas entre fabricantes.

La Microsoft Alliance for Data Warehousing es una coalición que reúne a los

líderes del sector en el almacenamiento de datos y aplicaciones. El marco de

almacenamiento de datos de Microsoft (Microsoft Data Warehousing Framework)

es un conjunto de interfaces de programación que ha sido diseñado para

simplificar la integración y administración de soluciones de almacenamiento de

datos.

Page 25: CAPITULO II MARCO TEORICO - Francisco Gavidiari.ufg.edu.sv/jspui/bitstream/11592/7145/3/005.1-P222s-Capitulo II.pdf · control de los proyectos, el control de la calidad. 2.4 METODO

Entre las innovaciones que se incluyen en SQL Server 2000 destinadas a mejorar

el proceso de almacenamiento de grandes cantidades de datos, se encuentran:

• "Plato", un componente primordial para las soluciones empresariales que

requieran proceso analítico en línea (Online Analytical Processing, OLAP), desde

la generación de informes y análisis corporativos hasta el modelado de datos y el

soporte en la toma de decisiones.

• Data Transformation Services (Servicios de transformación de datos) para

importar, exportar y transformar datos.

• Mejoras en el tratamiento de las consultas complejas y bases de datos de

gran tamaño (VLDB).

• Microsoft Repository (Depósito de Microsoft), una infraestructura común

para compartir la información.

• Herramientas visuales de diseño para crear y mantener los diagramas de

bases de datos.

• Duplicación integrada, que incluye la actualización en varias instalaciones,

para mantener almacenes de datos dependientes.

• Integración de soluciones de terceros.