TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de...

20
TEMA 2: SISTEMAS INFORMÁTICOS - EL SOFTWARE ÍNDICE: 1. PARTE I: LOS DATOS.........................................................................................................2 1.1. SISTEMAS DE CODIFICACIÓN............................................................................... 2 1.1.1. Representación Numérica.................................................................................. 2 1.1.2. Representación Alfanumérica............................................................................ 6 1.1.3. Representación Interna de Gráficos................................................................... 7 1.2. ARCHIVOS Y REGISTROS........................................................................................8 1.3. BASES DE DATOS....................................................................................................11 2. PARTE II: LOS PROGRAMAS..........................................................................................13 2.1. INTRODUCCIÓN...................................................................................................... 13 2.2. CICLO DE VIDA DEL SOFTWARE........................................................................ 13 2.3. DOCUMENTACIÓN DE PROGRAMAS................................................................. 14 2.4. ERRORES...................................................................................................................15 2.5. LENGUAJES DE PROGRAMCIÓN......................................................................... 15 2.6. SOFTWARE DE SISTEMA.......................................................................................16 2.7. SOFTWARE DE APLICACIÓN................................................................................17 2.8. VIRUS.........................................................................................................................18 2.9. LEGISLACIÓN.......................................................................................................... 18 3. BIBLIOGRAFÍA................................................................................................................. 19 SOFTWARE: Es el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de todos los dispositivos de un ordenador. Dentro de esta información se puede distinguir entre lo que son datos y lo que son programas o instrucciones, de forma que este tema se divide en dos partes principales: Datos y Programas. 1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 1 de 20

Transcript of TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de...

Page 1: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

TEMA 2: SISTEMAS INFORMÁTICOS - EL SOFTWARE

ÍNDICE:

1. PARTE I: LOS DATOS.........................................................................................................2 1.1. SISTEMAS DE CODIFICACIÓN...............................................................................2

1.1.1. Representación Numérica..................................................................................2 1.1.2. Representación Alfanumérica............................................................................6 1.1.3. Representación Interna de Gráficos...................................................................7

1.2. ARCHIVOS Y REGISTROS........................................................................................8 1.3. BASES DE DATOS....................................................................................................11

2. PARTE II: LOS PROGRAMAS..........................................................................................13 2.1. INTRODUCCIÓN......................................................................................................13 2.2. CICLO DE VIDA DEL SOFTWARE........................................................................13 2.3. DOCUMENTACIÓN DE PROGRAMAS.................................................................14 2.4. ERRORES...................................................................................................................15 2.5. LENGUAJES DE PROGRAMCIÓN.........................................................................15 2.6. SOFTWARE DE SISTEMA.......................................................................................16 2.7. SOFTWARE DE APLICACIÓN................................................................................17 2.8. VIRUS.........................................................................................................................18 2.9. LEGISLACIÓN..........................................................................................................18

3. BIBLIOGRAFÍA.................................................................................................................19

SOFTWARE:

Es el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de todos los dispositivos de un ordenador. Dentro de esta información se puede distinguir entre lo que son datos y lo que son programas o instrucciones, de forma que este tema se divide en dos partes principales: Datos y Programas.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 1 de 20

Page 2: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

1. PARTE I: LOS DATOSLos datos son los caracteres o valores que se van a manipular en el ordenador. Normalmente hablamos de datos de entrada que son procesados y dan como resultado unos datos de salida.

Los datos de entrada tal como los manejamos los usuarios no son inteligibles para el ordenador por eso deben ser codificados de acuerdo a unas normas que veremos a continuación.

1.1. SISTEMAS DE CODIFICACIÓNExisten distintos tipos de codificación de la información dependiendo de si es numérica o alfanumérica.

1.1.1. Representación NuméricaEstá basada en los distintos SISTEMAS DE NUMERACIÓN. Vamos a tratar los sistemas decimal, binario y hexadecimal, que detallamos a continuación:

• SISTEMA DECIMAL:El hombre usa normalmente el sistema decimal para contar. Este sistema utiliza la base 10 que significa que utilizamos 10 símbolos para representar todos los valores:

0 1 2 3 4 5 6 7 8 9

Con este sistema de numeración cada valor numérico se obtiene a partir de la fórmula siguiente: Valor = D0*1 + D1*10 + D2*100 + D3*1000 + …

O lo que es más natural: Valor = U + D*10 + C*100 + UM*1000 + …

Extrapolando a una base genérica, sería:n-1

Valor = Σ (dígito)i * (base)i donde n es el número de dígitos y base, en este caso es 10.i=0

• TEOREMA FUNDAMENTAL DE LA NUMERACIÓN:Relaciona una cantidad expresada en cualquier sistema de numeración con la misma cantidad expresada en el sistema decimal. Este teorema dice que el valor decimal de una cantidad expresada en otro sistema de numeración, viene dado por la fórmula:

Nº(base antigua = ... + (dígo-1 * base-1) + (díg0 * base0) + (díg1 * base-1) + (díg2 * base-2) + ... Nº( 10

Ejemplo: 201'1(3 = 2*32 + 0*31 + 1*30 + 1*3-1 = 18 + 1 + 0.333 19.333(10

La suma de todos los términos del sumatorio da lugar al número en base 10.

• SISTEMA BINARIO:En lugar de utilizar los 10 símbolos del sistema decimal sólo se utilizan dos: 0 y 1.Este es el sistema que resulta inteligible al ordenador ya que el 1 representa presencia de carga eléctrica y el 0 representa ausencia de carga eléctrica.Ejemplos de números en formato binario son: 1100, 0010, 101010, pero no 1002.Se suele poner una 'b' detrás de un número binario para especificar que es binario: 110101b.Ojo con diferenciar 101b y 101 en decimal.

La información mínima representada con 1 ó 0 es lo que conocemos como bit (binary digit).A partir de esta unidad elemental se manejan otras unidades superiores: 1 Byte = octeto = 8 bits 1 Kilobyte = 1024 Bytes 1 Megabyte = 1024 Kb 1 Gigabyte = 1024 Mb 1 Terabyte = 1024 Gb

EJEMPLO: Representar con el sistema binario los 15 primeros números. EJEMPLO: Aplicar la fórmula del sumatorio para comprobar los valores dados.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 2 de 20

Page 3: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

• OPERACIONES BINARIAS:Suma binaria: Resta binaria: Multiplicación: División:

0 + 0 = 0 0 – 0 = 0 0 * 0 = 0 (Caso especial)

0 + 1 = 1 0 – 1 = 1 (llevando una) 0 * 1 = 0 1001 / 10 = 100

1 + 0 = 1 1 – 0 = 1 1 * 0 = 0

1 + 1 = 1 (llevando una) 1 – 1 = 0 1 * 1 = 1

• SISTEMA HEXADECIMAL:Es el sistema de base 16 en el que se utilizan los siguientes 16 símbolos para la representación numérica:

0 1 2 3 4 5 6 7 8 9 A B C D E F

Ejemplos de números en formato hexadecimal son: 1100, A21BF, CACA.Se suele poner una 'h' detrás de un número hexadecimal, o se antepone 0x al número: 23A0h ó 0x23A0.

EJEMPLO: Escribe los números del 30 al 40, en formato hexadecimal, sabiendo que el 30 es el 1Eh y que el 40 es el 28h.

• CONVERSIONES ENTRE SISTEMAS DE NUMERACIÓN:Decimal-Binario: Divisiones sucesivas entre 2. Los restos dan lugar al número binario. Binario-Decimal: Utilizando la fórmula del sumatorio. Decimal-Hexadecimal: Divisiones sucesivas entre 16. Los restos forman el número hexadecimal. Hexadecimal-Decimal: Aplicando la fórmula del sumatorio. Hexadecimal- Binario: Se escribe cada cifra hexadecimal con 4 cifras binarias: 2Bh => 2 B C

0 0 1 0 . 1 0 1 1 . 1 1 0 0Binario-Hexadecimal: Se forman grupos de 4 en 4 dígitos binarios empezando por la derecha.

• FORMATOS DE REPRESENTACIÓN:El almacenamiento de números puede ajustarse a distintos formatos de representación, en función de su naturaleza y la utilización de los mismos.

➢ Coma Fija o Punto Fijo:Se utiliza para representar números enteros suponiéndose la coma decimal al final de todos los dígitos.Al hacer operaciones con ellos se pueden producir desbordamientos.Dentro de este tipo de representación puede haber formatos distintos: – Binario Puro (Números naturales): Una cantidad numérica en binario puro ocupa tantos bits

como mida una palabra del sistema (8,16,32,64 bits). – Coma Fija con signo: Se reserva uno de los n bits, normalmente el extremo izquierdo, para el

signo del número, de forma que valdrá 0 si el número es positivo y 1 si el número es negativo.El resto de bits se utiliza para representar el número en binario puro; el rango de numeración de este método es 2n números distintos, desde - (2n – 1) hasta (2n – 1).Con este método el nº 0 tiene dos representaciones distintas, como positivo y como negativo, lo que provoca que la detección de los números negativos no pueda realizarse sólo comprobando el bit de signo, a menos que se restrinja esta combinación.

– Decimal Desempaquetado: Está basado en el sistema de codificación BCD (binary-coded decimal) según el cual cada dígito decimal se representa con 4 dígitos binarios:0 => 0000 1 => 0001 2 => 0010 3 => 0011 ... 9 => 1001El decimal desempaquetado no utiliza un cuarteto de bits por dígito decimal sino dos: el cuarteto izquierdo siempre 1111 (F en Hexadecimal) y el cuarteto derecho el que corresponda según el código BCD. El signo se representa con el cuarteto izquierdo del último dígito, siendo Ch (1100) para el positivo y Dh (1101) para el negativo. Ejemplo: El número 1994 se representará así:

1 9 9 41111 0001 1111 1001 1111 1001 (C,+)1100 0100 [En Hex: F1 F9 F9 C4]

Ejemplo: El número -1994 se preresentará igual salvo el último octeto: - 1 9 9 4

1111 0001 1111 1001 1111 1001 (D,-)1101 0100 [En Hex: F1 F9 F9 D4]

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 3 de 20

Page 4: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

– Decimal Empaquetado: Cada cifra decimal se representa con un cuarteto binario igual que en BCD y se añade un cuarteto al final, por la derecha que representa el signo (Ch +, Dh - ).Si el primer byte no se llena se completa por la izquierda un cuarteto a 0. Ejemplo: El número 1994 se representará así:

[Relleno] 1 9 9 4 [Signo] 0000 0001 1001 1001 0100 1100 [En Hex: 01 99 4C]

Ejemplo: El número -24175 se representará así: 2 4 1 7 5 (Signo)

0010 0100 0001 0111 0101 1101 [En Hex: 24 17 5D]

➢ Complemento a 1:El bit más significativo actuará como bit de signo, pero con la diferencia de que no se opera con el signo por separado sino con la cadena completa, es decir, los números positivos empezarán por cero y detrás irá el valor del número representado en binario puro y los negativos empezarán por uno e irán seguidos del valor del número en complemento a 1. Hay dos formas de calcular el complemento a 1 de un número:

Ejemplo: Vamos a realizar dos restas, 75 – 68 y 75 – 75. Para ello vamos representar el -68 como el complemento a 1 del número 68, y luego sumamos. Lo mismo con el -75.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 4 de 20

Page 5: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

➢ Complemento a 2:Este sistema es el más utilizado en los ordenadores actuales. Seguimos partiendo de “n” bits para representar el número. En este sistema también se reserva el bit del extremo izquierdo (el más representativo) como bit de signo, y se opera con la secuencia de bits completa, es decir, los números positivos empiezan por cero (seguidos del número en binario puro) mientras que los negativos empiezan por 1, seguidos del valor del número en complemento a 2.La forma más sencilla de calcular el complemento a 2 de un número es sumando una unidad al complemento a 1 del número.Ejemplo: Vamos a realizar la resta 75 – 68, representando el -68 con su complemento a 2, y sumado.

Ejemplo: Veamos una resta de resultado negativo (68 – 75)

➢ Coma Flotante:Se utiliza para representar números con decimales o números enteros con un número grande de dígitos. Para esta representación se utiliza la notación científica o exponencial matemática en la que las cantidades se representan con los siguientes elementos:

Nº = (signo) mantisa * base (signo) exponente

– El signo: Se utiliza el bit 0 para positivos y el bit 1 para negativos.– La mantisa: es el número que se desea representar, formateado con una única cifra en

la parte entera. Para obtener la mantisa de esta forma, se desplaza la coma el número de cifras necesario, que va a parar al exponente.

– La base ser 2, 10, 16.– El exponente (6 bits) es la potencia de la base utilizada, necesaria para obtener el

desplazamiento del número formateado sin parte entera. Ejemplo: El número 835'4 se representará como +8'354 * 102 en notación exponencial en base 10.

Ver ComaFlotante.pdf

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 5 de 20

Page 6: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

1.1.2. Representación AlfanuméricaUn ordenador puede trabajar internamente con un conjunto de caracteres que nos permitirán manejar datos, informaciones, instrucciones, órdenes de control, etc. Este conjunto de caracteres podemos subdividirlo en los siguientes grupos:

• Caracteres alfabéticos: Son todas las letras mayúsculas y minúsculas salvo la Ñ y ñ. • Caracteres numéricos: Son los 10 dígitos decimales del 0 al 9. • Caracteres especiales: son los de puntuación y algunos más que pueden complementar el alfabeto (, . - +

* ¿¿=()/&%$·”!ºªñÑ{}<>...). • Caracteres de control: NUL, Beep, CR, AvPag, EOF,...

En general cada carácter sea del tipo que sea se representa siempre con un conjunto de bits que suele ser de 8. En un principio se usaban códigos de caracteres de 5, 6 o 7 bits como FIELDATA, o ASCII de 7 bits. Actualmente el código de representación de caracteres más conocido es el ASCII extendido que utilizando 8 bits por carácter puede representar hasta 256 caracteres entre los cuatro tipos comentados anteriormente.

Para obtener un carácter cualquiera de la tabla mantenemos pulsada la tecla [Alt] y tecleamos en el teclado numérico de la derecha el número correspondiente a su código ASCII:

Caracteres ASCII no imprimibles: los 32 primeros caracteres del código ASCII son caracteres de control y tienen un significado especial, sobre todo en protocolos de comunicaciones.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 6 de 20

Page 7: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

1.1.3. Representación Interna de GráficosExisten dos tipos de codificación para la información gráfica: la matricial y la vectorial, y dos formas distintas de representación: en dos dimensiones (2D) y en tres dimensiones (3D).

Representación Matricial (Mapa de bits):

Representación Vectorial:

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 7 de 20

Page 8: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

Diferentes geometrías presentes en una representación vectorial

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 8 de 20

Page 9: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

1.2. ARCHIVOS Y REGISTROSLa ejecución de cualquier programa siempre necesita Entrada de datos ® Proceso ® Salida de datos. Estos datos de entrada y de salida tienen que encontrarse en algún soporte que con frecuencia suele ser Disco.

Un archivo o fichero es una estructura de datos que reside pues en memoria secundaria, consistente en un conjunto de informaciones estructuradas en unidades de acceso denominadas registros, todos del mismo tipo y en número indeterminado.

Un registro lógico, o simplemente registro, es cada uno de los componentes del archivo, conteniendo el conjunto de informaciones que se acceden y se tratan de manera unitaria. Está constituido por uno o más elementos denominados campos que pueden ser de diferentes tipos y que a su vez pueden estar compuestos por subcampos.

Un registro puede tener un campo clave, cuyo valor sirve para identificar de forma única el registro, y por tanto, dicho valor no puede aparecer repetido en otro registro diferente. Puede suceder que un archivo no tenga campo clave en sus registros o, por el contrario, que tenga varios, denominándose a la principal clave primaria y a las demás secundarias. Si un archivo contiene la información de un conjunto de individuos u objetos, sus registros contienen la información de cada uno de ellos y los campos los diferentes datos que la componen.

Un registro físico o bloque corresponde a la cantidad de información que se transfiere físicamente en cada operación de acceso (lectura o escritura) sobre el exterior. Conviene separar claramente los conceptos de registro lógico y registro físico, diferenciándose en que el tamaño y formato del registro lógico los define el programador, mientras que el tamaño del registro físico viene dado por las características físicas de la computadora utilizada.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 9 de 20

Page 10: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

Características de los archivos:Las principales características que diferencian esta estructura de datos de las restantes son las siguientes:

• Residencia en soportes de información externos, también denominados memorias secundarias o auxiliares, como son las cintas y discos.

• Independencia respecto de los programas: la vida del archivo no está limitada a la vida del programa que lo creó, y puede ser utilizado por diferentes programas.

• Permanencia de las informaciones almacenadas: toda la información almacenada en la memoria central desaparece cuando se termina la ejecución del programa que la maneja, pero para hacer desaparecer un archivo será necesario realizar explícitamente una operación de borrado.

• Gran capacidad de almacenamiento: en teoría la capacidad es ilimitada. Por el contrario, las estructuras de datos que residen en la memoria central tienen limitado su tamaño por la capacidad de ésta.

Tipos de archivos de datos:• PERMANENTES: Contienen información que varía poco a lo largo del tiempo. Pueden ser de 3 clases:− De constantes: Su información permanece prácticamente inamovible, y se utilizan principalmente

como archivos de consulta (Códigos postales, prefijos telefónicos,...)− De situación: También se llaman maestros y contienen la información que refleja el estado o

situación de una empresa, entidad o algún aspecto de ella en un determinado momento. Estos archivos se actualizan periódicamente para adaptarlos a nuevas situaciones (inventario, empleados...)

− Históricos: Se obtienen de los anteriores y sirven para realizar estudios estadísticos o consultas.

• DE MOVIMIENTOS: En ellos se almacena la información que se utilizará para actualizar los archivos maestros. Sus registros, denominados movimientos o transacciones, son de tres tipos: altas, bajas y modificaciones. Una vez realizado el proceso de actualización de un archivo maestro enfrentado a un de movimientos, éste pierde su validez.

• DE MANIOBRA O TEMPORALES: Tienen una vida limitada, normalmente igual a la duración de la ejecución de un programa, y se utilizan como auxiliares de los anteriores.

Organización de los registros de los archivos:Al diseñar un archivo de datos, dependiendo del uso que se va a hacer del mismo y del soporte utilizado, se pueden elegir diferentes maneras de organizar sus registros, siendo las principales organizaciones las siguientes:

• Secuencial: Es aquélla en la cual los registros ocupan posiciones consecutivas de memoria, y sólo se puede acceder a ellos de uno en uno a partir del primero. En un archivo secuencial no se pueden hacer operaciones de escritura cuando se está leyendo, ni operaciones de lectura cuando se está escribiendo. Por otro lado, para actualizarlos es preciso crear nuevos archivos donde se copien los registros que vayan a permanecer, modificados o no, junto con los nuevos.

• Directa o aleatoria: En un archivo con esta organización, también denominada relativa, las informaciones se colocan y se acceden aleatoriamente mediante su posición, es decir, indicando el lugar relativo que ocupan dentro del conjunto de posiciones posibles. En esta organización se pueden leer y escribir registros, en cualquier orden y en cualquier lugar. Presenta el inconveniente de que es tarea del programador establecer la relación entre la posición que ocupa un registro y su contenido; además, puede desaprovecharse parte del espacio destinado al archivo, ya que pueden quedar huecos libres entre unos registros y otros. Su principal ventaja es la rapidez de acceso a un registro cualquiera, ya que para ello no es preciso pasar por los anteriores. La fórmula para asignar una clave a un registro a partir del valor de uno de sus campos es lo que llamamos direccionamiento o función de asignación de dirección.

• Secuencial indexada: Un archivo con esta organización consta de tres áreas: Área de índices: es un archivo secuencial creado por el sistema, en el que cada registro establece una división (segmento) en el área primaria, y contiene la dirección de comienzo del segmento y la clave más alta del mismo. Área primaria o de datos: es la zona de acceso directo en la que se encuentran los registros ordenados en función de un campo clave. Área de excedentes (también overflow). es un espacio reservado para añadir nuevos registros que no han podido ser ubicados en la posición que les correspondería por su clave debido a que su segmento está todo ocupado por registros.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 10 de 20

Page 11: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

El concepto de campo clave en un fichero de organización indexada difiere del de fichero directo. En esta organización la clave es uno de los campos que forman parte del registro y sus características son:− Puede ser numérico o alfanumérico.− Puede estar compuesto por varios campos (p.ej. APELLIDOS + NOMBRE).− Puede haber varias claves secundarias o alternativas pero sólo una y siempre una que sea

primaria o principal.− La clave primaria no puede duplicarse en varios registros, debe contener valores únicos.− Las claves alternativas sí que pueden admitir duplicados.

Modos de acceso:Se denomina modo de acceso a la forma en que el dispositivo de E/S que maneja el soporte se posiciona en un determinado lugar del mismo para realizar una operación de lectura o escritura de un registro. El modo de acceso lo decide el programador de la aplicación en función del soporte utilizado y el tipo de organización. Hay dos modos de acceso:

• Acceso secuencial : Supone acceder inicialmente al primer registro del archivo y después, de forma consecutiva, a los registros sucesivos hasta llegar al registro deseado. Este tipo de acceso se puede utilizar con todos los dispositivos.

• Acceso directo : Solamente se puede realizar en los denominados soportes direccionables, como los discos magnéticos, y consiste en el posicionamiento sobre cualquier registro sin necesidad de acceder previamente a los anteriores.

Operaciones: Con un fichero se pueden realizar las siguientes operaciones:• Creación: consiste en la escritura o grabación en un soporte determinado de todos los registros que van

a formar el archivo. Los datos pueden ser introducidos desde teclado, proceder de otro archivo o de resultado de alguna operación.

• Copia: consiste en duplicar un archivo que ya existe dejando la copia en otro dispositivo o en el mismo que estaba con otro nombre. El dispositivo de destino podría ser la impresora.

• Consulta: se realiza para obtener el contenido de uno o varios registros. El registro/s a mostrar se puede obtener a partir de un proceso de búsqueda por uno de sus campos.

• Clasificación u ordenación: se trata de reubicar los registros dentro del fichero de forma que queden ordenados con respecto a los valores de alguno/ de sus campos. Un fichero ordenado es más fácil y rápido de consultar.

• Concatenación: se obtiene a partir de dos ficheros de igual estructura resultando un fichero que contiene primero los registros de uno y seguidamente los del otro.

• Intersección: también se obtiene a partir de dos ficheros de igual estructura, pero el resultado es un fichero que contiene los registros que se encuentran en ambos a la vez.

• Fusión o mezcla: a partir de dos ficheros clasificados por un mismo campo se obtiene otro que contiene los registros de ambos y que mantiene la ordenación.

• Partición: consiste en descomponer un archivo en dos, atendiendo a alguna característica de los registros que los componen.

• Actualización: es la operación de modificar un archivo de situación por medio de un archivo de movimientos, conteniendo altas, bajas y modificaciones que hay que realizar sobre un archivo maestro.

• Borrado: consiste en eliminar totalmente el archivo del dispositivo en el que se encuentre.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 11 de 20

Page 12: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

1.3. BASES DE DATOSLos sistemas de información de las empresas son cada vez más grandes y complejos, y su gestión mediante el uso de archivos presenta algunos inconvenientes, como el hecho de que los datos estén repartidos por distintos departamentos de la empresa, lo que supone tener que desplazarse o solicitarlos cada vez que se necesitan. Además, pueden estar repetidos. Las actualizaciones dispersas pueden dar lugar a inconsistencias si no se controlan correctamente. Los sistemas de bases de datos intentan evitar todos estos inconvenientes.

Podemos definir una base de datos (BD) como un conjunto integrado de datos interrelacionados, junto con una serie de aplicaciones para su manejo, accesibles simultáneamente por diferentes usuarios y programas.

Se llama Sistema Gestor de Base de Datos (SGBD) al software que proporciona un entorno al usuario para poder crear, modificar, manipular bases de datos o incluso desarrollar aplicaciones para acceso a las mismas.

Principales características de las Bases de Datos:

• Control centralizado de los datos .• Integridad de los datos .• Minimización de las redundancias. • Independencia de los datos y las aplicaciones.• Acceso concurrente a los datos.• Coste mínimo de almacenamiento y mantenimiento.• Versatilidad para la representación de relaciones.• Establecimiento de medidas de seguridad.• Facilidad para el cambio (hardware y software).

Modelos de Bases de Datos:

El modelo depende de la estructura que se utilice para expresar las relaciones existentes entre las diferentes unidades de datos que la constituyen.

• Modelo jerárquico: utiliza una estructura en árbol para establecer relaciones tipo 1:N (uno a muchos). Una BD está constituida por uno o más árboles que tienen un nodo raíz a partir del cual descienden los nodos hijos de forma que cada nodo padre se relaciona con varios nodos hijos.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 12 de 20

Page 13: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

• Modelo en red: utiliza la estructura de red o grafo, que permite definir entre todos los nodos relaciones M:N (muchos a muchos). La relación se establece mediante apuntadores entre los nodos:

• Modelo Relacional: se basa en el álgebra relacional. Las relaciones R entre las unidades de datos o entidades E se expresan mediante tablas de dos dimensiones. Una base de datos de este tipo estará formada por varias tablas en las que una fila (tupla) contiene una ocurrencia de valores, con un significado definido, y en donde una columna contiene los diferentes valores de un campo concreto de una entidad.

Tabla COCHES:Código: Matrícula: Marca: Modelo: Potencia:

1 M-0464-SG Seat Toledo 75 CV

2 2110 DWT Citröen C5 140 CV

3 0101 FGS Opel Astra 115 CV

Este tipo de Bases de datos es el más comercializado actualmente y existen muchas marcas en el mercado con más o menos prestaciones:▪ Para grandes sistemas: ORACLE, INFORMIX, SQL-SERVER, DB-2.▪ Creados para redes como Unix, WNT, VMS.▪ Para uso más doméstico o de pequeña empresa: ACCESS, DBASE, FOXPRO.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 13 de 20

Page 14: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

2. PARTE II: LOS PROGRAMAS

2.1. INTRODUCCIÓN

La automatización de procesos presenta algunas ventajas claras respecto a los procesos manuales:• Rapidez en la realización de las operaciones.• Soluciones exactas en cálculos de gran precisión.• Los procesos repetitivos se hace de forma eficaz.

La forma de conseguir la automatización de procesos con ordenadores se logra mediante programas que ordenan al procesador la forma de realizar las tareas. En este capítulo vamos a ver cómo se diseña y organiza ese software que llamamos programas.

2.2. CICLO DE VIDA DEL SOFTWARE

Desde que se plantea un problema o situación que se quiere realizar con un sistema informático arranca el ciclo de vida del software que lo va a resolver. Este ciclo está compuesto por varias etapas. Estas etapas se pueden agrupar en dos fases: Análisis y Diseño del programa, y la Implantación y Explotación del mismo.

Como se puede apreciar en la imagen anterior, la primera etapa tiene como objetivo obtener un programa que resuelva el problema concreto, mientras que en la segunda etapa ese programa se convierte en una aplicación que se implanta y explota en un entorno concreto (en el argot, se dice que el programa está en producción).

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 14 de 20

Page 15: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

FASE I: ANÁLISIS y DISEÑO

• Análisis: Consiste en el estudio detallado del problema o situación que se desea resolver desde el punto de vista informático. Se trata de obtener el/los documentos que contengan unas especificaciones que marquen las pautas para empezar el proceso de automatización. Se divide en tres partes:

◦ Análisis previo: visión general de costes, plazos, recursos, requerimientos, viabilidad.◦ Análisis funcional: construcción teórica del sistema con la descripción de las funciones del

programa a partir de las necesidades del usuario. Procesos, entradas y salidas.◦ Análisis orgánico: Descripción de las cadenas de tratamiento y unión entre ellas.

• Programación: Es la realización de una solución o algoritmo del problema planteado. Este algoritmo es una sucesión coherente y ordenada de instrucciones escritas normalmente en lenguaje común (en español o en inglés). Este algoritmo se puede presentar en forma de PSEUDOCÓDIGO o en forma de ORDINOGRAMA que es una representación más simbólica.

• Codificación: Es la traducción del pseudocódigo u ordinograma a un lenguaje de programación de alto nivel. Este paso sólo se da en el caso de lenguajes que usan hojas de codificación como el COBOL.

FASE II: IMPLANTACIÓN y EXPLOTACIÓN

• Edición: En esta fase el programa codificado se escribe con un editor en modo texto dando lugar a lo que conocemos como programa FUENTE. En este paso el programa aún no es ejecutable.

◦ Compilación: Consiste en ejecutar un programa traductor que convierta una a una las instrucciones del programa fuente en instrucciones de código máquina, o sea entendibles al ordenador. Esto sería lo que se conoce como programa OBJETO. El programa capaz de realizar esta operación lo distribuye la empresa que distribuye y asiste en cada uno de los lenguajes y se llama compilador.

◦ Enlace (o linkage): es la operación que realiza un programa linkador o enlazador, necesario ya que un programa puede constar de varios módulos enlazados entre sí, o de llamadas a librerías de funciones o procedimientos. En este momento se obtiene un programa EJECUTABLE.

• Prueba de ejecución: El programa ejecutable es sometido a un juego de datos de prueba capaz de detectar las posibles incorrecciones en su funcionamiento.

• Explotación y mantenimiento: Una vez comprobado el correcto funcionamiento e instalación la aplicación queda a disposición de usuarios, que la utilizarán mientras tenga vigencia. El mantenimiento consiste en evaluar periódicamente el programa o aplicación y si se detecta alguna deficiencia o nueva necesidad atenderla adaptando o retocando el programa donde sea necesario.

2.3. DOCUMENTACIÓN DE PROGRAMAS

Es el conjunto de documentos que se elaboran en cada una de las etapas del análisis y diseño. Aunque es una de las partes más tediosas y aburridas, es muy importante para facilitar el mantenimiento de un programa y obtener así un mayor rendimiento. Es algo que añade valor al programa. Estos documentos suelen ser, de varios tipos:

• Documentación de Diseño:◦ Especificaciones del análisis.◦ Descripción del diseño.◦ Descripción de las versiones, si las hay.◦ Descripción de archivos y estructuras de datos.◦ Descripción del programa principal y subprogramas.

• Documentación de Usuario:◦ Manual de instalación.◦ Manual de mantenimiento.◦ Manual de explotación o de usuario.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 15 de 20

Page 16: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

2.4. ERRORES

Los tipos de errores que se pueden dar al desarrollar el software son:• De especificación: Son los más difíciles de corregir, pues corresponden a incorrecciones sobrevenidas

en la etapa del análisis, por lo que hay que modificar gran parte de trabajo.• De compilación (o sintaxis): se detectan en el proceso de compilación gracias a los mensajes de error

que emite el propio programa compilador indicando qué error se ha detectado y en qué línea.• De ejecución: Normalmente hacen abortar el programa al detectar errores graves como ‘disco lleno’,

‘fichero cerrado’, ‘dispositivo no preparado’...

Por otra parte, a la hora de realizar un programa es necesario poner a prueba el programa con un abanico grande y variado de posibilidades diferentes de ejecución, para detectar todos los posibles errores. En este escenario, se pueden dar estos errores:

• Lógicos: Se dice que un programa tienen errores de lógica cuando realiza una operación inesperada o devuelve un valor incorrecto.

• Grabación de datos: Pueden encontrarse datos incorrectos en los ficheros.

2.5. LENGUAJES DE PROGRAMCIÓN

Un lenguaje de programación es una sistema estructurado que sirve para escribir los programas a través de los que se puede interactuar con el HW de un sistema informático, dándole las órdenes adecuadas para la realización de un determinado proceso. Un lenguaje de programación se parece a un idioma, tiene un vocabulario (palabras reservadas) y una sintaxis (colección de instrucciones).Los Lenguajes de Programación de Bajo Nivel son los más cercanos a la máquina: código máquina.Los Lenguajes de Programación más cercanos al usuario o programador se les llama de Alto Nivel.

TRADUCTORES:

Antes de conocer los tipos de lenguajes existentes es conveniente dejar claro lo que es un programa traductor y los tipos que hay. Los traductores son los programas que incluyen los productos de desarrollo al vender un lenguaje de programación. Para hacer un programa en cualquier lenguaje que no sea de bajo nivel necesitamos traducirlo a código máquina para que el ordenador lo entienda y lo pueda ejecutar. Esa traducción a código máquina la hace el traductor que siempre será un Intérprete o un Compilador.

El Intérprete traduce y ejecuta al mismo tiempo. Los lenguajes interpretados se editan y ejecutan sin salir del entorno de desarrollo. No se puede ejecutar un programa interpretado sin el intérprete en memoria. Para conocer los errores de un programa tenemos que ejecutar y en el primer error que se encuentra, la ejecución se detiene y se muestra el error cometido; cuando se subsana la ejecución continua.

El Compilador traduce el programa fuente analizando posibles errores de sintaxis; si no encuentra ninguno se obtiene el programa objeto. Pero aún se necesita un paso más para poder ejecutar el programa: el proceso de linkado: entonces ya se obtiene el programa ejecutable. Ya se puede ejecutar el programa sin necesidad de tener compilador ni linkador.

CLASIFICACIÓN DE LOS LENGUAJES:

a) Según el fin con el que se crearon:• Imperativos: Utilizan instrucciones como unidad de trabajo de los programas. En estos lenguajes el

programador ha de especificar simultáneamente el problema que hay que resolver y el procedimiento a seguir para obtener la solución. Indican el “cómo” resolver el problema. Ejemplos:

BASIC (Beginner’s All-purpose Symbolic Instruction Code, 1964): Creado para principiantes en la programación. Surgieron muchas versiones y actualmente se usa la versión para Win.

COBOL (Common Business Oriented Language, 1960): Creado para gestión de datos. PASCAL (en honor al matemático Pascal, 1970): Creado para la enseñanza de la programación. Se

definen todo tipo de datos y se programa por módulos. Se ha utilizado mucho en las escuelas técnicas de la universidad. Actualmente se usa la versión para Win bajo el nombre de “Delphi”.

C/C++: Desarrollado por Kerninghan y Ritchie en los laboratorios Bell en 1979 con el propósito de desarrollar el sistema operativo UNIX, escrito mayoritariamente en C.El Lenguaje C es un lenguaje multipróposito muy utilizado en ingeniería de software para crear sistemas operativos, compiladores, procesadores de textos,...El C++ es igual que C pero añadiendo programación orientada a objetos.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 16 de 20

Page 17: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

ADA: lleva el nombre de una mujer programadora Lady Ada. Desarrollado en el año 1979 por el Departamento de Defensa de los EEUU, para ayuda en la toma de decisiones, aunque se puede considerar un lenguaje de propósito general. Se caracteriza por la reusabilidad del código.

Módula-2: Desarrollado por el mismo autor que el Pascal en 1983.

• Declarativos: los programas se construyen mediante descripciones de funciones o expresiones lógicas. Los programas indican el “qué” hacer para resolver el problema pero no el “cómo”.

LISP (LISt Processing): Creado en 1958 con fines matemáticos. Trata de imitar el razonamiento inteligente. Sólo utiliza un tipo de datos, las listas. El mismo programa está formado por una lista de instrucciones. Es el lenguaje más utilizado en aplicaciones de inteligencia artificial, en creación de sistemas expertos y en manipulación de robots.

PROLOG (PROgrammation en LOGique): Creado en los años 70 en la Universidad de Marsella, es un lenguaje de programación lógico e interpretado que se utiliza en aplicaciones de Inteligencia Artificial.

• Orientados a objetos: El diseño de los programas se basa más en los datos y su estructura que en el problema. La base de la programación orientada a objetos es la herencia. Un entorno orientado a objetos puede crear unidades de código reusable y encapsulado que son extensibles. Ejemplos de este tipo de lenguajes son SmallTalk, C++ y todos los visuales en sus últimas versiones.

• Orientados al problema: diseñados para problemas específicos, principalmente de gestión suelen ser generadores de aplicaciones.

• Naturales: son lenguajes nuevos creados con la finalidad de aproximar el diseño y la construcción de programas al lenguaje de las personas.

b) Según la fecha de aparición:• Primera generación: Lenguajes máquina y ensamblador.• Segunda generación: Primeros lenguajes de alto nivel imperativos (FORTRAN y COBOL).• Tercera generación: Lenguajes de alto nivel imperativos. Son los más utilizados y siguen vigentes en la

