Está en la página 1de 35

Ingeniería de

Software
Sesión 21 – PSP 0.1
Cambios de PSP0.1
Con respecto a PSP0
Cambios de PSP0.1
 Proceso general
 Criterios de inicio
 Descripción del problema
 Project plan summary versión PSP0.1
 Time y Defect logs
 Estándar de tipos de defectos
 Estándar de codificación
Cambios de PSP0.1
 Planeación
 Producir u obtener los requerimientos
 Estimar LOC añadidas o modificadas
 Estimar tiempo de desarrollo
 Ingresar los datos en el project plan summary
 Completar el time recording log
Cambios de PSP0.1
 Desarrollo
 Diseñar el programa
 Implementar el diseño
 Compilar el programa, arreglando y
registrando todos los defectos encontrados
 Probar el programa, arreglando y registrando
todos los defectos encontrados
 Completar el time recording log
Cambios de PSP0.1
 Postmortem
 Completar el project plan summary con
tiempos, defectos y tamaño actuales
 Criterios de salida
 Un programa probado y libre de defectos
 Project plan summary debidamente llenado
 Formas PIP debidamente llenadas
 Time y defect recording logs debidamente
llenos
PSP0.1 Project Plan Summary

Student Date
Program Program #
Instructor Language

Program Size Plan Actual To Date


Base (B)
(Measured)
Deleted (D)
(Counted)
Modified (M)
(Counted)
Added (A)
(T − B + D − R)
Reused (R)
(Counted)
Added and Modified (A+M)
(A + M)
Total Size (T)
(Measured)
Total New Reusable

Time in Phase (min.) Plan Actual To Date To Date %


Planning
Design
Code
Compile
Test
Postmortem
Total

Defects Injected Actual To Date To Date %


Planning
Design
Code
Compile
Test
Total Development

Defects Removed Actual To Date To Date %


Planning
Design
Code
Compile
Test
Total Development
After Development
PSP0.1 Project Plan Summary

Student Date
Program Program #
Instructor Language

Program Size Plan Actual To Date


Base (B)
(Measured)
Deleted (D)
(Counted)
Modified (M)
(Counted)
Added (A)
(T − B + D − R)
Reused (R)
(Counted)
Added and Modified (A+M)
(A + M)
Total Size (T)
(Measured)
Total New Reusable

Time in Phase (min.) Plan Actual To Date To Date %


Planning
Design
Code
Compile
Test
Postmortem
Total

Defects Injected Actual To Date To Date %


Planning
Design
Code
Compile
Test
Total Development

Defects Removed Actual To Date To Date %


Planning
Design
Code
Compile
Test
Total Development
After Development
PSP0.1 Project Plan Summary

Student Date
Program Program #
Instructor Language

Program Size Plan Actual To Date


Base (B)
(Measured)
Deleted (D)
(Counted)
Modified (M)
(Counted)
Added (A)
(T − B + D − R)
Reused (R)
(Counted)
Added and Modified (A+M)
(A + M)
Total Size (T)
(Measured)
Total New Reusable

Time in Phase (min.) Plan Actual To Date To Date %


Planning
Design
Code
Compile
Test
Postmortem
Total

Defects Injected Actual To Date To Date %


Planning
Design
Code
Compile
Test
Total Development

Defects Removed Actual To Date To Date %


Planning
Design
Code
Compile
Test
Total Development
After Development
Cambios de PSP0.1
 Estimamos el tiempo total para el
proyecto actual

 Supongamos que este tiempo serán 4 horas

Time in Phase (min.) Plan


Planning
Design
Code
Compile
Test
Postmortem
Total 4
Cambios de PSP0.1
 Debemos de tomar la columna To Date %
del proyecto anterior

Time in Phase (min.) To Date %


Planning 15%
Design 25%
Code 30%
Compile 10%
Test 10%
Postmortem 10%
Total 100%
Cambios de PSP0.1
 Hacemos una regla de 3 para cada
etapa
 Si 4 horas será el 100%...
% Horas
15 0.6
25 1
30 1.2
10 0.4
10 0.4
10 0.4
Cambios de PSP0.1
 Ingresamos los datos en el project plan
summary

Time in Plan
Phase (min.)
Planning .6
Design 1
Code 1.2
Compile .4
Test .4
Postmortem .4
Total 4
Cambios de PSP0.1
 Se desarrolla el programa como se viene
haciendo con PSP0, no olvidando
registrar tiempos y defectos
 Al llegar al postmortem, se recopilan los
tiempos y defectos por cada etapa y se
registran en el project plan summary igual
que con PSP0
 ¿Cómo registramos el tamaño del código
según lo pide PSP0.1?
Cambios de PSP0.1
 Primero unas definiciones
 LOC Base (B)
 En un programa existente que vamos a
modificar, las LOC lógicas originales
 Si es un programa nuevo, LOC Base = 0

 LOC Deleted (D)


 LOC eliminadas de un programa existente
que hemos modificado
 Si es un programa nuevo, LOC Deleted = 0
Cambios de PSP0.1
 LOC Modified (M)
 LOC modificadas de un programa existente
que hayamos alterado
 En un programa nuevo, LOC Modified = 0
 LOC Reused (R)
 LOC que hayamos re-usado
 Usualmente son funciones o clases que
hayamos desarrollado con anterioridad y que
ocupamos nuevamente
 Es importante no haber modificado ni una sola
LOC de la función o clase para ser contada
como Reused
Cambios de PSP0.1
 Total size (T)
 LOC total desarrollado
 Se de un código totalmente nuevo
 Sea de un código que tuvimos que modificar
 LOC added (A)
 Resulta de aplicar la fórmula
 Total size – Base + Deleted – Reused
 LOC added and modified
 Resulta de aplicar la fórmula
 Added + Modified
Cambios de PSP0.1

 Ejemplo

 Nos han encargado modificar el siguiente


programa
require_once 'adodb5/adodb.inc.php';
require_once 'adodb5/adodb-active-record.inc.php';

class Alumno extends ADODB_Active_Record {

var $_table = 'alumnos';

$server = 'localhost';
$user = 'bda';
$pwd = 'bda';
$dbname = 'bda';

$db = NewADOConnection('mysql');
ADODB_Active_Record::SetDatabaseAdapter($db);

$db->connect($server, $user, $pwd, $dbname);


$alumno = new Alumno();

$listaAlumnos = $alumno->Find('');

13 LOC lógicas
Cambios de PSP0.1

 Despuésde haber hecho las


modificaciones solicitadas, el código
quedaría de la siguiente forma
require_once 'adodb5/adodb.inc.php';
require_once 'adodb5/adodb-active-record.inc.php';

class Alumno extends ADODB_Active_Record {

var $_table = 'alumnos';

$user = 'bda';
$pwd = '980s7df098';
$dbname = 'bda';

$db = NewADOConnection('mysqli');
ADODB_Active_Record::SetDatabaseAdapter($db);

$db->connect('localhost', $user, $pwd, $dbname);


$alumno = new Alumno();

$listaAlumnos = $alumno->Find('status = 1');

foreach ($listaAlumnos as $registroAlumno) {


mail($registroAlumno->email, 'Confirmación de inscripción',
'Gracias, has quedado inscrito');
}
15 LOC lógicas
Cambios de PSP0.1
 Comparando las 2 versiones tenemos
 LOC Base (B) = 13
 LOC Deleted (D) = 1
 LOC Modified (M) = 4
 LOC Reused (R) = 2
 Total Size (T) = 15
Cambios de PSP0.1
 Ingresamos estos datos en el project plan
summary
Program Size Actual
Base (B) 13
(Measured)
Deleted (D) 1
(Counted)
Modified (M) 4
(Counted)
Added (A)
(T − B + D − R)
Reused (R) 2
(Counted)
Added and Modified (A+M)
(A + M)
Total Size (T) 15
(Measured)
Total New Reusable
Cambios de PSP0.1
 CalculamosLOC Added y LOC Added
and Modified
Program Size Actual
Base (B) 13
(Measured)
Deleted (D) 1
(Counted)
Modified (M) 4
(Counted)
Added (A) 1
(T − B + D − R)
Reused (R) 2
(Counted)
Added and Modified (A+M) 5
(A + M)
Total Size (T) 15
(Measured)
Total New Reusable
Cambios de PSP0.1
 Para PSP, el esfuerzo real hecho, es sobre
los LOC Added and Modified
 En este caso, el esfuerzo total fueron 5 LOC
 La columna de To Date se llena como de
costumbre, tomando en cuenta el
histórico de proyectos anteriores, donde
simplemente se van sumando las
cantidades
Cambios de PSP0.1

 Enbase a los LOC Added and Modified


(A+M) actuales y el Total Time se puede
obtener la estadística de productividad
estrella:

LOC / hr
Cambios de PSP0.1
 Si los LOC Added and Modified = 5 LOC, y
si total time = .5 hr
5𝐿𝐿𝐿
 = 10 𝐿𝐿𝐿⁄ℎ𝑟
.5ℎ𝑟
 Estono quiere decir que me tardaría 1
hora frente al teclado escribiendo 10 LOC
 Detrás de esos 10 LOC está toda la
planeación, todo el diseño, todas las
pruebas, todos los defectos corregidos…
Cambios de PSP0.1

Porlo tanto serían 10


LOC de calidad
Cambios de PSP0.1
 Formato PIP
 Problem description
 Deben de describir problemas que tuvieron
con el proceso
 NO problemas técnicos
 Por ejemplo
 Dificultad para registrar tiempos, defectos,
tamaño…
Cambios de PSP0.1
 Proposal description
 Describirdetalladamente como modificarían
el proceso para resolver el problema
 No se vale eliminar pasos del proceso
 Por ejemplo
 Crear un programa para automatizar el conteo
de LOC
 Crear un programa para automatizar el registro
de tiempos y defectos
Cambios de PSP0.1
 Other notes and comments
 Escribir
comentarios y observaciones
adicionales sobre tus experiencias con el
proceso o ideas de mejora
Proyecto
Proyecto
 Ver documento adjunto en la página del
curso
 Entrega 7 de abril sin excepción
 Programa ejecutándose
 Impresos de:
 Project plan summary
 Time log
 Defect log
 Coding standard
 Evidencia de diseño
 Código fuente
© 2011 Creative Commons
Atribución-NoComercial-Compartir
Igual 2.5 México.
http://creativecommons.org/licenses
/by-nc-sa/2.5/mx/

Ing. Miguel Angel Ibarra Romero

También podría gustarte