Universidad Mariano Gálvez
Carrera de Psicología Curso de Informática
Manual Básico de Informática
Andrea Marlith Gabriel Medina Carne 300 – 12 - 12295
Definición de Informática: La información está formada por datos ordenados, que se utilizan para construir mensajes basados en ciertos fenómenos. Con la información somos capaces de resolver problemas y tomar decisiones, porque su aprovechamiento racional es la base del conocimiento. La información se ha utilizado a través del tiempo. Pero desde la segunda mitad del siglo XX es manejada por maquinas, con las que se consigue mayor eficacia y precisión. Cuando las maquinas manejan la información reciben el nombre de informática. El término informática es una contracción de las palabras información automática. El diccionario de la lengua española de la Real Academia Española define informática como: Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores.
La informática es la disciplina que se encarga del estudio de métodos y técnicas desarrollados, con el fin de almacenar, procesar y transmitir información en formato digital. El tratamiento de la información por medio de la informática es automática, porque se realiza mediante máquinas electrónicas, y es racional porque está controlado por órdenes que siguen un razonamiento humano.
Partes de un computacional
sistema
El ciclo de operación de una computadora o como se conoce hoy en día partes de un sistema computacional consta de cuatro partes: Dispositivos de entrada Componentes de procesamiento Unidades de almacenamiento Dispositivos de salida.
Estas partes del sistema computacional deben de trabajar armónicamente tal como lo ilustra la siguiente figura.
Diferentes tipos de software: Como mencionamos anteriormente el término software se refiere a todas aquellas instrucciones que hacen posible la comunicación entre el usuario y la computadora. El software como tal podemos dividirlo en tres grandes partes: Software de sistema operativo. Software de aplicación. Software de utilidad.
El software de sistema operativo es aquel que permite a los usuarios interactuar con la computadora. Este tipo de software está compuesto por programas que tienen como objetivo la administración de los recursos de hardware además de otorgar una interface al usuario. Como ejemplo de este tipo de software podemos mencionar los siguientes: Windows Mac OS Linux
Software de sistema operativo Es el software que controla el CPU de la computadora, dispositivos de entrada y salida de una manera adecuada para la realización del mantenimiento y organización de los archivos.
Software de aplicación: El software de aplicación son programas que realizan una función específica como
un procesador de texto, hojas de cálculo o bases de datos.
Bases de datos: una base de datos es una colección de datos o archivos relacionados de una manera estructurada, almacenados electrónicamente. Una aplicación de base de datos permite manipular esta aplicación y mostrarla al usuario en cualquier forma que a este le interese. Es necesaria la existencia, como mínimo, de una serie de registros, generalmente ordenados en forma de tabla. Cada registro está compuesto por un número determinado de campos, que pueden contener tanto información textual como numérica e incluso gráfica. La potencia de una base de datos se basa en el volumen de información con el que es capaz de trabajar y en la flexibilidad que ofrece a la hora de hacer consultas. Las modernas bases de datos permiten ordenar la información de acuerdo a cada necesidad. Los siguientes ejemplos de sistemas de bases de datos más utilizados, en diversas épocas: DBASE III, IV. De gran difusión, aunque actualmente está en declive de uso. ORACLE: estándar de uso para equipos informáticos medianos y grandes. Muy potente. INFORMIX: funciona bajo equipos UNIX; es muy potente y de gran difusión.
PARADOX: funciona bajo el entorno Windows y es muy potente. MS SQL Server: actualmente muy utilizada. MICROSOFT ACCESS: también funciona bajo Windows, siendo actualmente la más difundida.
Software de utilidad El software de utilidad lo compone todo tipo de software que de alguna manera es utilizado para el mantenimiento de la computadora. Entre el software de utilidad más conocidos están los siguientes: Desfragmentadores Antivirus Cortafuegos
Sistemas de Información
Almacenamiento:
Un sistema de información es un conjunto de elementos que interactúan armónicamente con el fin de apoyar en las decisiones de una organización o empresa.
El almacenamiento de datos o información es una de las actividades o características más importantes de un sistema de información, ya que a través de esta característica el sistema puede recordar la información guardada en el proceso anterior. Los dispositivos típicos de almacenamiento son los discos duros, discos compactos y memorias USB.
Los elementos que interactúan entre si son: el equipo de cómputo, el recurso humano, los datos y los procedimientos o reglas de operación. Los sistemas de información realizan cuatro actividades básicas: a) b) c) d)
Entrada de datos Almacenamiento Procesamiento Salida de información
Entrada de datos: Es el proceso mediante el cual se le suministra los datos a los sistemas de información los cuales se requieren para procesar. Este tipo de entradas pueden ser manuales o automáticas. Las entradas manuales son aquellas que son ingresadas directamente por el recurso humano, mientras que las automáticas son datos que provienen de otros sistemas. A este último suele llamarse interfaces automáticas.
Procesamiento: Es la capacidad de todo sistema de información de efectuar cálculos de acuerdo con las secuencias de operaciones establecidas. Estos cálculos se pueden efectuar con información ingresada en el momento o datos previamente almacenada en los dispositivos de almacenamiento. Esta es la característica de los sistemas que permiten la transformación de datos en información útil para la toma de decisiones de una empresa.
Salida de información: La salida es la capacidad de todo sistema de desplegar la información procesada. Los dispositivos típicos de salidas son las impresoras, terminales, los plotters, las bocinas, entre otros. Es necesario aclarar que la salida de un sistema de información podría formar la entrada de
otro sistema de información. Por ejemplo el sistema de control de clientes tiene una salida automática con el sistema de contabilidad, ya que genera información relevante en el sistema de contabilidad.
Las herramientas de análisis y modelado La red de comunicación.
Arquitectura de un DSS Diferentes autores identifican diferentes componentes que forman los DSS. Sprague y Carlson identifican tres componentes básicos: Sistemas de Bases de datos: este sistema almacena datos internos de una organización, de fuentes externas, o del personal que trabaja en la organización. Sistema gestor de modelos: este sistema se encarga de la representación de acontecimientos, hechos o situaciones utilizando diferentes modelos. Sistema gestor y generador de diálogos: este es la interfaz de usuario, es el componente que permite al usuario interactuar con el sistema. Nosotros definiremos cuarto componentes fundamentales para un DSS: La interfaz del usuario. La base de datos
Sistemas expertos (SE)
Se considera experto a una persona, cuando este tiene conocimientos especializados sobre determinado problema. En el tema de SE este tipo de
conocimientos lleva el nombre de conocimiento sobre el dominio. La palabra dominio se utiliza para especificar que el conocimiento se refiere a un problema específico.
Aplicaciones
Definición de los Sistemas expertos (SE) Podemos definirlo como el software que imita el pensamiento de un experto humano para la solución de un problema específico. Este sistema almacena conocimientos de expertos en un campo determinado y soluciona los problemas utilizando la deducción lógica. Los SE son programas de computadora que tienen almacenada información específica de un dominio especifico y realiza una tarea específica de ese dominio. Una definición un poco más técnica que se manejan con diversos autores de libros de ingeniería de software es. “Programas que manipulan conocimiento codificado para resolver problemas en un dominio especifico en un dominio que generalmente requiere de experiencia humana”. Finalmente podemos definir, un sistema experto es un sistema de cómputo completo que simula un experto humano en un área específica.
Las aplicaciones de los SE es amplio debido a la fácil caracterización del desafió. Estas aplicaciones se clasifican en siete grupos importantes.
1. Diagnóstico y localización de averías de dispositivos y de sistemas de toda clase: Este grupo se encarga de deducir incidentes y sugiere las acciones correctivas para un proceso que funciona de forma errónea. Un ejemplo son los sistemas de diagnóstico médico.
2. Planeamiento y programación: estos sistemas analizan metas complejas y determinan las acciones para lograr esas metas. Un ejemplo común del uso de estos sistemas son la programación de vuelos de una aerolínea.
3. Configuración de objetos manufacturados: este tipo de sistemas sintetiza un conjunto de elementos dados de un problema por un conjunto de apremios. Un ejemplo típico de estos sistemas lo utilizan las empresas de computadoras que utilizan los SE para facilitar la fabricación de minicomputadoras.
4. Toma de Decisión Financiera: Los SE lo utilizan en los servicios financieros para asistir a los bancos en determinar si se hace un préstamo o no. Las compañías de seguros los utilizan también en la evaluación de riesgos y determinar el precio de la póliza del seguro.
5. Publicación del conocimiento: la función de este sistema es entregar el conocimiento necesario a un problema específico. Un ejemplo de este sistema es el consejero gramatical que proporciona información sobre el uso gramatical correcto en un texto.
6. Vigilancia y control del proceso: estos sistemas analizan en tiempo
real datos proporcionados por dispositivos físicos y a si advertir de anomalías. Un ejemplo común es el sistema en tiempo real que vigilan el proceso de fabricación de hierro y refinación del petróleo.
7. Diseño y fabricación: estos sistemas ayudan en el diseño de dispositivos y procesos físicos y la configuración de los procesos de fabricación.
Ventajas de un SE Los conocimientos pueden almacenarse muy fácilmente lo que hace casi imposible la pérdida de ellos. Un SE siempre está en pleno rendimiento, cuando un experto humano se cansa, su exactitud deja de ser fiable. Sin embargo, un SE siempre podrá ser fiable, dentro de las limitaciones de sus conocimientos, pues no se cansa. Otra ventaja de un SE es que usted puede crear muchos SE solo con copiar el programa en otra máquina. Un humano necesita mucho tiempo para convertirse
en un experto, lo que hace difícil tener varios expertos trabajando en un área.
Desventajas de un SE Los humanos responden creativamente a situaciones inusuales. Los SE no pueden hacer eso. Los expertos humanos tienen la experiencia sensorial de su lado. Y los SE actualmente solo responde a su código programado. Los SE no sirven cuando los problemas están fuera de su dominio.
Arquitectura de los SE
Base de conocimientos: contiene los conocimientos que el SE puede utilizar
para el diagnóstico o solución de un problema
Base de hechos (memoria de trabajo): contiene los hechos de un problema que en el que se utilizó el SE, este conocimiento nuevo se guarda para un posterior uso en un problema similar.
Motor de inferencia: este motor se encarga de trabajar con la información de la base de conocimiento y base de hechos, este compara la información para deducir nuevos hechos.
Subsistema de explicación: una de las características de SE es su habilidad para explicar su razonamiento. Un SE proporciona una explicación al usuario de cómo ha llegado a una conclusión. Este módulo proporciona beneficios a los usuarios.
Interfaz de usuario: es la parte del SE donde el usuario interactúa, esta interacción se realiza en lenguaje natural. Es intuitiva y sigue el patrón de la conversación entre los humanos. Un requerimiento básico de una interfaz es la habilidad de hacer preguntas.
Ciclo de vida del desarrollo de software Este término describe los pasos en el desarrollo de cualquier tipo de software. Empezando en la fase inicial y terminando en la fase final. Existen diversos modelos de ciclo de vida en el desarrollo de un software. En este libro se expondrán los más relevantes y queda como tarea para el lector la investigación y comprensión de algún otro modelo.
Definición del Ciclo de Vida de Desarrollo de Software Muchas entidades tienen sus propias definiciones para el Ciclo de Vida del Software el estándar IEEE lo define así:
“Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software”.
Por su parte el estándar ISO lo define de esta manera:
“Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso”
Nosotros definiremos el Ciclo de Vida del desarrollo de Software como: Una vista a las actividades que se desarrollan en la creación de un software. Un modelo de este tipo: Describe los procesos principales en el desarrollo de un software Define los procesos primarios Ayuda en la administración en el progreso de desarrollo Provee el espacio de trabajo para el proceso de desarrollo de software.
Procesos del Ciclo de Vida de Desarrollo de Software
Procesos Principales Estos procesos resultan útiles a personas que son las encargadas del desarrollo, explotación y mantenimiento de Software.
Proceso de Adquisición:
Son las actividades o tareas que el comprador, cliente o usuario deben realizar para adquirir un software.
Proceso de Suministro: Son las actividades o tareas que realiza la persona que suministra. Estas están encaminadas a responder con decisión las preguntas de un comprador.
Proceso de Explotación: Proceso de Desarrollo: Involucran las siguientes actividades: Análisis de requisitos: se refiere a los requisitos necesarios para poder desarrollar el software tanto de Hardware como de Software. Diseño: Aquí se describe el diseño general de la arquitectura de la aplicación, tales como que tipo de base de datos utilizara, que interfaz es la mejor para el usuario. Codificación: es la implementación del diseño del software en un lenguaje de programación donde se realizara el producto solicitado. Pruebas: estas son las prueba que se realizan a la aplicación terminada con la finalidad de encontrar errores y poder corregirlas antes de la instalación o entrega al cliente. Instalación: esta es la instalación del producto o aplicación terminada en donde el cliente requiera. Aceptación: este es la última parte del proceso de desarrollo que consiste en la aceptación por parte del cliente del producto terminado e instalado.
Este proceso incluye en si el uso o explotación del software y el soporte a los usuarios de la aplicación.
Proceso de Mantenimiento: Este proceso aparece cuando es necesario hacer alguna modificación al software, ya sea en el código o en la documentación. Incluye actividades migratorias a un nuevo entorno.
Procesos de soporte Estos procesos se utilizan como apoyo a los demás procesos en cualquier parte del ciclo de vida de software.
Proceso de Documentación: este proceso registra la actividad de un proceso del ciclo de vida.
Proceso de Gestión de la configuración: se encarga de aplicar procedimientos administrativo y técnicos durante el ciclo de vida del software. Estos procedimientos pueden ser: Identificar, definir o establecer la línea de los elementos de configuración. Controlar modificaciones y versiones.
Registras las peticiones de modificación. Asegurar las comunicaciones entre los elementos.
Proceso de auditoria: Este proceso determina de forma independiente, que los productos cumplan con los requisitos, planes y acuerdos.
Proceso de aseguramiento de la calidad: Son las actividades planificadas necesarias para aportar la confianza adecuada del software. Este aseguramiento pretende dar confianza que el producto terminado es de calidad.
Proceso de verificación: Estos procesos verifican que el software cumple con los requisitos completos establecidos en procesos anteriores.
Proceso de resolución de problemas: Este proceso se asegura que todos los problemas descubiertos se analicen y resuelvan.
Procesos organizativos del ciclo de visa de Software Estos procesos ayuna a implementar, organizar y mejorar la organización haciéndola más eficaz.
Proceso de validación Se utiliza para validar si el software o producto terminado cumple con todos los requerimientos establecidos para su creación.
Proceso de Gestión: Este proceso organiza, supervisa y controla cualquier proceso para alcanzar los objetos del negocio de la organización.
Proceso de revisión conjunta: Son las revisiones conjuntas entre las diferentes partes involucradas sobre un mismo proceso de la vida del software. Estas partes verifican que el desarrollo del producto satisfaga los requerimientos de las partes involucradas.
Procesos de infraestructura: Se encarga de mantener la infraestructura estable y fiable necesaria para los procesos. Esta infraestructura es de hardware y software.
Proceso de Mejora: Este proceso se encarga de valorar, medir y mejorar los procesos de vida de software.
Proceso de formación:
Estos modelos describen la forma en que se trabajara y desarrollara el software. Existen varios modelos estandarizados los cuales describimos en este apartado.
Modelo Lineal o Secuencial
Este proceso se utiliza para mantener al personal capacitado e informado.
Visión general de los procesos, relaciones y roles del ciclo de vida de Software Este modelo refleja el desarrollo del software de una forma secuencial escalonada de las etapas que lo componen:
Requisitos Diseño Codificación Pruebas Integración
En este modelo es necesario terminar por completo cada una de las etapas para poder pasar a la siguiente. Este modelo, que apareció en los años de 1950, resulta demasiado rígido porque cada etapa necesita como entrada el resultado completo de la etapa anterior.
Modelos del ciclo de vida de software
Cuando se aplica este modelo en una situación real suele generar problemas, porque en ocasiones no podemos
disponer de los requisitos completos del sistema en las fases iniciales, creando un muro que impide avanzar. Este modelo resulta apropiado para: El desarrollo de versiones nuevas de sistemas veteranos donde el desconocimiento de las necesidades de los usuarios y del entorno de operación no son riesgos. Para sistemas pequeños que no evolucionaran a corto plazo.
Este modelo reconoce la necesidad de tener a disposición requisitos y diseños previos al comienzo de la codificación del sistema y reconoce que esto es un obstáculo para el comienzo de la siguiente fase. Este modelo resulta apropiado para: El desarrollo de versiones nuevas de sistemas veteranos donde el desconocimiento de las necesidades de los usuarios y del entorno de operación no son riesgos. Para sistemas pequeños que no evolucionaran a corto plazo.
Modelo en cascada Criticas:
Fue creado en 1970 por Winston Royce. Royce definió flujos de retorno sobre el modelo lineal. Este modelo refleja la necesidad que se da en un entorno real, de retornar desde una fase hacia las anteriores con información que se genera al avanzar en el desarrollo de una aplicación.
No refleja verdaderamente el proceso de desarrollar software. Lleva mucho tiempo pasar todo el ciclo. Se convierte en implementaciones de manera informal. Revisar proyectos de gran complejidad se vuelve muy difícil. Impone una estructura de gestión de proyectos.
Modelo en Espiral
Planeamiento Análisis de riesgo Ingeniería Evaluación del cliente Puntos fuertes:
Es un modelo evolutivo que combina la construcción de prototipos con los aspectos controlados del modelo lineal secuencial. El software en este modelo se desarrolla en una serie de versiones incrementales. Este modelo consta de una serie de ciclos. Cada uno empieza identificando sus objetivos, alternativas y restricciones. La idea es desarrollo incremental usando el modelo Cascada para cada paso. No se define el sistema completo en principio. Los diseñadores definen e implementan únicamente los rasgos de mayor prioridad. Con el conocimiento adquirido se regresa y se define e implementan más características en trozos más pequeños. Este modelo define cuatro actividades principales en el ciclo de vida de software:
Evita las dificultades a través del acercamiento conducido por el riesgo. Evita errores en las etapas tempranas Provee mecanismos para asegurar la calidad del software. La evaluación constante después de cada fase permite hacer cambios en las percepciones de los usuarios, avances tecnológicos o perspectivas financieras. Al enfocarse en los objetivos y limitaciones ayuda a asegurar la calidad. Puntos débiles Necesita una guía explicita para determinar objetivos, limitaciones y alternativas. Provee más flexibilidad que la conveniente para la mayoría de las aplicaciones. Calcular riesgos no es una tarea fácil.
Modelo Incremental
Los errores en los requisitos se detectan tarde y la corrección por lo tanto es costosa.
Modelo de prototipo
Este modelo minimiza la rigidez del modelo en cascada, descomponiendo el desarrollo en partes; para cada una de las partes se aplica un ciclo de desarrollo. Ventajas de este modelo: Los usuarios disponen más rápidamente de subsistemas totalmente operativos que ayudan a observar mejor las necesidades reales del sistema en conjunto. Este modelo produce entregas parciales más rápido, comparados con el tiempo necesario para la construcción total del sistema. Permite la incorporación de nuevos requisitos que no son necesarios conocer al inicio del desarrollo. Desventajas de este modelo Difícil de evaluar su costo total. Requiere de personal experimentado Difícil de aplicar a sistemas que tienden a ser integrados y a trabajar como un todo siempre.
Suele utilizarse cuando no se conoce exactamente los requisitos o requerimientos de un determinado producto. En estos casos suele recurrirse a definir especificaciones iniciales para hacer un prototipo. Un prototipo es un producto parcial o provisional. El objetivo es lograr un producto intermedio, antes de realizar el producto final para conocer como responderían las funcionalidades previstas para un producto final. Los prototipos pueden ser: Ligeros: son dibujos de pantallas de interfaz son simulaciones de como funcionaran. Operativos: Módulos de software totalmente funcional sin cubrir las
funcionalidades completas sistema, normalmente
del en
¿Qué es una base de datos? El problema de los datos Todas las organizaciones necesitan almacenar información. La información suele ser de todo tipo. Cada elemento informativo es lo que se conoce como dato (nombre, dirección, sueldo, etc.). La solución que encontraron las organizaciones para el almacenamiento de sus datos es diversos. Antes de la aparición de la informática los datos se almacenaban en papel guardados en cajones. Cuando la informática aparece estos datos se almacenan en archivos digitales dentro de unidades de almacenamiento, dentro de archivos binarios u hojas de cálculo. En los inicios de la era digital, cada aplicación almacenaba y utilizaba sus datos de una forma un tanto caótica. La única ventaja de este sistema, es la independencia de los procesos por lo que la modificación de uno no afecta a los demás. Pero tiene grandes inconvenientes: El costo de su almacenamiento era elevado Datos redundantes Siempre surgían inconsistencias en los datos
entornos RAD. Difícil modificación de los datos y facilidad de problemas de inconsistencia al realizar esas modificaciones. La solución más lógica al problema es que las todas las aplicaciones utilicen los mismos datos. Esto provoca que los datos estén más controlados y protegidos. Los datos deben formar una estructura física y funcional que se conoce hoy en día como base de datos. Podemos decir que una base de datos es una serie de datos relacionados que forman una estructura lógica, esta estructura es reconocible desde un programa informático. Esta estructura no solo contiene los datos, sino la forma en que se relacionan. Las bases de datos hacen su aparición en la década de 1960 y triunfan en las décadas setenta y ochenta del siglo pasado.
Historia de las Bases de Datos Este término se escuchó por primera vez en un simposio celebrado en California en 1963.
Orígenes: Las bases de datos se remontan hasta la antigüedad donde ya existían bibliotecas muy bien clasificadas. En estas bibliotecas se guardaba información relevante a la época como censos y
cosechas. El problema de estas bases de datos antiguas era la lentitud e ineficacia a la hora de buscar información. No se contaba con la ayuda de máquinas para realizar el trabajo. En 1884 Herman Hollerith creo una maquina automática de tarjetas perforadas, siendo nombrado como el primer ingeniero estadístico de la historia, en esa época los censos se realizaban de forma manual. En 1060 aparecen las cintas magnéticas, estas son utilizadas para automatizar la información y hacer respaldos. A través de este mecanismo empieza la automatización de la información, con la desventaja que únicamente se podía hacer de forma secuencial.
Debido a este problema Hollerith crea una maquina tabuladora y censadora que utilizaba tarjetas perforadas.
de forma eficiente. Asi se desarrollaron herramientas como Excel y Access del paquete de Microsoft Office que marca el inicio de las bases de datos orientadas a objetos. Esto da inicio a la tercera generacion de sistemas de gestion de bases de datos.
Actualidad Década de 1980: A principios de los años ochenta del siglo pasado comenzó el auge de las bases de datos relacionales y con ello un lenguaje de consulta que todo mundo llamo SQL (Structured Query Lenguage). SQL permite efectuar consultas en una base de datos para recuperar información de interés y hacer cambios de forma sencilla.
Década de 1990 En los noventas la investigación en bases de datos da un giró en torno a las bases de datos orientadas a objetos. Estas bases de datos han tenido éxito en campos donde las bases de datos relacionales no han podido desarrollarse
Hoy en día las tres compañías que dominan el mercado de las bases de datos son: IBM Microsoft Oracle En la actualidad existe gran cantidad de software que permite crear y manejar bases de datos con gran facilidad, un ejemplo es LINQ de Microsoft que utiliza consultas nativas semejantes a las de SQL para los lenguajes de la plataforma .NET. El objetivo de este proyecto es permitir que todo el código dentro de Visual Studio sea orientado a objetos.
Una base de datos contiene un conjunto de elementos o hechos relacionados acomodados en una estructura especifica. El ejemplo más obvio de una base de datos no computarizada es el directorio telefónico. Las compañías telefónicas utilizan programas de bases de datos para producir sus directorios telefónicos que no solo este ordenado por apellidos, sino por número telefónico o dirección. Estos directorios son fáciles de producir ya que la base de datos electrónica de la compañía telefónica puede organizar rápidamente los datos en muchas formas diferentes.
Antes de continuar con el aprendizaje de las bases de datos debemos conocer la forma en que los datos están organizados dentro de la base de datos y algunos términos comunes muy importantes. Tres términos importantes deben conocerse en relación con las bases de datos, estos son: