Download
ingenieria de software n.
Skip this Video
Loading SlideShow in 5 Seconds..
INGENIERIA DE SOFTWARE PowerPoint Presentation
Download Presentation
INGENIERIA DE SOFTWARE

INGENIERIA DE SOFTWARE

372 Views Download Presentation
Download Presentation

INGENIERIA DE SOFTWARE

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. INGENIERIA DE SOFTWARE Personal Software Process (PSP)

  2. Modelos y Procesos Niveles Organizacionales Organización CMM Equipos TSP Personas PSP

  3. ¿Que es PSP? • Un PSP es un proceso personal para desarrollar software. • pasos definidos • formularios • Estándares • Un PSP es un marco de trabajo de medición y análisis que te ayuda a caracterizar tu proceso. • Es también un procedimiento definido para ayudarte a mejorar tu rendimiento.

  4. Principios de PSP • La calidad de un sistema software está condicionada por la calidad del peor de sus componentes. • La calidad de un componente software está condicionada por el individuo que lo desarrolló. • Está condicionada por tu: • conocimiento • disciplina • compromiso

  5. Principios de PSP • Como todo profesional de software deberías conocer tu propio rendimiento. • Deberías medir, seguir y analizar tu trabajo. • Deberías aprender de tus variaciones de tu rendimiento. • Deberías incorporar esas lecciones a tu manera personal de hacer.

  6. Principios de PSP El diseño de PSP se basa en los siguientes principios de planeación y de calidad [HUMPHREY; 95] • Cada ingeniero es esencialmente diferente; para ser más precisos, los ingenieros deben planear su trabajo y basar sus planes en sus propios datos personales.

  7. Principios de PSP • Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente procesos bien definidos y medidos. • Para desarrollar productos de calidad, los ingenieros deben sentirse personalmente comprometidos con la calidad de sus productos.

  8. Principios de PSP •Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlos en las etapas subsecuentes. • Es más eficiente prevenir defectos que encontrarlos y arreglarlos. • La manera correcta de hacer las cosas es siempre la manera más rápida y más barata de hacer un trabajo.

  9. Principios de PSP • Para hacer un trabajo de ingeniería de software de la manera correcta, los ingenieros deben planear de la mejor manera su trabajo antes de comenzarloy deben utilizar un proceso bien definido para realizar de la mejor manera la planeación del trabajo.

  10. Principios de PSP • Para que los desarrolladores lleguen a entender su funcionamiento de manera personal, deben medir el tiempo que pasan en cada proceso, los defectos que inyectan y remueven de cada proyecto y finalmente medir los diferentes tamaños de los productos que llegan a producir.

  11. Principios de PSP • Para producir constantemente productos de calidad, los ingenieros deben planear, medir y rastrear constantemente la calidad del producto y deben centrarse en la calidad desde el principio de un trabajo. • Finalmente, deben analizar los resultados de cada trabajo y utilizar estos resultados para mejorar sus procesos personales.

  12. Estructura de PSP Objetivo: • Conocer las métricas de PSP. • Identificar los objetivos de cada nivel de PSP.

  13. Introducción al PSP • El PSP es un proceso diseñado para uso individual, basado en una versión a escala de un proceso industrial. • El principal objetivo del PSP es ayudar a los ingenieros software a hacer mejor su trabajo.

  14. Introducción al PSP • EL PSP se ha diseñado también para demostrar el valor del uso de un proceso definido y medido. • Por ultimo, el PSP intenta ayudar a los ingenieros y a las organizaciones a que cumplan las demandas cada vez mas estrictas para el desarrollo de sistemas software de calidad

  15. Introducción al PSP • El PSP se aplica en tareas personales estructuradas: • Desarrollo de módulos de programas. • Definición de requisitos o procesos. • Realización de revisiones o pruebas. • Escritura de documentación, etc. • El PSP se puede extender al desarrollo de sistemas software de gran tamaño. • Es unprerrequisito para el TSP

  16. Introducción al PSP • PSP se introduce con siete pasos compatibles. • Escribes uno o dos pequeños programas en cada paso. • Recoges y analizas los datos de tu trabajo. • Los usas y analizas para mejorar tu trabajo.

  17. Estructura de PSP • Comenzando con los requerimientos, el primer paso en el proceso de PSP es la PLANIFICACIÓN. • Existe un script de planificación que sirve de guía y un resumen del plan para registrar todos los datos del mismo. Mientras los desarrolladores van siguiendo el lineamiento de trabajo sugerido por los scripts, deben ir registrando los tiempos dedicados y los datos de defectos en los logs de tiempos y defectos.

  18. Estructura de PSP • Al final de la tarea, durante la fase de postmortem (PM), deben resumir los datos de tiempo y defectos,medir el tamaño del programa, e ingresar esos datos en el formulario de sumario del plan. Al finalizar, deben entregar el producto finalizado y el formulario de sumario del plan completado.

  19. Flujo del Proceso

  20. Elementos del Proceso

  21. Estructura de PSP • Debido a que generalmente ciertos métodos de PSP no son utilizados por los desarrolladores, los métodos de PSP son presentados en una serie de siete versiones de procesos. • Estas versiones son denominadas como PSP0 a PSP3. Cada versión tiene un mismo conjunto de logs, formularios, scripts, y standards.

  22. PSP 3 Desarrollo Cíclico Proceso Personal Cíclico PSP 2 Revisión del código Revisión del diseño Calidad Personal PSP 1 Estimación del Tamaño Informe de pruebas Planificación Personal PSP 0 Proceso Medición Personal Evolución de PSP

  23. Estructura de PSP • Los scripts de proceso definen los pasos de cada parte del proceso, los logs y formularios proveen templates para registrar y almacenar datos, y los standardsguían a los desarrolladores mientras hacen el trabajo. • En otras palabras, PSP es un proceso que está diseñado para ser utilizado.

  24. Visión General de PSP • PSP0 - estableces una línea base del rendimiento mensurable. • PSP1 - haces planes de tamaño, recursos y calendario. • PSP2 - Practicas gestión de defectos y rendimiento. • PSP3 - Amplias los métodos del PSP a proyecto mayores.

  25. PSP 3 Desarrollo Cíclico Proceso Personal Cíclico Administración de Calidad Personal Proceso de Planeación Personal PSP 1.1 Planeación de tareas Planeación de tiempos de actividades Estándar de tipos de defectos PSP 2.1 Formatos de Diseño PSP 0.1 Estándar de Codificación Medición de Tamaño Propuesta de mejora del proceso Proceso de Medición Personal PSP 0 Proceso actual Registro de tiempo Registro de defectos Estándar de tipos de defectos PSP 1 Estimación de tamaño Reporte de pruebas PSP 2 Revisión de Código Revisión de Diseño Los 7 Pasos de PSP

  26. PSP0 Punto de Partida de PSP • PSP0 es un proceso sencillo, definido y personal. • Utiliza tus métodos actuales de diseño y desarrollo. • Recoge datos sobre tu trabajo: • tiempo gastado por fase • defectos encontrados en compilación y pruebas • Proporciona un informe resumen.

  27. PSP0 Punto de Partida de PSP • El paso inicial en PSP consiste en establecer una base que incluya mediciones y un formato de reportes. • Esto permite medir el progreso y define los cimientos para mejorar. Esencialmente, PSP0 es el proceso habitual con el que los desarrolladores escriben software, mejorado para proveer mediciones.

  28. PSP 0.1 • Se pasa a PSP0.1 • agregando un estándar de código, • mediciones de tamaño y • el denominado PIP (ProcessImprovementProposal) (Propuesta de Mejora de Procesos). • El PIP provee una manera estructurada de registrar problemas, experiencias y sugerencias para mejorar. • PSP0.1 también mejora las mediciones para contar separadamente métodos y procedimientos.

  29. PSP 1 y PSP 1.1PSP1 Planeación personal • PSP1 le agrega pasos de planeamiento a PSP0. • El primer paso agrega estimaciones de tamaño y recursos y un reporte de prueba.

  30. PSP 1 y PSP 1.1PSP1 Planeación personal • En PSP1.1 se introduce planeamiento de cronograma y seguimiento del proyecto. • Los desarrolladores aprendena: • Entender la relación entre el tamaño de los programas que escriben y el tiempo que les toma desarrollarlos. • Realizar compromisos que puedan cumplir. • Preparar un plan ordenado para realizar su trabajo • Establecer una base para realizar un seguimiento de su trabajo.

  31. PSP 2 • PSP2 agrega diseño personal y revisiones de código a PSP1. • Estas revisiones ayudan a encontrar defectos de manera temprana y a ver los beneficios que esto proporciona. Los desarrolladores analizan los defectos que encuentran en los primeros programas y usan estos datos para establecer checklists de revisión que estén hechos a medida de su experiencia de defectos personales.

  32. PSP 2.1 • El proceso de diseño es contemplado en PSP2.1. El objetivo no es decirle a los desarrolladores como diseñar sino orientar el criterio para la finalización del diseño, es decir, cuando han terminado que es lo que deben haber obtenido. Se establece un criterio de completitud de diseño y se examinan varias técnicas de verificación y consistencia de diseño.

  33. PSP 3 • Hasta este punto PSP se concentró en el proceso lineal para construcción de pequeños programas. PSP3 presenta métodos para ser usados por individuos en la realización de programas de gran escala. • De todas formas sigue enfocado en el individuo y no trata los problemas de comunicación y coordinación que son una parte importante del desarrollo de sistemas de gran escala.

  34. PSP 3 • Para escalar PSP2 a proyectos más grandes la estrategia consiste en subdividir el proceso personal de desarrollo de grandes programas en elementos en la escala de PSP2. Estos programas son entonces diseñados para ser desarrollados en pasos incrementales. La primera construcción consiste en un módulo base o kernel que es ampliado en ciclos iterativos. En cada iteración se utiliza un PSP2 completo, incluyendo diseño, codificación, compilación y pruebas.

  35. Planeación en PSP • ¿Por qué hacer planes? • Te permiten llegar a acuerdos que tu puedas cumplir • Proporcionar las bases para acuerdo en tu trabajo • Guía tu trabajo • Te ayuda a seguir tu progreso • Terminación del proyecto

  36. Planeación en PSP • La primera tarea consiste en definir losrequerimientos, describiendo el trabajo a realizar en el mayor detalle posible. • Como la etapa de planificación es demasiado temprana como para hacer un diseño completo del producto, los desarrolladores realizan un diseño conceptual, mediante el cual se obtiene un primer acercamiento de cómo debe basarse el producto a ser construido en la etapa de desarrollo.

  37. Planeación en PSP • La siguiente tarea consiste en la estimación de tamaño y de esfuerzo. • La correlación entre el tamaño de un programa y tiempo de desarrollo es moderadamente buena para equipos de desarrollo;

  38. Planeación en PSP • Sin embargo, para un solo desarrollador, la correlación es generalmente un poco mayor. Los desarrolladores realizan las estimaciones utilizando datos históricos personales de tamaño y productividad. • En PSP, las estimaciones se efectúan mediante el método PROBE (PROxyBasedEstimating).

  39. Planeación en PSP

  40. Planeación en PSP Una vez que los desarrolladores conocen el tiempo requerido para cada proceso, deben estimar el tiempo que van a dedicar al trabajo cada día de la semana, conformando entonces el calendario. Luego, durante la etapa de desarrollo del producto, los desarrolladores efectúan el diseño detallado, la implementación y las pruebas.

  41. Planeación en PSP 6. Después de completar el trabajo, los desarrolladores realizan un análisis postmortem, en el cual se actualiza el sumario del plan con los datos reales de tiempos invertidos en cada etapa del desarrollo, defectos encontrados y removidos, etc, y se comparan los resultados obtenidos con lo planeado. 7. Finalmente, los desarrolladores registran toda esta información en sus bases de datos históricas de tamaño y productividad. Además se examinan las Propuestas de Mejoras (PIP) para hacer ajustes en los procesos.

  42. Planeación PSP • La Medición del trabajo personal es el primer paso por el que comienza el PSP. Es este primer paso los ingenieros deben aprender como aplicar los formularios del PSP y apuntar datos de su trabajo personal. • Para hacer todo esto se mide el desarrollo del tiempo y de los defectos. Esto hace que los ingenieros recojan datos reales y prácticos y les proporciona una serie de marcar con las cuales ir midiendo el proceso.

  43. Planeación PSP • Para realizar un trabajo con PSP se debe empezar por el primer paso de medición personal que incluye la gestión del tiempo y el siguiente rastreo del mismo.

  44. Recolección de Datos • En PSP, los desarrolladores utilizan información para monitorear su trabajo, la cual los ayuda a hacer mejores planes. Para esto, deben recolectar datos de los tiempos que dedican a cada fase del proceso, de los tamaños de los productos que producen, y de la calidad de esos productos.

  45. Recolección de Datos • Las medidas básicas de PSP son el tiempo que el ingeniero utiliza en cada fase del proceso, los defectos introducidos y encontrados en cada fase, y los tamaños de los productos desarrollados en líneas de código(LOC).

  46. Recolección de Datos • Estos datos se recopilan en cada fase del proceso y se resumen a la terminación del proyecto. Todos estos datos se utilizan para proporcionar una familia de medidas de calidad de procesos que los ingenieros usan como guía en su trabajo.

  47. Recolección de Datos Las principales medidas son: • Tamaño tiempo de estimación de errores • Coste de realización • Defectos producidos y corregidos por hora • Producción del proceso • Valoración y calidad del costo de los fallos (COQ) • Valoración del rango de fallos

  48. Elementos del Proceso • Elementos • un guión de proceso • un formulario resumen de plan proyecto • un registro tiempo • un registro de defectos • un estándar de tipos defecto

  49. Guión del Proceso

  50. Guión del Proceso • Planificación • Estimar tiempo de desarrollo. • Desarrollo • Desarrollar el producto utilizando tus métodos actuales. • Post-mortem • Completar el resumen del plan proyecto, con los tiempos gastados y defectos encontrados e inyectados en cada fase.