• No se han encontrado resultados

SISTEMA DE REPORTES PARA APOYO INFORMÁTICO EN LA ALDF

N/A
N/A
Protected

Academic year: 2017

Share "SISTEMA DE REPORTES PARA APOYO INFORMÁTICO EN LA ALDF"

Copied!
148
0
0

Texto completo

(1)

T E S I S

“I“TEMA DE REPORTES PARA APOYO INFORMÁTICO EN LA ALDF

Que para obtener el grado de:

INGENIERO

EN COMUNICACIONES Y ELECTRÓNICA

P R E S E N T A:

Gómez Garfias Daniel

ASESORES:

ING. ARMANDO MANCILLA LEÓN

M. en C. ROBERTO GALICIA GALICIA

México, D. F. Mayo del 2013.

(2)
(3)

ii

Agradecimientos

Quiero agradecer principalmente a la vida, por haberme permitido realizar esta tesis como

culminación de mi carrera.

Igualmente quiero agradecer a las personas que siempre estuvieron en el transcurso de este

camino que estoy concluyendo.

Les agradezco infinitamente a estas dos personas por ser quienes me han guiado a lo largo

de mi vida, llenándome de valores y amor. Brindándome los recursos, apoyándome y

aconsejándome siempre.

A mi papá, el señor Lorenzo Gómez Monroy, por ofrecerme todo su apoyo y darme las

facilidades económicas para realizar este sueño, además de haber sacrificado tantas cosas

por brindarme esta posibilidad y estar en todo momento acompañándome.

A mi mamá, la señora Teresa de Jesús Garfias Basurto, por estar siempre al pendiente de

mí a lo largo de todos mis años de estudio, motivándome y dándome todo el apoyo para

continuar y llegar hasta este momento.

A mis 3 hermanos, Fernando, Enrique y Laura, por esa motivación que me brindaron,

apoyándome siempre de una u otra manera, con consejos e ideas que siempre me aportaron.

Buscando para mí siempre las mejores oportunidades y mi bienestar para lograr mis metas.

A todos mis familiares y amigos que han estado presentes a lo largo de mi carrera,

alentándome a ser mejor cada día.

A todos los profesores que me encontré a lo largo de mis estudios, los cuales me enseñaron y

me formaron para llegar a estas alturas. En especial a mis asesores, Ing. Armando

Mancilla León y al M. en C. Roberto Galicia Galicia, que me apoyaron en la realización

(4)

iii

Índice de temas

Tabla de contenido

Agradecimientos ... ii

Índice de temas ... iii

Índice de Figuras ... 6

Índice de Capturas de pantalla ... 8

Objetivos ... 9

Objetivos Generales ... 9

Objetivos Particulares ... 9

Introducción ... 10

Capítulo 1 Planteamiento del Problema ... 11

1.1- Alcances y análisis del proyecto ... 12

1.2- Justificación ... 13

1.3- Beneficios esperados ... 14

Capítulo 2 Estado del Arte ... 15

2.1- Tipos de Nubes ... 15

2.2- Tipos de servicios ... 16

2.2.1- Ventajas... 16

2.2.2- Desventajas ... 17

2.3- Windows Azure Platform ... 17

2.3.1- Windows Azure ... 17

2.3.2- Windows Azure Storage ... 18

2.3.3- SQL Azure ... 18

2.3.4- SQL Azure Data Sync ... 18

2.3.5- Windows Azure AppFabric ... 19

2.3.6- Windows Azure Platform Appliance ... 19

Capítulo 3 Marco Teórico ... 20

3.1- Antecedentes ... 20

3.2- Servicios de Cómputo ... 23

(5)

iv

3.2.2- Problemas de Hardware ... 26

3.2.3- Problemas de Software ... 27

3.3- Sistemas Operativos ... 28

3.3.1- Clasificación de los sistemas operativos ... 28

3.3.2- Evolución de los Sistemas Operativos ... 31

3.4- Lenguajes de Programación ... 35

3.4.1- Clasificación de los lenguajes de programación ... 35

3.4.2- Programación Estructurada ... 38

3.4.3- Programación Orientada a Objetos ... 39

3.5- Bases de datos ... 40

3.5.1- Sistemas Manejadores de Bases de Datos ... 41

3.5.2- Tipos de Campos ... 41

3.5.3- Ventajas de las Bases de Datos ... 42

3.5.4- Desventajas de las bases de datos ... 44

Capítulo 4 Desarrollo del sistema ... 45

4.1- Estructura del sistema ... 45

4.2- Descripción del Funcionamiento... 51

4.2.1- Crear reporte ... 51

4.2.2- Consultar reporte ... 52

4.2.3- Concluir Reporte ... 52

4.2.4- Informe de actividades... 52

4.2.5- Administración ... 53

4.3- Casos de uso ... 56

4.3.1- Caso de uso general del sistema ... 56

4.3.2- Sección Crear Reporte ... 57

4.3.3- Sección Consultar reporte ... 58

4.3.4- Sección Concluir reporte ... 59

4.3.5- Sección Informe de actividades ... 61

4.3.6- Sección Administración ... 63

4.4- PDF ... 64

(6)

v

4.4.2- Creación de PDF ... 65

4.4.3- Modificación de PDF ... 69

4.5- Base de datos ... 69

4.5.1- Diseño de la base de datos ... 69

4.5.2- Diagrama relacional ... 71

4.5.3- Descripción de datos ... 72

4.6- Costo del sistema ... 76

Capítulo 5 Resultados ... 78

5.1- Crear reporte ... 78

5.2- Consultar reporte ... 81

5.3- Concluir reporte ... 84

5.4- Informe de actividad ... 87

5.5- Administración ... 89

Conclusiones ... 96

Índice Alfabético ... 97

Referencias Bibliográficas ... 99

Anexo A Clase Form 1 ... 100

Anexo B Clase CreaPDF ... 117

Anexo C Clase ConcPDF ... 120

Anexo D Clase InformePDF... 122

Anexo E Clase BDConsul ... 126

Anexo F Clase BDInser ... 132

Anexo G Clase BDModif ... 135

Anexo H Clase BDElim ... 138

(7)

6

Índice de Figuras

Figura 1 Sistema Operativo Monotarea ... 29

Figura 2 Sistema Operativo Multitarea ... 30

Figura 3 Distribución de capas del sistema ... 45

Figura 4 Capa de Presentación: Form1 ... 46

Figura 5 Capa de Negocio: Clase CreaPDF ... 47

Figura 6 Capa de Negocio: Clase ConcPDF ... 47

Figura 7 Capa de Negocio: Clase InformePDF ... 47

Figura 8 Capa de Datos: Clase BDConsul ... 48

Figura 9 Capa de Datos: Clase BDInforme ... 49

Figura 10 Capa de Datos: Clase BDInser ... 50

Figura 11 Capa de Datos: Clase BDModif ... 50

Figura 12 Capa de Datos: Clase BDElim ... 51

Figura 13 Diagrama de uso general del sistema ... 56

Figura 14 Tabla de análisis de eventos para la creación de reportes ... 57

Figura 15 Diagrama de flujo de eventos, sección Crear Reporte ... 58

Figura 16 Tabla de análisis de eventos para consultar de reportes. ... 58

Figura 17 Diagrama de flujo de eventos, sección Consultar reporte ... 59

Figura 18 Tabla de análisis de eventos para concluir reporte... 60

Figura 19 Diagrama de flujo de eventos, sección concluir reporte... 61

Figura 20 Tabla de análisis de eventos para informe de actividades ... 62

Figura 21 Diagrama de flujo de eventos, sección informe de actividades ... 62

Figura 22 Tabla de análisis de eventos para administración ... 63

Figura 23 Diagrama de flujo de eventos, sección administración ... 64

Figura 24 Librería PdfSharp.dll ... 65

Figura 25 Tabla tipo de fuente para PDF ... 66

Figura 26 Tabla de parámetros para una imagen ... 67

Figura 27 Tabla de parámetros para una línea ... 67

Figura 28 Tabla de parámetros para un rectángulo ... 68

Figura 29 Tabla de parámetros para texto ... 68

Figura 30 Diagrama relacional de la base de datos... 71

Figura 31 Tabla admins ... 72

Figura 32 Descripción de campos, tabla admins ... 72

Figura 33 Tabla equipos ... 72

Figura 34 Descripción de campos, tabla equipos ... 73

Figura 35 Tabla reportes ... 73

Figura 36 Descripción de campos, tabla reportes ... 74

Figura 37 Tabla resguardos ... 74

Figura 38 Descripción de campos, tabla resguardos ... 74

(8)
(9)

8

Índice de Capturas de pantalla

Captura de pantalla 1 Sección Crear reporte ... 78

Captura de pantalla 2 Llenado de formulario de reporte ... 79

Captura de pantalla 3 Confirmar crear reporte ... 79

Captura de pantalla 4 Reporte en formato PDF ... 80

Captura de pantalla 5 Sección Consultar reporte ... 81

Captu a de pa talla 6 Op ió Bus a , se ió o sultar reporte ... 82

Captura de pantalla 7 Búsqueda de reportes pendientes, por rango de fechas ... 82

Captura de pantalla 8 Búsqueda de reportes pendientes, por responsable ... 83

Captura de pantalla 9 Búsqueda de reportes, por rango de fechas y responsable ... 83

Captura de pantalla 10 Sección Concluir reporte ... 84

Captura de pantalla 11 Información del reporte ... 84

Captura de pantalla 12 Validación de la fecha y hora de solución ... 85

Captura de pantalla 13 Verificación de seleccionar un nuevo estado para el reporte ... 85

Captura de pantalla 14 Archivo PDF modificado con la solución del problema ... 86

Captura de pantalla 15 Sección Informe de actividad ... 87

Captura de pantalla 16 Informe de reportes generado por el sistema ... 87

Captura de pantalla 17 Informe de actividades en formato PDF ... 88

Captura de pantalla 18 Sección Administración ... 89

Captura de pantalla 19 Opciones de gestión, sección Administración ... 90

Captura de pantalla 20 Agregar un nuevo administrador ... 90

Captura de pantalla 21 Agregar un nuevo responsable ... 91

Captura de pantalla 22Agregar un nuevo usuario ... 91

Captura de pantalla 23 Modificar administrador ... 92

Captura de pantalla 24 Modificar responsable ... 92

Captura de pantalla 25 Modificar usuario ... 93

Captura de pantalla 26 Eliminar administrador ... 94

Captura de pantalla 27 Eliminar responsable ... 94

Captura de pantalla 28 Eliminar usuario ... 95

(10)

9

Objetivos

Objetivos Generales

Diseñar una aplicación para Windows, mediante la cual pueda realizarse el control eficiente de reportes de servicio en el área de informática de la Asamble Legislativa del Distrito Federal (ALDF), generados por los usuarios de esta institución para realizar un soporte más adecuado.

Objetivos Particulares

Diseñar una base de datos para llevar un control más eficiente de los reportes que levantan los usuarios, y que se les brinde soporte informático, haciendo más eficiente el servicio.

(11)

10

Introducción

Sistema

Es un conjunto de elementos o partes organizadas y relacionadas que interactúan entre sí para lograr un objetivo. Los sistemas reciben datos (entradas), energía o materia del ambiente, y proveen información (salidas), energía o materia. Un sistema puede ser físico o concreto (una computadora, un televisor, un humano) o puede ser abstracto o conceptual (un software).

Reporte

Documento que presenta de manera Estructurada y/o Resumida, datos relevantes guardados o generados para dar información acerca de algún tema, de tal manera que se vuelvan útiles para los fines del área de informática.

Soporte

Grupo de servicios que proveen asistencia para hardware y software, que sirven para ayudar a resolver los problemas que puedan presentarse a los usuarios, mientras hacen uso de servicios, programas o dispositivos.

Los reportes antiguamente y en algunos lugares en la actualidad, aún son realizados mediante un formato a mano, y en papel, los cuales pueden ser vulnerables a pérdidas y en caso de ser necesario tener el informe de este reporte no encontrarlo y no poder contar con la información requerida.

(12)

11

Capítulo 1

Planteamiento del Problema

En el área de soporte, de la Dirección General de Informática de la ALDF, el servicio que se brinda a los usuarios, para apoyarlos en sus problemas relacionados con el área de informática, se hace por medio de reportes, en los cuales se incluye la información del usuario que requiere apoyo, cómo también la breve descripción para lo que pide asistencia, y datos necesarios sobre fecha, hora y número de reporte que se está generando para llevar un control de los mismos, y poder tener el conocimiento del problema para el que se pide apoyo, es decir, saber si se solucionó y de qué forma se hizo, o si el problema requiere de aprobación de mandos superiores y saber que el reporte se encuentra en espera de la misma.

Los reportes que se generan, son necesarios para poder justificar el trabajo que se realiza por parte del área de informática, y con ellos tener la forma de demostrar que se atendió satisfactoriamente el problema al usuario.

Otra de las tareas que tiene el área de informática, es llevar la gestión de los usuarios que laboran en la ALDF, a cada uno de los empleados se les asigna un nombre de usuario único, y por medio de la gestión de usuarios, cada uno, además de su nombre de usuario y nombre completo, lleva los datos necesarios para poder ubicarlos en el área que les corresponde.

(13)

12

1.1- Alcances y análisis del proyecto

Se pretenden los siguientes alcances, con el desarrollo de un sistema de información, el cual está enfocado al área de soporte de la Dirección General de Informática, de la ALDF:

 Mantener un control sobre los reportes que se generan, con la opción de poder consultar cualquiera de ellos y tener la información del mismo almacenada en una base de datos.  Crear un archivo en PDF del reporte que se genera, almacenando este archivo para futuras

impresiones.

 Gestionar los usuarios, administradores y responsables de toda la ALDF, por medio de una sesión específica de administrador, protegida por nombre de usuario y contraseña.

(14)

13

1.2- Justificación

La administración maneja una gran cantidad de información en todas las áreas, es decir, datos sobre sus áreas, actividades datos personales de los 825 usuarios aproximadamente, la misma información requiere de orden y almacenamiento, una de las formas de almacenamiento muy usual y útil en la actualidad es mediante sistemas de cómputo.

(15)

14

1.3- Beneficios esperados

EL desarrollo de esta aplicación presentará beneficios para el área de soporte de la Dirección General de Informática de la ALDF, permitiendo llevar un control en las tareas diarias del área de soporte, así como ayudando a dar un mejor servicio a los usuarios, entre los cuales se puede destacar lo siguiente:

 El sistema de información tendrá las funciones necesarias para ejecutar las tareas correspondientes a esta área.

 Constará de interfaces de fácil comprensión para los usuarios.

 Tendrá la información disponible para su consulta, así como los archivos de los reportes que se han generado.

(16)

15

Capítulo 2

Estado del Arte

En estos últimos años se ha hablado mucho acerca del cloud computing (Cómputo en la Nube), el cambio que esto supone en nuestra forma de desarrollar y gestionar nuestras aplicaciones, utilizando este término para referirse a aquellos servicios alojados en la red.

Por ello se puede decir que la palabra nube, sería equivalente a lo que se conoce como Internet.

2.1- Tipos de Nubes

Actualmente existen 3 tipos de nubes:

Nubes públicas:

Son aquellas nubes administradas por el proveedor del servicio, la ventaja de éstas, es que no se requiere de una inversión inicial en cuanto a la infraestructura, para comenzar a utilizarlas y no suponen un gasto de mantenimiento, para el cliente que la utiliza. Estas nubes son compartidas con otros clientes dentro de los centros de datos del proveedor.

Nubes privadas:

A diferencia de las públicas, las nubes privadas, son administradas por el cliente para obtener un mayor control. Debido a esto, supone una inversión inicial en la infraestructura, ya que esta será alojada en las instalaciones del cliente (on-premise). Aunque los gastos de mantenimiento corren por cuenta del cliente, la ventaja principal que presenta este tipo de nubes, es que el cliente disfruta de una nube de su propiedad, donde él es el único que reside en ella.

Nubes híbridas:

(17)

16

2.2- Tipos de servicios

Dependiendo de la necesidad que se requiera cubrir, existen distintos tipos de servicios dentro del cómputo en la nube:

Infrastructure as a Service

(IaaS

Infraestructura como servicio)

:

Este tipo de servicio, ofrece la infraestructura necesaria para poder subir el entorno y además ejecutar el software propietario en ella. Los dos pilares fundamentales, son la computación y el almacenamiento como servicio. En ocasiones, se refieren a IaaS como Hardware as a Service (HaaS – Hardware como servicio).

Platform as a Service

(PaaS

Plataforma como servicio)

:

Cuando se habla de la plataforma dentro de la nube, el servicio que ofrece, es el entorno donde se puede desplegar directamente las aplicaciones.

Software as a Service

(SaaS

Software como servicio)

:

El último servicio, es aquel transformado en aplicaciones finales proporcionadas por el proveedor, listas para ser usadas por los clientes. Dentro de este tipo de servicio, se asegura al cliente el mantenimiento, el soporte y la disponibilidad del Software.

2.2.1- Ventajas

Como ventajas de este modelo de administración y desarrollo, se puede destacar el ahorro de costos como la más importante, además de la alta escalabilidad, fiabilidad, así como la abstracción del mantenimiento del hardware, hasta ahora algo novedoso en las grandes empresas con su propio departamento de Information technology (TI – Tecnología de la información).

El concepto que mejor define a los entornos de la nube es el término Pay as you go (pago por uso), el cual significa que solamente se paga por lo que se está utilizando, y no una cuota fija como, por ejemplo, en los servicios de hosting (alojamiento) tradicionales.

(18)

17

2.2.2- Desventajas

Existen algunos puntos que pueden ser cruciales a la hora de emprender el salto a la nube:

En primer lugar, existe la percepción de inseguridad al desplazar la información fuera del alcance físico del cliente, lo cual puede manifestar un sentimiento de vulnerabilidad.

Otro de los inconvenientes, es la dependencia de un proveedor de Internet, debido a la localización de los servicios, se ésta atado a esta necesidad, por lo que es recomendable disponer de una segunda conexión, en caso de fallo de la principal.

2.3- Windows Azure Platform

Windows Azure Platform, se trata de la apuesta de Microsoft por el cómputo en la nube, con este nombre se ofrecen diferentes servicios, con el fin de proporcionar a sus clientes, los recursos necesarios para que sus aplicaciones y sus datos sean trasladados a la nube.

Teniendo en cuenta que uno de los primeros requisitos para comenzar a trabajar con la nube, es obtener una suscripción.

Servicios que ofrece la plataforma

Los servicios que ofrece Windows Azure Platform a sus clientes, son los siguientes:

2.3.1- Windows Azure

A pesar de los términos semejantes entre Windows Azure Platform y Windows Azure, son totalmente distintos. Windows Azure Platform se refiere a la plataforma en su conjunto, englobando todos los servicios que ofrece, y por otro lado, Windows Azure, habla de un servicio de computación en específico que brinda la plataforma.

Como ventaja fundamental de contar con un servicio de computación, es tener la posibilidad de centrarse completamente en los desarrollos que se realiza por parte del usuario, debido a la abstracción más que parcial, de la administración de la plataforma en la que se aloja la aplicación, es decir: mantenimiento de los servidores, actualizaciones, instalación y configuración de sistemas operativos, entre algunas otras actividades que causen no atender en su totalidad el desarrollo de la aplicación.

(19)

18

2.3.2- Windows Azure Storage

El servicio de Windows Azure Storage, proporciona almacenamiento no relacional en la nube, este servicio a su vez se divide en cuatro tipos de almacenamiento:

 Binary Large Object (BLOB – Objetos Binarios Grandes): este servicio es utilizado para almacenar archivos binarios de gran tamaño, como ejemplo podemos tomar videos, imágenes o respaldos. Con un tamaño máximo de 1 TB por BLOB.

 Table Service (Servicio de tabla): Aquí se puede guardar información de una forma estructurada, aunque no relacional.

 Queue Service (Servicio de cola): Permite el almacenamiento de mensajes no superiores a 8 Kb con el fin de lograr una comunicación entre aplicaciones.

 Windows Azure Drive: Permite a las aplicaciones en Windows Azure, montar un disco duro virtual NTFS, que será almacenado en BLOBS, permitiendo instancias de lectura/escritura y sólo lectura.

2.3.3- SQL Azure

Así como es necesario un entorno para alojar las aplicaciones, también lo es el disponer de un sistema para almacenar los datos. Dentro de este contexto, Microsoft ha desarrollado una nueva base de datos, llamada SQL Azure, basada en su producto SQL Server, con una funcionalidad similar.

Las ventajas más destacadas de esta base de datos, son su alta disponibilidad, alta escalabilidad y la capacidad de ser multi-tenant (Múltiples inquilinos), es decir, pensada para trabajar con distintos clientes a la vez.

En SQL Azure, no es necesario aprender un nuevo lenguaje para realizar consultas, sino que se puede utilizar T-SQL de la misma forma que se haría con SQL Server, así como también se puede hacer uso de SQL Server Management Studio, para interactuar con las bases de datos alojadas en la nube.

Existen diferentes tamaños de bases de datos, con un mínimo de 1Gb y un máximo de 50 Gb.

2.3.4- SQL Azure Data Sync

(20)

19 Los escenarios más comunes de beneficios de este servicio, son:

 Sincronización de bases de datos que estén en la nube con las que están en las instalaciones.

 Extensión de la información de bases de datos SQL Azure a otras localizaciones, para mejorar el tiempo de latencia.

2.3.5- Windows Azure AppFabric

Windows Azure AppFabric, ofrece un alto nivel de abstracción de la capa de seguridad, reduciendo la complejidad en las aplicaciones desarrolladas por los usuarios.

Este servicio consta de 5 funcionalidades diferentes:

 Service Bus (Bus de servicio): Proporciona una comunicación segura entre aplicaciones, que cuentan con la capacidad de atravesar Firewalls o dispositivos NAT.

 Acces Control (Control de acceso): Se trata de un servicio que facilita la autenticación de aplicaciones, incluyendo Windows Live, Google, Yahoo y Facebook.

 Caching (Almacenamiento de caché): Proporcionará un sistema de caché distribuido para Windows Azure y SQL Azure de alta velocidad y disponibilidad, además de escalable (se podrá aumentar o disminuir la caché en función de las necesidades del usuario). Cabe mencionar que esta funcionalidad no está disponible para contratación por el momento.  Integration (Integración): También se podrá disfrutar de este servicio, con el que será