actualidad (ALGOL 68, PL/I, PASCAL MODULA).• Cuarta generación: Orientados básicamente a aplicaciones de gestión y al manejo de BBDD (SQL).

c) Según la cercanía a la máquina:• Lenguaje de bajo nivel (lenguaje del procesador o lenguaje máquina): Necesita traducción y se codifica

en binario o hexadecimal.• Lenguajes intermedios: son los ensambladores.• Lenguajes de alto nivel son todos los demás. Los lenguajes de más alto nivel son los llamados lenguajes

de autor en los que no es necesario escribir código binario.

2.6. SOFTWARE DE SISTEMA

El Software de Sistema es el conjunto de programas encargados de la gestión más elemental del Hardware del ordenador. Es el primer programa que se carga en un ordenador, sin el cual, el ordenador no puede realizar ninguna tarea más. Este software se denomina también Sistema Operativo. Los principales sistemas operativos utilizados actualmente en ordenadores personales son:

• DOS (Disk Operating System): También se le conoce por MS-DOS fue diseñado por Microsoft para los ordenadores personales de IBM extendiéndose a todos los ordenadores denominados compatibles. Hasta los años 80 ha sido el SO más extendido.Necesita pocos requerimientos de Hardware. Sólo reconoce 500MB de disco.Interfaz de usuario: La pantalla no utiliza modo gráfico. Resulta pobre. Memoria: sólo utiliza el primer Mb de memoria.Multitarea: No. Multiusuario: No.

