guia egetsu

197
GUÍA EGETSU Sistemas Informáticos SI-502 GUÍA EGETSU ÍNDICE Programación................................5 Java...........................................................10 CLASES Y OBJETOS................................................10 Definición de una clase......................................12 La instanciación de las clases: Los objetos..................15 La destrucción del objeto....................................18 Herencia.....................................................19 Ejemplo en Java..............................................19 Polimorfismo.................................................20 Sobrecarga...................................................20 C#.............................................................22 Codigo para conectar a una base en SQL server desde C#.......23 Visual Basic (.net)............................................24 Tipos de datos:..............................................24 Declaración de constantes....................................25 Declaración de una variable privada..........................25 Procedimientos...............................................26 Métodos......................................................27 Módulos......................................................27 CONECTAR UNA BASE DE DATOS CON VISUAL BASIC 6.0..............27 C++............................................................29 Un ejemplo de programa en C++, el clásico Hola mundo.........29 Tipos de datos...............................................30 Base de datos..............................30 1

Upload: binladen08

Post on 30-Jul-2015

161 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

GUÍA EGETSU

ÍNDICE

Programación.........................................................................5Java.............................................................................................................................................10

CLASES Y OBJETOS...........................................................................................................10

Definición de una clase.........................................................................................................12

La instanciación de las clases: Los objetos.......................................................................15

La destrucción del objeto......................................................................................................18

Herencia..................................................................................................................................19

Ejemplo en Java....................................................................................................................19

Polimorfismo...........................................................................................................................20

Sobrecarga.............................................................................................................................20

C#................................................................................................................................................22

Codigo para conectar a una base en SQL server desde C#...........................................23

Visual Basic (.net)......................................................................................................................24

Tipos de datos:......................................................................................................................24

Declaración de constantes...................................................................................................25

Declaración de una variable privada...................................................................................25

Procedimientos......................................................................................................................26

Métodos..................................................................................................................................27

Módulos..................................................................................................................................27

CONECTAR UNA BASE DE DATOS CON VISUAL BASIC 6.0.....................................27

C++..............................................................................................................................................29

Un ejemplo de programa en C++, el clásico Hola mundo...............................................29

Tipos de datos........................................................................................................................30

Base de datos......................................................................30MySQL........................................................................................................................................34

Creación de tablas.................................................................................................................34

Añadir un nuevo registro (Insert).........................................................................................35

1

Page 2: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Borrar un registro (Delete)....................................................................................................35

Borrar toda la tabla:...............................................................................................................35

Actualizar un registro (Update)............................................................................................35

Selección de tablas...............................................................................................................35

Ordenar los resultados:........................................................................................................36

Clasificar por orden inverso:................................................................................................36

Selecciones sin coincidencia...............................................................................................36

Comodines.............................................................................................................................37

Consultas a 2 tablas..............................................................................................................39

Subconsultas..........................................................................................................................39

INNER JOIN...........................................................................................................................39

Alta de usuarios.....................................................................................................................39

Triggers...................................................................................................................................40

Creación de un procedimiento almacenado......................................................................40

Vistas.......................................................................................................................................41

SQL Server.................................................................................................................................41

SINTAXIS DE PROCEDURE:..............................................................................................41

SINTAXIS DE UN TRIGGER:..............................................................................................42

SINTAXIS PARA UNA VISTA:.............................................................................................43

SENTENCIAS SQL...............................................................................................................45

ADSI......................................................................................49UML.............................................................................................................................................49

Ciclo de vida del desarrollo de software.................................................................................53

Modelo espiral........................................................................................................................53

Modelo cascada.....................................................................................................................54

Modelo Incremental...............................................................................................................54

WEB......................................................................................55JSP..............................................................................................................................................55

Introducción.........................................................................................................................55

Sumario de Sintáxis..............................................................................................................55

Expresiones JSP...................................................................................................................56

2

Page 3: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Manejo de Sesiones..............................................................................................................57

JSP y Bases de Datos..........................................................................................................59

Php..............................................................................................................................................61

¿Qué es PHP?.......................................................................................................................61

Salida de texto.......................................................................................................................62

Variables.................................................................................................................................63

Arrays......................................................................................................................................64

Estructuras de control...........................................................................................................65

Los métodos “GET” y “POST”.............................................................................................66

Manejo de archivos...............................................................................................................67

Asp..............................................................................................................................................70

Ejemplo C# Para aplicaciones Móbiles..............................................................................70

EJEMPLO C# Para una aplicación Normal........................................................................73

AFI.........................................................................................74INTRODUCCIÓN.......................................................................................................................74

GENERAL..................................................................................................................................75

¿Qué leyes rigen en México para los programas de cómputo, las bases de datos y su documentación?....................................................................................................................75

¿Qué instituciones de gobierno tienen que ver con las leyes mencionadas?...............75

¿Dónde puedo conseguir el texto de estas leyes?...........................................................76

¿Necesito ser abogado para saber algo sobre derechos de autor?..............................76

¿Cómo puedo aprender más sobre Derechos de Autor?................................................76

¿Se puede patentar un programa de cómputo?...............................................................77

¿Y en México?.......................................................................................................................77

DESARROLLO DE SOFTWARE.............................................................................................77

VENTA O LICENCIA DE USO.................................................................................................79

LICENCIA DE USO...............................................................................................................79

AYUDA PROFESIONAL...........................................................................................................80

USO DEL SOFTWARE.............................................................................................................81

Qué es la BSA?.....................................................................................................................82

Como propietario o encargado del establecimiento, ¿qué obligaciones tengo con el IMPI?.......................................................................................................................................82

3

Page 4: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Copyright....................................................................................................................................84

Patentes......................................................................................................................................84

Marcas........................................................................................................................................85

Los derechos de autor..............................................................................................................86

SO..........................................................................................87Linux............................................................................................................................................87

Comandos..............................................................................................................................88

Windows.....................................................................................................................................93

Comandos..............................................................................................................................95

Redes....................................................................................98Subneteo....................................................................................................................................98

ENRUTAMIENTO......................................................................................................................98

RUTAS ESTÁTICA POR DEFECTO....................................................................................100

ENRUTAMIENTO POR VECTOR DISTANCIA...................................................................101

CONFIGURACIÓN INICIAL DEL ROUTER.........................................................................103

CONFIGURACIÓN DE ACL ESTÁNDAR............................................................................111

Administración...................................................................113¿Qué es la administración de proyectos?........................................................................113

Importancia de la administración de proyectos...............................................................113

Funciones de la administración.........................................................................................114

¿Qué es el administrador de proyectos?.........................................................................114

¿Qué es el proceso administrativo?......................................................................................114

Calidad................................................................................120Diagrama de Pareto................................................................................................................120

Diagrama de Cero Errores.....................................................................................................122

Diagrama de Ishikawa............................................................................................................122

Diagrama de Seis-sigma........................................................................................................126

Auditoría Informática.........................................................132El Proceso de Auditoría..........................................................................................................133

Inglés..................................................................................144

4

Page 5: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Manejo de Tiempos.................................................................................................................144

Verbos.......................................................................................................................................144

Programación

5

Page 6: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Lenguaje de Programación: Es un conjunto de símbolos, caracteres y reglas que le permiten a las personas comunicarse con la computadora. Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada / salida, cálculo, manipulación de textos, comparaciones, almacenamiento y recuperación de información.

Definición de Algoritmo: Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. Existen dos tipos de algoritmos:

Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudo código).

Dato: Un dato puede ser un simple carácter o un valor entero. El tipo de dato determina el conjunto de valores que puede tomar una variable. Los tipos de datos son los siguientes:

Expresiones: Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3)/c. Una expresión consta de operadores y operandos. Según sea el tipo de datos u operandos que manipulan, se clasifican en:

Aritméticas

Relaciónales

Lógicas

Operadores

6

Page 7: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Aritméticos Relaciónales Lógicos

+ Suma

- Resta

* Multiplicación

/ División

Mod Modulo

> Mayor que

< Menor que

> = Mayor o igual que

< = Menor o igual que

< > Diferente

= Igual

And Y

OR O

Not Negación

Prioridad de los Operadores Aritméticos

^ Exponenciación

*, /, mod. Multiplicación, división, modulo.

+, - Suma y resta

Tabla de valores lógicos:

AND OR NOT

T and T = T

T and F = F

F and T = F

F and F = F

T or T = T

T or F = T

F or T = T

F or F = F

not T = F

not F = T

Identificadores: representan los datos de un programa (constantes, variables). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que nos permite accesar a su contenido.

Reglas para formar un identificador

7

Page 8: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco.

Letras, dígitos y caracteres como la subraya (_) son permitidos después del primer carácter.

Constante: Es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato y éste dato puede cambiar durante la ejecución del programa.

Estructuras Algorítmicas: Son formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Estructuras Secuenciales: son aquellas en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se ejecutan de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma:

Inicio

Accion1

Accion2 . . Acción NFin

8

Page 9: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma:

Simples: Consiste en pasar un valor constate a una variable (a =15)

Contador: Consiste en usarla como un verificador del número de veces que se realiza un proceso ( a = a +1)

Acumulador: Consiste en usarla como un sumador en un proceso (a =a +b)

De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a = c +b *2/4).

Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudo código como sigue:

Leer a, b (Donde “a” y “b” son las variables que recibirán los valores)

Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudo código como sigue:

Escribe “El resultado es:”, R (Donde “El resultado es:” es un mensaje que se desea que aparezca y R es una variable que contiene un valor y que queremos que éste valor aparezca.

Estructuras de Condicionales: Las estructuras condicionales comparan una variable contra otros valores, para que en base al resultado de ésta comparación, se siga un curso de acción dentro del programa. Las comparaciones se pueden hacer contra otra variable o contra una constante. Existen dos tipos básicos, las simples y las dobles.

Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma:

Si <condición> entonces

Acción(es)

Fin-si

9

Page 10: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:

Si <condición> entonces

Acción(es)

si no

Acción(es)

Fin-si

Estructuras Cíclicas: Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).Los ciclos se clasifican en:

Ciclos con un Número Determinado de Iteraciones (Hacer-Para o FOR) Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo.

Ciclos con un Número Indeterminado de Iteraciones (Hacer-Mientras, Repetir-Hasta o WHILE) Son aquellos en que el número de iteraciones no se conoce con exactitud, ya que está dado en función de un dato dentro del programa. En otras palabras; ésta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso.

Java

CLASES Y OBJETOS

Introducción

10

Page 11: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Durante los capítulos anteriores se han dado unas nociones básicas de la sintaxis de Java. A partir de ahora es cuando entramos la verdadera potencia de Java como lenguaje orientado a objetos: las clases y los objetos.

Aquellas personas que nunca hayan programado en un lenguaje orientado a objeto, o que no conozcan las nociones básicas de paradigma conviene que lean el capítulo "I.1 Introducción a la programación orientada a objetos" de este tutorial, ya que a partir de ahora los conceptos que en él se exponen se darán por entendidos.

Durante todo este capítulo se va a trabajar en la construcción de una clase MiPunto, que modeliza un punto en un espacio plano:

class MiPunto{

int x, y;

int metodoSuma( int paramX, int paramY ) {

return ( paramX + paramY );

}

double distancia(int x, int y) {

int dx= this.x – pX;

int dy = this.y – pY;

return Math.sqrt(dx*dx + dy*dy);

}

void metodoVacio( ) { }

void inicia( int paramX, int paramY ) {

x = paramX;

y = paramY;

}

void inicia2( int x, int y ) {

x = x; // Ojo, no modificamos la variable de instancia!!!

11

Page 12: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

this.y = y; // Modificamos la variable de instancia!!!

}

MiPunto( int paramX, int paramY ) {

this.x = paramX; // Este this se puede omitir

y = paramY; // No hace falta this

}

MiPunto() {

inicia(-1,-1); //Por defecto ; this(-1,-1) hace lo mismo

}

}

Definición de una clase

Introducción

El elemento básico de la programación orientada a objetos en Java es la clase. Una clase define la forma y comportamiento de un objeto.

Para crear una clase sólo se necesita un archivo fuente que contenga la palabra clave reservada class seguida de un identificador legal y un bloque delimitado por dos llaves para el cuerpo de la clase.

class MiPunto {

}

Un archivo de Java debe tener el mismo nombre que la clase que contiene, y se les suele asignar la extensión ".java". Por ejemplo la clase MiPunto se guardaría en un fichero que se llamase MiPunto.java. Hay que tener presente que en Java se diferencia entre mayúsculas y minúsculas; el nombre de la clase y el de archivo fuente han de ser exactamente iguales.

Aunque la clase MiPunto es sintácticamente correcta, es lo que se viene a llamar una clase vacía, es decir, una clase que no hace nada. Las clases típicas de Java

12

Page 13: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

incluirán variables y métodos de instancia. Los programas en Java completos constarán por lo general de varias clases de Java en distintos archivos fuente.

Una clase es una plantilla para un objeto. Por lo tanto define la estructura de un objeto y su interfaz funcional, en forma de métodos. Cuando se ejecuta un programa en Java, el sistema utiliza definiciones de clase para crear instancias de las clases, que son los objetos reales. Los términos instancia y objeto se utilizan de manera indistinta. La forma general de una definición de clase es:

class Nombre_De_Clase {

tipo_de_variable nombre_de_atributo1;

tipo_de_variable nombre_de_atributo2;

// . . .

tipo_devuelto nombre_de_método1( lista_de_parámetros ) {

cuerpo_del_método1;

}

tipo_devuelto nombre_de_método2( lista_de_parámetros ) {

cuerpo_del_método2;

}

// . . .

}

Los tipos tipo_de_variable y tipo_devuelto, han de ser tipos simples Java o nombres de otras clases ya definidas. Tanto Nombre_De_Clase, como los nombre_de_atributo y nombre_de_método, han de ser identificadores Java válidos.

b.) Los atributos

Los datos se encapsulan dentro de una clase declarando variables dentro de las llaves de apertura y cierre de la declaración de la clase, variables que se conocen como atributos. Se declaran igual que las variables locales de un método en concreto.

13

Page 14: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Por ejemplo, este es un programa que declara una clase MiPunto, con dos atributos enteros llamados x e y.

class MiPunto {

int x, y;

}

Los atributos se pueden declarar con dos clases de tipos: un tipo simple Java (ya descritos), o el nombre de una clase (será una referencia a objeto, véase el punto C.a de este mismo apartado).

Cuando se realiza una instancia de una clase (creación de un objeto) se reservará en la memoria un espacio para un conjunto de datos como el que definen los atributos de una clase. A este conjunto de variables se le denomina variables de instancia.

c.) Los métodos

Los métodos son subrutinas que definen la interfaz de una clase, sus capacidades y comportamiento.

Un método ha de tener por nombre cualquier identificador legal distinto de los ya utilizados por los nombres de la clase en que está definido. Los métodos se declaran al mismo nivel que las variables de instancia dentro de una definición de clase.

En la declaración de los métodos se define el tipo de valor que devuelven y a una lista formal de parámetros de entrada, de sintaxis tipo identificador separadas por comas. La forma general de una declaración de método es:

tipo_devuelto nombre_de_método( lista-formal-de-parámetros ) {

cuerpo_del_método;

}

Por ejemplo el siguiente método devuelve la suma de dos enteros:

int metodoSuma( int paramX, int paramY ) {

return ( paramX + paramY );

14

Page 15: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

}

En el caso de que no se desee devolver ningún valor se deberá indicar como tipo la palabra reservada void. Así mismo, si no se desean parámetros, la declaración del método debería incluir un par de paréntesis vacíos (sin void):

void metodoVacio( ) { };

Los métodos son llamados indicando una instancia individual de la clase, que tendrá su propio conjunto único de variables de instancia, por lo que los métodos se pueden referir directamente a ellas.

El método inicia() para establecer valores a las dos variables de instancia sería el siguiente:

void inicia( int paramX, int paramY ) {

x = paramX;

y = paramY;

}

La instanciación de las clases: Los objetos

Referencias a Objeto e Instancias

Los tipos simples de Java describían el tamaño y los valores de las variables. Cada vez que se crea una clase se añade otro tipo de dato que se puede utilizar igual que uno de los tipos simples. Por ello al declarar una nueva variable, se puede utilizar un nombre de clase como tipo. A estas variables se las conoce como referencias a objeto.

Todas las referencias a objeto son compatibles también con las instancias de subclases de su tipo. Del mismo modo que es correcto asignar un byte a una variable declarada como int, se puede declarar que una variable es del tipo MiClase y guardar una referencia a una instancia de este tipo de clase:

MiPunto p;

Esta es una declaración de una variable p que es una referencia a un objeto de la clase MiPunto, de momento con un valor por defecto de null. La referencia null es una referencia a un objeto de la clase Object, y se podrá convertir a una referencia a cualquier otro objeto porque todos los objetos son hijos de la clase Object.

15

Page 16: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

b.) Constructores

Las clases pueden implementar un método especial llamado constructor. Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar las variables explícitamente para su iniciación.

El constructor tiene exactamente el mismo nombre de la clase que lo implementa; no puede haber ningún otro método que comparta su nombre con el de su clase. Una vez definido, se llamará automáticamente al constructor al crear un objeto de esa clase (al utilizar el operador new).

El constructor no devuelve ningún tipo, ni siquiera void. Su misión es iniciar todo estado interno de un objeto (sus atributos), haciendo que el objeto sea utilizable inmediatamente; reservando memoria para sus atributos, iniciando sus valores...

Por ejemplo:

MiPunto( ) {

inicia( -1, -1 );

}

Este constructor denominado constructor por defecto, por no tener parámetros, establece el valor -1 a las variables de instancia x e y de los objetos que construya.

El compilador, por defecto ,llamará al constructor de la superclase Object() si no se especifican parámetros en el constructor.

Este otro constructor, sin embargo, recibe dos parámetros:

MiPunto( int paraX, int paraY ) {

inicia( paramX, paramY );

}

La lista de parámetros especificada después del nombre de una clase en una sentencia new se utiliza para pasar parámetros al constructor.

Se llama al método constructor justo después de crear la instancia y antes de que new devuelva el control al punto de la llamada.

16

Page 17: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Así, cuando ejecutamos el siguiente programa:

MiPunto p1 = new MiPunto(10, 20);

System.out.println( "p1.- x = " + p1.x + " y = " + p1.y );

Se muestra en la pantalla:

p1.- x = 10 y = 20

Para crear un programa Java que contenga ese código, se debe de crear una clase que contenga un método main(). El intérprete java se ejecutará el método main de la clase que se le indique como parámetro.

Para más información sobre cómo crear y ejecutar un programa, así como los tipos de programas que se pueden crear en Java, véase el capítulo "II.12. Creación de programas Java" de este tutorial.

c.) El operador new

El operador new crea una instancia de una clase (objetos) y devuelve una referencia a ese objeto. Por ejemplo:

MiPunto p2 = new MiPunto(2,3);

Este es un ejemplo de la creación de una instancia de MiPunto, que es controlador por la referencia a objeto p2.

Hay una distinción crítica entre la forma de manipular los tipos simples y las clases en Java: Las referencias a objetos realmente no contienen a los objetos a los que referencian. De esta forma se pueden crear múltiples referencias al mismo objeto, como por ejemplo:

MiPunto p3 =p2;

Aunque tan sólo se creó un objeto MiPunto, hay dos variables (p2 y p3) que lo referencian. Cualquier cambio realizado en el objeto referenciado por p2 afectará al objeto referenciado por p3. La asignación de p2 a p3 no reserva memoria ni modifica el objeto.

De hecho, las asignaciones posteriores de p2 simplemente desengancharán p2 del objeto, sin afectarlo:

p2 = null; // p3 todavía apunta al objeto creado con new

17

Page 18: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Aunque se haya asignado null a p2, p3 todavía apunta al objeto creado por el operador new.

Cuando ya no haya ninguna variable que haga referencia a un objeto, Java reclama automáticamente la memoria utilizada por ese objeto, a lo que se denomina recogida de basura.

Cuando se realiza una instancia de una clase (mediante new) se reserva en la memoria un espacio para un conjunto de datos como el que definen los atributos de la clase que se indica en la instanciación. A este conjunto de variables se le denomina variables de instancia.

La potencia de las variables de instancia es que se obtiene un conjunto distinto de ellas cada vez que se crea un objeto nuevo. Es importante el comprender que cada objeto tiene su propia copia de las variables de instancia de su clase, por lo que los cambios sobre las variables de instancia de un objeto no tienen efecto sobre las variables de instancia de otro.

El siguiente programa crea dos objetos MiPunto y establece los valores de x e y de cada uno de ellos de manera independiente para mostrar que están realmente separados.

MiPunto p4 = new MiPunto( 10, 20 );

MiPunto p5 = new MiPunto( 42, 99 );

System.out.println("p4.- x = " + p4.x + " y = " + p4.y);

System.out.println("p5.- x = " + p5.x + " y = " + p5.y);

Este es el aspecto de salida cuando lo ejecutamos.

p4.- x = 10 y = 20

p5.- x = 42 y = 99

La destrucción del objeto

a.) La destrucción de los objetos

Cuando un objeto no va a ser utilizado, el espacio de memoria de dinámica que utiliza ha de ser liberado, así como los recursos que poseía, permitiendo al programa disponer de todos los recursos posibles. A esta acción se la da el nombre de destrucción del objeto.

18

Page 19: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

En Java la destrucción se puede realizar de forma automática o de forma personalizada, en función de las características del objeto.

b.) La destrucción por defecto: Recogida de basura

El intérprete de Java posee un sistema de recogida de basura, que por lo general permite que no nos preocupemos de liberar la memoria asignada explícitamente.

El recolector de basura será el encargado de liberar una zona de memoria dinámica que había sido reservada mediante el operador new, cuando el objeto ya no va a ser utilizado más durante el programa (por ejemplo, sale del ámbito de utilización, o no es referenciado nuevamente).

El sistema de recogida de basura se ejecuta periódicamente, buscando objetos que ya no estén referenciados.

Herencia

En orientación a objetos la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases ya existente (comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.

Es la relación entre una clase general y otra clase más específica. Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo.

La herencia es uno de los mecanismos de la programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces clase base o clase padre,(a veces se le denomina superclase pero no es muy común), de manera que extiende su funcionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.

Ejemplo en Java public class Mamifero{ private int patas; private String nombre; public void imprimirPatas(){ JOptionPane.showMessageDialog(null," Tiene " + patas + "patas\n","Mamifero",JOptionPane.INFORMATION_MESSAGE); }

19

Page 20: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

public Mamifero(String nombre, int patas){ this.nombre = nombre; this.patas = patas; } } public class Perro extends Mamifero { public Perro(String nombre){ super(nombre, 4); } }

NOTA: Se declaran las clases mamíferos y perro, haciendo que perro sea un mamífero (derivado de esta clase), y se ve como a través de ellos se nombra al animal pero así también se accede a patas dándole el valor por defecto para esa especie.

Polimorfismo

En programación orientada a objetos el polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.

Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la superclase Animal. La clase Animal tiene el método abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).

Como se mencionó anteriormente, el concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas y tipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.

SobrecargaDistintos métodos con diferente nombre pero diferentes parámetros.

Ejemplo: Podemos definir varios constructores para crear de distintas formas objetos de una misma clase.

20

Page 21: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

21

Page 22: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

C#

22

Page 23: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Codigo para conectar a una base en SQL server desde C#

using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;

public class Conexion{ private SqlConnection conn = new SqlConnection(); private String StrConexion;

public Conexion() { // Console.WriteLine("OBJETO CREADO"); }

public void Conectar() { try { StrConexion = "Data Source= xxx ;Initial Catalog= xxx ;Integrated Security=True"; conn.ConnectionString = StrConexion; conn.Open(); } catch { // Escribir en un LOG } }

public void Desconectar()

23

Page 24: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

{ conn.Close(); }

public SqlConnection get_conecction() { return conn; }

~Conexion() { // Console.WriteLine("OBJETO DESTRUIDO"); }}

Visual Basic (.net)

Tipos de datos: Tipos enteros (Byte, Integer, Long) Visual Basic tiene tres tipos de datos

predefinidos para representar los números enteros: Byte, Integer y Long. Long: Las variables Long (enteros largos) se almacenan como números

con signo de 32 bits (4 bytes) con un valor comprendido entre -2.147.483.648 y 2.147.483.647. El carácter de declaración de tipo para Long es el Ampersand (&).

Tipos reales (Single, Double, Currency) ▪ Single: Las variables Single (punto flotante de precisión simple) se

almacenan como números IEEE de coma flotante de 32 bits (4 bytes) con valores que van de -3,402823E38 a -1,401298E-45 para valores negativos y de 1,401298E-45 a 3,402823E38 para valores positivos. El carácter de declaración de tipo para Single es el signo de exclamación (!).

▪ Currency: Las variables tipo Currency se almacenan como números de 64 bits (8 bytes) en un formato de número entero a escala de 10,000 para dar un número de punto fijo con 15 dígitos a la izquierda del signo decimal y 4 dígitos a la derecha. Esta representación proporciona un intervalo de -922.337.203.685.477,5808 a 922.337.203.685.477,5807. El carácter de declaración de tipo para Currency es el signo arroba @.El tipo de datos Currency es útil para cálculos monetarios y para cálculos de punto fijo, en los cuales la precisión es especialmente importante.

Tipos cadena (String)

24

Page 25: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Tipos lógicos (Boolean) Tipos variados (Variant) Una variable Variant es capaz de almacenar todos los tipos de datos

definidos en el sistema. No tiene que convertir entre esos tipos de datos si los asigna a una variable Variant; Visual Basic realiza automáticamente cualquier conversión necesaria.

Declaración de constantesLa sintaxis para declarar una constante es la siguiente:[Public | Private] Const NombreConstante [As Tipo] = Expresión

Declaración de una variablePublic nombre_variable As Tipo_de_datos

Donde:

Public: Indica que la variable es de nivel público. nombre_variable: Es un identificador valido para Visual Basic. Este es el

nombre que le permitirá acceder a los valores desconocidos. As: Palabra clave para indicar el tipo de datos. Tipo_de_datos: Indica el tipo de datos que podrá almacenar las variables.

Este corresponde a la clasificación de los tipos de datos.

Declaración de una variable privadaEl alcance de este tipo de variable será de nivel general dentro de un mismo modulo o formulario. Se declaran a nivel de módulos o en la sección general de un formulario mediante el identificador Dim.Dim nombre_variable As Tipo_de_datosEjemplos:

Dim TotalVentasDelDia As Integer Dim nombre As String

La sentencia if es utilizada mediante el siguiente formato:If (Condición) Then [instrucciones si es verdadero] .Else [instrucciones si es falso] .End If

Ejemplo case

Dim Numero As Integer

25

Page 26: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Numero = InputBox(“Introduzca un número del 1 al 3:”) ‘Permite que el usuario introd. un numero.

Select Case Numero

Case 1 MsgBox ("Este es el número Uno.")Case 2 MsgBox ("Este es el número Dos.")Case 3 MsgBox ("Este es el número Tres.")

Case ElseMsgBox (“No se a proporcionado los valores 1, 2 o 3”)

End SelectEn Visual Basic existen cuatro tipos de bucles que son: For…Next, Do…Loop, While…Wend y For Each…NextFor I = 6 To 1 Step - 1

MsgBox (“El valor de I ahora es: “ & I)Next I

El bucle Do…Loop tiene el siguiente formato:Do While condición

Instrucciones…Loop

Bucle While…Wend

La estructura repetitiva While (Mientras) es aquella en la que el número de iteraciones no se conoce por anticipado y el cuerpo del bucle se repite mientras se cumple una determinada condición.While condición

Instrucciones…Wend

Procedimientos

Un procedimiento representa la definición o declaración de un objeto. Los procedimientos se encuentran dentro de los módulos, y contienen el conjunto de instrucciones que se ejecutan cuando el usuario realiza algún evento sobre el objeto, o cuando estos son llamados por su nombre. Un procedimiento viene representado por un nombre, los argumentos (constantes, variables o expresiones) y el código que compone el cuerpo del procedimiento.Para definir un procedimiento, se utiliza la palabra clave Sub, seguida del nombre del procedimiento y los argumentos (si el procedimiento lo requiere), así como el alcance del procedimiento.Private Sub ó Public Sub [Nombre_del_procedimiento] (argumentos) End Sub

26

Page 27: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Ejemplo:Private Sub Command1_Click ( ) End ‘La sentencia End se utiliza para salir de la aplicación. End Sub

Métodos

Los métodos son funciones que también son llamadas desde el programa, pero a diferencia de los procedimientos no son codificados por el programador. Los métodos, son llamados desde código en Visual Basic de la misma manera como se hace referencia a una propiedad del control. Cada tipo de objeto o control poseen sus propios métodos, aunque algunos tipos objetos tienen métodos comunes. Los formularios en Visual Basic poseen un método llamado Hide, que permite ocultar el formulario y otro método llamado Show, que permite mostrar el formulario después de haber sido ocultado.

MódulosUn módulo se puede definir, como el lugar donde se almacena el código fuente de una aplicación en Visual Basic. Los módulos se clasifican en tres tipos que son: formulario, estándar y de clase.

CONECTAR UNA BASE DE DATOS CON VISUAL BASIC 6.0Existen varias formas para conectar una base de datos a una aplicación de Visual Basic, entre las cuales cabe mencionar la utilización de tecnologías ODBC, DAO, RDO, ODBCDirect, OLE DB y ADO.El modelo de datos ODBC (Open Database Connectivity)

ODBC son las siglas de Conectividad de bases de datos abiertas (Open Database Connectivity) y es un conjunto de funciones que le permitirá conectarse a una base de datos local o remota. Es una tecnología que permite acceder a distintas bases de datos en diferentes formatos como Microsoft Visual FoxPro, Microsoft Access, Microsoft SQL Server, dBASE, Oracle y archivos de texto separados por comas. La máquina sobre la que se ejecuta la aplicación se conecta en un DLL denominado ODBC Driver Manger que, a su vez es el encargado de mandar y recibir los datos a un controlador ODBC específico para la base de datos particular que desee utilizar.

El modelo de objetos DAO (Data Access Object)DAO (Objeto de acceso a datos) es una técnica de acceso a base de datos de Microsoft Access basado en el motor Microsoft Jet que es el que propulsa a Access. Los diseñadores pueden diseñar una base de datos MDB utilizando Access y, posteriormente, utilizar DAO desde una aplicación de Visual Basic para

27

Page 28: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

abrir la base de datos, agregar y recuperar registros y gestionar transacciones. Aunque DAO se diseñó pensando en Access, este no limita la conexión a otras bases de datos para la que exista un controlador ODBC.

El modelo de objetos RDO (Remote Data Object)RDO (Objetos de Datos Remotos) es el primer intento que realizó Microsoft para combinar la sencillez del DAO con la potencia de la programación directa del ODBC API. RDO es un modelo de objetos vagamente diseñado a partir de DAO, pero deshecha el Jet Engine y el DAO DLL y trabaja directamente con los controladores ODBC subyacentesEl modelo de objetos ODBCDirectAdemás del RDO mejorado que incluía Visual Basic 5, este incluía otra tecnología de acceso a datos, denominada ODBCDirect, que permitía a los programadores emplear RDO utilizando una sintaxis DAO.

El modelo de objetos OLE DBOLE DB es una tecnología de acceso a datos de bajo nivel con la que Microsoft pretende sustituir a ODBC como el medio principal de conexión con bases de datos. Aunque OLE DB es una nueva tecnología, podrá encontrar proveedores de OLE DB para las bases de datos más populares, y otras serán comercializadas rápidamente.

El modelo de objetos ADO (ActiveX Data Object)ADO es una interfaz de alto nivel con OLE DB. Al igual que los API de ODBC, OLE DB es una interfaz de bajo nivel a la que no se puede acceder con facilidad utilizando lenguajes de alto nivel como Visual Basic.

Cómo establecer la conexión

Para establecer la conexión el objeto Connection dispone del método Open, seguida de los parámetros necesarios para la conexión.

Su sintaxis es:

Open [ConnectionString], [UserID], [Password], [Options]Ejemplo:Dim cn As New ADODB.Connection ‘Creamos el objeto Connection.Dim rs As New ADODB.Recordset ‘Creamos el objeto Recordset.‘Abrimos la base de datos “ventas.mdb”.cn.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & “Data Source=c:\ventas.mdb”rs.Source = “clientes” ‘Especificamos la fuente de datos. En este caso la tabla “clientes”. rs.Open “select * from clientes”, cn ‘Abrimos el Recordset y lo llenamos con la consulta SQLDim cn As New ADODB.Connection ‘Linea necesaria para establecer la conexión.cn.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & “Data Source=c:\clientes.mdb”

28

Page 29: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

C++

Es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.

Un ejemplo de programa en C++, el clásico Hola mundo

A continuación se cita un programa de ejemplo Hola mundo escrito en C++:

# include <iostream> // Este header permite usar los objetos que encapsulan los descriptores stdout y stdin: cout(<<) y cin(>>) using namespace std; int main(){ cout << "Hola mundo" << endl; return 0; }

Al usar la directiva #include estamos diciéndole al compilador que busque determinadas cosas en un archivo que se llama iostream. Para evitar redefinir cosas ya hechas al ponerles igual nombre, se creó algo llamado espacios de nombres o namespace en el singular del inglés. En este caso hay un espacio de nombres llamado std, que es donde se incluyen las definiciones de todas las funciones y clases que conforman la libreria estándar de C++, entre muchas otras cosas del objeto cout, que representa el flujo de salida estándar (típicamente la pantalla o una ventana de texto), y todo esto es exactamente lo que decimos al añadir la sentencia using namespace std.

La definición de funciones es igual que en C, salvo por la característica de que si main no va a recoger argumentos, no tenemos por qué ponérselos, a diferencia de C, donde había que ponerlos explícitamente, aunque no se fueran a usar. Queda solo comentar que el símbolo << se conoce como operador de inserción, y grosso modo está enviando a cout lo que queremos mostrar por pantalla para que lo pinte, en este caso la cadena "¡Hola mundo!" . El mismo operador << se puede usar varias veces en la misma sentencia, de forma que gracias a esta

29

Page 30: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

característica podemos poner un carácter endl al final, que es el equivalente del \n en C o \n\r, según el sistema en que se esté programando.

Para los usuarios de Windows que no conocen la consola, para poder ver el Hola mundo agreguen la línea

system("PAUSE"); // Este operador se incluye solamente en Windows

antes del return 0;

Tipos de datos

C++ tiene los siguientes tipos fundamentales:

Caracteres: char (también es un entero), wchar_t Enteros: short int, int, long int, long long int Números en coma flotante: float, double, long double Booleanos: bool Vacío: void

Base de datos

Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos.

Campo: Es un espacio de almacenamiento para un dato en particular. Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado.

Registro: Colección de campos de iguales o diferentes tipos.

Archivo: es un conjunto de información sobre el mismo tema, tratada como una unidad de almacenamiento y organizada de forma estructurada para la búsqueda de un dato individual.

Base de datos: Es un conjunto de datos relacionados entre sí para representar información.

DBMS: Sistema Manejador de Base de Datos

30

Page 31: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

SGDB: Sistema de Gestión de Base de Datos. Consiste de un software generalizado para implementar y mantener una base de datos computarizada. Sirve como interfaz entre el usuario y la BD física.

DBA: Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos.

DLL: Lenguaje de definición de datos.

Diccionario de datos: contiene las características lógicas de los datos que se van a utilizar en el sistema.

Objetos:

Todo el programa está construido en base a diferentes componentes (objetos).

Todo objeto del mundo real tiene 2 componentes: características y comportamiento.

Clase: Una clase es una plantilla genérica para un conjunto de objetos de similares características.

Modelo Entidad-Relación (E-R)

Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de un esquema gráfico empleando los terminología de entidades, que son objetos  que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros por sus

31

Automóvil

Marca: String

Modelo: String

Color: String

+frenar():void

+acelerar():void

Retroceder():void

Page 32: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

características particulares denominadas atributos, el enlace que rige la unión de las entidades está representada por la relación del modelo.

Un rectángulo nos representa a las entidades; una elipse a los atributos de las entidades, y una etiqueta dentro de un rombo nos indica la relación que existe entre las entidades, destacando con  líneas las uniones de estas y que la llave primaria de una entidad es aquel atributo que se encuentra subrayado.

Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus características llamadas atributos. Las entidades pueden ser concretas como una persona o abstractas como una fecha.

Un atributo se utilizas para detallar las entidades asignándoles propiedades descriptivas tales como nombre, color y peso.

Cardinalidad:

Hay cuatro tipos posibles:

Una a una (1:1). En este tipo de relación, una vez fijado un elemento de una entidad se conoce la otra. Ejemplo: nación y capital.

Una a muchas (1:N). Ejemplo: cliente y pedidos.

Muchas a una (N:1). Simetría respecto al tipo anterior según el punto de vista de una u otra entidad.

Muchas a muchas (N:N). Ejemplo: personas y viviendas.

Especialización:

El proceso por el que se definen las diferentes subclases de una superclase se conoce como especialización.

Por ejemplo, el conjunto se subclases {SECRETARIA, INGENIERO, TECNICO} es una especialización de la superclase EMPLEADO

32

Page 33: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Generalización:

Podemos pensar en un proceso inverso de la especialización en el cual suprimimos las diferencias entre las distintas entidades, identificando sus características comunes, y generalizando dichas entidades en una sola superclase de la cual las entidades iniciales serían subclases especiales.

Herencia:

Debido a que una subclase es a su vez parte se una superclase, la subclase tendrá sus atributos específicos así como los atributos correspondientes a la superclase a la que pertenece. Esto quiere decir que entidad de una subclase hereda los atributos correspondientes a la superclase a la que pertenece. De la misma manera hereda las relaciones en las que su correspondiente superclase participa.

Modelo relacional:

El modelo relacional propone estructurar lógicamente los datos en tablas de tal forma que se cumpla:

Independencia Física Independencia lógica Flexibilidad Uniformidad Actualmente el modelo relacional es el de mayor aceptación, tiene entre

otros los siguientes representantes: DB2, MYSQL, SQL, etc. Podríamos definir una Base de Datos Relacional como un conjunto de

Tablas relacionadas entre sí, que varían con el tiempo, tanto en tamaño como en valores.

Tipos de llaves:

Llave primaria (SUPERLLAVE o PRIMARY KEY): un campo de una tabla en el cual para todos los registros su valor es distinto puede ser una llave candidata.

Llave candidata: en una relación puede existir más de un atributo que no contenga valores duplicados, por lo tanto pueden ser llaves primarias.

Llaves foráneas: Cuando los atributos provienen de otras relaciones.

33

Page 34: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

MySQL

Creación de tablas

Sintaxis:Create Table nombre_tabla ( nombre_campo_1 tipo_1 nombre_campo_2 tipo_2 nombre_campo_n tipo_n Key(campo_x,...) )

Ejemplo:Create Table pedidos ( id_pedido INT(4) NOT NULL AUTO_INCREMENT, id_cliente INT(4) NOT NULL, id_articulo INT(4)NOT NULL, fecha DATE, cantidad INT(4), total INT(4), KEY(id_pedido,id_cliente,id_articulo) )

34

Page 35: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Añadir un nuevo registro (Insert)Sintaxis:

Insert Into nombre_tabla (nombre_campo1, nombre_campo2,...) Values (valor_campo1,valor_campo2...)

Ejemplo:

Insert Into clientes (nombre, apellidos, direccion, poblacion, codigopostal, email, pedidos) Values ('Perico', 'Palotes', 'Percebe n°13', 'Lepe', '123456', '[email protected]', 33)

Borrar un registro (Delete)Sintaxis:

Delete From nombre_tabla Where condiciones_de_selección

Ejemplo:

Delete From clientes Where nombre='Perico'

Borrar toda la tabla:Delete From clientes

Actualizar un registro (Update)Sintaxis:

Update nombre_tabla Set nombre_campo1 = valor_campo1, nombre_campo2 =

valor_campo2,... Where condiciones_de_selección

Ejemplo:

Update clientes Set nombre='José' Where nombre='Pepe'

Selección de tablasSi quisiésemos seleccionar todos los campos, es decir, toda la tabla, podríamos utilizar el comodín * del siguiente modo:

35

Page 36: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Select * From clientes

Si quisiésemos mostrar los clientes de una determinada ciudad usaríamos una expresión como esta:

Select * From clientes Where poblacion Like 'Madrid'

Ordenar los resultados:Select * From clientes Where poblacion Like 'Madrid' Order By nombre

Select * From clientes Where poblacion Like 'Madrid' Order By nombre, apellido

Clasificar por orden inverso:Select * From clientes Order By pedidos Desc

Selecciones sin coincidencia.Si buscaramos en qué ciudades se encuentran nuestros clientes sin necesidad de que para ello aparezca varias veces la misma ciudad usaríamos una sentencia:

Select Distinct poblacion From clientes Order By poblacion

36

Page 37: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Comodines*: Sustituye a todos los campos

%: Sustituye a cualquier cosa o nada dentro de una cadena

_ : Sustituye un solo carácter dentro de una cadena

En esta sentencia seleccionamos todos los clientes de Madrid cuyo nombre no es Pepe. Como puede verse, empleamos Like en lugar de = simplemente para evitar inconvenientes debido al empleo o no de mayúsculas.

Select * From clientes Where poblacion Like 'madrid' And Not nombre Like 'Pepe'

Si quisiéramos recoger en una selección a los clientes de nuestra tabla cuyo apellido comienza por A y cuyo número de pedidos está comprendido entre 20 y 40:

Select * From clientes Where apellidos like 'A%' And pedidos Between 20 And 40

Para casos en una sola tabla es empleado del siguiente modo:

Select * From clientes Where poblacion In ('Madrid','Barcelona','Valencia')

De esta forma seleccionamos aquellos clientes que vivan en esas tres ciudades.

37

Page 38: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Supongamos que queremos enviar un mailing a todos aquellos que hayan realizado un pedido Ese mismo día. Podríamos escribir algo así:

Select clientes.apellidos, clientes.email From clientes,pedidos Where pedidos.fecha

like '25/02/00' And pedidos.id_cliente= clientes.id_cliente

El valor de la función ha de ser recuperada a partir de un alias que nosotros especificaremos en la sentencia SQL a partir de la instrucción AS. La cosa podría quedar así:

Select Sum(total) As suma_pedidos From pedidos

Ese valor en un campo virtual llamado suma_pedidos que podrá ser utilizado como cualquier otro campo.

Consultas a 2 tablasSelect f.folio from factura f, cliente c where f.idCliente = c.idCliente and c.idCliente = ‘01’ or c.idCliente = ‘02’

38

Page 39: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Subconsultas

Ejemplo:

SELECT APELLIDO FROM EMPLE WHERE POSICION = (SELECT OFICIO FROM EMPLE WHERE APELLIDO LIKE 'GIL');

INNER JOINEjemplo:

Select p.nombre, p.precioUnitario from prod_fact pf

Inner join producto p on (pf.idProducto = p.idProducto)

Where pf.idFactura = 5001 and pf.cantidad >= 10000

Alta de usuarios

Sintaxis:

GRANT select,insert,etc ON base.tabla TO 'usuario’ IDENTIFIED BY 'password'

Ejemplos:

GRANT select,insert ON bdroles.calificacion TO 'Profesor' IDENTIFIED BY 'profesor'

GRANT select ON bdroles.calificacion TO 'Alumno' IDENTIFIED BY 'alumno'

Triggers

Ejemplo:

create trigger almacen after insert on almacen for each row insert into bitacora(FechaHora, asunto) values (NOW(),'Se inserto un nuevo almacen');

39

Page 40: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Creación de un procedimiento almacenado.Sintaxis:

CREATE PROCEDURE nombre (parametros)

Cuerpo del procedimiento

SINTAXIS PARA LA ELIMINACIÓN DE UN PROCEDIMIENTO.

DROP PROCEDURE [IF EXISTS] nombre

Ejecutar un procedimiento:

Call nombre (parametros);

Ejemplo:

//delimiter

Create procedure altaprod(id varchar(10), nom varchar(30), des varchar(200), pu float, pm float, unidad varchar(6))

Insert into producto values(id, nom, des, pu, pm, unidad);

End//

Call altaprod(‘p.086’,’aprendiendo’,’libro didactico’,100,98,’10’);

Vistas

Sintaxis:

CREATE [OR REPLACE] VIEW NOMBREVISTA [(COLUMNA [,COLUMNA])] AS CONSULTA;

AS CONSULTA= Determina las columnas y las tablas que aparecerán en la vista.

40

Page 41: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

[OR REPLACE]= Crea de nuevo la vista si ya existía.

SHOW CREATE VIEW nombre_vista

Ejemplo:

Create view ejemplo as select nombre, edad, dirección from cliente

SELECT * FROM ejemplo; Para llamar nuestra vista utilizamos la clausula SELECT.

SQL Server

SINTAXIS DE PROCEDURE:

CREATE PROCEDURE Nombre_del_procedimiento[Lista_de_parámetros]AS(Sentencias SQL)[RETURN [Valor]]

1) EJEMPLO DE PROCEDURE:

CREATE PROCEDURE prod_1 AS SELECT * FROM CLIENTES

LLAMADA DEL PROCEDURE ANTERIOR:

EXECUTE prod_1

2) EJEMPLO DE PROCEDURE:

CREATE PROCEDURE prod_2

@p_CodIni CHAR (6), @p_CodFin CHAR (6)

41

Page 42: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

AS

SELECT * FROM CLIENTE

WHERE IDCLIENTE BETWEEN @p_CodIni AND @p_CodFin

LLAMADA DEL PROCEDURE ANTERIOR:

EXECUTE prod_2 ‘000100’, ‘000500’

SINTAXIS DE UN TRIGGER:

CREATE TRIGGER Nombre_del_Trigger

ON Nombre_de_la_tabla

FOR {INSERT,UPDATE,DELETE}

AS (Sentecias_SQL)

Trigger 1 La tablaCPO ST ALES no está sometida a ningún control de integridad referencial, con lo cual para evitar eliminar una fila que tenga una referencia en la tablaCLIENT ES, se define un trigger que impida tal hecho. Dado que la acción a realizar es deshacer una transacción, suponemos que ésta ha sido previamente iniciada en el procedimiento principal.

CREATE TRIGGER Trig_1ON CPOSTALFOR DELETEASDECLARE @p_cuenta SMALLINT SELECT @p_cuenta = COUNT(*)FROM CLIENTES CLIWHERE CLI.IDPROVIN = CPOSTAL.IDPROVIN ANDCLI.RESTCDPOSTAL = CPOSTAL.RESTCDPOSTAL

IF @p_cuenta > 1BEGINROLLBACK TRANSACTIONRAISERROR(‘ESTA FILA CONTIENE REFERENCIAS EN TABLA CLIENTES’,16,-1)

42

Page 43: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

END

Trigger 2 Partiendo de la tabla del ejemplo 1, estableceremos un trigger que efectúe una actualización en cascada, en el supuesto de intentar modificar un código postal que contenga referencias en la tablaClient e.

CREATE TRIGGER Trig_2ON CPOSTALFOR UPDATEASDECLARE @p_cuenta SMALLINT SELECT @p_cuenta = COUNT(*)FROM CLIENTES CLIWHERE CLI.IDPROVIN = CPOSTAL.IDPROVIN ANDCLI.RESTCDPOSTAL = CPOSTAL.RESTCDPOSTAL IF @p_cuenta > 1 BEGIN UPDATE CLIENTES SET CLIENTES.IDPROVIN = updated.IDPROVIN, CLIENTES.RESTCDPOSTAL = updated.RESTCDPOSTAL WHERE CLIENTESRAISERROR (‘FILAS ACTUALIZADAS EN TABLA CLIENTES’, 16, -1) END

SINTAXIS PARA UNA VISTA:

CREATE VIEW view_name [(column_list)]

AS sentencia_select

Un ejemplo

Tomemos como ejemplo una aplicación muy simple de gestión de pedidos en un supermercado virtual. El esquema relacional sería el siguiente.

43

Page 44: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

En ese esquema, la información aparece descompuesta en tablas. Sin embargo, para un usuario en un departamento de marketing, podría ser que le fuese más útil tener la información de las ventas de los productos acumuladas, simplemente.

CREATE VIEW resumenproductos AS

select p.id, p.nombre, sum(cantidad) AS total

from producto as p, lineas_pedido as l

where (l.producto = p.id)

group by l.producto order by total desc

Después de definir la vista, podremos utilizar resumenproductos como si fuese una tabla más. Por ejemplo la sentencia:

select * from resumenproductos

Nos devolverá el resultado de la consulta que define la vista.

Como segundo ejemplo, puede que una persona en Contabilidad solamente necesite el resumen económico de los pedidos. En ese caso, podremos definir una vista como la siguiente utilizando una subconsulta correlacionada:

CREATE VIEW resumenpedidos (usuario, nombre, pedido, fecha, total) ASSELECT c.usuario, c.nombre, p.numpedido, p.fecha, (SELECT SUM(precio*cantidad) FROM LINEAS_PEDIDO as x WHERE (x.cliente = p.cliente)

44

Page 45: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

and (x.pedido=p.numpedido))FROM CLIENTES as C, PEDIDOS as PWHERE p.cliente = c.usuario

El resultado sería como el siguiente:

usuarionombre pedidofechatotal

agarciaAna Garcia 1 2008-11-0540jlopez Juan Lopez1 2008-02-1065jlopez Juan Lopez2 2008-02-11null

Nótese que cuando un pedido no tiene líneas asociadas, aparecerá un nulo en la subconsulta. La consulta puede hacerse también mediante agrupamiento con la siguiente consulta:

SELECT c.usuario, c.nombre, p.numpedido, p.fecha, sum(cantidad*precio) FROM clientes as c, pedidos as p, lineas_pedido as l WHERE (c.usuario = p.cliente) and (p.cliente = l.cliente) and (p.numpedido=l.pedido) GROUP BY p.cliente, p.numpedido

SENTENCIAS SQL

1.- Sentencia IN

Posiblemente la sentencia a la que más partida vamos a sacar. Esta sentencia sql sirve para obtener los registros de una tabla que están contenidos en otra diferente, teniendo en cuenta que uno de los campos (una clave) tiene que ser en comun. Por ejemplo, tenemos una tabla con Alumnos de una escuela, y una tabla con Gente que Juega en un equipo de futbol 11. Lo que queremos averiguar es que alumnos de la clase de 2 B juega en ese equipo. Es decir, que alumnos están "IN" la tabla de futbol 11, la sentencia podría ser así:

 

Select *

from Alumnos

where Cod_alumno in (select Cod_alumno from Futbol11).

45

Page 46: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Recordar poner siempre después de la sentencia IN entre paréntesis el otros Select, y que los códigos deben tener el mismo formato en las dos tablas.

2.- Sentencias YEAR MONTH DAY

Estas tres sentencias sirven para trabajar con fechas comodamente, si queremos saber los alumnos que nacieron en el 1981 sería:

 

Select *

from Alumnos

where year(fecha) = 1981

Para mes sería Month y para día DAY. Recordar que "fecha" debe ser un campo de tipo Date, y que el comparador es un entero (no poner entre comillas)

 

3.- Sentencia BETWEEN

Comando para obtener datos entre dos valores, tanto numéricos como de tipo Date o numerico

 

Select Nombre

From Alumno

Where fecha between '1/1/1980' and '31/12/1980'

 

En este caso serías más efectivo utilizar el comando year(fecha) = 1980

 

4.- Sentencia LEFT

  Este comando nos resulta muy útil cuando queremos recortar un número determinado de caracteres en un campo, por ejemplo, tenemos una tabla con un código como este:

 

46

Page 47: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

001-AAA

002-AAA

003-AAA

 

Sería bueno eliminar AAA- del código, ya que se repite siempre y no nos interesa, para ello usamos la función left, que recortara empezando por la izquierda, el comando sería:

 Select left(codigo,3)

From tabla

 

Y el resultado sería:

001

002

003

Si lo queremos es actualizar la tabla con estos cambios pondríamos:

 Update tabla

Set codigo = left(codigo,3)

5.- Sentencias MAX, MIN, AVG

Estas sentencias nos sirven para calcular medias, minimas y máximos de datos agrupados por algun tipo de cualidad. Por ejemplo, tenemos una tabla de futbolistas, con jugador,equipo y goles, y queremos sacar la media de goles por equipo:

  Select equipo, avg(goles)

from jugadores

group by equipo

47

Page 48: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Observar que para este tipo de consultas sql siempre debemos incluir la sentencia group by para agrupar los datos.

Tambien podemos combinar estas consultas con la clausula Having, que sirve para filtrar el resultado o media que obtenemos. En el ejemplo anterior, si quisieramos hacer la misma consulta, pero solo de los equipos cuya media supere los 20 goles, sería asi;

 

 

Select equipo, avg(goles)

from jugadores

group by equipo

having avg(goles) > 20

6.- Sentencia ORDER BY

Se utiliza para ordernar resultados, por defecto los ordenará de menor a mayor, si quisieramos ordenar al reves añadiriamos "desc". Un ejemplo, ordenar la tabla de jugadores por goles:

 

Select Jugador,goles

from jugadores

order by goles

Este resultado nos devolveria los goleadores de menor a mayor, pero lo logico es que nos interese al reves, por lo que se sería:

 

 

Select Jugador,goles

from jugadores

order by goles desc

 

48

Page 49: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

7.- Sentencia CAST

Se utiliza para convertir valores de un tipo a otro diferente, la forma de utilizarla es CAST("CAMPO" as TIPO), por ejemplo, si queremos recuperar un Integer en formato de texto, la consulta sql sería así:

 

Select CAST(goles as varchar(30))

from jugadores

where id = 100

Este resultado nos devolveria los goleadores de menor a mayor, pero lo logico es que nos interese al reves, por lo que se sería:

 

 

Select Jugador,goles

from jugadores

order by goles desc

ADSI

UMLEn UML hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es útil categorizarlos jerárquicamente, como se muestra en la figura de la derecha.Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:

Diagrama de clases: Describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas.

Diagrama de componentes: Representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes. Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes.

49

Page 50: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Diagrama de objetos: Son utilizados durante el proceso de Análisis y Diseño de los sistemas. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase

Diagrama de despliegue: se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes. Los elementos usados por este tipo de diagrama son nodos (representados como un prisma), componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) y asociaciones.

Diagrama de paquetes: Muestra cómo un sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete está pensado como un directorio, los diagramas de paquetes suministran una descomposición de la jerarquía lógica de un sistema.

Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado:

Diagrama de actividades : Representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un Diagrama de Actividades muestra el flujo de control general.

Diagrama de casos de uso :(imagen 2.1) Es una especie de diagrama de comportamiento.

Diagrama de estados : Es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de información luego de ejecutarse cada proceso.

Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y en qué momento podrían tener una variación.El diagrama de estados permite visualizar de una forma secuencial la ejecución de cada uno de los procesos.

Imagen 2.1UML

50

Page 51: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

El lenguaje de modelado unificado (UML) es un lenguaje gráfico para visualización, especificación, construcción y documentación de los artefactos de un sistema intensivo de software.

• Usando el UML, un modelo está compuesto de:

▫ Elementos (cosas y relaciones)

▫ Diagramas (construidos a base de los elementos)

▫ Vistas (Diagramas mostrando diferentes perspectivas de un modelo).

Diagramas UML

• Los diagramas UML te habilitan a crear visualizaciones de tus modelos mentales de un sistema de Software.

• Estos diagramas son usados a construir muchos de los artefactos dentro de los flujos de trabajo.

51

Page 52: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

52

Page 53: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

53

Page 54: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Modelos y Diagramas

54

Page 55: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Un modelo captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. Así el modelo describe completa-mente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle.

Diagrama: una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos.

Ciclo de vida del desarrollo de software

Modelo espiralEl software se construye en una serie de versiones incrementales. En las primeras iteraciones la versión incremental podría ser un modelo en papel o bien un prototipo. En las últimas iteraciones se producen versiones cada vez más completas del sistema diseñado.

Las regiones definidas en el modelo de la figura son:

Región 1 - Tareas requeridas para establecer la comunicación entre el cliente y el desarrollador.

Región 2 - Tareas inherentes a la definición de los recursos, tiempo y otra información relacionada con el proyecto.

Región 3 - Tareas necesarias para evaluar los riesgos técnicos y de gestión del proyecto.

Región 4 - Tareas para construir una o más

representaciones de la aplicación software. Región 5 - Tareas para construir la aplicación, instalarla, probarla y

proporcionar soporte al usuario o cliente (Ej. documentación y práctica). Región 6 - Tareas para obtener la reacción del cliente, según la evaluación

de lo creado e instalado en los ciclos anteriores.

55

Page 56: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Modelo cascadaEs el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.

Un ejemplo de una metodología de desarrollo en cascada es:

1. Análisis de requisitos2. Diseño del Sistema3. Diseño del Programa4. Codificación5. Pruebas6. Implantación7. Mantenimiento

Modelo IncrementalUna forma de reducir los riesgos es construir sólo una parte del sistema, reservando otros aspectos para niveles posteriores. El desarrollo incremental es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema. Típicamente, un documento de requerimientos es escrito al capturar todos los requerimientos para el sistema completo.

56

Page 57: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

WEB

JSP

IntroducciónLas JavaServer Pages (JSP) nos permiten separar la parte dinámica de nuestras páginas Web del HTML estático. Simplemente escribimos el HTML regular de la forma normal, usando cualquier herramienta de construcción de páginas Web que usemos normalmente. Encerramos el código de las partes dinámicas en unas etiquetas especiales, la mayoría de las cuales empiezan con "<%" y terminan con "%>". Por ejemplo:

<%= request.getParameter("title") %>

Sumario de SintáxisElemento JSP Sintáxis Interpretación Notas

Expresión JSP <%= expression %> La expresión es evaluada y situada en la salida

El equivalente XML es <jsp:expression>expression</jsp:expression>.Las variables predefinidas son request,response, out, session, application, config,y pageContext.

Scriptlet JSP <% code %> El código seinserta en elmétodo service.

El código seinserta en elcuerpo de laclase delservlet, fueradel métodoservice.

Declaración JSP <%! code %> El código seinserta en elcuerpo de laclase delservlet, fueradel métodoservice.

El código seinserta en elcuerpo de laclase delservlet, fueradel métodoservice.

Directiva pageJSP

<%@ page att="val" %>

Dirige al motorservlet sobre la

57

Page 58: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

configuracióngeneral.

Directivainclude JSP

<%@ include file="url"%>

Un fichero delsistema local seincluirá cuandola página setraduzca a un

Servlet.Comentario JSP <%-- comment --%> Comentario

ignoradocuando setraduce lapágina JSP enun servlet.

Si queremos un comentario en el HTMLresultante, usamos la síntaxis de comentarionormal del HTML <-- comment -->.

Expresiones JSPUna expresión JSP se usa para insertar valores Java directamente en la salida.Tiene la siguiente forma:

<%= expresión Java %>

La expresión Java es evaluada, convertida a un string, e insertada en la página.Esta evaluación se realiza durante la ejecución (cuando se solicita la página) y así tiene total acceso a la información sobre la solicitud. Por ejemplo, esto muestra la fecha y hora en que se solicitó la página:

Hora actual: <%= new java.util.Date() %>

Para simplificar estas expresiones, hay un gran número de variables predefinidas que podemos usar. Estos objetos implícitos se describen más adelante con más detalle, pero para el propósito de las expresiones, los más importantes son:· request, el HttpServletRequest;· response, el HttpServletResponse;· session, el HttpSession asociado con el request (si existe), y· out, el PrintWriter (una versión con buffer del tipo JspWriter) usada para enviar la salida al cliente.

58

Page 59: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Aquí tenemos un ejemplo:Su Servidor: <%= request.getRemoteHost() %>

Finalmente, observa que los autores de XML pueden usar una sintaxis alternativa para las expresiones JSP:

<jsp:expression>Expresión Java

</jsp:expression>Recuerda que los elementos XML, al contrario que los del HTML, son sensibles a las mayúsculas.

Manejo de SesionesLa Sesión es un objeto que se almacena en el servidor y que guarda información que existe durante el intercambio que hay entre un cliente y un servidor.

Generalmente el tiempo de inactividad se extiende durante los siguientes 30 minutos desde que el cliente no se ha vuelto a comunicar con el servidor de ninguna forma. Una vez que ha pasado este tiempo de timeout, la sesión deja de existir en el servidor.Interfaz HttpSessionPara permitir dar seguimiento a las sesiones, los servlets proporcionan la API HttpSession. Esto es, cuando un usuario accede por primera vez a un sitio web, le es asignado un objeto HttpSession nuevo (dicho objeto está asociado con el objeto HttpServletRequest) y un identificador único (ID) utilizado para emparejar el ID (usuario) y el objeto HttpSession en sucesivas peticiones.

Obtener Una sesiónPara obtener la sesión correspondiente a un usuario, simplemente hay que invocar al método getSession del objeto HttpServletRequest. Este método tiene un parámetro de tipo bool que vale trae por omisión. En este caso el método retorna la sesión actual asociada con la petición; si la petición no tiene una sesión asociada, crea una nueva. Si el párametro vale false y la petición no tiene una sesión asociada, el método retorna null. Por ejemplo:

HttpSession sesion=request.getSession();

Un objeto HttpSession se crea en el servidor y es asociada automáticamente con la petición actual. Este objeto tiene una estructura de datos que permite almacenar un número de claves y sus valores asociados. Una clave es un atributo de la sesión. Para leer el valor de un atributo, hay que invocar al método getAttribute del objeto HttpSession (la sesión), mientras que para asignar el valor de un atributo se utiliza el método setAttribute. Para recuperar el nombre de todos los atributos en un objeto Enumeration, se utiliza el método getAttributeNames.

Ejemplo de uso de sesiones:

59

Page 60: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Librería requerida:<%@ page session="true" %>

Validación de sesión:

<%

try { int id = Integer.parseInt(request.getParameter("usuario")); cone bd = new cone(); ResultSet rst = bd.checklogin(id); while (rst.next()) { String usuario = ""; String clave = ""; if (request.getParameter("usuario") != null) { usuario = request.getParameter("usuario"); } if (request.getParameter("clave") != null) { clave = request.getParameter("clave"); } String u = rst.getString("id_usuario"); String p = rst.getString("contrasena");

if (u.equals(usuario) && p.equals(clave)) {

HttpSession sesionOk = request.getSession(); sesionOk.setAttribute("usu", usuario); %> <jsp:forward page="esmenu.jsp" /> <% } else { } } rst.close();

} catch (Exception e) { out.print("Error=" + e.toString()); } %>

Cierre se sesión:<%HttpSession sesionOk = request.getSession();sesionOk.invalidate();%>

60

Page 61: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

JSP y Bases de DatosLibrería requerida:

<%@page language ="java" import="java.sql.*,conexion.cone"%>

Ejemplo de conexión a base de datos (usando java):

private Connection con; private Statement stm; private ResultSet rst;

***public cone() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException, IOException { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); conectar();}

***private void conectar() throws SQLException, IOException { con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=bdrfid;user=sa;password=tururu;"); stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);}

***public void cerrarConexion() throws SQLException { if(rst != null) rst.close(); if(stm != null) stm.close(); if(con != null) con.close();}

Ejemplo de consulta:public ResultSet evefe(String f) throws SQLException { rst = stm.executeQuery("select id_evento,tipo_evento,hora,descripcion,id_producto from evento where fecha='"+f+"'");

61

Page 62: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

return rst;}

Ejemplo de uso de bd en jsp:<% String f = request.getParameter("Fecha"); if (f == null) { } else { out.print("<hr>"); out.print("<br><br>"); out.print("<h2>Eventos del día " + f + "</h2>");

try { cone bd = new cone(); ResultSet rst = bd.evefe(f);

if (!rst.first()) { out.print("<h3>No hay eventos registrados en esta fecha</h3>"); } else { %>

<table border="0" align="center" class="removimientos" width="800"> <thead> <tr> <th>IdEvento</th> <th>Tipo</th> <th>Hora</th> <th>Descripción</th> <th>IdProducto</th> </tr> </thead> <tbody>

<% rst = bd.evefe(f); while (rst.next()) { out.print("<tr>"); out.print("<td align='center' width='70'>"+rst.getString("id_evento")+"</td>"); out.print("<td align='center' width='160'>"+rst.getString("tipo_evento")+"</td>"); out.print("<td align='center' width='100'>"+rst.getTime("hora")+"</td>");

62

Page 63: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

out.print("<td align='left' width='400'>"+rst.getString("descripcion")+"</td>"); out.print("<td align='center' width='70'>"+rst.getString("id_producto")+"</td>"); out.print("</tr>"); out.print("<tr><td colspan='5'>.</td></tr>"); } } rst.close(); } catch (Exception e) { out.print("Error=" + e.toString()); } %> </tbody> </table> <% } %>

Php

¿Qué es PHP?

PHP (acrónimo recursivo: “PHP: Hypertext Preprocessor”) es un lenguaje de programación de código abierto, que se distribuye bajo licencia GNU, pensado para funcionar como CGI y que puede ser embebido en el código HTML.

Es un lenguaje sencillo de aprender, con una sintaxis basada en C, Java y Perl.

PHP es un lenguaje interpretado, no compilado, que permite hacer cambios rápidamente y con una sintaxis “suave”.

PHP puede ser programado “top-down” (para ser interpretado línea por línea, de arriba abajo), con funciones u orientado a objetos, según los requerimientos del sitio.

Una de las más importantes bazas del lenguaje es el amplio número de funciones implementadas (http://www.php.net/manual/en/funcref.php), entre las que podemos encontrar funciones para creación de archivos PDF, creación y modificación de imágenes, consultar bases de datos, crear sockets, acceso ftp, encriptación, etc.

63

Page 64: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Salida de texto.“Hola, mundo”<html><head><title>Hola, mundo</title></head><body><?phpprint “Hola, mundo”;?></body></html>En este primer ejemplo vemos nuestro primer código PHP embebido dentro de HTML. Sólo el texto que se encuentra entre “<?php” y “?>” es interpretado por el servidor. Si analizamos el código fuente (ver->código fuente, en Explorer) observamos que sólo tenemos “Hola, mundo” en el “body”. Nuestro código PHP ha sido interpretado por el servidor y ha enviado al navegador únicamente el resultado del programa.

ComentariosLos comentarios son líneas de texto que se introducen en el código para Referencia del programador. Estas líneas son ignoradas por PHP. Los comentarios de una sola línea deben empezar por “//”. Pueden incluirse comentarios de varias líneas delimitados por “/*” y “*/”.<?// Esto es un comentario de una líneaprint “Hola mundo”;/*Esta parte del código tampoco será interpretada.print “Adios mundo”;*/?>

El carácter de escapeEl carácter “\” es un caracter de escape. Nos permitirá escribir comillas y Caracteres especiales.<?print “Tenemos entrecomillada la palabra \”Comillas\” ”;print “<br>”;print “ ’Comillas’ está ahora entre comillas simples”;print “<br>”;print ‘ “Comillas” no está entre comillas \’simples\’ ’;print “<br>”;print “Este \\ es el <b>carácter de escape</b>”;print “<br>”;

64

Page 65: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

print “Si miras el \”c&oacute;digo fuente\” de esta p&aacute;gina ver&aacute;s \n aquí\n dos saltos de l&iacute;nea”;print “<br>”;?>

Salida de texto con formato: printfprintf es una función común a muchos lenguajes de programación. Con printf podemos elegir el formato de salida.printf (formato, argumento1, arg2,...)Donde los argumentos pueden ser los siguientes:% - un carácter literal de porcentaje. No se precisa argumento.b - el argumento es tratado como un entero y presentado como un número binario.c - el argumento es tratado como un entero, y presentado como el carácter con dicho valor ASCII.d - el argumento es tratado como un entero y presentado como un número decimal.f - el argumento es tratado como un doble y presentado como un número de coma flotante.o - el argumento es tratado como un entero, y presentado como un número octal.s - el argumento es tratado como una cadena y es presentado como tal.x - el argumento es tratado como un entero y presentado como un número hexadecimal (con minúsculas).X - el argumento es tratado como un entero y presentado como un número hexadecimal (con mayúsculas).Veamos un ejemplo:<?printf (“El %s decimal %s es el %b binario y el %o octal.”, “n&uacute;mero”, 26, 26,26);?>

Variables.Con PHP no es necesario definir variables. Las variables se asignan por referencia.Todas las variables han de comenzar por un signo “$”, seguido de una letra o “_”. El resto de caracteres deben ser letras a-z, A-Z o caracteres ASCII del 127 al 255.PHP distingue entre mayúsculas y minúsculas en el nombre de sus variables.Probemos el siguiente ejemplo:<?$texto = “Hola”;$TEXTO = “mundo”;print “$texto, $TEXTO”;print “<br>”;$texto = “El texto es \”$texto, $TEXTO\””;print $texto;

65

Page 66: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

?>En este ejemplo hemos creado por referencia las variables “$texto” y “$TEXTO”, luego les hemos dado salida formando la frase “Hola, mundo”. Finalmente hemos reasignado el valor dela variable “$texto” y le hemos dado salida.

ArraysUn array es una asociación entre una clave y un valor. En PHP pueden definirse mediante la función array() o por referencia. Veámoslo de manera práctica.<?$a = array( ‘color’ => ‘rojo’,‘sabor’ => ‘dulce’,‘forma’ => ‘esférica’,‘nombre’ => ‘manzana’,4 // Su clave será 0);print $a[‘color’];print “<br>”;print $a[‘sabor’];print “<br>”;print $a[‘forma’];print “<br>”;print $a[‘nombre’];print “<br>”;print $a[0];/*Salida :rojodulceesféricamanzana4*/// Esta forma de definir el array es equivalente a esta:$a[‘color’]=’rojo’;$a[‘sabor’]=’dulce’;$a[‘forma’]=’esférica’;$a[‘nombre’]=’manzana’;$a[0]=4;?>Cuando se define un array sin especificar la clave se le asignan automáticamente valores enteros.<?$b = array (‘Cero’, ‘Uno’, ‘Dos’, ‘Tres’);print $b[0];print “<br>”;print $b[1];

66

Page 67: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

print “<br>”;print $b[2];print “<br>”;print $b[3];print “<br>”;/*La salida de nuestro código es:CeroUno…………

Estructuras de controlEl código PHP, al igual que otros muchos lenguajes, se desarrolla mediante sentencias (statements). Una sentecia es un fragmento de código comprendido entre dos caracteres “;” (a excepción de la primera).print “Hola”; print “, mundo”;La línea anterior está formada por dos sentencias. Un conjunto de sentencias agrupadas entre los caracteres “{“ y “}” forman una nueva sentencia.

if, else y elseifif ( expresión )sentenciaelseif ( expresión )sentenciaelsesentencia“If” permite decidir si se ejecuta o no una sentencia a partir de una expresión. Si la expresión es cierta se ejecuta la sentencia, si no lo es se compara con el siguiente “elseif”. Si la expresión del último “elseif” tampoco se cumple se ejecuta la sentencia asociada a “else”.<?$a=2;$b=3;if ( $a > $b )print “$a es mayor que $b”;elseif ( $a == $b )print “$a es igual a $b”;else{print “La &uacute;ltima posibilidad:”;print “<br>”;print “$a es menor que $b”;}/*Cambia los valores de $a y de $b para probar todas las posibilidades.*/

67

Page 68: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

?>Un tipo muy corriente de expresiones son las expresiones de comparación. Estas expresiones se evalúan a 0 o 1, significando FALSO (FALSE) o CIERTO (TRUE), respectivamente. PHP soporta > (mayor que), >= (mayor o igual que), == (igual que), != (distinto), < (menor que) y <= (menor o igual que).Asimismo existe la posibilidad de escribir expresiones lógicas.

Bucles “while”while ( expresión )sentenciaEjecuta la sentencia mientras la expresión sea cierta.<?$iterator=0;while ( $iterator < 100 ){print “El iterador vale $iterator<br>”;$iterator=$iterator+1;}print “Fin del bucle while”;?>

Bucles “for”for ( expresión1, expresión2, expresión3 )sentencia

Se evalúa la expresión1 una única vez. Al comienzo de cada iteración se evalua expresión2, si expresión2 es cierta se ejecuta la sentencia. Al final de cada iteración se ejecuta expresión3.Con un ejemplo quedará mucho más claro:<?for ( $contador=1; $contador < 100; $contador++ ){print “El contador vale $contador”;print “<br>”;}?>Al empezar $contador toma el valor 1. Como 1 < 100 se ejecuta la sentencia y posteriormente se evalúa $contador++, de manera que $contador pasa a valer 2. Como 2<100 se repite el bucle. Cuando $contador=100 se rompe el bucle.

Los métodos “GET” y “POST”.

“GET” y “POST” son métodos propios del protocolo HTTP. Su funcionamiento es prácticamente idéntico, diferenciándose en detalles técnicos que no nos interesan.

68

Page 69: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Bastará saber que con el método “POST” se pueden enviar al servidor un volumen de datos mucho mayor que con “GET”.Existen dos formas de enviar datos por “GET”: Mediante URL y mediante formulario. Veamos dos ejemplos.Creemos un script PHP llamado “escribe_datos.php”.<?print “dato1: $dato1”;print “<br>”;print “dato2: $dato2”;?>Si ahora llamamos a nuestro archivo mediante la url de la siguiente manera:http://3d.gui.uva.es/alu0/escribe_datos.php?dato1=primerdato&dato2=segundodatoEl servidor web pasará a PHP el valor de los argumentos y PHP asignará a las variables $dato1 y $dato2 el valor que le hayamos asignado.

También podemos utilizar un formulario.<form action=”escribe_datos.php” method=get>Escribe dato1: <input type=text name=dato1 size=20><br>Escribe dato2: <input type=text name=dato2 size=20><br><input type=submit value=Enviar></form>El campo “action” indica a dónde hay que enviar los datos insertados en el formulario.Llegado a este punto empezamos a ver interactividad. Los datos insertados por el usuario podrían ser almacenados en un archivo o en una base de datos. La página “escribe_datos.php” podría responder de manera distinta dependiendo de los datos insertados en el formulario.El método “post” sólo se puede utilizar mediante formularios. Basta sustituir “method=get” por “method=post” en el encabezado del formulario. Es recomendable utilizar siempre este método.

Manejo de archivosPHP ofrece funciones muy potentes para el manejo de archivos. Podemos manejar archivos locales tal y como permiten otros lenguajes de programación así como archivos remotos a los que se accede por http ó ftp prácticamente como si fueran locales.

fopen ( archivo, modo )

69

Page 70: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Abre un archivo o una url. Si el archivo se abre con éxito devuelve un puntero, en caso contrario devuelve “FALSE”. El modo debe ser uno de los siguientes.'r' - Abre para sólo lectura; sitúa el puntero del fichero al comienzo del mismo.'r+' - Abre para lectura y escritura; situa el puntero del fichero al comienzo del fichero.'w' - Abre para sólo escritura; sitúa el puntero del fichero al comienzo del fichero y trunca el fichero con longitud cero. Si el fichero no existe, trata de crearlo.'w+' - Abre el fichero para lectura y escritura; sitúa el puntero del fichero al comienzo del fichero y trunca el fichero con longitud cero. Si el fichero no existe, trata de crearlo.'a' - Abre sólo para escribir (añadir); sitúa el puntero del fichero al final del mismo. Si el fichero no existe, trata de crearlo.'a+' - Abre para lectura y escritura (añadiendo); sitúa el puntero del fichero al final del mismo. Si el fichero no existe, trata de crearlo.Si el archivo es local puede indicarse con una ruta tanto absoluta como relativa (al directorio del archivo PHP). La ruta puede escribirse tanto con el formato de Windows como de UNIX. Si el archivo es remoto debe indicarse el protocolo (http o ftp).<?$fp = fopen ( “/var/www/alu0/archivos/prueba.txt”, “r”);/*Hay que tener cuidado de usar barras dobles al usar el formato de windows*/$fp = fopen ( “\\var\\www\\alu0\\archivos\\prueba.txt”, “r”);$fp = fopen (“archivos/prueba.txt”, “r”);$fp = fopen ( “http://www.terra.es/”, “r”);$fp = fopen ( “ftp://anonymous:[email protected]/pub/wireless/doc/IPSec/x509-certificate-freeswan.html”, “r”);?>

fclose ( puntero )Cierra el puntero a un fichero abierto.

feof ( puntero )Verifica si el puntero está al final de un archivo. Devuelve “FALSE” en caso afiramtivo y “TRUE” en caso contrario.

fread ( puntero, longitud )Lee “longitud” bytes del fichero apuntado. La lectura es con seguridad binaria.Funciones de tipo “fget”Extraen de distintas maneras el contenido de un archivo.

fgetc ( puntero ) Devuelve un caracter del fichero apuntado o FALSE si se ha alcanzado el fin del archivo.

fgets ( puntero, longitud ) Devuelve todos los caracteres hasta que encuentre un carácter nueva línea o hasta que se alcance la longitud, lo que ocurra primero.

70

Page 71: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

fgetss ( puntero, longitud ) Igual que fgets, pero eliminando las etiquetas html.

fpassthru ( puntero ) Devuelve todos los datos desde la posición del puntero hasta el final del archivo.Veamos unos ejemplos:<?if ( ! $fp = fopen (“http://www.google.com/index.html”, “r”)){print “Error al abrir el archivo”;exit;}while ( ! feof ($fp) ){$linea = fgets ($fp, 4096);linea = str_replace (“Google”, “www.uva.es”, $linea);print $linea;}fclose ($fp);?>

Abre el archivo “index.html” de www.google.com, lo recupera línea por línea y lo escribe reemplazando todas las ocurrencias de la cadena “Google” por “www.uva.es”.<?if ( ! $fp = fopen (“http://www.google.com/index.html”, “r”)){print “Error al abrir el archivo”;exit;}while ( ! feof ($fp) ){$linea = fgetss ($fp, 4096);print $linea;}fclose ($fp);?>Recupera “index.html” eliminando todas las etiquetas html.<?if ( ! $fp = fopen (“http://www.google.com/index.html”, “r”)){print “Error al abrir el archivo”;exit;}fpassthru ($fp);?>No necesitamos cerrar el puntero ya que fpassthru lo cierra automáticamente. Consulta la referencia de “readfile”. Con “readfile” no necesitaremos llamar a “fopen”.

fwrite ( puntero, cadena )

71

Page 72: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Escribe la cadena en el puntero. La escritura es con seguridad binaria.Referencia de funciones de manejo de archivos:http://www.php.net/manual/en/ref.filesystem.phpConsulta la referencia de funciones de manejo de archivos y hazte una idea de las que existen.Para alumnos avanzados: Con PHP se pueden establecer sockets de Internet o UNIX y se pueden tratar como si fueran archivos usando estas funciones. Consulta la referencia de “fsockopen”.

Asp

Active Server Pages (ASP), también conocido como ASP clásico, es una tecnología de Microsoft del tipo "lado del servidor" para páginas web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Services (IIS).

La tecnología ASP está estrechamente relacionada con el modelo tecnológico y de negocio de su fabricante. Intenta ser solución para un modelo de programación rápida ya que "programar en ASP es como programar en Visual Basic y C#", por supuesto con muchas limitaciones y algunas ventajas específicas en entornos web.

Ejemplo C# Para aplicaciones Móbiles

<%@ Page Inherits ="System.Web.UI.MobileControls.MobilePage" Language="C#" Debug="true"%><%@ Register TagPrefix ="mobile" Namespace ="System.Web.UI.MobileControls" Assembly ="System.Web.Mobile"%><%@ Import Namespace ="System" %><%@ Import Namespace ="System.Data" %><%@ Import Namespace ="System.Data.OleDb" %>

//todos los controles ponerlos dentro de una forma<mobile:Form runat=server><B>INSERCION REGISTRO</B>CODIGO..:<mobile:TextBox runat=server id=CODIGO/>DESCRIPCION.:<mobile:TextBox runat=server id=DESCRIPCION/>EXISTENCIA...:<mobile:TextBox runat=server id=EXISTENCIA/>PRECIO...:<mobile:TextBox runat=server id=PRECIO/>PRECIO DE VENTA...:<mobile:TextBox runat=server id=PRECIOVENTA/><mobile:Command runat="server" OnClick=INSERTAR Text=OK /><mobile:Command runnat="server" OnClick=MOSTRAR Text=MOSTRAR/><mobile:Label runat="server" id=RESULTADO /><a href="VerRegistrosMobile.aspx">VER REGISTROS</a><br></br><a href="Inicio.aspx">CERRAR SESIÓN</a></mobile:Form>

<script runat ="server" > //creando y cargando conexion, adapter, dataset como variables globales OleDbConnection conexion;

72

Page 73: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

DataSet tabla; OleDbDataAdapter canal; void Page_Load(object sender, EventArgs e) { conexion = new OleDbConnection("provider=Microsoft.ACE.OleDb.12.0; Data Source=C:\\Users\\Edith\\Desktop\\Datos1.accdb"); canal = new OleDbDataAdapter("select * from Registro", conexion); tabla = new DataSet(); canal.Fill(tabla, "Registro"); //cargando nuevo textbox con la nueva clave correspondiente int cren = tabla.Tables["Registro"].Rows.Count; int nvaclave = Int32.Parse(tabla.Tables["Registro"].Rows[cren - 1][0].ToString()) + 1; CODIGO.Text = nvaclave.ToString(); }

void INSERTAR(Object sender, EventArgs e) { //creando y cargando un objeto OLEDBCOMMAND //instruccion sql insert into mitabla(listacampos) values(listados) //@variable es una variable de tipo command o parametro string q = "insert into Registro(CODIGO,DESCRIPCION,EXISTENCIA,PRECIO,PRECIOVENTA) values(@CODIGO, @DESCRIPCION, @EXISTENCIA, @PRECIO, @PRECIOVENTA)"; OleDbCommand orden = new OleDbCommand(q, conexion); orden.Parameters.Add(new OleDbParameter("@CODIGO", OleDbType.Integer)); orden.Parameters["@CODIGO"].Value = CODIGO.Text; orden.Parameters.Add(new OleDbParameter("@DESCRIPCION", OleDbType.VarChar ,20)); orden.Parameters["@DESCRIPCION"].Value = DESCRIPCION.Text; orden.Parameters.Add(new OleDbParameter("@EXISTENCIA", OleDbType.Integer)); orden.Parameters["@EXISTENCIA"].Value = EXISTENCIA.Text;

orden.Parameters.Add(new OleDbParameter("@PRECIO", OleDbType.Integer)); orden.Parameters["@PRECIO"].Value = PRECIO.Text;

orden.Parameters.Add(new OleDbParameter("@PRECIOVENTA", OleDbType.Integer)); orden.Parameters["@PRECIOVENTA"].Value = PRECIOVENTA.Text;

orden.Connection.Open(); orden.ExecuteNonQuery(); orden.Connection.Close(); //avisando operacion RESULTADO.Text = "REGISTRO INSERTADO"; //<a href="">VER TODOS LOS REGISTROS </a> //REFRESCANDO DATASET con los nuevos datos de la tabla en disco canal = new OleDbDataAdapter("select * from Registro", conexion);

73

Page 74: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

//creando el dataset y cargandolo tabla = new DataSet(); canal.Fill(tabla, "Registro"); //nueva clave y limpiando cajas int cren = tabla.Tables["Registro"].Rows.Count;

int nvaclave = Int32.Parse(tabla.Tables["Registro"].Rows[cren - 1][0].ToString()) + 1;

CODIGO.Text = nvaclave.ToString(); DESCRIPCION.Text = ""; EXISTENCIA.Text = ""; PRECIO.Text = ""; PRECIOVENTA.Text = ""; conexion.Close(); } </script>

74

Page 75: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

EJEMPLO C# Para una aplicación Normal--%>

using System;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.OleDb;

public partial class _Default : System.Web.UI.Page{ //Creando y cargando conexion, adapter, dataset como variables globales OleDbConnection conexion; DataSet tabla; OleDbDataAdapter canal; protected void Page_Load(object sender, EventArgs e) { conexion = new OleDbConnection("provider=Microsoft.ACE.OleDb.12.0; Data Source=C:\\Users\\Edith\\Desktop\\Datos1.accdb"); canal = new OleDbDataAdapter ("select * from Datos", conexion); tabla = new DataSet(); canal.Fill(tabla, "Datos"); } protected void Button1_Click(object sender, EventArgs e) { string usu = USUARIO.Text; string pass = CONTRASEÑA.Text; string q = "SELECT Password from Datos WHERE IDUsuario='" + usu + "'"; canal = new OleDbDataAdapter(q, conexion); if (canal.Fill(tabla, "Datos") != 0) { Response.Redirect("InsertArtic.aspx"); } else {

this.Label1.Text = "LA CONTRASEÑA NO ES CORRECTA (ERROR DE CAPA 8)"; } }}

NOTA: Esta práctica la realizamos con diseño. (Ver la parte superior derecha).

75

Label1

Page 76: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

AFI

La Oficina de Registro de la Dirección Nacional de Derecho de Autor, presta el servicio gratuito de registro de obras literarias y artísticas, entre ellas el soporte lógico o software.En este sentido, la finalidad del registro e la de otorgar mayor seguridad jurídica a los titulares respecto de sus derechos autorales y conexos, dar publicidad a tales derechos y a los actos y contratos que transfieren o cambien su dominio y dar garantía de autenticidad a los titulares de propiedad intelectual y a los actos y documentos a que a ella se refieran.Por tal razón, el objeto del registro de derecho de autor y de los derechos conexos no es constitutivo de ellos sino meramente declarativo, no obligatorio y sirve de medio idóneo de prueba. Lo anterior, responde al criterio normativo autoral que establece que desde el mismo momento de la creación nace el derecho y no se requieren de formalidades para la constitución del mismo.

Trámite del registro de Soporte Lógico o software ante la Dirección Nacional de Derecho de Autor

1. Se debe diligenciar el formato que para tal efecto ha diseñado la entidad. Este consta de la hoja denominada "Solicitud de Inscripción de Soporte Lógico o Software"; los datos allí requeridos deberán consignarse de idéntica manera en letra clara y legible, preferiblemente a máquina, sin enmiendas o correcciones, firmarse la hoja en original y remitirse junto con la copia de la obra y los demás documentos requeridos a la Oficina de Registro de esta entidad.

2. Al final de la información encontrará el formulario de registro de soporte lógico o software en archivo pdf.

(Nota: Los formularios se deben bajar en formato oficio, imprimir en tinta negra de la misma forma como aparece en la configuración de la pantalla, recuerde configurar su impresora para tal efecto. Si se remite el formulario en formato distinto al tamaño oficio, si este es impreso en colores, si la configuración del diseño del formulario al momento de imprimir es diferente, si utiliza un formulario distinto para la solicitud, u omite o no observa las instrucciones, su solicitud será devuelta para que realice las correcciones pertinentes).

INTRODUCCIÓN Esta lista de preguntas y respuestas pretende orientar en cuestiones básicas de Derechos de Autor. Es una recopilación de lo que he ido aprendiendo desde 1996 al hacer personalmente trámites para registrar un par de manuscritos míos en el Registro Público del Derecho de Autor. Batallé mucho al principio, así que fui escribiendo los pasos que seguí.

76

Page 77: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Recientemente estoy aprendiendo acerca del registro de programas de cómputo, de los derechos y obligaciones relacionados a los mismos, por lo que agregué estos temas.

Comparto este documento con quienes van a desarrollar programas de cómputo, van a escribir algún manual, libro o similar, con los que ya desarrollan programas, con quienes usan programas, y en general con quien tenga dudas respecto a derechos y obligaciones y no sabe por dónde empezar, a quién preguntar, si pedir ayuda profesional, etc.

No soy abogado, así que el lector interesado deberá asesorarse por un abogado que conozca el derecho de autor mexicano, para que analice su caso, tome en cuenta todas las circunstancias particulares y emita una recomendación profesional.

La información en este artículo es proporcionada por el autor sin ninguna garantía de ningún tipo, ya sea expresa o implícita, incluyendo, pero no limitada a, la garantía de que la información sea correcta o cumpla para cierto propósito.

 

GENERAL

¿Qué leyes rigen en México para los programas de cómputo, las bases de datos y su documentación? Principalmente las siguientes:

Ley Federal de Derechos de Autor (LFDA) y su reglamento Protege los programas de cómputo, su documentación y las bases de datos en forma similar a los libros, las canciones y sus letras, las grabaciones musicales, las pinturas, y demás obras. Tiene además su Reglamento (RLFDA).

Ley de Propiedad Industrial (LPI) y su reglamento Protege elementos que pueden acompañar a un programa de cómputo, como son: marcas, dibujos o íconos distintivos.

Código Penal Federal y Código Federal de Procedimientos Penales Sancionan la producción masiva de COPIAS no autorizadas de programas de cómputo o su venta.

¿Qué instituciones de gobierno tienen que ver con las leyes mencionadas? Instituto Nacional del Derecho de Autor (Indautor)

Opera el Registro Público del Derecho de Autor, en él se registran programas, documentación y bases de datos, orienta a autores, procura resolver controversias según la LFDA y su reglamento. Es un organismo desconcentrado de la Secretaría de Educación Pública.

77

Page 78: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Instituto Mexicana de la Propiedad Industrial (IMPI) Implementa el registro y la protección de patentes, modelos de utilidad, diseños industriales y marcas de acuerdo a la LPI. Delegado por la LFDA para investigar posibles violaciones a derechos de autor. Es un organismo independiente del gobierno federal.

¿Dónde puedo conseguir el texto de estas leyes? Las leyes federales y sus reglamentos están disponibles en el repositorio Leyinfo de la Cámara de Diputados del Congreso de la Unión como documentos PDF. Los reglamentos están bajo Reglamentos de Leyes Federales. También consultar la sección Documentos Oficiales en el sitio del INDAUTOR para algunos acuerdos relacionados con Derecho de Autor. Otras normas relacionadas con Propiedad Industrial se encuentran en la Norma teca del IMPI. Las leyes federales también pueden consultarse en Leyco como documentos HTML con índice y correlacionados.

¿Necesito ser abogado para saber algo sobre derechos de autor? No, y sí es recomendable que sepas los conceptos básicos aunque no seas especialista en leyes. Esto te permitirá decidir cuándo acudir a un abogado que sepa de derechos de autor para consultarlo y tomar decisiones importantes respecto a algún desarrollo, proyecto, licenciamiento u otro asunto relativo a un programa.

¿Cómo puedo aprender más sobre Derechos de Autor? Tienes opciones de diversas fuentes: 1. Consulta los artículos en Información general sobre derechos de autor en la página del INDAUTOR. 2. Lee de la Ley Federal del Derecho de Autor, al menos los primeros artículos y el capítulo IV del título IV (programas de computación y bases de datos). Procura entender los siguientes términos:

Derecho moral de autor vs derecho patrimonial de autor Obra primigenia, derivada, de compilación Obra divulgada, inédita, publicada Obra individual, de colaboración, colectiva

Si prefieres la ley impresa, pregunta en tu librería favorita por "legislación en materia de derechos de autor", hay ediciones económicas de bolsillo. 3. Acude al INDAUTOR personalmente y pide folletos informativos, si vives en Ciudad de México. 4. Asiste a conferencias o pláticas sobre derechos de autor en universidades u otros foros impartidas por especialistas. O invita a un especialista a tu universidad o empresa para que imparta una sesión informativa. 5. Lee las Preguntas más frecuentes de la División de Protección a la Propiedad Industrial en la página del IMPI.

78

Page 79: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

6. Checa en el apartado de derechos de autor de www.marcas.com.mx. 7. Consulta el foro de estudio Proint en Yahoo, y si te interesa inscríbete para que puedas enviar preguntas. 8. Consulta en el repositorio Prointwiki.

¿Se puede patentar un programa de cómputo? Originalmente la respuesta era no en todos los países (las patentes se solicitan en cada país y cubren para ese país solamente). Desde principios de la década de los 80's, y solamente en los EE.UU., se empezaron a otorgar patentes para programas, métodos y algoritmos implementados en computadoras. Hoy en día EE.UU. sigue siendo el único país con este registro. Recientemente se modificó una propuesta de ley en el Parlamento Europeo que buscaba hacer lo mismo que en EE.UU; se modificó de tal forma que en la Comunidad Europea las patentes de software siguen sin aceptarse.

¿Y en México? La LPI, que regula el otorgamiento de patentes en México a las invenciones de productos o de procesos, menciona en su artículo 19 sección IV que los programas de cómputo no son considerados invenciones.   Un programa de cómputo podría ser parte de un invento, sea un producto o un proceso, como un elemento para realizar alguna de las funciones del invento.

DESARROLLO DE SOFTWARE

Si hago un programa de cómputo, ¿necesito registrarlo para que yo tenga derechos de autor sobre de él? No.  LFDA Artículo 5: "La protección ... se concede a las obras desde el momento en que hayan sido fijadas en un soporte material... El reconocimiento de los derechos de autor y de los derechos conexos no requiere registro ni documento de ninguna especie..."   Si no requiero registrarlo para que valgan los derechos de autor de mi programa de cómputo o base de datos, ¿entonces para qué lo registro? La decisión de registrar o no un programa o su documentación es tuya. El registro de un programa de cómputo o base de datos en el INDA es un antecedente fechado por una institución oficial, que puede ayudarte a resolver una controversia si se presentara. Tanto el Registro Público del Derecho de Autor, como tú conservan un ejemplar sellado de tu obra, y un oficio con el número de registro.

79

Page 80: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Si soy empleado o consultor y realizo un programa de cómputo durante mi trabajo, soy el titular del derecho de autor o lo es mi empleador? "Salvo pacto en contrario, los derechos patrimoniales sobre un programa de computación y su documentación, cuando hayan sido creados por uno o varios empleados en el ejercicio de sus funciones o siguiendo las instrucciones del empleador, corresponden a éste." LFDA 103.

Si soy empleado o consultor y realizo un programa de cómputo en mi tiempo libre, en casa, con equipo y herramientas de desarrollo de mi propiedad, ¿soy el titular del derecho de autor del programa? Depende de las cláusulas de tu contrato de trabajo, y de si firmaste un acuerdo de confidencialidad y/o desarrollos propietarios con tu empleador. Éste último puede especificar que todo programa que desarrolles es propiedad de tu empleador, sin dejar en claro el caso descrito en esta pregunta. Si el programa de cómputo que pretendes hacer se traslapa con las responsabilidades de tu puesto, también deja menos claro el caso. Decide si quieres consultar tu caso con un abogado o no. En caso afirmativo, el abogado examinará tus documentos y te propondrá un acuerdo de reconocimiento de derechos para que lo firme el representante legal de tu empleador, preferentemente antes de empezar a desarrollar el programa. El acuerdo de reconocimiento de derechos dejará en claro que el programa que vas hacer no es un trabajo por encargo y que serás el titular del derecho de autor.

¿Y si no hago lo recomendado en la pregunta anterior? Si tu jefe actual aprueba a que desarrolles el programa y conserves los derechos de autor, por ahora estás bien. Pero igual más adelante otra persona en la empresa puede opinar distinto y podría surgir una controversia sobre quién es el titular. Un acuerdo escrito ayuda a que no quede en el aire el asunto.

¿Qué recomendaciones puedo seguir si público o muestro mi programa antes de que lo registre? Asumiendo que sí eres el titular del derecho de autor de tu programa, incluye en el código fuente o muestra en pantalla al iniciar el programa objeto 'autor:' y 'fecha:' con tu nombre y fecha en que empezaste el desarrollo, o usa el formato: Derechos Reservados (c) tu-nombre-y-apellidos año-de-publicación En forma similar al pie de este documento.

REGISTRO DE PROGRAMAS, DOCUMENTACIÓN O BASES DE DATOS ¿Cómo registro un programa de cómputo, su documentación o una base de datos?

80

Page 81: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Puedes hacerlo personalmente. Sigue el procedimiento que está descrito en Cómo registrar una obra en México. En el caso de programas de cómputo, donde dice 'ejemplar de la obra' será un listado del código fuente o un diskette o disco compacto con el código binario o fuente. Para dudas al final hay teléfonos y correos para preguntar en el INDAUTOR.

Cuánto cuesta la solicitud de registro? Lo mismo que para registrar un libro, una canción, etc. Es una cuota entre $130 y $140. Checa el procedimiento mencionado en la pregunta anterior.

¿Es difícil el proceso para registrar? Como todo, la primera vez parece compleja. Es cuestión de hacerlo y ya. Cuánto tiempo tarda el INDAUTOR en contestar mi solicitud? Una a dos semanas en México. Solicitudes foráneas pueden tomar de tres a cuatro semanas.

VENTA O LICENCIA DE USO

Hice un programa y su manual, y soy el titular de los derechos. ¿Qué opciones hay para que otros usen mi programa? a. Puedes transmitir tu derecho patrimonial sobre el mismo a otra persona o una empresa, mediante un contrato de cesión de derechos y a cambio de una retribución económica negociada. Dejarás de ser el titular del derecho de autor del programa. Muy recomendable que te asesores con un abogado para redactar el contrato, y que lo ingreses al Registro Público del Derecho de Autor. b. Puedes licenciar el uso de tu programa a otros, redactando una licencia o usando una ya existente, que indica qué sí se puede hacer y qué no. Tú sigues siendo el titular del derecho de autor del programa.

LICENCIA DE USO

Necesito definir la licencia de uso para mi programa de cómputo antes de registrarlo? No. Lo que sí tienes que decidir, es si vas a registrar el código fuente o el código binario.

Qué tipos de licencias hay? Las licencias de uso de software generalmente caen en alguno de estos tipos:

81

Page 82: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Licencia propietaria. Uso en una computadora por el pago de un precio. Shareware. Uso limitado en tiempo o capacidades, después pagar un precio. Freeware. Usar y copiar ilimitado, precio es cero. Software libre. Usar, copiar, estudiar, modificar, redistribuir. Código fuente incluido. Hay una explicación de los tipos de licencias en Categorías de Software Libre y No Libre del proyecto GNU y en Licencias de software de Prointwiki.

¿Qué licencia uso para mi programa? Depende de varios factores.  Entre otros: ¿Usas código fuente o binario de otros? Necesitas leer y comprender la licencia de uso que cada autor te otorga, y cumplir sus requerimientos. ¿Será licencia propietaria o libre? Tú decides. Define qué usos les quieres permitir a quienes utilicen tu programa, dentro de los límites del párrafo anterior.

¿Qué licencia de software libre uso? Consulta y pregunta con otros. Checa la lista Approved Licenses en el sitio de la Open Source Initiative. Checa GPL y LGPL en Licencias del proyecto GNU. También da un vistazo a Licencia GNU GPL y Licencia GNU LGPL en Prointwiki.

AYUDA PROFESIONAL Si decides consultar a un profesional en derechos de autor, tu primera tarea será encontrar en tu localidad o donde te sea más práctico a uno o más especialistas en la materia, después seleccionar con quién acudir.

¿Qué abogados conocen de derechos de autor en México? No he encontrado un directorio único. Hay algunos directorios de asociaciones nacionales de propiedad intelectual en las que se mencionan a los despachos o especialistas que son miembros, pero sin especificar si conocen de programas de cómputo. Por ejemplo: www.aippi.org.mx. He visto sitios de algunos despachos, por ejemplo: www.marcas.com.mx y www.vadillo.com.mx. Más adelante me gustaría elaborar una lista más detallada, tanto de despachos como de especialistas independientes.

¿Cómo selecciono con quién acudir? La profesión de Leyes se parece a la medicina en cuanto a que hay especialidades. Un abogado puede especializarse en marcas, patentes o derechos de autor. Y dentro de derechos de autor, puede saber sobre contratos de licencia, o contratos para desarrollar software, resolución de controversias, etc.

82

Page 83: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Mi recomendación: primero llama por teléfono y pregunta cuál es la experiencia que tiene la persona. Si es un despacho pregunta quién es la persona dedicada a derechos de autor. Indaga qué casos atienden dentro del área del derecho de autor.

¿Cómo pido la ayuda? Una vez que tengas los datos de alguien que ha tenido experiencia con programas de cómputo, exponle tu situación y tu objetivo.  Quizás te requieran copias de algunos documentos para que te hagan un presupuesto de costo y tiempo estimado de respuesta. Siempre pregunta sobre el costo antes de aceptar que se realice el trabajo. Revisa la propuesta y si aceptas las condiciones, entonces el abogado realizará su labor, pidiéndote más detalles y al final entregándote los resultados acordados.

¿Cuánto puede costar? La única lista de precios que he encontrado está en la sección tarifas de: www.vadillo.com.mx.

¿Para qué consulto un abogado, si yo puedo leer las leyes e informarme? En los principios básicos sí puedes, y debes estar informado. Pero para interpretar todos los elementos de tu caso, pueden entrar en juego otras leyes y reglamentos, excepciones, etc. que sin la experiencia puedes pasar por alto o interpretar en forma distinta.

USO DEL SOFTWARE

Ahora pongámonos del otro lado: usando los programas que otros han realizado...

¿Cómo se considera el usar programas de cómputo sin cumplir con las cláusulas de la licencia de uso correspondiente? Es una "infracción en materia de comercio" el "usar, reproducir o explotar... un programa de cómputo sin el consentimiento del titular." LFDA Artículo 231 Sección VII. La sanción va de cinco mil a diez mil días de salario mínimo del D.F. $200,000 a $400,000 aproximadamente (LFDA Artículos 232 y 236)

¿Quién investiga si determinada empresa o institución usa programas sin cumplir con la licencia correspondiente?

83

Page 84: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

La LFDA delega al IMPI esta función.  El afectado, o un representante del afectado como la BSA, hacen una queja de posible infracción al uso de su programa o base de datos.

Qué es la BSA? La Business Software Alliance es una organización no lucrativa que representa a algunos fabricantes de software propietario ante los consumidores y que combate la copia y el uso no autorizado de software en empresas o instituciones. La BSA está basada en EE.UU. y tiene representantes en muchos países. ¿Qué puede hacer el IMPI para determinar si una empresa usa o no programas sin cumplir con la licencia? El IMPI puede: (LPI artículos 204 y 211) Solicitar informes y datos (copia de la factura de compra de licencias de aplicaciones o sistemas operativos propietarios para tantas PCs existentes en un establecimiento). Realizar visitas de inspección (para examinar qué programas están instalados en cada PC), Asegurar equipos (PCs sospechosas para un peritaje posterior o como pruebas de infracción)

Como propietario o encargado del establecimiento, ¿qué obligaciones tengo con el IMPI? Proporcionar los informes y datos solicitados dentro de quince días (LPI 204) Permitir la entrada al inspector que presente el oficio de comisión (LPI 206) Pago de las multas que se determinen

¿Cómo determina un inspector del IMPI qué programas de cómputo están instalados en una PC? Mediante herramientas de software que exploran el registro de Windows y diversos archivos del sistema (DLL y demás).

¿Cómo puedo revisar qué programas tienen instalados las computadoras en mi establecimiento o negocio, en forma preventiva? La BSA ofrece para descarga gratis la herramienta GASP Audit Tool en su página web. Existe también el Microsoft Software Inventory Analyzer, que puedes descargar en forma gratuita.

¿Cada cuándo visita el IMPI a establecimientos para inspeccionar si hay software propietario que no cumple con la licencia correspondiente?

84

Page 85: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Constantemente y en todo el país, dentro de una campaña llamada "Cero Tolerancia al Uso Ilegal del Software". Se hacen visitas previas para auditar y se hacen indicaciones si toca, para que regularicen el software sin licencia. Si el establecimiento no responde, entonces la BSA inicia el proceso administrativo en el IMPI con las consecuentes multas. Fuente: BSA

¿Quiero aprender más de este tema, dónde busco? En la página del IMPI, en Protección de la propiedad intelectual. Otros países

¿Qué pasa con programas de cómputo hechos en otros países y que se usan en México, o los hechos en México y que se usan a otros países? El derecho de autor se rige originalmente por la ley de cada país y para su territorio únicamente. Sin embargo, existen desde hace tiempo acuerdos internacionales de reciprocidad.   Los acuerdos internacionales sobre derechos de autor establecen que una obra hecha en un país estará automáticamente protegida en los demás países que suscriben ese acuerdo.   Así es como están protegidos los programas de computación hechos en EE.UU. y que usamos en México, por ejemplo. Del mismo modo, un programa o manual hecho en México, está protegido en otros países y no es necesario ir a registrarlo allá.

¿En cuáles acuerdos internacionales de derechos de autor participa México? El acuerdo más antiguo es el Convenio de Berna para la protección de las obras literarias y artísticas, establecido en 1886 y mejor conocido en el medio como el Convenio de Berna.   La versión vigente del Convenio de Berna data de 1971. Se realizó en París con la participación y firma de México entre otros tantos países ya adheridos. En 1973 el Congreso lo aprobó, y entró en vigor en 1975.   Está también el Tratado de Libre Comercio de América del Norte, TLCAN o NAFTA por sus siglas, firmado entre Canadá, México y EE.UU. que incluye un capítulo sobre propiedad intelectual.  

85

Page 86: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Existe al Acuerdo de Propiedad Intelectual en relación al Comercio, o ADPIC, de la Organización Mundial del Comercio.   Así hay otros tratados bilaterales o internacionales. La mayoría concuerdan con el convenio de Berna, así que puedes empezar por entender éste para darte una idea.   Para terminar y por si fuera poco, hay la ley de derechos de autor o de copyright de cada país. Para un país en particular, habrá que consultar su ley vigente para conocer detalles, excepciones, etc.

Copyright

¿Qué es el Copyright? Es el sistema para protección de obras literarias, artísticas y científicas usado en EE.UU., Inglaterra y demás países de tradición jurídica anglosajona. Procede igualmente para programas de cómputo.

¿Es igual al derecho de autor? Es similar, con algunas diferencias.   En el derecho de autor el autor de una obra siempre es una persona, en el Copyright puede ser una empresa.   El derecho de autor, o droit d'autor del francés, contempla el llamado derecho moral de autor, además del derecho patrimonial. El derecho moral incluye entre otras cosas, el derecho a que se mencione el nombre del creador de la obra, aunque éste ceda su obra.  

Patentes que es una patente? En una definición, seguro que poco rigurosa, se trata de un monopolio temporal sobre una tecnología. Desde el punto de vista oficial se consienten y protegen estos monopolios porque supuestamente son el único mecanismo que garantiza que la inversión realizada en la investigación y desarrollo de un producto, técnica, etc. pueda recuperarse. El monopolio se implementa concediendo al titular de la patente el derecho a explotar ese producto, técnica, etc. en exclusiva. Eso es, el derecho tiene algunas limitaciones: tiene una duración determinada (veinte años), debe ser explotada, etc. Como se obtiene una patente? En general cada país dispone de una oficina de patentes encargada de otorgar ese derecho exclusivo en su territorio. En el caso

86

Page 87: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

de España es la Oficina Española de Patentes y Marcas (OEPM) que es un Organismo Autónomo del Ministerio de Ciencia y Tecnología. Algunos países además se han agrupado para reconocerse automáticamente esos derechos, ya que la legislación sobre propiedad industrial e intelectual es una de las armonizadas del mundo. Así, se ha creado por ejemplo la Oficina Europea de Patentes (EPO, European Patent Office). La EPO no depende de la Unión Europea. De hecho es un organismo formado también por países que no forman parte de la Unión (Suiza, Turquía, etc.) y que no depende de los presupuestos de la Unión, se autofinancia. Resalto este hecho, porque la fuente de ingresos principal de la EPO es el resultado de las tasas que cobra a los solicitantes de patentes, lo cual les motiva mucho a fomentar las patentes. quien defiende una patente? En contra de lo que mucha gente cree, las oficinas de patentes, como la EPO, no tienen la misión de defender las patentes. Se trata de un simple registro que certifica la fecha en la que se ha realizado la solicitud de una patente y que realiza (y cobra) una serie de estudios para comprobar que ese producto no se haya patentado con anterioridad, o que no estuviese permitido patentarlo. Es decir, las oficinas de patentes hacen una serie de comprobaciones antes de conceder una patente, aunque obviamente se pueden equivocar. Una vez concedida una patente la carga de la prueba recae sobre la parte demandante. Cómo se revoca una patente? De igual forma que las oficinas de patentes no defienden una patente, tampoco la revocan de oficio una vez concedida. Es decir, alguien que pretende demostrar que una patente no es legal tiene que probarlo ante las autoridades judiciales, a no ser, claro, que todo un país deje de reconocer las patentes, como por ejemplo hizo EEUU al independizarse del Reino Unido. Lo que hoy, curiosamente, no consiente a países como Sudáfrica, ni siquiera para salvar a su población del SIDA. Cómo afectan las patentes a la industria del software? De una forma peligrosa. De hecho constituye, en opinión de gran parte de la comunidad informática, uno de los problemas más graves que afronta la industria en estos momentos. Hubiera sido el desarrollo de la informática igual de rápida si se hubiese patentado el concepto de variable?

Marcas Que es una marca? Resumidamente, no es más que una denominación, un signo o medio material de cualquier clase o forma que sirve para distinguir a un producto o servicio de otros similares. Las marcas tienen un dueño, pueden ser de hecho, uno de los activos principales de una compañía. Así, empresas como Coca-Cola o El Corte Ingles gastan gran parte de su presupuesto simplemente en cuidar y

87

Page 88: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

promocionar sus marcas. La titularidad de una marca tiene una duración indefinida (en contra de los mitos sobre su caducidad). Cómo se obtiene una marca? Existen una serie de registros, dependientes de las administraciones públicas de cada país, que mantienen un registro de la marcas así como de los nombres comerciales, rétulos, etc. que en este articulo he agrupado bajo la sección marcas. En España es la misma oficina que en el caso de las patentes: la OEPM, puesto que se considera una marca como parte de la propiedad industrial de una empresa. De hecho, como decíamos antes, puede ser su propiedad más valiosa. Cómo se reclama una marca? En el caso de que exista una disputa sobre una marca, es un juez el que tiene que dirimir a quién pertenece. Han existido muchos juicios de este tipo, siendo muy llamativo el caso de Puma en España. Sin embargo, si se piensa fríamente debería ser un problema menor, pues una empresa tiene una infinidad de posibilidades de denominar a su producto -basta tener la suficiente imaginación- y, desde luego, lo que promueven las marcas es un fin perseguible: una empresa ha creado una reputación y ninguna otra debería tener derecho a aprovecharla o a destruirla. Cómo afectan las marcas a la industria del software? En principio yo creo que son neutrales y naturales. Siempre han existido marcas en la industria informática, tanto en el hardware como en el software. Microsoft es el nombre comercial de una empresa con marcas muy conocidas como Windows o Access, pero existen muchas otras empresas con infinidad de marcas, por ejemplo, IBM en los mismos segmentos ha competido con marcas como OS/2 o DB2.

Los derechos de autor Que son los derechos de autor? Básicamente el reconocimiento público de que un determinado bien cultural (artístico, científico, etc.) ha sido producido por un determinado autor. La protección de los derechos de autor cae dentro de la legislación sobre propiedad intelectual, que es diferente de la propiedad industrial (patentes y marcas). Cómo se obtienen los derechos de autoría? Para el caso de los bienes intelectuales: obras científicas, literarias, musicales, teatrales, cinematográficas, esculturas, pinturas, dibujos, grabados, litografías, comics, fotografías, etc. existen unos registros específicos. Asi, en España, existe el registro de la Propiedad Intelectual que depende del Ministerio de Educación, Cultura y Deportes. Es muy importante destacar, que a diferencia de las patentes y marcas, los derechos corresponden al autor por el mero hecho de la creación, a diferencia de la propiedad industrial, en la que se generan derechos exclusivamente mediante registro expreso y concreto de las patentes o de las marcas. Cómo se revocan, reclaman y defienden los derechos de autor? De nuevo es responsabilidad del autor defender sus derechos. Muchos se han organizado en

88

Page 89: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

formas de sociedades de autores para defender colectivamente ese derecho. Es el caso en España de la Sociedad General de Autores y Editores (SGAE). Desgraciadamente, estas sociedades han acabado siendo meras gestoras de los derechos de copia (copyright) que se derivan del derecho de autoría, representando más a los editores que a los autores. Cómo afectan los derechos de autor a la industria del software? Pues desde su aplicación a la industria del software en los años 60 han marcado la estructura de nuestra industria, de esa legislación y, por asimilación de otros mercados de propiedad intelectual, como el de la música, hemos acabado en un modelo de cobro por copia. La aparición en los últimos años de un modelo diferente, el software libre está haciendo tambalearse este mercado de licencias.

SO

Linux En un sentido estricto, sólo se puede hablar de una versión de Linux en un momento determinado: la última versión actualizada del núcleo. El núcleo es el dominio particular de Torvalds en el desarrollo de Linux, dejando todas las aplicaciones y servicios que actúan sobre el núcleo para los miles de desarrolladores que hay en el mundo.

En el sentido genérico de Linux, que se refiere a las colecciones de aplicaciones que se ejecutan sobre el núcleo, hay muchas versiones de Linux. Cada distribución tiene características específicas, que incluyen métodos de instalación, ampliaciones y características especiales.

Lo interesante de la forma dual de usar el término Linux es que ocurre lo mismo con el término SO. En un sentido comercial, un SO es una gran colección de aplicaciones que complementan el núcleo. Esto es lo que son Windows 95 y Windows 98, Windows NT, Windows 2000, o Mac OS.

Desde un punto de vista técnico, un SO es el núcleo principal que proporciona funciones básicas para desarrollar y ejecutar aplicaciones.

Un Sistema Operativo multiusuarioMás importante que sus capacidades multitarea son sus características como SO multiusuario, características que comparte con todas las versiones de Unís y otros sistemas clónicos de Unix.

89

Page 90: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Linux permite varios usuarios simultáneos, permitiendo aprovechar al máximo las capacidades multitarea del SO. La gran ventaja de esto es que permite utilizar Linux como servidor de aplicaciones. Desde sus terminales, los usuarios pueden conectarse a través de una red con el servidor y ejecutar las aplicaciones directamente en él, en lugar de hacerlo en su propio ordenador.

Linux es un sistema que trabaja propiamente de dos formas:

Línea de Comandos Interfaz Gráfica

El shell o línea de comandos trabaja con comandos diversos que cumplen las siguientes funciones, entre muchas otras:

Sobre los archivos y directorios Tratamiento de Archivos Permisos y Espacio de Disco Duro Monitoreo de procesos Redireccionamiento y Tuberías

Además trabaja con un super usuario o administrador del sistema que es capaz de manejar las características anteriores y muchas otras.

Comandos

COMANDOS SOBRE ARCHIVOS Y DIRECTORIOS

Comando: mkdir

Formato: mkdir [opciones] directorio

Descripción: Crea directorios.

Ejemplo: mkdir –p /home/juan/documentos/cartas

Crea el directorio cartas y todos los directorios anteriores necesarios.

Comando: rmdir

Formato: rmdir directorio

90

Page 91: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Descripción: Borra el directorio especificado. Siempre y cuando este vacío.

Ejemplo: rmdir cartas

Comando: pwd

Formato: pwd

Descripción: Informa sobre cuál es el directorio actual en el que nos encontramos, no tiene ningún tipo de parámetro.

Comando: cd

Formato: cd nombre_del_directorio

Descripción: Cambia del directorio actual al indicado en nombre_del_directorio. Si no se indica ningún directorio cambiara al directorio raíz del usuario que lo invoca. Admite los directorios . y .. correspondientes al actual y al padre del actual para indicar los caminos relativos al directorio destino.Ejemplos: cd cartas

Cambia al directorio cartas.

Comando: lsFormato: ls [opciones] archivos

Descripción: Lista los archivos indicados mostrando información sobre ellos. Si no se pasa como parámetro ningún nombre de archivo, lista los archivos del directorio actual.Las opciones son:

-a

-l

-t-rArchivos

Muestra todos los archivos del directorio actual incluyendo los archivos ocultos, que en LINUX son los que comienza su nombre por punto.Muestra los directorios como archivos en lugar de mostrar sus contenidos.

Ejemplos: ls –lMuestra los archivos del directorio actual con el formato extendido dando toda la información.

ls –la *.c

91

Page 92: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Muestra todos los archivos en formato extenso cuyo nombre termine en .c y que comiencen por cualquier cadena de carácter, mostrará también los que se consideran ocultos, que comprenden por .., y cumplan en resto de las condiciones.

COMANDOS BÁSICOS PARA EL MANEJO DE ARCHIVOS

Comando: catFormato: cat [opciones] archivosDescripción: Concatena la lista de archivos que se le facilita en la salida estándar. Ejemplos: cat hola.txt

Comando: rmFormato: rm [opciones] archivosDescripción: Elimina archivos y directorios del sistema de ficheros. Se utiliza tanto para borrar archivos, enlaces y directorios. Para eliminar directorios es necesaria la opción –r. Hay que tener mucho cuidado con la utilización de este comando pues sus acciones son irreparables.Las opciones son:Ejemplos:

rm *Borra todos los archivos del directorio actual pidiendo permiso para

cada archivo que va a borrar.

Comando: cpFormato: cp [opciones] fuente destinoDescripción: Copia archivos y directorios. Copiará fuente a destino, fuente puede ser una lista de archivos que copiará a un directorio indicado en destino. También puede copiar un archivo sobre otro archivo.Ejemplos: cp /usr/bin/joe .

Copia el archivo joe del directorio /usr/bin al directorio actual. cp joe joe.old Copia el contenido de joe a joe.old, es decir, respalda joe.

Comando: mvFormato: mv [opciones] origen destinoDescripción: Mueve archivos y directorios. También es el comando que se utiliza para renombrado de archivos y directorios por ser similar el efecto que se produce.Ejemplos: mv carta.txt carta.doc

Cambia de nombre el archivo carta.txt a carta.doc.

Comando: ln

92

Page 93: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Formato: ln [-s] origen destinoDescripción: Crea un enlace a un archivo, con el fin de poder acceder a un archivo con más de un nombre. Ejemplos: ln –s documento.txt trabajo.txt

Crea un enlace simbólico o ligadura simbólica del archivo documento.txt en el enlace trabajo.txt.

Comando: fileFormato: file archivoDescripción: Realiza una exploración del archivo tratando de clasificarlo. Al final imprime en pantalla la descripción del archivo e información relevante.Ejemplo: carta.doc Clasifica a carta.doc como un documento de Microsoft Office Document

PERMISOS Y ESPACIO DE DISCO DUROComando: chgrpFormato: chgrp [opciones] grupo archivosDescripción: Permite el cambio del grupo propietario de un archivo ó directorio. Para cambiar la propiedad de grupo de un archivo o directorio hay que ser el propietario de dicho archivo o ser el usuario root.Ejemplo: chgrp invitados p*

Cambia el grupo propietario a invitados de todos los archivos que comiencen por la letra p dentro del directorio actual.

Comando: chmodFormato: chmod [opciones] modo archivosDescripción: Permite el cambio de los permisos o modo de los archivos y directorios. Los permisos de un archivo o directorio permiten controlar el acceso a los mismos. Existen tres niveles de permisos, los de propietario, grupo y otros. Así los permisos de propietario afectan al propietario del archivo o directorio, los permisos de grupo afectan al grupo propietario y, por último, otros afectan al resto de usuarios del sistema.Dentro de cada nivel de permisos existen tres tipos de derechos de lectura r de escritura w y de ejecución x. En archivos, los derechos de lectura y escritura permitirán leer y escribir el archivo respectivamente y el derecho de ejecución ejecutar si se trata de un fichero que contiene código ejecutable.Ejemplo: chmod rwx,r,r archivo.txt

Comando: chownFormato: chown [opciones] usuario archivos

93

Page 94: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Descripción: Permite el cambio de usuario propietario de un archivo o directorio. Para cambiar el propietario de un archivo o directorios hay que ser el propietario de dicho archivo o ser el usuario root. Si se cambia la propiedad de un archivo sin ser el root ya no se podrá volver a obtener dicha propiedad, esta acción la tendrá que hacer el nuevo propietario o el root.Ejemplos:

chown jdalanis tabla.txtCambia el propietario de tabla.txt al usuario jdalanis

Comando: duFormato: du [opciones] archivosDescripción: Informa sobre la cantidad de espacio que ocupan en disco los archivos y directorios indicados como parámetros. Si no se da ningún parámetro se da la información del directorio actual.Las opciones más utiles son:-k-s

-h

Muestra los tamaños en kilobytes.Muestra el tamaño que ocupa cada subdirectorio en conjunto con la suma de todo lo que ocupa su contenido.Muestra el tamaño que ocupa la partición para que sea entendible para los humanos.

Ejemplos:du –s /varMuestra el tamaño total ocupado por el directorio /var y todo su

contenido.

Comando: df Descripción: Muestra información acerca de las particiones y el porcentaje que cada partición ocupa sobre el disco duro o unidad. Si por el contrario se introduce un directorio, se mostrarán sólo las estadísticas de la unidad de disco que incluye dicho directorio.Además muestra donde esta montada la partición, cual es su tamaño.Las principales opciones para usar con df son:-h

-t-k

Nos enseña el número de bloques ocupados en gigabytes, megabytes o kilobytes ? de forma legible para el ser humano human readableTipo de unidad (ext2, nfs, etc.).Muestra los resultados en i-bloques para cada sistema de archivos

94

Page 95: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Windows Windows 95:(Win95) Sucesor de Windows 3.11 para PC's IBM. Se le conoció cómo "Chicago" durante su desarrollo. Lanzado el 24 de Agosto de 1995. En contraste con las anteriores versiones de Windows, Win95 es un sistema operativo más que una interfaz gráfica de usuario que corre sobre DOS.La interfaz gráfica, aunque similar a las previas versiones, fue significativamente mejorada.

Win32s : Win32s es un conjunto de librerías para Windows 3.1, la cual posibilita a los usuarios de correr la mayorías de las aplicaciones de Windows NT en Windows 3.1. Si bien permite ejecutar aplicaciones escritas para Windows NT, Win32s no da soporte para multitareas con desalojo en Windows 3.1

Windows 98: Nueva versión del sistema operativo Windows. Podría decirse que es una compilación de características.El sistema operativo Microsoft® Windows® 98 ofrece una mayor calidad para el ordenador, incluyendo mejor rendimiento del sistema y un más sencillo mantenimiento. Durante los pasados dos años y medio desde el lanzamiento de Windows 95, Microsoft ha recibido un montón de sugerencias de sus usuarios y ha trabajado mucho para incorporar e innovar basándose en sus ideas. Windows 98 tiene más de 3.000 mejoras que incrementan significativamente el rendimiento del ordenador y proveen de una mejor experiencia al usarlo. Entre las mejoras en el rendimiento se pueden destacar la más rápida carga de aplicaciones, más espacio en el disco duro, arranque y apagado más rápido y soporte multimonitor.Windows 98 es el primer paso hacia un sistema operativo que se mantiene optimizado por sí mismo. Con él, se puede mantener al ordenador funcionando a máximo rendimiento con un mínimo esfuerzo. Además Windows Update, una extensión online de Windows 98, permite obtener aún más del PC a través de un nuevo y sencillo acceso a drivers, actualizaciones, y mucho más. 

(Windows Me): Con características específicamente diseñadas para usuarios en casa, Windows® Millennium Edition hace del uso de su PC más fácil y divertido. Windows Me le da el poder de poner en red a sus computadoras caseras, comunicarse más eficientemente por Internet y trabajar con rico contenido multimedia, como es el caso de fotografías, videos y música.Con las herramientas incluidas en Windows Me, usted puede compartir todo desde películas caseras hasta álbum de fotografías con familiares y amigos alrededor del mundo. Es más sencillo que nunca almacenar, administrar y compartir fotografías digitales, escenas de películas y archivos de audio. Windows Me ofrece animaciones más vivas, con mejor respuesta, mejor control del sonido y calidad, rápidas y sencillas maneras de importar fotografías, amplias capacidades de plug and play y una herramienta integrada para edición de video.

Windows NT:(Windows New Technology, NT). El sistema operativo de 32 bits desarrollado originalmente para que sea OS/2 3.0 antes que Microsoft e IBM discontinuaran su trabajo con OS/2. NT se diseñó para estaciones de trabajo

95

Page 96: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

avanzadas (Windows NT 3.1) y para servidores (Windows NT 3.1 Advanced Server).

Windows CE: Un sistema operativo de la familia Windows y que fue el primero en no estar orientado a los equipos de escritorio. Los dispositivos en los que Windows CE presta servicios son Handheld PC y PalmSize PC. Windows CE también ha permitido la creación de un nuevo sistema denominado AutoPC, que consiste de un PC empotrado en un automóvil que va ubicado en donde actualmente va una radio. Permite controlar la radio, CD y revisar el correo electrónico. Windows CE también permite la creación de aplicaciones en tiempo real.

Windows 2000: Representa un esfuerzo por unificar lo que hasta ahora eran dos sistemas operativos distintos, Windows 9x y Windows NT. Desde hace dos años se sabia que Windows NT 5.0 estaba en proyecto, pero Windows 2000 llego a resolver de una vez por todas las dudas: es la nueva versión de Windows NT 4.0 WorkStation y NT Server, pero también incorpora la sencillez de manejo de la serie 9x. Dicho en otras palabras, Windows 2000 ofrece lo mejor de ambos mundos: la solidez y la seguridad de NT, junto a la facilidad de manejo, soporte de hardware y multimedia de Windows 98.

Windows XP: Proporciona un nuevo nivel de estabilidad, para que usted se pueda concentrar en el trabajo. Por ejemplo, en la mayoría de los casos, si se produce un error en un programa, el equipo seguirá funcionando.Escritorio remoto permite crear una sesión virtual y utilizar el equipo de escritorio desde otro equipo que ejecute Windows 95 o posterior, lo que le permitirá tener acceso a todos los datos y aplicaciones aunque no se encuentre en la oficina.Por medio de un diseño más claro y nuevas pistas visuales llegarán rápidamente a las tareas que más utiliza.El sistema de codificación de archivos proporciona un alto nivel de protección contra piratas informáticos y el robo de datos, mediante la codificación transparente de los archivos con una clave generada aleatoriamente.Ahorre la energía de las baterías cuando trabaje fuera de la oficina. Con Windows XP su equipo portátil puede entrar en modo de suspensión o hibernación y comenzar a trabajar rápidamente tras reanudar la actividad desde la suspensión o hibernación.Si se produce algún error en el equipo, puede devolver el sistema a su estado anterior.

Windows Vista: apareció en el mercado el 30 de enero de 2007. Cabe destacar los continuos retrasos en las fechas de entrega del sistema operativo. Inicialmente se anunció su salida al mercado a inicios-mediados de 2006; posteriormente y debido a problemas durante el proceso de desarrollo, se retrasó su salida hasta finales de 2006. El último retraso trasladó la fecha hasta finales de enero de 2007. Estos continuos retrasos han llevado a Microsoft a tomar diversas medidas para minimizar los gastos extras derivados de los retrasos. Por ejemplo, en Argentina, se podrá comprar Windows Vista con un "ticket" que la persona adquiere al

96

Page 97: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

momento de comprar un nuevo PC que no tiene instalado todavía Windows Vista. Podrán canjear el "ticket" por una copia original de Windows Vista y así actualizar su sistema. También cabe destacar que Windows Vista trae una nueva interfaz gráfica llamada Aero, que es una evolución de la interfaz gráfica denominada Luna de Windows XP. 

Windows 7 (anteriormente conocido con nombre código Blackcomb, y luego Vienna) será la próxima versión de MicrosoftWindows, sucesor de Windows Vista. Este sistema es creado sobre un kernel basado en el de Windows Server 2008 y permitirá la compatibilidad hacia atrás mediante la virtualización. Al tener 6.1 como código de versión, mucha gente piensa que éste será una actualización menor con respecto a Windows Vista, cuyo código de versión es 6.0, pero esto se debe únicamente para evitar problemas de compatibilidad, ya que Windows 7 será un significativo avance evolutivo y una edición mayor de los sistemas operativos de Microsoft.

Comandos

Se recuerda algunos conceptos básicos del Ms-Dos:En primer lugar: ¿cómo accedo a MS-Dos ?dos formas:* sesión de DOS pura: reiniciamos Windows en modo MS-DOS* sesión de DOS bajo Windows: botón inicio | programas | MSDOS

Cambio de la unidad por defectoPara cambiar la unidad por defecto, simplemente hay que escribir la letra que hace referencia a la unidad deseada, seguida de dos puntos. Por ejemplo, si se va a trabajar sobre todo con ficheros de la unidad A, y estamos en la unidad C, para no tener que escribir siempre A:Nombre.extensión, es más fácil que cambiemos de unidad, escribiendo A: y pulsando ENTER.

Manejando directoriosDIREl comando DIR visualiza los archivos y sub-directorios del directorio actual. Cuando hacemos un DIR, en su lugar hay un espacio: ejemplo, format exe y no format.exe.

Opciones:DIR /P: vuelca en pantalla solo los directorios/archivos que caben en la misma, esperando a que el usuario pulse una tecla para continuar.DIR /W Visualiza únicamente el nombre del archivo o directorio (sin datos adicionales), los directorios encerrados entre corchetes [ ]DIR nombre_del_archivo.extensión para ver si un archivo concreto se encuentra en el directorio. Por ejemplo, dir format.exe.

97

Page 98: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

DIR *.EXE visualiza todos los archivos con extensión .EXE

Otras opciones de DIR/O: Ordena los ficheros con respecto a un orden. Si entre los dos puntos y la letra de la ordenación ponemos un signo -, elorden se invierte/N Por nombre en orden alfabético/E Por extensión en orden alfabético/S Por tamaño, de menor a mayor/S: Lista el contenido de los subdirectorios/B: Lista solo el nombre de los archivos

Moviéndonos por los directoriosCon el comando CHDIR (abreviadamente, CD) podemos cambiar de directorio:CD [unidad:] [camino]Si sólo ponemos el camino, lo realizará sobre la unidad activa.

Para acceder a un subdirectorio escribimos cd seguido de su nombreSi queremos descender varios niveles, podemos ir dando ordenes consecutivas cd (cd subdirectorioA cd subdirectorioB...) o escribir de una sola vez la ruta completa (cd subdirectorioA subdirectorioB)

Creando directoriosMKDIR (MD)MD [unidad:] [camino]Dar la unidad sino la toma como la activa.Para crear un directorio empleamos el comando MKDIR nombre_del_directorio.extensionMD nombre_del_directorio.extension

Borrando directoriosRMDIR, RDPara borrar un directorio vacío se emplea el comando RMDIR ó RD:RMDIR nombre_del_directorio.extension

Manejando archivosCOPYCopia uno o más archivos de un lugar a otro.

XCOPY Copia todos los ficheros de un directorio y todos sus subdirectorios

MOVEMueve uno o más ficheros al lugar que se indique. También se utiliza para cambiar el nombre de los directorios. Su formato es: move

98

Page 99: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Cambia el nombre de ficheros existentes:REN [unidad:][camino] NombreArchivo NombreNuevo.Al nuevo nombre no hace falta especificar unidad y camino.

DEL, ERASECon cualquiera de estos comandos podemos borrar archivos:

DELETE nombre_del_archivo.extensiónERASE nombre_del_archivo.extensión

CLSSignificado: Abreviatura de Clear Screen (Limpiar Pantalla)

HELPProporciona ayuda sobre la sintaxis de los comandos. (En versiones posteriores a la 5.0 además la ayuda incluye ejemplos y notas).Sintaxis: HELP, HELP

TYPESe emplea este comando para visualizar el contenido de un archivo. El formato simplificado de este archivo es:TYPE nombre_del_archivo.extension

EDITSirve para editar archivos de texto. Los bytes que contengan estos archivos, se interpretan directamente por el código ASCII. No es un comando, es un programa.EDIT [unidad:] [camino] [NombreArchivo] [/H]

DATEActualiza la fecha del Ordenador.Todos los Ordenadores llevan un reloj interno alimentado por una pila. Si la pila funciona, el reloj no se para aunque apagemos el ordenador. Si por el contrario, la pila está gastada, cada vez que apagamos el Ordenador, el reloj se pone a cero. Es importante saber que el D.O.S. utiliza la fecha como fecha del sistema para todas las operaciones que se van a llevar a cabo (grabando ficheros, en programas, etc...)

VERAbreviatura de VERSION, Muestra un mensaje con la Versión del D.O.S. que tenemos instalada en el Ordenador

FORMATDa formato lógico a una unidad física. Divide la superficie magnética en sectores y pistas. Se pierden todos los datos almacenados en disco.Sintaxis: FORMAT UNIDAD [/S] [/Q] [/U] [/B] [/V[:etiqueta]] [/F:tamaño] [/T:pistas /N:sectores]/S: Transfiere ficheros de sistema en disquete con formato ( io.sys, msdos.sys y

99

Page 100: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

command.com )./Q: Realiza un formateo rápido./U: Realiza un formateo incondicional, evita que se guarde la información de reconstruir./B: Asigna espacio en disco con formato para archivos de sistema./V[:etiqueta]: Se especifica la etiqueta de volumen. Es un indicativo que diferencia disquetes./F:tamaño: Especifica el tamo del disquete al que se dará formato (tales como 160, 180, 320, 360, 720, 1.2, 1.44, 2.88 )./T:pistas: Especifica el número de pistas por cara de disquete./N:sectores: Especifica el número de sectores por pista.

Redes

Subneteo

ENRUTAMIENTODETERMINACIÓN DE RUTAS IP

Para que un dispositivo de 3 capas pueda determinar la ruta hacia un destino debe tener conocimiento de cómo hacerlo. El aprendizaje de las rutas puede ser mediante enrutamiento estático o dinámico.

LAS RUTAS DINÁMICAS son aprendidas automáticamente por el router a través de la información enviada por otros routers, una vez que el administrador ha configurado un protocolo de enrutamiento que permite el aprendizaje dinámico de rutas.

Para poder enlutar paquetes de información un router debe conocer lo siguiente:

DIRECCIÓN DE DESTINO: dirección a donde han de ser enviados los paquetes.

FUENTES DE INFORMACIÓN: otros routers de donde el router aprende las rutas hasta los destinos especificados.

DESCUBRIR LAS POSIBLES RUTAS HACIA EL DESTINO: rutas iniciales posibles hasta los destinos deseados.

SELECCIONAR LAS MEJORES RUTAS: determinar cual es la mejor ruta hasta el destino especificado.

MANTENER LAS TABLAS DE ENRUTAMIENTO ACTUALIZADAS: mantener conocimiento actualizado de las rutas destino.

100

Page 101: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

La información de enrutamiento que el router aprende desde sus fuentes se coloca en su propia tabla de enrutamiento. El router se vale se esta tabla para determinar los puertos de salida que debe utilizar para retransmitir un paquete hasta su destino. La tabla de enrutamiento es la fuente principal de información del router acerca de las redes. Si la red de destino está conectada directamente, el router debe aprender y calcular la ruta mas óptima a usar para reenviar paquetes. Si las redes de destino esta conectada directamente, el router ya sabrá el puerto que debe usar para reenviar paquetes. Si las redes de destino no están conectadas directamente, el router debe aprender y calcular la ruta mas optima a usar para reenviar paquetes a dichas redes. La tabla de enrutamiento se construye mediante uno de estos dos métodos o ambos:

Manualmente, por el administrador de la red. A través de procesos dinámicos que se ejecutan en la red.

LAS RUTAS ESTÁTICAS son aprendidas por el router a través del administrador, que establece dicha ruta manualmente, quien también debe actualizar cuando tenga lugar un cambio de topología.

Las rutas estáticas se definen administrativamente y establecen rutas especificas que han de surgir los paquetes para pasar de un puerto destino. Se establece un control preciso del enrutamiento según los parámetros del administrador.

Las rutas estáticas por default especifican un gateway (puerta de enlace) de ultimo recurso, a la que el router debe enviar un paquete destinado a una red que no aparece en su tabla de enrutamiento, es decir que desconoce.

Las rutas estáticas se utilizan habitualmente desde una red hasta una red de conexión única, ya que existen más que una ruta de entrada y salida de una red de conexión única, evitando de este modo la sobrecarga de tráfico que genera un protocolo de enrutamiento. La ruta estática se configura para seguir conectividad con un enlace de datos que no esta directamente conectado al router. Para conectividad de extremo a extremo es necesario configurar la ruta en ambas direcciones.

El comando ip route configura una ruta estática, los parámetros del comando definen la ruta estática.

Las entradas creadas en la tabla usando este procedimiento permanecerán en dichas tablas mientras la ruta siga activa. Con la opción permanent, la ruta seguirá en la tabla aunque la ruta en cuestión haya dejado de estar activa.

La sintaxis de configuración de una ruta estática es la siguiente:

101

Page 102: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Router (config) # ip router router {red} {mascara} {dirección ip / interfaz} {distancia} {permanent}

Red: es la red o subred de destino.

Mascara: es la mascara de subred.

Interfaz: es el nombre de la interfaz que debe usarse para llegar a la red de

destino.

Distancia: es un parámetro opcional, que se define la distancia administrativa.

Permanent: un parámetro opcional que especifica que la ruta no debe se

eliminada, aunque la interfaz deje de estar activa.

RUTAS ESTÁTICA POR DEFECTOUna ruta estática, predeterminada o de último recurso es un tipo especial de ruta estática que se utiliza cuando no se conoce una ruta hasta un destino determinado, o cuando no es posible almacenar en la tabla de enrutamiento la información relativa a todas las rutas posibles.La sintaxis de configuración de una ruta estática por defecto es la siguiente:Router (config) # ip route 0.0.0.0 0.0.0.0 {dirección ip / interfaz} {distancia}

PROTOCOLOSLos protocolos describen el conjunto de normas y convenciones que rigen la forma en que los dispositivos de una red intercambian información.

Algunos de los protocolos más usados, que operan en la capa de Internet, son:

*IP: proporciona un enrutamiento de paquetes no orientados a conexión de máximo esfuerzo, no por el contenido de los paquetes, sino, busca una ruta hacia el destino.

* ICMP Protocolo de mensajes de control de Internet: suministra capacidades de control y envío de mensajes. Herramientas tales como PING y TRACERT lo utilizan.

* ARP Protocolo de resolución de direcciones: determina la dirección de la capa de enlace de datos, la dirección MAC, para direcciones IP conocidas.

102

Page 103: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

* RARP Protocolo de resolución inversa de direcciones: determina las direcciones IP cuando se conoce la dirección MAC.

UN PROTOCOLO ENRUTADO lleva una completa información de capa3, por ejemplo: TCP/IP, IPX, APPLE TALK y NetBEUI.

UN PROTOCOLO DE ENRUTAMIENTO es utilizado por los routers para mantener tablas de enrutamiento y así poder elegir la mejor ruta hacia el destino, por ejemplo: RIP, IGRP, EIGRP y OSPF.

Dentro de los protocolos de enrutamiento encontramos dos grandes núcleos:

PROTOCOLOS DE GATEWAY INTERIOR (IGP): Se usan para intercambiar información de enrutamiento dentro de un sistema autónomo (RIP, IGRP).

PROTOCOLO DE GATEWAY EXTERIOR (EGP): Se usan para intercambiar información de enrutamiento entre sistemas autónomos.

UN SISTEMA AUTÓNOMO (AS) es un conjunto de redes bajo un dominio administrativo común, se utilizan si el sistema utiliza algún BGP o red pública.

LA DISTANCIA ADMINISTRATIVA permite que un protocolo tenga mayor prioridad sobre otro ya que son multiprotocolos.

CLASES DE PROTOCOLOS DE ENRUTAMIENTO

* Vector distancia: determina la dirección y la distancia a cualquier red (RIP, EIGRP)

* Estado de enlace: tiene una idea exacta de la topología de red y no efectúa actualizaciones a menos que ocurra un cambio (OSPF y EIS-EIS)

* Híbrido: combina aspectos de los dos anteriores (EIGRP).

ENRUTAMIENTO POR VECTOR DISTANCIA Pasa por copias periódicas de la tabla de enrutamiento de un router a otro acumulando vectores de distancia (donde el vector es una dirección y la distancia es una medida de longitud). Cada protocolo utiliza un algoritmo distinto para determinar la ruta óptima, este genera un número llamado “métrica de ruta”.

Las métricas más comunes son:

Numero de saltos: numero de router por los que pasaron el paquete.

Tic tac: el trazo de un enlace de datos usando pulsos de reloj (IBM).

Coste: valor arbitrario basado en el ancho de banda.

103

Page 104: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Ancho de banda: capacidad de datos de un enlace.

Retraso: tiempo en mover un paquete de un origen a un destino.

Carga: cantidad de actividad existente de un recurso de red.

Fiabilidad: valor de errores de bit de cada enlace.

MTU: unidad máxima de transmisión.

LOS BUCLES DE ENRUTAMIENTO se generan si no existe una convergencia rápida y precisa entre los router. La solución a los bucles de enrutamiento son:

Métricas máximas: solamente permiten la repartición de enrutamiento has ta que la métrica exceda el valor máximo permitido (RIP 16 saltos).

Horizonte dividido (slip horizont) el router conoce otra ruta viable al destino y no devolverá información por la interfaz donde la recibió.

Envenenamiento: se asegura que todos los router del segmento hayan recibido información acerca de la ruta envenenada, es una operación complementaria del horizonte dividido.

Temporizadores: los router no aplican ningún cambio que pudieran afectar las rutas durante un periodo de tiempo determinado.

Los protocolos por vector distancia inundan la red con broadcast de actualizaciones de enrutamiento.

LOS PROTOCOLOS DE ENRUTAMIENTO POR ESTADO ENLACE construyen tablas de enrutamiento basándose en una base de datos de la topología. EL ALGORITMO SPF (primero la ruta libre mas corta) usa la base de datos para construir la tabla de enrutamiento. El enrutamiento por estado enlace, utiliza PAQUETES DE ESTADO ENLACE (LSP), una base de datos topológica, el algoritmo SPF, el árbol SPF resultantes y una tabla de enrutamiento con las rutas y puertos de cada red. Existe una visión independiente de la red por cada router por lo que se producen muy pocos errores. No tienen límites de saltos, la métrica se basa en coste, a partir del algoritmo Dijkstra y se basa en la velocidad del enlace. Los protocolos de enrutamiento estado-enlace son protocolos de enrutamiento de gateway interior, que se utilizan dentro de un mismo sistema autónomo y se puede dividir en sectores más pequeños que se llaman áreas, el área principal o backbone de un sistema autónomo es el area0.

Los protocolos estado-enlace son más rápidos y escalables que los de vector distancia por:

104

Page 105: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Los protocolos de estado enlace solo envían actualizaciones cuando hay cambios de topología.

Las actualizaciones periódicas son menos frecuentes que los protocolos vector distancia.

Puede manejar redes segmentadas en distintas áreas jerárquicamente organizadas, limitando el alcance de los cambios de rutas.

Las redes de este tipo soportan direccionamiento sin clase. Las redes de este tipo soportan resumen de ruta.

PROTOCOLO RIP IGRP EIGRP IS-IS OSPFVECTOR-DISTANCIA

X X X

ESTADO DE ENLACE

X X

RESUMEN AUTO- MÁTICO DE RUTA

X X X X

RESUMEN MANUAL DE RUTA

X X X X X

SOPORTE VLSM X X XPROPIETARIO DE CISCO

X X

CONVERGENCIA

LENTO LENTO MUY RÁPIDO

MUY RÁPID

O

MUY RÁPIDO

DISTANCIA ADVA.

120 100 90 115 110

TIEMPO DE ACTUALIZACIÓN

30 90

MÉTRICA SALTOS

COMPUESTA

COMPUESTA

COSTE COSTE

CONFIGURACIÓN INICIAL DEL ROUTERUn router es un ordenador construido para desempeñar funciones específicas de capa 3, proporciona hardware y software necesarios para encaminar paquetes entre redes, permite interconectar subreds LAN y establecer conexiones de área amplia entre las subredes. Puede trabajar exclusivamente con redes LAN, exclusivamente con reds WAN o estar en la frontera entre una LAN y una WAN al mismo tiempo.Las dos tareas principales de los routers son:

105

Page 106: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

CONMUTAR los paquetes desde una interfaz perteneciente a una red hacia otra interfaz de una red diferente y

ENRUTAR o encontrar el mejor camino hacia la red destino

El IOS es el sistema operativo de internetworking que utlizan los routers CISCO.

LOS COMPONENTES PRINCIPALES DEL HARDWARE DE UN ROUTER son:

CPU: Unidad central de procesamiento, inicializa el sistema, realiza funciones de enrutamiento y control de la interfaz de la red.

RAM: Memoria de acceso aleatorio, para la información de la tablas de enrutamiento, el cache de conmutación rápida, configuración actual y colas de paquetes.

MEMORIA FLASH: Almacena una imagen completa del software IOS de cisco.

NVRAM: Memoria de acceso aleatorio no volátil, se utiliza para la configuración de inicio y retiene sus contenidos al ser apagada la unidad.

BUSES: Bus de sistema se utiliza para la comunicación entre la CPU y las interfaces y/o ranuras de expansión, transfiere los paquetes hacia y desde las interfaces.

ROM: Memoria de solo lectura que se utiliza para almacenar de forma permanente el código de diagnóstico de inicio (monitor de rom), diagnostica el hardware y carga el software IOS de cisco desde la memoria flash a la RAM.

INTERFACES: Son las conexiones de los routers con el exterior. Los tres tipos son:

LAN: De tipo ethernet o token ring, tienen chips controladores para conectar el sistema a los medios.

WAN: Incluyen la CSU o unidad de servicio de canal integrada, la RDSI y la serial.

ADMINISTRACIÓN: Los puertos de consola y aux son puertos seriales que se utilizan principalmente para la configuración inicial del router, no son puertos de networking, realizan sesiones terminales.

FUENTE DE ALIMENTACIÓN: Brinda la energía necesaria para operar los componentes internos.

106

LOS PROTOCOLOS Y ESTÁNDARES DE LA CAPA FISICA DE WAN son:

EIA / TIA 232 EIA / TIA 449 V.24 V.35 X.21 G.703 EIA 530 RDSI T1,T3, E1 Y E3 xDSL SONET

LOS PROTOCOLOS Y ESTÁNDARES DE LA CAPA DE ENLACE DE DATOS DE WAN son:

HDLC control de enlace de datos de alto nivel FRAME RELAY

PPP protocolo punto a punto SDLC control de enlace de datos síncrono SLIP protocolo de internet de enlace serial

X.25 ATM LAPB LAPD LAPF

Page 107: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

UN ROUTER O SWITCH PUEDEN SER CONFIGURADOS DESDE DISTINTAS UBICACIONES:

En la instalación inicial, el administrador de red configura desde una terminal de consola, conectado por medio del puerto de consola.

Con una conexión local por MODEM con el puerto auxiliar del dispositivo, para dispositivos remotos.

Dispositivos con direcciones IP establecidas para conexiones TELNET. Descarga de un archivo de configuración de un servidor TFTP. Configurar un dispositivo por medio del navegador HTTP (Hypertext

Transfer Protocol).

Al iniciar por primera vez el router CISCO, no tiene configuración inicial, por lo que el software pide detalles mediante el SETUP.

LAS RUTINAS y PUESTA EN MARCHA DEL ROUTER son las siguientes:

1. Asegurarse que el router cuenta con hardware de verificado (POST).2. Localiza y carga el IOS de CISCO como sistema operativo.3. Localizar y aplicar las instrucciones de configuración relativas a los atributos

específicos del router, funciones de protocolos y direcciones de interfaz.

107

Page 108: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

MODOS DE TRABAJO:

MODO SÍMBOLO ACCESO SALIDAEXEC usuario Router>EXEC privilegiado Router# Eneble Ctl + z exit

disableConfiguración global

Router(config)# Configure terminal Ctl + z exit

Configuración de interfaces

Router(config-if)# Interface [tipo y num]

Ctl + z exit

Configuración de router

Router(config-router)#

Router [protocolo] Ctl + z exit

EJEMPLO DE CONFIGURACIÓN

108

Page 109: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Las configuraciones se almacenan en la RAM, que se perderá al apagar el router, por lo que es necesario hacer una copia. Se pueden utilizar los siguientes comandos para realizar copias del archivo de configuración:

#copy running-config startup-config

#copy startup-config running-config

#copy running-config tftp

O bien se puede eliminar con el commando #erase startup-config

LOS COMANDOS SHOW nos permiten el rápido diagnóstico de fallos, algunos se ejecutan en el modo usuario y otros en el modo privilegiado.

show interfaces show controllers serial show clock show hosts show users show sesions show history show flash show version show arp show protocols show startup-config show running-conig

Existe una convención para asignar NOMBRES AL IOS DE CISCO, por ejemplo:

c4500-js-1_121-5.bin donde: c4500 Plataforma de hardware

109

Page 110: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

js Conjunto de funciones especiales

1 Formato de archivo121-5 Número de versión

LA CONFIGURACIÓN DE ENRUTAMIENTO ESTÁTICO se realiza a través del comando de configuración global de OSI ip route, este utiliza varios parámetros , como: dirección de red, mascara de subred asociada e información del destino, que puede adoptar una de las siguientes formas:

Dirección ip específica del siguiente router de la ruta. Dirección de red de otra ruta de la tabla de enrutamiento a la que deben

reenviarse los paquetes. Interfaz conectada directamente en la que se encuentra la red destino.

EL USO DE RUTAS ESTÁTICAS SE ACONSEJA en los siguientes casos:

Circuito de datos poco fiable y deja de funcionar constantemente. Red donde existe una sola conexión con un solo ISP. Cuando se puede acceder a la red a través de una conexión de acceso

telefónico. Cuando un cliente o cualquier otra red vinculada no desean intercambiar

información de enrutamiento dinámico.

LA CONFIGURACIÓN DE RUTAS ESTÁTICAS POR DEFECTO se utilizan cuando el destino al que se pretende llegar son múltiples redes o no se conocen, la sintaxis es la siguiente:

Router(config)# ip route 0.0.0.0 0.0.0.0 [ip del primer salto/interfaz de salida] [distancia administrativa]

LOS PROTOCOLOS DE CONFIGURACIÓN DE ENRUTAMIENTO DINÁMICO son algoritmos que permiten que los routers publiquen, o anuncien, la

existencia de la información de ruta de red ip necesaria para crear la tabla de enrutamiento, determinan el criterio de selección de ruta que sigue el paquete cuando se le presenta al router, esperando una decisión de conmutar, sus objetivos consisten en proporcionar al usuario la posibilidad de seleccionar la ruta idónea en la red, reaccionar con rapidez a los cambios de la misma y realizar dichas tareas de la manera mas sencilla y con la menor sobrecarga del router posible.

110

Page 111: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Para habilitar un protocolo de enrutamiento dinámico, se realizan las siguientes tareas:

Seleccionar un protocolo de enrutamiento. Seleccionar las redes ip a enrutar.

El comando ROUTER es el encargado de iniciar el proceso de enrutamiento, posteriormente se asocian las redes con el comando NETWORK.

Router(config)# router [protocolo] [id o sistema autónomo]

Router(config-router) # network [num. de red directamente conectada]

EL PROTOCOLO DE INFORMACIÓN DE ENRUTAMIENTO (RIP) es uno de los protocolos de enrutamiento mas antiguos utilizado por dispositivos basados en IP. Sus principales características son:

Es un protocolo basado en vector distancia. Utiliza la cuenta de saltos del router como métrica El máximo es 15 saltos, si excede estos saltos se etiqueta como

inalcanzable. Difunde actualizaciones de enrutamiento por medio de la tabla de

enrutamiento completa cada 30 segundos, por omisión. Puede realizar equilibrado de carga en un máximo de seis rutas de igual

coste (la especificación por omisión es de 4). RIP v1 requiere que se use una sola mascara de red de longitud fija para

cada número de red de clase principal que es anunciado y no contempla actualizaciones desencadenadas.

RIP v2 permiten máscaras de subred de longitud variable (VLSM) en la interconexión, permite actualizaciones desencadenadas, el número máximo de ritas paralelas permitidas la tabla de enrutamiento faculta a RIP para llevar a cabo el equilibrio de carga.

En RIP la información de enrutamiento se propaga de un router a los vecinos por medio de una difusión de IP usando el protocolo UDP y el puerto 520.

CONFIGURACIÓN RIP

Router(config) # router rip

Router(config-router)# network 192.168.1.0

Router(config-router)# network 200.200.21.0

Router(config-router)# vesion 2

111

Page 112: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Router(config-router)# maximum-paths 6

LA REDISTRIBUCIÓN ESTÁTICA EN RIP se utiliza para que todos los routers contenidos dentro del mismo sistema autónomo tengan conocimiento de la existencia de esas rutas. Esto se hacer con el comando REDISTRIBUTE STATIC.

EL PROTOCOLO DE ENRUTAMIENTO DE GATEWAY INTERIOR (IGRP) es un protocolo vector-distancia, desarrollado por cisco systems a mediados de los 80´s, corrige algunos defectos de RIP y proporciona un mejor soporte para grandes redes con enlaces de diferentes anchos de banda. IGRP calcula su métrica en base a diferentes atributos de ruta de red, como: retraso de red, ancho de banda y retraso basados en velocidad y capacidad, relativas a la interfaz. Los atributos de carga y fiabilidad se calculan según el rendimiento de la interfaz.

Utiliza publicaciones IP para comunicar información de enrutamiento con vecinos, pero no depende de UDP o TCP.

Funciona en forma similar a UDP. Soporta múltiples rutas entre origen y destino, con conmutación automática

pueden transportar 2 líneas una misma trama de tráfico de forma cooperativa.

El equilibrio de carga de coste desigual permite distribuir el tráfico hasta entre 6 rutas de distinto coste, para mayor rendimiento y fiabilidad.

LAS MEJORAS SOBRE RIP son:

ESCALABILIDAD MEJORADA: Admite una red con un número máxima de 255 saltos de router.

MÉTRICA SOFISTICADA: Distingue entre diferentes tipos de medios de conexión y costes asociados.

SOPORTE DE MÚLTIPLES RUTAS: Ofrece una convergencia de funcionalidad, enviando información sobre cambios en la red a medida que está disponible.

LAS MÉTRICAS IGRP son compuestas, la más baja se considera la óptima, entre estas encontramos:

ANCHO DE BANDA: valor mínimo de ancho de banda en la ruta. RETRASO: retraso de interfaz acumulado a lo largo de la ruta. FIABILIDAD: viabilidad entre el origen y el destino, determinado por el

intercambio de mensajes de actividad. CARGA: carga de un enlace entre el origen y el destino, medido en bps. MTU: valor de la unidad máxima de transmisión de la ruta.

112

Page 113: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

La fiabilidad y la carga no tienen unidades propias y pueden tomar valores entre 0 y 255. El ancho de banda puede tomar valores que reflejan velocidades desde 1200 hasta 106 bps.

El retaso puede ser cualquier valor entre 1y 2*1023.

Por defecto utiliza el ancho de banda y retraso como métrica preestablecida.

CONFIGURACIÓN IGRP

Router(config) # router igrp 100

Router(config-router)# network 192.168.1.0

Router(config-router)# network 200.200.21.0

Router(config-router)# variance 2

Router(config-router)# traffic-share?

CONVERGENCIA es la capacidad de los routers de poseer la misma información de enrutamiento actualizada.

IGRP y EIGRP se redistribuyen automáticamente si ambos tienen el mismo número de sistema autónomo.

CONFIGURACIÓN DE ACL ESTÁNDAR

Router# configure terminalRouter(config)# access-list [1-99] [permit/deny][dirección origen] [ mascara comodín]Router(config)# interface [ tipo y no. de interfaz]Router(config-if)# ip access-group [no. de ACL] [in/out]

CONFIGURACIÓN DE ACL EXTENDIDARouter# configure terminal

Router(config)# access-list [1-99] [permit/deny] [protocolo] [dirección origen] [ mascara comodín] [dirección destino] [máscara comodín] [puerto] [established] [log]

Router(config)# interface [ tipo y no. de interfaz]

Router(config-if)# ip access-group [no. de ACL] [in/out]

113

Page 114: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

APLICACIÓN DE UNA ACL A LINEA TELNET

Router# configure terminal

Router(config)# line vty 0 4

Router(config-line)# access-class [no. de ACL] [ in / out ]

Para eliminar ACLs, se antepone la palabra no a las instrucciones principales, de esta forma:

Router(config)# no access-list [1-99] [permit/deny][dirección origen] [ mascara comodín]

Router(config-if)#no ip access-group [no. de ACL] [in/out]

De igual forma es posible la CONFIGURACIÓN DE LISTA DE ACCESO NOMBRADAS, en vez de asignarle un número, se le asigna un nombre:

Router# configure terminal

Router(config)# ip access-list [Standard / extended] [nombre]

Router(config [std/ext] nac1)# [permit/deny] [condiciones de prueba]

Router(config [std/ext] nac1)# no [permit/deny] [condiciones de prueba]

Router(config)# interface de asociación de ACL

Router(config-if)# ip access-group [nombre] [in/out]

Para VERIFICACIÓN DE ACLs se pueden utilizar los siguientes comados:

Show ip interface [tipo de interfaz] [no. de interfaz]

Show access-list

Show access-lists

114

Page 115: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Una lista de acceso puede ser aplicada a múltiples interfaces

Solo puede haber una ALC por protocolo, por dirección y por interfaz.

A menos que termine una ACL con una condición de permiso implícito en toso, se denegará todo el tráfico que no cumpla ninguna de las condiciones establecidas en la lista ya que existe un deny implícito al final de cada lista.

Las ACLs extendidazas deben colocarse normalmente lo mas cerca posible de l origen del tráfico que será denegado, mientras que las estándar lo mas cerca posible del destino

Administración

¿Qué es la administración de proyectos?

Es la planeación, organización, dirección y control de los recursos para lograr un objetivo a corto plazo.También se dice que la administración de proyectos ocurre cuando se da un énfasis y una atención especial para conducir actividades no repetitivas con el propósito de lograr un conjunto de metas.Esta actividad es llevada a cabo por un conjunto de administradores que actúan como agentes unificadores para proyectos particulares, tomando en cuenta los recursos existentes, tales como el tiempo, materiales, capital, recursos humanos y tecnología.

Importancia de la administración de proyectos

La administración de proyectos implica una gran importancia, por lo que es usada en una gran diversidad de campos; desde proyectos espaciales, en bancos, en desarrollo de sistemas en computadora, en procesamiento de hidrocarbonos, en la industria petroquímica, en telecomunicaciones, en defensa nacional, etc.Los cambios tecnológicos, la necesidad de introducir nuevos productos al mercado, las cambiantes exigencias de los consumidores de productos, entre otras cosas, incrementan el fluido de operaciones en una organización, provocando que los métodos de administrativos convencionales sean inadecuados. Por esta razón la administración de proyectos es importante, ya que ofrece nuevas alternativas de organización.

115

Page 116: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Sirve para aprovechar de mejor manera los recursos críticos cuando están limitados en cantidad y/o tiempo de disponibilidad. También ayuda a realizar acciones concisas y efectivas para obtener el máximo beneficio.

Funciones de la administración

La administración procura siempre el máximo aprovechamiento de los recursos, mediante su utilización eficiente. Las principales funciones de la administración se engloban en planeación, organización, dirección y control.Durante la planeación se decide anticipadamente qué, quién, cómo, cuándo y por qué se hará el proyecto. Las tareas más importantes de la planeación son determinar el status actual de la organización, pronosticar a futuro, determinar los recursos que se necesitarán, revisar y ajustar el plan de acuerdo con los resultados de control y coordinar durante todo el proceso de planeación.La organización realiza actividades en grupo, de asignación y asesoramiento, y proporciona la autoridad necesaria para llevar a cabo las actividades.Dentro de esta etapa se identifica, define y divide el trabajo a realizar, se agrupan y definen los puestos, se proporcionan los recursos necesarios y se asignan los grados de autoridad.El siguiente paso es la dirección, la cual sirve para conducir el comportamiento humano hacia las metas establecidas. Aquí se comunican y explican los objetivos a los subordinados, se asignan estándares, se entrena y guía a los subordinados para llegar a los estándares requeridos, se recompensa el rendimiento y se mantiene un ambiente motivacional.Por último se encuentra el control, que se encarga de medir el rendimiento obtenido en relación a las metas fijadas. En caso de haber desviaciones, se determinan las causas y se corrige lo que sea necesario.

¿Qué es el administrador de proyectos?El administrador de proyectos puede ser definido como el individuo que cumple con la tarea de integrar los esfuerzos dirigidos hacia la ejecución exitosa de un proyecto específico. Esta persona enfrenta un conjunto de circunstancias único en cada proyecto.El administrador de proyectos es una extensión del administrador general de una organización.

¿Qué es el proceso administrativo? La administración es el proceso de planificar, organizar, dirigir y controlar las actividades de los miembros de la organización y el empleo de todos los demás recursos organizacionales, con el propósito de alcanzar las metas establecidas para la organización.

116

Page 117: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

PLANIFICACIÓN

Planificar implica que los administradores piensen con antelación en sus metas y acciones, y que basan sus actos en algún método, plan o lógica, y no en corazonadas.La planificación requiere definir los objetivos o metas de la organización, estableciendo una estrategia general para alcanzar esas metas y desarrollar una jerarquía completa de Planes para coordinar las actividades.

Se ocupa tanto de los fines como de los medios.

La planificación define una dirección, se reduce el impacto del cambio, se minimiza el desperdicio y se establecen los criterios utilizados para controlar.

Da dirección a los gerentes y a toda la organización. Cuando los empleados saben a dónde va la organización y en que deben contribuir para alcanzar ese objetivo, pueden coordinar sus actividades, cooperar entre ellos y trabajar en equipos.

Sin la planificación, los departamentos podrían estar trabajando con propósitos encontrados e impedir que la organización se mueva hacía sus objetivos de manera eficiente.

Los planes presentan los objetivos de la organización y establecen los procedimientos aptos para alcanzarlos. Además son guía para:

 

Que la organización consiga y dedique los recursos que se requieren para alcanzar sus objetivos.

Que los miembros realicen las actividades acordes a los objetivos y procedimientos escogidos.

Que el progreso en la obtención de los objetivos sea vigilado y medido, para imponer medidas correctivas en caso de ser insatisfactorio.

 El primer paso para planificar es seleccionar las metas de la organización. A continuación se establecen metas para cada una de las subunidades de la organización. Definidas estas, se establecen programas para alcanzar las metas de manera sistemática.

Las relaciones y el tiempo son fundamentales para las actividades de la planificación. La planificación produce una imagen de las circunstancias futuras

117

Page 118: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

deseables, dados los recursos actualmente disponibles, las experiencias pasadas, etc.

Los planes preparados por la alta dirección, que cargan con la responsabilidad de la organización entera, pueden abarcar plazos de entre cinco y diez años.

 

Planes estratégicos y operativos

 Los planes que tienen aplicación en toda la organización, que establecen los planes generales de la empresa y buscan Posicionar a la organización en términos de su entorno son llamados planes estratégicos. Los planes que especifican los detalles de cómo serán logrados los planes generales se denominan planes operativos.

Se han identificado tres diferencias entre los planes estratégicos y los operativos.

Marco Temporal: Corto Plazo (menos de 1 año) y Largo Plazo (Más allá de 5 años)

Especificidad: Específicos (claramente definidos), Direccional (flexibles, establecen guías generales).

Frecuencia de uso: Uso único (son generados para una situación Única), Permanente (planes continuos para actividades repetidas)

 

Objetivos

Son los resultados deseados para individuos, grupos o hasta organizaciones enteras. Dan dirección a todas las decisiones gerenciales y forman el criterio contra el cual los logros pueden ser medidos.

 

Estableciendo OBJETIVOS

 Convertir la visión en específicos blancos de acción.

Crear normas para rastrear el desempeño. Presiona a ser innovadores y enfocados. Ayuda a prevenir costos y complacencias si los blancos necesitan

alargarse.   

118

Page 119: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Tipos de objetivos requeridos 

Objetivos Financieros              Resultados enfocados en mejorar el desempeño financiero de la compañía. 

Objetivos estratégicos              Resultados enfocados en mejorar la competitividad y su posición de negocios a largo plazo. ORGANIZACIÓN    El significado de este concepto viene del uso que en nuestra lengua se da a la palabra "organismo". Este implica necesariamente: 

a) Partes y funciones diversas: ningún organismo tiene partes idénticas, ni de igual funcionamiento.

b) Unidad funcional: esas diversas, con todo tienen un fin común o idéntico.

c) Coordinación: precisamente para lograr ese fin, cada una pone una acción distinta, pero complementaria de las demás: obran en vista del fin común y ayudan a las demás a construirse y ordenarse conforme a una teología específica.

 

Nosotros la definimos: "Organización es la estructuración técnica de las relaciones que deben existir entre las funciones, niveles y actividades de los elementos materiales y humanos de un organismo social, con el fin de lograr su máxima eficiencia dentro de los planes y objetivos señalados".

Organizar es el proceso para ordenar y distribuir el trabajo, la autoridad y los recursos entre los miembros de una organización, de tal manera que estos puedan alcanzar las metas de la organización.  Diferentes metas requieren diferentes estructuras para poder realizarlos.

Los gerentes deben adaptar la estructura de la organización a sus metas y recursos, proceso conocido como diseño organizacional.

La organización produce la estructura de las relaciones de una organización, y estas relaciones estructuradas servirán para realizar los planes futuros. 

119

Page 120: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

a) La organización se refiere a estructurar quizás la parte más tipica de los elementos que corresponden a mecánica administrativa.b) Por lo mismo, se refiere "cómo deben ser las funciones, jerarquías y actividades".

c) Por idéntica razón, se refiere siempre a funciones, niveles o actividades que "están por estructurarse", más o menos remotamente: ve al futuro, inmediato o remoto.

d) La organización nos dice en concreto cómo y quién va a hacer cada cosa, en el sentido de qué puesto y no cuál persona.

Su importancia1. La organización, por ser elemento final del aspecto teórico, recoge completamente y llega hasta sus últimos detalles todo lo que la planeación ha señalado respecto a cómo debe ser una empresa.

2. Tan grande es la importancia de la organización, que en algunas ocasiones han hecho perder de vista a muchos autores que no es sino una parte de la administración, dando lugar a que la contrapongan a ésta última, como si la primera representara lo teórico y científico, y la segunda lo práctico y empírico. Esto es inadecuado, por todo lo que hemos visto antes.

3. Tiene también gran importancia por constituir el punto de enlace entre los aspectos teóricos que Urwiek llama mecánica administrativa, y los aspectos prácticos que el mismo autor conoce bajo la denominación de dinámica: entre "lo que debe ser", y "lo que es". DIRECCIÓN Es el elemento de la administración en el que se logra la realización efectiva de lo planeado, por medio de la autoridad del administrador, ejercida a base de decisiones.Se trata por este medio de obtener los resultados que se hayan previsto y planeado. Existen dos estratos para obtener éstos resultados:

