CALIDAD EN EL DESARROLLO DE SOFTWARE
domingo, 6 de abril de 2014
Tecnicas de estimación de casos de uso
Esta tecnica es una mejora de la tecnica por puntos de función pero esta orientada por el diagrama de casos de uso que es producto del análisis de requerimientos.
El objetivo de esta tecnica es estimar las horas para ejecutar un conjunto de casos de uso, ello es asi porque un diagrama de casos de uso es un esquema gráfico del sistema a desarrollar.
Entre sus ventajas podemos destacar que trabaja bien con proyectos chicos, medianos o grandes y tambien con diferentes tipos de software, como desventaja y muy importante es que su aplicación es cara.
El método de punto de casos de uso consta de varias etapas que son las siguientes:
1.- Calcular los puntos de casos de uso no ajustados (UUCP)
Pesar los actores(AUW) y pesar los casos de uso(UUCW)
UUCP= AUW + UUCW
2.- Calcular los puntos de casos de uso (UCP)
Pesar factores tecnicos(TCF)
Pesar los factores ambientales(EF)
UCP= UUCP * TCF * EF
3.- Estimar horas-hombre
Horas hombre = UCP *20 ó UCP * 28 ó UCP * 36 dependiendo el valor.
Para pesar los actores:
Tipo de actor | Descripción | Factor |
Simple | Otro sistema que interactúa con el sistema a desarrollar mediante una interfaz de programación (API). | 1 |
Medio | Otro sistema interactuando a través de un protocolo (ej. TCP/IP) o una persona interactuando a través de una interfaz en modo texto. | 2 |
Complejo | Una persona que interactúa con el sistema mediante una interfaz gráfica (GUI). | 3 |
Para pesar los casos de uso hay dos formas:
1.- Por el número de transacciones :
Tipo de caso de uso | Descripción | Factor |
Simple | 3 transacciones o menos | 5 |
Medio | 4 a 7 transacciones | 10 |
Complejo | Más de 7 transacciones | 15 |
2.- Por el número de clases que tienen el caso de uso:
Tipo de caso de uso | Descripción | Factor |
Simple | Menos de 5 clases | 5 |
Medio | 5 a 10 clases | 10 |
Complejo | Más de 10 clases | 15 |
Para pesar los factores de complejidad tecnica:
Factor | Descripción | Peso |
T1 | Sistema distribuido. | 2 |
T2 | Objetivos de performance o tiempo de respuesta. | 1 |
T3 | Eficiencia del usuario final. | 1 |
T4 | Procesamiento interno complejo. | 1 |
T5 | El código debe ser reutilizable. | 1 |
T6 | Facilidad de instalación. | 0.5 |
T7 | Facilidad de uso. | 0.5 |
T8 | Portabilidad. | 2 |
T9 | Facilidad de cambio. | 1 |
T10 | Concurrencia. | 1 |
T11 | Incluye objetivos especiales de seguridad. | 1 |
T12 | Provee acceso directo a terceras partes. | 1 |
T13 | Se requiere facilidades especiales de entrenamiento a usuario. | 1 |
Para pesar los factores ambientales:
Factor | Descripción | Peso |
E1 | Familiaridad con el modelo de proyecto utilizado. | 1.5 |
E2 | Experiencia en la aplicación. | 0.5 |
E3 | Experiencia en orientación a objetos. | 1 |
E4 | Capacidad del analista líder. | 0.5 |
E5 | Motivación. | 1 |
E6 | Estabilidad de los requerimientos | 2 |
E7 | Personal part-time | -1 |
E8 | Dificultad del lenguaje de programación | -1 |
Para calcular las horas hombre:
Horas-Persona (CF) | Descripción |
20 | Si el valor es<=2 |
28 | Si el valor es<=4 |
36 | Si el valor es>=5 |
Referencias:
http://es.wikipedia.org/wiki/Puntos_de_caso_de_uso
http://www.uv.mx/personal/asumano/files/2010/07/PUNTOS-DE-CASOS-DE-USO-2011.pdf
http://www.slideshare.net/darthuzkatorcekilates/puntos-de-caso-de-uso
Puntos de función
Los puntos de función son una metrica que nos permiten medir en números la funcionalidad del software. Esto nos da la posiblilidad de tener una idea de la calidad del software porque el proposito de todo esto es conocer la funcionalidad del sistema y eso es parte de la calidad.
A continuación se mostrara como calcular los puntos de función:
La primera tabla que se puede ver en la imagen sirve para calcula los puntos de función sin ajuste
para eelo se toman en cuenta el num de entrada, de salidas, de peticiones, de archivos y de interfaces que pueda tener nuestro sistema y se multiplica por un caso que puede ser simple, medio o complejo eso depende de nuestro numero que hayamos puesto pero para medir la complejidad esa metrica la marcamos nosotros.
En este ejemplo se puede ver que el número de entrada es complejo al igual que el número de salidas y el número de interfaces, mientras que el número de peticiones y el número de archivos son de complejidad media. Los resultados se suman y el total son los puntos de función sin ajuste.
La segunda tabla muestra como calcular los puntos de complejidad de procesamiento, se tiene que considerar lo siguiente:
- Son 14 puntos de complejidad.
- Cada factor se evalua en una escala de 0 a 5
Tomando en cuenta estos factores una vez dado un valor a cada punto de complejidad se suma y saca un total.
Una vez calculado los puntos de función sin ajuste y los puntos de complejidad se aplica la siguientes formulas:
- Factor de complejidad de procesamiento (FCP)
- FCP= 0.65 + (0.01 * PCP)
- = 0.65 + (0.01 * 39)
- =1.04
- Total de puntos de funcion (FP)
- =155 * 1.04
- =161.2
Referencias
A. J. Albretch, J. E. Gaffney, Software Function, Source
Lines of Code, and Development Effort Prediction: A Software Science
Validation, IEEE Transactions on Software Engineering, Vol 9, No. 6, noviembre
de 1983.
C. R. Symons, Function Point Analysis: Difficulties and
Inprovements, IEEE Transactions on Software Engineering, Vol 14, No. 1, enero
de 1988.
C. F. Kemerer, B. S. Porter, Improving the Reliability of
Function Point Measurement: An Empirical Study, IEEE Transactions on Software
Engineering, Vol 18, No. 11, noviembre de 1992.
International Function Point Users Group (IFPUG) Home Page,
http://www.ifpug.org/home/docs/ifpughome.htmlIFPUG, Guidelines to Software
Measurement, IFPUG, 1994.
lunes, 24 de febrero de 2014
PSP Formatos
PSP tiene una serie de formatos que ayudan a hacer un correcto análisis del software a desarrollar.
Los procesos definidos nos ayudan a administrar los proyectos, ya sea trabajando en equipo o trabajando solo. Lo primero que hay que hacer para poder definir los procesos que van a intervenir en un proyecto es:
1. Identificar las actividades principales.
2. Separar los elementos complejos que pueden
intervenir.
3. Establecer los criterios de entrada y de
salida para cada fase del proceso.
4. Medir de manera correcta el
proceso, para tener bien entendido el desempeño personal.
5. Estimar correctamente cuando debe finalizar
cada tarea.
6. Medir con precisión todos los
datos que intervinieron para futuros programas.
7. Identificar las fases del proyecto que más
problemas causaron.
8. Mejora continua tomando en cuenta datos anteriores.
Formatos
Formato del Registro de Tiempo
El formato, que se presenta a
continuación, es el formato del registro de tiempo y que contiene diversos
campos, aunque conforme se avance de nivel, se van agregando más campos y
demandas.
El
propósito de éste formato es el de registrar el tiempo empleado en cada fase
del proyecto. Al mismo tiempo, estos datos son utilizados para complementar el
resumen del plan del proyecto.
Formato de registro de defectos
El propósito general del registro de defectos reside en promover la mejora continua cada vez que se
haga un proyecto. Cada fase de PSP debe de contar con un registro de defectos,
ya sean revisiones, compilaciones o pruebas.
Formato de Resumen de Plan de Proyecto
Este es el formato más importante de todos. En
el formato se muestra el resumen del plan del proyecto, este formato reúne las
estimaciones y los datos reales que conforman al proyecto en toda su amplitud
para que al final se realicen las comparaciones necesarias y exista un histórico
de todos los proyectos realizados.
Como
se puede apreciar en este formato, existen tres campos diferentes. Dos de estos
campos tienen que ver con los defectos encontrados y removidos en cada fase.
Este formato es esencial ya que
es un respaldo para cada proyecto que se desarrolla. En él se pueden encontrar
los datos que serán útiles para el siguiente proyecto parecido que se
desarrolle. Es importante que los datos se escriban con claridad y con
precisión para que cada fase de desarrollo sirva para tener un margen de
comparación con proyectos futuros.
Conclusión
Los formatos son una parte muy importante a tomar en cuenta ya que en ellos es donde se ve reflejado realmente el trabajo realizado en el proyecto, tienen como objetivo principal documentar lo que se realizó bien y también lo que se realizo mal, todo esto con el fin de saber que tanto del proyecto hemos realizado y que nos falta por hacer ademas también los formatos permiten incluso dar pautas a mejoras del proyecto obteniendo un mejor producto del que se hubiera realizado sin utilizar ningún formato.
Referencias
Calero, C. (2010). Calidad del producto y proceso
software. En C. Calero, Calidad del producto y proceso software (pág.
668). Madrid: Editorial Ra-Ma.
PSP
PSP o proceso personal de software es un conjunto de practicas destinadas a el desarrollo de software, fue inventado por Watts Humphrey en 1995 y esta dirigido a estudiantes o desarrolladores sin experiencia con el fin de que puedan utilizar un modelo de calidad sin tantas complicaciones como lo es ISO o CMMI.
También es utilizado como una guía de trabajo para aquellos que desarrollan utilizando el modelo CMMI (siendo estos programadores más experimentados).
Beneficios
Los datos y su análisis permitirán determinar las fortalezas y debilidades.
Los datos y su análisis posterior conducirán hacia nuevas ideas para la mejora del proceso.
Se tendrá control total sobre el calendario, aceptando sólo aquellos compromisos que se puedan cumplir.
La parte de calidad ayudará a producir mejores productos de trabajo.
Desventajas
El usar lineas de código como métrica tiene desventajas ya que depende del lenguaje de programación porque algunas acciones a realizar pueden ocupar menos lineas de un lenguaje a otro por ejemplo java y phyton el segundo necesita menos lineas para lograr lo mismo que en el primero.
PSP sólo requiere un estimado del tiempo de interrupción, en lugar de obligar al usuario a registrar el tiempo real.
Es subjetivo determinar si una parte del software es reutilizable.
PSP esta especialmente enfocado al desarrollo de software y no toma en cuenta el tiempo empleado en la negociación de los requerimientos con el cliente.
Conclusión
PSP es muy útil tanto para desarrolladores novatos como experimentados, en especial los novatos ya que si se entiende muy bien este proceso o forma de trabajar se puede comprender más fácilmente modelos más complejos como CMMI ademas que tanto PSP como CMMI se complementan, otra cosa importante que voy a remarcar es que el desarrollador debe de adaptar PSP a sus necesidades y no pensar que debe de tratar de seguir PSP al pie de la letra ya que solo marca lo que debe de contener la documentación más no una forma especifica de hacerlo.
![]() |
Diagrama de PSP |
Vídeos que te pueden ayudar a entender mejor que es PSP
Un vídeo interesante y un poco diferente que explica que es PSP:
Referencias
Calero, C. (2010). Calidad del producto y proceso
software. En C. Calero, Calidad del producto y proceso software (pág.
668). Madrid: Editorial Ra-Ma.
Escobar, C. J. (08 de 06 de 2010). asprotech.blogspot.mx.
Recuperado el 06 de 02 de 2013, de Personal Software Process PSP elementos:
http://asprotech.blogspot.mx/2010/06/personal-software-process-psp-elementos.html
sábado, 22 de febrero de 2014
Infografia
Introducción
¿Que es una infografia?
Vídeos que pueden ayudarte a entender mejor lo que es una infografía
Conclusión
Actualmente existen muchas formas de expresar la información hacia otro individuo pero algunos métodos son mejores que otros, uno ellos es la infografia.
¿Que es una infografia?
La infografia es una representación visual de un texto que nos ayuda a comprender de una manera más dinámica algún tipo de información, esta es una forma de llegar más fácilmente a la persona que queremos transmitirle la información ya que el ser humano tiende a ser una persona mayormente visual para entender el mundo que lo rodea.
Ejemplos
Conclusión
La infografía es un buen método para dar a entender algo ya que la imagen complementa al texto haciendo que sea muy fácil de entender para el lector e incluso pueda generar verdadero aprendizaje.
Como opinión personal pienso que todos los libros o artículos informativos deberían tener infografías ya que en mi caso y no creo ser el único, a mi se me dificulta un poco más leer libros, revistas, periódicos etc., que no contienen imágenes por que realmente después de un tiempo de lectura se vuelve cansado y aburrido haciendo que pierda mi interés de aprender.
Para más información puedes visitar los siguientes enlaces:
Suscribirse a:
Entradas (Atom)