jueves 30 de octubre de 2008

Todo un Galant


Todo Un Galant

martes 28 de octubre de 2008

Videos de CMMI

DOS INTERESANTES VIDEOS DE CMMI

INNOX se certifica en CMMI y celebramos todo el equipo




DIAGRAMA MODELO CASO DE USOS DEL SISTEMA

CMMI

CMMI

El CMMI es un modelo de referencia para la calidad en los procesos de desarrollo y mantenimiento de software, que incrementa la satisfacción de las necesidades de los usuarios internos del sistema (trabajadores), permitiendo la elaboración de productos de calidad, dentro del tiempo y costos previstos.
El objetivo:

CMMI tiene como objetivo el mejoramiento continuo de la calidad de los procesos y productos de una organización y provee una guía para este mejoramiento continuo estableciendo niveles de madurez: incompleto, ejecutado, gestionado, definitivo, cuantitativamente gestionado, optimizado.

CMMI es mejorar la usabilidad de modelos de madurez integrando varios modelos diferentes en un solo marco.

Niveles de capacidad de los procesos (representación continua)

Los 6 niveles definidos en CMMI para medir la capacidad de los procesos son:

•Incompleto: El proceso no se realiza, o no se consiguen sus objetivos.
•Ejecutado: El proceso se ejecuta y se logra su objetivo.
•Gestionado: Además de ejecutarse, el proceso se planifica, se revisa y se evalúa para comprobar que cumple los requisitos.
•Definido: Además de ser un proceso gestionado que se ajusta a la política de procesos que existe en la organización, alineada con las directivas de la empresa.
•Cuantitativamente gestionado: Además de ser un proceso definido se controla utilizando técnicas cuantitativas.
•Optimizando: Además de ser un proceso cuantitativamente gestionado, de forma sistemática se revisa y modifica o cambia para adaptarlo a los objetivos del negocio. Mejora continua.


lunes 27 de octubre de 2008

DHTML o HTML

Que es DHTML o HTML


A medida que vamos avanzando en la programación de páginas web nos vamos fijando nuevos objetivos para crear cada día webs más excitantes. Siguiendo este camino, llega un momento que el lenguaje HTML se nos queda corto y tenemos que servirnos de alguna tecnología superior, que nos permita realizar esos desarrollos más complejos y dinámicos.

Imaginaros por un momento que tuvieseis entre manos un gran proyecto, un proyecto que supusiese la creación masiva de páginas, como puede ser un periódico, donde cada día hay que cambiar los contenidos por completo, o una enciclopedia online, con miles de páginas y referencias, por poner dos ejemplos. Si utilizásemos únicamente HTML necesitaríamos un regimiento de maquetadores web para poder llevar a cabo el trabajo de crear tantas y tantas páginas y su actualización.

Así mismo, si quisiésemos desarrollar una aplicación en la web donde el usuario tuviese que interaccionar con la página, o una aplicación que ofreciese algún servicio, como un buscador o un gestor de correo a través de la web, también nos veríamos muy limitados con el HTML.

Además, también estamos muy limitados con el HTML a la hora de crear efectos en las páginas, animaciones que llamen un poco la atención del usuario y que permitan hacer que las páginas web sean más divertidas.

DHTML es lo que hace posible crear una páginas web que salven todas las limitaciones del


HTML como las comentadas con anterioridad. Como vemos, el DHTML es muy amplio y engloba muchas técnicas que se pueden realizas con multitud de lenguajes de programación y programas distintos .

Vamos a hacer una clasificación de DHTML para acotar un poco sus radios de acción y para que el concepto se acote en áreas de la programación web que podemos ya conocer.

DHTML de cliente

Por un lado tenemos el DHTML que se desarrolla en el ámbito de una página web, cuando la página se está viendo en la pantalla de los usuarios , es decir, en los navegadores. En estos casos, para realizar cualquier tipo de efecto o interactividad en la página tenemos como recurso al navegador, por eso se llama de cliente.

La programación en el cliente sirve para muchas cosas, ejemplos de ello son efectos diversos en las páginas, sonidos, videos, menús interactivos, control y respuesta a las acciones de un usuario en la página, control sobre los formularios, etc. Para hacer muchas de estas cosas podemos utilizar diversos lenguajes de programación como Javascript y VBScript, o incluso podemos meter aquí programas como Flash.

No obstante está más cercana a la idea del DHTML el programar scripts dentro de la página con los lenguajes del lado del cliente. Javascript para todos los navegadores y VBScript para Internet Explorer. Estos lenguajes trabajan, como se ha dicho, integrados con el navegador y dependen del modelo y de la versión de éste.

Estos lenguajes no permiten el desarrollo de cualquier proyecto en Internet, ya que al ser ejecutados en el navegador del cliente, no tienen acceso a todos los recursos del sistema del usuario, para evitar agujeros de seguridad, ni a los recursos del servidor donde están alojadas las páginas. Esta limitación, añadida a la ya comentada de su dependencia del navegador, los hacen insuficientes para desarrollos avanzados, siendo más bien un complemento de programación que el núcleo de verdaderas aplicaciones en el web.

