TSPiSM Plan de Desarrollo

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Gestión de Proyectos Informáticos
Ingeniería de Software II
Estructura de SW-CMM.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Planeación y Programación del Mantenimiento.
La investigación La construcción del conocimiento.
Trabajo en Equipo y Roles
GESTIÓN DE LOS COSTOS DEL PROYECTO
2. Diseño y Desarrollo del Producto
METRICAS DE PROCESO Y PROYECTO
Gestión de proyectos Es la primera etapa de Ingeniería del Software.
Modelos de confiabilidad
Evaluación de Productos
HERRAMIENTAS CASE.
NORMA ISO 9126 Carlos Mario Zapata J. 11/04/2017 Calidad de Software.
Gestión del Tiempo del Proyecto
Sistema de Información
DISEÑO DE SOFTWARE 1ª. Parte
Inspecciones de Software
PLAN DE PROYECTO En el desarrollo de un proyecto tecnológico, se pueden plantear indicadores para cada una de las etapas del mismo, por ejemplo: 1º Periodo:
El Proceso de Software es la única manera de desarrollar sistemas de calidad. F. o V. Justifica tu respuesta. Que tiene que ver la globalización.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
ISF5501 Ingeniería 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.
Estimación de Tamaño de Software: Puntos Funcionales
Contexto Proyecto consolidado dentro de la línea de investigación de Sistemas de Información en el Dpto. de Ingeniería en Sistemas de Información de la.
ADMINISTRACION DE LA PRODUCCION ING. GRUPO No. 2
4/27/2015Gestión de Proyectos de Software1 PLANEACIÓN ESTRATÉGICA – PRIMERA PARTE Carlos Mario Zapata J.
Administración Proyectos Jorge Baracaldo Robin Ochoa.
BIG SIX ALIX M. MELENDEZ LEONOR HERNANDEZ PATRICIA DE JESUS.
Conceptos de Gestión y Planificación de Proyectos Software
Presentación Final Proyecto Originación de Crédito Especialización en construcción de software Universidad de los Andes Bogotá Julián Morales.
Construcción de Software
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Representación de Algoritmos
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Team Software Process IntroductionTSPiSM Watts Humphrey
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Medición y Métricas del Software
Factores y Métricas que determinan la Calidad de un producto
Ciclo de vida de un sistema
Metodologías Lsi. Katia Tapia A., Mae.
Elaborado por: Mayoral Cruz Matilde Morales Espinoza Anllhins
Introducción al proceso de verificación y validación.
CICLO DE VIDA CLÁSICO DE UN SISTEMA
Estimación de proyectos de software
Utilizar Costo Promedio Ponderado en el Software Administrativo SAW
RIESGO, RENDIMIENTO Y VALOR
REVISION Y AUDITORIA.
Ciclo de Vida del Software
Puntos de Función.
 es el conjunto de conocimientos y técnicas científicas aplicadas al desarrollo, implementación, mantenimiento y perfeccionamiento de estructuras (tanto.
1 Postmortem Ciclo Nro. ? Grupo ???? Roles y responsables : … Nombre del grupo, nombre y rol de los participantes Total tiempo de la presentación : 20.
Proceso de desarrollo de Software
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
EI, Profesor Ramón Castro Liceaga IV. AREAS DE EVALUACIÓN DE LA AUDITORIA EN INFORMÁTICA. UNIVERSIDAD LATINA (UNILA)
Fundamentos de Computación
UNIVERSIDAD LATINA (UNILA) III.- PLAN DE IMPLEMENTACIÓN
SISTEMA DE GESTIÓN DE LA CALIDAD ISO 9001: AUDITORÍA INTERNA
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.
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
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.
Sistemas de calidad en el desarrollo de software.
GESTIÓN DE PROYECTOS.
Gestión del Alcance del Proyecto
4. Definición del proyecto. Qué tan difícil es manejar un proyecto? ◦Dependerá del tamaño del mismo ◦De los costos ◦De los plazos ◦Del nivel de dificultad.
Transcripción de la presentación:

TSPiSM Plan de Desarrollo Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes

Reference Introduction to the Team Software ProcessSM. Watts Humphrey. Addison Wesley. 2000

Agenda Necesidad de hacer planes Proceso de Planeación Herramienta de soporte Seguimiento de la Planeación

Necesidad de hacer planes La complejidad de un plan depende de la complejidad del trabajo que se pretende realizar Realizar un plan demanda tiempo y un esfuerzo considerable!!!

Necesidad de hacer planes (2) Justificación: realizar el trabajo más eficientemente se sabrá qué hacer y cuándo hacerlo organización de TODAS las tareas que deben hacerse se establecen compromisos más realistas se puede hacer planes balanceados se puede hacer seguimiento del trabajo contra el plan y aprender !!!! Tareas “sorpresa” Mejorar la estimación

Agenda Necesidad de hacer planes Proceso de Planeación Herramienta de soporte Proceso de desarrollo del plan Seguimiento de la Planeación

Proceso de Planeación

Proceso de Planeación (2) Paso 1: Producir el diseño conceptual. este diseño será utilizado en el proceso de planeación Paso 2: Desarrollar la estrategia estimación del tamaño de las partes del diseño conceptual decisión orden de desarrollo en los ciclos registro de la estrategia

Proceso de Planeación (3) Paso 3: Registro en la forma de tamaños (SUMS) esta forma resume la información de estimación de tamaños para el producto Paso 4: Producir el plan del equipo (TASK, SCHEDULE) listar las tareas requeridas para construir los productos identificados en le paso 3 estimar el tiempo de cada tarea y completar la forma de tareas (TASK) estimar cuánto tiempo el equipo gastará cada semana en el proyecto e ingresar esta información en la forma del cronograma (SCHEDULE) usar la herramienta para completar la info

Proceso de Planeación (4) Paso 5: Hacer el plan de calidad (SUMQ) usar la herramienta para registrar la información Paso 6: Cada Ingeniero hace su plan personal producir el plan personal en las formas TASK y SCHEDULE Paso 7: Producir los planes individuales utilizar la herramienta para esta tarea

Proceso de Planeación (5) Paso 8: Balancear el plan de acuerdo al plan global y a las tareas individuales buscar que no haya dependencias fuertes en el tiempo entre las tareas maximizar el paralelismo Paso 9: Producir los planes finales utilizar la herramienta para actualizar los planes individuales y del grupo

Agenda Necesidad de hacer planes Proceso de Planeación Herramienta de soporte

Herramienta de soporte Contiene todas las formas para hacer la planeación y el seguimiento del proyecto

Agenda Necesidad de hacer planes Proceso de Planeación Herramienta de soporte

Este material fue preparado por Rubby Casallas Juan Pablo Quiroga

Estimación de Tamaño de Software: PROBE Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes

¿Por qué medir el tamaño de un programa? Típicamente, el esfuerzo necesario para completar un proyecto se relaciona con ciertas medidas del mismo: Metros cuadrados de área construida Metros de cable tendido Kilómetros de carretera Número de personas atendidas

Posibles métricas de programación Tamaño en bytes de los fuentes. Número de líneas de código. Número de instrucciones. Conteo de determinados elementos sintácticos: Terminadores de instrucción (i. e. caracteres de ";"). Delimitadores de bloque (i. e. "{" y "}"). Medidas de anidamiento de elementos, complejidad de las expresiones, etc.

Líneas de código En la literatura, líneas de código se abrevia como LOC (lines of code). Existen varias formas posibles de contar las líneas de código. La experiencia demuestra que hay un buen grado de correlación entre los conteos de líneas de código y el tiempo de desarrollo. Las líneas de código se pueden contar automáticamente.

Métodos de conteo Es necesario definir con precisión el método de conteo de líneas que se va a usar. El método debe ser: Comunicable: debe ser posible explicar el método a otro de modo que éste pueda usarlo y obtener los mismos resultados. Repetible: usos sucesivos del método deben producir el mismo resultado. Las condiciones anteriores son necesarias para poder predecir el tamaño de un programa.

Métodos de conteo: Definición Al definir un método de conteo hay que determinar como se cuentan: Las instrucciones ejecutables Las declaraciones Instrucciones para el compilador Comentarios Líneas en blanco Normalmente hay que agregar notas y comentarios para aclarar los casos especiales y las excepciones.

Métodos de conteo: Conteo físico Consiste en contar las líneas de código físicas o una variante cercana de ellas. Puede hacerse automáticamente con programas bastante sencillos. Es fuertemente dependiente del formato.

Métodos de conteo: Conteo lógico Consiste en contar instrucciones efectivas y estructuras de control. Puede ser un método complejo de definir con toda precisión. Es más difícil de implantar en forma automática. Es más independiente del formato. Tiene mayores posibilidades de reflejar la complejidad del programa, por lo cual debería correlacionar mejor con el esfuerzo.

Productividad La productividad puede definirse como el número de LOC por hora que produce un programador. Como la forma de contar puede cambiar, así como las líneas que se incluyen en la cuenta, la productividad es una medida relativa. Para poder hacer comparaciones válidas, es importante medir la productividad siempre con los mismos criterios.

Técnicas comunes de estimación de tamaño La literatura discute varias técnicas de estimación de tamaño. Algunas de ellas: Wideband-Delphi Lógica difusa Componentes estándar Puntos funcionales

Estimación basada en proxies ¿Qué es un Proxy? El objetivo es estimar las líneas de código de un programa antes de implantarlo. Visualizar el número de líneas de un programa que apenas se está planeando es bastante difícil. Un proxy es una característica del programa que es fácilmente visualizable en etapas tempranas del desarrollo. Ejemplos: pantallazos, objetos, archivos...

Estimación basada en proxies Características de un buen proxy La cuenta o medida del proxy debe tener una alta correlación con el esfuerzo necesario para construir el programa. El proxy debe poder contarse o medirse en forma automática sobre el producto terminado. Debe ser fácil de visualizar al comienzo del proyecto. Debe ser adaptable a necesidades específicas. Debe adaptarse a variaciones de implantación.

El método PROBE El método PROBE (PROxy-Based Estimating). Se divide en varias fases: Diseño conceptual Clasificación de los objetos Cálculo de LOC modificadas y agregadas Estimación del tamaño del programa Cálculo del intervalo de predicción

PROBE: Diseño conceptual Es un diseño preliminar, basado en las especificaciones iniciales del proyecto. Busca identificar los objetos que tendrían que conformar la aplicación. El criterio es: ¿Cuáles objetos harían falta para poder construir la aplicación? El diseño conceptual se usa sólo con propósitos de estimación. Si en la fase de diseño se identifica una mejor aproximación a la solución, ésta debe seguirse.

PROBE: Clasificación de los objetos Los objetos identificados en el diseño conceptual deben clasificarse. La clasificación se hace según dos conceptos: Tipo Tamaño relativo de los métodos El tamaño promedio de los métodos se identifica con base en información histórica

PROBE: Programa de base y objetos reutilizados Con frecuencia un proyecto consiste en modificar un programa existente en lugar de construir uno nuevo. Igualmente es muy posible que objetos existentes puedan ser reutilizados. En estos casos hay que tener en cuenta las líneas que hay que agregar y modificar.

PROBE: Programa de base y objetos reutilizados (cont.) También las líneas borradas deben tenerse en cuenta para estimar el tamaño final correcto. El conteo de líneas efectivamente agregadas, borradas y modificadas al final es complejo. Programas como diff pueden ayudar.

PROBE: Mantenimiento de la información histórica Cada nuevo proyecto debe agregar información a la base de datos histórica. Los nuevos proyectos permiten revisar las categorías y rangos utilizados en la clasificación de objetos. El método usado para incorporar dicha información es básicamente el de lógica difusa.

Conclusiones La planeación de proyectos de software es una actividad compleja, que requiere entrenamiento y práctica. La habilidad para estimar se adquiere con la practica. La capacidad de estimación mejora con la experiencia. El control del tiempo es la base fundamental para todas las mediciones de productividad.

Conclusiones (cont.) La estimación de tamaño es central en el proceso de planeación. Una buena estimación de tamaño se apoya en datos históricos bien mantenidos. La estimación de tiempo es mucho más confiable si se basa en un estimado de tamaño. Los datos históricos también juegan aquí un papel fundamental. Un registro de actividades bien manejado es un activo importante para una buena planeación.

Conclusiones (cont.) Los métodos estadísticos son fundamentales a lo largo del proceso de planeación. Éstos representan la diferencia entre un plan de carácter ingenieril y una estimación informal.

Este material fue preparado por Martín Soto Rubby Casallas