Documentos de Académico
Documentos de Profesional
Documentos de Cultura
M Ingenieria de Software
M Ingenieria de Software
1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BASICAS E INGENIERIA
PROGRAMA INGENIERIA DE SISTEMAS
MODULO
Ingeniera del
software
Ingeniera del Software
2
Tabla de contenido
Pag.
INTRODUCCIN 5
PRIMERA UNIDAD. INTRODUCCIN A LA INGENIERA DEL
SOFTWARE
7
!NTRODUCC!ON
1. EL PRODUCTO 8
1.1 Evolucin del Software 9
1.2 El software 10
1.3 Nitos del Software 12
2. EL PROCESO 1+
2.1 !ngenieria del software 1+
2.2 El proceso del software 18
2.3 Nodelos de procesos de software 18
2.+ Nodelo lineal secuencial 19
2.5 Nodelo de construccin de prototipos 21
2.6 Nodelo DRA 2+
2.7 Nodelos evolutivos de software 26
2.8 Nodelo de mtodos formales 30
2.9 Tcnicas de cuarta generacin 30
SEGUNDA UNIDAD. GESTIN Y PLANIFICACIN DE PROYECTOS
SOFTWARE
3+
!NTRODUCC!ON
1. CONCEPTOS SOBRE GEST!ON DE PROYECTOS 35
1.1 Personal 36
1.2 El producto 38
1.3 El proceso 39
1.+ El proyecto +0
2. EL PROCESO DE SOFTWARE Y NTR!CAS DEL PROYECTO +2
2.1 Nedidas, mtricas e indicadores +3
2.2 Ntricas en el proceso y dominios del proyecto +3
2.3 Nediciones del software +9
2.+ Ntricas para la calidad del software 53
2.5 !ntegracin de la mtrica dentro del proceso del software 55
Ingeniera del Software
3
Pag.
3. PLAN!F!CAC!ON DE PROYECTOS DE SOFTWARE 58
3.1. Objetivos de la planificacin del proyecto 58
3.2 Ambito del software 59
3.3 Recursos 60
3.+ Estimacin del proyecto de software 61
3.5 Tcnicas de descomposicin 62
3.6 Nodelos empiricos de descomposicin 6+
4. GEST!ON DEL R!ESGO 72
+.1 Riesgos del software 73
+.2 !dentificacin del riesgo 75
+.3 Proyeccin y evaluacin del riesgo 78
+.+ Reduccin, supervisin y gestin del riesgo 80
+.5 Planificacin temporal del proyecto 82
TERCERA UNIDAD. CONTROL DE CALIDAD DEL SOFTWARE 91
!NTRODUCC!ON
1. GARANT!A DE CAL!DAD DEL SOFTWARE 92
1.1 Conceptos de calidad 93
1.2 Tendencia de la calidad 96
1.3 Garantia de calidad del software 98
1.+ Revisiones del software 99
1.5 Revisiones tcnicas formales 100
1.6 Garantia de calidad estadistica 103
1.7 Fiabilidad del software 105
1.8 Estandar de calidad !SO 9001 106
2. TECN!CAS DE PRUEBA DEL SOFTWARE 111
2.1 Fundamentos de la prueba del software 111
2.2 Diseno de casos de prueba 113
2.3 Prueba de caja blanca 11+
2.+ Prueba del camino basico 11+
2.5 Prueba de la estructura de control 116
2.6 Prueba de caja negra 117
2.7 Prueba de entornos especializados, arquitecturas y aplicaciones 118
Ingeniera del Software
4
Pag.
3.
ESTRATEG!AS DE PRUEBA DEL SOFTWARE 121
3.1 Enfoque para la prueba del software 121
3.2 Aspectos estratgicos 125
3.3 Prueba de unidad 126
3.+ Prueba de integracin 127
3.5 Prueba de validacin 131
3.6 Prueba del sistema 132
3.7 Depuracin 133
4. NETR!CAS TCN!CAS DEL SOFTWARE 135
+.1 Factores de calidad del software 135
+.2 Estructura para las mtricas tcnicas del software 1+1
+.3 Ntricas del modelo de analisis 1+2
+.+ Ntricas del modelo de diseno 1++
+.5 Ntricas del cdigo fuente 1+5
+.6 Ntricas para pruebas 1+6
+.7 Ntricas del mantenimiento 1+7
Ingeniera del Software
5
INTRODUCCIN
El curso Ingeniera de Software tiene como objetivo desarrollar habilidades y adquirir
capacidades en la utilizacin de mtodos y tcnicas para desarrollar y mantener
software de calidad.
El curso tiene 3 crditos acadmicos los cuales comprenden el estudio independiente y
el acompaamiento tutorial, con el propsito de:
Comprender los aspectos tcnicos y de gestin de la disciplina de ingeniera de
software.
Capacitar a los estudiantes en las tcnicas de gestin necesarias para planificar,
organizar, supervisar y controlar proyectos de software.
Fomentar en el estudiante tcnicas de gestin de calidad del software.
Obtener un conjunto de tcnicas de prueba de software con el propsito de
encontrar y corregir errores antes de entregar el software al cliente.
Este curso esta compuesto por tres unidades didcticas a saber:
Unidad 1. Introduccin a la ingeniera de software: se presenta una vista general sobre
la definicin de: ingeniera de software, producto de software, procesos de software, se
determina las caractersticas del software, los mitos del software. Se presenta tambin
los diferentes tipos de proceso y los modelos evolutivos del software.
Unidad 2. Gestin y planificacin de proyectos de software: se trata de determinar como
se debe gestionar el personal, el proceso y el problema durante un proyecto de
software. Se identifican las mtricas de software y cmo pueden emplearse para
gestionar el proceso de software y el proyecto llevado a cabo como parte del proceso.
Unidad 3. Control de calidad del software: se contemplan los aspectos relacionados con
la calidad del software, se identifican los aspectos de gestin y las actividades
especficas del proceso de calidad del software. Se establece la importancia de la
garanta de calidad del software as como se definen las estrategias para los planes de
garanta de calidad del software.
Ingeniera del Software
6
La ingeniera de software es el proceso de construir aplicaciones de tamao o alcance
prcticos, en las que predomina el esfuerzo del software y que satisfacen los
requerimientos de funcionalidad y desempeo. La ingeniera de software, ofrece
mtodos y tcnicas para desarrollar, mantener, producir y asegurar software de
calidad.
Por tal razn, este curso terico pretende describir los aspectos tcnicos y de gestin
de la Ingeniera de Software, as como de establecer la importancia de la garanta de
calidad del software.
Ingeniera del Software
7
INTRODUCCIN
La ingenieria de software es una disciplina que integra procesos, mtodos y
herramientas para el desarrollo de software. varios son los modelos de procesos que se
han propuesto para la ingenieria de software, cada uno presenta ventajas y
desventajas, pero todos tienen en comun fases genricas que permiten llevar a cabo el
proceso de la ingenieria de software.
OBJETIVOS
GENERAL
Comprender los aspectos tcnicos y de gestin de la disciplina de !ngenieria
del Software
ESPECIFICOS
Definicin de !ngenieria de software, producto de software, procesos
de software.
!dentificar los mitos de software
Determinar que es un proceso" de software
!dentificar los procesos que se pueden aplicar al desarrollo del software
Determinar la diferencia entre modelos de proceso lineales e iterativos
UNIDAD 1.
INTRODUCCIN A LA INGENIERA
DEL SOFTWARE
Ingeniera del Software
8
ESTRUCTURA TEMTICA
1. EL PRODUCTO
El software es el producto que disenan y construyen los ingenieros del software de
cualquier tamano y arquitectura.
El
Software
es
importante
Afecta cualquier aspecto de nuestras vidas
Afecta las actividades cotidianas
Esta muy extendido en el comercio
Porque
Desde
El producto obtenido
(software)
El punto de vista
del !ngeniero del
Software
El punto de vista
del Usuario
El conjunto de programas,
documentos y los datos que
configuran el software de
computadora
La informacin resultante
que hace el mundo mejor.
es
es
Ingeniera del Software
9
1.1 La evolucin del Software
1
Primeros Aos Segunda era
El software estaba en su infancia
El software era un anadido
Existian pocos mtodos para la programacin
No se tenia una planificacin para el desarrollo
del software
Los programadores trataban de hacer las cosas
bien
El software se disenaba a medida
El software era desarrollado y utilizado por la
misma persona u organizacin (entorno
perzonalizado)
El diseno de software era realizado en la mente
de alguien y no existia documentacin
Aparece la multiprogramacin y los sistemas
multiusuario
Establecimiento del software como producto y la
llegada de las casas de software
El software se desarrollaba para ser
comercializado
Se empez a distribuir software para grandes
computadoras y minicomputadores
Comenz a extenderse las bibliotecas de
software
El mantenimiento de software comenz a
absorber recursos en una gran medida.
Comenz una crisis del software porque la
naturaleza personalizada de los programas hizo
imposible su mantenimiento.
Tercera era Cuarta era
Complejidad alta en los sistemas informaticos
Sistemas distribuidos
!ncorporacin de inteligencia"
Ejecucin de funciones concurrentes
Desarrollo de software para redes y
comunicaciones
Planificacin en el proceso del desarrollo de
software
!mpacto colectivo del software
Sistemas operativos operativos sofisticados , en
redes globales y locales
Aplicaciones de software avanzadas
Entorno clientefcliente servidor
Superautopista de informacin y una conexin
del ciberespacio
La industria del software es la cuna de la
economia
Tecnologias orientadas a objetos
Tcnicas de cuarta generacin para el desarrollo
de software
Software de redes neuronales
Sistemas expertos e inteligencia artificial
Programacin de realidad virtual y sistemas
multimedia
Algoritmos genticos
Adopcin de practicas de !ngenieria del software
1
Roger S. Pressman. Ingenieria del soItware. Un enIoque practico. Cuarta edicion.
1950 1960 1970 1980 1990 2003
Primeros Aos
Segunda Era
Tercera Era Cuarta Era
Ingeniera del Software
10
1.2 El Software
El software se ha convertido en el elemento clave de la evolucin de los sistemas y
productos informaticos, y por tal razn no se puede tomar como slo el conjunto de
programas, instrucciones y estructuras de datos. A continuacin se presentan algunas
caracteristicas que permiten visualizar lo que en realidad es el software.
1.2.1 Caractersticas del Software
1.2.2 Aplicaciones del software
El software tiene una gran amplitud de aplicaciones. A continuacin se relacionan:
Se desarrolla, no se fabrica: se utiliza un modelo de proceso
de desarrollo que comprende analisis, diseno, desarrollo,
implementacin y evaluacin para obtener un producto de calidad.
No se "estropea", pero se deteriora: El software durante su
vida sufre cambios por lo que es probable que surjan fallos y
defectos que si no se corrigen permiten que el software se vaya
deteriorando.
Se construye a medida: a medida que el software evoluciona
se crean estandares de diseno. El software debe disenarse e
implementarse para que pueda ser reutilizable.
El
software
Ingeniera del Software
11
Software de sistemas
Conjunto de programas creados como herramienta para
otros programas. Por ejemplo: compiladores, Sistemas
operativos
Software de gestin
Gestin de grandes cantidades de informacin
almacenadas, para facilitar la toma de decisiones. Por
ejemplo Bases de datos y aplicaciones de gestin de
empresa
Software de ingenieria
y cientifico
Utiliza algoritmos de manejo de numeros, simulacin de
sistemas, utiliza software en tiempo real. Por ejemplo:
aplicaciones de astronomia, vulcanologia, fabricacin
automatica.
Software de tiempo
real
El software que coordina f analizaf controla sucesos del
mundo real conforme ocurren, se denomina de tiempo
real.
Software empotrado
Reside en memoria de slo lectura y se utiliza para
controlar productos y sistemas de los mercados
industriales. Por ejemplo, el control de las teclas de un
horno de microondas, funciones digitales en un automvil.
Software para PC
Aplicaciones orientadas a usuarios individuales o
multiusuarios. Por ejemplo: procesadores de texto, hojas
de calculo, juegos, aplicaciones financieras, gestores de
bases de datos.
Ingeniera del Software
12
1.3 Mitos del software
Los mitos de software propagaron informacin errnea y confusin, lo que conllevo a la
crisis del software durante los primeros anos del desarrollo del software.
Nitos de gestin
Tenemos ya un libro que esta lleno de estandares y procedimientos para construir
software, cno le proporciona ya a mi gente todo lo que necesita saber?
Ni gente dispone de las herramientas de desarrollo de software mas avanzadas,
despus de todo, les compramos las computadoras mas modernas.
Si fallamos en la planificacin, podemos anadir mas programadores y adelantar el
tiempo perdido.
Nitos del Cliente
Una declaracin general de los objetivos es suficiente para comenzar a escribir los
programas.
Los requisitos del proyecto cambian continuamente, pero los cambios pueden
acomodarse facilmente, ya que el software es flexible.
Nitos de los desarrolladores
Software de
inteligencia artificial
Hace uso de algoritmos no numricos para resolver
problemas complejos. Por ejemplo: sistemas expertos,
redes neuronales, robtica, prueba de teoremas y juegos.
Ingeniera del Software
13
ACTIVIDADES COMPLEMENTARIAS
1. Nuchos autores han tratado el impacto de la era de la informacin". D varios
ejemplos (positivos y negativos) que indiquen el impacto del software en nuestra
sociedad.
2. Escriba un informe que resuma las ventajas recientes en una de las areas de
aplicaciones de software principales. Entre las selecciones potenciales se
incluyen: aplicaciones avanzadas basadas en Web, realidad virtual, redes
neuronales artificiales, interfaces humanas avanzadas y agentes inteligentes.
3. Analice y describa la Realidad" para cada uno de los mitos descritos en el
numeral 1.3.
CONSULTAS WEB
Glosario de trminos de software, en: http:ffdxsting.cern.chfstingfglossary.html
En www.spmn.com, informacin sobre los mitos del software.
Ingeniera del Software
14
2. EL PROCESO
Es una serie de pasos a seguir para construir un producto o un sistema. El proceso del
software es importante porque proporciona estabilidad, control y organizacin a una
actividad que puede, si no se controla, volverse catica.
2.1 Ingeniera del Software
A nivel internacional, la !ngenieria de Software empieza a tomar un papel fundamental y
como un area de la !ngenieria. A continuacin se relacionan algunas definiciones de
!ngenieria del Software:
de
para
de
es
!ngenieria de software
el conjunto
Principios Ntodos Tcnicas
Desarrollar Nantener
Software
Calidad
Ingeniera del Software
15
1 Zelkovitz. Principles of Software Engineering and Design.
!ngenieria del software es el estudio de los principios y metodologias para
desarrollo y mantenimiento de sistemas de software.
Boehm. Software Engineering.
!ngenieria del software es la aplicacin practica del conocimiento cientifico
en el diseno y construccin de programas de computadora y la
documentacin asociada requerida para desarrollar, operar y mantenerlos.
Bauer. Software Engineering.
!ngenieria del software trata del establecimiento de los principios y
mtodos de la ingenieria a fin de obtener software de modo rentable que
sea fiable y trabaje en maquinas reales.
Pressman. Ingeniera del Software
La !ngenieria defl software es una disciplina o area de la informatica o
Ciencias de la Computacin, que ofrece mtodos y tcnicas para
desarrollar y mantener software de calidad que resuelven problemas de
todo tipo.
2
3
+
Braude. Ingeniera de Software
La ingenieria de software es el proceso de construir aplicaciones de
tamano o alcance practicos, en las que predomina el esfuerzo del software
y que satisfacen los requerimientos de funcionalidad y desempeno..
5
IEEE
La aplicacin de un enfoque sistematico, disciplinado y cuantificable hacia
el desarrollo, operacin y mantenimiento del software; es decir, la
aplicacin de ingenieria al software.
6
Ingeniera del Software
16
2.1.1 Proceso, mtodos y herramientas
La ingenieria del software es una tecnologia multicapa, y que se apoya sobre un
enfoque de calidad.
Enfoque de calidad Gestin total de calidad. Cultura continua de mejoras
de procesos.
Proceso Define un numero de actividades del marco de trabajo
aplicables a todos los proyectos del software.
Mtodos !ndican cmo" construir tcnicamente el software.
Abarcan una gran gama de tareas que incluyen analisis
de requisitos, diseno, construccin de programas,
pruebas y mantenimiento.
Herramientas Soporte automatico o semi-automatico para el proceso
y los mtodos
2.1.2 Visin general de la Ingeniera del software
La ingenieria es el analisis, diseno, construccin, verificacin y gestin de entidades
tcnicas.
El trabajo que se asocia a la ingenieria del software se puede dividir en tres fases, con
independencia del area de aplicacin, tamano o complejidad del proyecto.
Enfoque de calidad
Herramientas
Proceso
Ntodos
Ingeniera del Software
17
1 Fase de definicin
Se centra sobre el qu. !dentificar qu informacin ha de ser procesada,
que funcin y rendimiento se desea, qu comportamiento del sistema, qu
interfaces van a ser establecidas, qu restricciones de diseno existen, y qu
criterios de validacin se necesitan para definir un sistema correcto.
!dentificar los requisitos del sistema y del software.
Las tareas especificas de esta fase son:
o
oo !ngenieria de Sistemas o de informacin
o
oo Planificacin del proyecto software
o
oo Analisis de requerimientos
2
Fase de desarrollo
Se centra en el cmo. Definir cmo han de disenarse las estructuras de
datos, cmo ha de implementarse la funcin dentro de una arquitectura de
software, cmo ha de implementarse los detalles procedimentales, cmo
han de caracterizarse interfaces, cmo ha de traducirse el diseno en un
lenguaje de programacin y cmo ha de realizarse la prueba.
Las tareas especificas de esta fase son:
o
oo Diseno del software
o
oo Generacin de cdigo
o
oo Prueba del software
3 Fase de mantenimiento
Se centra en el cambio.
Correccin de errores
Adaptaciones requeridas a medida que evoluciona el entorno del software
Cambios debidos a las mejoras producidas por los requisitos cambiantes
del cliente
Se encuentran cuatro tipos de cambio:
o
oo Correccin
o
oo Adaptacin
o
oo Nejora
o
oo Prevencin
Ingeniera del Software
18
2.2 El Proceso del Software
Un proceso de software se puede caracterizar asi:
2.3 Modelos de proceso del Software
Es importante incorporar estrategias de desarrollo que acompane al proceso, mtodos y
a las herramientas.
Una estrategia a menudo de llama modelo de proceso o paradigma de ingenieria del
software. Se selecciona un modelo de proceso para la ingenieria del software segun la
naturaleza del proyecto y de la aplicacin, los mtodos y las herramientas a utilizarse, y
los controles y entregas que se requieren.
Narco de trabajo comun del proceso
Actividades de Proteccin
Actividades del marco de trabajo
Conjuntos de tareas
Tareas
Hitos, entregas
Puntos SQA
Son independientes de
cualquier actividad del marco
de trabajo y aparecen durante
todo el proceso.
Permiten que las actividades del
marco de trabajo se adapten a
las caracteristicas del proyecto
del software y a los requisitos del
proyecto.
Aplicables a todos los proyectos de
software, con independencia de su
tamano o complejidad.
Ingeniera del Software
19
2.4 El modelo lineal secuencial
Llamado algunas veces ciclo de vida basico" o modelo en cascada", el modelo lineal
secuencial sugiere un enfoque sistematico, secuencial, para el desarrollo del software
que comienza en un nivel de sistemas y progresa con el analisis, diseno, codificacin,
pruebas y mantenimiento.
Es un ciclo de vida en sentido amplio, que incluye no slo las etapas de ingenieria sino
toda la vida del producto: las pruebas, el uso (la vida util del software) y el
mantenimiento.
Ingeniera del
Sistema
Analisis de las caracteristicas y el comportamiento del sistema del
cual el software va a formar parte.
Para un sistema nuevo: Se debe analizar cuales son los requisitos
funciones del sistema, y luego asignar un subconjunto de estos
requisitos y funciones al software.
Para un sistema ya existente: se debe analizar el funcionamiento
de la organizacin y sus operaciones y se asigna al software
aquellas funciones que se van a automatizar.
Esta formado por diagramas y por descripciones en lenguaje
natural.
!ngenieria
del Sistema
Analisis
Diseno
Codificacin
Prueba
Utilizacin
Nantenimiento
Ingeniera del Software
20
Anlisis Se debe comprender cuales son los datos que se van a manejar,
cual va a ser la funcin que tiene que cumplir el software, cuales
son las interfaces requeridas y cual es el rendimiento y otros
requisitos no funcionales que se esperan lograr.
Los requisitos, tanto del sistema como del software deben
documentarse y revisarse con el cliente. Como resultado del la fase
de analisis, se obtiene la especificacin de requisitos del software.
Tambin esta formado por diagramas y descripciones en lenguaje
natural.
Diseo El diseno se aplica a cuatro caracteristicas distintas del software: la
estructura de los datos, la arquitectura de las aplicaciones, la
estructura interna de los programas y las interfaces.
El diseno es el proceso que traduce los requisitos en una
representacin del software de forma que pueda conocerse la
arquitectura, funcionalidad e incluso la calidad del mismo antes de
comenzar la codificacin.
En el diseno, los requisitos del software se traducen a una serie de
diagramas que representan la estructura del sistema software, de
sus datos, de sus programas y de sus interfaces.
Codificacin Consiste en la traduccin del diseno a un formato que sea
comprensible para la maquina. Si el diseno es lo suficientemente
detallado, la codificacin es relativamente sencilla, y puede hacerse
de forma automatica, usando generadores de cdigo.
Se traducen los diagramas de diseno a un lenguaje fuente, que
luego se traduce - se compila - para obtener un programa
ejecutable.
Prueba El objetivo es comprobar que no se hayan producido errores en
alguna de las fases anteriores, especialmente en la codificacin. Se
deben probar todas las sentencias, y todos los mdulos que forman
parte del sistema.
Utilizacin El software se entrega al cliente y comienza la vida util del mismo.
Mantenimiento El software sufrira cambios a lo largo de su vida util. Estos cambios
pueden ser debidos a tres causas:
Que, durante la utilizacin, el cliente detecte errores en el
software: los errores latentes.
Que se produzcan cambios en alguno de los componentes del
sistema.
Que el cliente requiera modificaciones funcionales no
contempladas en el proyecto.
Ingeniera del Software
21
2.5 El modelo de construccin de prototipos
Paso Descripcin
Identificar los
requerimientos
conocidos
Los analistas y los usuarios trabajan juntos para identificar los
requerimientos conocidos que tienen que satisfacerse.
Se debe: determinar los fines del sistema y el alcance de su
capacidad.
No
Si
!dentificar los
requerimientos
conocidos
Desarrollar
modelo que
funcione
Utilizar el
prototipo
Revisar el
prototipo
cPrototipo
Terminado?
Abandonar la aplicacin
!mplantar la aplicacin
volver a desarrollar la
aplicacin
Comenzar un nuevo
prototipo
Ingeniera del Software
22
Paso Descripcin
Desarrollar
modelo
que
funcione
Los desarrolladores explican a los usuarios:
El mtodo
Las actividades a realizar
La secuencia en que se llevara a cabo
La responsabilidad de cada participante
El proceso de construccin del prototipo se debe iniciar con el
desarrollo de un plan general que permita conocer el proceso de
desarrollo.
Es importante definir un cronograma para el inicio y fin de la
primera iteracin.
El desarrollador estima los costos asociados con el desarrollo del
prototipo.
En el desarrollo del prototipo se preparan los siguientes
componentes:
El lenguaje de dialogo o conversacin entre el usuario y el
sistema
Pantallas y formatos para la entrada de datos
Ndulos esenciales de procesamiento
Salida del sistema
En esta fase no se prepara la documentacin ni las especificaciones
de salida o de diseno del software.
Utilizar el
prototipo
La responsabilidad de trabajar con el prototipo y evaluar sus
caracteristicas y operacin es del usuario.
La experiencia con el sistema bajo condiciones reales permite
determinar los cambios o mejoras o eliminar caracteristicas
innecesarias.
Debe
describir
Primera
!teracin
Los reportes y documentos que el
sistema debe proporcionar
El formato de cada uno de ellos.
Ingeniera del Software
23
Paso Descripcin
Revisar el
prototipo
Se realiza la evaluacin y con la informacin obtenida se levantan
las caracteristicas que debe llevar la siguiente versin del prototipo.
La evaluacin permite profundizar los rasgos de los usuarios y los
de la organizacin que tienen influencia sobre la aplicacin y en su
implementacin.
Los cambios en el prototipo son planificados con los usuarios antes
de llevarlos a cabo por el analista.
Prototipo
terminado?
Los pasos anteriores se repiten varias veces (+ o 6 iteraciones)
cuando los usuarios y desarrolladores estan de acuerdo en que el
sistema ha evolucionado lo suficiente e incluye todas las
caracteristicas necesarias.
Cuando el prototipo esta terminado, el paso que sigue a
continuacin es tomar la decisin sobre cmo proceder, para lo
cual existen cuatro opciones:
Abandonar la aplicacin
Se descartan el prototipo y la aplicacin. El desarrollo del prototipo
proporcion informacin a partir de la cual se determin que la
aplicacin o el enfoque seleccionado son inapropiados para
justificar un desarrollo adicional.
Implantar el prototipo
Las caracteristicas y funcionamiento del prototipo satisfacen las
necesidades de los usuarios ya sea en forma permanente o para un
futuro.
Volver a desarrollar la aplicacin
El desarrollo del prototipo proporcion suficiente informacin para
determinar las caracteristicas necesarias de toda la aplicacin. La
informacin se utiliza como punto de partida para el desarrollo de
la aplicacin en forma tal haga el mejor uso posible de los
recursos.
Comenzar un nuevo prototipo
La informacin ganada con el desarrollo del prototipo inicial
sugiere otras opciones o circunstancia. Se construye un prototipo
diferente para anadir informacin relacionada con los
requerimientos de aplicacin.
Ingeniera del Software
24
Un prototipo puede tener alguna de las tres formas siguientes:
2.6 El modelo DRA {Desarrollo Rpido de Aplicaciones)
1 Un prototipo, en papel o ejecutable en computador, que describa la
interaccin hombre-maquina y los listados del sistema.
2
Un prototipo que implemente algun(os) subconjunto(s) de la funcin
requerida, y que sirva para evaluar el rendimiento de un algoritmo o las
necesidades de capacidad de almacenamiento y velocidad de calculo del
sistema final.
3 Un programa que realice en todo o en parte la funcin deseada pero que
tenga caracteristicas que deban ser mejoradas durante el desarrollo del
proyecto.
un
que
del
es un
DRA
modelo de proceso
Desarrollo del software
Enfatiza
Ciclo de
desarrollo
corto
Ingeniera del Software
25
El proceso DRA permite al equipo de desarrollo crear un sistema completamente
funcional" dentro de periodos cortos de tiempo (de 60 a 90 dias). El enfoque DRA
comprende las siguientes fases:
Modelado de
gestin
El flujo de informacin entre las funciones de gestin se modela de
forma que responda a las siguientes preguntas: cQu informacin
conduce al proceso de gestin? cQu informacin se genera?
cQuin la genera? cA dnde va la informacin? cQuin la procesa?
Equipo N. 1
Equipo N. 2
Modelado
de gestin
Modelado
de datos
Modelado
de
procesos
Pruebas y
entrega
Generacin
de
aplicaciones
60-90 das
Modelado
de gestin
Modelado
de datos
Modelado
de
procesos
Pruebas y
entrega
Generacin
de
aplicaciones
Modelado
de gestin
Modelado
de datos
Modelado
de
procesos
Pruebas y
entrega
Generacin
de
aplicaciones
Equipo N. 3
Ingeniera del Software
26
Modelado de
datos
Conjunto de objetos de datos necesarios para apoyar la empresa.
Se definen las caracteristicas (atributos) de cada uno de los objetos
y las relaciones entre estos objetos.
Modelado del
proceso
Los objetos de datos definidos en la fase de modelado de datos
quedan transformados para lograr el flujo de informacin necesario
para implementar una funcin de gestin. Las descripciones del
proceso se crean para anadir, modificar, suprimir o recuperar un
objeto de datos.
Generacin de
aplicaciones
El DRA asume la utilizacin de tcnicas de cuarta generacin. En
lugar de crear software con lenguajes de programacin de tercera
generacin, el proceso DRA trabaja para volver a utilizar
componentes de programas ya existentes o crear componentes
reutilizables.
Pruebas y
Entrega
Como el proceso DRA enfatiza la reutilizacin, ya se han
comprobado muchos de los componentes de los programas. Esto
reduce tiempo de pruebas. Sin embargo, se deben probar todos los
componentes nuevos y se deben ejercitar todas las interfaces a
fondo.
2.7 Modelos de procesos evolutivos de software
cada vez por
se
son
Los
modelos
evolutivos
iterativos
caracterizan
desarrollar
versiones
mas completas
del software
Ingeniera del Software
27
2.7.1 El modelo incremental
El modelo incremental se centra en la entrega de un producto operacional con cada
incremento.
Los primeros incrementos son versiones incompletas" del producto final, pero
proporcionan al usuario la funcionalidad necesaria para su evaluacin.
y la
el
combina
El modelo incremental
Nodelo lineal secuencial Construccin de prototipos
para
Entregar el software
en
Partes pequenas
llamadas
Incrementos
Ingeniera del Software
28
Anlisis Diseo Cdigo Prueba
Ingeniera de
Sistemas / Informacin incremento 1
Entrega
1er. Incremento
Anlisis Diseo Cdigo Prueba
Entrega
2do. Incremento
incremento 2
Anlisis Diseo Cdigo Prueba
Entrega
3er. Incremento
incremento 3
Anlisis Diseo Cdigo Prueba
Entrega
4to. Incremento
incremento 4
Tiempo
2.7.2 El modelo espiral
En las primeras iteracciones, la versin incremental podria ser un modelo en papel o un
prototipo.
Durante las ultimas iteraciones, se producen versiones cada vez mas completas del
sistema disenado.
proporciona
conjuga
es un
proceso de
software
evolutivo
Nodelo
Espiral
construccin de prototipos
modelo lineal secuencial
Un desarrollo rapido de
versiones incremntales del
software
Ingeniera del Software
29
Actividades
del modelo
en espiral
Comunicacin con el cliente: Se establece comunicacin
entre el desarrollador y el cliente.
Planificacin: Se definen los recursos, el tiempo y otra
informacin relacionadas con el proyecto.
Anlisis de riesgos: Se evaluan riesgos tcnicos y de gestin
Ingeniera: Se construyen una o mas representaciones de la
aplicacin.
Construccin y accin: Construir, probar, instalar y
proporcionar soporte al usuario.
Evaluacin del cliente: Se obtiene la reaccin del cliente. Se
realiza la evaluacin de las representaciones del software
creadas durante la etapa de ingenieria e implementada durante
la etapa de instalacin.
Ingeniera del Software
30
El equipo de ingenieria del software gira alrededor de la espiral en la direccin de las
agujas del reloj, comenzando por el centro.
El primer circuito de la espiral puede producir el desarrollo de una especificacin de
productos; los pasos siguientes en la espiral se podrian utilizar para desarrollar un
prototipo y progresivamente versiones mas sofisticadas del software. Cada paso por la
regin de planificacin produce ajustes en el plan del proyecto. El costo y la
planificacin se ajustan con la realimentacin ante la evaluacin del cliente. Ademas, el
gestor del proyecto ajusta el numero planificado de iteraciones requeridas para
completar el software.
2.S El modelo de mtodos formales
El modelo de mtodos formales comprende un conjunto de actividades que conducen a
la especificacin matematica del software de computadora. Los mtodos formales
permiten que un ingeniero de software especifique, desarrolle y verifique un sistema
basado en computadora aplicando una notacin rigurosa y matematica.
Este enfoque es llamado ingenieria del software de sala limpia .
Cuando se utilizan mtodos formales se descubren y corrijen ambigedades,
inconsistencias y errores .
2.9 Tcnicas de cuarta generacin
Abarca un conjunto de herramientas que facilitan al ingeniero del software la
especificacin de las caracteristicas del software a alto nivel.
La herramienta genera automaticamente el cdigo fuente basandose en la
especificacin del tcnico. Cuanto mayor sea el nivel en el que se especifique el
software, mas rapido se puede construir el programa.
El paradigma T+G para la ingenieria del software se orienta hacia la posibilidad de
especificar el software usando formas de lenguaje especializado o notaciones graficas
que describa el problema que hay que resolver en trminos que los entienda el cliente.
Ingeniera del Software
31
las etapas
incluye
El paradigma
T+G
Generacin de informes
Nanejo de datos
Generacin de cdigos
Capacidades graficas
n
F
i
a
b
i
l
i
d
a
d
E
f
i
c
i
e
n
c
i
a
!
n
t
e
g
r
i
d
a
d
N
a
n
t
e
n
i
m
i
e
n
t
o
F
l
e
x
i
b
i
l
i
d
a
d
C
a
p
a
c
i
d
a
d
d
e
p
r
u
e
b
a
s
P
o
r
t
a
b
i
l
i
d
a
d
R
e
u
s
a
b
i
l
i
d
a
d
!
n
t
e
r
o
p
e
r
a
t
i
v
i
d
a
d
U
s
a
b
i
l
i
d
a
d
Facilidad de auditoria
X X
Exactitud
X
Estandarizacin de comunicaciones
X
Complexin
X
Complejidad
X X X
Concisin
X X X
Consistencia
X X X X
Estandarizacin de datos
X
Tolerancia a errores
X
Eficiencia de ejecucin
X
Capacidad de expansin
X
Generalidad
X X X X
!ndependencia del hardware
X X
!nstrumentacin
X X X
Nodularidad
X X X X X X X
Operatividad
X X
Seguridad
X
Autodocumentacin
X X X X X
Simplicidad
X X X X
!ndependencia del sistema
X X
Trazabilidad
X
Facilidad de formacin
X
Ingeniera del Software
139
4.1.2 FURPS
El modelo de NcCall ha servido de base para modelos de calidad posteriores, y este es
el caso del modelo FURPS, producto del desarrollo de Hewlett-Packard. En este modelo
se desarrollan un conjunto de factores de calidad de software, bajo el acrnimo de
FURPS.
F Functionality - funcionalidad
U Usability - usabilidad - facilidad de uso
R Reliability - confiabilidad
P Performance - desempeno
S Supportability - capacidad de soporte
La siguiente tabla, presenta la clasificacin de los atributos de calidad que se incluyen
en el modelo, junto con las caracteristicas asociadas a cada uno (Pressman, 2002).
Factor de Calidad Atributos
Funcionalidad
Caracteristicas y capacidades del programa
Generalidad de las funciones
Seguridad del sistema
Facilidad de uso
Factores humanos
Factores estticos
Consistencia de la interfaz
Documentacin
Confiabilidad
Frecuencia y severidad de las fallas
Exactitud de las salidas
Tiempo medio de fallos
Capacidad de recuperacin ante fallas
Capacidad de prediccin
Rendimiento velocidad del procesamiento
Tiempo de respuesta
Consumo de recursos
Rendimiento efectivo total
Eficacia
Capacidad de Soporte Extensibilidad
Adaptabilidad
Capacidad de pruebas
Capacidad de configuracin
Compatibilidad
Requisitos de instalacin
Ingeniera del Software
140
El modelo FURPS incluye, ademas de los factores de calidad y los atributos, restricciones
de diseno y requerimientos de implementacin, fisicos y de interfaz. Las restricciones de
diseno especifican o restringen el diseno del sistema. Los requerimientos de
implementacin especifican o restringen la codificacin o construccin de un sistema
(por ejemplo, estandares requeridos, lenguajes, politicas). Por su parte, los
requerimientos de interfaz especifican el comportamiento de los elementos externos con
los que el sistema debe interactuar. Por ultimo, los requerimientos fisicos especifican
ciertas propiedades que el sistema debe poseer, en trminos de materiales, forma,
peso, tamano (por ejemplo, requisitos de hardware, configuracin de red).
4.1.3 Factores de calidad ISO 9126
El estandar !SOf!EC 9126 ha sido desarrollado en un intento de identificar los atributos
clave de calidad para un producto de software (Pressman, 2002). Este estandar es una
simplificacin del Nodelo de NcCall, e identifica seis caracteristicas basicas de calidad
que pueden estar presentes en cualquier producto de software. El estandar provee una
descomposicin de las caracteristicas en subcaracteristicas, que se muestran en la
siguiente tabla:
Caracterstica Subcaracterstica
Funcionalidad
Adecuacin
Exactitud
!nteroperabilidad
Seguridad
Confiabilidad
Nadurez
Tolerancia a fallas
Recuperabilidad
Usabilidad
Entendibilidad
Capacidad de aprendizaje
Operabilidad
Eficiencia Comportamiento en tiempo
Comportamiento de recursos
Mantenibilidad
Analizabilidad
Nodificabilidad
Estabilidad
Capacidad de pruebas
Portabilidad
Adaptabilidad
!nstalabilidad
Reemplazabilidad
!SOf!EC 9126 no son necesariamente usados para mediciones directas (Pressman,
Ingeniera del Software
141
2002), pero proveen una valiosa base para medidas indirectas, y una excelente lista
para determinar la calidad de un sistema.
4.2 ESTRUCTURA PARA LAS MTRICAS TCNICAS DEL SOFTWARE
Es importante establecer una estructura fundamental y un conjunto de principios
basicos para la medicin de mtricas tcnicas para el software.
Los principios basicos de la medicin, sugeridos por Roche, pueden caracterizarse
mediante cinco actividades:
Formulacin Obtencin de medidas y mtricas del software apropiadas para la
representacin del software.
Coleccin Necanismo empleado para acumular datos necesarios para
obtener las mtricas formuladas.
Anlisis Calculo de las mtricas y aplicacin de herramientas matematicas.
Interpretacin Evaluacin de los resultados de las mtricas en un esfuerzo por
conseguir una visin interna de la calidad de la representacin.
Realimentacin Recomendaciones obtenidas de la interpretacin de mtricas
tcnicas transmitidas al equipo software.
Los principios que se pueden asociar con la formulacin de las mtricas tcnicas son los
siguientes:
o
oo Los objetivos de la medicin que deben establecerse antes de empezar la
recoleccin de datos.
o
oo Todas las tcnicas sobre mtricas deben definirse sin ambigedades.
o
oo Las mtricas deberian obtenerse basandose en una teoria valida para el dominio
de aplicacin.
o
oo Hay que hacer las mtricas a medida para acomodar mejor los productos y
procesos especificos.
Roche sugiere los siguientes principios para la recoleccin y analisis de datos:
o
oo Siempre que sea posible, la recogida de datos y el analisis debe automatizarse.
o
oo Se deben aplicar tcnicas estadisticas validas para establecer las relaciones entre
los atributos internos del producto y las caracteristicas externas de la calidad.
o
oo Se deben establecer directrices de interpretacin y recomendaciones para todas
las mtricas.
Ingeniera del Software
142
La mtrica obtenida y las medidas que conducen a ello deben tener las siguientes
caracteristicas:
o
oo Simples y faciles de calcular.
o
oo Empirica e intuitivamente persuasivas.
o
oo Consistentes y objetivas.
o
oo Consistentes en el empleo de unidades y tamanos.
o
oo !ndependiente del lenguaje de programacin.
o
oo Un mecanismo eficaz para la realimentacin de calidad.
4.3 MTRICAS DEL MODELO DE ANLISIS
En esta fase, las mtricas tcnicas proporcionan una visin interna a la calidad del
modelo de analisis. Estas mtricas examinan el modelo de analisis con la intencin de
predecir el "tamano" del sistema resultante; es probable que el tamano y la complejidad
del diseno estn directamente relacionadas.
Dentro de las mtricas del modelo de analisis tenemos:
Mtricas basadas en la Funcin
La mtrica del punto de funcin se utiliza como medio para predecir el tamano de un
sistema obtenido a partir de un modelo de analisis. Para visualizar esta mtrica se
utiliza un diagrama de flujo de datos, el cual se evaluar para determinar las siguientes
medidas clave que son necesarias para el calculo de la mtrica de punto de funcin:
Numero de entradas del usuario
Numero de salidas del usuario
Numero de consultas del usuario
Numero de archivos
Numero de interfaces externas
La conceptualizacin de esta mtrica ya fue expuesta en la unidad 2, de ste mdulo.
Ingeniera del Software
143
Mtrica Bang
Puede aplicarse para desarrollar una indicacin del tamano del software a implementar
como consecuencia del modelo del analisis.
Para calcular la mtrica bang, el desarrollador de software evala primero un conjunto
de primitivas. Las primitivas se determinan evaluando el modelo de anlisis y
desarrollando cuentas para los siguientes elementos:
Primitivas funcionales (Pfu) Transformaciones que aparecen en el nivel inferior de
un diagrama de flujo de datos.
Elementos de datos (ED) Los atributos de un objeto de datos, los elementos
de datos no compuestos y aparecen en el diccionario
de datos.
Objetos (OB) Objetos de datos.
Relaciones (RE) Las conexiones entre objetos de datos.
Estados (ES) El nmero de estados observables por el usuario en el
diagrama de transicin de estados.
Transiciones (TR El nmero de transacciones de estado en el diagrama
de transicin de estado.
Adems, se determinan medidas adicionales para:
Primitivas modificadas de
funcin manual (PMFu)
Funciones que caen fuera del lmite del sistema y que
deben modificarse para acomodarse al nuevo
sistema.
Elementos de datos de
entrada (EDE)
Aquellos elementos de datos que se introducen en el
sistema.
Elementos de datos de
salida (EDS)
Aquellos elementos de datos que se sacan en el
sistema.
Elementos de datos
retenidos (EDR)
Aquellos elementos de datos que son retenidos
(almacenados) por el sistema.
Muestras (tokens) de datos
(TCi)
Las muestras de datos que existen en el lmite de la i-
sima primitiva funcional (evaluada para cada
primitiva).
Conexiones de relacin
(Rei)
Las relaciones que conectan el i-simo objeto en el
modelo de datos con otros objetos.
Ingeniera del Software
144
4.4 MTRICAS DEL MODELO DE DISEO
Se concentran en las caracteristicas de la arquitectura del programa, con nfasis en la
estructura arquitectnica y en la eficiencia de los mdulos.
Estas mtricas son de caja negra en el sentido que no requieren ningun conocimiento
del trabajo interno de un mdulo en particular del sistema.
Card y Glass definen las siguientes tres medidas de complejidad:
Fenton sugiere varias mtricas de morfologia simples que permiten comparar diferentes
arquitecturas mediante un conjunto de dimensiones directas.
La complejidad estructural, S(i), de un mdulo i se define de la siguiente manera:
S(i)=f
2
out
(i). Donde f
out
(i) es la expansin del mdulo i. La expansin indica el
numero de mdulos que son invocados directamente por el mdulo i.
La complejidad de datos, D(i), proporciona una indicacin de la complejidad en la
interfaz interna de un mdulo i y se define como: D(i)=v(i)f[f
out
(i) + 1|. Donde v(i)
es el numero de variables de entrada y salida que entran y salen del mdulo i.
La complejidad del sistema, C(i), se define como la suma de las complejidades
estructural y de datos : C(i)= S(i) + D(i)
Ingeniera del Software
145
Las mtricas a aplicar son:
Tamano= n + a . Donde n es el numero de nodos (mdulos) y a es el numero de
arcos (lineas de control). Para la arquitectura mostrada se tiene tamano=
17+18=35.
Profundidad= camino mas largo desde el nodo raiz a un nodo hoja. Para el
ejemplo Profundidad= +
Amplitud=numero maximo de nodos de cualquier nivel de la arquitectura. Para el
ejemplo amplitud= 6
Relacin arco a nodo, r=afn, mide la densidad de conectividad de la arquitectura y
proporciona una indicacin sencilla de acoplamiento de la arquitectura. Para el
ejemplo r=18f17= 1.06
4.5 MTRICAS DEL CODIGO FUENTE
Utiliza un conjunto de medidas primitivas que pueden obtenerse una vez que se han
generado o estimado el cdigo despus de completar el diseno.
Estas medidas son:
Halstead utiliza medidas primitivas para desarrollar expresiones par la longitud global
del programa; volumen minimo potencial para un algoritmo; el volumen real (numero de
bits requeridos para especificar un programa); el nivel del programa (una medida de la
complejidad del software); nivel del lenguaje (una constante para un lenguaje dado); y
otras caracteristicas tales como el esfuerzo de desarrollo,tiempo de desarrollo e incluso
el numero esperado de fallos en el software.
Halstead propone las siguientes mtricas:
Longitud N se puede estimar como: N = n
1
log
2
n
1
+ n
2
log
2
n
2
.
volumen de programa se define como: v = N n
1
log
2
(n
1
+ n
2
).
n
1 :
numero de operadores diferentes que aparecen en el programa.
n
2
: numero de operandos diferentes que aparecen en el programa.
N
1
: numero total de veces que aparece el operador.
N
2
: numero total de veces que aparecen el operando.
Ingeniera del Software
146
Tomando en cuenta que v variara con el lenguaje de programacin y
representa el volumen de informacin (en bits) necesarios para especificar un
programa.
4.6 MTRICAS PARA PRUEBAS
Las mtricas para pruebas se concentran en el proceso de prueba, no en las
caracteristicas tcnicas de las pruebas mismas. En general, los responsables de las
pruebas deben fiarse en las mtricas de analisis, diseno y cdigo para que sirvan de
guia en el diseno y ejecucin de los casos de prueba.
El esfuerzo de las pruebas tambin se puede estimar utilizando mtricas obtenidas de
las medidas de Halstead.
Usando la definicin del volumen de un programa, v, y nivel de programa, NP, el
esfuerzo de la ciencia del software puede calcularse como:
El porcentaje del esfuerzo global de pruebas a asignar a un mdulo k se puede estimar
utilizando la siguiente relacin:
Donde e(k) se calcula para el mdulo k utilizando las ecuaciones (Ec. 1) y (Ec. 2), la
suma en el denominador de la ecuacin (Ec. 3) es la suma del esfuerzo de la ciencia del
software a lo largo de todos los mdulos del sistema.
NP = 1f[(n1f2) x (N2fn2)| (Ec. 1)
e = vfNP (Ec. 2)
Porcentaje de esfuerzo de pruebas(k) = e(k)fe(i) (Ec. 3)
Ingeniera del Software
147
A medida que se van haciendo las pruebas, tres medidas diferentes proporcionan una
indicacin de la complecin de las pruebas:
Medida de
amplitud de las
pruebas.
Proporciona una indicacin de cuantos requisitos se han probado
del numero total de ellos. !ndica la complecin del plan de
pruebas.
Profundidad de
las pruebas
Nedida del porcentaje de los caminos basicos independientes
probados con relacin al numero total de estos caminos en el
programa. Se puede calcular una estimacin razonablemente
exacta del numero de caminos basicos sumando la complejidad
ciclomatica de todos los mdulos del programa.
Perfiles de fallos Se emplean para dar prioridad y categorizar los errores. La
prioridad indica la severidad del problema. Las categorias de los
fallos proporcionan una descripcin de un error, de manera que se
puedan llevar a cabo analisis estadistico de errores.
4.7 MTRICAS DEL MANTENIMIENTO
Todas las mtricas descritas pueden utilizarse para el desarrollo de nuevo software y
para el mantenimiento del existente.
El estandar !EEE 982.1-1988 sugiere el indice de madurez del software (!NS) que
proporciona una indicacin de la estabilidad de un producto software basada en los
cambios que ocurren con cada versin del producto. Con el !NS se determina la
siguiente informacin:
El indice de madurez del software se calcula de la siguiente manera:
A medida que el !NS se aproxima a 1 el producto se empieza a estabilizar. El !NS puede
emplearse tambin como mtrica para la planificacin de las actividades de
mantenimiento del software.
NT= Numero de mdulos en la versin
actualFc = Numero de mdulos en la versin actual que se han cambiado
Fa= Numero de mdulos en la versin actual que se han anadido
Fe= Numero de mdulos en la versin actual que se han eliminado
IMS= [MT - {Fc + Fa + Fe)]JMT
Ingeniera del Software
148
B!BL!OGRAF!A
IMPRESA
BRAUDE. Ingeniera de software, una perspectiva orientada a objetos. Mxico. 2003.
Alfaomega grupo editor. S.A.
GRUEGGE, BERND y DUTOIT, Allen H. Ingeniera de software orientado a objetos.
Mxico. 2002. Pearson Educacin.
HUMPHREY, Watts S. Introduccin al proceso de software personal. Pearson Addison
wesley. 2001.
MEYER, Bertrand. Construccin de software orientado a objetos. Segunda edicin.
Madrid. 1999. Prentice Hall.
NORRIS. Ingeniera de software explicada. Grupo Noriega editores de Colombia.
PIATTINI, Mario. VILLALBA, Jose y otros. Mantenimiento del software: modelos,
tcnicas y mtodos para la gestin del cambio. Editorial Alfaomega-Rama.
PRESSMAN, Roger S. Ingeniera del Software. Un enfoque prctico. Quinta edicin.
Espaa. 2002. Editorial McGraw Hill.
PFLEEGER, Shari Lawrence. Ingeniera de software, teora y prctica. 1. Edicin.
Buenos Aires. Pearson educacin. 2002
SOMMERVILLE, Ian. Ingeniera de software. 6. Edicin. Pearson Addison Wesley.
2001
ELECTRNICA
http:ffcomp.software-eng
http:ffasqc.org
http:ffwww.qualitytree.comflinksflinks.htm
http:ffwww.gestiopolis.comfrecursosfdocumentosffulldocsfecofdiagramapareto.htm
http:ffcampus.fortunecity.comfdefiantf11+fiso9000.htm
http:ffwww.iso.org
http:ffwww.iso.orgfisofenfiso9000-1+000
http:ffwww.well.comfuserfvisionfsqa.html
http:ffwww.processimprovement.comfresourcesfsqa.htm
http:ffwww.softwaretestinginstitute.comfProfession.html