domingo, 6 de abril de 2014

CMMI

Video editado por mi donde explico un poco que es CMMI


Moprosoft


Video realizado por mi, espero les ayude a entender lo que es MOPROSOFT


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
Los puntos de funcion en este caso son 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.

Weitzenfeld, A. (2005). Ingeniería de software orientada a objetos con UML, Java e Internet. En A. Weitzenfeld, Ingeniería de software orientada a objetos con UML, Java e Internet (pág. 678). Thomson.




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

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





Vídeos que pueden ayudarte a entender mejor lo que es una infografía




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: