Documente Academic
Documente Profesional
Documente Cultură
Ingeniería Informática
Facultad de Ingeniería - Universidad de Buenos Aires
2004
Sistemas Automáticos de Diagnóstico y Detección de Fallas I
Índice de contenidos
Conceptos básicos
Consideremos la Empresa Crecer, cuyo ramo es: Turismo. Esta empresa se dedica a la
comercialización de paquetes de viaje estudiantiles de fin de curso. Presentamos a
continuación una breve síntesis de su funcionamiento.
"El área de ventas está compuesta por: un supervisor general, vendedores y una persona
que se ocupa de las contrataciones y reservas de Hoteles, micros, excursiones, boliches, etc.
El supervisor general, se encarga de indicarle a los vendedores a qué escuelas dirigirse y el
"paquete de ventas" a ofrecerle a los estudiantes.
Jorge, el encargado de las contrataciones, envía fax a los hoteles, agencias de turismo de
todo el país, y boliches solicitando información turística, costos y vacantes disponibles. Guarda
toda la documentación que recibe en biblioratos debidamente ordenados. Pasados cuatro días
se reúne con Rubén, el supervisor, con quien analiza la información recibida, confeccionando
un informe de posibles contrataciones que es elevado a la Gerencia General para su
evaluación.
Cuando Rubén recibe de la Gerencia de Finanzas el "paquete de viaje" aprobado, tanto
por dicha Gerencia como por la Gerencia General; le suma el precio actualizado de los micros
que le enviara telefónicamente Mirta de la empresa YYY S.A. y se pone en contacto con el
responsable del Área de Publicidad, quien activa la campaña publicitaria en periódicos,
revistas, radio, canales de cable y otros medios.
La Gerencia de Marketing en base al listado de escuelas secundarias reparte a los
vendedores las carpetas de ventas, asignándole a cada uno, de acuerdo a su categoría (junior,
senior), una zona de impacto.
El vendedor visita las escuelas presentando a los estudiantes el "paquete de viaje", para
eso utiliza el "speech" de ventas que les enseñaron en los cursos de entrenamiento, dictados
por la Dirección de Recursos Humanos. Si logran su propósito, confeccionan una intención de
contrato que entregan al supervisor, para que éste cite a cada uno de los alumnos interesados
en viajar, para armar su contrato individual."
Si percibimos “el sistema” como un TODO, este es algo más que la sumatoria de las
partes. El sistema está formado por sus elementos, mas las relaciones que los vinculan,
mas...
Consideremos como sistema una obra de arte, un cuadro en el cual se representan una
serie de figuras geométricas. Cada una de ellas elementos del sistema, tendrá sus
características propias: color, forma, tamaño, etc. La composición total tendrá como
objetivo producir un impacto estético en el público.
Es decir, cuando se percibe el todo, obra de arte, el observador verá el sistema cuadro
como algo más que la sumatoria de figuras geométricas plasmadas con una
determinada orientación en la tela, quizás perciba una obra que le producirá asombro,
admiración u otro tipo de sensaciones que el artista supo o quiso transmitir.
El Sistema de Ventas de la empresa es tan sólo uno de los tantos con los que cuenta la
empresa, también posee un Sistema de Cobranzas, Sistema de Pagos, Sistema de
Marketing, Sistema Contable, Sistema de Sueldos y Jornales, etc. Cada uno de estos
sistemas puede ser concebido como un SISTEMA (conjunto de elementos
interrelacionados con un objetivo común).
Empresas Argentinas
Sistema de Información
Es decir que cada subsistema esta a su vez formado por subsistemas menores.
Esto sucede n veces en cada paso.
Cuando el profesional de Sistemas ANALIZA el sistema debe conocer todos y cada uno
de los mínimos niveles de subsistemas para RECOLECTAR información, y cuando DISEÑA
debe de hacerlo considerando TODOS y cada uno de los mínimos niveles de subsistemas para
RECOLECTAR información.
Es decir que cada subsistema está a su vez formado por subsistemas menores.
Esto sucede n veces en cada paso.
Cuando el profesional de Sistemas ANALIZA el sistema debe conocer todos y cada uno
de los mínimos niveles de subsistemas para ALMACENAR información y cuando DISEÑA ,
debe hacerlo considerando todos y cada uno de los mínimos niveles de subsistemas para
ALMACENAR información.
¿Qué sucede con la información almacenada?
La tercera instancia es PROCESAR la información
La información de Hoteles almacenada en la Base de Datos correspondiente es
procesada en forma computacional con el fin de generar los listados de los distintos tipos de
paquetes de viaje que ofrece la empresa.
Es decir que cada subsistema esta a su vez formado por subsistemas menores.
Esto sucede n veces en cada paso.
Cuando el profesional de Sistemas ANALIZA debe conocer todos y cada uno de los
mínimos niveles de subsistemas (algoritmos) para PROCESAR información y cuando DISEÑA,
debe hacerlo considerando todos y cada uno de los mínimos niveles de subsistemas para
PROCESAR información.
Es decir que cada subsistema está a su vez formado por subsistemas menores.
SISTEMA DE INFORMACIÓN
Conjunto de subsistemas para recolectar, almacenar, procesar y distribuir
información para la planificación, decisión y señalamiento en un Sistema
Objeto (organización) del cual forma parte.
Subsistema
A
Subsistema
B
Sistema
de Información
de la
organización R
Subsistema
C
Subsistema
D
Subsistemas de recolección
Subsistema
A
Subsistema
B
Sistema
de Información
de la
organización R
Subsistema
C
Subsistema
D
R
A
Subsistema
A
A
Subsistema
B
Sistema
de Información
de la
organización R
A
Subsistema
C
R
A
Subsistema
D
Subsistemas de almacenamiento
Los sistemas para almacenar se relacionan con los sistemas para recolectar. Los
sistemas de almacenamiento tienen que estar relacionados entre sí. Un sistema de recolección
puede abastecer a varios sistemas de almacenamiento y viceversa. De esta manera las
relaciones en un sistema integrado se multiplican considerablemente.
A
Subsistema
A
A
Subsistema
B
Sistema
de Información
de la
organización R
A
Subsistema
C
R
A
Subsistema
D
Una vez Recolectados y Almacenados los datos / información queda entonces analizar y
definir cada uno de los procesos que es necesario realizar para obtener la información
esperada de cada sistema. O sea, es preciso definir los distintos algoritmos de procesamiento y
control (programas, procedimientos, reglamentos, normas, etc.) involucrados en cada uno de
los sistemas de la organización.
Esto implica un sinnúmero de subsistemas para procesar, e implica en términos de
integración y reusabilidad, definir todos y cada uno de los algoritmos que hay que llevar
adelante, considerando las relaciones entre ellos, para evitar repeticiones, como así también la
relación con los subsistemas de almacenamiento.
A
Subsistema
A
P
A
Subsistema
B
P
Sistema
de Información
de la
organización R
A
Subsistema
C
P
R
A
Subsistema
D
P
Subsistemas de procesamiento
R
D
A
Subsistema
A
A
Subsistema
B
D P
Sistema
de Información
de la
organización R
A
Subsistema
C
D P
R
A
Subsistema
D
D
P
Una vez que se cuenta con toda la información hay que distribuirla. . La distribución no es
trivial, ya que debe cumplirse en tiempo y forma para cada uno de los usuarios del sistema. De
la misma forma que la recolección, el almacenamiento y el procesamiento, los subsistemas de
distribución están compuestos por un conjunto de subsistemas que distribuyen la información
por distintos medios, formas y de distinta manera. Hay más de un subsistema de distribución y
deben estar relacionados con su propio sistema de procesamiento. Es necesario considerar las
vinculaciones tanto entre los subsistemas de distribución entre sí como respecto de la
posibilidad que cada subsistema de distribución reciba información de más de un subsistema
de procesamiento.
Las grandes fallas que perciben los usuarios de un sistema de información, es en aquellos
subsistemas con los cuales tienen mayor interacción, en la recolección y/o en la distribución.
A
Subsistema
A
P
A
Subsistema
B
P
Sistema D
de Información
de la
organización R
A
Subsistema
C
P
A
Subsistema
D
P
Dato
Subsistema B Información
Dato / información
U
Unn ssiisstteemmaa ddee iinnffoorrm maacciióónn eess uunn ccoonnjjuunnttoo ddee ssuubbssiisstteem maass
ppaarraa rreeccoolleeccttaarr,, aallm a c e n a r, p ro c e s
macenar, procesar y distribuir a r y d i s t ri b u i r
ddaattooss oo iinnffoorrm maacciióónn
ccoonn eell oobbjjeettiivvoo ddee bbrriinnddaarr iinnffoorrm maacciióónn
ppaarraa qquuee uunnaa oorrggaanniizzaacciióónn ppuueeddaa
ppllaanniiffiiccaarr,, ddeecciiddiirr oo sseeññaallaarr..
Para cumplir con su actividad el profesional de sistemas tiene que analizar, entender,
diseñar, implementar y hacer que funcionen todos estos subsistemas y sus conexiones. Para
ello cuenta con Métodos, técnicas que permiten visualizar estas relaciones de manera precisa,
clara y ordenada.
La diferencia que existe entre las distintas profesiones es: la porción del Universo sobre la
cual trabajan, es decir el Objeto de estudio.
En el caso de los Profesionales de Sistemas el objeto de estudio son los Sistemas de
Información.
La actividad del Profesional de Sistemas es realizar Análisis, Diseño e
Implementación de Sistemas de Información:
Técnicas
Existen varios tipos de ciclos de vida lo que es natural ya que existe también una gran
variedad de aplicaciones para las cuales se construyen productos software con diversas
características particulares. Las técnicas y metodologías de desarrollo de sistemas se
confunden con frecuencia con el ciclo de vida. El propósito del ciclo de vida es planear,
ejecutar y controlar el proyecto de desarrollo de un sistema. El ciclo de vida define las
fases y las tareas esenciales para el desarrollo de sistemas, sin importar el tipo o la
envergadura del sistema que se intenta construir. Por ejemplo, siempre se debe estudiar
y analizar el sistema actual (en el grado de detalle adecuado) antes de definir las
necesidades de los usuarios y fijar las prioridades.
Una metodología es una versión particular e individual de un ciclo de vida completo para
el desarrollo de sistemas que incluye:
Tareas paso a paso para cada fase. Determina el orden de las fases del
proceso software.
Funciones desempeñadas en cada tarea.
Productos resultantes y normas de calidad para cada tarea.
Técnicas de desarrollo que se utilizarán en cada tarea.
Una auténtica metodología debe acompañar al ciclo de vida completo del desarrollo de
sistemas. La mayor parte de las metodologías modernas incluye el uso de varias
técnicas de desarrollo con sus herramientas asociadas. Una técnica es un método que
aplica herramientas y reglas específicas para completar una o más actividades del ciclo
de vida del desarrollo de sistemas. Las técnicas en su mayoría son solo aplicables a una
parte del ciclo de vida. Por ejemplo la programación estructurada es una técnica
aplicable a las fases de codificación y soporte de sistemas. No da apoyo a las fases de
planificación, análisis o diseño. Por lo tanto es necesario combinar la programación
estructurada con otras técnicas de desarrollo para cubrir todas las fases del ciclo de vida.
Independientemente del número o nombres de las fases del ciclo de vida, éste
racionaliza y asigna una rutina al proceso de construcción de sistemas de información.
La meta principal del ciclo de vida de sistemas es reducir los inicios falsos, reciclamiento
indebido y callejones sin salida. Además aumenta la probabilidad de que el sistema que
se construya e instale finalmente, sea el que los usuarios desean y necesitan. Entre los
distintos tipos de ciclos de vida se destacan el cascada, prototipado, emisión gradual,
espiral, orientado a objetos. El ingeniero en sistemas debe estudiar las características del
proyecto, seleccionar el modelo de ciclo de vida, la metodología y las técnicas que mejor
se adecuen para el desarrollo de esa aplicación en particular.
Las técnicas para obtener información no son propias únicamente de sistemas, hay
muchas profesiones que utilizan las mismas. Los profesionales de sistemas tiene como
objetivo obtener información sobre los requerimientos y necesidades de información de los
usuarios que trabajan en la organización. Las técnicas más utilizadas y conocidas para
obtener información son:
Entrevistas
Encuesta o cuestionario
Algún tipo de censo
Estudio de la documentación existente
Observación personal
Las técnicas para documentar información, son varias, en su mayoría gráficas y están
asociadas a cada una de las etapas o actividades de las fases de la metodología.
Fases
Para describir las actividades que realiza un profesional de sistemas, se ha tomado como
base uno de los ciclos de vida más sencillo, que es secuencial (lo que facilita la comprensión de la
tarea), conocido como ciclo de vida en cascada. Mas adelante se completarán algunos
comentarios respecto de prototipos
Fases / Etapas
En esta fase se especifican las necesidades de información de los sectores o puestos de trabajo.
También se especifican si hay necesidades de tipo normativas, de comunicaciones o
particularidades de hardware.
Las entradas son el Plan del proyecto y el Informe de requerimientos. Las salidas son el Estudio
de viabilidad, y el Informe del sistema actual.
Las técnicas de documentación que se usan para modelar la situación actual y las necesidades
futuras, que además pueden formar parte del informe de relevamiento son:
Diagrama de Entidad Relación - Modelo de objetos o clases.
Diagrama de Flujo de Datos – Tabla de Eventos.
Asociada a estas dos técnicas está Diccionario de Datos y la Definición de Procesos
(Tablas de Decisión)
Pueden existir otras técnicas como ser Cursograma, es una técnica que se está
reemplazando por tipos de herramientas como WorkFlow.
Casos de uso extendidos.
Diseño lógico del sistema: El proceso de diseño traduce requisitos en una representación
centrada en la computadora que se pueda evaluar antes de que comience la generación de
código. El diseño de software es un proceso complejo que se centra en:
La estructura de los datos. Se definen archivos y bases de datos.
Los métodos y procedimientos de proceso (algoritmos).
Representaciones de interfaz. Diseño de entradas, salidas, pantallas.
Diseño de arquitectura del sistema implica considerar el software de base y toda la instalación
de hardware que va a ser necesaria es decir, la estructura de la red informática.
Desarrollo o codificación: el diseño se debe traducir en una forma legible por la máquina. El
paso de generación de código lleva a cabo esta tarea. Si se lleva a cabo el diseño de una forma
detallada, la generación de código se realiza con mayor facilidad. Esta fase puede incluir también
las actividades de construcción de las redes y ampliación de las bases de datos a usar por el
nuevo sistema. La entrada a esta fase son las Especificaciones de diseño. El resultado de esta
fase son los programas informáticos no instalados aún para producción. Aquí pueden usarse
técnicas como los:
Mantenimiento: Las causas que originan mantenimiento del software se pueden definir en:
2) Internas:
(a) Errores de desarrollo (sobre todo a comienzos de la fase desarrollo)
(b) Necesidad de actualizar el sistema que se ha quedado obsoleto
Planificar
Una de las primeras y más importantes es planificar, esta etapa aparece con el planteo de
todo el plan de trabajo para hacer el desarrollo del sistema y de alguna manera se interconecta
con todas las etapas, ya sea para definir esa fase o realizar en mayor profundidad o para
efectuar el seguimiento. Las técnicas de planeamiento son usualmente:
Un Pert
Un Gantt
CPM
Técnicas
Para obtener información Entrevistas
Encuestas o cuestionarios
Censos
Estudio de la documentación existente
Observación personal
Técnicas
Pruebas
La prueba del software es un elemento crítico para la garantía de calidad del software y
representa una revisión final de las especificaciones, del diseño y de la codificación. En cualquiera
de los tipos de pruebas es posible considerar distintos aspectos a probar, como ser: la
funcionalidad del programa, el volumen de transacciones y la concurrencia de las transacciones.
Las actividades básicas de un procedimiento de pruebas y la documentación de salida
correspondiente a cada una de estas actividades son las siguientes:
Actividades Salidas
I. Planificación de la prueba Plan de pruebas
Determinación de los casos de prueba: Determinar puntualmente los casos de prueba, es decir,
enumerar uno a uno los casos de pruebas a probar, indicar el resultado correcto esperado al
realizar algún caso de prueba, pudiéndose utilizar una tabla de la siguiente forma:
Función a Básicamente
Valor a Resultado
probar Objetivo estas cuatro
ingresar esperado
(objeto) columnas
Función a Básicamente
Valor a Objetivo Resultado Resultado estas cinco
probar
ingresar <opcional> esperado obtenido columnas
(objeto)
Métodos de prueba
Los métodos de prueba proporcionan un mecanismo de ayuda para asegurar las pruebas
sean completas y para conseguir una mayor probabilidad de descubrir errores en el
software.
Principalmente los métodos de prueba se dividen en dos conjuntos, los que se basan en
revisar la codificación del software sin importar los datos de entrada o salida, y los que, por
el contrario, no les interesa la codificación sino los datos de entrada y salida del software.
Las primeras se denominan técnicas de caja blanca y las segundas técnicas de caja negra,
ambos tipos de técnicas son complementarias.
Estilo de codificación: Se tiene en cuenta los parámetros para una buena codificación. La
prueba de condición es un método de diseño de casos de prueba que ejercita las condiciones
lógicas contenidas en el módulo de un programa. El método de prueba de flujo de datos
selecciona caminos de prueba de un programa de acuerdo con la ubicación de las definiciones y
los usos de las variables del programa. La prueba de bucles se centra exclusivamente en la
validez de las construcciones de bucles, y éstos pueden ser: simples, concatenados, anidados y
no estructurados.
Adivinación de errores: Se supone qué resultados son los que podrían producir errores.
Ejemplo: Para los AVL se debe elegir: 1 valor mayor y 1 valor menor
CalcularMayor():
1: ingresar A, B
2: if A > B then
3: mostrar(“A es mayor”)
else
4: if A = B then
5: mostrar(“A y B son iguales”)
else
6: mostrar(“B es mayor”)
endif
7: endif
Diagrama de flujo
A, B
Sí
A>B
A es Sí
A=B
mayor
A y B son B es
iguales mayor
FIN
Teniendo en cuenta que tanto A como B son variables numéricas y tienen definido un
rango de: 1000 ≤ A ≤ 9999 y 1000 ≤ B ≤ 9999; se eligen los valores AVL y CE para A y B:
Valor A Valor B
AVL 10000 AVL 10000
999 999
CE 1234 CE 2345
A B
* $
esperado obtenido
1 10000 1234 “Mensaje de error”
2 999 1234 “Mensaje de error”
3 1234 1234 “A y B son iguales”
4 A 1234 “Mensaje de error”
5 * 1234 “Mensaje de error”
6 1234 10000 “Mensaje de error”
7 1234 999 “Mensaje de error”
8 1234 2345 “B es mayor”
9 1234 B “Mensaje de error”
10 1234 $ “Mensaje de error”
Caminos independientes: Permite garantizar que se ejerciten por lo menos una vez todos los
caminos independientes de cada módulo del sistema. Los pasos a seguir son los siguientes:
Ejemplo:
1. Usando el diseño o código como base, se dibuja el correspondiente grafo de flujo.
1
R3
2
R1
3 4
5 R2 6
V(G) = 3
V(G) = 2 + 1 = 3
V(G) = 8 – 7 + 2 = 3
Caminos independientes:
4. Se preparan los casos de prueba que forzarán la ejecución de cada camino del
conjunto.
Configuración
En términos muy generales, la Gestión de Configuración del Software (GCS) se puede definir
como una disciplina cuya misión es controlar la evolución de un sistema software. La Gestión de
Configuración se debe realizar a lo largo de todo el ciclo de vida del producto, tanto en el
desarrollo como en el mantenimiento, hasta que el producto se retira.
La integridad de un producto software significa que el producto cumple las siguientes condiciones:
Satisface las necesidades del usuario (cumple todos los requisitos del usuario, tanto los
explícitos como los implícitos)
Cumple los requisitos de rendimiento
Se puede trazar su evolución desde que se concibió, y a través de todas las fases de su
ciclo de vida.
GESTION DE CONFIGURACION
IDENTIFICACION DE GENERACION DE
CONTROL DE AUDITORIA DE
LA CONFIGURACION LA CONFIGURACION
Sin embargo, los sistemas que automatizan la gestión de configuración suelen incluir algunas
funciones adicionales:
Cada vez resulta más evidente que las necesidades de Gestión de Configuración en una
organización grande, con aplicaciones software de larga vida, o que requieren del mantenimiento
simultáneo de múltiples versiones, son muy grandes, y a veces pueden resultar muy complejas.
Sin embargo, la mayor parte de las empresas de desarrollo de software, aún hoy en día, realizan
una Gestión de Configuración “bajo mínimos”.
Hay que asumir el cambio, no evitarlo. Es importante tener en cuenta que la mayoría de los
cambios están justificados, ya que a medida que pasa el tiempo se sabe más acerca del problema
y de cómo resolverlo. La Gestión de Configuración está también fuertemente relacionada con el
problema del mantenimiento del software. Sin una buena Gestión de Configuración, el
mantenimiento de un producto puede ser una verdadera pesadilla.
Elementos de Configuración
Líneas base
Como ya hemos visto, uno de los objetivos principales de la Gestión de Configuración va a ser el
de gestionar los cambios que se producen en el sistema a lo largo de su ciclo de vida. Para
El concepto clave para realizar esta actividad es el de Línea Base. Las líneas base se establecen
en hitos previamente especificados a lo largo del proceso de desarrollo. Aunque se pueden definir
las líneas base con cualquier nivel de detalle, las líneas base más comunes son:
Corrección de un defecto: Los clientes tienden a clasificar todos los cambios en esta
categoría.
Mejora del sistema: Los programadores, sin embargo, los suelen clasificar aqui.
Control de cambios informal: Antes de que el Elemento de Configuración del Software pase
a formar parte de una línea base, aquel que haya desarrollado el Elemento de
Configuración del Software podrá realizar cualquier cambio justificado sobre él.
Control de cambios al nivel del proyecto o semi-formal: Una vez que el Elemento de
Configuración del Software pasa la revisión técnica formal y se convierte en una línea base,
para que el encargado del desarrollo pueda realizar un cambio debe recibir la aprobación
de:
- El director del proyecto, si es un cambio local
- El Comité de Control de Cambios, si el cambio tiene algún impacto sobre
otros Elementos de Configuración del Software
Control de cambios formal: Se suele adoptar una vez que se empieza a comercializar el
producto, cuando se transfieren los ECS a la Biblioteca Maestra. Todo cambio deberá ser
aprobado por el Comité de Control de Cambios.
Las etapas típicas de un proceso formal, es decir, el proceso que habría que seguir para hacer un
cambio sobre una línea base:
1. Iniciación del Cambio: se presenta una solicitud de cambio, que puede venir provocada por
un problema que se ha detectado o por un cambio en los requisitos.
2. Clasificación y registro de la solicitud de cambio.
3. Aprobación o rechazo inicial de la solicitud de cambio. De ello suele ser responsable el
Comité de Control de Cambios .
4. Evaluación de la solicitud de cambio, si ha sido aprobada, para calcular el esfuerzo
técnico, los posibles efectos secundarios, el impacto global sobre otras funciones del
sistema y el coste estimado del cambio. Como resultado se obtiene un Informe de Cambio.
5. Se presenta el Informe de Cambio al Comité de Control de Cambios. Si se considera que
el cambio es beneficioso se genera una Orden de Cambio (también llamada Orden de
Cambio de Ingeniería), que describe el cambio a realizar, las restricciones que se deben
respetar y los criterios de revisión y de auditoría. Esta Orden de Cambio es asignada a
alguno de los ingenieros de software para que se encargue de llevarlo a cabo. En este
momento, el objeto a cambiar se da de baja en la Biblioteca de Soporte al Proyecto.
6. Se realiza el cambio, entrando en un proceso de seguimiento y control.
7. Una vez finalizado el cambio, se certifica, mediante una revisión, que se ha efectuado
correctamente el cambio y con ello se ha corregido el problema detectado o bien se han
satisfecho los requisitos modificados. El objeto se devuelve a la Biblioteca de Soporte al
Proyecto.
8. Se notifica el resultado al originador del cambio.
Clasificacion y registro
de la solicitud de cambio
Aprobacion o rechazo
inicial del cambio
Evaluación del
impacto del cambio
Generacion de una
Orden de Cambio
Notificación al
Verificacion del cambio originador del cambio
Registros
Algunos ejemplos de los tipos de registros que pueden mantenerse son los siguientes:
Informes
- Planificados
- Bajo demanda
a) Informe de estado de los cambios: Es un resumen del estado en que se encuentran todas
las solicitudes de cambio registradas durante un determinado período de tiempo.
b) Inventario de elementos de configuración, para ofrecer visibilidad sobre el contenido de las
bibliotecas de proyecto.
c) Informe de incidencias: Es un resumen del estado en que se encuentran todas las
incidencias originadas durante un determinado período de tiempo y las acciones a las que
han dado lugar.
d) Informe de modificaciones: Es un resumen de las modificaciones que se han efectuado en
el producto software durante un determinado período de tiempo.
e) Informe de diferencias entre versiones: Resumen de las diferencias entre las sucesivas
versiones de un elemento de configuración.
En cualquier caso, al comienzo de cada proyecto será necesario decidir qué tipo de registros se
van a mantener y qué tipo de informes se van a generar y para quién.
Auditoria de la Configuración
Las revisiones se deben realizar de forma continua, durante todo el proceso de desarrollo, y no
sólo al finalizar éste, cuando los problemas ya no tienen solución.
Verificar que la configuración actual del software se corresponde con lo que era en fases
anteriores. Debe haber correspondencia y trazabilidad entre los elementos de configuración
que aparecen en una línea base y los que aparecen en las línea base que la preceden y
que la siguen. La verificación se realiza con respecto a la línea base precedente.
Validar que la configuración actual del software satisface la función que se esperaba del
producto en cada hito del proceso de desarrollo. La validación se realiza con respecto a los
requisitos del sistema.
Valorar si una determinada línea base, teniendo en cuenta los resultados de la verificación
y validación, y otro tipo de comprobaciones, se debe considerar aceptable o no.
Facultad de Ingeniería (U.B.A.) Página 39
Sistemas Automáticos de Diagnóstico y Detección de Fallas I
Auditoría Funcional: Cuyo objetivo es comprobar que se han completado todos los tests
necesarios para el Elemento de Configuración auditado, y que, teniendo en cuenta los
resultados obtenidos en los tests, se puede afirmar que el Elemento de Configuración
satisface los requisitos que se impusieron sobre él.
Auditoría Física: Cuyo objetivo es verificar la adecuación, completitud y precisión de la
documentación que constituye las líneas base de diseño y de producto. Se trata de
asegurar que representa el software que se ha codificado y probado. Tras la auditoría física
se establece la línea base de Producto. Tiene lugar inmediatamente después de haberse
superado la auditoría Funcional.
Revisión Formal de Certificación: Cuyo objetivo es certificar que el Elemento de
Configuración del Software se comporta correctamente una vez que éste se encuentra en
su entorno operativo.
Auditoria
La auditoría en informática es la revisión y evaluación de los controles, sistemas,
procedimientos de informática y de los equipos de cómputo, su utilización, eficiencia y seguridad,
a fin de que por medio del señalamiento de cursos alternativos se logre una utilización más
eficiente y segura de la información que servirá para una adecuada toma de decisiones.
La auditoría en informática deberá comprender no sólo la evaluación de los equipos de
cómputo o de un sistema o procedimiento específico, sino que además habrá de evaluar los
sistemas de información en general desde sus entradas, procedimientos, controles, archivos,
seguridad y obtención de información. Ello debe incluir los equipos de cómputo como la
herramienta que permite obtener la información adecuada y la organización específica
(departamento de cómputo, departamento de informática, etc.) que hará posible el uso de los
equipos de cómputo.
La auditoría informática es un examen, pues debe partir de una situación dada; éste es
metódico, puesto que seguirá un plan de trabajo perfectamente sistematizado que permite llegar a
conclusiones suficientemente justificadas (está es una conclusión exigible a cualquier auditoría);
es puntual ya que se da un corte en el calendario para llevarla a cabo, y es extraña al servicio de
informática, para obtener la objetividad requerida, por lo que será ejecutada por personas ajenas
al departamento independientes de las funciones a auditar.
El examen de una auditoría informática abarca una serie de controles, verificaciones,
juicios, etc. para concluir en un conjunto de recomendaciones y un plan de acción. Es la
elaboración de este plan de acción lo que diferencia la auditoría informática de una auditoría de
gestión. La auditoría tradicional concluye emitiendo un juicio del estado de todo aquello que se ha
verificado, la auditoría informática avanza un paso más y se atreve a elaborar un plan de acción.
Como se ve la evaluación a desarrollar para la realización de la auditoría en informática
deben hacerla personas con alto grado de conocimiento en informática y con mucha experiencia
en el área.
Bibliografía
Bibliografía obligatoria
Bibliografía opcional
Brule, J. y Blount, A.
Knowledge Acquisition. McGraw Hill. 1989.
Debenham, J.
Knowledge System Design. Prentice Hall. 1989.
Greenwell, M.
Knowledge Engineering for Expert Systems. Ellis Horwood Limited. 1988.
García Martínez, R.
Guía : Sistemas de Inferencia dirigido por Patrones. Editado por CEI. 1995.
García Martínez, R.
Guía : Búsqueda. Editado por CEI. 1995.
García Martínez, R.
Guía : Ingeniería del Conocimiento. Editado por CEI. 1995.
García Martínez, R.
Guía : Introducción a los Sistemas Inteligentes. Editado por CEI. 1995.
Pazos Sierra, J.
Sistemas Expertos. Paraninfo. 1988.