Personal Software Process (Desarrollo Software Personal)

Slides:



Advertisements
Presentaciones similares
Como crear y usar una rúbrica
Advertisements

EL PROCESO DE DESARROLLO DEL SOFTWARE
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
LA PLANIFICACIÓN DE LA AUDITORÍA TEMA 4
Herramientas Automáticas de Estimación
METRICAS DE PROCESO Y PROYECTO
Gestión de proyectos Es la primera etapa de Ingeniería del Software.
La vida útil de un sitio Web
Aprendizaje de Microsoft® Access® 2010
Resolución de Problemas Algoritmos y Programación
Ing. Esp. Ricardo Cujar. El computador: es una máquina que permite hacer tareas aritmético y lógicas de una manera fácil, consta de software y hardware.
Ciclo de desarrollo del software
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
Preguntas tipo test (Tema I)
Teoría de lenguajes y compiladores
Evaluación de Productos
TEAM SOFTWARE PROCESS CICLO 2.  Producto  Reporte del ciclo  Plan  Inspección  Plan de calidad  Valor ganado  Objetivos  Proceso TSP  Equipo.
Semana 5 Subprogramas..
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
TEAM SOFTWARE PROCESS CICLO 3.  Análisis del Proyecto  Producto  Resultados por Rol  Resultado del Proceso.
Teoría de lenguajes y compiladores
TSPiSM Plan de Desarrollo
DISEÑO DE SOFTWARE 1ª. Parte
Ciclo de Vida del Software Paradigmas de Desarrollo
INGENIERIA DE SOFTWARE
Planeación con Planning Tool y DotProject Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes Rubby Casallas, Andrés Yie.
Métricas de calidad de software
Calidad y Garantía de Calidad
Evaluación entre compañeros
Metodología para solución de problemas
Conceptos de Gestión y Planificación de Proyectos Software
Un Repaso  Entrenamiento adecuado no ocurre sin mucho trabajo  Requiere que todo sea muy bien planeado  Hay.
Proceso de Gestión de Proyectos
INGENIERÍA DE SOFTWARE
Tema 1: Introducción a la Ingeniería de Software
Representación de Algoritmos
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
MÉTODOS DE EVALUACIÓN DEL DESEMPEÑO
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Bases de Datos.
El rol de SQA en PIS.
Las Pruebas del Software y sus Fundamentos
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Medición y Métricas del Software
Métricas de calidad de software
TIPOS DE PRUEBAS DEL SOFTWARE
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Introducción al proceso de verificación y validación.
Estimación de proyectos de software
Desarrollo de lógica algorítmica.
problemas de la calidad del software
Estructurar tus ideas para hacerlas realidad
Implementando PSP / TSP
Tecnicas del Mantenimiento del Software
CICLO 1 BEATRIZ BARREIRO GÓMEZ HENRY SUÁREZ SÁNCHEZ
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Proceso de desarrollo de Software
6.6 Administración de defectos
Modelo de procesos de software
TEAM SOFTWARE PROCESS CICLO 1. El software propuesto por el equipo de Ingenium para cumplir con las necesidades planteadas, modela los un conjunto de.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Para cada uno de los atributos, indicaremos su campo de descripción. Cuando un campo no dispone de este (como el.
PSP1 Lección 5: Estimaciones de tiempo y tamaño. Objetivos  ¿Qué es PSP? Alcance y necesidad.
UNIDAD III. PSP Objetivo: El alumno identificará el Proceso Personal de Software, para medir su desempeño.
TÉCNICAS DE PRUEBA DEL SOFTWARE
PSP Y TSP.
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
Transcripción de la presentación:

Personal Software Process (Desarrollo Software Personal)

Principios 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 el conocimiento disciplina compromiso del desarrollador

Principios PSP (cont...) Todo profesional software debería conocer su propio rendimiento. Debería medir, seguir/controlar y analizar su trabajo. Debería aprender de las variaciones de su rendimiento. Debería incorporar esas lecciones a su manera personal de hacer las cosas.

¿Qué proporciona el PSP? Un PSP estable permite estimar y planificar el trabajo cumplir los compromisos resistir a presiones de compromiso no razonables Con un PSP estable, también se podrá comprender nuestras capacidades estar mas posibilitado para mejorar

¿Qué te proporciona PSP? (cont...) Un PSP también proporciona Una base probada para desarrollo y práctica de las disciplinas personales de la industria. Una disciplina que muestra como mejorar el proceso personal. Los datos para mejorar de manera continua la productividad, calidad, y el grado de predicción de trabajo

¿Qué es un 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 nos ayuda a caracterizar nuestro proceso. Es también un procedimiento definido para ayudar a mejorar nuestro rendimiento.

El flujo de Proceso del PSP Requisitos Proceso PSP0 Desarrollo Planificación Postmortem Guiones de proceso Diseño Código Compila Pruebas Logs de tiempos y defectos Resumen Plan Producto acabado Proyecto y proceso

El 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. 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

El PSP (cont…) 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 un proceso de Nivel 5 para los individuos y es un prerrequisito para el TSP

Usando un Cuaderno de Ingeniería Gestión del Tiempo Usando un Cuaderno de Ingeniería

La lógica de la Gestión de Tiempo Probablemente harás esta semana lo mismo que hiciste la semana pasada. Esto te permite estimar que harás en semanas próximas. Para hacer un plan realista, tienes que controlar tu forma de gastar el tiempo. Registrar lo que haces te dara pautas importantes que no conocidas. Para comprobar la exactitud de tus estimaciones de tiempo y los planes, debes documentar y posteriormente compararlas con lo que realmente haces.

La lógica de la Gestión del Tiempo Para hacer mas precisos tus planes, determina las equivocaciones de los planes anteriores y que podrías haber hecho mejor. Para gestionar tu tiempo, planifica tu tiempo y sigue el plan.

Entiende cómo utilizas el tiempo Clasifica tus actividades. Anota el tiempo dedicado a cada actividad. Anota el tiempo de manera estándar. Guarda los datos de tiempo en un lugar adecuado

El Cuaderno de Ingeniería Usado para anotar y controlar: Las actividades de los ejercicios (planificación, programación, etc.) Compromisos. Anotaciones de clase. Ideas de diseño y cálculos. Importante para: Posibles evidencias legales. Protección de la propiedad Intelectual.

El diseño del cuaderno Se suele usar un cuaderno en espiral. Las páginas numeradas. Numeración y fecha en cada hoja. Deja una o dos páginas para la tabla de contenidos.

Ejemplo de Portada Cuaderno de Ingeniería Apertura: 10-Feb Cierre: Cuaderno Nº: 1 Cuaderno de Ingeniería PROYECTO Nombre: Tomás E-mail: tomas@mail.com Apertura: 10-Feb Cierre:

Página de Ejemplo Fecha 3 9/3 Ejercicio PSP0, terminar 12/3 Preparar cuaderno de ingeniería Mirar libro de texto pagina 206 11/3 Completar tabla de tiempos, ver definición Completar el post-mortem para ejercicio 2

¿Por qué controlar el tiempo? A no ser que conozcas cuanto tiempo estás gastando en una tarea, tu no puedes controlarla. Para saber cuanto tiempo usas, tu debes medirlo. Te puedes sorprender en que gastas tu tiempo. Es más fácil controlar el tiempo que mejorar la productividad.

Anotar datos de tiempos Usa la tabla estándar. Sigue un procedimiento escrito. Para este curso, usa el método descrito y después diseña un método ajustado a tus necesidades.

Controla tu tiempo Normalmente se miden el tiempo en términos de horas, pero no es útil / preciso hacerlo de esa manera Es muy raro gastar más de una hora en una actividad Utilizar minutos para el registro de tiempos

La gestión de interrupciones Las interrupciones son muy frecuentes. EL tiempo de las mismas es muy variable. Estar anotando cuando empieza y cuando termina es muy moroso. Anota mejor el tiempo total para ser descontado.

La gestión del tiempo Incluye las tablas de tiempos en el cuaderno de ingeniería. Mantén cerca el cuaderno de ingeniería. Cuando se te olvide anotar el tiempo de inicio, o de finalizaciones o de interrupción, anota una estimación según te acuerdes. Analiza tus tiempos.

Proceso PSP0 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.

El flujo de Proceso del PSP0 Requisitos Proceso PSP0 Desarrollo Planificación Post-mortem Guiones de proceso Diseño Código Compila Pruebas Logs de tiempos y defectos Resumen Plan Producto acabado Proyecto y proceso

Proceso PSP0 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

Guión de proceso

El guión PSP0 Referencia - Tabla C10 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.

El guión PSP0 Diseño - diseñar el programa, usando tus métodos de diseño actuales. Codificación- implementa el programa. Compilación - compila hasta que este libre defectos. Prueba - prueba el programa y corrige todos los defectos. Registra los defectos en el log de defectos y tiempos por fase en el log de tiempos.

Resumen Plan PSP0

Resumen Plan PSP0 Referencia - Tabla C14 Header – Nombre, fecha, programa, instructor, lenguaje. Program Size – Plan -Indica tu mejor estimación del tiempo total que tendrá el desarrollo. Program Size – Actual -Indica el tiempo actual en minutos gastado en cada fase.

Resumen Plan PSP0 Time – To Date - indica el tiempo total gastado en cada fase hasta hoy. Para programa 1A, es el tiempo gastado en el programa 1A. Time – To Date % - indica el porcentaje del total tiempo hasta hoy que se gasto en cada fase. Defects injected and removed - indicar el numero actual de defectos inyectados y eliminados en cada fase.

Resumen Plan PSP0 Defect - To Date - indica el total de defectos inyectados y eliminados en cada fase hasta hoy. Para el programa 1A, son los defectos inyectados y eliminados en el programa 1A. Defect - To Date % - indicar el porcentaje sobre el total defectos inyectados y eliminados hasta hoy en cada fase.

Log Registro de tiempo PSP0

Log Registro de tiempo PSP0 Referencia - Tabla C16 Header - indicar nombre, fecha, instructor, y numero de programa. Date - indicar la fecha actual. Start - indicar el tiempo en minutos cuando empiezas una fase del proyecto.

PSP0 Log Registro Tiempos Stop - indicar el tiempo en minutos cuando tu paraste trabajo en una fase del proyecto, aun cuando tu no has terminado esa fase. Interruption time - indicar el tiempo perdido por interrupciones desde el periodo de arranque a parada. Delta time - indicar el tiempo transcurrido desde el inicio al tiempo de parada descontado el tiempo de interrupción.

PSP0 Log Registro Tiempos Phase Anotar la fase en la que estas trabajando. Use el nombre de fase. Comments – descripción de la interrupción la tarea que estas haciendo cualquier aspecto significativo que afecte a tu trabajo

Log Registro Defectos

Log Registro Defectos Referencia - Tabla C18 Header - indicar el nombre, fecha, instructor, y numero de programa. Date - indicar la fecha cuando encontraste y corregiste el defecto. Number - indicar un número único para este defecto. Comienza cada cada proyecto con 1.

Log Registro Defectos Type - indicar el tipo de defecto a partir del estándar de tipos de defectos. Inject - indicar la fase donde tu juzgas que el defecto fue inyectado. Remove - indicar la fase en la que encontraste y eliminaste el defecto.

Log Registro Defectos Fix Time - indicar el tiempo que tomaste para corregir el defecto. Tu puedes dar el tiempo exacto o usar tu mejor estimación. Fix defect - Si este defecto fue inyectado durante la corrección de otro defecto, indicar el numero del ese defecto o una X si lo desconoces. Note - un defecto es cualquier cosa en el programa que debe ser cambiado para que sea desarrollado, mejorado o utilizado de manera adecuada.

Estándar de Tipos de defecto Referencia - Tabla 20 El estándar de tipos de defecto proporciona un conjunto general de categorías de defectos. Aunque tu puedes reemplazar este estándar por el tuyo propio, es deseable que te manejes con estas definiciones simples de tipos hasta que tengas datos que te puedan guiar en las modificaciones.

Estándar de Tipos de Defecto Los tipos estándar de defecto en PSP son 10 - Documentación 20 - Sintaxis 30 - Construcción, empaquetado 40 - Asignación 50 - Interfase 60 - Comprobación 70 - Datos 80 - Funciones 90 - Sistema 100 - Entorno

Ejercicio Clasificación de Defectos Describe con al menos un ejemplo de cada tipo para tu lenguaje y entorno Tipo 10 20 30 40 50 60 70 80 90 100 Nombre Documentación Sintaxis Construcción Asignación Interfaz Comprobación Datos Funciones Sistema Entorno Descripción comentarios, mensajes ortografía, puntuación, tipos, formatos de instrucción gestión de cambios, librerías, control de versiones declaración, nombres duplicados, ámbito, limites Llamadas y referencias a rutinas, I/O, formatos mensajes error, comprobaciones inadecuadas estructura, contenido lógica, punteros, bucles, recursion, calculo, defectos en funciones configuración, tiempos, memoria diseño, compile, pruebas, y problemas del sistema de soporte Tipo 10 20 30 40 50 ejemplo... ______________________________ Tipo 60 70 80 90 100 ejemplo... ______________________________

Visión general de la Planificación y Medición de tamaño Visión general de Planificación Tamaño de Software ¿Por qué medir el tamaño? Criterios de medida de tamaño El marco de trabajo del SEI para la medida del tamaño Contando el tamaño del programa Contadores Estándares de codificación

¿Por qué hacer Planes? Planes permite llegar a acuerdos que se puedan cumplir proporciona las bases para acuerdos en tu trabajo guía el trabajo ayudan a seguir el progreso terminación del proyecto

El marco de trabajo para la planificación de proyectos Definir Necesidades Producir Diseño Conceptual Base de datos de tamaño Estimar Tamaño Base datos de productividad Estimar Recursos Recursos Disponibles Producir Calendario Datos Tamaño, Recursos, Plazos Proceso Análisis Entrega Producto Desarrollar Producto Informes de Seguimiento

¿Por qué medir el Tamaño? Medidas de tamaño Nos ayudan a hacer mejores planes Ayudan en seguimiento del desarrollo Normalizan otras medidas Recursos de desarrollo Tasas de defectos

Criterios para la Medición del tamaño La medición de tamaño debe estar relacionada con el esfuerzo de desarrollo precisa contables de manera automática deseable en la planificación temprana

Tamaño frente a esfuerzo de desarrollo El requisito principal: si la medición del tamaño no esta directamente relacionada con el costo de desarrollo, no es bueno usarla. Hay muchas medidas posibles: líneas de código (LOC) puntos de función páginas, pantallas, scripts, informes La medida del tamaño suele ser sensible al lenguaje, diseño y al modo de desarrollo.

Recuento automático La medición de tamaño es una actividad que consume tiempo y es imprecisa. Los contadores automáticos pueden trabajar solo sobre caracteristicaza del programa definidas. Contadores pueden ser complejos por: definición de tamaño seleccionada método de conteo

Recuento del tamaño del programa El PSP utiliza un estándar de contador de líneas físicas. utiliza una línea física por cada línea lógica utiliza un estándar de codificación definido Este estándar debe ser seguido estrictamente. Entonces el recuento de líneas físicas será igual al recuento de líneas lógicas.

El estándar de recuento del PSP Contar todas las instrucciones: begin, end, if, then, else, etc. {, }, ;, ., etc. contar declaraciones, directivas, encabezados, etc. No contar blancos, líneas de comentarios, código generado automáticamente, o código reutilizado. Contar el código nuevo y el cambiado para medir y estimar la productividad de desarrollo.

Contabilidad de Líneas de Código Para pequeños programas, el seguimiento de tamaño puede realizarse de manera manual, aunque requiere cuidado. Para grandes programas, el seguimiento del tamaño requiere un sistema de contabilidad. La contabilidad de LOC proporciona una manera precisa y ordenada para realizar el seguimiento de los cambios de LOC a través de las múltiples versiones de programas.

Ejemplo de Contabilidad de LOC - 1 Versión 0 350 LOC Mejoras a Versión 1 + 125 LOC Nuevas y Cambiadas Tamaño Esperado: 350+125=475 LOC Tamaño medido 450 LOC ¿Qué ha sucedido?

Ejemplo de Contabilidad de LOC - 2 Sumar Restar Base Base V0 0 Borradas, 0 Modificadas 0 0 Añadidas 350 Total V0 LOC 350 -0 350 Borradas 0 Modificadas 25 -25 Añadidas 100 Producto Final 125 -25 450 Total Nuevas y Cambiadas LOC 475