Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En
Producción Sin metodologías
3 Las pruebas son una manera ineficiente e ineficaz para eliminar defectos.
www.gridshore.nl
Algunas disciplinas
PSP
se enfocan aquí
Economía de la calidad en PSP
4 Es más eficiente prevenir los defectos que encontrarlos y corregirlos
5 Las revisiones son fundamentalmente más eficientes que las pruebas para
encontrar y corregir defectos.
Algunas disciplinas
PSP
se enfocan aquí
Calidad
Fases de un proceso en PSP
1 Planeación Elaborar un plan para hacer el trabajo
Diseño detallado
Codificación
Revisión de código
Compilación
Pruebas
TSP
Team software
process Team software process
PSP 0
Cuenta con 4 formularios:
60 min
PSP1 – Método PROBE
En la construcción de un edificio de oficinas cómo se calcularía el costo?
Costos
- VS = 60 millones
- S = 70 millones
- M = 85 millones
- L = 100 millones
- VL = 120 millones
PSP1 – Método PROBE
Método de estimación PROBE (Proxy Based Estimating)
Se utiliza para estimar el tamaño, y con base en este, el tiempo que
toma realizar un producto de software. Consiste en que los
ingenieros deben determinar primero los objetos que se requieren
para construir el producto descrito en el diseño conceptual. A estos
objetos se les llama PROXY’s. Un proxy es un objeto que representa
un elemento a nivel conceptual (clases, reportes, formularios,
Procedimientos almacenados, etc).
New
Nuevas
Reusable Agregadas y
reusables
modificadas
Modified
Modificadas Added
Agregadas
LOC
Deleted
Borradas No tocadas
Untouched Reusadas
Reused
PSP1 – Método PROBE
Archivo
InfoPrograma
Diseño conceptual
InfoClase
- BuscarArchivos
- ContarLineas - ContarMetodos
- MostrarInfo
Impresión
Principal
- Imprimir
- EjecutarPrograma
PSP1 – Método PROBE con SQL
1. Estándar de codificación (Formato)
SELECT C.Name
,E.NameLast
,E.NameFirst
,E.Number
,ISNULL(I.Description,'NA') AS Description
FROM tblCompany AS C
INNER JOIN tblEmployee AS E
ON C.CompanyID = E.CompanyID
LEFT JOIN tblCoverage AS V
ON E.EmployeeID = V.EmployeeID
LEFT JOIN tblInsurance AS I
ON V.InsuranceID = I.InsuranceID
WHERE C.Name LIKE @Name
AND V.CreateDate > CONVERT(smalldatetime, '01/01/2000')
ORDER BY C.Name
,E.NameLast
,E.NameFirst
,E.Number
,ISNULL(I.Description,'NA')
PSP1 – Método PROBE con SQL
2. Proxies
Los Proxies o partes serán las principales sentencias SQL:
INSERT, SELECT, UPDATE, DELETE, EXECUTE, DECLARE.
Estas abarcan el 80% de las que se utilizan en un SP.
Documentación
Sintáxis
Archivos de Script
Campos a retornar
Joins
Filtros (Where, Having)
Asignación (Set)
Datos
Función
Sistema
Entorno
Método PROBE con SQL
Suponga que recibe el siguiente requerimiento para cambiar un
reporte de inventario:
- Adicionar una nueva columna para la descripción por Tipo de
parte
Ejemplo
Diseño Conceptual:
1) Ingresar tres variedades de quesos adicionales: “Queso Mozarela”, “Queso Campesino”, “Queso
parmesano”, con las mismas especificaciones del “Queso Cabrales”.
2) Actualizar las tres variedades de queso anteriores con el precio unitario: 22, 20 y 25
respectivamente; sin unidades ordenadas (pedidas) para todos, y 25 unidades en existencia para los
dos primeros y 20 para el último.
3) Eliminar las ordenes que no se han entregado y que iban con destino a un determinado país, el
cual será paramétrico.
1. Siguiendo el Script
PSP 1.1 Planeación de proyectos
El método del valor ganado nos permite revisar el
Método del valor ganado
proyecto
2. Con base en el tiempo a la fecha (To-Date%) por fase, distribuye el
tiempo total en cada una de las fases
Ejemplo
PSP 2 Calidad en el Software
Para construir productos de calidad consistentemente,
los individuos deben ser disciplinados en el desarrollo y
seguimiento de planes, en el seguimiento y la gestión de
su tiempo personal, y mantener la calidad como la
máxima prioridad.
Ver diapositiva “Economía de la calidad”
Desarrollo
Diseño detallado
• En las revisiones se encuentran de
Revisión del diseño
2 a 5 veces más defectos por hora
Codificación
que en la fase de pruebas
Revisión de código
Compilación
• Los expertos en revisiones pueden
Pruebas
encontrar 70% o más de los
Postmortem defectos de un producto
PSP 2 Calidad en el Software
Para mejorar la calidad se necesita
medir la calidad
Medidas de la calidad del trabajo:
Detailed Design 26 0 0
Design Review 0 11 11/26 = 42.3% 26
Code 39 0 15
Code Review 0 28 28/(26+39-11) = 51.9% 54
Compile 0 12 12/((26+39)-(11+28))=46.2% 26
Unit Test 0 7 50.0% 14
After Unit Test 0 7 7
Total 65 65
PSP 2 Calidad en el Software
2) El Yield del proceso: es el porcentaje de defectos que se
removieron antes de las fases de compilación y pruebas.
Defects at
Phase Def. Injected Def. Removed Yield de la fase Phase Entry
Detailed Design 26 0 0
Design Review 0 11 42.3% 26
Code 39 0 15
Code Review 0 28 51.9% 54
Compile 0 12 46.2% 26
Unit Test 0 7 50.0% 14
After Unit Test 0 7 7
Total 65 65
Tip: COQE / COQF debe ser cercano a 2.0 (doble tiempo en revisiones con relación a
compilación y pruebas)
PSP 2 Calidad en el Software
Time in Phase (min.) Plan Actual To Date To Date %
Planning 644 457 457 27%
Ejemplo Cost of Quality
COQE = 100*(T. DLDR + T. CR)/(T. total) = 100 * (155 + 180) / 1698 = 19.73%
Attributes
(Clases y Métodos)
Declaration Description
MaxTime: Integer, minutes Maximum time-out minutes - adjustable
n: Integer Count of user ID and password errors
nMax: Integer Maximum of n error count
ValidIdSet Set of valid user IDs with passwords
Items
Declaration Description
Void LogIn.Start(n: Int) Initialize system
Handle LogIn transaction, error count, and time-
outs
Int LogIn.GetId(ID: String) Get UserId and check it for problems.
Return true for an acceptable string, false for
timeout or an unacceptable string
Int LogIn.CheckId(ID: String) UserId ValidIdSet Valid ID
UserId ValidIdSet !Valid ID
Int LogIn.GetPW(PW: String) Get password and check for problems.
Return true for an acceptable string, false for
timeout or an unacceptable string
Int LogIn.CheckPW(PW: String) PW = UserId.PW Valid PW
PW ≠ UserId.PW !Valid PW
Void LogIn.LogInUser(ID: String, n: Int) n >= nMax Reject user, deactivate ID
Valid ID Valid PW Log in user
PSP 2.1 Diseño de Software
Plantilla de Especificación de Estados
End The final state: LogIn either logs in or cuts off the user.
Function/Parameter Description
ID User identification: ID is valid or !Valid
PW User password: PW is valid or !valid
n Integer count of ID and password errors
nMax Maximum value of ID and password errors: n >= nMax is rejected.
Fail Indicator of error count or timeout error: Fail = true is failure, Fail = false is ok.
States/Next States Transition Condition Action
Start
Start No transitions from Start to Start
CheckID True Get ID, n := 0; ID and PW !Valid
CheckPW No transitions from Start to CheckPW
End No transitions from Start to End
CheckID
Start No transitions from CheckID to Start
CheckID No transitions from CheckID to CheckID
CheckPW Valid ID Get password
CheckPW !Valid ID Get password
End Timeout Fail := true
CheckPW
Start No transitions from CheckPW to Start
CheckID (!Valid PW !Valid ID) n < nMax Get ID, n := n + 1; ID and PW
!Timeout !Valid
CheckPW No transitions from CheckPW to
CheckPW
End Valid PW Valid ID !Timeout Fail := false, login user
End n >= nMax Timeout Fail := true, cut off user
End
No transitions from End to any state
PSP 2.1 Diseño de Software
Student J.D. Veloper Date 10/27
Program LogIn Program #
Plantilla de Especificación Lógica
- Conocimiento en administración de la
configuración, manejo de proyectos y pruebas de
software.
TSP
Roles
- Líder
- Líder de Desarrollo
- Líder de Planeación
- Líder de Calidad
- Líder de Soporte
• PROxy Based Estimation (PROBE) for Structured Query Language (SQL). http://goo.gl/6Dm8Bq