• OS/2 (Operating System /2): Es un sistema también de Microsoft creado para los ordenadores PS/2. Mejora en algunas cosas al DOS pero no se ha extendido tanto como éste, pues no se han creado muchos programas para él.Multitarea: Sí.Multiusuario: Sí.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 17 de 20

Page 18: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

• MACINTOSH: Es un SO que sólo funciona en equipos Macintosh de APPLE Computer, pionero en la utilización de entorno gráfico de usuario incluyendo el uso de ventanas, menús desplegables y ratón.Multitarea: Sí.

• WINDOWS: El SO de Microsoft, entendido como sistema operativo, se implantó con la versión de red (Win NT) para ser instalada en un servidor de red. Pero el entorno ya había aparecido antes como software de aplicación para funcionar sobre DOS. Esa aplicación terminó con la versión 3.11 para trabajo en grupo. Después la versión W95 y W98 se consideran ya un sistema operativo autónomo que no necesita DOS aunque respeta las posibilidades de éste en un ordenador que ya lo tuviera instalado. En el año 2000 sale la versión denominada Windows 2000 que unifica todos los anteriores en 4 versiones según el nivel de prestaciones de red. Después aparece la versión Windows XP, y la versión servidor Windows 2003 Server.En los últimos años ha aparecido la versión Windows Vista, con un entorno gráfico muy evolucionado, pero que consumía demasiados recursos y se ha sustituido por Windows 7. En cuanto a la versión servidor, estamos actualmente en Windows 2008 Server.Multitarea: Sí.Multiusuario: Sí.