posible integrar aplicaciones dentro de la plataforma Windows Azure, con otras expuestas en SaaS de terceros. Esta funcionalidad no se encuentra disponible aún.

 Composite App (Aplicación compuesta): Es la funcionalidad de automatización del despliegue y la administración, sin la necesidad de generar manuales para la puesta en producción. Esta funcionalidad aún no se encuentra disponible.

2.3.6- Windows Azure Platform Appliance

(21)

20

Capítulo 3

Marco Teórico

3.1- Antecedentes

Los Sistemas de Información fueron considerados inicialmente, como un elemento que podía proporcionar ahorro de costos en las organizaciones, en la medida que se podía dar soporte a actividades operativas, en las que la información constituía el principal elemento implicado. En la década de los setenta, según Richard Nolan, conocido autor y profesor de la Escuela de Negocios de Harvard, la función de la Informática en las organizaciones evoluciona a través de ciertas etapas de crecimiento:

 Comienza con la adquisición de la primera computadora, y normalmente se justifica por el ahorro de mano de obra y el exceso de papeles, implantando aplicaciones, para ayuda de las nóminas o la contabilidad.

 La función de los sistemas de información suele ser manejada por una sola persona, que no necesariamente posee una preparación formal en el área de computación.

 El personal encargado de ésta área, consta a lo más de un operador y/o un programador, este último puede estar bajo el régimen de honorarios, o bien, se puede recibir el soporte de algún fabricante de programas de aplicación. Esta etapa termina con la implantación exitosa del primer sistema de información.

Cabe recalcar que algunas organizaciones pueden vivir varias etapas de inicio, en las que la resistencia al cambio, por parte de los primeros usuarios involucrados, aborta el intento de introducir el computador a la empresa.

Etapa de contagio o expansión

Los aspectos sobresalientes que permiten diagnosticar que una empresa se encuentra en esta etapa, son:

 Se inicia con la implantación exitosa del primer sistema de información en la organización, como consecuencia de lo anterior, el primer ejecutivo usuario, se transforma en el paradigma o persona que se habrá de imitar.

 Las aplicaciones que se implantan en esta etapa, son el resto de los que no se desarrollan en la etapa de inicio, tales como facturación, inventarios, control de proveedores, etc.  El pequeño departamento es promovido a un mayor rango, donde depende de la Gerencia

(22)

21  Se inicia la contratación de personal especializado, generando la creación de puestos, tales como programador, jefe de desarrollo, jefe de soporte técnico, analista de sistemas, etc.  Las aplicaciones desarrolladas carecen de comunicación automática entre ellas, de tal

forma que los resultados que produce un sistema, se tiene que alimentar en forma manual a otro sistema.

 Los gastos por concepto de sistemas empiezan a crecer en forma importante, lo que hace iniciar la racionalización en el uso de recursos computacionales, dentro de la organización, generando un problema para la implantación de sistemas de información.

Este problema y el inicio de su solución marcan el paso a la siguiente etapa.

Etapa de control o formalización

Para identificar el paso de una empresa por esta etapa, es necesario considerar los siguientes elementos:

 Esta etapa se inicia con la necesidad de controlar el uso de los recursos computacionales.  Las aplicaciones están orientadas a facilitar el control de las operaciones de la

organización, para hacerlas más eficientes.

 El departamento de sistemas de la organización suele ubicarse en una posición gerencial, esto depende del organigrama de la dirección de administración.

 La función administrativa que se desarrolla dentro del área de informática, se orienta al control administrativo y a la justificación económica de las aplicaciones a desarrollar. Nace la necesidad de establecer criterios, para las prioridades en el desarrollo de nuevas aplicaciones.

 En esta etapa, se inicia el desarrollo y la implementación de estándares dentro del área de informática, para llevar un mejor control de la misma, generando estándares de documentación, control de proyectos, desarrollo y diseño de sistemas, auditoría de sistemas y programación.

 Se integran a la organización del área de sistemas, personal con habilidades administrativas y preparados técnicamente.

Etapa de integración.

Esta etapa consta de las siguientes características:

 Las nuevas tecnologías relacionadas con base de datos, sistemas administradores de bases de datos y lenguajes de cuarta generación, hicieron posible la integración.

(23)

22 hicieran su propio trabajo, y no tuvieran que esperar a que se cumplieran sus propuestas de sistemas.

 El costo de equipo y de software disminuyó, por lo cual estuvo al alcance de más usuarios.

Etapa de administración de datos

Entre las características que destacan en esta etapa, están las siguientes:

 En el área de informática, los sistemas de información reconocen que la información, es un recurso muy valioso y debe ser accesible para todos los usuarios.

 Para poder cumplir con lo anterior, es necesario administrar los datos en forma apropiada, almacenarlos y mantenerlos en forma adecuada, para que los usuarios pueda usar y compartir este recurso.

 El usuario que maneja la información, adquiere la responsabilidad de la integridad de la misma, debido a esto, debe de manejar niveles de acceso diferentes.

Etapa de madurez

Entre los aspectos sobresalientes que indican que una empresa se encuentra en esta etapa, se encuentran los siguientes:

 En esta etapa, la informática dentro de una organización, se encuentra definida como una función básica, ubicada en los primeros niveles del organigrama.

 Se desarrollan aplicaciones que proporcionan información, para decisiones de alta administración y aplicaciones de carácter estratégico, como lo pueden ser los sistemas basados en conocimiento y sistemas expertos.

 Se cuenta con aplicaciones desarrolladas en la tecnología de bases de datos, y se logra la integración de redes de comunicación, con terminales en lugares remotos.

En los inicios del siglo XXI, las organizaciones se enfrentan a nuevos escenarios, caracterizados por la globalización e internacionalización de los negocios, este nuevo contexto impone a las organizaciones, la necesidad de disponer de la adecuada infraestructura de comunicación y de sistemas de información, que les permita obtener datos necesarios, a fin de conseguir un conocimiento real y suficiente del entorno, que afectará sus procesos de toma de decisiones y planificación.

La constante evolución de la tecnología, junto con la aparición de nuevas y más complejas formas de utilización de las mismas, implica que, más que nunca, las tecnologías de la información ofrecen extraordinarias oportunidades, a la vez que elevados costos e importantes riesgos. Estos costos, riesgos y oportunidades, hacen que las tecnologías de la información sean un elemento

(24)

23

3.2- Servicios de Cómputo

Los servicios de cómputo están constituidos por servicios, tales como: instalar, poner en marcha y del mantenimiento de hardware y software, permitiendo de esta manera la operatividad de los sistemas y buscando de esta forma, que la producción y el rendimiento del lugar sea de completa eficiencia.

Para llevar a cabo el correcto funcionamiento de los servicios de cómputo, se deben considerar varios factores:

 Se debe vigilar el mantenimiento sistemático del equipo de cómputo, para lograr que el servicio sea congruente con los horarios establecidos.

 La coordinación de la instalación y cambios físicos de equipo de cómputo, líneas de comunicación y terminales, garantizando que sean confiables en seguridad para evitar accidentes o fallas constantes.

 Mantener un control de calidad, registro histórico de procesos de reparación y distribución de resultados a las distintas áreas de usuarios.

 Verificar que los resultados de los procesos reúnan las características de calidad, orden, presentación y veracidad.

 Preparar y distribuir los resultados, para que el usuario reciba a tiempo los resultados del sistema en operación, llevar el registro de lo que se recibe y distribuye.

 Realizar la instalación, puesta en marcha; tener disponibilidad continua del software y las bases de datos requeridas para la función del equipo de cómputo, así como también del sistema operativo y paquetes de apoyo, para las diferentes tareas que requiera el usuario.

