Sei sulla pagina 1di 8

UNIVERSIDAD AUTONOMA DE QUITO UNAQ

AUDITORIA INFORMATICA
PROFESOR : Ing. Fernando Andrade ALUMNO FECHA CURSO : Jess Cisneros Valle : Quito, 26 de septiembre del 2012 : 10ASM

RESPONDER LAS CUESTIONES DE REPASO DE LOS CAPITULOS 13 y 14 DEL LIBRO AUDITORIA INFORMATICA Un enfoque prctico.

CAPITULO 13
AUDITORIA DEL MANTENIMIENTO Cuestiones de Repaso: 1. Exponga las razones que hacen de la auditora del mantenimiento un rea especialmente crtica? La mantenibilidad es un factor crtico en el estudio de Auditora Informtica de Mantenimiento, es el factor de calidad que engloba todas las caractersticas del software destinadas a hacer que el producto sea ms fcilmente mantenibles y en consecuencia, a conseguir una mayor productividad durante la etapa de mantenimiento. Adems el control y la evaluacin de la Mantenibilidad pueden ser un factor determinante en el estudio de la Auditora Informtica en la etapa de mantenimiento del software. 2. Desarrolle una lista de comprobacin que recoja los aspectos ms importantes a la hora de evaluar la gestin de cambios? 1. Se han tenido en cuenta las implicaciones laterales asociadas con el cambio? 2. Se han tenido en cuenta los aspectos documentales en cuanto a evaluar y aprobar la peticin de cambios? 3. Se ha documentado el cambio, una vez realizado y procedindose a dar informacin a todos los que se ven implicados en el proceso? 4. En cuanto a las recisiones tcnicas formales. Se han realizado las adecuadas? 5. Se ha hecho una revisin de aceptacin final para asegurar que toda la arquitectura software fue actualizada y aprobada y se procedi a los cambios adecuadamente? 3. Qu ventajas aporta una herramienta de gestin de configuracin a la hora de auditar el mantenimiento de sistemas informticos?
1

UNIVERSIDAD AUTONOMA DE QUITO UNAQ

4. Aplique las mtricas propuestas en este captulo a algn sistema real, calibrndolas si fuera necesario a su entorno especfico? METRICAS DE ESFUERZO DE DESARROLLO: Modo orgnico: MMdes = 2.4 KS 1.05 MMdes = 2.4*20001.05 MMdes = 2.4 * 2924.7011471139253 MMdes = 7019.2827

ESFUERZO DE MANTENIMIENTO: TCA = (NLN+NLM)/NLI TCA = (100+50)/2000 TCA = 150/2000 TCA = 0.075 5. Qu factores pueden influir en la modificabilidad de los programas? Segn la mtrica de modificabilidad del (Mtrica de mantenibilidad del modelo COCOMO) los factores que influyen serie el nmero de lneas de datos constantes por cada 100 lneas de cdigo. La existencia de un gran nmero de datos constantes en el cdigo implica un mayor esfuerzo para la modificacin. 6. Analice en la literatura existente diversas mtricas de complejidad y describa su influencia en la mantenibilidad? Son todas las mtricas de software que definen de una u otra forma la medicin de la complejidad; Tales como volumen, tamao, anidaciones, costo (estimacin), agregacin, configuracin, y flujo. Estas son los puntos crticos de la concepcin, viabilidad, anlisis, y diseo de software. Los 2 tipos de mtrica para calcular la complejidad es:

Complejidad ciclomtica de McCabe Ciencia del Software de Halstead

Complejidad ciclomtica de McCabe La complejidad ciclomtica se basa en el recuento del nmero de caminos lgicos individuales contenidos en un programa. Para calcular la complejidad del software, Thomas McCabe utiliz la teora y flujo de grafos. Para hallar la complejidad ciclomtica, el programa se representa como un grafo, y cada instruccin que contiene, un nodo del grafo. Las posibles vas de ejecucin a partir de una instruccin (nodo) se
2

UNIVERSIDAD AUTONOMA DE QUITO UNAQ


representan en el grafo como aristas. Por ejemplo, el cdigo que se muestra a continuacin con 2 sentencias selectivas anidadas genera el siguiente grafo:
1 if (condicion){ 2 if (condicion){ 3 A; B; } else { 4 C; D; 5 } 6 }

Si se realizase el grafo, se observara que se encuentran 3 caminos posibles para llegar de la sentencia 1 a la sentencia 6: Camino 1 (si ambos IFs son verdad): Sentencias 1, 2, 3, 6 Camino 2 (si el primer IF es verdad y el segundo es falso): Sentencias 1, 4,6 Camino 3 (si el primer IF es falso): Sentencias 1, 6 Este programa tiene una complejidad ciclomtica de 3. La complejidad ciclomtica se puede calcular de otras maneras. Se puede utilizar la frmula:

v(G) = e - n + 2

Donde e representa el nmero de aristas y n el nmero de nodos. Otra forma de calcular la complejidad ciclomtica consiste en aplicar la siguiente frmula:

v(G) = nmero de regiones cerradas en el grafo + 1

Ciencia del Software de Halstead Durante el final de los aos 70 y principios de los 80, Maurice Halstead desarrolla un conjunto de mtricas llamadas Halstead Software Science, mtricas basadas en el clculo de palabras clave (reservadas) y variables. Su teora est basada en un simple cuenta (muy fcil de automatizar) de operadores y operandos en un programa:

Los operadores son las palabras reservadas del lenguaje, tales como IF-THEN, READ, FOR,...; los operadores aritmticos +, -, *,..... los de asignacin y los operadores lgicos AND, EQUAL TO,.... Los operandos son las variables, literales y las constantes del programa.

Halstead distingue entre el nmero de operadores y operandos nicos y el nmero total de operadores y operando. Por ejemplo, un programa puede tener un READ, siete asignaciones y un WRITE; por lo tanto tiene tres nicos operadores, pero nueve en

UNIVERSIDAD AUTONOMA DE QUITO UNAQ


total operadores, y de manera idntica se procede con los operandos. Se utiliza la siguiente notacin:

n1 - nmero de operadores nicos que aparecen en un programa N1 - nmero total de ocurrencias de operadores n2 - nmero de operandos nicos que aparecen en un programa N2 - nmero total de ocurrencias de operandos

Las mtricas de la Ciencia del Software para cualquier programa escrito en cualquier lenguaje pueden ser derivadas de estas cuatro cuentas. A partir de ellas han sido elaboradas diferentes medidas para diversas propiedades de los programas, tales como longitud, volumen, etc. Por ejemplo, consideremos el siguiente trozo de programa:
if (N<2){ A=B*N; System.out.println("El resultado es : " + A); }

A partir de aqu se deduce: N2 = 6 (N, 2, A, B, N, A) N1 = 6 (if, {}, system.out.println, =, *, <) n2 = 4 (N, A, B, 2) n1 = 6 (if, {}, system.out.println, =, *, <) Halstead permite obtener una medida de la longitud, N, de un programa, que es calculada como: N = N1 + N2 N es una simple medida del tamao de un programa. Cuanto ms grande sea el tamao de N, mayor ser la dificultad para comprender el programa y mayor el esfuerzo para mantenerlo. N es una medida alternativa al simple conteo de lneas de cdigo. Aunque es casi igual de fcil de calcular, N es ms sensible a la complejidad que el contar el nmero de lneas porque N no asume que todas las instrucciones son igual de fcil o de difcil de entender. La medida de longitud, N, es usada en otra estimacin de tamao de Halstead llamada volumen. Mientras que la longitud es una simple cuenta (o estimacin) del total de operadores y operandos, el volumen da un peso extra al nmero de operadores y
4

UNIVERSIDAD AUTONOMA DE QUITO UNAQ


operandos nicos. Por ejemplo, si dos programas tienen la misma longitud N pero uno tiene mayor nmero de operadores y operandos nicos, que naturalmente lo hacen ms difcil de entender y mantener, este tendr un mayor volumen. La frmula es la siguiente:

Volumen V = N x log2(n)
Donde n = n1 + n2 El esfuerzo es otra medida estudiada por Halstead que ofrece una medida del trabajo requerido para desarrollar un programa. Desde el punto de vista del mantenimiento, el esfuerzo se puede interpretar como una medida del trabajo requerido para comprender un software ya desarrollado. La frmula es la siguiente: Esfuerzo:

E=V L
Donde el volumen V es dividido por el nivel del lenguaje L. ste indica si se est utilizando un lenguaje de alto o bajo nivel. Por ejemplo, una simple llamada a un procedimiento podra tener un valor L de 1; el COBOL podra tener 0,1 y el ensamblador podra tener un L de 0,01. As pues el esfuerzo aumenta proporcionalmente con el volumen, pero decrece con la utilizacin de lenguajes de alto nivel. Atendiendo a varios estudios empricos, el esfuerzo, E, es incluso una medida mejor de la entendibilidad (comprensin) que N. Son influyentes la mtricas e influyen en la mantenibilidad ya que las mtricas permiten determinar la claridad y la facilidad de dar mantenimiento a un software una vez que este ha sido terminado y est en produccin. 7. Existen herramientas especficas para la gestin de pruebas de software? Existen herramientas que soportan las pruebas del software en todas las etapas de un proyecto. Algunos proveedores ofrecen una serie integrada que soporta las pruebas y el desarrollo a lo largo de la vida de un proyecto, desde la reunin de los requisitos hasta el soporte del funcionamiento en vivo del sistema. Algunos proveedores se enfocan en una sola parte del ciclo de vida. La base de conocimientos de las herramientas de prueba de software proporciona los criterios funcionales que se esperan de una herramienta de pruebas, la infraestructura que la soporta y una idea de la posicin que ocupa el proveedor en el mercado. Selenium. Compuesto por dos herramientas: Selenium IDE y SeleniumWebDriver. La primera, un plugin de Firefox que te genera un entorno de desarrollo y que permite crear casos de prueba para aplicaciones web. La segunda, Selenium WebDriver, ejecuta las pruebas. Este entorno de automatizacin de pruebas automticas opera en los principales navegadores (IE, Mozilla, Chrome y Opera). Adems, permite pruebas para dispositivos mviles, para iPhone y Android. Utiliza los siguientes lenguajes: Python, Ruby, Java y C#. La licencia es Apache 2.0 License.
5

UNIVERSIDAD AUTONOMA DE QUITO UNAQ


JMeter. Aplicacin de escritorio en Java y dentro del proyecto Jakarta. Esta herramienta permite realizar pruebas funcionales (y de rendimiento) para aplicaciones web. Trabaja con los siguientes protocolos: HTTP, HTTPS, SOAP, JDBC, LDAP, JMS, Mail POP3(S) and IMAP(S). La licencia es Apache 2.0 License. Testlink. Permite crear y gestionar casos de prueba, organizarlos en planes de pruebas, realizar un seguimiento de los resultados, establecer trazabilidad con los requisitos, generar informes etc. Se integra con otros sistemas de seguimiento de bugs y ticketing como Bugzilla, Mantis, etc. Licencia: GPL. 8. Cmo debera organizarse la gestin de incidencias de mantenimiento en un departamento de informtica desde el puno de vista de la auditora? 9. La influencia de la documentacin en el mantenimiento de los sistemas parece obvia, pero. Cmo medira la documentacin existente sobre un sistema? 10. Compare otros modelos de estimacin que conozca con el propuesto en este captulo.

CAPITULO 14
AUDITORIA DE BASES DE DATOS Cuestiones de Repaso: 1. Establezca objetivos de control relativos al diseo de una base de datos? El SGBD deber preservar la confidencialidad de la base de datos 2. Defina un procedimiento para la adquisicin de un SGBD. 1. De finir si la base de datos elegida satisfacer los requerimientos de datos de la empresa (objetivos) 2. Valorar el coste/beneficio de adquirir la base de datos 3. Tipo de aplicacin 4. Sistema operativo a usar con la BD 5. Integridad de datos 6. Robustez de la BD 7. Facilidad de mantenimiento y aplicacin de aplicativos 8. Fcil manejo con el SGBD 9. Confidencialidad de datos 10. Niveles de seguridad

3. Cules son las diferencias ms importantes entre las funciones de un administrador de datos y las de un administrador de base de datos?

UNIVERSIDAD AUTONOMA DE QUITO UNAQ


Administrador de Datos: Deben asignarse responsabilidades para la planificacin, organizacin, dotacin de plantillas y control de los activos de datos de la organizacin. 1. 2. 3. 4. Realiza el diseo conceptual y lgico de la base Apoya al personal de sistemas durante el desarrollo de la aplicacin Forma al personal Establece estndares de diseo de BD, desarrollo y contenido del Diccionario de Datos 5. Disear documentacin incluida en el diccionario 6. Desarrolla polticas de gestin de datos 7. Desarrollar planes estratgicos y tcticos para la manipulacin de los datos 8. Desarrollar los requisitos de los elementos del 9. Desarrollar normas para la denominacin 10. Controlar la integridad y seguridad de los datos 11. Planificar la evolucin de la BD de la empresa 12. Identificar oportunidades de comparticin de datos 13. Trabajar con los auditores en la auditoria de la base 14. Proporcionar controles de seguridad Administrador de la Base de Datos: Debe asignarse la responsabilidad de la administracin del entorno de la base de datos. Realizar el diseo fsico de la base de datos. Asesorar en la Adquisicin de Hardware/software Soportar el SGBD Resolver problemas del SGBD y del software asociado Monitorizar el rendimiento del SGBD Ayudar en el desarrollo de planes que aseguren la capacidad del hardware Asegurar la integridad de los datos. Comprobando que se implantan los controles adecuados 8. Asegurar la seguridad y confidencialidad 9. Proporcionar facilidades de prueba 10. Integrar paquetes, procedimientos, utilidades, etc. De soporte al SGBD. 11. Desarrollar estndares, procedimientos y documentos. 4. Porque resulta tan crtico un diccionario de datos? Resulta crtico porque el diccionario de Datos est vinculado a sectores sensibles del diseo de la BD como: el diseo de la documentacin, los elementos del diccionario y el establecimiento de los estndares de diseo de la BD. Adems juega un papel muy importante en el entorno de SGBD en cuanto a la integracin de componentes y al cumplimiento de la seguridad de los datos. Si se da un fallo en el diccionario, se suele acarrear una prdida de integridad de los procesos, siendo as ms peligrosos los fallos en los diccionarios puesto que pueden introducir 1. 2. 3. 4. 5. 6. 7.

UNIVERSIDAD AUTONOMA DE QUITO UNAQ


errores de forma repetitiva a lo largo del tiempo y estos errores son ms difciles de detectar. 5. Que controles establecera sobre la distribucin de listados extrados a partir de la base de datos?

6. Objetivos de control sobre la formacin del personal relacionado con el SGBD (Usuarios finales, administradores, diseadores, etc.? A lo largo del ciclo de vida de la base de datos se deber controlar la formacin que precisa tantos usuarios informticos, como no informticos ya que la formacin es una de la claves para minimizar el riesgo de la implantacin de una base de datos. Esta formacin no debe basarse meramente en cursos sobre el producto que se est instalando, sino que debe ser una formacin de base que resulta imprescindible en especial cuando se pasa a trabajar a un entorno de base de datos. 7. Analice el grado de ajuste existente entre los paquetes de seguridad del mercado (TOP SECRET, RACF, etc.) y los SGBD?

8. Que riesgos adicionales implica el hecho de distribuir la base de datos? Implica graves riesgos de seguridad, adems el posible riesgo de violacin de la confidencialidad e integridad de los datos. 9. Que controles establecera para desarrollos que empleen lenguajes visuales que acceden a bases de datos? Deben ser capaz de operar en el entorno de procesos de datos con controles adecuados Las aplicaciones desarrolladas deben seguir los mismos procedimientos de autorizacin y peticin que los proyectos de desarrollo convencionales Las aplicaciones desarrolladas deben sacar ventaja de las caractersticas incluidas en los mismos. 10. Analice el soporte que ofrecen las herramientas de minera al auditor informtico. Las herramientas de minera de datos (datamining) ofrecen un soporte a la toma de decisiones sobre los datos de calidad almacenados en una base de datos.

Potrebbero piacerti anche