     a) En el nivel de ejecución (obreros, empleados y aún técnicos), se trata de hacer "ejecutar", "llevar a cabo", aquéllas actividades que habrán de ser productivas.

     b) En el nivel administrativo, o sea, el de todo aquél que es jefe, y precisamente en cuanto lo es, se trata de "Dirigir" no de "ejecutar". El jefe en como tal, no ejecuta sino hace que otros ejecuten. Tienen no obstante su "hacer propio". Este consiste precisamente en dirigir.

120

Page 121: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Dirigir implica mandar, influir y motivar a los empleados para que realicen tareas esenciales.  La dirección llega al fondo de las relaciones de los gerentes con cada una de las personas que trabajan con ellos.

Los gerentes dirigen tratando de convencer a los demás que se les unan para lograr el futuro que surge de los pasos de la planificación y la organización.     

Los gerentes al establecer el ambiente adecuado, ayudan a sus empleados a hacer su mejor esfuerzo.  CONTROL Se puede definir como el proceso de vigilar actividades que aseguren que se están cumpliendo como fueron planificadas y corrigiendo cualquier desviación significativa. Todos los gerentes deben participar en la función de control, aun cuando sus unidades estén desempeñándose como se proyectó. Los gerentes no pueden saber en realidad si sus unidades funcionan como es debido hasta haber evaluado qué actividades se han realizado y haber comparado el desempeño real con la norma deseada. Un sistema de control efectivo asegura que las actividades se terminen de manera que conduzcan a la consecución de las metas de la organización. El criterio que determina la efectividad de un sistema de control es qué tan bien facilita el logro de las metas. Mientras más ayude a los gerentes a alcanzar las metas de su organización, mejor será el sistema de control.El gerente debe estar seguro que los actos de los miembros de la organización la conduzcan hacia las metas establecidas. Esta es la función de control y consta de tres elementos primordiales:

1. Establecer las normas de desempeño.2. Medir los resultados presentes del desempeño y compararlos con las normas de desempeño.

3. Tomar medidas correctivas cuando no se cumpla con las normas.

Existen tres enfoques diferentes para diseñar sistemas de control: de mercado, burocrático y de clan.

El control de mercado es un enfoque par controlar que se centra en el empleo de mecanismos de mercado externos, como la competencia de precios y la participación relativa en el mercado, para establecer las normas empleadas en el sistema de control. Este enfoque se emplea generalmente en organizaciones donde los productos y servicios de la firma están claramente especificados, son distintos y donde existe una fuerte competencia de mercado.

121

Page 122: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

El control burocrático se concentra en la autoridad de la organización y depende de normas, reglamentos, procedimientos y políticas administrativas.

El control de clan, el comportamiento de los empleados se regulan por los valores, normas, tradiciones, rituales, creencias y otros aspectos de la cultura de la organización que son compartidos.

 El control es importante, porque es el enlace final en la cadena funcional de las actividades de administración. Es la única forma como los gerentes saben si las metas organizacionales se están cumpliendo o no y por qué sí o por qué no.

Este proceso permite que la organización vaya en la vía correcta sin permitir que se desvíe de sus metas. Las normas y pautas se utilizan como un medio de controlar las acciones de los empleados, pero el establecimiento de normas también es parte inherente del proceso. Y las medidas correctivas suponen un ajuste en los planes. En la práctica, el proceso administrativo no incluye los elementos aislados mencionados, sino un grupo de funciones interrelacionadas.

Calidad

Diagrama de Pareto

122

Page 123: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Diagrama de Cero Errores

Diagrama de Ishikawa

El Diagrama de Ishikawa, también llamado diagrama de causa-efecto, Se trata de un diagrama que por su estructura ha venido a llamarse también: diagrama de espina de pescado, que consiste en una representación gráfica sencilla en la que puede verse de manera relacional una especie de espina central, que es una línea en el plano horizontal, representando el problema a analizar, que se escribe a su derecha. Es una de las diversas herramientas surgidas a lo largo del siglo XX en ámbitos de la industria y posteriormente en el de los servicios, para facilitar el análisis de problemas y sus soluciones en esferas como lo son; calidad de los procesos, los productos y servicios. Fue concebido por el licenciado en química japonés Dr.Kaoru Ishikawa en el año 1943.

Para empezar, decide cual característica de calidad, salida o efecto quieres examinar y continúa con los siguientes pasos:

Cero quejas en calidad

1. Dibuja un diagrama en blanco.

2. Escribe de forma concisa el problema o efecto.Quejas que manifiestan disconformidad con el servicio

3. Escribe las categorías que consideres apropiadas a tu problema: maquina, mano de obra, materiales, métodos, son los más comunes y aplican en muchos procesos.

Atención telefónica en el primer momento. Información de los productos. Trato del personal.