3.2.1- Tipos de mantenimiento

Mantenimiento Preventivo

(25)

24

Mantenimiento Detectivo

El tipo de mantenimiento detectivo, se utiliza para detectar posibles fallas o conflictos que pueden presentarse en el hardware o el software.

Para la prestación de este servicio, se debe contar con herramientas de software de última tecnología, para obtener un diagnóstico preciso y acertado del funcionamiento actual de los equipos de cómputo.

Mantenimiento Correctivo

Este tipo de mantenimiento también es de o i ado Ma te i ie to Rea ti o , tie e luga luego que ocurre una falla o avería, es decir, sólo actuará cuando se presenta un error en el sistema. En este caso, si no se produce ninguna falla, el mantenimiento será nulo, por lo que se tendrá que esperar hasta que se presente la falla, para poder tomar medidas de corrección de errores.

Las implicaciones de llegar a las instancias del mantenimiento correctivo y tener un equipo fallando o sin operar, repercute en:

 Que afecte las cadenas productivas, debido a esto, los ciclos productivos posteriores se verán parados a la espera de la corrección de la etapa anterior.

 Que presente costos por reparación y refacciones de los equipos, que no están presupuestados, por lo que se podría dar el caso que por falta de recursos económicos, no se pudieran adquirir las refacciones en el momento deseado.

Mantenimiento Proactivo

Este mantenimiento tiene como fundamento los principios de solidaridad, colaboración, iniciativa propia, sensibilización, trabajo en equipo, de tal modo que todos los involucrados directa o indirectamente en la gestión del mantenimiento, deben conocer la problemática del mantenimiento.

(26)

25

Mantenimiento Activo

Este mantenimiento, se da en el momento en que un usuario llama cuando tiene problemas de mantenimiento, y un encargado del mantenimiento acude a solucionar los problemas con rapidez. Mu has e es, ua do pasa algo , el problema ha ocasionado ya un daño irreparable, a los equipos de cómputo, o a los programas o en tiempo perdido, sin poder trabajar. Lo que pretende el mantenimiento activo es, no sólo atender los problemas de los usuarios de los equipos de cómputo cuando éstos surgen, sino además, llevar a cabo acciones de prevención, control, asesoramiento, etc. Con este tipo de mantenimiento lo que se consigue, es evitar muchos problemas antes de que ocurran.

Mantenimiento Mejorativo

En el Mantenimiento mejorativo se presenta la alternativa de Mejora , ya sea en el aspecto de diseño de una pieza, incluyendo el uso de un material de mejor calidad y resistencia, o ya sea en las nuevas y mejores condiciones de rendimiento, en que debe funcionar la pieza o la máquina, hablando en forma global.

Mantenimiento Predictivo

Consiste en determinar en todo instante, la condición técnica real del equipo de cómputo examinado, mientras éste se encuentre en pleno funcionamiento, para este tipo de mantenimiento, se hace uso de un programa sistemático de mediciones de los parámetros más importantes del equipo. Tiene como objetivo disminuir las paradas por mantenimientos correctivos, y de esta manera, minimizar los costos por mantenimiento y por no producción. La implementación de este tipo de métodos requiere de inversión en equipos, en instrumentos y en contratación de personal calificado.

Mantenimiento Evolutivo

(27)

26

Mantenimiento Adaptativo

Este tipo de mantenimiento se basa en los cambios, en cualquiera de los elementos que conforman el entorno sobre el que funcionan los programas, los servidores de aplicaciones, servidores Web e incluso las interfaces con terceros sistemas. Si una aplicación se comunica con otra por servicios Web, y ésta modifica la interfaz, el cambio a realizar en la aplicación es de carácter adaptativo, ya que el requisito funcional, el cual es de comunicarse con ese tercer sistema, no ha cambiado.

3.2.2- Problemas de Hardware

Vandalismo

El vandalismo, se refiere a la destrucción del equipo por parte de usuarios, principalmente en centros de cómputo ubicados en escuelas.

Obsolescencia de equipos

Debido al acelerado proceso en la innovación de los equipos, es de particular importancia para los usuarios de los equipos de cómputo, y se vuelve un problema, ya que es necesario estar actualizando tanto el software como el hardware. Discos duros más veloces y de mayor capacidad, periféricos que amplían su rango de acción, impresoras con mejor calidad de impresión o monitores de mejor calidad de imagen.

Consumibles

La colocación estratégica y el suministro adecuado de los recursos, que requieren las computadoras para su funcionamiento, es de vital importancia y se vuelve un problema, sobre todo de tiempo, cuando no están disponibles en el momento y en el lugar requerido, entre algunos ejemplos de estos consumibles, pueden estar: Tóner, papel, cables, cintas o disquetes.

Mantenimiento inadecuado

(28)

27

3.2.3- Problemas de Software

Accesos no autorizados

En la mayoría de las organizaciones, uno de los recursos más valiosos es la información, la información va a estar expuesta a actos, tanto intencionales, como por errores humanos un ejemplo de ello puede ser el borrado y la copia no autorizada de información, por lo que se hace necesario que el usuario del equipo de cómputo, propietario de esa información, adopte medidas de protección contra accesos no autorizados.

Existen algunas formas, con las cuales se ofrece la posibilidad de habilitar cierto grado de protección para la información, entre ellas se puede encontrar dos opciones principales:

Clave de autorización de encendido

Esta es una opción de protección disponible en todos los equipos de cómputo, se habilita al momento de configurar el equipo y es una clave que será solicitada, como primer paso de inicialización después de encender el equipo de cómputo.

Copias y/o respaldos

Así como se protege la información contra acceso de usuarios no autorizados, y como complemento a las copias que cada usuario obtiene de su propia información, es también importante mantener en lugar seguro y externo al lugar de trabajo, copias actualizadas de la información VITAL de cada área de la organización, con el fin de garantizar la oportuna recuperación de datos y programas, en caso de pérdidas o daños en el equipo de cómputo.

Protección contra virus

(29)

28

3.3- Sistemas Operativos

El sistema operativo es un software especial, encargado de preparar al equipo de cómputo, para poder utilizar el resto del software instalado en el equipo de cómputo. Mediante el sistema operativo, se permite que la computadora controle la información que entra y sale durante el procesamiento de datos.

Los sistemas operativos hacen posible la comunicación entre la máquina y el usuario. Los sistemas operativos tienen 3 grandes funciones:

I. Coordinar y manipular el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse.

II. Organizar los archivos o carpetas en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas.

III. Gestionar los errores de hardware y la pérdida de datos.

3.3.1- Clasificación de los sistemas operativos

Monotarea

Los primeros sistemas operativos, eran de tarea única o también conocidos como monotarea, Figura 1, esto quiere decir, que solamente podían realizar una tarea a la vez. En estos sistemas operativos, se carga inicialmente el programa en memoria, y permanece en ella hasta el final de la ejecución.

Durante el tiempo de la ejecución del programa, ningún otro programa puede ejecutarse, ni teniendo suficiente espacio libre en la memoria principal, o aunque el programa en ejecución estuviera esperando finalizar una operación de entrada/salida, y el procesador se encontrara inactivo.