• UNIX: Desarrollado por AT&T para miniordenadores, con el objetivo de conseguir la portabilidad de programas a cualquier equipo. En un principio no se podía instalar en ordenadores personales, pues éstos eran demasiado limitados, pero actualmente se puede instalar en cualquier ordenador. Se comercializa por distintas compañías según los equipos para los que se haya creado. No tiene limitación en cuanto a memoria central. Existen variantes del Unix original que son SCO, Solaris. La versión libre de este SO se denomina Linux (que también tiene sus variantes).Multitarea: Sí.Multiusuario: Sí.

2.7. SOFTWARE DE APLICACIÓN

El Software de Aplicación se crea para ampliar las posibilidades limitadas que tienen los sistemas operativos. Son programas que permiten realizar operaciones complicadas que un sistema operativo no es capaz de realizar o lo hace de forma muy rudimentaria. Está formado por las aplicaciones de propósito particular que realizan las acciones necesarias para obtener los resultados requeridos en cada momento.

Dentro de este concepto se puede distinguir entre lo que sería SW estándar y software a medida.

SOFTWARE ESTÁNDAR:Es un programa o conjunto de programas cuya aplicación es bastante genérica y no se utiliza en un solo campo, sino que admite un uso bastante general. En este grupo se pueden incluir:

• Programas de utilidades: realizan operaciones similares a las del sistema operativo pero más avanzadas y cercanas al usuario, suelen ser accesorios del SO (chequeo de discos, vacunas, formateos, agendas,...)

• Procesamiento de imágenes: realizan gestiones sobre archivos de imagen.• Procesadores de textos: realizan operaciones de tratamiento de texto.• Hojas de cálculo: se utilizan para tratamiento numérico.• Gestores de Bases de Datos: guardan grandes cantidades de datos estableciendo relaciones entre ellos.

SOFTWARE A MEDIDA:Está formado por aquellos programas que se desarrollan expresamente para un tipo de empresas, ciencia o aplicación. Según este concepto puede haber muchísimas aplicaciones aunque hay algunas que se prestan más especialmente a este tipo de desarrollo de software:

• Aplicaciones para Banca, Seguros, Contabilidad.• Diseño asistido por ordenador.• Programas de entretenimiento y Juegos infantiles.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 18 de 20

Page 19: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

2.8. VIRUS

Los virus informáticos son programas ocultos, normalmente de tamaño reducido, que acompañan a otros programas o archivos de datos, Se trasladan a través de las redes y de los disquetes introduciéndose en la memoria y discos duros de los ordenadores.

Su finalidad es alterar el funcionamiento normal de los ordenadores. Algunos son relativamente inocuos y sus únicos efectos son mensajes en el monitor, pero otros en cambio pueden destruir los datos almacenados, programas e incluso el sistema operativo.

Se puede deducir que existe un virus en nuestro ordenador si notamos algún síntoma extraño como falta de memoria, crecimiento excesivo de los archivos, modificación de algún fichero ejecutable, error en el arranque del disco, etc. La lista de virus conocidos es interminable y aumenta día a día. Algunos famosos son ‘viernes 13’, ‘flip’, diversos troyanos,...

Para proteger los ordenadores de los virus se deben seguir las siguientes recomendaciones:

• Utilizar siempre software original, en lugar de copias ilegales.• Instalar un programa antivirus.• Hacer copias de respaldo de los archivos de datos periódicamente.• No utilizar datos procedentes de redes públicas.

2.9. LEGISLACIÓN

Existen dos aspectos relacionados con el software desde el punto de vista legal: los delitos contra la propiedad intelectual y los delitos contra la privacidad de la información.

Delitos contra la propiedad intelectual:Existe un organismo a nivel internacional que se ocupa de controlar estos delitos se llama BSA (Business Software Alliance). En España se aplica la Ley sobre la Protección Jurídica de Programas de Ordenador (Ley 16/1993), cuyos artículos principales son:

Artículo 1.- Objeto de la Protección:1. Los programas de ordenador serán protegidos mediante los derechos de autor como las obras literarias tal como se define el Convenio de Berna para la Protección de obras literarias y artísticas.2. A los efectos de la presente Ley, la expresión programas de ordenador comprenderá también su documentación preparatoria.3. El programa de ordenador será protegido únicamente si fuese original, en el sentido de ser una creación intelectual propia de su autor. 4. La protección prevista en la presente Ley se aplicará a cualquier forma de expresión de un programa de ordenador, salvo aquellas creadas con el fin de ocasionar efectos nocivos un sistema informático. Las ideas y principios en los que se base cualquiera de los elementos de un programa de ordenador, incluidos los que sirven de fundamento a sus interfaces, no estarán protegidos mediante los derechos de autor con arreglo a la presente Ley.

