Story Transcript
CAPITULO II MARCO REFERENCIAL 1- MARCO NORMATIVO
Hoy en día las computadoras son tan necesarias e imprescindibles que el uso de programas de computación se ha convertido en algo cotidiano y generalizado en todos los lugares de trabajo y centros educativos. De este uso tan necesario para mantener el ritmo de los negocios, surge el problema del copiado ilegal de programas de computación que afecta a todos los fabricantes de estos programas.
Los programas de computación están protegidos bajo las Leyes de Derechos de Autor y en el caso particular de nuestra legislación el Art. 32 de la Ley de Fomento y Protección de Propiedad Intelectual, expresamente describe que se consideran programas de ordenador, siendo éste el término que utiliza la Ley Salvadoreña para referirse a los programas de computación o software, y los cuales a su vez están contemplados en el capítulo II del Régimen de Protección de la Ley de Fomento y Protección de Propiedad Intelectual, dentro de las obras protegidas. (Art. 13).
En este sentido, se debe mencionar que, tanto EL Salvador como Estados Unidos, que es el país de la nacionalidad de las compañías fabricantes de software, han aprobado la Convención Universal sobre Derechos de Autor (Ley N°. 8 de 24 de octubre de 1974) y El Convenio de Berna (Ley N°. 3 de 3 de enero de 1996).
El Art. 5 del Convenio de Berna establece además que esta protección se otorgará sin necesidad de cumplir con ninguna formalidad de registro o depósito en el país donde se reclama la protección. La Convención Universal, por su parte, establece un método para aquellos países que exigen formalidades de registro. Sin embargo, nuestra Ley de Fomento y Protección de la Propiedad Intelectual Específicamente, establece en su Art. 96 que el registro ante la Oficina de Derechos de Autor no es constitutivo de derecho ni determina el goce ni el ejercicio de los derechos previstos en la Ley. De modo que los programas de computación de origen extranjero están protegidos bajo los mismos términos de la Ley Nacional.
En cuanto a la duración de la protección de los programas de ordenador, en el caso de EL Salvador el Art. 86 de nuestra Ley de Propiedad Intelectual estipula que la protección de los Derechos Regulados por la misma comprende la vida del autor y 50 años a contar del día de su muerte y además que la duración de la protección de los programas de ordenador se extiende hasta 50 años después de su primera publicación.
Con respecto al Uso Legal de Programas de Computación, es decir, las Licencias, se puede determinar que hay diferentes tipos según la cantidad de usuarios que pueden emplear el programa entre ellas tenemos: Licencias de uso individual y por máquina Licencias para uso en múltiples máquinas
Licencias para uso en redes Licencias de uso Individual y por máquina: son aquellas que permiten que el programa sea usado por un solo individuo o en una sola máquina. Esto significa que este mismo programa no puede ser cargado en otra computadora. En el caso de Microsoft, a las licencias que permiten la instalación y uso del programa en una sola computadora, se les denomina Contrato de Licencia de Usuario Final (CLUF).
Licencias para uso en múltiples máquinas: estas permiten que se efectúen tantas copias de un programa como lo permita la licencia. Después que se ha adquirido una licencia para una sola máquina, si el mismo programa va a ser utilizado en 10 computadoras más, la licencia múltiple lo autorizará a hacer 10 copias más para instalar en cada una de esas computadora. En estos casos, el número de identificación del producto se repetirá, puesto que sólo es necesario comprar un programa completo y luego pagar por la licencia que autoriza las copias adicionales.
Licencias para uso en redes: estas permiten la instalación del programa en un servidor, que es como una computadora central al cual están conectadas varias computadoras, denominadas terminales o estaciones de trabajo. La instalación de un programa en red permite que el mismo sea utilizado desde una terminal sin que esté instalado en el disco duro de esa computadora. Sin embargo, cada terminal que ejecute el programa debe tener una licencia. Esto significa que el acceso esta limitado a un número determinado de terminales y que si excede el número permitido se estaría cometiendo una violación.
2- MARCO HISTÓRICO
De acuerdo con investigaciones realizadas sobre el desarrollo de otros proyectos de la misma índole, es decir, relacionados con la Automatización de las actividades realizadas en el Registro Académico de los Centros Educativos, podemos concluir que uno de los proyectos desarrollados fue para el Centro Educativo del Instituto Nacional 14 de Julio de 1875 de San Francisco Gotera del Departamento de Morazán, realizado por alumnos de la Universidad Gerardo Barrios, el objetivo de dicho proyecto era el de automatizar los procesos de inscripción de alumnos y el control de notas, para ello se realizó el Análisis, Diseño y así mismo la implementación del sistema.
Otro de los trabajos que se realizó, fue para el Instituto Nacional Anexo al 3° ciclo Isidro Menéndez de la Ciudad de San Miguel, y para el Instituto Nacional de Berlín desarrollado por alumnos de la Universidad de Oriente.
En relación con el sistema desarrollado para el Registro Académico del Complejo Educativo "Ofelia Herrera" se tiene que al igual que en los proyectos mencionados anteriormente incluyendo éste, están enfocado a una área especifica el cual es el área Académica y con los mismo propósitos de hacer más eficiente los procesos académicos proporcionando así un mejor servicio a la población estudiantil.
3- MARCO TEÓRICO
3.1 SISTEMAS AUTOMATIZADOS
Son una aplicación comercial de la computadora. Está constituido por las bases de datos, los programas de aplicación, los procedimientos manuales y automatizados, y abarca los sistemas informáticos que llevan a cabo el procesamiento.
Las bases de datos almacenan los asuntos de los negocios (archivos maestros) y sus actividades (archivos de transacciones). Los programas de aplicación proveen la entrada de datos, la actualización, consulta y procesamiento de informes. Los procedimientos manuales documentan la forma en que se obtienen los datos para su introducción, y la forma en que se distribuyen las salidas del sistema. Los procedimientos automáticos instruyen a la computadora acerca de cómo ejecutar las actividades.
Elementos de un Sistema Automatizado
Software. Son programas de computadora, con estructuras de datos y su documentación que hacen efectiva la logística, metodología o controles de requerimientos del programa.
Hardware.
Dispositivos
electrónicos
y
electromagnéticos,
que
proporcionan
capacidad de cálculos y funciones rápidas, exactas y efectivas (computadoras, censores, maquinaria, lectores, bombas, etc.), que proporcionan una función externa dentro de los sistemas.
Personal. Son los operadores o usuarios directos de las herramientas del sistema.
Base de Datos. Una gran colección de información organizadas y enlazadas al sistema a las que se accede por medio del software.
Documentación. Manuales, formularios, y otra información descriptiva que detalla o da instrucciones sobre el empleo y operación del programa.
Procedimientos. Pasos que definen el uso específico de cada uno de los elementos o componentes del sistema y las reglas de su manejo y mantenimiento.
Existen diferentes tipos de sistemas automatizados, entre ellos podemos mencionar:
3.1.1 SISTEMAS ABIERTOS
Un sistema abierto es aquel que es capaz de hacer que todos los componentes del sistema de computación sean compatibles en cualquier ambiente sin importar la compañía que lo haya producido.
Los sistemas abiertos se presentan como una alternativa rentable y confiable a tomar en cuenta en la selección de un sistema de procesamiento electrónico de datos, aumentando cada vez más el número de empresas que adquieren esta tecnología para el manejo y procesamiento de sus informaciones.
Características ¾ Brinda utilidad en ambiente multiusuario. ¾ Poseen procesadores muy poderosos capaces de controlar un gran numero de terminales y capacidades de almacenamiento que sobrepasan los GigaBytes. ¾ Obtienen gran integración de subsistemas de información en una base de datos única.
¾ No están atados a un solo tipo de hardware propietario. ¾ Poseen un ambiente integrado de información. ¾ Ofrecen flexibilidad en los lenguajes de programación.
Beneficios al Usuario ¾ Mayor provecho de tecnología. ¾ Múltiples proveedores de hardware y software. ¾ Ambiente estándar de aplicaciones. ¾ Una mayor protección de la inversión en equipos de cómputo. ¾ Más disponibilidad de aplicaciones.
Elementos de Vital Importancia en un Sistema Abierto
Interoperabilidad. Esta característica permite operar entre equipos de arquitecturas diferentes, no importando su fabricante, ofrece la ventaja del uso de distintos periférico, así mismo permite la ejecución de aplicaciones típicas tanto orientadas a ambientes comerciales multiusuario como a ambientes gráficos.
Portabilidad. Es la capacidad del sistema de correr el mismo software en computadoras con plataformas de hardware distintos entre fabricantes. La portabilidad
de
compatibilidad.
aplicaciones
la
componen:
la
conversión,
portación
y
la
Escalabilidad. Es la habilidad de correr el software en toda plataforma desde un computador de escritorio hasta un mainframe.
3.1.2 SISTEMAS CERRADOS
Estos sistemas están desarrollados por un fabricante sin adherirse a más normas de interoperabilidad o estándares que los que provienen de sus criterios o estrategias de mercado.
En general estos sistemas son cerrados en sí mismos, difícilmente compatibles con productos de otros fabricantes y, en determinados casos, incompatibles con modelos diferentes del mismo suministrador. No gozan de las ventajas potenciales de la interoperabilidad aunque se encuentran plenamente soportados por el fabricante en cuestión, quien a menudo defiende este tipo de sistemas con argumentos de una mayor eficacia en su rendimiento que la que poseen los sistemas "abiertos". Por el contrario, los sistemas cerrados tienen la ventaja de necesitar menos recursos para su mantenimiento, incluso suelen realizarlo los proveedores como parte del contrato de adquisición.
3.1.3 SISTEMAS EXPERTOS
Es aquel que simula el razonamiento humano ayudando al usuario, los cuales pueden recoger y difundir su conocimiento. Para el desarrollo de los sistemas expertos se utilizan lenguajes de ingeniería del conocimiento como los son: ROSIE y ROSS.
ROSIE. Este lenguaje permite al programador describir relaciones complejas y manipularlas simbólica y deductivamente. Además soporta trabajo en redes, trabajo en una forma interactiva, compilada e interpretada y cuenta con una serie de depuradores y herramientas de programación.
ROSS. Es un lenguaje orientado a objeto, y combina la Inteligencia Artificial y los sistemas expertos principalmente en el área de simulaciones. Entre sus ventajas se citan las facilidades para buscar entre objetos y su comportamiento. El programa se desarrolla de una forma que los objetos se comunican mandando mensajes para causar que las reglas o comportamientos apropiados sean ejecutados.
Entre algunos de los tipos de sistemas expertos que se pueden mencionar están: MYCIN. Es un sistema experto para la realización de diagnósticos, su función es la de aconsejar a los médicos en la investigación y determinación de diagnósticos
en el campo de las enfermedades infecciosas de la sangre. El sistema MYCIN, al ser consultado por el médico, solicita primero datos generales sobre el paciente: nombre, edad, síntomas, etc., una vez conocida esta información por parte del sistema, el sistema experto planea unas hipótesis y luego realiza preguntas al usuario con las respuestas que recibe, el MYCIN verifica o rechaza las hipótesis planteadas.
XCON. Es un sistema experto para configuraciones de ordenadores. Según los deseos individuales del cliente se configuran redes de ordenadores.
Ya que el
abanico de productos que se ofrecen en el mercado es muy amplio, la configuración completa y correcta de un sistema de estas características es un problema de gran complejidad. XCON es capaz de comprobar y completar los pedidos entrantes mucho más rápido y mejor que las personas encargadas hasta ahora de esa labor.
Funciones de los Sistemas Expertos:
¾ Pueden conjugarse los componentes solicitados por el cliente de forma conveniente y razonable. ¾ Los componentes de sistema especificados son compatibles y completos.
3.1.4 SISTEMAS DE GESTIÓN DE ARCHIVOS
Es aquel sistema de software que provee servicios a los usuarios y aplicaciones en el uso de archivos.
Objetivos ¾ Cumplir con las necesidades de gestión de datos y con los requisitos del usuario, que incluye el almacenamiento de datos y la capacidad de ejecutar las operaciones. ¾ Optimizar el rendimiento, ambos desde el punto de vista del sistema en términos de productividad global, y como punto de vista del usuario en términos de respuesta. ¾ Para minimizar o eliminar la posibilidad de perdida o destrucción de datos. ¾ Proveer soporte de entrada / salida para múltiples usuarios, en caso de sistemas multiusuarios.
3.1.5 SISTEMAS MULTIUSUARIO
Un sistema multiusuario es un sistema informático que da servicio mediante la utilización compartida de sus recursos a un número concurrente de usuarios.
La elección y dimensionamiento de uno de estos sistemas vendrá determinado por diversos factores: número de usuarios, carga de trabajo, disponibilidad, y tipo de aplicaciones que va a manejar, etc. Por ello los fabricantes intentan adaptar los equipos a las necesidades de los usuarios, ofreciendo una amplia variedad de estos sistemas en el mercado.
Tipo de aplicaciones a las que está orientado
Hoy
en
día
existe
una
amplia
gama
de
sistemas
multifuncionales
(especialmente en los denominados sistemas abiertos) capaces de proporcionar prestaciones satisfactorias en una gran variedad de aplicaciones; sin embargo, en determinadas situaciones, la existencia de factores críticos restrictivos obliga a elegir unos sistemas muy especializados capaces de resolver dichas limitaciones. A grandes rasgos, hay tres grupos de aplicaciones:
Sistemas orientados al proceso de datos y automatización de oficinas: Resuelven los típicos problemas de gestión de una empresa u oficina entre los que se mencionan: nóminas, clientes, facturación, proceso de texto, presentaciones, etc. Requieren compatibilidad con otros sistemas o productos, sobre todo en el entorno de oficinas.
Sistemas orientados al proceso on-line: Sistemas diseñados para resolver consultas o actualizaciones sobre una base de datos en tiempo real.
Sistemas orientados al proceso técnico-científico: se caracterizan por estar especializados en cálculos complejos que requieren gran capacidad de proceso.
3.2 ELABORACIÓN DE UN SISTEMA AUTOMATIZADO
3.2.1 ANÁLISIS DE SISTEMAS
Es el estudio de un sistema actual de Empresa y de Información, la definición de las necesidades y las prioridades manifestadas por los usuarios para la construcción de un nuevo sistema de información. Entre sus sinónimos se incluyen análisis de problemas de empresas, análisis de necesidades y análisis lógico.
Objetivos del Análisis
Identificación de Necesidades. Es el primer paso del análisis del sistema, en este proceso el Analista reúne con el cliente y/o usuario (un representante institucional, departamental o cliente particular), e identifica las metas globales, se analizan las perspectivas del cliente, sus necesidades y requerimientos, sobre la planificación temporal y presupuestal, líneas de mercadeo y otros puntos que puedan ayudar a la identificación y desarrollo del proyecto.
Estudio de Viabilidad.
Viabilidad Operativa. Es una medida del correcto funcionamiento de una posible solución a los problemas dentro de una organización. También es una medida de los sentimientos que despierta un sistema o un proyecto en las personas que en él participan.
Viabilidad Económica. Es una evaluación de los costos de desarrollo, comparados con los ingresos netos o beneficios obtenidos del producto o sistema desarrollado.
Viabilidad Técnica. Es un estudio de funciones, rendimiento y restricciones que puedan afectar la realización de un sistema aceptable.
3.2.2 DISEÑO DE SISTEMAS
El diseño de sistemas se define como el proceso de aplicar ciertas técnicas y principios con el propósito de definir un dispositivo, un proceso o un sistema, con suficientes detalles como para permitir su interpretación y realización física.
Etapas del Diseño de Sistemas
El Diseño de Datos. Transforma el modelo de dominio de la información, creado durante el análisis, en las estructuras de datos necesarios para implementar el software.
El Diseño Arquitectónico. Define la relación entre cada uno de los elementos estructurales del programa.
El Diseño de la Interfaz. Describe como se comunica el software consigo mismo, con los sistemas que operan junto con el y con los operadores y usuarios que lo emplean.
El Diseño de Procedimientos. Transforma elementos de la arquitectura del programa. La importancia del diseño de software se puede definir en una sola palabra, Calidad, dentro del diseño es donde se fomenta la calidad del proyecto. el diseño es la única manera de materializar con precisión los requerimientos del cliente.
Herramientas para el Diseño de Sistemas
Estas apoyan el proceso de formular las características que el sistema debe tener para satisfacer los requerimientos detectados durante las actividades del análisis.
Herramientas de Especificación. Apoyan el proceso de formular las características que debe tener una aplicación, tales como entradas, salidas, procesamiento y especificaciones de control.
Los Diagramas de Flujo de Datos (DFD), nos muestran el flujo de los datos entre los procesos, el almacenamiento de los mismos, lo procesos que los transforman y la información resultante de estos procesos. A través de los DFD se conocen los datos que alimentarán los diferentes procesos del sistema y las operaciones que serán necesarias realizar, para obtener la información deseada.
Herramientas para Presentación. Se utilizan para describir la posición de datos, mensajes y encabezados sobre las pantallas de las terminales, reportes y otros medios de entrada y salida.
Por medio de las herramientas CASE (Ingeniería de Sistemas Asistida por Computadora) y los lenguajes de cuarta generación se pueden elaborar de forma rápida, muestras de las diferentes pantallas de entrada – salida y de los reportes
impresos. Estas herramientas disponen de módulos de diseño para las entradas y salidas, que hacen posible definir las estructuras de las pantallas e informes, los campos que se mostrarán, las reglas de edición y los mensajes; y a su vez pueden ser probadas directamente por los usuarios del sistema y ser modificadas para reflejar sus opiniones.
Herramientas para el Desarrollo de Sistemas. Estas herramientas nos ayudan como analistas a trasladar diseños en aplicaciones funcionales.
A través de los Lenguajes de Programación es posible convertir un diseño en un sistema real de forma sencilla, ya que, estos lenguajes emplean menús y cuadro de diálogos que le permiten a los analistas y programadores definir y cargar las bases de datos, desarrollar las pantallas de las terminales y los informes impresos.
Herramientas para Pruebas. Apoyan la fase de la evaluación de un sistema o de partes del mismo contra las especificaciones. Incluyen facilidades para examinar la correcta operación del sistema así como el grado de perfección alcanzado en comparación con las expectativas.
Los prototipos son la mejor herramienta para la evaluación de un sistema, debido a que estos son un modelo original que sirve de patrón o un ejemplar a escala real y funcional de un sistema en construcción. La elaboración de prototipos permite
a los analistas detectar problemas relativos tanto a los requisitos del sistema como al diseño.
En conclusión un proyecto de desarrollo de un Sistema Automatizado comprende varios componentes o pasos llevados a cabo durante la etapa del análisis, el cual ayuda a traducir las necesidades del cliente en un modelo de sistema que utiliza uno mas de los componentes: Software, Hardware, Personas, Base de Datos, Documentación y Procedimientos.
En una organización ó empresa, el Análisis y Diseño de Sistemas, es el proceso de estudiar su situación con la finalidad de observar como trabaja y decir si es necesario realizar una mejora, el encargado de llevar a cabo estas tareas es el Analista de Sistemas.
3.3 LENGUAJES DE PROGRAMACIÓN
Los lenguajes de programación son un conjunto de reglas, símbolos y palabras especiales que sirven para construir un programa. Y pueden dividirse en:
3.3.1 LENGUAJE MAQUINA
Los lenguajes máquina son aquellos cuyas instrucciones son directamente entendibles por la máquina sin la necesidad de traducción alguna., ya que sus instrucciones son cadenas binarias (ceros y unos ) que especifican una operación y las posiciones o direcciones de memoria implicadas en la operación. Las instrucciones en lenguaje de máquina dependen del hardware de la computadora y, por tanto, diferirán de una computadora a otra.
3.3.2 LENGUAJE ENSAMBLADOR
Las instrucciones en lenguaje ensamblador se escriben en códigos alfabéticos conocidos como mnemotécnicos (generalmente, abreviaturas de palabras inglesas). Las palabras mnemotécnicas son mucho más fáciles de recordar que las secuencias de ceros y unos. Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora, en esto se diferencia esencialmente del lenguaje máquina, sino que requiere una fase de traducción al lenguaje máquina. El programa original se denomina programa fuente y el programa traducido en lenguaje máquina se llama programa objeto. El traductor de programas fuente a objeto es un programa llamado ensamblador (assembler) y existe en casi todas las computadoras.
3.3.3 LENGUAJES DE ALTO NIVEL
Son los mas utilizados como lenguaje de programación. Aunque no son fundamentalmente declarativos, estos lenguajes permiten que los algoritmos se expresen en un nivel y estilo de escritura fácilmente legible y comprensible por otros programadores. Además, los lenguajes de alto nivel tienen normalmente las características de Transportabilidad. Es decir, están implementadas sobre varias maquinas de forma que un programa puede ser fácilmente Transportado de una maquina a otra sin una revisión sustancial.
3.3.4 LENGUAJES DECLARATIVOS
Son los mas parecidos al castellano o inglés en su potencia expresiva y funcionalidad están en el nivel mas alto respecto a los otros. Son fundamentalmente lenguajes de órdenes, dominados por sentencias que expresan "Lo que hay que hacer" en vez de "Cómo hacerlo".