(30)
[image:30.612.188.422.82.351.2]

29 Figura 1 Sistema Operativo Monotarea

Multitarea

En la actualidad, todos los sistemas operativos modernos son multitarea, Figura 2. En la clasificación de sistemas operativos multitarea, quiere decir, que se pueden ejecutar varios procesos al mismo tiempo.

Su funcionamiento, se basa en quitar el control del procesador al programa que se encuentra en ejecución, el sistema operativo toma el control realizando la gestión, comúnmente, para permitir que otros programas se ejecuten, y así puedan compartir el tiempo del procesador.

(31)
[image:31.612.163.447.78.308.2]

30 Figura 2 Sistema Operativo Multitarea

Monousuario

Son sistemas operativos muy simples, en los cuales sólo se acepta la conexión de un solo usuario, en un momento dado, por lo que no es necesario realizar ningún tipo de gestión de usuarios, ni controlar el acceso al sistema. Generalmente, estos sistemas operativos se encuentran en computadoras personales, y suelen estar presentes en equipos de cómputo con una única pantalla.

Este tipo de sistemas operativos pueden ser monotarea, ejecutando un solo programa del usuario, o también, pueden ser multitarea, facilitando al usuario la ejecución de varios programas simultáneamente.

Multiusuario

Los sistemas operativos multiusuario basan su funcionamiento en las técnicas de multitarea, con esto permiten que varios usuarios puedan acceder simultáneamente al mismo equipo de cómputo, desde otras terminales directamente conectadas al mismo, por esto, normalmente serán sistemas de tiempo compartido.

El sistema permitirá, que cada uno de los usuarios pueda ejecutar varios programas al mismo tiempo, y así poder aprovechar al máximo el equipo de cómputo para poder alcanzar, un alto rendimiento del procesador.

(32)

31

3.3.2- Evolución de los Sistemas Operativos

MS-DOS

(MicroSoft-Disk Operating System)

Es un sistema operativo desarrollado por Microsoft, desde su creación, fue fácil ganar buena parte del mercado en el ámbito de los equipos de cómputo personales, por su buena aceptación. Es un sistema operativo caracterizado por ser monousuario y monotarea, este sistema operativo no puede dar servicio a más de un usuario simultáneamente, o ejecutar varios programas al mismo tiempo. La interfaz de la que dispone este sistema operativo, es alfanumérica, mediante la cual se puede ejecutar un conjunto de programas propios del sistema operativo, mediante órdenes escritas, que permite acceder a los distintos dispositivos o gestionar los recursos del sistema.

DR-DOS

Este sistema operativo desarrollado por Digital Research, nace con la intención de arrebatar parte del mercado a MS-DOS, emulando la mayoría de las órdenes de éste, una de las mejoras que añade es la gestión de memoria, y algunas utilidades como un optimizador de disco y herramientas de protección y seguridad, de las que carecía el sistema operativo MS-DOS, con esto permitía la ejecución de todos los programas, que hasta entonces funcionaban bajo MS-DOS.

OS/2

(Operating System/2)

Este sistema operativo fue diseñado conjuntamente por Microsoft e IBM, con el objetivo de crear un sistema compatible con el DOS, siendo capaz de ser un sistema operativo multitarea.

El OS/2, continua siendo un sistema operativo monousuario, pero ya con la capacidad de realizar multitarea, con esto se hace posible la ejecución de tareas concurrentes, disminuyendo las limitaciones que MS-DOS presenta en cuanto a la gestión de memoria.

Windows 95

El Windows 95, se considera un auténtico sistema operativo de 32 bits por su funcionalidad e independencia con el sistema operativo DOS, ya es considerado como un sistema multitarea y multiusuario, permitiendo compartir recursos y trabajo en red.

(33)

32 compatibilidad con el Sistema Operativo DOS, es capaz de ejecutar aplicaciones diseñadas para 16 bits, a pesar de ser un sistema operativo de 32 bits.

Lo más novedoso de este sistema operativo, es que posee un escritorio, sobre el cual se pueden añadir los elementos que se deseen.

Windows 98

Es un sistema operativo que muestra mejoras faltantes a Windows 95.

La instalación de este sistema operativo requiere de poca intervención por parte del usuario. En caso de optar por una actualización, este sistema operativo respeta durante el proceso de instalación, la configuración establecida anteriormente bajo Windows 95. Aumenta el número de dispositivos soportados, además de incorporar nuevas tecnologías, como el DVD o los controladores para tarjetas de vídeo y audio, la conexión USB y Plug and Play. Requiere alrededor de 295 Mb de almacenamiento para su instalación. Se considera un sistema operativo orientado a Internet, debido a que uno de sus pilares es el Internet. Presenta mejoras en la instalación de redes y la comunicación vía módem.

El principal inconveniente se presenta al intentar conseguir la compatibilidad con sistemas operativos, como DOS, ya que Windows 98 es un sistema operativo puro de 32 bits, siendo el DOS de 16 bits, sin embargo, la compatibilidad con Windows 95 es casi total.

Windows XP

Este sistema operativo presenta un ambiente gráfico mejorado, de uso más fácil, incluyendo herramientas de personalización del escritorio, tiene la capacidad de agrupar aplicaciones similares en la barra de tareas, y destaca programas recién instalados en el menú inicio. Tiene la capacidad de desconectar un dispositivo externo, de instalar nuevas aplicaciones y controladores sin necesidad de reiniciar.

Además, el sistema operativo Windows XP, presenta el uso de varias cuentas de usuario, permitiendo que un usuario guarde el estado actual de su sesión, para permitir que otro usuario pueda abrir una sesión sin perder la información.

Windows XP posee una característica llamada Escritorio Remoto, esta característica permite al usuario abrir una sesión a través de una red o Internet, permitiendo el control del equipo de cómputo remotamente.

(34)

33 Debido a todas estas características novedosas, los requerimientos del sistema son más elevados en comparación a sus antecesores, requiere como características mínimas, un procesador de 233 MHz, memoria RAM de 128 Mb, espacio libre de almacenamiento de al menos 1.5 Gb, adaptador de video VGA (800 X 600), unidad de lectura de CD-ROM o DVD-ROM, mouse, teclado y modem para 14.4 kbps.

Windows 7

En Windows 7 se muestra un nuevo diseño de la barra de tareas, es más ancha y los botones de las ventanas ya no incorporan texto, únicamente muestran el icono de la aplicación, ahora las ventanas abiertas se muestran agrupadas en un único icono, indicando con un borde que se encuentran abiertas, contrario a los que se encuentran sin abrir que no tienen este borde. Las visualizaciones incluidas, pasan a ser más interactivas y útiles, al pasar el mouse sobre el icono de la aplicación abierta, muestra el nombre, la pre-visualización y la opción de cerrarla, además, si se pasa el mouse sobre la pre-visualización, se puede visualizar a pantalla completa la aplicación, y al quitarlo poder regresar a la ventana anterior.

En los íconos de las aplicaciones, al dar clic derecho, se muestra una lista de opciones de tareas sencillas, de acuerdo a la aplicación abierta. En la misma barra de tareas se agrega un botón en forma de rectángulo, el cual nos permite visualizar el escritorio al poner el puntero del mouse sobre el botón, o minimizar todas las ventanas al darle clic.

Windows 7 requiere como características mínimas, procesador de 1 GHz para 32 y 64 bits, RAM de 1 Gb para 32 bits y de 2 Gb para 64 bits y un espacio libre en disco duro de 16 a 20 Gb.

Windows 8

De acuerdo a las tendencias de la desaparición física de elementos, como teclado y mouse, y que éstos sean sustituidos virtualmente en las pantallas táctiles.

En Windows 8 se incorpora la interfaz metro, la cual con una pantalla táctil, se puede tener una mejor experiencia.

Con la identidad de Hotmail, se puede autenticar en la nube, de modo que los ajustes y preferencias se aplicarán en cada uno de los equipos con Windows 8, en los que se usen estas credenciales. Incluye una tienda de aplicaciones, esencial para aportar funcionalidad a los equipos, con la posibilidad de encontrar aquellos programas necesarios para las tareas realizadas.

(35)

34 El escritorio se mantiene, sólo que esta vez como una aplicación más dentro de la interfaz metro, haciendo un traslado a un entorno similar al de Windows 7.

Las características mínimas necesarias para Windows 8, son: un procesador a 1 GHz, memoria RAM de 1 Gb para 32 bits o 2 Gb para 64 bits, dispositivo gráfico Microsoft DirectX 9 y espacio libre en disco duro, de al menos 16 Gb para 32 bits o 20 Gb para 64 bits.

Linux

Es un sistema operativo diseñado para ejecutar varios programas al mismo tiempo, mejor conocida esta característica como multitarea. Este sistema operativo permite su uso por varias personas, de los recursos que administra, siendo un sistema operativo multiusuario, estas personas se distribuyen en grupos de usuarios, y es necesaria una autenticación para asegurar los derechos individuales.

Linux, posee una capa de red muy fiable y rápida, soporta protocolos como TCP/IP versiones 4 y 6 y dispositivos de red, como Ethernet o Wi-Fi.

Este sistema operativo tiene la característica de carga de ejecutables por demanda, solamente lee del disco aquellas partes del programa que están siendo usadas actualmente. Además, Linux permite que varios procesos puedan usar la misma zona de memoria para ejecutarse, cuando alguno intenta escribir en esa memoria, la página (4 Kb de memoria) se copia a otro lugar, esta característica permite aumentar la velocidad y reducir el consumo de memoria.

Todo el código fuente de este sistema operativo está disponible, incluyendo el núcleo completo y todos los controladores, las herramientas de desarrollo y todos los programas de usuario, además todo esto se puede distribuir libremente.

Mac OS

(36)

35

3.4- Lenguajes de Programación

Un lenguaje de programación al igual que los idiomas, sirve de vehículo de comunicación entre los seres humanos, existen lenguajes que realizan la comunicación entre los seres humanos y las computadoras. Estos lenguajes permiten expresar, los programas o el conjunto de instrucciones que el programador desea que la computadora ejecute.

Mediante los programas se indica a la computadora qué tarea debe realizar y como efectuarla, pero para ello es preciso, introducir estas órdenes en un lenguaje que el sistema pueda entender. En principio, la computadora sólo entiende las instrucciones en código máquina, es decir, el específico de la computadora. Sin embargo, a partir de éstos se elaboran los llamados lenguajes de alto y bajo nivel.

Los lenguajes utilizados para escribir programas de computadoras que pueden ser entendidos por ellas, se denominan lenguajes de programación.

3.4.1- Clasificación de los lenguajes de programación

Un programa se escribe en un lenguaje de programación, y las operaciones que conducen a expresar un algoritmo en forma de programa, se llaman programación.

Los principales tipos de lenguajes utilizados en la actualidad, son tres:  Lenguaje de máquina

 Lenguaje de bajo nivel (ensamblador)  Lenguaje de alto nivel.

Lenguaje de Máquina

Son aquellos que están escritos en lenguajes directamente inteligibles por la computadora, ya que sus instrucciones son cadenas binarias, que especifican una operación, y las posiciones de memoria implicadas en la operación, se denominan instrucciones de máquina o código máquina. Las instrucciones en lenguaje de máquina dependen del hardware de la computadora, y diferirán de una computadora a otra. La ventaja de programar en lenguaje de máquina, es la posibilidad de transferir un programa a la memoria sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.

(37)

36 fiabilidad, dificultad grande de verificar y poner a punto los programas, y los programas sólo son ejecutables en el mismo procesador.

Para evitar los lenguajes de máquina, se han creado otros que permiten escribir programas con instrucciones similares al lenguaje humano. Estos lenguajes son los de bajo nivel y alto nivel. Un programa debe estar escrito en el lenguaje de la máquina para poder ser ejecutado. Este es generado por software y no por el programador. El programador escribe en un lenguaje de programación, el cual es traducido al lenguaje de máquina mediante intérpretes y compiladores. Los lenguajes de máquina, son aquellos cuyas instrucciones son directamente entendibles por la computadora, y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa.

Lenguaje de Bajo Nivel

Son más fáciles de utilizar que los lenguajes de máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. El lenguaje ensamblador es un lenguaje de programación de bajo nivel, en que las instrucciones y las direcciones de memoria están representadas por símbolos, permite la utilización de nombres simbólicos en lugar de ceros y unos.

El lenguaje ensamblador tiene una estructura de instrucciones igual que el lenguaje de máquina, pero intenta tener una flexibilidad que se consigue no escribiendo los campos en binario, y aproximando la escritura al lenguaje humano, esta flexibilidad se consigue de la siguiente forma:

 Los códigos de operación están representados por una combinación de letras o cifras, que recuerdan la operación. Por ejemplo: ADD (adición) para la suma, SUB (Substracción) para la resta.

 Para el desplazamiento hay dos soluciones, bajo la forma de un valor decimal o bajo la forma de una etiqueta.

Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora, sino que requiere una fase de traducción al lenguaje de máquina. El programa original escrito en lenguaje ensamblador se denomina programa fuente, y el programa traducido en lenguaje de máquina se conoce como programa objeto, ya directamente inteligible por la computadora.

(38)

37 lenguajes de máquina, de su mayor facilidad de codificación y, en general, su velocidad de procesamiento.

Los inconvenientes más notables de los lenguajes ensambladores, son:

 Dependencia total de la máquina, lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes máquinas).

 La formación de los programadores es más compleja, que la correspondiente a los programadores de alto nivel, ya que exige no sólo las técnicas de programación, sino también el conocimiento del interior de la máquina.

Lenguaje de Alto Nivel

Los lenguajes de alto nivel son los más utilizados por los programadores, están diseñados para que las personas escriban y entiendan los programas, de un modo mucho más fácil que los lenguajes de máquina y ensamblador. Un programa escrito en un lenguaje de alto nivel, es independiente de la computadora; esto es, las instrucciones del programa de la computadora, no dependen del diseño del hardware o de una computadora en particular. Debido a lo anterior, los programas escritos en lenguajes de alto nivel son transportables, lo que significa la posibilidad de poder ser ejecutados con poca o ninguna modificación, en diferentes tipos de computadoras; al contrario que los programas en lenguaje de máquina o ensamblador, que sólo se pueden ejecutar en un determinado tipo de computadora.

Los lenguajes de alto nivel presentan las siguientes ventajas:

 El tiempo de formación de los programadores es relativamente corto, comparado con otros lenguajes.

 La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Nombres de las instrucciones, tales como READ, WRITE, PRINT, OPEN, etc.

 Las modificaciones y puestas a punto de los programas, son más fáciles.  Reducción del costo de los programas.

 Transportabilidad.

Los inconvenientes se concretan en:

 Incremento del tiempo de puesta a punto, al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.

 No se aprovechan los recursos internos de la máquina, que se explotan mucho mejor en lenguajes de máquina y ensambladores.

 Aumento de la ocupación de memoria.