Artículo 2.- Titularidad de los Derechos:1. Será considerado autor del programa de ordenador la persona o grupo de personas físicas que lo hayan creado, o la persona jurídica que sea contemplada como titular de los derechos de autor en los casos expresamente previstos por la ley de Propiedad Intelectual.2. Cuando se trate de obras colectivas tendrá la consideración de autor, salvo pacto en contrario, la persona física o jurídica que la edite y divulgue bajo su nombre.3. Los derechos de autor sobre un programa de ordenador que sea resultado unitario de la colaboración entre varios autores serán propiedad común y corresponderán a todos éstos en la proporción que determinen.4. Cuando un trabajador asalariado cree un programa de ordenador, en el ejercicio de las funciones que le han sido confiadas o siguiendo las instrucciones de su empresario, la titularidad de los derechos económicos correspondientes al programa fuente como el programa objeto corresponderán exclusivamente, al empresario, salvo pacto en contrario.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 19 de 20

Page 20: TEMA 2: SOFTWAREblume.webcindario.com/sistemas/Tema2/SW.pdfEs el conjunto de componentes lógicos de un sistema informático. Es toda la información que se transfiere a través de

Delitos contra la privacidad de la información:En EEUU existen leyes que controlan estos delitos desde los años 70. En España, en el año 90, se creó la LORTAD (Ley Orgánica de Regulación del Tratamiento Automático de los Datos).

Actualmente está en vigor la LOPD (Ley Orgánica de Protección de Datos de Carácter Personal, LO 15/1999), que garantiza y protege los derechos fundamentales de la intimidad de las personas físicas en relación con sus datos personales.

Esta Ley está regulada según el RD 1720/2007 y se encarga de su supervisión la Agencia Española de Protección de Datos.

3. BIBLIOGRAFÍA• Alcalde, E. y García, M.: Informática básica. Segunda edición. McGraw-Hill.• De Miguel Anasagasti, P.: Fundamentos de los computadores. Paraninfo.• García de Sola: Estructura de la información. McGraw-Hill.• Prieto, A., Lloris, A y Torres, J.C.: Introducción a la informática. Segunda edición. McGraw-Hill.

1º SMR – Curso 2011/2012 TEMA 2: SOFTWARE 20 de 20