sábado, 24 de mayo de 2014

Indicador de desempeño 2.5

2.5 Utilizo e interpreto manuales, instrucciones, diagramas y esquemas, para el montaje de algunos artefactos, dispositivos y sistemas tecnológicos.

Esquema

EL ESQUEMA es una forma de analizar, mentalizar y organizar los contenidos de un texto. Se trata de expresar gráficamente y debidamente jerarquizadas las diferentes ideas del contenido para que sea comprensible de un solo vistazo. 
Después de realizar el subrayado y el resumen del texto, el esquema estará constituido por una serie de palabras significativas que te permitirá reconocer la esencia del texto completo. 

Al realizar el esquema, es conveniente que expreses las ideas principales a la izquierda y a la derecha las secundarias. Del mismo modo, es conveniente que utilices las mayúsculas para señalar los apartados fundamentales y las minúsculas para los elementos de importancia que hay en ellos. 

Hay dos tipos de esquemas:
De llaves o cuadro sinóptico: Útil cuando existen muchas subdivisiones. 
Ramificado o Diagrama: Facilita ver las relaciones entre diferentes conceptos de forma muy gráfica. Y estos pueden ser: 
numéricos (números romanos o arábigos) o con letras.

Ordenar y organizar conceptos y resaltar la información importante. Además, un buen esquema te permitirá memorizar de forma visual las ideas principales del contenido que estés estudiando. 

Cuando tengas montado el esquema, haz una lectura pausada del resultado junto con el subrayado del texto completo. Es importante comprobar si entiendes todo y si hay conceptos repetidos para eliminarlos del esquema. 

DIRECTRICES PARA LA CONSTRUCCIÓN DE ARTEFACTOS DE PERSISTENCIA EN EL PROCESO DE DESARROLLO DE SOFTWARE


1. INTRODUCCIÓN
Las bases de datos han desempeñado papel protagónico en el proceso de desarrollo de software, por esto en la actualidad se encuentra un número considerable de técnicas de modelado, patrones, frameworks y librerías para trabajar lo concerniente al almacenamiento de datos. Los artefactos de persistencia se refieren a los productos construidos durante el proceso de desarrollo de software, permitiendo a los sistemas de información trascender los datos en el tiempo, almacenándolos en bases de datos o archivos.
Durante las décadas de los setenta y ochenta se dio un considerable fortalecimiento de los motores de bases de datos, también llamados SGBD (sistema gestor de bases de datos) o DBMS (DataBase Management System), apareció por entonces el llamado paradigma relacional, que puso los datos como el elemento central del proceso de desarrollo de software [1], fue cuando los SGBD evolucionaron hasta ser llamados SGBD relacionales (RDBMS: Relational DataBase Management System).
Sin embargo, en los noventa, el auge de la programación orientada por objetos y el surgimiento de los frameworks de mapeo objeto-relacional ocasionó que los desarrolladores de software volcaran su atención sobre otros elementos como los objetos, los componentes o los frameworks, los cuales por medio de diferentes estrategias les facilitaban considerablemente las labores, al punto de llevar a casi ignorar la existencia del SGBD. Los artefactos de persistencia se convirtieron en productos que solo eran revisados o modificados cuando el aumento en los volúmenes de información y el acceso concurrente a ellos causaban problemas de rendimiento.
Para concretar la guía planteada en este artículo, se abordan algunos de los principales conceptos del cuerpo del conocimiento de la ingeniería de software: notación, metodología, técnica y herramientas. Las notaciones para el modelado de datos se trabajan en la sección 2, lo referente a la metodología se trata en la sección 3, las técnicas de acceso a datos se abordan en la sección 4, las herramientas más populares para el desarrollo con bases de datos se revisan en la sección 5, y finalmente se muestran las conclusiones y trabajos futuros en la sección 6.
Para ilustrar esta guía, se presenta un caso de aplicación que trata el desarrollo de un portal temático llamado Aldea Contable, aplicación web para apoyar el proceso docente del Departamento de Ciencias Contables de la Universidad de Antioquia.
2. NOTACIONES PARA EL MODELADO DE DATOS
Para construir modelos de datos existen diversas notaciones, las cuales le dan diferente relevancia a cada uno de los elementos que se pueden representar en los modelos. Esta situación hace que una notación específica sea más útil en un contexto que en otro, de acuerdo con las condiciones particulares del proyecto o del grupo de desarrollo.
Aunque en la industria la notación que se utilice para modelar las bases de datos no es un factor que esté determinado por las condiciones del proyecto o del grupo de desarrollo, utilizar una u otra notación puede tener un impacto considerable. A continuación se enuncian los principales aspectos de las siete notaciones más usadas en el modelado de bases de datos.
Notación Chen: esta fue la notación que se utilizó inicialmente para la representación de bases de datos. Fue planteada por Peter Chen en los setenta y les da un especial énfasis a las relaciones entre las entidades representándolas con un rombo en el que se pone el nombre de la relación [2].
- Notación Barker: fue adoptada por Oracle Corporation en sus productos de modelado de datos; goza de mucha popularidad y sirve de referente en la metodología planteada en CASE*Method [3].
- IE (Information Engineering): desarrollada inicialmente por Clive Finkelstein quien luego la refinó con el apoyo de James Martin; aunque es clara e intuitiva, sirve solo para modelos de alto nivel de abstracción (modelos lógicos), pues no permite modelar los atributos de las entidades [4].
IDEF1X (Data Modeling): desarrollada por el Departamento de Defensa de los Estados Unidos dentro de una familia de estándares llamada IDEF (Integrated DEFinition Method); no obstante que fue planteada para representar modelos físicos, erróneamente se usa en modelos lógicos; para este tipo de modelos es más apropiada la notación de IDEF1 llamada Information Modeling [5].
-ORM (Object Role Modeling): formalizada por Terry Halpin, es una notación muy intuitiva que se centra en representar el papel que desempeña una entidad con respecto a las demás entidades con las que está relacionada, su desventaja radica en que los modelos crecen en tamaño muy rápidamente [6].
- UML (Unified Modeling Language): si bien es un lenguaje de modelado objetual, se puede extender a través de perfiles para soportar otro tipo de modelos [7]. En la actualidad existen varias propuestas e iniciativas para perfiles de modelado de datos con UML [8-10].
- XML (Extensible Markup Language): más que una notación, XML es un metalenguaje extensible de etiquetas desarrollado por el W3C (World Wide Web Consortium). Permite describir la gramática de lenguajes específicos por medio de la definición de sus “metadatos”, expresando las reglas que los rigen en un documento de definición de tipos (*.DTD) o un archivo de definición del esquema XML (*.XSD). Los datos deben cumplir con las reglas definidas y se almacenan acompañados de etiquetas en el mismo archivo o en un archivo diferente (por lo general *.XML) [11].
Según las recomendaciones del estudio comparativo de Hay en [12], la notación más apropiada para el análisis es Barker, mientras que en el diseño resulta de gran utilidad usar UML; sin embargo, en algunos casos la notación estará determinada por las herramientas disponibles, las condiciones específicas del grupo de desarrollo o las particularidades del proyecto. En la tabla 1 se presenta un cuadro comparativo que muestra las diferencias entre los principales elementos de las notaciones más utilizadas por herramientas de modelado de datos en la actualidad.
3. LOS MODELOS DE DATOS EN LAS METODOLOGÍAS DE DESARROLLO
Un factor determinante para el tratamiento de los artefactos de persistencia es el nivel de abstracción de los modelos de datos. Según Ambler [13], existen tres estilos para la construcción de modelos relacionados con los datos.
- Modelo conceptual: también llamado modelo del dominio, sirve para representar elementos del espacio del problema, frecuentemente antecede o reemplaza al modelo lógico. Se utiliza en las etapas previas al análisis.
- Modelo lógico: sirve para analizar los conceptos del dominio y las relaciones entre éstos. Se utiliza en la etapa de análisis.
- Modelo físico: sirve para representar los elementos que se dispondrán en el SGBD o esquema interno de la base de datos. Se utiliza en la etapa de diseño.
Sin embargo, en el Proceso Unificado de Desarrollo (RUP: Rational Unified Process) [14] los modelos de datos se reducen a un artefacto que se construye en el flujo de trabajo del análisis y diseño.
En propuestas como las planteadas en CADM (CASE Applications Development Method) [15], los modelos de datos tienen papel protagónico, convirtiéndose en artefactos que rigen el proceso de desarrollo y la generación de código. La metodología presentada en CADM se deriva del método CASE (CASE* Method) [3] y plantea diez etapas de las que se destacan el análisis, el diseño y la construcción. La notación usada en CADM es una adaptación de la notación Barker que posibilita la diferenciación de los modelos lógicos y físicos.
3.1 Análisis
En el análisis se construyen artefactos cercanos al dominio del problema; tienen carácter declarativo, centrándose en “qué” se pretende hacer. El principal artefacto del análisis en CADM es el modelo Entidad-Relación (diagrama E-R), que se refiere a un modelo lógico. Para la construcción de un diagrama E-R, se explora gramaticalmente la narrativa del negocio, buscando elementos propios del modelo de la siguiente manera:
Entidades. Se refieren a los conceptos, personas, objetos o cosas de los cuales el sistema necesite guardar información. Las forman los sustantivos más relevantes encontrados en la narrativa del negocio. Por tratarse de un concepto o abstracción, suele utilizarse un sustantivo en singular para nombrar la entidad. Se simbolizan usando un rectángulo con los bordes redondeados.
- Atributos. Constituyen cada una de las características asociadas a una entidad; gramaticalmente los atributos se buscan en los adjetivos que califican a las entidades. Se simbolizan colocando su nombre dentro del rectángulo de la respectiva entidad. Los tipos de atributos son los siguientes:
Claves primarias. Identificadores que hacen que una presencia de la entidad sea diferente de las demás. Se simbolizan con el signo número.
Obligatorios. Se simbolizan con un círculo relleno o con un asterisco.
Opcionales. Se simbolizan con un círculo hueco o con un espacio en blanco.
Claves candidatas. Son aquellas que sirven de alternativa a la clave primaria.
- Relaciones. Muestran la forma en que dos entidades se asocian; gramaticalmente las relaciones se pueden encontrar dentro de la narrativa del negocio como verbos conjugados, preposiciones, conjunciones u otros elementos que unen dos de los sustantivos que representan entidades. Las relaciones se representan como líneas que unen las dos entidades implicadas y tienen principalmente dos características:
Multiplicidad. Se refiere al número de presencias de una entidad que puede tener la otra, se lee llegando y se representa con una línea simple para denotar uno, o con tres líneas en forma de pata de gallo (crow’s foot en inglés) para denotar muchos.
Obligatoriedad. Determina si ante una presencia de una entidad deberá o podrá haber presencias de la otra entidad, se lee saliendo y se representa con una línea continua para denotar obligatoriedad o con una línea punteada para denotar que es opcional.
En el caso de aplicación, la Aldea Contable dispone de nueve módulos para apoyar los diferentes frentes del proceso docente; por limitaciones de espacio, se ilustra solo el uso de los artefactos de persistencia en el módulo “Revista Contaduría”, que corresponde al apoyo virtual de una publicación impresa que se entrega periódicamente en el Departamento de Ciencias Contables de la Universidad de Antioquia.
El diagrama E-R de la figura 1 muestra las entidades y relaciones del módulo “Revista Contaduría”. En este diagrama se observa como la relación de muchos a muchos entre las entidades ARTICULO y AUTOR presenta un conflicto de pérdida de información que necesita ser resuelto con el surgimiento de la entidad de intersección AUTORIA_ARTICULO; en esta entidad se ubican los atributos ROL y POSICION, que en caso de situarse en cualquiera de las dos entidades involucradas en la relación ocurrirían problemas de multiplicidad. Un caso contrario se presenta en la relación de muchos a muchos entre las entidades ARTICULO y TEMA, que no necesita ser tratada como un conflicto, pues no tienen información propia que experimente problemas de multiplicidad.
La entidad AUTORIA_ARTICULO se denomina débil con respecto a NUMERO y ARTICULO, pues su clave primaria se supone compuesta por las claves de las otras dos entidades y no necesita ser representada dentro de dicha entidad. Esta situación se representa con una línea cruzada en la relación del lado de la entidad débil; este tipo de relaciones se llaman vinculantes (Identifying Relationship).
3.2 Diseño
En el diseño se construyen artefactos cercanos a la solución o a los objetos del SGBD, tiene carácter imperativo, centrándose en el “cómo” de la solución. El principal artefacto del diseño en CADM es el llamado esquema de datos o modelo del servidor, que se refiere a un modelo físico. Un esquema de datos se construye a partir de la transformación del diagrama E-R, teniendo en cuenta las siguientes consideraciones:
- Tablas. Cada una de las entidades modeladas en el análisis representa una tabla en el diseño. Por tratarse de la necesidad de almacenamiento, su nombre suele ser el sustantivo que viene del análisis pero en plural, pues en una tabla se almacenan muchos registros. Se simbolizan con un rectángulo con los bordes rectos.
- Columnas. Cada uno de los atributos del diagrama E-R se transforma en una columna del esquema de datos; la columna conserva las características funcionales que tenía el atributo, salvo que algunas veces se le adiciona el tipo de dato.
Claves foráneas. Cada relación en el diagrama E-R genera una clave foránea en el esquema de datos y el surgimiento de una o varias columnas en la tabla del extremo de la relación con multiplicidad de muchos. El número de columnas que surgen está determinado por el número de atributos de la clave primaria de la otra tabla.
Es importante recalcar que las columnas que surgen en el diseño, producto de las relaciones entre entidades en el análisis solo se representan en los modelos de datos y no se representan en los diagramas E-R, pues en el análisis se acepta que las relaciones tienen identidad propia y por ellas viaja información.
El esquema de datos de la figura 2 muestra el modelo físico de la base de datos del caso de aplicación. En este diagrama se observa la tabla TEMARIO_ ARTICULOS resolviendo la relación de muchos a muchos que se presentaba entre las entidades que sirven de base para las tablas TEMAS y ARTICULOS. En el caso de aplicación, todas las claves foráneas transfieren la clave primaria de la tabla con multiplicidad uno a la tabla con multiplicidad muchos, exceptuando la clave foránea ART_NUM_FK, en la cual la columna NUMERO pasa a la tabla ARTICULOS, pero no como clave primaria, ya que no proviene de relaciones vinculantes como las demás.
3.3 Construcción
El principal artefacto de la construcción en CADM lo constituyen los scripts de creación de los objetos de la base de datos. Estos scripts se llaman DDL (Data Definition Language) y se construyen a partir de la transformación del esquema de datos, teniendo en cuenta las siguientes consideraciones:
- Cada tabla se convierte en una sentencia “CREATE TABLE…” que debe tener una definición de columna, con su respectivo tipo y restricciones, por cada una de las columnas del esquema de datos.
- Cada clave primaria se convierte en una cláusula “… PRIMARY KEY…” en la creación o alteración de tabla, y los valores de esta columna no podrán repetirse. En caso de que la clave sea compuesta, el orden de las columnas suele definir el orden de la columna en el índice asociado.
- Cada clave foránea se convierte en una cláusula “… REFERENCES…” en la creación o alteración de tabla de la clave foránea, hacia la tabla de la clave primaria que se referencia. Es importante recalcar que solo se pueden referenciar columnas o combinaciones de ellas que sean únicas (PRIMARY KEY o UNIQUE).
- Cada objeto creado en la base de datos debe considerar el cálculo de espacios de almacenamiento, para evitar problemas de rendimiento en el acceso a datos. Esta práctica se llama sizing de esquema, y los cálculos que se realizan dependen en gran medida de las características específicas del SGBD utilizado.
Si en lugar de un motor relacional, se cuenta con un SGBD orientado por objetos, se puede utilizar UML como técnica de modelado de datos, teniendo en cuenta ciertas restricciones para que cada elemento en el modelo encuentre correspondencia directa en elementos de las bases de datos [16].
4. TÉCNICAS PARA EL ACCESO DE DATOS
A continuación se ilustran los mecanismos de acceso a datos como las API, librerías de abstracción, el patrón DAO y las técnicas de mapeo objeto-relacional.
4.1 API (Application Programming Interface)
Una API (interfaz de programación de aplicaciones) es un conjunto de rutinas y especificaciones de comunicación entre componentes de software. Existen varios tipos de API: nativas de un sistema operativo como ODBC en Windows, nativas de un lenguaje como JDBC con Java y nativas de un SGBD como OCI con Oracle. Enseguida se presentan algunas de las API de mayor utilización para el acceso a bases de datos.
ODBC (Open Data Base Connectivity). Es un estándar planteado por Microsoft cuyo objetivo es hacer posible el acceso a cualquier dato de cualquier aplicación, sin importar qué SGBD lo almacene; ODBC logra esto al insertar una capa intermedia llamada manejador (Driver) de bases de datos, entre la aplicación y el SGBD; el propósito de esta capa es traducir las consultas de datos de la aplicación en comandos que el SGBD pueda interpretar. Desde la versión 2.0 el estándar soporta SQL (Structured Query Language) [17]. Para conectarse a la base de datos se crea en el sistema operativo un origen de datos (DSN: Data Source Name) dentro del cual se definen los parámetros, la ruta y las características de la conexión, según las especificaciones del fabricante.
JDBC (Java Data Base Connectivity). Permite la ejecución de sentencias sobre bases de datos desde Java, independiente del sistema operativo donde se esté ejecutando o del SGBD utilizado [18]. Provee servicios para acceder a una base de datos utilizando SQL como lenguaje de consulta y manipulación de datos.
Un manejador (Driver) de conexión hacia un SGBD específico es un conjunto de clases que implementan las interfaces Java definidas en JDBC y que utilizan los métodos de registro para definir un localizador de una base de datos (URL: Uniform Resource Locator). En la ejecución, el programa debe correr con la librería apropiada para su SGBD y accede a éste estableciendo una conexión y utilizando el localizador a la base de datos con los parámetros específicos.
La API de persistencia recientemente desarrollada para la plataforma Java EE se llama JPA (Java Persistence API), uno de cuyos principales objetivos es unificar la manera en que funcionan las utilidades de mapeo objeto-relacional.
OCI (Oracle Call Interface). Permite ejecutar sentencias SQL para la consulta y manipulación de datos en un SGBD Oracle, desde un lenguaje de programación como C o PHP [19]. Las librerías OCI no necesitan ser recompiladas para su utilización y se tratan de igual forma que las aplicaciones que no son para bases de datos. Las funciones de OCI son:
- Hacer un análisis sintáctico de las sentencias SQL.
- Abrir un cursor (espacio de memoria para guardar la respuesta a una consulta).
- Introducir variables del cliente en la memoria compartida del servidor.
- Ejecutar las sentencias SQL en el espacio de memoria del cursor.
- Descargar en la aplicación cliente los registros de datos solicitados.
- Cerrar los cursores y, de esta forma, liberar los espacios de memoria reservados.
4.2 Librerías de abstracción de acceso a datos
Adicionalmente a los servicios de una API, una librería de abstracción provee un modelo de componentes que enmascara la complejidad del acceso a datos, permite usar instrucciones de alto nivel y facilita al desarrollador cambiar el origen de los datos.
Las librerías de abstracción están determinadas por el lenguaje de programación que utilicen, por esto una API como JDBC también encaja dentro de esta categoría; pero teniendo en cuenta el bajo nivel de sus instrucciones, se enmarcó dentro de la categoría de las API.
A continuación se muestran las librerías de abstracción de acceso a datos más usadas en los lenguajes de Microsoft y en PHP.
Microsoft. Para los diferentes lenguajes de programación usados por las plataformas de Microsoft existen las siguientes alternativas [20]:
Microsoft DAO. Los objetos de acceso a datos de Microsoft constituyeron un modelo de componentes, usado por excelencia para el acceso a bases de datos Microsoft Access.
RDO. Los objetos de datos remotos permiten el desarrollo de interfaces que interactúan directamente con orígenes de datos ODBC en máquinas remotas.
UDL (Universal Data Link). Son archivos que proveen una interfaz común para especificar los atributos de una conexión basada en ODBC o en OLE DB.
ADO, ADO.NET (ActiveX Data Objects). Son interfaces de programación de alto nivel para orígenes de datos soportados por ODBC y OLE DB.
PHP. Junto con Java, C y VB, PHP es uno de los lenguajes más usados en la actualidad [21]. Dispone de las siguientes librerías de abstracción de acceso a datos [22]:
ADOdb, una popular librería de código abierto que también cuenta con una versión para el lenguaje Python, disponible en la comunidad de SourceForge.
PEAR DB y PEAR MDB2, dos versiones de las librerías de abstracción de acceso a datos de la comunidad de PHP. PEAR es la sigla PHP Extension and Application Repository.
PDO (PHP Data Objects), reciente estrategia de PHP para usar un núcleo común de métodos de acceso a datos, con independencia del SGBD utilizado.
4.3 El patrón DAO (Data Access Objects)
Un patrón de software presenta una solución probada a un problema recurrente en un contexto específico [23]. El patrón DAO permite abstraer y encapsular el acceso a una fuente de datos, independizando el almacenamiento persistente de la lógica de negocio y control. El DAO administra las conexiones, recupera y almacena información de la fuente de datos, actuando como un adaptador entre los componentes de negocio y el origen de los datos. Los elementos del patrón DAO son: [24]
- BusinessObject: objeto cliente que requiere acceso a la fuente de datos (Servlet).
- DataAccessObject: abstracción de la implementación de acceso a datos (Class).
- DataSource: implementación de una fuente de datos (DBMS, XML, etc.).
- TransferObject: objeto usado por la clase DAO para el transporte de datos (Bean).
El diagrama de la figura 3 ilustra el uso del patrón DAO en el caso de aplicación de la Aldea Contable para el acceso a los datos de la tabla Temas.
La clase TemaDAO se encarga de implementar sobre la tabla Temas las tradicionales operaciones CRUD, denominadas así por las iniciales de Create, Read, Update y Delete; en ocasiones se llaman operaciones CRUDEL [25], adicionando Exist para verificar la existencia de un objeto y List para recuperar todos los datos de una tabla. La clase TemaDTO contiene objetos planos con los datos para insertar o que fueron sacados de la tabla Temas. En la figura 3 se ilustra además la clase ResultSet, que es creada por la clase DataSource cuando se necesita recuperar múltiples registros y se usa por la clase TemaDAO para listar los registros de la tabla Temas.
4.4 Mapeo objeto-relacional (ORM: Object Relational Mapping)
Se refiere a la técnica de transformar las representaciones de los datos de un modelo de objetos en un modelo de datos con un esquema basado en SQL [26]. Una solución ORM está compuesta de cuatro partes:
- Una API encargada de realizar las operaciones CRUD para los objetos de las clases persistentes. Dichas operaciones se corresponden con instrucciones DML (Data Manipulation Language) en el SGBD.
- Un lenguaje o API para especificar consultas (Queries) que se refieran a clases y propiedades de clases.
- Una utilidad para especificar metadatos de mapeo.
- Técnicas de optimización de transacciones como el chequeo sucio automático (automatic dirty checking), el cual detecta cambios en los objetos y actualiza su estado en la base de datos sin necesidad de escribir sentencias update; estas técnicas están acompañadas de estrategias para la recuperación de los registros de las tablas involucradas en una clave foránea sobre objetos en memoria, tales como:
Carga perezosa (Lazy Loading). Se cargan primero los registros de la tabla maestra y posteriormente, si se necesitan, los registros de la tabla detalle.
Carga proactiva (Eager Loading). Mediante un join se cargan de una vez los registros de la tabla maestra y los de la tabla detalle.
Para la implementación de una solución que utilice el mapeo objeto-relacional, se dispone de cuatro niveles de adaptabilidad.
- Relacional puro. La aplicación completa, incluyendo la interfaz de usuario, está diseñada con el modelo relacional y operaciones basadas en SQL. Las aplicaciones en esta categoría generalmente tienen un alto uso de procedimientos almacenados.
- Mapeo de objetos ligero. Las entidades se representan como clases que se mapean manualmente a tablas relacionales. El manejo manual de SQL/ JDBC se oculta de la lógica de negocio usando patrones de diseño, como el patrón DAO. Esta aproximación es ampliamente conocida y es adecuada para aplicaciones con un número pequeño de entidades o aplicaciones con modelos genéricos de datos.
- Mapeo de objetos medio. La aplicación se diseña alrededor del modelo objetual. El SQL se genera en tiempo de desarrollo utilizando una herramienta de generación de código o en tiempo de ejecución por medio de un framework. Este tipo de mapeo es adecuado para aplicaciones con transacciones complejas, en particular cuando se requiere portabilidad entre diferentes bases de datos. Estas aplicaciones comúnmente usan el patrón Active Record, y rara vez se utilizan procedimientos almacenados.
- Mapeo de objetos completo. Soporta modelos de objetos sofisticados que tengan composición, herencia y polimorfismo. La capa de persistencia se implementa de manera transparente en frameworks como Hibernate [27] o utilizan la técnica de scaffold para desplegar automáticamente los formularios para las operación CRUD.
Las opciones para adoptar una solución ORM se basan en el uso de implementaciones de la especificación JDO o en la utilización de frameworks ORM.
JDO (Java Data Objects). Estándar desarrollado por Java Community Process, que define las interfaces y clases para manejar objetos persistentes del dominio (objetos de negocio y aplicación). Su funcionamiento se basa en las siguientes premisas:
- Mediante un archivo XML se indica qué clases son persistentes.
- Se establecen los parámetros de configuración para la ejecución de la persistencia: clases que implementan JDO, archivo con los parámetros de conexión, descriptores de persistencia (habitualmente se sitúan en los directorios META-INF o WEB-INF para aplicaciones web) y la versión modificada de las clases persistentes con su versión original.
- Se procesan las clases persistentes compiladas y se les agrega código mediante el Enhancer, que se encarga de hacer que cada clase persistente implemente la interfaz PersistenceCapable. Las nuevas .class son compatibles con cualquier implementación de JDO.
- El objeto de la clase PersistenceManager se encarga de establecer el contexto de la conexión (jdo.properties) y las transacciones y realiza las operaciones internas de persistencia (CRUD). La recuperación selectiva de instancias se lleva a cabo mediante el lenguaje de consulta JDOQL [28].
Entre las implementaciones de JDO se encuentran: KODO de BEA, JDO Genie de Hemisphere Technologies, JRelay de Object Industries GmbH, Versant y JPox.
Frameworks ORM. Un framework provee una arquitectura definida en la cual otra aplicación puede ser organizada y desarrollada [29]. Uno de los frameworks ORM más conocidos es Hibernate, que apoya la construcción de la capa de acceso a datos en aplicaciones Java, soportando una amplia variedad de SGBD: Oracle, DB2, MySQL, PostgreSQL, SAP DB, entre otras. En cualquier aplicación que utilice Hibernate aparecen cuatro objetos básicos:
- Configuration. Contiene la información necesaria para realizar la conexión a la base de datos. Lee dos tipos de archivos XML: un archivo de propiedades (Hibernate.properties) en el cual se especifican los parámetros de conexión al SGBD y un archivo de mapeo (*.hbm.xml) para cada clase que requiera persistir, indicando las correspondencias clases/tablas y propiedades/columnas.
- SessionFactory. Es una fábrica de Sessions. Un objeto Configuration tiene toda la información necesaria para crear una SessionFactory.
- Session. Es la principal interfaz entre la aplicación Java e Hibernate. Mantiene las conversaciones entre la aplicación y la base de datos. Permite adicionar, modificar y borrar objetos en la base de datos.
- Transaction. Permite las operaciones de confirmar y deshacer transacciones.
Hibernate proporciona un lenguaje de consulta orientado a objetos llamado HQL (Hibernate Query Language). Se diferencia del SQL en dos aspectos: permite hacer preguntas basadas en objetos y propiedades y no en tablas y columnas; no permite manipular datos, sólo se encarga de recuperar objetos; las operaciones de actualización, inserción y borrado las llevan a cabo los objetos Session [30].
Otros de los frameworks de mapeo objeto-relacional más usados son: TopLink de Oracle, Torque y SimpleORM.
5. HERRAMIENTAS
Los SGBD se encargan exclusivamente del almacenamiento y manejo de los datos; su operación dentro del desarrollo de un sistema de información se ve complementada por la participación de otros tipos de herramientas como las listadas a continuación.
Herramientas de acceso a SGBD. Sirven para escribir e interpretar instrucciones SQL, DDL o DML, que se envían al motor de bases de datos para ser ejecutadas. Entre las más comunes se tienen: SQL Navigator y TOAD de Quest Software, SQL Developer de Oracle y Mysql Query Browser de MySQL AB.
- Herramientas de administración de SGBD. Una base de datos se puede administrar con un subconjunto de instrucciones SQL, en especial DCL (Data Control Language), sin embargo, el volumen de instrucciones de administración es considerable; es en este punto en donde las herramientas que apoyan las labores de administración se hacen útiles. En algunos casos los SGBD vienen acompañados de herramientas de acceso y de administración. Entre las más usuales están: SQL Server Enterprise Manager, Oracle Enterprise Manager (OEM) y phpMyAdmin para MySQL.
- Herramientas de modelado de datos. Sirven para construir modelos relacionados con los datos, permiten la generación de código y, en algunos casos, la transformación de modelos lógicos a modelos físicos. Entre las de mayor uso tenemos: DBDesigner de FabForce.net, Designer de Oracle, ERwin de Computer Associates y ER/Studio de Embarcadero Technologies.
- Herramientas de generación de código de acceso a datos. Sirven para generar el código de la capa de persistencia a partir de un esquema de la base de datos. Por lo general, basan el código generado en el uso del patrón DAO. Entre las más conocidas figuran: FireStorm/DAO de Code Futures Software, DAOGen de TitanicLinux.Net y MyDB Studio de H2LSoft.
La Ingeniería Inversa es una funcionalidad presente en la mayoría de herramientas, que permite conectarse a uno o varios tipos de SGBD para extraer de sus metadatos la información necesaria para la construcción de modelos, generación de código o definición de scripts para la creación de objetos de la base de datos.
6. CONCLUSIONES Y TRABAJOS FUTUROS
El área de las bases de datos es uno de los frentes del desarrollo de software que ha alcanzado una mayor madurez; características como la transformación de modelos y la generación de código para el acceso a datos y para la creación de los objetos de la base de datos indican que las herramientas que apoyan la construcción de artefactos de persistencia cumplen con los criterios para ser consideradas herramientas MDA (Model Driven Architecture) [31].
Un interesante frente de trabajo es la construcción de herramientas de código abierto para apoyar procesos de desarrollo basados en métodos que se centran en los artefactos de persistencia como CADM (CASE Applications Development Method) [15] y la reciente Agile Data Method [32].

En el caso de aplicación de la Aldea Contable se utilizó una aproximación metodológica basada en RUP [14]; sin embargo, se les puso énfasis a los modelos de datos y a los artefactos de persistencia, lo que agilizó en gran medida el desarrollo del proyecto. Todos los modelos construidos durante el desarrollo de la Aldea Contable se encuentran disponibles para la comunidad informática en la dirección: http:// contaduria.udea.edu.co/index.php?page=Principal. Documentacion; para los modelos de datos solo se publican los modelos físicos construidos con DBDesigner de fabFORCE.net usando la notación IE; para los modelos lógicos y físicos de este artículo se utilizó Designer de Oracle y la notación Barker.


Plano es un término que procede del latín planus y que refiere a algo llano, liso o sin relieves. En el ámbito de la geometría, un plano es una superficie con dichas características o un adjetivo que refiere a lo perteneciente o relativo al plano.
PlanoEn este sentido, un plano es un elemento que sólo cuenta con dos dimensiones y que alberga infinitos puntos y rectas. Puede nombrarse con una letramayúscula. Por ejemplo: “La maestra nos pidió que ubiquemos tres puntos en el plano A y un segmento en el plano B”“En el plano X, podemos ver cómo se cruzan ambas variables”.
Un plano, por otra parte, es una representación esquemática y a una cierta escala de una construcción, un terreno, una población, una máquina u otra cosa:“El arquitecto ya me mostró los planos de la casa: estoy muy entusiasmada”,“Necesitamos que la municipalidad apruebe los planos antes de iniciar la construcción”“¿Tienes un plano de la ciudad? Quisiera saber si estamos lejos de la Catedral”.

Plano


Maqueta:

Una maqueta es un montaje funcional, a menor "escala", con materiales pensados para resaltar, en su funcionalidad, la atención de aquello que, en su escala real, presentará como innovación, mejora o sencillamente el gusto de quien lo monta.




SISTEMAS TECNOLÓGICOS
Cuando hablamos de sistema tecnológico nos vamos a referir a un conjunto de elementos y variables que van a contextuar la acción técnica humana. Aunque en sentido explícito el sistema tecnológico debería quedar incluido dentro del sistema técnico, históricamente la técnica es anterior a la tecnología.
 Los sistemas tecnológicos se pueden clasificar en:

SISTEMAS HIDRÁULICOS:se produce movimiento de circulación, este fluido puede ser agua o aceite actúa al ser comprimido transmitiendo presión recibida con igual intensidad en todas las direcciones.
SISTEMAS ELÉCTRICOS:son generados por el pasaje de la corriente eléctrica. esta fluye a través de distintos componentes eléctricos y electrónicos. 
SISTEMAS NEUMÁTICOS:produce movimiento a partir de la circulación de un fluido por el sistema en los sistemas neumáticos se utilizan gases como fluidos estos  se emplean para transmitir una determinada potencia utilizada para realizar trabajos.
SISTEMAS MECÁNICOS:contiene piezas solidas con el objetivo de realizar movimientos por acción o efecto de una fuerza, este tiene una intensidad y una dirección. En general el sentido de movimiento puede ser circular o lineal.

sábado, 3 de mayo de 2014

Indicador de desempeño 2.4

2.4 Actúo teniendo en cuenta normas de seguridad industrial y utilizo elementos de protección en ambientes de trabajo y de producción en la educación.



Que es Seguridad Industrial?




La Seguridad Industrial es una disciplina que se ocupa de la gestión o manejo de los riesgos inherentes a las operaciones y procedimientos en la industria y aún las actividades comerciales y en otros entornos.  Hasta hace algún tiempo solo se tenían en cuenta los riesgos de la salud, posibilidades de accidentes de los trabajadores, además de los posibles daños a las propiedades de la empresa.  Hoy día ha evolucionado a una forma más completa y avanzada de abordaje:  HSE, sigla de Health (Salud), Safety (Seguridad), Environment (Medio ambiente).
Esto significa que es necesario mirar el todo, para bien de todos. Veamos:
  • Es indispensable desarrollar una actitud de auto-cuidado
  • Una actitud de cuidado de los demás
  • Proteger las herramientas y los recursos de la empresa
  • Minimizar el impacto en el medio ambiente
La gestión de HSE es más compleja que el manejo básico que es aplicado a Seguridad Industrial, pero los resultados son extraordinarios. Grandes empresas del mundo han abrazo el concepto y la experiencia de HSE, pues va más allá de lo que es la Seguridad Industrial, ya que además involucra cambios radicales en la manera de mirar a las personas, la organización en sí, y todo el interactuar con el entorno.
Al desarrollar una Cultura de HSE se favorecen los siguientes logros:
  • Se reduce la incidencia de accidentes incapacitantes
  • Se reduce la frecuencia de conductas riesgosas
  • Mejora la moral y el sentido de pertenencia
  • Se favorece el trabajo en equipo
  • Se fortalece el liderazgo de los jefes
  • Se optimiza el uso de recursos
  • Se reducen costos
  • Se gana tiempo que de otra manera se perdería en re-procesos, resultado de accidentes
  • Se mejora la productividad y la competitividad
El sistema de gestión que ha probado tener más éxito se llama Seguridad Basada en Comportamiento.  Parte de varios principios básicos, entre ellos el hecho que más del 80% de los accidentes se debe a error humano.  Es más bien bajo el porcentaje de veces en que fallan los equipos en sí, como andamios, arneses, eslingas, pasamanos, equipos de protección personal (EPP).
Actualmente hay una mayor conciencia de el énfasis que hay que poner en el bienestar de las personas, en la armonía con el medio ambiente y en ciertas formas de responsabilidad que van más allá de lo que originalmente es la Seguridad Industrial.

En practica de lavoratorio lavoratorio:



Normas generales
  • No fumes, comas o bebas en el laboratorio.
  • Utiliza una bata y tenla siempre bien abrochada, así protegerás tu ropa.
  • Guarda tus prendas de abrigo y los objetos personales en un armario o taquilla y no los dejes nunca so­bre la mesa de trabajo.
  • No lleves bufandas, pañuelos largos ni prendas u objetos que dificulten tu movilidad.
  • Procura no andar de un lado para otro sin motivo y, sobre todo, no corras dentro del laboratorio.
  • Si tienes el cabello largo, recógetelo.
  • Dispón sobre la mesa sólo los libros y cuadernos que sean necesarios.
  • Ten siempre tus manos limpias y secas. Si tienes alguna herida, tápala.
  • No pruebes ni ingieras los productos.
  • En caso de producirse un accidente, quemadura o lesión, comunícalo inmediatamente al profesor.
  • Recuerda dónde está situado el botiquín.
  • Mantén el área de trabajo limpia y ordenada.


Normas para manipular instrumentos y productos

  • Antes de manipular un aparato o montaje eléctrico, desconéctalo de la red eléctrica.
  • No pongas en funcionamiento un circuito eléctrico sin que el profesor haya revisado la instalación.
  • No utilices ninguna herramienta o máquina sin conocer su uso, funcionamiento y normas de seguridad específicas.
  • Maneja con especial cuidado el material frágil, por ejemplo, el vidrio.
  • Informa al profesor del material roto o averiado.
  • Fíjate en los signos de peligrosidad que aparecen en los frascos de los productos químicos.
  • Lávate las manos con jabón después de tocar cualquier producto químico.
  • Al acabar la práctica, limpia y ordena el material utilizado.
  • Si te salpicas accidentalmente, lava la zona afectada con agua abundante. Si salpicas la mesa, límpiala con agua y sécala después con un paño.
  • Evita el contacto con fuentes de calor. No manipules cerca de ellas sustancias inflamables. Para sujetar el instrumental de vidrio y retirarlo del fuego, utiliza pinzas de madera. Cuando calientes los tubos de ensayo con la ayuda de dichas pinzas, procura darles cierta inclinación. Nunca mires directamente al interior del tubo por su abertura ni dirijas esta hacia algún compañero. (ver imagen)
  • Todos los productos inflamables deben almacenarse en un lugar adecuado y separados de los ácidos, las bases y los reactivos oxidantes.
  • Los ácidos y las bases fuertes han de manejarse con mucha precaución, ya que la mayoría son corrosivos y, si caen sobre la piel o la ropa, pueden producir heridas y quemaduras importantes.
  • Si tienes que mezclar algún ácido (por ejemplo, ácido sulfúrico) con agua, añade el ácido sobre el agua, nunca al contrario, pues el ácido «saltaría» y podría provocarte quemaduras en la cara y los ojos.
  • No dejes destapados los frascos ni aspires su contenido. Muchas sustancias líquidas (alcohol, éter, cloroformo, amoníaco...) emiten vapores tóxicos.
En un aula de clase


1.No correr en el salon 
2. respetar al profesor u compañeros 
3.no decir groserias 
4.no molestar a mis compañeros 
5.trabajar bien en clases 
6.no comer en el salon 
7.guardar silencio 
8.respetar las normas de clase 
9.no salir del salon 
10.no ensuciar el salon de clases


En un  aula de computo


NORMAS DE SEGURIDAD SALA DE CÓMPUTO

·         Abuso y/o mal uso del equipo.
·         Acceder a páginas con contenido no apto a la moral publica de los usuarios del centro de cómputo. Ejemplo: Consultar todo tipo de páginas, literatura y/o correos PORNOGRAFICOS.
·         Acceder a programas de CHAT o instalarlos en las maquinas.
·         Alterar o dañar las etiquetas de identificación del equipo de cómputo.
·         Alterar software instalado en los equipos.
·         Copiar software cuya licencia de uso lo prohíba.
·         Crear directorios y copiar archivos en disco duro.
·         Durante el día de Computadora permanecerá prendida; si no muestra ninguna imagen solo pulse una tecla y espere.
·         Extraer materiales de consumo del equipo de computo.
·         Los dispositivos de almacenamiento como: Disquete, CD, USB, MP3, tarjeta SD, Micro SD, etc. Es necesario desinfectarlo con un antivirus bajo la supervisión del profesor(a).
·         Modificar la configuración del equipo o intentarlo.
·         Mover, desconectar y/o conectar equipo de cómputo sin autorización.
·         No modificar ni cambiar la imagen del escritorio, ni el protector de pantalla, ni las propiedades de pantalla, Si el docente autoriza del cambio, debe dejarlo como lo encontró.
·         No tocar ninguno de las conexiones del monitor, cpu, como tomacorrientes, etc.
·         Siempre guarde su trabajo en un dispositivo de almacenamiento externo y luego guarde en el dispositivo, en la unidad dentro de la carpeta del profesor  y en su año correspondiente.
·         Solo con autorización y supervisión del Profesor(a) ingresaran al Internet o sus servicios como: Messenger, correo, Pagina Web, Blog, Álbum de fotos, etc.
·         Todo usuario de este servicio debe cumplir las NORMAS DE SEGURIDAD E HIGIENE de la Sala de Computo de lo contrario será sancionado de acuerdo al Reglamento Interno de la Institución Educativa
·         Utilizar correctamente y responsable las computadoras, dedicando su tiempo exclusivamente a realizarse su trabajo y/o temas educativos.
HIGIENIE
·         Fumar dentro del área de servicio.
·         Introducir alimentos y/o bebidas.
·         Las manos deben estar limpias de sustancias toxicas o extrañas que puedan dañar algùn componente de los equipos con los que se va a trabajar.
·         Limpiarse los zapatos antes de ingresar ala Sala de Computo.
·         No tocar la pantalla del monitor.
·         Todos los alumnos deben limpiar con su franela la computadora y mueble.
ORDEN
·         Concluido su turno salir del aula ordenadamente dejando ordenado y limpio la computadora y su mueble
·         Cualquier actitud agresiva o de mala educación.
·         Esperar en su lugar las indicaciones del profesor.
·         Extraer manuales y/o libros.
·         Los alumnos que ingresen en el último turno deben apagar la computadora, el estabilizador y colocar la funda al monitor y teclado.
·         Los alumnos que ingreses en el primer turno deben doblar las fundas y colocarlos en el lugar adecuado.
·         Mantener el orden del mobiliario y limpieza en la Sala de Computo
·         Mantener la disciplina dentro y fuera de la aula
·         Si detecta un desperfecto o anomalía, comunicar inmediatamente al profesor(a) a cargo.
·         Solo ingresaran los alumnos que estén correctamente uniformados y que tengan su franela y las manos limpias
·         Utilizar el equipo de computo como maquinas de juegos; esto incluye utilizar software de juegos o acceder a servicios que impliquen el uso de juegos interactivos no académicos.
·         Utilizar el equipo para desarrollar programas o proyectos ajenos al interés académico de la facultad.
RIESGOS PARA EL USUARIO
·         Que la información transmitida sea recibida sólo por el destinatario al cual ha sido enviada y no a otro.
·         Que la información recibida sea la misma que ha sido transmitida.
·         Enviar mensajes a otros usuarios de manera anónima.
·         El acceso a la información también puede controlarse a través de la función o rol del usuario que requiere dicho acceso. Algunos ejemplos de roles serían los siguientes: programador, líder de proyecto, gerente de un área usuaria, administrador .     
·         El acceso a la información también puede controlarse a través de la función o rol del usuario que requiere dicho acceso.
·         En este caso los derechos de acceso pueden agruparse de acuerdo con el rol de los usuarios.
·         En cuanto a los horarios, este tipo de controles permite limitar el acceso de los usuarios a determinadas horas de día o a determinados días de la semana. 
RIESGOS PARA LOS EQUIPO
·         Restringir el acceso a los programas y archivos.
·         Asegurar que los operadores puedan trabajar sin una supervisión minuciosa y no puedan modificar los programas ni los archivos que no correspondan.
·         Asegurar que se estén utilizados los datos, archivos y programas correctos en y por el procedimiento correcto.
·         Que existan sistemas alternativos secundarios de transmisión entre diferentes puntos.
·         Que se disponga de pasos alternativos de emergencia para la transmisión de información.  
·         Controles de Acceso
·         También pueden implementarse controles a través de las transacciones, por ejemplo solicitando una clave al requerir el procesamiento de una transacción determinada.
·         Protección Discrecional
·         Se requiere identificación de usuarios que permite el acceso a distinta información. Cada usuario puede manejar su información privada y se hace la distinción entre los usuarios y el administrador del sistema, quien tiene control total de acceso.
·         Protección de Acceso Controlado: Este subnivel fue diseñado para solucionar las debilidades del C1. Cuenta con características adicionales que crean un ambiente de acceso controlado. Se debe llevar una auditoria de accesos e intentos fallidos de acceso a objetos.
·         Seguridad Etiquetada: Este subnivel, es el primero de los tres con que cuenta el nivel B. Soporta seguridad multinivel, como la secreta y ultrasecreta. Se establece que el dueño del archivo no puede modificar los permisos de un objeto que está bajo control de acceso obligatorio.
·         Protección Estructurada: Requiere que se etiquete cada objeto de nivel superior por ser padre de un objeto inferior. La Protección Estructurada es la primera que empieza a referirse al problema de un objeto a un nivel mas elevado de seguridad en comunicación con otro objeto a un nivel inferior.
·         Dominios de Seguridad: Refuerza a los dominios con la instalación de hardware: por ejemplo el hardware de administración de memoria se usa para proteger el dominio de seguridad de acceso no autorizado a la modificación de objetos de diferentes dominios de seguridad.
·         Protección Verificada: Es el nivel más elevado, incluye un proceso de diseño, control y verificación, mediante métodos formales (matemáticos) para asegurar todos los procesos que realiza un usuario sobre el sistema. Para llegar a este nivel de seguridad, todos los componentes de los niveles inferiores deben incluirse
·         Ubique el equipo en un lugar donde no exista mucho movimiento de personal.
·         No traslade la computadora sin la autorización del asesor del Centro de? Computo.
·         Instale la computadora sobre escritorios o muebles estables o especialmente diseñados para ello.
·         Ubique el equipo lejos de la luz del sol y de ventanas abiertas.
·         La energía eléctrica debe ser regulada a 110 voltios y con polo a tierra. Asesórese debidamente para garantizar una buena toma eléctrica.
·         El equipo lejos de la luz del sol y de ventanas abiertas.
·         La energía eléctrica debe ser regulada a 110 voltios y con polo a tierra. Asesórese debidamente para garantizar una buena toma eléctrica.
·         No conecte otros aparatos (Radios, maquinas de escribir, calculadoras, etc.) en Ubique el equipo en un lugar donde no exista mucho movimiento de personal.
·         No traslade la computadora sin la autorización del asesor del Centro de Cómputo.
·         Instale la computadora sobre escritorios o muebles estables o especialmente diseñados para ello.
·         Ubique la misma toma de la computadora.
·         Cada usuario, al momento de terminar las labores diarias, deberá apagar los equipos (Computadora, Impresoras, Escáner).
·         Evite colocar encima o cerca de la computadora ganchos, clips, bebidas y comidas que se pueden caer accidentalmente dentro del equipo.
·         No fume cerca del equipo, el alquitrán se adhiere a las piezas y circuitos internos del equipo.
·         Mantenga libre de polvo las partes externas de la computadora y de las impresoras. Utilice un paño suave y seco. Jamás use agua y jabón.
·         Mantenga la pantalla y el teclado cubiertos con fundas cuando no haga uso de ellos por un tiempo considerable o si planea el aseo o reparaciones de la computadora.
·         Utilice en la impresora el ancho del papel adecuado. El contacto directo de la cabeza de impresión sobre el rodillo puede estropear ambas partes. (Usuarios con impresoras de matriz de punto)
·         Esta prohibido destapar y tratar de arreglar los equipos por su cuenta. En todos los casos el asesor del Centro de Cómputo es el encargado de esta operación.
·         No preste los equipos o asegúrese que la persona que lo utilizara conoce su correcta operación.
·         Organización y división de las responsabilidades.
NORMAS A TENER EN CUENTA CUANDO UNO SE CONECTA A INTERNET
·         Utilice siempre un router. Evite siempre que sea posible el uso de módems. Si utiliza un módem utilice un firewall personal y deniegue el acceso a todos los puertos. Posteriormente deberá ir abriendo los  puertos necesarios para las actividades que lleve acabo. En el caso del router no suele ser necesario tocar nada pero si necesita abrir algún puerto abrá los puertos uno a uno nunca utilice las opciones default server que dejan el PC completamente expuesto a internet. Si necesita un firewall personal le recomendamos el ZoneAlarm.
·         Instale un antivirus y actualicelo de forma regular. Un antivirus si no se actualiza de forma regular es como no tener nada. Lo mejor es configurar las actualizaciones automáticas para que se actualice cada vez que hay conexión a internet. Un buen antivirus gratuito es el ClamAV que es un antivirus gratuito utilizado por muchas empresas para ofrecer filtrado a sus clientes o empleados y que nosotros podemos utilizar en nuestro PC.
·         Haga limpiezas de forma regular de contenido malicioso. Utilice alguna herramienta para eliminar todo tipo de contenido malicioso como spyware, adaware … de forma regular. También hay productos antivirus que nos protegen de esta lacra.
·         Actualice el sistema operativo. Mantega su sistema operativo al día, instale los parches que vayan saliendo y las nuevas versiones que generalmente corrigen problemas de seguridad. En windows puede utilizar el servicio de microsoft windowsupdate que automáticamente cada vez que se conecte buscará actualizaciones de los diferentes componentes. Sistemas linux también tienen sus sistemas de actualización, redhat por ejemplo el up2date, yum…
·         Tenga cuidado con el correo. Tenga precaución con los mensajes de correo que le lleguen, no los habrá todos por defecto en especial fíjese en el remitente, en el asunto, si llevan algún enlace a supuestos sitios de confianza…, si no son conocidos o en el mensaje o asunto viene cosas sin sentido bórrelos sin más.  Adicionalmente hay muchos operadores que nos hacen un filtrado de los virus en correo, algunos lo hacen gratuitamente y otros cobran una pequeña cantidad. Esto nos elimina además de los virus el SPAM
·         Elimine opciones peligrosas. Desactive la función previsualizar en el cliente de correo ya que muchas veces esta función tiene el mismo efecto que abrir el correo. Ya hay un número importante de vulnerabilidades asociadas a esta función.
·         Configure correctamente el navegador. Configure su navegador para que pregunte si necesita ejecutar código. Numerosas páginas web avanzadas necesitan ejecutar código en nuestra máquina para poder mostrarnos efectos o programas asociados, esto puede ser peligroso si es utilizado por atacantes por ello es necesario configurar el navegador para que nos pregunte antes de ejecutar ese código. Adicionalmente se pueden añadir barras como la de google que nos previene de la aparición de ventanas de forma indiscriminada… También hay herramientas que nos previenen de ataques de phising.
·         Cifre la información importante a enviar. La información importante que vaya a enviar por e-mail cífrela, de lo contrario su información viajará en claro y cualquiera con acceso a los sistemas entre usted y el destinatario podría verla. Para ello puede utilizar desde métodos simples como un archivo comprimido con contraseña hasta lo más aconsejable el uso de cifrado de contraseña con PGP. Puede encontrar más información y la aplicación gratuita en www.pgpi.org.
·         Cifre la información de su disco duro. Almacene en su PC la información importante cifrada. Si a pesar de todas las medidas anteriores alguien consigue acceder a nuestro sistema debemos tener nuestra información más importante cifrada de esta forma no habrán conseguido nada.
·         Haga copias de seguridad. Haga de forma regular copias de seguridad para evitar la pérdida de información. Nunca se sabe cuando por diferentes motivos, incluyendo el fallo del propio disco duro nos podemos quedar sin la información almacenada. Si bien es cierto que podemos recuperarla en parte, es más fácil recuperarla de un backup. Los diferentes sistemas operativos traen sus propias herramientas para realizar estas copias de seguridad..