DHTML de servidor

Por otro lado, existen una serie de lenguajes que se basan en el servidor para ejecutar sus scripts, al igual que la programación del cliente se basa en el navegador. Cuando una página es solicitada por parte de un cliente, el servidor ejecuta los scripts y genera una página resultado, que envía al cliente. La página resultado contiene únicamente código HTML , por lo que puede ser interpretada por cualquier navegador sin lugar a errores, independientemente de su versión.

Esta independencia del navegador ya es una ventaja significativa con respecto a la programación en el cliente, pero lo es aun más que contamos con todos los recursos del servidor donde están alojadas las páginas. Estos recursos, como podrían ser gestores de bases de datos, servidores de correo o el propio sistema de archivos del servidor, son los que nos van ha permitir construir todo tipo de aplicaciones.

Como ventajas adicionales se puede destacar que el código de las páginas con los scripts nunca llega al cliente, recordamos que al navegador sólo le llega HTML, y esto implica que nuestros visitantes nunca van a poder acceder al corazón de las aplicaciones que hayamos desarrollado, es decir, a los scripts del lado del servidor.
Lenguajes del lado del servidor son ASP, desarrollado por Microsoft, PHP de código libre, JSP para programar en Java, o alguna otra interfaz como CGI, que se desarrolla en lenguajes como C o Perl.

Ciudad Digital

CIUDADES DIGITALES





Descripción general y objetivos

El programa Ciudades Digitales está concebido para ayudar a las entidades locales a implantar y difundir la sociedad de la información mediante la aplicación de servicios avanzados de telecomunicaciones y de nuevas tecnologías tanto en el marco social como en el económico.

Los destinatarios finales de estas ayudas son los propios ciudadanos que ven su entorno modificado ya sea en el ámbito doméstico, en el laboral o en las relaciones con las administraciones públicas.

Las empresas e instituciones también resultan beneficiadas ya que estos programas favorecen un cambio en la estructura y en la gestión que permite una mejor adecuación al contexto actual, de forma más competitiva e innovadora.

Estas ayudas englobadas en el marco de Ciudades Digitales, se plasman en una serie de actuaciones que cada municipio propone según las necesidades que detecta. Sin embargo, tras este programa de Ciudades Digitales subyace una idea muy clara por parte del Ministerio de Industria, Turismo y Comercio, la de trasladar el conocimiento adquirido en la realización de dichas actuaciones de unos municipios a otros permitiendo así un desarrollo exponencial de la sociedad de la información en España.




Articulación y presupuestos

Este Programa se instrumenta mediante un convenio con cada una de las Comunidades y Ciudades Autónomas a las que se les transfieren fondos, con objeto de llevar a cabo el proyecto, en general, de ciudad digital. En nuestra sección convenios se encuentran recogidos todos ellos.

Para la realización de las actuaciones englobadas en el programa de Ciudades Digitales se dispone de un presupuesto total de unos 120 millones de euros de los cuales, el Ministerio de Industria, Turismo y Comercio aporta un total de 51.432.000 euros. El resto del presupuesto proviene de la aportación de las Administraciones de las Comunidades Autónomas y de las Corporaciones Locales (Ayuntamientos, Diputaciones, Consejos Comarcales, etc.) junto con la aportación de otras entidades como operadores de telecomunicaciones, cajas de ahorro, etc. supone un total de 68.877.225 euros.

En nuestra sección presupuestos se encuentra esta información desglosada por comunidades y municipios así como la inversión del Mityc detallada según la tipología de las actuaciones.

Es importante señalar que las aportaciones económicas del Ministerio de Industria, Turismo y Comercio a los proyectos realizados en zonas Objetivo 1 tienen un retorno del 50% de fondos FEDER dentro del Programa Operativo de la Sociedad de la Información 2000-2006.

Duración y municipios implicados

Esta firma de convenios con carácter plurianual, comenzó en el año 2003 y ha conseguido que más de 40 municipios estén llevando a cabo acciones de forma integrada, acordes a una estrategia previamente diseñada. En la imagen adyacente podrá ver qué municipios han sido beneficiarios de este programa.

Tipos de actuación

La siguiente figura muestra cuáles son las principales acciones que los municipios llevan a cabo. Éstas se encuentran englobadas en diferentes líneas de actuación orientadas a desarrollar los elementos que conforman la ciudad digital.






martes 21 de octubre de 2008

Palacio de la Juventud


INFORME DE LA VISITA AL PALACIO DE LA JUVENTUD AREA DE INFORMATICA


A los Profesores de “Latino” del "Palacio de la Juventud"


El Palacio de la Juventud del distrito de los Olivos es un edificio moderno. Es imposible pasar por la Avenida Universitaria y no sorprenderse por lo imponente que resulta un edificio de 14 pisos en una zona donde las casas no pasan de dos.
El palacio cuenta con ascensores, sistema anti incendios, piscina y canchita de fulbito. Sin embargo nos llamó mucho la atención la pequeñez del auditorio. No tiene inclinación y el tamaño del piso es similar al de los demás pisos. Es de suponerse que el proyecto original debió haberse llamado Palacio de la Juventud, y por sentido común, una instalación para jóvenes supone facilitarles las cosas en el desarrollo de sus actividades lúdicas, artísticas, educativas, etc. No vemos un lugar adecuado dentro de los 14 pisos del edifico ni dentro de los 1000 metros cuadrados que debe tener el palacio en total, donde se pueda montar una pequeña obra teatral como debe ser. La loza deportiva, eso sí, Como las mejores.
  1. Hemos visitado el Palacio de la Juventud a las horas 10:45 de la mañana del día Jueves 16 de Octubre del 2008.
  2. El Palacio de la Juventud
    se encuentra ubicado en las Av. Universitaria Norte 2086”
  3. Siendo recibido por Ingeniero Jefe Juri Pando Jede de Sistemas.
  4. Ingresamos al 11Avo piso.
  5. En el 11Avo se desarrolla y concentran los recursos de software y hardware para el procesamiento de información de la institución.
  6. Desde ese punto se monitorea, administra y da soporte a la red y los sistemas informáticos de la Municipalidad.
  7. La mayor parte del equipamiento consiste en servidores y se cuenta con equipos para el adecuado mantenimiento de estos, tales como:
  8. Condensadores, sistemas de alimentación eléctrica ininterrumpida.
  9. EL Ing. y Jefe se intereso por explicarnos y resolver nuestras dudas sobre el manejo de Servidores y clientes.
  10. El tipo de Sistema con el que trabaja sus servidores es Linux y uno que contenía la Base de Datos.
  11. 20 equipos con Sistema de Windows XP que sirven como “clientes” quienes se encargan de realizar todo el movimiento de redes y programación en el lenguaje de PHP.
  12. Responsable de expresar una opinión, basada en el trabajo realizado.
  13. proyectos que están por realizarse es de El Distrito de los Olivos sea una Ciudad Digital en la cual beneficiara a los colegios y a las familias con Internet y telefonía IP gratis.
  14. El proyecto esta dedicado más a los padres y alumnos exploren y tengan más conocimientos sobre tecnología y nuestro país y otros países.


    Esto todo cuanto tengo que informar
    Lima 21 de octubre 2008


    --------------------
    Luis A. Laurencio A

martes 14 de octubre de 2008

Active Directory

Active Directory

Active Directory (AD)
Es el término utilizado por Microsoft para referirse a su implementación de servicio de directorio en una red distribuida de computadores. Utiliza distintos protocolos (principalmente LDAP, DNS, DHCP, kerberos...).

Su estructura jerárquica permite mantener una serie de objetos relacionados con componentes de una red, como usuarios, grupos de usuarios, permisos y asignación de recursos y políticas de acceso.

Estructura
Active Directory esta basado en una serie de estándares llamados (X.500), aquí se encuentra una definición lógica a modo jerárquico.

Estos dominios y subdominios se identifican utilizando la misma notación de las zonas DNS, razón por la cual Active Directory requiere uno o más servidores DNS que permitan el direccionamiento de los elementos pertenecientes a la red, como por ejemplo el listado de equipos conectados; y los componentes lógicos de la red, como el listado de usuarios.

Un ejemplo de la estructura descendente (o herencia), es que si un usuario pertenece a un dominio, será reconocido en todo el árbol generado a partir de ese dominio, sin necesidad de pertenecer a cada uno de los subdominios.

A su vez, los árboles pueden integrarse en un espacio común denominado bosque. Para realizar un bosque es necesario crear dos o más árboles (que por lo tanto no comparten el mismo nombre de zona DNS entre ellos) y establecer una relación de «trust» o confianza entre ellos. De este modo los usuarios y recursos de los distintos árboles serán visibles entre ellos, manteniendo cada estructura de árbol el propio Active Directory.

Funcionamiento
Su funcionamiento es similar a otras estructuras de LDAP (Lightweight Directory Access Protocolo), ya que este protocolo viene implementado de forma similar a una base de datos, la cual almacena en forma centralizada toda la información relativa a un dominio de autenticación. La ventaja que presenta esto es la sincronización presente entre los distintos servidores de autenticación de todo el dominio.

Debido a esta centralización, se pueden crear varios objetos que afectarán los recursos y los usuarios que acceden a la red.

A su vez, cada uno de estos objetos tendrá atributos que permiten identificarlos en modo unívoco (por ejemplo, los usuarios tendrán campo «nombre», campo «email», etcétera, las impresoras de red tendrán campo «nombre», campo «fabricante», campo «modelo», campo "usuarios que pueden acceder", etc). Toda esta información queda almacenada en Active Directory replicándose de forma automática entre todos los servidores que controlan el acceso al dominio.

De esta forma, es posible crear recursos (como carpetas compartidas, impresoras de red, etc) y conceder acceso a estos recursos a usuarios, con la ventaja que estando todos estos objetos memorizados en Active Directory, y siendo esta lista de objetos replicada a todo el dominio de administración, los eventuales cambios serán visibles en todo el ámbito. Para decirlo en otras palabras, Active Directory es un repositorio centralizado que facilita el control, la administración y la consulta de todos los elementos lógicos de una red (como pueden ser usuarios, equipos y recursos).

Intercambio entre dominios
Para permitir que los usuarios de un dominio accedan a recursos de otro dominio, Active Directory usa un trust (en español, relación de confianza). El trust es creado automáticamente cuando se crean nuevos dominios. Los límites del trust no son marcados por dominio, sino por el bosque al cual pertenece. Existen trust transitivos, donde los trust de Active Directory pueden ser un acceso directo (une dos dominios en árboles diferentes, transitivo, una o dos vías), bosque (transitivo, una o dos vías), reino (transitivo o no transitivo, una o dos vías), o externo (no transitivo, una o dos vías), para conectarse a otros bosques o dominios que no son de Active Directory. Active Directory usa el protocolo V5 de Kerberos, aunque también soporta NTLM y usuarios webs mediante autenticación SSL / TLS

Confianza transitiva
Las Confianzas transitivas son confianzas automáticas de dos vías que existen entre dominios en Active Directory. Se definen como confianzas que fluyen a través de la red, utilizando servidores de paso para utilizar los recursos de dos árboles no conectados directamente. Esto maximiza las relaciones entre dominios de Windows porque evita poseer exceso de confianza para conectarse con todas las máquinas de la red. ---

Confianza explícita
Las Confianzas explícitas son aquellas que establecen las relaciones de forma manual para entregar una ruta de acceso para la autenticación. Este tipo de relación puede ser de una o dos vías, dependiendo de la aplicación.

Las Confianzas explícitas se utilizan con frecuencia para acceder a dominios compuestos por ordenadores con Windows NT 4.0.

Confianza de Acceso Directo
La Confianza de acceso directo es, esencialmente, una confianza explícita que crea accesos directos entre dos dominios en la estructura de dominios. Este tipo de relaciones permite incrementar la conectividad entre dos dominios, reduciendo las consultas y los tiempos de espera para la autenticación.

Confianza entre bosques
La Confianza entre bosques permite la interconexión entre bosques de dominios, creando relaciones transitivas de doble vía. En Windows 2000, las confianzas entre bosques son de tipo explícito, al contrario de Windows Server 2003.

Direccionamientos a recursos
Los direccionamientos a recursos de Active Directory son estándares con la Convención Universal de Nombrado (UNC), Localizador Uniforme de Recursos (URL) y nombrado de LDAP.

Cada objeto de la red posee un nombre de distinción (en inglés, Distinguished name (DN)), así una impresora llamada Imprime en una Unidad Organizativa (en inglés, Organizational Units, OU) llamada Ventas y un dominio foo.org, puede escribirse de las siguientes formas para ser direccionado:
  • en DN sería CN=Imprime,OU=Ventas,DC=foo,DC=org, donde

CN es el nombre común (en inglés, Common Name)


DC es clase de objeto de dominio (en inglés, Domain object Class).

  • En forma canónica sería foo.org/Ventas/Imprime


Los otros métodos de direccionamiento constituyen una forma local de localizar un recurso

  1. Distinción de Nombre Relativo (en inglés, Relative Distinguised Name (RDN)), que busca un recurso sólo con el Nombre Común (CN).
  2. Globally Unique Identifier (GUID), que genera una cadena de 128 bits que es usado por Active Directory para buscar y replicar información


Ciertos tipos de objetos poseen un Nombre de Usuario Principal (en inglés, User Principal Name (UPN)) que permite el ingreso abreviado a un recurso o un directorio de la red. Su forma es objetodered@dominio

Diferencias entre Windows NT y Active Directory
A diferencia del anterior sistema de administración de dominios de Windows NT Server, que preveía únicamente el dominio de administración, Active Directory permite también crear estructuras jerárquicas de dominios y subdominios, facilitando la estructuración de los recursos según su localización o función dentro de la organización a la que sirven. Otra diferencia importante es el uso de estándares como X.500 y LDAP para el acceso a la información.

Interfaces de programación
Las interfaces de servicio de Active Directory (ADSI) entregan al programador una interfaz orientada a objetos, facilitando la creación de programas de directorios mediante algunas herramientas compatibles con lenguajes de alto nivel, como Visual Basic, sin tener que lidiar con los distintos espacios de nombres.

Mediante las ADSI se permite crear programas que realizan un único acceso a varios recursos del entorno de red, sin importar si están basados en LDAP u otro protocolo. Además, permite generar secuencias de comandos para los administradores.

También se puede desarrollar la Interfaz de mensajería (MAPI), que permite generar programas MAPI.

Requisitos de instalación
Para crear un dominio hay que cumplir, por lo menos, con los siguientes requisitos recomendados:

  1. Tener cualquier versión Server de Windows 2000 o 2003 (Server, Advanced Server o Datacenter Server),en el caso de 2003 server, tener instalado el service pack 1 en la máquina.
  2. Protocolo TCP/IP instalado y configurado manualmente, es decir, sin contar con una dirección asignada por DHCP,
  3. Tener un servidor de nombre de DNS, para resolver la dirección de los distintos recursos físicos presentes en la red
  4. Poseer más de 250 MB en una unidad de disco formateada en NTFS.


Alternativas
Samba es un programa de código libre, que tiene disponible un controlador de dominios compatible con Windows NT 4.

El programa de código libre Mandriva Directory Server ofrece una interfaz web para manejar el controlador de dominios de Samba y el servicio de directorios de LDAP.

Otra alternativa es Novell eDirectory, que es Multiplataforma: se puede correr sobre cualquier sistema operativo: Linux, AIX, Solaris, Novell Netware, UNIX e integra LDAP v.3 Nativo. Es el precursor en materia de estructuras de Directorio, ya que fue introducido en 1990 con la versión de Novell Netware 4.0 Aunque AD de Microsoft alcanzó mayor popularidad, todavía no puede igualar la fiabilidad y calidad de eDirectory y su capacidad Multiplataforma.

Sun Java ES Directory Server y OpenDS son otras alternativas basadas en java. El primero es un producto de Sun Microsystems y el segundo una alternativa de código abierto.

Una alternativa que integra OpenLDAP, Heimdal kerberos, Samba y además certificación digital y Bind9 (modificado para usar LDAP como backend) es WBSAgnitio



Base de Datos

Base de datos

OpenOffice.org Base:
Sistema de gestión de bases de datos.Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.


Existen unos programas denominados sistemas gestores de bases de datos, abreviados SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática.

Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.

Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD


Tipos de bases de datos
Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificación:

Según la variabilidad de los datos almacenados

Bases de datos estáticas
Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases de datos dinámicas
Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub, etc.

Según el contenido

Bases de datos bibliográficas
Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resúmen o extracto de la publicación original, pero nunca el texto completo, porque sino estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias—ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.

Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.

Directorios
Un ejemplo son las guías telefónicas en formato electrónico.

Bases de datos o "bibliotecas" de información Biológica
Son bases de datos que almacenan diferentes tipos de información proveniente de las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:

  1. Aquellas que almacenan secuencias de nucleótidos o proteínas.

  2. Las bases de datos de rutas metabólicas

  3. Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas

  4. Bases de datos clínicas

  5. Bases de datos bibliográficas (biológicas)

Modelo de bases de datos
Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de administración de datos.

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas
Artículo principal: Base de datos jerárquica
Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.

Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.

Base de datos de red
Artículo principal: Base de datos de red
Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.

Base de datos relacional
Artículo principal: Modelo relacional
Artículo principal: Base de datos relacional
Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).

En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.

Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.

Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión.

Bases de datos multidimensionales
Artículo principal: Base de datos multidimensional
Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos multidimensional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.

Bases de datos orientadas a objetos
Artículo principal: Base de datos orientada a objetos
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento).

Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.
Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.
Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.

Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad con SQL92.

Bases de datos documentales
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.

Base de datos deductivas
Un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica matemática.

Gestión de bases de datos distribuida
La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etc.

lunes 13 de octubre de 2008

PHP

PHP
PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdof en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.

PHP es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado especialmente para desarrollo web y puede ser embebido dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, aunque el número de sitios en PHP ha declinado desde agosto de 2005. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La más reciente versión principal del PHP fue la versión 5.2.6 de 1 de mayo de 2008.

Visión general

El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.

Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo, a esta versión de PHP se la llama PHP CLI (Command Line Interface).

Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.

Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.

PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI.

PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# VB.NET como lenguajes), a ColdFusion de la compañía Adobe (antes Macromedia), a JSP/Java de Sun Microsystems, y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP, Existe un módulo para Eclipse uno de los IDE más populares.

Historia

PHP

fue originalmente diseñado en Perl, seguidos por la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su currículum vitae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" después de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI.

PHP 3

Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje a la forma áctual. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio del 1998.

Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce como Zend Engine o motor Zend, un portmanteau de los nombres de ambos, Zeev y Andi. También fundaron Zend Technologies en Ramat Gan, Israel.

PHP 4

En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día 13 de julio de 2007 se anunció la suspensión del soporte y desarrollo de la versión 4 de PHP,[1] a pesar de lo anunciado se ha liberado una nueva versión con mejoras de seguridad,la 4.4.8 publicada el 13 de Enero del 2008. Según esta noticia [[1]] se dará soporte a fallos críticos hasta el 2008-08-08.

PHP 5

El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine II (o Zend Engine 2). La versión más reciente de PHP es la 5.2.6 (1 de Mayo de 2008), que incluye todas las ventajas que provee el nuevo Zend Engine 2 como:

  1. Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores
  2. era extremadamente rudimentario, con PHP Data
  3. bjects. Mejoras de rendimiento.
  4. Mejor soporte para MySQL con extensión completamente reescrita.
  5. Mejor soporte a XML ( XPath, DOM, etc. ).
  6. Soporte nativo para SQLite.
  7. Soporte integrado para SOAP.
  8. Iteradores de datos.
  9. Manejo de excepciones.


PHP 6

Está previsto el lanzamiento en breve de la rama 6 de PHP. Cuando se lance esta nueva versión quedarán solo dos ramas activas en desarrollo (PHP 5 y 6), pues se abandonó el desarrollo y soporte de PHP 4 el 13 de julio de 2007.

Las diferencias que encontraremos frente a PHP 5.* son:

  1. Soportará Unicode.
  2. Limpieza de funcionalidades obsoletas como register_globals, safe_mode...
  3. PECL.
  4. Mejoras en orientación a objetos.

Ventajas

  1. Es un lenguaje multiplataforma.
  2. Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL
  3. Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).
  4. Posee una amplia documentación en su página oficial , entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.
  5. Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
  6. Permite las técnicas de Programación Orientada a Objetos.
  7. Biblioteca nativa de funciones sumamente amplia e incluida.
  8. No requiere definición de tipos de variables.
  9. Tiene manejo de excepciones (desde php5).


Desventajas

  1. No posee una abstracción de base de datos estándar, sino bibliotecas especializadas para cada motor (a veces más de una para el mismo motor).
  2. No posee adecuado manejo de internacionalización, unicode, etc.
  3. Por su diseño dinámico no puede ser compilado y es muy difícil de optimizar.
  4. Por sus características favorece la creación de código desordenado y complejo de mantener.

Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aún estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes (ver más abajo Frameworks en PHP).

martes 7 de octubre de 2008

PES 2009 - Lionel Messi

Max Payne (2009)

Che - El Argentino

Qué es intranet ?

Qué es intranet ?

La Intranet, que quiere decir red interna, lleva un par de décadas siendo utilizada ampliamente en las empresas. Principalmente, ya que las tecnologías existentes, décadas atrás, no lo permitían. Lo central de la Intranet, es la utilización de esta, en el ambiente de los negocios y también, a veces, en el académico. Ya que la Intranet, provee de un especio común, para el desarrollo de estrategias, información, memorandos, entre otras aplicabilidades, las cuales son utilizadas por toda la empresa u establecimiento educativo.
En palabras técnicas, una Intranet, es una red de Área Local o LAN. La cual tiene la característica, de ser de exclusivo uso, de la empresa u organización que la ha instalado. Debido a ello, es que utiliza protocolos HTML y el TCP/IP. Protocolos que permiten la interacción en línea de la Intranet, con la Internet.
Cualquier Intranet, lleva consigo, distintos niveles de seguridad, según el usuario. Estos niveles de seguridad, son asignados, según la relevancia del puesto dentro de la organización, del usuario. Claro que existen niveles compartidos por todos. Ahora, los niveles básicos de seguridad, impiden la utilización de la Intranet, por parte de personas foráneas a la empresa o establecimiento educativo.
En cuanto a la función habilidad de la Intranet, esta es utilizada en casi todos los departamentos de una organización. Por ejemplo esta el caso de Contabilidad, quienes puede recoger información directa y en línea, sobre los sistemas de pagos y quejas de los empleados. Asimismo, todos los boletines informativos de una empresa, pueden ser enviados o publicados en la Intranet, para que los empleados se mantengan informados. Esta actividad, generalmente, la lleva a cabo, el departamento de Recursos Humanos o el de Comunicación Corporativa.
De la misma manera, la Intranet, es utilizada, como una potente herramienta de entrenamiento y de inducción para los nuevos empleados.
No hay duda alguna, que Intranet, es un medio amistoso y agradable, de poder tener disponibilidad permanente de información, entrenamiento y otros elementos. Aparte de lo favorable, que es Intranet para los gastos corporativos. Ya que al utilizarla, gran parte del papeleo y tiempo-hombre, se aminoran. Por otra parte, Intranet es una manea moderna y segura, de manejar la información calificada, de toda organización. La cual, de pendiendo de los niveles de seguridad, puede ser muy difícil de obtener.
Asimismo, hoy en día, la Intranet, es parte esencial del funcionamiento ágil y eficiente, de diversos departamentos dentro de toda organización. Destacándose el caso de los departamentos de Recursos Humanos y el de Comunicaciones Corporativas.

El modelo cliente - servidor

El modelo cliente - servidor
TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones.
Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.
El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones(múltiples clientes) al mismo tiempo.


Figura: El modelo de aplicación cliente/servidor
Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a que zócalo IP deben dirigir sus peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qué puerto

dirigirse. Este mecanismo podría usar un servicio de registro como Portmap, que utiliza un puerto bien conocido.


El siguiente código nos muestra un ejemplo de diálogo entre el cliente y el servidor.
En la ejecución del cliente, deberá pasarle como parámetro el nombre o dirección del servidor.

Ejemplo:
Java Clientest localhost
En este ejemplo, el cliente establecerá la comunicación en el puerto 8001 y en el ordenador local, ya que como parámetro se le ha pasado localhost.

Cliente TCP. Código JAVA

El lado cliente de una aplicación TCP/IP descansa en la clase Socket. De nuevo, mucho del trabajo necesario para establecer la conexión lo ha realizado la clase Socket.
import java.io.*;import java.net.*;
public class ClientTest {
public static void pausa(){try {Thread.sleep(3000);} catch (Exception ignored) {}}
public static void main (String args[]) {String welcome, response;Client client;BufferedReader reader;PrintWriter writer;
client = new Client (args[0], 8001); //la clase Client Implementa el socket cliente al que se le pasa el argumento 0 que contendrá la dirección o nombre del servidor
try {//creamos los canales de entrada/salida para comunicarnos con el servidorreader = new BufferedReader (new InputStreamReader (client.in));writer = new PrintWriter (new OutputStreamWriter (client.out), true);//leemos la bienvenida que nos da el servidorwelcome = reader.readLine();pausa();
System.out.println ("Mensaje procedente del servidor: '"+ welcome +"'");//para ver el funcionamiento, enviamos los comandosSystem.out.println ("Enviando comando NAME");writer.println("NAME");response = reader.readLine();System.out.println ("Respuesta del servidor: '"+ response +"'");//pausapausa();System.out.println ("Enviando comando HELP");writer.println ("HELP");response = reader.readLine();System.out.println ("Respuesta del servidor: '"+ response +"'");pausa();
System.out.println ("Enviando comando DATE");writer.println("DATE");response = reader.readLine();System.out.println ("Respuesta del servidor: '"+ response +"'");pausa();
//el siguiente comando no es entendido por el protocolo implementado por el servidor//como vemos en la respuesta que nos devuelve
System.out.println ("Enviando comando xl");writer.println("xl");response = reader.readLine();System.out.println ("Respuesta del servidor: '"+ response +"'");pausa();System.out.println ("Enviando comando QUIT");writer.println("QUIT");
} catch (IOException e) {System.out.println ("IOException en client.in.readln()");System.out.println(e);}try {Thread.sleep(2000);} catch (Exception ignored) {}}}//-------------------------------------------------------------------class Client {
// establece los canales de entrada y de salida a disposicion de las clases de usuariopublic InputStream in;public OutputStream out;
// El socket clienteprivate Socket client;
public Client (String host, int port) {try {client = new Socket (host, port);System.out.println ("Datos del socket: " + client);in = client.getInputStream();out= client.getOutputStream();} catch (IOException e) {System.out.println("IOExc : " + e);}}}



Servidor TCP. Código JAVA
En el siguiente ejemplo, se desarrolla un mínimo servidor TCP. La aplicación servidor TCP depende de una clase de comunicaciones proporcionada por Java: ServerSocket. Esta clase realiza la mayor parte del trabajo de crear un servidor. El servidor implementado escucha por el puerto de comunicaciones 8001, y acepta órdenes del tipo HELP, DATE,QUIT y NAME.

import java.util.*;import java.io.*;import java.net.*;
public class ServerTest {
final static int SERVER_PORT = 8001; // puerto de escucha de nuestro servidor
public static void main (String args[]) {Server server;String clientRequest;BufferedReader reader;PrintWriter writer;
// creamos el servidor y los canales de entrada y salida
server = new Server (SERVER_PORT);reader = new BufferedReader (new InputStreamReader (server.in));writer = new PrintWriter (new OutputStreamWriter (server.out), true);

// En cuanto se establece una conexión por parte del cliente, enviamos un saludowriter.println ("Bienvenido al Servidor: " + new Date() + "/n");
while (true) {try {// leemos del canal de entrada la petición del cliente

clientRequest = reader.readLine();
// Sacamos por pantalla la peticion del clienteSystem.out.println ("Recibido :" + clientRequest);
// El protocolo de nuestro servidor solo acepta ordenes : HELP, QUIT,NAME,DATEif (clientRequest.startsWith ("HELP")) {writer.println ("Órdenes: HELP QUIT NAME DATE");} else {if (clientRequest.startsWith ("QUIT")) {System.exit(0);} else {if (clientRequest.startsWith("NAME")){InetAddress host;host=InetAddress.getLocalHost();writer.println("Nombre del host :"+ host.getHostName());}else if (clientRequest.startsWith("DATE"))(writer.println("Fecha del sistema :"+ new Date()));else {writer.println ("ERROR: Comando :'" + clientRequest +"' no reconocido, use HELP");}}}} catch (IOException e) {System.out.println ("Excepción en el servidor " + e);System.exit(0);}}

}}//-------------------------------------------------------------------
// Esta clase es la que implementa el socket del servidor (ServerSocket)class Server {
private ServerSocket server;private Socket socket;
public InputStream in;public OutputStream out;
public Server (int port) {
try {server = new ServerSocket (port);System.out.println ("Servidor Java Activo! \n");System.out.println(""+server+"\n");// Espera suspendido hasta que un cliente establece una conexiónsocket = server.accept();

in = socket.getInputStream();out = socket.getOutputStream();
} catch (IOException e) {System.out.println ("Excepción en el constructor server: " + e);}}}




lunes 6 de octubre de 2008

Auditoria de Sistemas

Conceptos de Auditoría de Sistemas

La palabra auditoría viene del latín auditorius y de esta proviene auditor, que tiene la virtud de oir y revisar cuentas, pero debe estar encaminado a un objetivo específico que es el de evaluar la eficiencia y eficacia con que se está operando para que, por medio del señalamiento de cursos alternativos de acción, se tomen decisiones que permitan corregir los errores, en caso de que existan, o bien mejorar la forma de actuación.
Algunos autores proporcionan otros conceptos pero todos coinciden en hacer énfasis en la revisión, evaluación y elaboración de un informe para el ejecutivo encaminado a un objetivo específico en el ambiente computacional y los sistemas.
A continuación se detallan algunos conceptos recogidos de algunos expertos en la materia:

Auditoría de Sistemas es:
La verificación de controles en el procesamiento de la información, desarrollo de sistemas e instalación con el objetivo de evaluar su efectividad y presentar recomendaciones a la Gerencia.
  • La actividad dirigida a verificar y juzgar información.
  • El examen y evaluación de los procesos del Area de Procesamiento automático de Datos (PAD) y de la utilización de los recursos que en ellos intervienen, para llegar a establecer el grado de eficiencia, efectividad y economía de los sistemas computarizados en una empresa y presentar conclusiones y recomendaciones encaminadas a corregir las deficiencias existentes y mejorarlas.
  • El proceso de recolección y evaluación de evidencia para determinar si un sistema automatizado:
    Daños
    Salvaguarda activos Destrucción
    Uso no autorizado
    Robo
    Mantiene Integridad de Información Precisa,
    los datos Completa
    Oportuna
    Confiable
    Alcanza metas Contribución de la
    organizacionales función informática
    Consume recursos Utiliza los recursos adecuadamente
    eficientemente en el procesamiento de la información
  • Es el examen o revisión de carácter objetivo (independiente), crítico(evidencia), sistemático (normas), selectivo (muestras) de las políticas, normas, prácticas, funciones, procesos, procedimientos e informes relacionados con los sistemas de información computarizados, con el fin de emitir una opinión profesional (imparcial) con respecto a:
  • Eficiencia en el uso de los recursos informáticos
  • Validez de la información
  • Efectividad de los controles establecidos

Tipos de Auditoría
Existen algunos tipos de auditoría entre las que la Auditoría de Sistemas integra un mundo paralelo pero diferente y peculiar resaltando su enfoque a la función informática.
Es necesario recalcar como análisis de este cuadro que Auditoría de Sistemas no es lo mismo que Auditoría Financiera.
Entre los principales enfoques de Auditoría tenemos los siguientes:
Financiera Veracidad de estados financieros
Preparación de informes de acuerdo a principios contables
Evalúa la eficiencia,
Operacional Eficacia
Economía
de los métodos y procedimientos que rigen un proceso de una empresa
Sistemas Se preocupa de la función informática
Fiscal Se dedica a observar el cumplimiento de
las leyes fiscales
Administrativa Analiza:
Logros de los objetivos de la Administración
Desempeño de funciones administrativas
Evalúa:
Calidad Métodos
Mediciones
Controles
de los bienes y servicios
Revisa la contribución a la sociedad
Social así como la participación en actividades
socialmente orientadas

Objetivos Generales de una Auditoría de Sistemas
Buscar una mejor relación costo-beneficio de los sistemas automáticos o computarizados diseñados e implantados por el PAD

  • Incrementar la satisfacción de los usuarios de los sistemas computarizados
  • Asegurar una mayor integridad, confidencialidad y confiabilidad de la información mediante la recomendación de seguridades y controles.
  • Conocer la situación actual del área informática y las actividades y esfuerzos necesarios para lograr los objetivos propuestos.
  • Seguridad de personal, datos, hardware, software e instalaciones
  • Apoyo de función informática a las metas y objetivos de la organización
  • Seguridad, utilidad, confianza, privacidad y disponibilidad en el ambiente informático
  • Minimizar existencias de riesgos en el uso de Tecnología de información
  • Decisiones de inversión y gastos innecesarios
  • Capacitación y educación sobre controles en los Sistemas de Información

Justificativos para efectuar una Auditoría de Sistemas
Aumento considerable e injustificado del presupuesto del PAD (Departamento de Procesamiento de Datos)

  • Desconocimiento en el nivel directivo de la situación informática de la empresa
  • Falta total o parcial de seguridades lógicas y fisicas que garanticen la integridad del personal, equipos e información.
  • Descubrimiento de fraudes efectuados con el computador
  • Falta de una planificación informática
  • Organización que no funciona correctamente, falta de políticas, objetivos, normas, metodología, asignación de tareas y adecuada administración del Recurso Humano
  • Descontento general de los usuarios por incumplimiento de plazos y mala calidad de los resultados
  • Falta de documentación o documentación incompleta de sistemas que revela la dificultad de efectuar el mantenimiento de los sistemas en producción