Académique Documents
Professionnel Documents
Culture Documents
Edicin INDICE
1. DISEO DE LA INTERFAZ DE USUARIO 2. ESTRATEGIAS DE PRUEBA DE SOFTWARE 4 3. TCNICAS DE PRUEBA DEL SOFTWARE 4. MTRICAS DEL PRODUCTO PARA EL SOFTWARE 9 5. GESTIN DE PROYECTOS DE SOFTWARE 6. MTRICAS DE PROCESO Y PROYECTO 7. ESTIMACIN DE PROYECTOS DE SOFTWARE 16 8. CALENDARIZACIN DE PROYECTOS DE SOFTWARE 18 9. GESTIN DEL RIESGO 10. 11. GESTIN DE LA CALIDAD 22 GESTIN DEL CAMBIO 24 20 12 14 6 2
Pgina 1
y asignacin de nombres a las ventanas, adems de la especificacin de los elementos principales y secundarios de los mens. Se recurre a herramientas para crear prototipos y finamente implementar el modelo de diseo; por ltimo, se evala la calidad del resultado. Cul es el producto obtenido? Se crean los escenarios del usuario y se genera el formato de pantalla. Se desarrolla un prototipo de la interfaz, que ser validado, permitiendo su modificacin de manera interactiva. Cmo puedo estar seguro de que lo he hecho
correctamente? Un usuario realiza una prueba de manejo del prototipo. La informacin que proporciona esta prueba se emplea para la siguiente modificacin iterativa del prototipo.
Pgina 3
las primeras etapas, la prueba se concentra en un solo componente o en un grupo pequeo de componentes relacionados y se aplica para descubrir errores en la lgica de datos y del procesamiento que se ha encapsulado en el componente. Una vez probados los componentes, deben integrarse hasta que todo el sistema se haya construido. En este punto se ejecuta una serie de pruebas de alto nivel para descubrir errores en la satisfaccin de los requisitos del cliente. A medida que se descubren, los errores deben diagnosticarse y corregirse empleando un proceso llamado depuracin. Cul es el producto obtenido? Una especificacin de la prueba documenta el enfoque que aplic el equipo de software a la prueba; al definir un plan que detalla una estrategia general y un procedimiento que describe los pasos especficos que se darn y las pruebas que habrn de realizarse. Cmo puedo estar seguro de que lo he hecho
correctamente? Al revisar la especificacin de la prueba antes de realizarla se evala si estn completos los casos y las tareas de prueba. Un plan y un procedimiento de prueba efectivos llevaran a la construccin ordenada del software y el descubrimiento de errores en cada etapa del proceso de construccin.
Pgina 5
lgica interna del programa se comprueba mediante tcnicas de diseo de casos de pruebas de caja blanca, [2] los requisitos del software se comprueban empleando tcnicas de diseo de casos de pruebas de caja negra. En el caso de aplicaciones orientadas a objeto, la prueba empieza antes de la existencia del cdigo fuente, pero una vez generado ste, se disear una serie de pruebas para comprobar operaciones con una clase y comprobar si existen errores mientras una clase colabora con otra. A medida que las clases se integran para formar un subsistema, se aplica la prueba de uso, junto con los enfoques basados en fallas, para comprobar las clases que colaboran. Por ltimo los casos de uso, ayudan a disear pruebas que permitan descubrir errores al nivel de validacin de software. En todo caso, el objetivo es encontrar el nmero mximo de errores con la mnima cantidad de esfuerzo y tiempo. Cul es el producto obtenido? Se disea y documenta un conjunto de casos de prueba diseado para comprobar la lgica interna, y las los interfaces, requisitos las colaboraciones se entre los componentes internos; definen
resultados esperados y se registran los resultados reales. Cmo puedo estar seguro de que lo he hecho debe
correctamente?
Cuando
se comienza la
prueba
cambiarse de punto de vista. El objetivo es romper el software! Deben disearse casos de prueba en forma
Apuntes de Ingeniera de Software Pgina 7
detallada y revisarse que los casos de prueba creados abarquen todo lo diseado. Adems, es preciso evaluar la cobertura de la prueba y darle seguimiento a las actividades de deteccin de errores.
Pgina 8
4.
MTRICAS
DEL
PRODUCTO
PARA
EL
SOFTWARE
Qu es? Por su naturaleza, la ingeniera es una disciplina cuantitativa. Los ingenieros usan mediciones como apoyo para el diseo y la evaluacin del producto que construirn. Las mtricas del producto ayudan a conocer mejor el diseo y la construccin del software que elaboran. A diferencia de las mtricas del proceso y del proyecto que se aplican como un todo, las mtricas del producto se concentran en atributos especficos de los productos de trabajo de la ingeniera del software y se recopilan a medida que se realizan las tareas tcnicas (anlisis, diseo, codificacin y pruebas). Quin lo hace? Los ingenieros de software usan las mtricas del producto como apoyo para construir software de mayor calidad. Por qu es importante? Siempre intervendrn elementos cualitativos en la creacin de software. El problema es que no basta con la evaluacin cualitativa. Un ingeniero de software necesita criterios objetivos para orientar el diseo de los datos, la arquitectura, las interfaces y los componentes. El responsable de la prueba requiere una gua cuantitativa que le ayude a seleccionar los casos de prueba y sus objetivos. Las mtricas del producto proporcionan una base para que el anlisis, el diseo, la codificacin y la prueba se realicen con mayor objetividad y se evalen de manera ms cuantitativa.
Apuntes de Ingeniera de Software Pgina 9
Cules son los pasos? El primer paso del proceso de medicin consiste en derivar, a partir del software, las medidas y mtricas apropiadas para la representacin del software que se est considerando. A continuacin se recopilan los datos para calcular los valores asociados a las mtricas formuladas. Una vez calculados, se analizan los resultados en relacin a los valores prestablecidos como aceptables para las mtricas. Los resultados del anlisis se interpretan con base a directrices (criterios) prestablecidos, para conocer algo ms acerca de la calidad del software; el proceso descrito desemboca en la modificacin de los modelos de anlisis y diseo, de cdigo fuente o los casos de prueba. En algunos casos, tal vez se llegue a la modificacin del propio proceso de software. Cul es el producto obtenido? Las mtricas del producto que se calculan a partir de los datos recopilados de los entregables de los modelos de anlisis, diseo, codificacin y pruebas. Cmo puedo estar seguro de que lo he hecho
correctamente? Deben determinarse los objetivos de la medicin antes de iniciar la recopilacin de datos, definiendo cada mtrica del producto sin ambigedades. Un conjunto de mtricas permitan reconocer la calidad del producto del trabajo de la ingeniera de software.
Pgina 10
comunicacin
cliente
Pgina 11
participantes debe ocurrir de modo que sea comprensible el mbito y los requisitos del producto. Se debe seleccionar un proceso adecuado para el personal y el producto. El proyecto se debe planificar para estimar el esfuerzo y el tiempo para cumplir las labores del trabajo, establecer puntos de control de calidad e identificar mecanismos para supervisar y controlar el trabajo definido al planificar. Cul es el producto obtenido? Cuando comienzan las actividades de gestin se produce un plan del proyecto. El plan define el proceso y las labores que se llevaran a cabo, el personal que har el trabajo y los mecanismos para valorar los riesgos, controlar los cambios y evaluar la calidad. Cmo puedo estar seguro de que lo he hecho
correctamente? Nunca se est completamente seguro de que el plan del proyecto es correcto hasta que se haya entregado un producto de calidad a tiempo y dentro del presupuesto. Sin embargo, un gestor de proyecto, hace lo correcto cuando alienta al personal de software a trabajar en conjunto como un equipo efectivo, y enfoca su atencin tanto en las necesidades del cliente como en la calidad del producto.
Pgina 12
funcin. El resultado se analiza y se compara con mediciones pasadas para proyectos similares realizados dentro de la organizacin. Se valoran las tendencias y se elaboran conclusiones. Cul es el producto obtenido? Un conjunta de mtricas del software (incluyendo productos intermedios) que proporcionan una amplia visin del proceso y un conocimiento detallado acerca del proyecto. Cmo puedo estar Al seguro un de que lo he hecho
correctamente?
aplicar
esquema
de
medicin
consistente pero simple con el cual no debe valorarse, recompensarse o castigarse el desempeo individual.
Pgina 14
Pgina 15
Cules son los pasos? La estimacin comienza con una descripcin del mbito del producto. Entonces el problema se descompone en un conjunto de problemas ms pequeos, y cada uno de estos se estima empleando datos histricos y experiencia como guas. La complejidad y el riesgo del problema se consideran antes de realizar una estimacin final. Cul es el producto obtenido? Se genera una simple tabla en la cual se delinean las tareas que deben realizarse, las funciones que habrn de implementarse y el costo, esfuerzo y tiempo involucrado para cada uno. Cmo puedo estar seguro de que lo he hecho
correctamente? Es difcil, porque en realidad no se sabr hasta que el proyecto se haya completado. Sin embargo, si se tiene experiencia y se sigue un enfoque sistemtico, se generan estimaciones empleando datos histricos slidos, se crean puntos de datos de estimacin mediante al menos dos mtodos diferentes, se establece un calendario realista y continuamente se adapta conforme el proyecto avanza, se puede estar segura de que se est haciendo lo mejor posible.
Pgina 16
8.
CALENDARIZACIN
DE
PROYECTOS
DE
SOFTWARE
Qu es? Usted seleccion un modelo de procesos apropiado, identific las tareas de ingeniera de software que es preciso realizar; estimo la cantidad de trabajo y el nmero de personas; conoce la fecha lmite; considero los riesgos. Ahora es tiempo de unir todo esto. Esto es, tiene que crear una red de tareas de ingeniera de software que le permitirn tener el trabajo listo a tiempo. Una vez creada la red, tiene que asignar responsabilidades a cada tarea, asegurarse de que se realice y adaptar la red conforme los riesgos se vuelven realidad. En resumen, esto es la calendarizacin y el seguimiento del proyecto de software. Quin lo hace? En el mbito del proyecto, los gestores del proyecto de software emplean la informacin solicitada a los ingenieros de software. En el plano individual, los mismos ingenieros de software. Por qu es importante? En la construccin de un sistema complejo muchas tareas de ingeniera de software ocurren en paralelo, y el resultado del trabajo realizado durante una tarea puede tener un profundo efecto en el trabajo llevado a cabo en otra tarea. Estas interdependencias son muy difciles de comprender sin una calendarizacin. Tambin es virtualmente imposible evaluar el progreso de un proyecto de software moderado y grande sin una calendarizacin detallada.
Apuntes de Ingeniera de Software Pgina 17
Cules son los pasos? Las tareas de ingeniera de software que dicta el modelo de proceso de software se refinan para la funcionalidad que se construir. A cada tarea se le asigna esfuerzo y duracin, y se crea una red de tareas o actividades con dependencias, en donde el entregable de una actividad es la entrada de la siguiente; de tal forma que el monitoreo y continuo ajuste del plan para cumplir el calendario, permitir al equipo de software cumplir con la fecha de entrega establecida. Cul es el producto obtenido? La calendarizacin del proyecto y la informacin relacionada. Cmo puedo estar seguro de que lo he hecho
correctamente? La calendarizacin adecuada requiere que [1] todas las tareas aparezcan en la red [2] el esfuerzo y el tiempo estn asignados de manera inteligente en cada tarea [3] las interdependencias entre tareas estn indicadas adecuadamente [4] los recursos estn asignados para el trabajo que se realizar [5] los hitos estn espaciados de modo cercano para que se pueda seguir el progreso.
Pgina 18
clasifican de acuerdo a su probabilidad e impacto [4] Finalmente se desarrolla un plan para gestionar aquellas riesgos que no se pueden evitar y que tienen un alto puntaje conjunto de probabilidad e impacto. Cul es el producto obtenido? Se produce un plan de reduccin, supervisin y gestin del riesgo. Cmo puedo estar seguro de que lo he hecho
correctamente? Los riesgos que se analizan y se gestionan deben proceder de un estudio amplio del personal, del producto, el proceso y el proyecto. El plan de riesgo obtenido debe revisarse conforme el proyecto avanza para asegurarse de que los riesgos estn actualizados. Los planes de contingencia para la gestin del riesgo deben ser realistas.
Pgina 20
Pgina 21
actividades SQA que filtraran los errores de los productos de trabajo antes de que se aprueben. Cul es el producto obtenido? Se crea un Plan de aseguramiento de la calidad del software para definir la estrategia SQA del equipo de software. Durante el anlisis, diseo y generacin de cdigo el principal producto de trabajo SQA es un breve informe de la revisin tcnica formal. Para las pruebas se producen los planes de prueba y los procedimientos. Tambin se puede generar otros productos de trabajo asociados con la mejora del proceso. Cmo puedo estar seguro de que lo he hecho
correctamente? Encuentre los errores antes de que se conviertan en defectos! Es decir, trabaje para mejorar su eficiencia en la eliminacin de defectos, con lo que se reduce la cantidad de reelaboracin que el equipo de software tiene que realizar.
Pgina 22
vez hecho esto, se establecen los mecanismos de control de versin y cambio. El proceso se audita para garantizar que la calidad se conserva conforme el cambio se realiza y que quienes tienen necesidad de conocerlo reciben informacin acerca de los cambios mediante los informes respectivos. Cul es el producto obtenido? Un plan de gestin de la configuracin del software define la estrategia del proyecto para la gestin del cambio. Adems, cuando se pide una GCS formal, el proceso de control del cambio produce solicitudes de software, informes y peticiones de cambios de ingeniera. Cmo puedo estar seguro de que lo he hecho
correctamente? Cuando cualquier producto de trabajo puede explicarse, seguirse y controlarse; cuando los cambios pueden seguirse y analizarse; cuando todos los que necesitan saber acerca de un cambio han sido informados, el trabajo se ha hecho bien.
Pgina 24