Beruflich Dokumente
Kultur Dokumente
de Software
Curso 05-06
Primera sesin
Pero
Esta situacin no debe ser
una licencia para el todo
vale!!!!
Profesionalidad = Calidad
El objetivo de un Ingeniero
Software debe ser entregar a los
clientes un producto de calidad
Funcionalidad y Fiabilidad
Funcionalidad
El sistema software realiza el trabajo deseado por el
usuario
Fiabilidad
El sistema software se mantiene operativo
Pero...
Cmo se comprueban?
Evaluando la Funcionalidad
Si la Funcionalidad es
El software realiza el trabajo deseado por el
usuario
La Evaluacin se realizar
Comparando el trabajo del sistema con los
deseos del usuario (Especificacin de Requisitos)
Evaluando la Fiabilidad
Si la Fiabilidad es
El sistema software se mantiene operativo
La Evaluacin se realizar
Buscando defectos que provoquen la mala
operacin del sistema
Evaluando Funcionalidad y
Fiabilidad
Cundo se Evalan?
Entonces?
T
ES
S
A
TIC
S
A
C
I
CN
S
A
C
I
M
N
I
D
S
Debe ejercitarse
el
cdigo
adecuadamente
A
C
I
N
C
Evaluacin durante la
construccin
Sistema Aceptado
m
Din
n
Eva
lua
ci
w
eS
d
llo
ica
r ro
sa
tt
De
Es
in
ac
a lu
Ev
ica
Cdigo
Actividades de desarrollo y
actividades de evaluacin
Necesidad del Usuario
Requisitos de
Usuario
Revisin de
Requisitos de
Usuario
Cdigo Aceptado
Definicin de
Requisitos de
Usuario
Revisin de
Requisitos del
Software
Cdigo instalado en
Los sistemas del usuario probado
Definicin de
Requisitos
Software
Pruebas de Sistema
Diseo Arquitectinico
Diseo de la
Arquitectura
Pruebas de Integracin
Cdigo con los
mdulos probados
Revisin del
Diseo
Detallado
Pruebas de Aceptacin
Diseo
Detallado
Pruebas de Unidad
Cdigo
Revisado
Cdigo
Codificacin
Revisin del
Cdigo
Cdigo Revisado
Evaluacin y Defectos
Defecto: Error/Falta/Fallo
Error
Humano
Falta
Fallo
Sistema
Manifestacin
de una falta
DINMICAS
CAS
TCNI
DEFECTO
Tecnicas Estticas
I.- Beneficios
Beneficio 1:
% RESPUESTAS
Requisitos incompletos
13,1%
12,4%
Falta de recursos
10,6%
Expectativas no realistas
9,9%
9,3%
8,7%
Pronta Deteccin
Deteccin
Correccin
Dinmica
Generar casos de
prueba
Detectar el fallo
Buscar la falta
provocadora
Esttica
-------
-------
Buscar la falta
provocadora
Beneficio 2:
Pronta deteccin = Estimacin calidad
Pronta Deteccin
Deteccin de faltas
Correccin
Complecin
Consistencia
Ambigedad
Claridad
Trazabilidad
Atributos de Calidad de
Requisitos
Correccin
Un requisito incorrecto ser aquel que no se corresponde con lo acordado o
adecuado
Completud
Est especificado todo lo que tiene que hacer el sistema y no incluye nada
que el sistema no deba hacer. Cada requisito contiene toda la informacin
necesaria
Consistencia
No hay requisitos contradictorios
Ambigedad
Los requisitos no pueden estar sujetos a interpretacin
Claridad
Correccin
Los errores de correccin se pueden referir a dos aspectos:
Defectos en el uso de la notacin de diseo empleada; Defectos
con respecto a los requisitos
Complecin
Disea todo el sistema marcado por los requisitos y no disea
ninguna parte no indicada en los requisitos
Consistencia
El diseo debe ser consistente entre todas sus partes. No
puede indicarse algo en una parte del diseo, y lo contrario en
otra
Factibilidad
El diseo debe ser realizable. Debe poderse
implementar
Trazabilidad
Se debe poder navegar desde un requisito hasta el
fragmento de diseo donde ste se encuentra
representado
Correccin
Los errores de correccin se pueden referir a varios aspectos:
Defectos en la notacin (algunos detectables en compilacin, otros
no); Defectos con respecto al diseo
Complecin
El cdigo debe estar completo. Nada falta ni nada sobra con respecto
al diseo
Claridad
El cdigo debe ser claro e inteligible
Trazabilidad
Debe ser posible navegar desde un requisito hasta el fragmento de
cdigo donde ste se ejecute, pasando por el fragmento de diseo
PRODUCTO: Todos
Ejercicio de Calidad de
Requisitos
PRODUCTO: Todos
Solucin al Ejercicio
1.
2.
3.
4.
Sentencias if-then
Programa Buscar-en
Programa Hay_mayor_tira
Programa media de nmeros positivos
No se inicializa n
Solucin Programa
Hay_mayor_tira
Solucin Programa
media de nmeros positivos
No se inicializa adecuadamente la
variable suma: suma = 0
Especificacin Programa
media de nmeros positivos
El programa debe calcular la media de los
nmeros positivos de un archivo y la
imprime
Solucin Programa
media de nmeros positivos
No se inicializa adecuadamente la
variable suma: suma = 0
Y si la especificaicn fuera?
Especificacin Programa
media de nmeros positivos
Solucin Programa
media de nmeros positivos
Relacin entre
Programacin y Abstraccin
Obtener una especificacin a
partir de un cdigo significa
recorrer el camino de la
programacin en sentido
inverso
Refinamiento sucesivo:
Programacin
1.
2.
3.
4.
2.
3.
4.
DESCOMPOSICIN
Abstraccin Sucesiva
COMPOSICIN
Abstraccin Sucesiva
1.
2.
3.
4.
5.
2.
3.
2.
3.
SOLUCIN: countespecificacin
count cuenta el nmero de lneas, palabras y caracteres que hay en
cada fichero que se le pasa como argumento. Las palabras son
secuencias de caracteres que estn separadas por uno o ms espacios,
tabuladores o saltos de lnea.
Si alguno de los ficheros que se le pasa como argumento no existe,
aparece por la salida de error el mensaje de error correspondiente y
se contina procesando el resto de ficheros. Si no se indica ningn
fichero, count lee de la entrada estndar.
Se muestra por pantalla los valores computados para cada fichero (junto
con el nombre del fichero) as como la suma total de cada valor para
todos los ficheros. Si se procesa un nico fichero o si se procesan
datos provenientes de la entrada estndar, entonces no se imprime
ninguna suma. La salida se imprime en el orden siguiente: primero
lneas, luego palabras, luego caracteres y finalmente bien el nombre del
fichero o la palabra total para la suma. Si se ha ledo de la entrada
estndar, el cuarto valor (nombre) no aparece.
Programa count
#include <stdio.h>
main (argc, argv)
int argc;
char *argv[];
{
int c, i, inword;
FILE*fp;
long linect, wordct, charct;
long tlinect = 1, twordct = 1, tcharct = 1;
i = 1;
do {
if (argc > 1 && (fp=fopen(argv[i], "r")) ==
fprintf (stdout, "can't open %s\n", argv[i]);
exit (1);
}
linect = wordct = charct = 0;
inword = 0;
while ((c = getc(fp)) != EOF) {
++charct;
if (c == '\n')
++linect;
NULL) {
Programa count
if (c == ' ' || c == '\t' || c == '\n')
inword = 0;
else if (inword == 0) {
inword = 1;
++wordct;
}
}
printf("%7ld %7ld %7ld", linect, wordct, charct);
if (argc > 1)
printf(" %s\n", *argv);
else
printf("\n");
fclose(fp);
tlinect += linect;
twordct += wordct;
tcharct += charct;
} while (++i
<= argc);
if (argc > 1)
printf("%7ld %7ld %7ld total\n",
exit(0);
}
Programa XXXXXX
IV.- Inspecciones
Walkthroughs o Recorridos
Auditorias
Proceso de Inspeccin
1.
Inicio
Planificacin
Lanzamiento
2.
Deteccin de defectos
3.
Recoleccin de defectos
4.
Compilacin
Inspeccin en grupo
Correccin y seguimiento
Correccin
Seguimiento
Proceso de Inspeccin:
Planificacin
Organizador
Moderador
Inspector
Lector
Autor
Escriba
Receptor
Proceso de Inspeccin:
Planificacin
Nmero de participantes
2a5
Seleccin de participantes
Personal involucrado en el desarrollo del
producto
Proceso de Inspeccin:
Lanzamiento
Consiste en una primera reunin donde el
autor explica el producto a inspeccionar a
los otros participantes
Proceso de Inspeccin:
Deteccin de defectos
Proceso de Inspeccin:
Compilacin y Reunin
Compilacin
Los defectos detectados por cada participante en la
inspeccin deben ser reunidos y documentados
Reunin
Debe decidirse si un defecto es realmente un defecto
Reinspeccin?
Alternativas a la reunin
Deposicin
Estudio en la organizacin