006-R696d-Capitulo I

Anuncio
CAPITULO I.- MARCO TEORICO
1. DEFINICIONES
1.1 NORMA ISO 9001:2000
1.1.1
¿Qué es ISO?
La Organización Internacional para la Normalización (ISO) es la entidad responsable para la
normalización a escala mundial con una agrupación hasta la fecha de 91 países. ISO está formado
por comités técnicos, cada uno de los cuales es responsable de la normalización para cada área de
especialidad desde, por ejemplo, asbestos hasta el zinc. El propósito de ISO es promover el
desarrollo de la normalización para fomentar a nivel internacional el intercambio de bienes y
servicios y para el desarrollo de la cooperación en actividades económicas, intelectuales,
científicas y tecnológicas. El resultado del trabajo técnico dentro de ISO se publica en forma final
como normas internacionales.1
1.1.2
¿Quién desarrolló la serie ISO 9000?
El Comité Técnico 176 (ISO/TC 176) se formó en 1979 para armonizar la creciente actividad a
nivel mundial en administración y aseguramiento de calidad. La nueva familia ISO 9000 se
volvió vigente a partir del 15 de diciembre del 2000 y sustituye a la versión 1994, cuya vigencia
es hasta el 14 de diciembre del 2003.
1.1.3
¿En qué consiste la serie ISO 9000?
La versión 1994 de ISO 9000 es una serie de normas que principalmente se dividen en normas de
guía y normas contractuales. Las normas de guía sirven para aclarar algunos requisitos
contenidos en las normas contractuales, que son aquellas normas que están sujetas a certificación
y que se aplican especialmente cuando existe una relación entre dos partes, cliente y proveedor,
mediados por un contrato. La nueva familia versión 2000 se ha simplificado con el objetivo de
evitar la proliferación de normas.
En qué consiste entonces la versión actual de la norma ISO 9001:2000:
1
Manual de Reglas de Certificación ISO 9001:2000
•
Mejora los aspectos organizativos de una empresa
•
Aumenta la calidad del producto o servicio
•
Describe los principios y terminología de los sistemas de gestión de calidad.
•
ISO 9001:2000 especifica los requisitos para los sistemas de gestión aplicables a toda
organización que necesite demostrar su capacidad para proporcionar productos que cumplan
los requisitos de sus clientes y los reglamentarios.
•
Su fin es la satisfacción del cliente.
•
Es la única norma sujeta a certificación.
Desaparecen ISO 9002:1994 e ISO 9003:1994. ISO 9004:2000 proporciona directrices que
consideran tanto la eficacia como la eficiencia del sistema de gestión de la calidad. Su objetivo es
la mejora en el desempeño de la organización. ISO 19011 proporciona orientación relativa a las
auditorias a sistemas de gestión de la calidad y de gestión ambiental.
1.1.4
Sistema de Gestión de la Calidad
Es la Forma como la organización realiza la gestión empresarial asociada con la calidad. (Es un
sistema administrativo empresarial dedicado a lograr la calidad en lo que se hace).
Es un documento con validez legal expedido por una entidad certificadora que acredita que una
empresa cumple las más estrictas normas de calidad. Las certificaciones son concedidas si se
cumplen los requisitos determinados por la empresa y la compañía de certificación.
1.1.4.1 Proceso para conseguir una certificación:
CERTIFICACIÓN EN GESTIÓN DE LA CALIDAD ISO 9001:2000
Requisitos de la Documentación :
ƒ
Procedimientos e instrucciones
ƒ
Declaraciones de la Política de la Calidad y Objetivos de la Calidad
ƒ
Manual de la Calidad
ƒ
Los Procedimientos requeridos en esta Norma
ƒ
Los documentos necesarios para asegurar la planificación, operación y control de procesos
ƒ
Los Registros requeridos por esta Norma
Requisitos Generales:
ƒ
Identificar los procesos necesarios para el Sistema de Gestión de la Calidad
ƒ
Determinar la secuencia e interacción de estos procesos
ƒ
Determinar los criterios y métodos para asegurar que la operación y control de estos procesos
sea eficaz.
ƒ
Asegurarse de la disponibilidad de recursos e información necesarios para apoyar la
operación y el seguimiento de estos procesos
ƒ
Realizar el seguimiento, la medición y análisis de estos procesos
ƒ
Realizar lo necesario para alcanzar los resultados planificados y la mejora continua de éstos
ƒ
Temporalmente, en principio cada año, las empresas se ven sometidas a una auditoria por
parte de la empresa certificadora
ƒ
Es requisito indispensable para renovar la certificación haber mejorado la calidad del
producto. Si no se supera la auditoria en determinados plazos e intentos, se pierde la
certificación.
1.1.4.2 Ventajas de la instalación de un Sistema de Calidad :
•
Organización del trabajo
•
Aumento de beneficios
•
Aumento de clientes
•
Motivación del personal
•
Fidelidad de los Clientes
•
Buena relación con los clientes
•
Otros
1.1.5 ¿Cómo desarrolla la ISO sus estándares?
La Organización Internacional para la Estandarización estipula que sus estándares son producidos
de acuerdo a los siguientes principios:
1) Consenso: Son tenidos en cuenta los puntos de vistas de todos los interesados: fabricantes,
vendedores, usuarios, grupos de consumidores, laboratorios de análisis, gobiernos,
especialistas y organizaciones de investigación.
2) Aplicación Industrial Global: Soluciones globales para satisfacer a las industrias, empresas de
servicios y a los clientes mundiales.
3) Voluntario: La estandarización internacional es conducida por el mercado y por consiguiente
basada en el compromiso voluntario de todos los interesados del mercado.
?
Proceso de
Certificación
DESARROLLO DEL
PROCESO
Revisión y ajuste
Auditoría Interna
del sistema
Implantación
Creación de la base
experimental y documental
Diseño
Básicamente, la Norma ISO 9001:2000, son un conjunto de reglas de carácter social y
organizativo para mejorar y potenciar las relaciones entre los miembros de una organización.
Cuyo último resultado, es mejorar las capacidades y rendimiento de la organización, y conseguir
un aumento por este procedimiento de la calidad final del producto.
Para lograr esto, la Norma sigue una serie de principios básicos que son los siguientes :
™ Que toda Organización sea enfocada a los clientes
™ Liderazgo
™ Compromiso de todo el personal
™ Enfoque a procesos
™ Enfoque del sistema hacia la gestión
™ La mejora continua
™ Enfoque objetivo hacia la toma de decisiones
™ Relaciones mutuamente beneficiosas con los proveedores
ICACIÓN EN GESTIÓN DE LA CALIDAD ISO 9001:2000
1.2 MODELADO DE SISTEMAS
Qué es un modelo? Un modelo es una abstracción de la realidad que captura la esencia funcional
del sistema, con los detalles suficientes como para que pueda utilizarse en la investigación y la
experimentación en lugar del sistema real, con menos riesgos, costo y tiempo. Este a su vez está
formado por dos sub-conjuntos:
ƒ
Variables
ƒ
Relaciones entre variables
Variables : representan habitualmente magnitudes físicas del sistema que se modela.
Relaciones : son las que describen el comportamiento de variables dentro del modelo.
Existen diferentes clasificaciones de modelos, de los cuales se mencionan: el Mental, Físico,
Gráfico, Matemático y Computarizado. Al igual, también existen diferentes técnicas de
modelado, que hacen posibles construir una gran cantidad de modelos para un sistema dado.
1.3 MODELO DE CONSTRUCCION DE PROTOTIPOS
La mayoría de desarrolladores de sistemas cuando inician un nuevo proyecto, siempre se
encuentran en la mayoría de las veces que “el primer sistema construido no se puede utilizar; ya
que puede ser demasiado lento, grande o torpe en su uso o los tres a la vez. No hay alternativas
sino comenzar de nuevo y construir una versión rediseñada en la que se resuelven esos
problemas….”.2
Entonces aparece un <<diseño rápido>> el cual se centra en la representación de esos aspectos
del software que serán visibles para el usuario; esto nos lleva a la construcción de un prototipo.
Un prototipo es una versión preliminar de un sistema de información o software con fines de
demostración o evaluación3; puede servir como un primer ensayo del producto final; el cual, es
evaluado en una primera etapa y se utiliza para refinar los requisitos del software a desarrollar.
2
3
Pressman, Roger S. Ingeniería de Software. Un enfoque práctico. Quinta Edición pág. 24
Pressman, Roger S. Ingeniería de Software. Un enfoque práctico. Quinta Edición pág. 24
Como analista de sistemas que presenta un prototipo del sistema de información, nos interesa las
reacciones de los usuarios y los directivos de la organización hacia el prototipo. La interacción
ocurre cuando el prototipo satisface las necesidades del usuario a la vez que permite que el
desarrollador comprenda mejor lo que necesita hacer. Las reacciones se recopilan a través de la
observación, las entrevistas y las hojas de retroalimentación diseñados para obtener la opinión de
cada persona sobre el prototipo después de que interactúa con el, esto sirve como un mecanismo
para identificar los requisitos.4
La construcción de prototipos puede ser un paradigma efectivo para la ingeniería de software; la
clave es definir las reglas del juego al comienza; es decir, el usuario y el desarrollador se deben
poner de acuerdo en que el prototipo se construya para servir como un mecanismo de definición
de requerimientos, esto con la visión hacia la calidad y la facilidad de mantenimiento.
“Un prototipo en Sistemas de Información es un modelo operable que tiene todas las
características necesarias para que el usuario pueda interactuar, pero que es ineficiente. Tiene
todas las características propuestas; pero es realmente un modelo básico que eventualmente será
mejorado…”.5
Cuando un analista de sistemas usa prototipos está buscando reacciones, sugerencias,
innovaciones y planes de revisión del usuario para hacer mejoras al prototipo y, por lo tanto,
modificar los planes del sistema con un mínimo de gastos y trastornos 6.
1.3.1
ENFOQUE A LOS PROTOTIPOS
La palabra prototipo se usa de muchas formas diferentes. En lugar de intentar sintetizar todos
estos usos en una sola definición o de tratar de convenir en un enfoque correcto al tema un tanto
polémico de la elaboración de prototipos se describen varias concepciones de la elaboración de
prototipos que se pueden aplicar convenientemente en una situación particular.
4
Pressman, Roger S. Ingeniería de Software. Un enfoque práctico. Quinta Edición pág. 24
Kendall, Kenneth E.; Kendall, Julie E. [1997] Análisis ÿ Diseño de Sistemas. Editorial Prentice Hall. Tercera
Edición pág. 199
6
Kendall, Kenneth E.; Kendall, Julie E. [1997] Análisis ÿ Diseño de Sistemas. Editorial Prentice Hall. Tercera
Edición pág. 213.
5
Tipos de Prototipos
Comúnmente son usados cuatro de ellos:
ƒ
Prototipo Corregido o Parchado: Es un sistema que funciona, pero se corrige
simultáneamente (trabaja, pero es parchado), es un modelo básico. En ingeniería, a este
enfoque se le llama elaboración de una tabla experimental. Los usuarios pueden interactuar
con el sistema, acostumbrándose a la interfaz y los tipos de salidas disponibles. Sin embargo
la recuperación y almacenamiento de información podrían ser ineficientes, debido a que los
programas se escribieron rápidamente con el objetivo de ser funcionales en lugar de eficaces.
ƒ
Prototipo no Operacional: Es usado para probar determinadas características del diseño. Es
un modelo a escala no funcional.
ƒ
Prototipo Primero de la Serie: Completamente operacional, es útil cuando están planeadas
muchas instalaciones del mismo sistema de información (bajo condiciones similares). El
modelo funcional a escala completa permite a los usuarios la interacción real con el nuevo
sistema, pero minimiza el costo de superar cualquier problema que se presente.
ƒ
Prototipo de Características Seleccionadas : que tiene algunas, pero no todas las
características esenciales del sistema. Usa módulos autocontenidos como bloques de
construcción, para que si las características prototípicas son satisfactorias puedan ser
conservadas e incorporadas en el sistema terminado mucho más grande.7
Algunos analistas argumentan que la elaboración de prototipos se debe considerar como una
alternativa para el ciclo de vida del desarrollo de sistemas (SDLC), ya que cuando la elaboración
de prototipos de usa de esta forma, el analista reduce efectivamente el tiempo entre la
determinación de los requerimientos de información y la entrega de un sistema funcional.
7
Kendall, Kenneth E.; Kendall, Julie E. [1997] Análisis ÿ Diseño de Sistemas. Editorial Prentice Hall. Tercera
Edición pág. 213.
1.3.2
LINEAMIENTOS PARA EL DESARROLLO DE UN PROTOTIPO
Los lineamientos principales que se realizan en el desarrollo de un prototipo, cuando éste se
integra, en la fase de determinación de requerimientos del ciclo de vida de desarrollo de sistemas
son los siguientes:8
•
Trabajar en módulos manejables : Que son aquellos que permiten la interacción de sus
características principales, pudiendo ser construido por separado de otros módulos.
•
Construir el prototipo rápidamente: Después de un breve análisis de los requerimientos de
información usando métodos tradicionales, se construye el modelo funcional para el prototipo
en el menor tiempo.
Es importante enfatizar que en esta etapa del ciclo de vida, todavía se está recolectando
información acerca de lo que necesitan y quieren los usuarios del sistema de información: El
prototipo se convierte en una extensión valiosa a la determinación tradicional de
requerimientos, ya que existe una retroalimentación que puede mostrar un mejor panorama de
las necesidades generales de la información.
•
Modificar el prototipo en iteraciones sucesivas: La construcción del prototipo debe dar
soporte a las modificaciones, esto con el objetivo que el sistema se vaya acercando cada vez
mas a lo que los usuarios necesitan.
•
Enfatizar el interfaz de usuario: Su principal objetivo es lograr que el usuario sea capaz de
interactuar fácilmente con el prototipo del sistema.
1.3.3
DESVENTAJAS DE LA ELABORACION DE PROTOTIPOS
Tal como pasa con cualquier técnica de recopilación de información, hay varias desventajas en la
elaboración de prototipos. La primera es que puede ser bastante difícil el manejar el prototipo
como un proyecto dentro de un esfuerzo par un sistema más grande. La segunda es que los
8
Kendall, Kenneth E.; Kendall, Julie E. [1997] Análisis ÿ Diseño de Sistemas. Editorial Prentice Hall. Tercera
Edición pág. 204-206.
usuarios y analistas pueden adoptar al prototipo como un sistema completo cuando es, de hecho,
inadecuado y nunca se pretendió que sirviera como un sistema terminado.
1.3.4
VENTAJAS DE LA ELABORACION DE PROTOTIPOS
La elaboración de prototipos no es necesaria o apropiada en todos los proyectos de sistemas, pero
se deben considerar las ventajas al momento de decidir si se hace el prototipo. Las tres ventajas
principales son:
a) La posibilidad de modificar el sistema en las primeras etapas de desarrollo
b) La oportunidad de suspender el desarrollo de un sistema que no sea funcional
c) La posibilidad de desarrollar un sistema que se acerque más a satisfacer las necesidades y
expectativas de los usuarios.
1.4 CICLO DE VIDA DE SISTEMAS
Es un enfoque por fases del análisis y diseño que sostiene, que los sistemas son desarrollados de
mejor manera mediante el uso de un ciclo específico de actividades del analista y del usuario.
Los analistas no están de acuerdo con qué tantas fases exactas hay en el ciclo de vida del
desarrollo de sistemas, pero, por lo general, alaban su enfoque organizado. Por lo general este se
divide en 7 fases las cuales son:
ƒ
Identificación de los requerimientos: fase en la cual se identifica el problema, oportunidades y
objetivos del proyecto.
ƒ
Determinación de los requerimientos: en esta fase se comprenden las los requerimientos de
información que tiene los usuarios.
ƒ
Análisis de las necesidades del sistema: Analiza las necesidades del sistema.
ƒ
Diseño Lógico: En esta fase se utiliza la información recolectada para realizar el diseño
lógico del sistema de información.
ƒ
Programación del Software: En esta fase se desarrolla cualquier software original que se
necesite.
ƒ
Prueba y verificación del Sistema: En esta fase se prueba y documenta el sistema de
información.
ƒ
Implementación: aquí el analista implementa el sistema. Esto incluye entrenamiento de los
usuarios para que manejen el sistema.9
1.5 HERRAMIENTAS DE DESARROLLO
Hoy en día existen muchas herramientas que se utilizan para el desarrollo de sistemas y de las
cuales se puede mencionar:
VISUAL BASIC10
Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar hoy en día.
Dicho lenguaje nace del BASIC (Beginner´s All-purpose Symbolic Instruction Code) que fue
creado en su versión original en el Dartmouth College, con el propósito de servir a aquellas
personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir
varias modificaciones, en el año 1978 se estableció el BASIC estándar. La sencillez del lenguaje
ganó el desprecio de los programadores avanzados por considerarlo "un lenguaje para
principiantes".
Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce como
Visual Basic y la versión más reciente es la 6. Esta versión combina la sencillez del BASIC con
un poderoso lenguaje de programación Visual que juntos permiten desarrollar robustos
programas de 32 bits para Windows.
¿Qué es Visual Basic?
Es un lenguaje de programación que se ha diseñado para facilitar el desarrollo de aplicaciones en
un entorno grafico (GUI-GRAPHICAL USER INTERFACE) Como Windows 98, Windows NT
o superior.
9
Kendall, Kenneth E.; Kendall, Julie E. [1997] Análisis ÿ Diseño de Sistemas. Editorial Prentice Hall. Tercera
Edición págs. 8-12.
10
http:// www.monografias.com/computa/programacion
Características de Visual Basic.
Diseñador de entorno de datos: Es posible generar, de manera automática, conectividad entre
controles y datos mediante la acción de arrastrar y colocar sobre formularios o informes.
Los Objetos Actives son una nueva tecnología de acceso a datos mediante la acción de arrastrar y
colocar sobre formularios o informes.
Asistente para formularios: Sirve para generar de manera automática formularios que
administran registros de tablas o consultas pertenecientes a una base de datos, hoja de calculo u
objeto (ADO-ACTIVE DATA OBJECT)
Asistente para barras de herramientas es factible incluir barras de herramientas es factible incluir
barra de herramientas personalizada, donde el usuario selecciona los botones que desea visualizar
durante la ejecución.
En las aplicaciones HTML: Se combinan instrucciones de Visual Basic con código HTML para
controlar los eventos que se realizan con frecuencia en una pagina web.
JAVA11
A) Origen de Java
Sun Microsystems, líder en servidores para Internet, uno de cuyos lemas desde hace mucho
tiempo es "the network is the computer" (lo que quiere dar a entender que el verdadero ordenador
es la red en su conjunto y no cada máquina individual), es quien ha desarrollado el lenguaje Java,
en un intento de resolver simultáneamente todos los problemas que se le plantean a los
desarrolladores de software por la proliferación de arquitecturas incompatibles, tanto entre las
diferentes máquinas como entre los diversos sistemas operativos y sistemas de ventanas que
funcionaban sobre una misma máquina, añadiendo la dificultad de crear aplicaciones distribuidas
en una red como Internet.
11
http:// www.monografias.com/computa/programacion
Hace algunos años, Sun Microsystems decidió intentar introducirse en el mercado de la
electrónica de consumo y desarrollar programas para pequeños dispositivos electrónicos. Tras
unos comienzos dudosos, Sun decidió crear una filial, denominada FirstPerson Inc., para dar
margen de maniobra al equipo responsable del proyecto.
El mercado inicialmente previsto para los programas de FirstPerson eran los equipos domésticos:
microondas, tostadoras y, fundamentalmente, televisión interactiva. Este mercado, dada la falta
de pericia de los usuarios para el manejo de estos dispositivos, requería unos interfaces mucho
más cómodos e intuitivos que los sistemas de ventanas que proliferaban en el momento.
Otros requisitos importantes a tener en cuenta eran la fiabilidad del código y la facilidad de
desarrollo. James Gosling, el miembro del equipo con más experiencia en lenguajes de
programación, decidió que las ventajas aportadas por la eficiencia de C++ no compensaban el
gran coste de pruebas y depuración. Gosling había estado trabajando en su tiempo libre en un
lenguaje de programación que él había llamado Oak, el cual, aún partiendo de la sintaxis de C++,
intentaba remediar las deficiencias que iba observando.
Los lenguajes al uso, como C o C++, deben ser compilados para un chip, y si se cambia el chip,
todo el software debe compilarse de nuevo. Esto encarece mucho los desarrollos y el problema es
especialmente acusado en el campo de la electrónica de consumo. La aparición de un chip más
barato y, generalmente, más eficiente, conduce inmediatamente a los fabricantes a incluirlo en las
nuevas series de sus cadenas de producción, por pequeña que sea la diferencia en precio ya que,
multiplicada por la tirada masiva de los aparatos, supone un ahorro considerable. Por tanto,
Gosling decidió mejorar las características de Oak y utilizarlo.
El primer proyecto en que se aplicó este lenguaje recibió el nombre de proyecto Green y consistía
en un sistema de control completo de los aparatos electrónicos y el entorno de un hogar. Para ello
se construyó un ordenador experimental denominado *7 (Star Seven). El sistema presentaba una
interfaz basada en la representación de la casa de forma animada y el control se llevaba a cabo
mediante una pantalla sensible al tacto. En el sistema aparecía Duke, la actual mascota de Java.
Posteriormente se aplicó a otro proyecto denominado VOD (Video On Demand) en el que se
empleaba como interfaz para la televisión interactiva. Ninguno de estos proyectos se convirtió
nunca en un sistema comercial, pero fueron desarrollados enteramente en un Java primitivo y
fueron como su bautismo de fuego.
B) Características de Java
Las características principales que nos ofrece Java respecto a cualquier otro lenguaje de
programación, son:
Simple
Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las características menos
usadas y más confusas de éstos. C++ es un lenguaje que adolece de falta de seguridad, pero C y
C++ son lenguajes más difundidos, por ello Java se diseñó para ser parecido a C++ y así facilitar
un rápido y fácil aprendizaje.
Java elimina muchas de las características de otros lenguajes como C++, para mantener reducidas
las especificaciones del lenguaje y añadir características muy útiles como el garbage collector
(reciclador de memoria dinámica). No es necesario preocuparse de liberar memoria, el reciclador
se encarga de ello y como es un thread de baja prioridad, cuando entra en acción, permite liberar
bloques de memoria muy grandes, lo que reduce la fragmentación de la memoria. Además, el
intérprete completo de Java que hay en este momento es muy pequeño, solamente ocupa 215 Kb
de RAM.
Orientado a objetos
Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para
mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y
con interfaces a esos objetos. Soporta las tres características propias del paradigma de la
orientación a objetos: encapsulación, herencia y polimorfismo. Las plantillas de objetos son
llamadas, como en C++, clases y sus copias, instancias. Estas instancias, como en C++, necesitan
ser construidas y destruidas en espacios de memoria.
Java incorpora funcionalidades inexistentes en C++ como por ejemplo, la resolución dinámica de
métodos. Esta característica deriva del lenguaje Objective C, propietario del sistema operativo
Next. En C++ se suele trabajar con librerías dinámicas (DLLs) que obligan a recompilar la
aplicación cuando se retocan las funciones que se encuentran en su interior. Este inconveniente es
resuelto por Java mediante una interfaz específica llamada RTTI (RunTime Type Identification)
que define la interacción entre objetos excluyendo variables de instancias o implementación de
métodos. Las clases en Java tienen una representación en el runtime que permite a los
programadores interrogar por el tipo de clase y enlazar dinámicamente la clase con el resultado
de la búsqueda.
Distribuido
Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen librerías de
rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a los
programadores acceder a la información a través de la red con tanta facilidad como a los ficheros
locales.
La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y herramientas
para que los programas puedan ser distribuidos, es decir, que se corran en varias máquinas,
interactuando.
Robusto
Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como en
tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo antes posible,
en el ciclo de desarrollo. Java obliga a la declaración explícita de métodos, reduciendo así las
posibilidades de error. Maneja la memoria para eliminar las preocupaciones por parte del
programador de la liberación o corrupción de memoria.
También implementa los arrays auténticos, en vez de listas enlazadas de punteros, con
comprobación de límites, para evitar la posibilidad de sobreescribir o corromper memoria
resultado de punteros que señalan a zonas equivocadas. Estas características reducen
drásticamente el tiempo de desarrollo de aplicaciones en Java.
Además, para asegurar el funcionamiento de la aplicación, realiza una verificación de los bytecodes, que son el resultado de la compilación de un programa Java. Es un código de máquina
virtual que es interpretado por el intérprete Java. No es el código máquina directamente
entendible por el hardware, pero ya ha pasado todas las fases del compilador: análisis de
instrucciones, orden de operadores, etc., y ya tiene generada la pila de ejecución de órdenes.
Arquitectura neutral
Para establecer Java como parte integral de la red, el compilador Java compila su código a un
fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará.
Cualquier máquina que tenga el sistema de ejecución (run-time) puede ejecutar ese código objeto,
sin importar en modo alguno la máquina en que ha sido generado. Actualmente existen sistemas
run-time para Solaris 2.x, SunOs 4.1.x, Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple
y probablemente haya grupos de desarrollo trabajando en el porting a otras plataformas.
El código fuente Java se "compila" a un código de bytes de alto nivel independiente de la
máquina. Este código (byte-codes) está diseñado para ejecutarse en una máquina hipotética que
es implementada por un sistema run-time, que sí es dependiente de la máquina. Además, habrá
APIs de Java que también entren en contacto directo con el hardware y serán dependientes de la
máquina, como ejemplo de este tipo de APIs podemos citar:
Java 2D: gráficos 2D y manipulación de imágenes
Java Media Framework : Elementos críticos en el tiempo: audio, video...
Java Animation: Animación de objetos en 2D
Java Telephony: Integración con telefonía
Java Share: Interacción entre aplicaciones multiusuario
Java 3D: Gráficos 3D y su manipulación
Seguro
La seguridad en Java tiene dos facetas. En el lenguaje, características como los punteros o el
casting implícito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso
ilegal a la memoria. Cuando se usa Java para crear un navegador, se combinan las características
del lenguaje con protecciones de sentido común aplicadas al propio navegador.
El código Java pasa muchos tests antes de ejecutarse en una máquina. El código se pasa a través
de un verificador de byte-codes que comprueba el formato de los fragmentos de código y aplica
un probador de teoremas para detectar fragmentos de código ilegal -código que falsea punteros,
viola derechos de acceso sobre objetos o intenta cambiar el tipo o clase de un objeto-.
Si los byte-codes pasan la verificación sin generar ningún mensaje de error, entonces sabemos
que:
. El código no produce desbordamiento de operandos en la pila
. El tipo de los parámetros de todos los códigos de operación son conocidos y correctos.
. No ha ocurrido ninguna conversión ilegal de datos, tal como convertir enteros en punteros.
. El acceso a los campos de un objeto se sabe que es legal: public, private, protected.
. No hay ningún intento de violar las reglas de acceso y seguridad establecidas
El Cargador de Clases también ayuda a Java a mantener su seguridad, separando el espacio de
nombres del sistema de ficheros local, del de los recursos procedentes de la red. Esto limita
cualquier aplicación del tipo Caballo de Troya, ya que las clases se buscan primero entre las
locales y luego entre las procedentes del exterior.
En resumen, las aplicaciones de Java resultan extremadamente seguras, ya que no acceden a
zonas delicadas de memoria o de sistema, con lo cual evitan la interacción de ciertos virus. Java
no posee una semántica específica para modificar la pila de programa, la memoria libre o utilizar
objetos y métodos de un programa sin los privilegios del kernel del sistema operativo. Además,
para evitar modificaciones por parte de los crackers de la red, implementa un método ultraseguro
de autentificación por clave pública. El Cargador de Clases puede verificar una firma digital antes
de realizar una instancia de un objeto. Por tanto, ningún objeto se crea y almacena en memoria,
sin que se validen los privilegios de acceso. Es decir, la seguridad se integra en el momento de
compilación, con el nivel de detalle y de privilegio que sea necesario.
Respecto a la seguridad del código fuente, no ya del lenguaje, JDK proporciona un
desensamblador de byte-code, que permite que cualquier programa pueda ser convertido a código
fuente, lo que para el programador significa una vulnerabilidad total a su código.
Portable
Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros
estándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además,
enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través
de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en
entornos Unix, Pc o Mac.
Interpretado
El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. Enlazar
(linkiar) un programa, normalmente, consume menos recursos que compilarlo, por lo que los
desarrolladores con Java pasarán más tiempo desarrollando y menos esperando por el ordenador.
No obstante, el compilador actual del JDK es bastante lento. Por ahora, que todavía no hay
compiladores específicos de Java para las diversas plataformas, Java es más lento que otros
lenguajes de programación, como C++, ya que debe ser interpretado y no ejecutado como sucede
en cualquier programa tradicional.
Multithreaded
Al ser multithreaded (multihilvanado, en mala traducción), Java permite muchas actividades
simultáneas en un programa. Los threads (a veces llamados, procesos ligeros), son básicamente
pequeños procesos o piezas independientes de un gran proceso. Al estar los threads contruidos en
el lenguaje, son más fáciles de usar y más robustos que sus homólogos en C o C++.
El beneficio de ser multithreaded consiste en un mejor rendimiento interactivo y mejor
comportamiento en tiempo real. Aunque el comportamiento en tiempo real está limitado a las
capacidades del sistema operativo subyacente (Unix, Windows, etc.), aún supera a los entornos
de flujo único de programa (single-threaded) tanto en facilidad de desarrollo como en
rendimiento.
Dinámico
Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar
todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las librería
nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API
anterior).
Algunas Limitantes en Java:
ƒ
La velocidad.
ƒ
Los programas hechos en Java no tienden a ser muy rápidos, supuestamente se está
trabajando en mejorar esto. Como los programas de Java son interpretados nunca alcanzan la
velocidad de un verdadero ejecutable.
ƒ
Java es un lenguaje de programación. Esta es otra gran limitante, por más que digan que es
orientado a objetos y que es muy fácil de aprender sigue siendo un lenguaje y por lo tanto
aprenderlo no es cosa fácil. Especialmente para los no programadores.
ƒ
Java es nuevo. En pocas palabras todavía no se conocen bien todas sus capacidades.
JAVASCRIPT12
¿Qué es JavaScript? Es un nuevo lenguaje escrito; al igual que Java o VRML, es una de las
múltiples maneras que han surgido para extender las capacidades del lenguaje HTML. Se trata de
un lenguaje de tipo script compacto, basado en objetos y guiado por eventos diseñado
específicamente para el desarrollo de aplicaciones cliente-servidor dentro del ámbito de Internet.
Los programas JavaScript van incrustados en los documentos HMTL, y se encargan de realizar
acciones en el cliente, como pueden ser pedir datos, confirmaciones, mostrar mensajes, crear
animaciones, comprobar campos, etc.
Con JavaScript se puede dar respuesta a eventos iniciados por el usuario, eventos tales como la
entrada de una forma o algún enlace. Esto sucede sin ningún tipo de transmisión. De tal forma
que cuando un usuario escribe algo en una forma, no es necesario que sea transmitido hacia el
servidor, verificado y devuelto. Las entradas son verificadas por la aplicación cliente y pueden
ser transmitidas después de esto.
Aunque, realmente JavaScript no es un lenguaje de programación propiamente dicho, es un
lenguaje script u orientado a documentos como pueden ser, los lenguajes de macros que tienen
12
http:// www.monografias.com/computa/programacion/javascript.html
muchos procesadores de texto. Nunca se podrá hacer un programa con JavaScript, tan sólo se
podrá mejorar una página Web con algunas cosas sencillas (revisión de formularios, efectos en la
barra de estado, etc...) y, ahora, no tan sencillas (animaciones usando HTML dinámico, por
ejemplo).
Aunque JavaScript se parece a Java son dos cosas distintas. Principalmente porque Java sí que es
un lenguaje de programación completo y mucho más complejo. Lo único que comparten es la
misma sintaxis. JavaScript está hecho para ser un lenguaje bastante fácil de entender, por esta
razón, algunos elementos de Java no son aceptados en JavaScript.
Versiones
El programa que va a interpretar los programas JavaScript es el propio navegador, lo que
significa que si el nuestro no soporta JavaScript, no podremos ejecutar las funciones que
programemos.
Desde luego, Netscape y Explorer lo soportan, el primero desde la versión 2 y el segundo desde
la versión 3.
Navegador
Versión de JavaScript
Soporte ECMA
Nestcape 2
Javascript 1.0
--
Internet Explorer 2
No soporta JavaScript
--
Nestcape 3
Javascript 1.1
--
Internet Explorer 3
Javascript 1.0
--
Nestcape 4
Javascript 1.2 - 1.3 incompleta
ECMA-262-compliant hasta la versión
4.5
Internet Explorer 4
Javascript 1.2
ECMA-262-compliant
Nestcape 6
ECMA compliant Javascript 1.4 Full ECMAScript-262
Internet Explorer 5
ECMA compliant Javascript 1.3 Full ECMAScript-262
Las diferentes versiones de JavaScript han sido finalmente integradas en un estándar denominado
ECMAScript-262. Dicho estándar ha sido realizado por la organización ECMA dedicada a la
estandarización de información y sistemas de comunicación. Las versiones actuales de los
navegadores soportan este estándar, así que basaremos el curso sobre él.
Lo que se resume en la tabla siguiente son los elementos principales de la gramática de
JavaScript. Es sensible a mayúsculas y minúsculas, todos los elementos de JavaScript deben
referenciarse como se definieron, no es lo mismo "Salto" que "salto".
Variables
Etiquetas que se refieren a un valor cambiante.
Operadores
Pueden usarse para calcular o comparar valores.
Ejemplo: pueden sumarse dos valores, pueden compararse dos valores...
Expresiones
Cualquier combinación de variables, operadores, y declaraciones que evalúan a
algún resultado.
Ejemplo: intTotal=100; intTotal > 100
Sentencias
Una sentencia puede incluir cualquier elemento de la gramática de JavaScript.
Las sentencias de JavaScript pueden tomar la forma de condicional, bucle, o
manipulaciones del objeto. La forma correcta para separarlas es por punto y
coma, esto sólo es obligatorio si las declaraciones múltiples residen en la misma
línea. Aunque es recomendable que se acostumbre a terminar cada instrucción
con un punto y coma, se ahorrará problemas.
Objetos
Estructura "contenedora" de valores, procedimientos y funciones, cada valor
refleja una propiedad individual de ese objeto.
Funciones
Métodos
y Una función de JavaScript es bastante similar a un" procedimiento" o"
subprograma" en otro lenguaje de programación. Una función es un conjunto
que realizan alguna acción. Puede aceptar los valores entrantes (los parámetros),
y puede devolver un valor saliente. Un método simplemente es una función
contenida en un objeto.
PHP13
Para un desarrollador de aplicaciones web, PHP ha significado junto al servidor de web Apache,
las dos herramientas claves para la creación de aplicaciones. PHP es un lenguaje sencillo, de
sintaxis cómoda y similar a la de otros lenguajes como C o C++, es rápido a pesar de ser
interpretado, multiplataforma y dispone de una gran cantidad de librerías que facilitan muchísimo
el desarrollo de las aplicaciones.
El código generado es mantenible, se lee muy bien y se puede programar utilizando objetos. PHP
es un lenguaje ideal tanto para el que comienza a desarrollar aplicaciones web como para el
desarrollador experimentado, y está alcanzando unos niveles de uso (más de 1 millón de webs lo
utilizan ya) que convierten su conocimiento en algo indispensable para los profesionales del
desarrollo en Internet. Y, además, PHP es un lenguaje basado en herramientas con licencia de
software libre, es decir, no hay que pagar ni licencias, ni estamos limitados en su distribución y,
podemos ampliarlo con nuevas funcionalidades si así lo quisiéramos. Respecto a su licencia, en la
versión PHP 3.0 era GPL, pasando a ser modificada en su versión 4.0, por la incorporación de
Zend, un nuevo interprete de PHP mucho más rápido que el anterior de PHP. Este interprete Zend
tiene asociado un optimizador opcional, el cual ya está más dentro del mundo comercial que del
software libre, tema que ha levantado algunas suspicacias dentro de la comunidad de
desarrolladores de software libre.
Aquí se muestra el lenguaje, como se instala y configura, como se desarrolla con él, las librerías
fundamentales y como no, su excelente forma de trabajar con casi todas las bases de datos, y en
especial, con MySQL, con la que forma un equipo estrella dentro del mundo de desarrollo
software.
No olvidaremos por otro lado a PostgreSQL, la base de datos que es realmente software libre, y
que avanza con paso firme para convertirse en la base de datos de referencia dentro de cualquier
proyecto libre, sobre todo tras la publicación de la versión 7.0.
13
http://www.programatium.net/cursos/php/2.htm
Uso del conjunto de Apache y PHP.
Aunque todo se oriente al conjunto Apache y PHP, PHP se puede compilar como un ejecutable
que puede ser utilizado como cgi-bin. De esta forma, cualquier servidor de web que soporte cgi
podría ejecutar las páginas PHP. La ventaja que tiene Apache frente a estos es que podemos
compilar el interprete PHP como un módulo de Apache, por lo que la velocidad de ejecución de
estas páginas PHP es muy superior, así como el consumo de recursos al cargarse el interprete de
PHP una sola vez en memoria.
¿Qué es PHP?
Con estas siglas se hace referencia a un lenguaje de programación que está muy orientado al
desarrollo de aplicaciones web. Cuando pedimos a un servidor de web una página PHP, que no es
más que un programa PHP que genera HTML, antes de enviar dicha página al cliente se la pasa al
interprete de PHP. Este la interpreta y es el resultado de esta interpretación del programa PHP,
contenido en la página PHP, lo que termina llegando al cliente.
Supongamos que el contenido de una página web que reside en el servidor, y cuyo nombre es
"intro.php", tiene el siguiente contenido: <? echo "<h1>Mensaje desde PHP</h1>";?>
Cuando un navegador le pida al servidor de web la página "intro.php", el servidor de web va a
darse cuenta, por la extensión ".php", de que esta página ha de enviarse primero al intérprete de
PHP. Este recibe el contenido de la página y como resultado de esta ejecución (interpretación)
genera una página HTML, que es la que envía al cliente a través de Apache. Como veremos en
una página PHP se puede mezclar HTML y PHP, algo muy flexible pero que hay que manejar
con cuidado ya que puede llevar a confusiones y, sobretodo, a que el equipo que diseñe las
páginas web y el que programe la aplicación no puedan ser independientes.
Instalación de PHP
Uno de los mayores quebraderos de cabeza de PHP en sus comienzos era que obligaba a tener
Apache en código fuente y compilarlo. Por fin la instalación de PHP se puede hacer de forma
sencilla y sin tener que modificar en casi nada a nuestro servidor de web. Tan sólo necesitamos
tener una versión de Apache con soporte DSO para la carga dinámica de objetos.
1.6 BASES DE DATOS
Una Base de Datos es un conjunto de informacion estructurada en registros y almacenada en un
soporte electronico legible desde un computador. Cada registro constituye una unidad autónoma
de información, que puede estar a su vez estructurada en diferentes campos o tipos de datos que
se recogen en dicha Base de Datos.
Una parte muy importante de las aplicaciones que se desarrollan actualmente hacen uso extensivo
de las Bases de Datos (arquitecturas cliente/servidor, Servicios Web, etc.). Comprender la
arquitectura interna de una Base de Datos es una ayuda muy importante de cara al diseño y la
construcción de Bases de Datos relacionales.
MySQL14
Es un gestor de base de datos sencillo de usar y increíblemente rápido. También es uno de los
motores de base de datos más usados en Internet, la principal razón de esto es que es gratis para
aplicaciones no comerciales.
Las características principales de MySQL son:
ƒ
Es un gestor de base de datos. Una base de datos es un conjunto de datos y un gestor de base
de datos es una aplicación capaz de manejar este conjunto de datos de manera eficiente y
cómoda.
ƒ
Es una base de datos relacional. Una base de datos relacional es un conjunto de datos que
están almacenados en tablas entre las cuales se establecen unas relaciones para manejar los
datos de una forma eficiente y segura. Para usar y gestionar una base de datos relacional se
usa el lenguaje estándar de programación SQL.
ƒ
Es Open Source. El código fuente de MySQL se puede descargar y está accesible a
cualquiera, por otra parte, usa la licencia GPL para aplicaciones no comerciales.
ƒ
Es una base de datos muy rápida, segura y fácil de usar. Gracias a la colaboración de muchos
usuarios, la base de datos se ha ido mejorando optimizándose en velocidad. Por eso es una de
las bases de datos más usadas en Internet.
ƒ
14
Existe una gran cantidad de software que la usa.
http:// www.webestilo.com/mysql/usar-base-datos.phtml
WINDOWS SQL SERVER 200015
Es un sistema de administración de bases de datos relacionales cliente/servidor de alto
rendimiento.
Se ha diseñado para admitir un elevado volumen de procesamiento de transacciones (como las de
la entrada de pedidos en línea, inventario, contabilidad o facturación), además de aplicaciones de
almacén de datos y de ayuda en la toma de decisiones. Es un sistema operativo completo,
integrado y más confiable, hace más por menos, al reducir los costos e incrementar la efectividad
de las operaciones.
Windows SQL Server 2000 es una plataforma poderosa para infraestructuras de trabajadores
profesionales
(archivo/impresión
y
colaboración)
infraestructura
de
informática
(almacenamiento, administración, seguridad y redes) y aplicaciones (Microsoft. Net Framework e
Internet).
Las ventajas que se obtiene al utilizar esta plataforma son las siguientes:
•
Operar su infraestructura de sistemas más eficientemente
•
Construir, implementar y operar aplicaciones en menos tiempo
•
Crear una estructura de servidor robusta que ayude a mejorar la productividad de los
trabajadores de la información y reducir los costos de soporte.
1.7 SISTEMA OPERATIVO
LINUX
Es un sistema operativo, compatible Unix. Dos características muy peculiares lo diferencian del
resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto
significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de
software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente.
El sistema lo forman el núcleo del sistema (kernel) mas un gran numero de programas / librerías
que hacen posible su utilización.
15
Manual de Microsoft Corporation
LINUX se distribuye bajo la GNU Public License: Ingles , por lo tanto, el código fuente tiene que
estar siempre accesible.
El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo.
El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la
persona de la que partió la idea de este proyecto, a principios de la década de los noventa.
Día a día, más y más programas / aplicaciones están disponibles para este sistema, y la calidad de
los mismos aumenta de versión a versión. La gran mayoría de los mismos vienen acompañados
del código fuente y se distribuyen gratuitamente bajo los términos de licencia de la GNU Public
License.
En los últimos tiempos, ciertas casas de software comercial han empezado a distribuir sus
productos para Linux y la presencia del mismo en empresas aumenta rápidamente por la
excelente relación calidad-precio que se consigue con Linux.
Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium,
Pentium Pro, Pentium II/III/IV, Amiga y Atari, también existen versiones para su utilización en
otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC.
Historia
LINUX hace su aparición a principios de la década de los noventa, era el año 1991 y por aquel
entonces un estudiante de informática de la Universidad de Helsinki, llamado Linus Torvalds
empezó, -como una afición y sin poderse imaginar a lo que llegaría este proyecto, a programar las
primeras líneas de código de este sistema operativo llamado LINUX.
Linux
Este comienzo estuvo inspirado en MINIX, un pequeño sistema Unix desarrollado por Andy
Tanenbaum. Las primeras discusiones sobre Linux fueron en el grupo de noticias comp.os.minix,
en estas discusiones se hablaba sobre todo del desarrollo de un pequeño sistema Unix para
usuarios de Minix que querían mas.
Linux nunca anunció la versión 0.01 de Linux (agosto 1991), esta versión no era ni siquiera
ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en lenguaje
ensamblador y asumía que uno tenia acceso a un sistema Minix para su compilación.
El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, -versión 0.02. Con
esta versión Linux pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de
C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los términos
soporte, documentación, distribución.
Después de la versión 0.03, Linux saltó en la numeración hasta la 0.10, más y más programadores
a lo largo y ancho de Internet empezaron a trabajar en el proyecto y después de sucesivas
revisiones, Linux incrementó el número de versión hasta la 0.95 (Marzo 1992). Más de un año
después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0 no llegó
hasta el 14 de marzo de 1994.
La serie actual del núcleo es la 2.4.x y sigue avanzando día a día con la meta de perfeccionar y
mejorar el sistema.
Características:
• Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo
tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los
programas que se están utilizando en un momento dado serán ejecutados, siendo el sistema
operativo el encargado de ceder tiempo de microprocesador a cada programa.
• Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo.
• Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-,
486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, también existen versiones para su
utilización en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC.
• Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel y
SPARC.
• Funciona en modo protegido 386.
• Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el
sistema.
• Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa
que están siendo usadas actualmente.
• Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa
que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno
intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta
política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de
memoria.
• Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una
partición o un archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más
áreas de intercambio sobre la marcha Un total de 16 zonas de intercambio de 128Mb de
tamaño máximo pueden ser usadas en un momento dado con un límite teórico de 2Gb para
intercambio. Este límite se puede aumentar fácilmente con el cambio de unas cuantas líneas en
el código fuente.
• La memoria se gestiona como un recurso unificado para los programas de usuario y para el
caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede
a su vez ser reducida cuando se ejecuten grandes programas.
• Librerías compartidas de carga dinámica (DLL's) y librerías estáticas.
• Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem,
permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras
abortar éstos por cualquier motivo.
• Compatible con POSIX, System V y BSD a nivel fuente.
• Emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel
binario.
• Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las
herramientas de desarrollo y todos los programas de usuario; además todo ello se puede
distribuir libremente. Hay algunos programas comerciales que están siendo ofrecidos para
Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.
• Control de tareas POSIX.
• Pseudo-terminales (pty's).
• Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia
emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador
matemático. Por supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta
será usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la
emulación matemática y conseguir un pequeño ahorro de memoria.
• Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos
dinámicamente.
• Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se
puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del
hardware de video). Se crean dinámicamente y puedes tener hasta 64.
• Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los
sistemas de archivo típicos de System V, y tiene un avanzado sistema de archivos propio con
una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud.
• Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema
de archivos especial: no es necesario ningún comando especial para usar la partición MSDOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en
los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6
no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para
VFAT, FAT32 (WNT, Windows 95/98) se encuentra soportado desde la versión 2.0 del
núcleo y el NTFS de WNT desde la versión 2.2 (Este ultimo solo en modo lectura).
• Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un
sistema de archivos DOS.
• Soporte en sólo lectura de HPFS-2 del OS/2 2.1
• Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM.
• TCP/IP, incluyendo ftp, telnet, NFS, etc.
• Appletalk.
• Software cliente y servidor Netware.
• Lan Manager / Windows Native (SMB), software cliente y servidor.
• Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP,
Netrom, etc.
ORACLE
Es un manejador de base de datos relacional que hace uso de los recursos del sistema informático
en todas las arquitecturas de hardware, para garantizar su aprovechamiento al máximo en
ambientes de grandes volúmenes de información.
Es el manejador de base de datos relacional (RDBMS) mas usado en el mundo. Oracle corre en
computadoras personales (PC), mainframes y computadoras con procesamiento paralelo masivo.
Corre automáticamente en más de 80 arquitecturas de hardware y software distintos, sin cambiar
una sola línea de código; y se debe a que más de un 80% de los códigos internos de Oracle son
iguales a los establecidos en todas las plataformas de sistemas operativos.
Características:
•
Alta disponibilidad y capacidad de gestión contable e índices divididos en particiones.
•
Mayor rendimiento y mejor gestión de aplicaciones de data Warehouse.
•
Procesamiento de transacciones on-line a un nivel comparable al ofrecido por una mainframe.
•
Administración de la seguridad
HERRAMIENTAS DE APOYO
En el proceso de asesoría, las herramientas de apoyo constituyen un factor clave dentro del
proceso de inscripción de asignaturas en todas las facultades. Estas asesorías favorecen en parte a
los estudiantes, pues no se tienen permanentes. Si existieran, esto favorecería al alumnado pues
habría una comunicación más directa que sería efectiva para el estudiante.
Descargar