4. Realiza una lluvia de ideas (brainstorming) de posibles causas y relaciónalas a cada categoría. No se atiende al teléfono al primer sonido- No se informa de los productos disponibles en cada demanda.

123

Page 124: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

5. Pregúntale ¿por qué? a cada causa, no más de dos o tres veces. Porque no se dispone de tiempo necesario Porque no se dispone de tiempo para estudiar las características de cada producto.

6. Empieza por enfocar tus variaciones en las causas seleccionadas como fácil de implementar y de alto impacto. Pausar el momento y atender el teléfono al primer sonido. Estudiar las características de cada producto fuera del horario laboral.

DIAGRAMA DE CAUSA-EFECTO

Herramienta para la identificación de las causas que afectan a un proceso o proyecto.

¿Qué es?

El análisis causa-efecto, o diagrama de Fishbone, es una técnica para identificar las causas posibles que afectan a un proceso o proyecto.

124

Page 125: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

¿Cuándo utilizarlo?

• Definir un problema.• Identificar requisitos de los datos.• Identificar causas posibles.• Desarrollar los objetivos para las soluciones.• Reducir las causas.

¿Por qué se utiliza?

• Ayuda a analizar un problema aparentemente grande descomponiéndolo en elementos más pequeños.

• Ayuda a los individuos y a los grupos a producir ideas.• Provee un método para registrar las ideas.• Revela las relaciones ocultas entre las causas y los efectos.• Ayuda a identificar la raíz de un problema.• Destaca relaciones importantes para la investigación.