(39)

38 Al igual que sucede con los lenguajes ensambladores, los programas fuente tiene que ser traducidos por programas traductores, llamados en este caso compiladores e intérpretes.

3.4.2- Programación Estructurada

Es la forma en la cual, la implementación de las partes del programa se realiza lo más claramente posible, por medio de la ayuda de tres estructuras lógicas de control:

 Secuencia: Sucesión simple de dos o más operaciones.  Selección: Bifurcación condicional de una o más operaciones.

 Interacción: Repetición de una operación mientras se cumple una condición.

La estructuración de un programa se compone de segmentos, dichos segmentos pueden estar constituidos por una cantidad pequeña de instrucciones, o por una o varias páginas de codificación.

En cada uno de los segmentos, se cuenta solamente con una entrada y una salida, tomando conciencia de que no poseen lazos infinitos, y no tienen instrucciones que jamás se ejecuten, se les denominan programas propios.

Al realizar la combinación de varios programas propios, utilizando las tres estructuras lógicas de control, se obtiene como resultado, un programa propio.

Ventajas de la programación estructurada:

1. Gran facilidad de entender los programas, ya que éstos pueden ser leídos de forma secuencial, sin ser necesario dar seguimiento a los saltos de línea dentro de los bloques de código, para poder entender su lógica.

2. Los programas constan de una estructura clara, debido a que las instrucciones que forman el programa están más ligadas o relacionadas entre sí.

3. Esfuerzo reducido en las pruebas, al realizar el seguimiento de los fallos o errores del programa, facilitando estos procesos, debido a que la estructura del programa es más secuencial visiblemente, por este motivo los errores se pueden detectar y corregir más fácilmente.

4. Se reducen los costos de mantenimiento de los programas

(40)

39

3.4.3- Programación Orientada a Objetos

La programación orientada a objetos, introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos en la programación.

Abstracción

La abstracción es el proceso por medio del cual se separan las propiedades más importantes de un objeto, de las que no lo son, por medio de la abstracción se pueden definir las características relevantes de un objeto del mundo real, los atributos y los comportamientos que lo definen como tal, para finalmente modelarlo como un objeto de software.

En la abstracción se debe sólo definir de forma general al objeto, no se debe de preocupar por implementar métodos o atributos. La herramienta principal de la abstracción es la clase, ésta se puede definir como un modelo en donde se especifican las características, que definen a un objeto de manera general. En la programación orientada a objetos, los objetos son instancias de una clase, es decir una variable que consta de propiedades o atributos y de métodos.

Encapsulamiento

El encapsulamiento se encarga de mantener ocultos los procesos internos, que se necesitan para realizar la función que se desea, otorgándole al programador acceso sólo a lo que es necesario para él. Algunas de las ventajas son, que se puede evitar que todo colapse por alguna intervención indeseada, y que se pueden hacer cambios y/o mejoras sin que se vea afectado, el modo en que los usuarios van a utilizar el código, sólo es necesario mantener igual la forma en la que se accede a él.

Herencia

(41)

40

Métodos

Se le llama método al algoritmo asociado a un objeto, por medio del cual es lo que puede hacer el objeto, desde el punto de vista de su comportamiento. Un método puede producir un cambio en las propiedades del objeto, o así mismo la generación de un evento con una nueva acción para otro objeto del sistema.

Modularidad

La modularidad, permite poder modificar las características de la clase que define a un objeto, de forma independiente de las demás clases en la aplicación. Si a la aplicación se le pueden separar las clases, y estas clases pueden compilarse y modificarse sin afectar a los demás, a dicha aplicación se le ha implementado la modularidad.

Polimorfismo

El polimorfismo, es la propiedad que tienen las clases de ocultar la estructura interna en una jerarquía de clases, implementando de manera diferente un mismo método. El polimorfismo ayuda a que se genere un código que sea compatible con objetos de diferentes tipos.

3.5- Bases de datos

Una base de datos se puede definir, como un conjunto de información relacionada, que se encuentra agrupada o estructurada.

Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos, que permiten el acceso directo a ellos, y un conjunto de programas que manipulen ese conjunto de datos.

(42)

41

3.5.1- Sistemas Manejadores de Bases de Datos

Los Sistemas Manejadores de Base de Datos son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos, el usuario y las aplicaciones que la utilizan.

Entre los diferentes tipos de manejadores de base de datos, podemos encontrar algunos:

 MySql: es un sistema de gestión de bases de datos con licencia GPL (Licencia Publica General), basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.

 PostgreSql y Oracle: Son sistemas de gestión de bases de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en las Intranet y sistemas de gran calibre.

 Access: Es el sistema de gestión de bases de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa Access, el cual crea un archivo .mdb.

 Microsoft SQL Server: es un sistema de gestión bases de datos más potente que Access. Se utiliza para manejar grandes volúmenes de informaciones.

3.5.2- Tipos de Campos

Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes, entre los más comunes se pueden nombrar:

 Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).  Autoincrementables: son campos numéricos enteros que incrementan en una unidad su

valor, para cada registro incorporado. Su utilidad resulta, en servir de identificador, ya que resultan exclusivos de un registro.

 Booleanos: posee dos estados: Ve dade o “í y Falso No .

 Fechas: almacenan fechas, facilitando posteriormente su explotación. Almacenar fechas de esta forma, posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.

 Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.

(43)

42

3.5.3- Ventajas de las Bases de Datos

Accesibilidad a los datos

Muchos Sistemas de gestión de Bases de Datos, proporcionan lenguajes de consultas o generadores de informes, que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea.

Aumento de la concurrencia

Si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos, de modo que se pierda información o se pierda la integridad. La mayoría de los Manejadores de Bases de Datos, gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo.

Compartición de datos

En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados.

Consistencia de datos

Eliminando o controlando las redundancias de datos, se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes.

Control sobre la redundancia de datos

Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos.

(44)

43

Estándares

Estos estándares, pueden establecerse sobre el formato de los datos para facilitar su intercambio, los estándares de documentación, procedimientos de actualización y también reglas de acceso, así como también los estándares establecidos a nivel de la empresa, como los nacionales e internacionales.

Integridad de datos

Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar, tanto a los datos, como a sus relaciones, y es el Sistema Manejador de Base de Datos, quien se debe encargar de mantenerlas.

Mantenimiento

Los Sistemas Manejadores de Bases de Datos, separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos.

Productividad

A nivel básico, el Sistema manejador de Bases de Datos, proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación. El hecho de disponer de estas funciones, permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel.

Seguridad

La seguridad de la base de datos, es la protección de la base de datos frente a usuarios no autorizados.

Servicios de copias de seguridad

(45)

44 Manejadores de Bases de Datos actuales, funcionan de modo que se minimiza la cantidad de trabajo perdido, cuando se produce un fallo.

3.5.4- Desventajas de las bases de datos

Complejidad

Los Manejadores de Bases de Datos, son conjuntos de programas que pueden llegar a ser complejos, con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.

Costo del equipamiento adicional

Tanto el Manejador de Bases de Datos, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande, o una máquina que se dedique solamente al Manejador de Bases de Datos, como el caso de los servidores.

Vulnerable a los fallos

Figure

Figura 1 Sistema Operativo Monotarea
Figura 2 Sistema Operativo Multitarea
Figura 41 Capa de Presentación: Form1
Figura 7 Capa de Negocio: Clase InformePDF
+7

Referencias

Documento similar

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,