Reglas fundamentales para el éxito

• Realice un diagrama de causa-efecto para cada problema identificado.• Utilice diagramas grandes.• Asegúrese de que todos participan.• Examine las relaciones entre las causas.• No sobrecargue el diagrama.• Aísle las causas dominantes.• Defina el problema claramente.• No busque culpables.• Siga las reglas de la tormenta de ideas.

PASOS PARA CONSTRUIR UN DIAGRAMA CAUSA-EFECTO

1. IDENTIFICAR EL PROBLEMA

Identifique y defina con exactitud el problema, fenómeno, evento o situación que se quiere analizar. Éste debe plantearse de manera específica y concreta para que el análisis de las causas se oriente correctamente y se eviten confusiones.

Los Diagramas Causa-Efecto permiten analizar problemas o fenómenos propios de diversas áreas del conocimiento.

Una vez el problema se delimite correctamente, debe escribirse con una frase corta y sencilla, en el recuadro principal o cabeza del pescado

2. IDENTIFICAR LAS PRINCIPALES CATEGORÍAS DENTRO DE LAS CUALES PUEDEN CLASIFICARSE LAS CAUSAS DEL PROBLEMA.

125

Page 126: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Para identificar categorías en un diagrama Causa-Efecto, es necesario definir los factores o agentes generales que dan origen a la situación, evento, fenómeno o problema que se quiere analizar y que hacen que se presente de una manera determinada. Se asume que todas las causas del problema que se identifiquen, pueden clasificarse dentro de una u otra categoría. Generalmente, la mejor estrategia para identificar la mayor cantidad de categorías posibles, es realizar una lluvia de ideas con los estudiantes o con el equipo de trabajo. Cada categoría que se identifique debe ubicarse independientemente en una de las espinas principales del pescado.

IDENTIFICAR LAS CAUSAS

Mediante una lluvia de ideas y teniendo en cuenta las categorías encontradas, identifique las causas del problema. Éstas son por lo regular, aspectos específicos de cada una de las categorías que, al estar presentes de una u otra manera, generan el problema.

Las causas que se identifiquen se deben ubicar en las espinas, que confluyen en las espinas principales del pescado. Si una o más de las causas identificadas es muy compleja, ésta puede descomponerse en subcausas. Éstas ultimas se ubican en nuevas espinas, espinas menores, que a su vez confluyen en la espina correspondiente de la causa principal.

También puede ocurrir que al realizar la lluvia de ideas resulte una causa del problema que no pueda clasificarse en ninguna de las categorías previamente identificadas. En este caso, es necesario generar una nueva categoríae identificar otras posibles causas del problema relacionadas con ésta.

EJEMPLO

126

Page 127: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Diagrama de Seis-sigma

Seis Sigma es una metodología de mejora de procesos, centrada en la reducción de la variabilidad de los mismos, consiguiendo reducir o eliminar los defectos o fallas en la entrega de un producto o servicio al cliente. La meta de 6 Sigma es llegar a un máximo de 3 o 4 defectos por millón de eventos u oportunidades (DPMO), entendiéndose como defecto cualquier evento en que un producto o servicio no logra cumplir los requisitos del cliente. Seis sigma utiliza herramientas estadísticas para la caracterización y el estudio de los procesos, de ahí el nombre de la herramienta, ya que sigma es la desviación típica que da una idea de la variabilidad en un proceso y el objetivo de la metodología seis sigma es reducir ésta de modo que el proceso se encuentre siempre dentro de los límites establecidos por los requisitos del cliente.

Obtener 3 o 4 defectos en un millón de oportunidades es una meta bastante ambiciosa pero lograble. Se puede clasificar la eficiencia de un proceso en base a su nivel de sigma:

1 sigma= 690.000 DPMO = 68.27% de eficiencia2 sigma= 308.000 DPMO= 95.45% de eficiencia

127

Page 128: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

3 sigma= 66.800 DPMO= 99.73% de eficiencia4 sigma= 6.210 DPMO= 99.994% de eficiencia5 sigma= 230 DPMO= 99.99994% de eficiencia6 sigma=3,4 DPMO= 99.999966% de eficiencia

Fue iniciado en Motorola en el año 1982 por el ingeniero Bill Smith, como una estrategia de negocios y mejora de la calidad, pero posteriormente mejorado y popularizado por General Electric.Los resultados para Motorola hoy en día son los siguientes: Incremento de la productividad de un 12,3 % anual; reducción de los costos de no calidad por encima de un 84,0 %; eliminación del 99,7 % de los defectos en sus procesos; ahorros en costos de manufactura sobre los 10 000 millones de doláres y un crecimiento anual del 17,0 % compuesto sobre ganancias, ingresos y valor de sus acciones[cita requerida].El costo en entrenamiento de una persona en Seis Sigma se compensa ampliamente con los beneficios obtenidos a futuro. Motorola asegura haber ahorrado 17 000 millones de dólares desde su implementación, por lo que muchas otras empresas han decidido adoptar este método.

Proceso

Artículo principal: DMAICEl proceso Seis Sigma (six sigma) se caracteriza por 5 etapas bien concretas:

Definir el problema o el defecto Medir y recopilar datos Analizar datos Mejorar Controlar

Otras metodologías derivadas de ésta son : DMADV y PDCA-SDCA DMADV = (Definir, Medir, Analizar, Diseñar y Verificar) PDCA-SDVA = (Planificar, Ejecutar, Verificar y Actuar)-(Estandarizar,

Ejecutar, Verificar y Actuar)

D (Definir)

En la fase de definición se identifican los posibles proyectos Seis Sigma, que deben ser evaluados por la dirección para evitar la inadecuada utilización de recursos. Una vez seleccionado el proyecto, se prepara y se selecciona el equipo más adecuado para ejecutarlo, asignándole la prioridad necesaria.En esta fase deben responderse las siguientes cuestiones:

¿Qué procesos existen en su área?

128

Page 129: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

¿De qué actividades (procesos) es usted el responsable? ¿Quién o quiénes son los dueños de estos procesos? ¿Qué personas interactúan en el proceso, directa e indirectamente? ¿Quiénes podrían ser parte de un equipo para cambiar el proceso? ¿Tiene actualmente información del proceso? ¿Qué tipo de información tiene? ¿Qué procesos tienen mayor prioridad de mejorarse?

M (Medir)

La fase de medición consiste en la caracterización del proceso identificando los requisitos clave de los clientes, las características clave del producto (o variables del resultado) y los parámetros (variables de entrada) que afectan al funcionamiento del proceso y a las características o variables clave. A partir de esta caracterización se define el sistema de medida y se mide la capacidad del proceso.En esta fase deben responderse las siguientes cuestiones:

¿Sabe quiénes son sus clientes? ¿Conoce las necesidades de sus clientes? ¿Sabe qué es crítico para su cliente, derivado de su proceso? ¿Cómo se desarrolla el proceso? ¿Cuáles son sus pasos? ¿Qué tipo de pasos compone el proceso? ¿Cuáles son los parámetros de medición del proceso y cómo se relacionan

con las necesidades del cliente? ¿Por qué son esos los parámetros? ¿Cómo obtiene la información? ¿Qué exactitud o precisión tiene su sistema de medición?

A (Analizar)

En la fase de análisis, el equipo evalúa los datos de resultados actuales e históricos. Se desarrollan y comprueban hipótesis sobre posibles relaciones causa-efecto utilizando las herramientas estadísticas pertinentes. De esta forma el equipo confirma los determinantes del proceso, es decir las variables clave de entrada o "focos vitales" que afectan a las variables de respuesta del proceso.En esta fase deben responderse las siguientes cuestiones:

¿Cuáles son las especificaciones del cliente para sus parámetros de medición?

¿Cómo se desempeña el proceso actual con respecto a esos parámetros? Muestre los datos.

¿Cuáles son los objetivos de mejora del proceso? ¿Cómo los definió?

129

Page 130: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

¿Cuáles son las posibles fuentes de variación del proceso? Muestre cuáles y qué son.

¿Cuáles de esas fuentes de variación controla y cuáles no? De las fuentes de variación que controla ¿Cómo las controla y cuál es el

método para documentarlas? ¿Monitorea las fuentes de variación que no controla?

I (Mejorar)

En la fase de mejora (Improve en inglés) el equipo trata de determinar la relación causa-efecto (relación matemática entre las variables de entrada y la variable de respuesta que interese) para predecir, mejorar y optimizar el funcionamiento del proceso. Por último se determina el rango operacional de los parámetros o variables de entrada del proceso.En esta fase deben responderse las siguientes cuestiones:

¿Las fuentes de variación dependen de un proveedor?. Si es así, ¿cuáles son?

¿Quién es el proveedor? y ¿Qué está haciendo para monitorearlas y/o controlarlas? ¿Qué relación hay entre los parámetros de medición y las variables

críticas? ¿Interactúan las variables críticas? ¿Cómo lo definió? Muestre los datos. ¿Qué ajustes a las variables son necesarios para optimizar el proceso? ¿Cómo los definió? Muestre los datos.

C (Controlar)

Fase, control, consiste en diseñar y documentar los controles necesarios para asegurar que lo conseguido mediante el proyecto Seis Sigma se mantenga una vez que se hayan implementado los cambios. Cuando se han logrado los objetivos y la misión se dé por finalizada, el equipo informa a la dirección y se disuelve.En esta fase deben responderse las siguientes cuestiones: Para las variables ajustadas

¿Qué exactitud o precisión tiene su sistema de medición? ¿Cómo lo definió? Muestre los datos. ¿Cuánto se ha mejorado el proceso después de los cambios? ¿Cómo lo define? Muestre los datos. ¿Cómo mantiene los cambios? ¿Cómo monitorea los procesos? ¿Cuánto tiempo o dinero ha ahorrado con los cambios? ¿Cómo lo está documentando? Muestre los datos.

130

Page 131: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

COMPONENTES BÁSICOS PARA EL PROGRAMA DE CALIDAD SIX-SIGMA.El proceso de la mejora del programa Six sigma, se elabora en base a una serie de pasos que se muestran a continuación:

1. Definir el producto y servicio. 2. Identificar los requisitos de los clientes. 3. Comparar los requisitos con los productos. 4. Describir el proceso. 5. Implementar el proceso. 6. Medir la calidad y producto.

Las medidas de calidad deben contener las siguientes características: 1. Los procesos de producción pueden utilizar el error de tolerancia. 2. Detectar los defectos por unidad (DPU).

HERRAMIENTAS DE MEJORA DE CALIDAD.

La metodología 6σ. Utiliza herramientas estadísticas para mejorar la calidad. Estas herramientas son para conocer los problemas en el área de producción y saber el porqué de los defectos. Las principales herramientas que se utilizan en el Six-Sigma son: a) Diagrama de Flujo de Procesos; con el cual se conocen las etapas del proceso por medio de una secuencia de pasos, así como las etapas críticas. b) Diagrama de Causa-Efecto; es utilizado como lluvia de ideas para detectar las causas y consecuencias de los problemas en el proceso. c) Diagrama de Pareto; se aplica para identificar las causas principales de los problemas en proceso de mayor a menor y con ello reducir o eliminar de una en una (empezando con la mayor y después con las posteriores o con la que sea más accesible). d) Histograma; con el cual se observan los datos (defectos y fallas) y se agrupan en forma gausiana conteniendo los límites inferior y superior y una tendencia central.e) Gráfica de Corrida; es utilizada para representar datos gráficamente con respecto a un tiempo, para detectar cambios significativos en el proceso.f) Gráfica de control; se aplica para mantener el proceso de acuerdo a un valor medio y los límites superior e inferior.g) Diagrama de Dispersión; con el cual se pueden relacionar dos variables y obtener un estimado usual del coeficiente de correlación.h) Modelo de Regresión; es utilizado para generar un modelo de relación entre una respuesta y una variable de entrada.

GRAFICA DE SIX SIGMA(Ơ) La grafica de Six-Sigma es utilizada para demostrar el nivel de defectos

registrados durante el proceso de variación y la media que se obtiene. En la gráfica se muestra que el proceso de variación está situado en el lugar de la media, siendo el lugar donde el proceso estará cambiando en pequeña escala. El objetivo del 6σ es obtener la menor cantidad de defectos (3.4 partes por millón), esto es, casi es cero defectos. La media es el indicador que permite conocer el

131

Page 132: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

punto central del proceso de variación, que indica que en cero variación no se presenta alguna alteración del proceso. Este es el proceso que representa la calidad de cualquier actividad a realizar.

Los niveles de mejora del Six-Sigma, indican el porcentaje de error de un proceso. Los procesos son evaluados en base a criterios que se representan en niveles (Six-Sigma: desde el nivel 1σ al nivel 6σ ), obteniéndose la distribución de datos y los porcentajes de error en la gráfica. La mayor parte de los criterios de evaluación están estandarizados internacionalmente, sólo algunos se pueden modificar de acuerdo a la relación proveedor-cliente. El área bajo la curva indica los niveles y valores, con porcentajes de confiabilidad diferentes, que van desde 68.27 % (nivel 1) hasta 99.999943% (nivel 6). El área bajo la curva comprende el valor de la media de los datos y las desviaciones hacia la izquierda y derecha que dependen del nivel de confiabilidad (procesos de variación), donde están distribuidos los datos. Los niveles Six-Sigma están ubicados en la parte derecha e izquierda de la media, indicando el rango de distribución de los datos y se analizan ambos lados de la gráfica. La representación gráfica de la distribución normal de los datos es analizada y en base a ella se obtienen los resultados del proceso y tomar las decisiones adecuadas para las mejoras y contra mejoras de dichos procesos.

Auditoría Informática

La auditoría en informática es la revisión y evaluación de los controles, sistemas, procedimientos de informática, equipos de cómputo, su utilización, eficiencia y seguridad, para una adecuada toma de decisiones. Además evalúa los sistemas de información en general desde sus entradas, procedimientos, controles, archivos, seguridad y obtención de información.

132

Page 133: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Tipos de auditorías:

Auditorías Internas: Operan para la misma organización propietaria del sistema de información. Los auditores internos estudian los controles utilizados por el sistema informático para asegurar que este realiza lo que supuestamente debe hacer. También examinan la operación de los controles de seguridad. Aunque trabajan dentro de la misma organización, los auditores internos no reportan a la gente responsable del sistema que auditan.

Auditorías Externas: Son auditores externos que inspeccionan el sistema para asegurar la confiabilidad sobre los datos que se producen, cuando algo fuera de lo normal está ocurriendo, que llegara a involucrar a los empleados de la compañía, tal como la sospecha de fraude o peculado.

Los objetivos de la auditoría Informática son:

El control de la función informática El análisis de la eficiencia de los Sistemas Informáticos La verificación del cumplimiento de la Normativa en este ámbito La revisión de la eficaz gestión de los recursos informáticos.

La auditoría informática sirve para mejorar ciertas características en la empresa como:

Desempeño Fiabilidad Eficacia Rentabilidad Seguridad Privacidad

Principales pruebas y herramientas para efectuar una auditoría informática

Pruebas sustantivas: Verifican el grado de confiabilidad del SI del organismo. Se suelen obtener mediante observación, cálculos, muestreos, entrevistas, técnicas de examen analítico, revisiones y conciliaciones. Verifican asimismo la exactitud, integridad y validez de la información.

Pruebas de cumplimiento: Verifican el grado de cumplimiento de lo revelado mediante el análisis de la muestra. Proporciona evidencias de que los controles claves existen y que son aplicables efectiva y uniformemente.

El Proceso de Auditoría

La práctica de la Auditoria se divide en tres fases:

133

Page 134: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

1- Planeación

2- Ejecución

3- Informe

PLANEACIÓN

En esta fase se establecen las relaciones entre auditores y la entidad, para determinar alcance y objetivos. Se hace un bosquejo de la situación de la entidad, acerca de su organización, sistema contable, controles internos, estrategias y demás elementos que le permitan al auditor elaborar el programa de auditoria que se llevará a efecto.

Elementos Principales de esta Fase

1. Conocimiento y Comprensión de la Entidad

2. Objetivos y Alcance de la auditoria

3. Análisis Preliminar del Control Interno

4. Análisis de los Riesgos y la Materialidad

5. Planeación Específica de la auditoria

6. Elaboración de programas de Auditoria

1) Conocimiento y Comprensión de la Entidad a auditar.

Previo a la elaboración del plan de auditoria, se debe investigar todo lo relacionado con la entidad a auditar, para poder elaborar el plan en forma objetiva. Este análisis debe contemplar: su naturaleza operativa, su estructura organizacional, giro del negocio, capital, estatutos de constitución, disposiciones legales que la rigen, sistema contable que utiliza, volumen de sus ventas, y todo aquello que sirva para comprender exactamente cómo funciona la empresa.

Para el logro del conocimiento y comprensión de la entidad se deben establecer diferentes mecanismos o técnicas que el auditor deberá dominar y estas son entre otras:

a) Visitas al lugar

b) Entrevistas y encuestas

c) Análisis comparativos de Estados Financieros

134

Page 135: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

d) Análisis FODA (Fortalezas, oportunidades, debilidades, amenazas)

e) Análisis Causa-Efecto o Espina de Pescado

f) Árbol de Objetivos.- Desdoblamiento de Complejidad.

g) Árbol de Problemas

h) Etc.

2) Objetivos y Alcance de la auditoria.

Los objetivos indican el propósito por lo que es contratada la firma de auditoria, qué se persigue con el examen, para qué y por qué. Si es con el objetivo de informar a la gerencia sobre el estado real de la empresa, o si es por cumplimiento de los estatutos que mandan efectuar auditorias anualmente, en todo caso, siempre se cumple con el objetivo de informar a los socios, a la gerencia y resto de interesados sobre la situación encontrada para que sirvan de base para la toma de decisiones.

El alcance tiene que ver por un lado, con la extensión del examen, es decir, si se van a examinar todos los estados financieros en su totalidad, o solo uno de ellos, o una parte de uno de ellos, o más específicamente solo un grupo de cuentas (Activos Fijos, por ejemplo) o solo una cuenta (cuentas x cobrar, o el efectivo, etc.)

Por otro lado el alcance también puede estar referido al período a examinar: puede ser de un año, de un mes, de una semana, y podría ser hasta de varios años.

3) Análisis Preliminar del Control Interno

Este análisis reviste de vital importancia en esta etapa, porque de su resultado se comprenderá la naturaleza y extensión del plan de auditoria y la valoración y oportunidad de los procedimientos a utilizarse durante el examen.

4) Análisis de los Riesgos y la Materialidad.

El Riesgo en auditoria representa la posibilidad de que el auditor exprese una opinión errada en su informe debido a que los estados financieros o la información suministrada a él estén afectados por una distorsión material o normativa.

En auditoria se conocen tres tipos de riesgo: Inherente, de Control y de Detección.

135

Page 136: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

El riesgo inherente es la posibilidad de que existan errores significativos en la información auditada, al margen de la efectividad del control interno relacionado; son errores que no se pueden prever.

El riesgo de control está relacionado con la posibilidad de que los controles internos imperantes no prevén o detecten fallas que se están dando en sus sistemas y que se pueden remediar con controles internos más efectivos.

El riesgo de detección está relacionado con el trabajo del auditor, y es que éste en la utilización de los procedimientos de auditoria, no detecte errores en la información que le suministran.

El riesgo de auditoria se encuentra así: RA = RI x RC x RD

La Materialidad es el error monetario máximo que puede existir en el saldo de una cuenta sin dar lugar a que los estados financieros estén sustancialmente deformados. A la materialidad también se le conoce como Importancia Relativa.

5) Planeación Específica de la Auditoria.

Para cada auditoria que se va a practicar, se debe elaborar un plan. Esto lo contemplan las Normas para la ejecución. Este plan debe ser técnico y administrativo. El plan administrativo debe contemplar todo lo referente a cálculos monetarios a cobrar, personal que conformarán los equipos de auditoria, horas hombres, etc.

6) Elaboración de Programa de Auditoria

Cada miembro del equipo de auditoria debe tener en sus manos el programa detallado de los objetivos y procedimientos de auditoria objeto de su examen.

Ejemplo: si un auditor va a examinar el efectivo y otro va a examinar las cuentas x cobrar, cada uno debe tener los objetivos que se persiguen con el examen y los procedimientos que se corresponden para el logro de esos objetivos planteados. Es decir, que debe haber un programa de auditoria para la auditoria del efectivo y un programa de auditoria para la auditoria de cuentas x cobrar, y así sucesivamente. De esto se deduce que un programa de auditoria debe contener dos aspectos fundamentales: Objetivos de la auditoria y Procedimientos a aplicar durante el examen de auditoria.

También se pueden elaborar programas de auditoria no por áreas específicas, sino por ciclos transaccionales.

EJECUCIÓN

136

Page 137: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

En esta fase se realizan diferentes tipos de pruebas y análisis a los estados financieros para determinar su razonabilidad. Se detectan los errores, si los hay, se evalúan los resultados de las pruebas y se identifican los hallazgos. Se elaboran las conclusiones y recomendaciones y se las comunican a las autoridades de la entidad auditada.

Aunque las tres fases son importantes, esta fase viene a ser el centro de lo que es el trabajo de auditoria, donde se realizan todas las pruebas y se utilizan todas las técnicas o procedimientos para encontrar las evidencias de auditoria que sustentarán el informe de auditoría.

Elementos de la fase de ejecución

1. Las Pruebas de Auditoria

2. Técnicas de Muestreo

3. Evidencias de Auditoria

4. Papeles de Trabajo

5. Hallazgos de Auditoria

Las Pruebas de Auditoria

Son técnicas o procedimientos que utiliza el auditor para la obtención de evidencia comprobatoria.

Las pruebas pueden ser de tres tipos:

i) Pruebas de Control

j) Pruebas Analíticas

k) Pruebas Sustantivas

Las pruebas de control están relacionadas con el grado de efectividad del control interno imperante.

Las pruebas analíticas se utilizan haciendo comparaciones entre dos o más estados financieros o haciendo un análisis de las razones financieras de la entidad para observar su comportamiento.

Las pruebas sustantivas son las que se aplican a cada cuenta en particular en busca de evidencias comprobatorias. Ejemplo, un arqueo de caja chica, circulación de saldos de los clientes, etc.

137

Page 138: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Técnicas de Muestreo.

Se usa la técnica de muestreo ante la imposibilidad de efectuar un examen a la totalidad de los datos. Por tanto esta técnica consiste en la utilización de una parte de los datos (muestra) de una cantidad de datos mayor (población o universo).

El muestreo que se utiliza puede ser Estadístico o No Estadístico.

Es estadístico cuando se utilizan los métodos ya conocidos en estadística para la selección de muestras:

a) Aleatoria: cuando todos los datos tienen la misma oportunidad de ser escogidos o seleccionados. Ejemplo se tiene una lista de 1000 clientes y se van a examinar 100 de ellos. Se introducen los números del 1 al mil en una tómbola y se sacan 100. Los 100 escogidos serán los clientes revisados.

b) Sistemática: se escoge al azar un número y luego se designa un intervalo para los siguientes números. Ejemplo: se tiene una lista de 1000 clientes, entre los primeros 20 se escoge al azar uno de ellos. Si resulta el 12, se puede designar los siguientes 4 números de la lista con intervalos de 50. Los clientes a examinarse serían: 12(escogido al azar), 13, 14, 15 y 16. Luego el 62(12 +50), 63, 64,65 y 66. Luego el 112(62 + 50), 113, 114,115 y 116. Luego el 162, 163, 164, 165 y 166, y así sucesivamente hasta completar los 100 de la muestra.

c) Selección por Celdas: se elabora una tabla de distribución estadística y luego se selecciona una de las celdas. Ejemplo:

Una lista de 1000 clientes puede dividirse en 5 grupos (celdas) de 200:

Del 1 al 200 Del 201 al 400 Del 401 al 600 Del 601 al 800 Del 801 al 1000

Se puede escoger una de las celdas como muestra para ser examinadas.

d) Al Azar: es el muestreo basado en el juicio o la apreciación. Viene a ser un poco subjetivo, sin embargo es utilizado por algunos auditores. El auditor puede pensar que los errores podrían estar en las partidas grandes, y de estas revisar las que resulten seleccionadas al azar.

e) Selección por bloques: se seleccionan las transacciones similares que ocurren dentro de un período dado. Ejemplo: seleccionar 100 transacciones de ventas ocurridas en la primera semana de Enero, o 100 de la tercera semana, etc.

Evidencia de Auditoria

138

Page 139: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

Se llama evidencia de auditoria a " Cualquier información que utiliza el auditor para determinar si la información cuantitativa o cualitativa que se está auditando, se presenta de acuerdo al criterio establecido".

La Evidencia para que tenga valor de prueba, debe ser Suficiente, Competente y Pertinente.

También se define la evidencia, como la prueba adecuada de auditoria. La evidencia adecuada es la información que cuantitativamente es suficiente y apropiada para lograr los resultados de la auditoria y que cualitativamente, tiene la imparcialidad necesaria para inspirar confianza y fiabilidad...

La evidencia es suficiente, si el alcance de las pruebas es adecuado. Solo una evidencia encontrada, podría ser no suficiente para demostrar un hecho.

La evidencia es pertinente, si el hecho se relaciona con el objetivo de la auditoria.

La evidencia es competente, si guarda relación con el alcance de la auditoria y además es creíble y confiable.

Además de las tres características mencionadas de la evidencia (Suficiencia, Pertinencia y Competencia), existen otras que son necesarias mencionar, porque están ligadas estrechamente con el valor que se le da a la evidencia: Relevancia, Credibilidad, Oportunidad y Materialidad.

Tipos de Evidencias:

1. Evidencia Física: muestra de materiales, mapas, fotos.

2. Evidencia Documental: cheques, facturas, contratos, etc.

3. Evidencia Testimonial: obtenida de personas que trabajan en el negocio o que tienen relación con el mismo.

4. Evidencia Analítica: datos comparativos, cálculos, etc.

Técnicas para la Recopilación de Evidencias

Son los métodos prácticos de investigación y prueba que el contador público utiliza para comprobar la razonabilidad de la información financiera que le permita emitir su opinión profesional.

1.- ESTUDIO GENERAL.- Apreciación sobre la fisonomía o características generales de la empresa, de sus estados financieros de los rubros y partidas importantes, significativas o extraordinaria. Esta apreciación se hace aplicando el juicio profesional del Contador Público, que basado en su preparación y

139

Page 140: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

experiencia, podrá obtener de los datos e información de la empresa que va a examinar, situaciones importantes o extraordinarias que pudieran requerir atención especial. Por ejemplo, el auditor puede darse cuenta de las características fundamentales de un saldo, por la simple lectura de la redacción de los asientos contables, evaluando la importancia relativa de los cargos y abonos anotados. En esta forma semejante, el auditor podrá observar la existencia de operaciones extraordinarias, mediante la comparación de los estados de resultados del ejercicio anterior y del actual. Esta técnica sirve de orientación para la aplicación antes de cualquier otra.

El estudio general, deberá aplicarse con cuidado y diligencia, por lo que es recomendable que su aplicación la lleve a cabo un auditor con preparación, experiencia y madurez, para asegurar un juicio profesional sólido y amplio.

2.- ANÁLISIS. Clasificación y agrupación de los distintos elementos individuales que forman una cuenta o una partida determinada, de tal manera que los grupos constituyan unidades homogéneas y significativas.

El análisis generalmente se aplica a cuentas o rubros de los estados financieros para conocer cómo se encuentran integrados y son los siguientes:

a) Análisis de saldos

Existen cuentas en las que los distintos movimientos que se registran en ellas son compensaciones unos de otros, por ejemplo, en una cuenta de clientes, los abonos por pagos, devoluciones, bonificaciones, etc., son compensaciones totales o parciales de los cargos por ventas. En este caso, el saldo de la cuenta está formado por un neto que representa la diferencia entre las distintas partidas que se registraron en la cuenta. En este caso, se pueden analizar solamente aquellas partidas que forman parte del saldo de la cuenta. El detalle de las partidas residuales y su clasificación en grupos homogéneos y significativos, es lo que constituye el análisis de saldo.

b) Análisis de movimientos

En otras ocasiones, los saldos de las cuentas se forman no por compensación de partidas, sino por acumulación de ellas, por ejemplo, en las cuentas de resultados; y en algunas cuentas de movimientos compensados, puede suceder que no sea factible relacionar los movimientos acreedores contra los movimientos deudores, o bien. Por razones particulares no convenga hacerlo. En este caso, el análisis de la cuenta debe hacerse por agrupación, conforme a conceptos homogéneos y significativos de los distintos movimientos deudores y acreedores que constituyen el saldo de la cuenta.

140

Page 141: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

3.- INSPECCIÓN. Examen físico de los bienes materiales o de los documentos, con el objeto de cerciorarse de la existencia de un activo o de una operación registrada o presentada en los estados financieros.

En diversas ocasiones, especialmente por lo que hace a los saldos del activo, los datos de la contabilidad están representados por bienes materiales, títulos de crédito u otra clase de documentos que constituyen la materialización del dato registrado en la contabilidad.

En igual forma, algunas de las operaciones de la empresa o sus condiciones de trabajo, pueden estar amparadas por títulos, documentos o libros especiales, en los cuales, de una manera fehaciente quede la constancia de la operación realizada. En todos estos casos, puede comprobarse la autenticidad del saldo de la cuenta, de la operación realizada o de la circunstancia que se trata de comprobar, mediante el examen físico de los bienes o documentos que amparan el activo o la operación.

4.- CONFIRMACIÓN. Obtención de una comunicación escrita de una persona independiente de la empresa examinada y que se encuentre en posibilidad de conocer la naturaleza y condiciones de la operación y, por lo tanto, confirmar de una manera válida.

Esta técnica se aplica solicitando a la empresa auditada que se dirija a la persona a quien se pode la confirmación, para que conteste por escrito al auditor, dándole la información que se solicita y puede ser aplicada de diferentes formas:

Positiva.- Se envían datos y se pide que contesten, tanto si están conformes como si no lo están. Se utiliza este tipo de confirmación, preferentemente para el activo.

Negativa.- Se envían datos y se pide contestación, sólo si están inconformes. Generalmente se utiliza para confirmar pasivo o a instituciones de crédito.

5.- INVESTIGACIÓN. Obtención de información, datos y comentarios de los funcionarios y empleados de la propia empresa.

Con esta técnica, el auditor puede obtener conocimiento y formarse un juicio sobre algunos saldos u operaciones realizadas por la empresa. Por ejemplo, el auditor puede formarse su opinión sobre la contabilidad de los saldos de deudores, mediante informaciones y comentarios que obtenga de los jefes de los departamentos de crédito y cobranzas de la empresa.

141

Page 142: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

6.- DECLARACIÓN. Manifestación por escrito con la firma de los interesados, del resultado de las investigaciones realizadas con los funcionarios y empleados de la empresa.

Esta técnica, se aplica cuando la importancia de los datos o el resultado de las investigaciones realizadas lo ameritan.

Aun cuando la declaración es una técnica de auditoria conveniente y necesaria, su validez está limitada por el hecho de ser datos suministrados por personas que participarlo en las operaciones realizadas o bien, tuvieron injerencia en la formulación de los estados financieros que se está examinando.

7.- CERTIFICACIÓN. Obtención de un documento en el que se asegure la verdad de un hecho, legalizado por lo general, con la firma de una autoridad.

8.- OBSERVACIÓN. Presencia física de cómo se realizan ciertas operaciones o hechos.

El auditor se cerciora de la forma como se realizan ciertas operaciones, dándose cuenta ocularmente de la forma como el personal de la empresa las realiza. Por ejemplo, el auditor puede obtener la convicción de que los inventarios físicos fueron practicados de manera satisfactoria, observando cómo se desarrolla la labor de preparación y realización de los mismos.

9.- CÁLCULO. Verificación matemática de alguna partida.

Hay partidas en la contabilidad que son resultado de cómputos realizados sobre bases predeterminadas. El auditor puede cerciorarse de la corrección matemática de estas partidas mediante el cálculo independiente de las mismas.

En la aplicación de la técnica del cálculo, es conveniente seguir un procedimiento diferente al ampliado originalmente en la determinación de las partidas. Por ejemplo, el importe de los intereses ganados originalmente calculados sobre la base de cómputos mensuales sobre operaciones individuales, se puede comprobar por un cálculo global aplicando la tasa de interés anual al promedio de las inversiones del periodo.

Papeles de Trabajo: Son los archivos o legajos que maneja el auditor y que contienen todos los documentos que sustentan su trabajo efectuado durante la auditoria.

Estos archivos se dividen en Permanentes y Corrientes; el archivo permanente está conformado por todos los documentos que tienen el carácter de permanencia en la empresa, es decir, que no cambian y que por lo tanto se pueden volver a

142

Page 143: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

utilizar en auditorias futuras; como los Estatutos de Constitución, contratos de arriendo, informe de auditorías anteriores, etc.

El archivo corriente está formado por todos los documentos que el auditor va utilizando durante el desarrollo de su trabajo y que le permitirán emitir su informe previo y final.

Los papeles de trabajo constituyen la principal evidencia de la tarea de auditoría realizada y de las conclusiones alcanzadas que se reportan en el informe de auditoría.

Los papeles de trabajo son utilizados para:

a) Registrar el conocimiento de la entidad y su sistema de control interno.

b) Documentar la estrategia de auditoria.

c) Documentar la evaluación detallada de los sistemas, las revisiones de transacciones y las pruebas de cumplimiento.

d) Documentar los procedimientos de las pruebas de sustentación aplicadas a las operaciones de la entidad.

e) Mostrar que el trabajo de los auditores fue debidamente supervisado y revisado

f) Registrar las recomendaciones para el mejoramiento de los controles observados durante el trabajo.

El formato y el contenido de los papeles de trabajo es un asunto relativo al juicio profesional del auditor; no hay sentencias disponibles que indiquen lo que se debe incluir en ellos, sin embargo, es esencial que contengan suficiente evidencia del trabajo realizado para sustentar las conclusiones alcanzadas. La efectividad de los papeles de trabajo depende de la calidad, no de la cantidad.

En las cédulas que se utilizan para soportar el trabajo realizado se debe considerar la Referenciación de los papeles de trabajo y las Marcas.

Hallazgos: Se considera que los hallazgos en auditoria son las diferencias significativas encontradas en el trabajo de auditoria con relación a lo normado o a lo presentado por la gerencia.

Atributos del hallazgo:

1. Condición: la realidad encontrada

2. Criterio: cómo debe ser (la norma, la ley, el reglamento, lo que debe ser)

143

Page 144: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

3. Causa: qué originó la diferencia encontrada.

4. Efecto: qué efectos puede ocasionar la diferencia encontrada.

Al plasmar el hallazgo el auditor primeramente indicará el título del hallazgo, luego los atributos, a continuación indicará la opinión de la personas auditadas sobre el hallazgo encontrado, posteriormente indicará su conclusión sobre el hallazgo y finalmente hará las recomendaciones pertinentes. Es conveniente que los hallazgos sean presentados en hojas individuales.

Solamente las diferencias significativas encontradas se pueden considerar como hallazgos (generalmente determinadas por la Materialidad), aunque en el sector público se deben dar a conocer todas las diferencias, aun no siendo significativas.

Una vez concluida la fase de Ejecución, se debe solicitar la carta de salvaguarda o carta de gerencia, donde la gerencia de la empresa auditada da a conocer que se han entregado todos los documentos que oportunamente fueron solicitados por los auditores.

Informe

El informe de Auditoría debe contener a lo menos:

1- Dictamen sobre los Estados Financieros o del área administrativa auditada.

2- Informe sobre la estructura del Control Interno de la entidad.

3- Conclusiones y recomendaciones resultantes de la Auditoría.

4- Deben detallarse en forma clara y sencilla, los hallazgos encontrados.

En esta fase se analizan las comunicaciones que se dan entre la entidad auditada y los auditores, es decir:

a) Comunicaciones de la Entidad, y

b) Comunicaciones del auditor

Entre las primeras tenemos:

a) Carta de Representación

b) Reporte a partes externas

En las comunicaciones del auditor están:

a) Memorando de requerimientos

144

Page 145: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

b) Comunicación de hallazgos

c) Informe de control interno

Y siendo las principales comunicaciones del auditor:

a) Informe Especial

b) Dictamen

c) Informe Largo

Si en el transcurso del trabajo de auditoria surgen hechos o se encuentran algunos o algún hallazgo que a juicio del auditor es grave, se deberà hacer un informe especial, dando a conocer el hecho en forma inmediata, con el propósito de que sea corregido o enmendado a la mayor brevedad.

Así mismo, si al analizar el sistema de control interno se encuentran serias debilidades en su organización y contenido, se debe elaborar por separado un informe sobre la evaluación del control interno.

El informe final del auditor, debe estar elaborado de forma sencilla y clara, ser constructivo y oportuno.

Las personas auditadas deben estar siendo informadas de todo lo que acontezca alrededor de la auditoria, por tanto, podrán tener acceso a cualquier documentación relativa a algún hecho encontrado.

InglésI INSTRUCCIONES: LEE LAS ORACIONES Y ENCIERRA LA RESPUESTA CORRECTA

1. Zeus comes from Greece. He is __________a) Grecian b) Greck c) Greek d) Grek

2. I _________ 20 years old – my sister _________ 23 and how old _______you?a) are, is, amb) is, are, amc) am, are, isd) am, is, are

3. _________ is your name? _________do you come from? And _________ is your English teacher?a) Where, Why, Whob) Who, Where, Whatc) What, Where, Who

145

Page 146: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

d) What, When, Who4. ________ brother is a doctor. ________ wife is a nurse. _________son is a

dentist.a) Your, Her, Theirb) My, His, Theirc) My, Her, Themd) Me, His, Their

5. You ______ five books. I _______two, but the teacher ________ten.a) have, has, haveb) has, have, hadc) have, have, hasd) has, have, have

6. Tom is _________ the piano right now.a) play b) played c) playing d) plays

7. The drugstore is _________ the corner.a) in b) on c) above d) over

8. It’s cold out there, I’m going to put my _________on.a) short b) shirt c) jacket d) hat

9. You can buy a book in a _________a) school b) stadium c) bookstore d) library

10. I’m having a meeting ___________a) yesterday b) everyday c) last week d) tomorrow

11.John is ___________ a delicious sandwich.a) eatting b) eating c) eated d) ate

12.Next year I’m _______________ buy a new house near the beach.a) will b) going to c) am going to d) to

13. I have __________been in this pyramid before. But it’s amazinga) ever b) yet c) never d) for

14.Abril bought a fancy car last year. ________ car is a BMW.a) Its b) Your c) She’s d) Her

15._______ you ________ English before? Yes, I have.a) Have / studied b) Has / studied c) Have /study d) Has / study

16._________ you go with me to the party. It’s next Friday.a) Going b) Have c) Are d) Will

17.Eating salads is ________________ than eating snacks.a) less healthy b) healthy c) the most healthy d) more healthy

18.The ________ ____________ person in the world is my sister. She always gets a 10.a) fool b) most intelligent c) more intelligent d) intelligent

19. I haven’t __________ my homework yet. It’s too difficult.a) done b) do c) did d) doing

20.Do you like the painting class?No, I don’tReally? I don’t _________

146

Page 147: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

a) Too b) neither c) either d) so21.Yesterday I _________ 1 hour in the morning.

a) Run b) ran c) have run d) runs

II INSTRUCCIONES: ELIMINA LA PALABRA QUE NO CORRESPONDE A LA LISTA (márcala con una cruz)

22.whiteboard eraser desk oven marker23.pilot plumber garden waiter secretary24. three one hundred ten for one thousand25.second fiveth fourth third first26.Tuesday Thursday Monday Sunday Today Friday27.grey orange green jello blue red28. father sister nice nephew brother mother29.mirror table knife bed traffic lights30.baseball basketball soccer player football31.short tall slim clothes clean32.skirt tuxedo tie girl suit jeans33.made took went be did sold34.apple orange banana lettuce peach lemon35.radish onion pepper grapes lettuce

III ENCIERRA LA OPCION QUE ES INCORRECTA

36.The last week my family and I go to the museum. A B C D

37.There isn’t some water in the refrigerator, I’ll buy some. A B C D

38.Steve Jobs is the man who create the ipod 3 years ago. A B C D

39.The boys is playing soccer in the old stadium. A B C D

40.During the last year the doctor don’t find a cure for AIDS. A B C D

41.You should to go to the doctor if you still feel bad. A B C D

42.Can you opens the window? It’s too hot here.A B C D

43. I have already won two prizes in the chess competition yet A B C D

44.My father has ever worked in that factory for 20 years. A B C D

147

Page 148: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

45. I may to study French next year. A B C D

IV SUBRAYA LA OPCION (a, b, c, d) QUE CONTENGA EL ORDEN CORRECTO PARA ESTRUCTURAR UNA ORACION EN PRESENTE PROGRESIVO.

46. 1) Auxiliar verb2) Complement3) Subject4) Verb+ing

a) 3, 1, 4, 2b) 3, 2, 4, 2c) 2, 1. 3, 4d) 2, 1, 4, 3

V LAS SIGUIENTES SON ORACIONES EN VOZ PASIVA (tiempo presente), SELECCIONA LA ESTRUCTURA GRAMATICAL QUE MEJOR COMPLETE LA ORACION Y ESCRIBELA EN EL PARENTESIS.

( ) 47- The little boy ______ _________ by the dog..

a) is bitten b) are bitten c) is bitted d) are bitted

( ) 48- All these Christmas items ______ ________ in China.

a) is made b) are made c) is maked d) are maked

( ) 49- Those poems ______ _________ by John Smith.

a) are wrote b) is wrote c) are written d) are writed

( ) 50- _______ the homework __________ by the teacher?

a) is/corrected b) are/correct c) is/correct d) are/corrected

( ) 51- _______ the news ____________ by the newspaper every day?

a) is/report b) are/reported c) is/reported d) are/report

( ) 52- _______ the smoke _________ away by the wind?

a) is/blow b) is/blue c) are/blown d) is/blown

( ) 53- _______ the books ________ to the library?

148

Page 149: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

a) are/taken b) is/took c) is/taken d) are/took

( ) 54- The car ________ ________ by the company.

a) isn’t insure b) isn’t insured c) are insured d) aren’t insureted

( ) 55. The English class _______ _________ by Mr. Jones.

a) isn’t teached b) isn’t teach c) isn’t taught d) aren’t teached

( ) 56- The meetings _______ ________ in the Conference Room.

a) are holded b) is held c) are held d) is holded

VI LAS SIGUIENTES SON ORACIONES EN VOZ PASIVA (tiempo pasado), SELECCIONA LA ESTRUCTURA GRAMATICAL QUE MEJOR COMPLETE LA ORACION Y ESCRIBELA EN EL PARENTESIS.

( ) 57- A dancing class ______ _________ last week.

a) was start b) were started c) was startet d) was started

( ) 58- The English report _______ _________ on Mr. Johnson’s desk.

a) wasn’t leaved b) weren’t leaved c) wasn’t left d) weren’t left

( ) 59- The war ______ ___________ by an economic crisis.

a) were followed b) was followed c) mas followen d) were followen

( ) 60- _______ Mr. Smith ________ as president of the board?

a) was/chosen b) were/chosen c) was/choose d) were/choose

( ) 61- _______ the plate and the glass __________ by the maid?

a) was/broken b) were/broked c) was/braked d) were/broken

VII LAS SIGUIENTES SON ORACIONES EN VOZ PASIVA (tiempo futuro), SELECCIONA LA ESTRUCTURA GRAMATICAL QUE MEJOR COMPLETE LA ORACION Y ESCRIBELA EN EL PARENTESIS.

( ) 62- The book _______ ____________ to the library by George.

149

Page 150: Guia Egetsu

GUÍA EGETSU Sistemas Informáticos SI-502

a) will be returned b) will be returnnet c) will be return d) will is returned

( ) 63- These exercises ________ ____________ by the students.

a) will be finish b) will be finished c) will be finned d) will be fine

( ) 64- The export division ________ ___________ by Mr. Henderson.

a) will be manages b) will be manages c) will be managed d) will be manage

( ) 65- A new car _________ ____________ this year.

a) won’t be buyed b) won’t buyed c) won’t be buys d) won’t be bought

150