domingo, 6 de abril de 2014

CMMI

Introducción

CMMI es un modelo que permite realizar evaluaciones independientes para que una organización lleve a cabo sus propios procesos, está desarrollado principalmente para las grandes empresas.

Desarrollo

CMMI se desarrolla principalmente en 5 procesos:
1.       Procesos impredecibles
2.       Administrados por proyectos
3.       Estandarizados para la organización
4.       Procesos medidos y controlados
5.       Mejora continua de procesos
Cada uno tiene un nivel los cuales son:

Nivel 0- INCOMPLETO
*        No se realiza, o no se consiguen sus objetivos
Nivel 1-INICIAL O EJECUTADO 
*        Los presupuestos se disparan, no es posible entregar el proyecto en fechas, te tienes que quedar durante noches y fines de semana para terminar un proyecto.
*         No hay control sobre el estado del proyecto.

Nivel 2- REPETIBLE
*        El proyecto tiene una administración es gestionado y controlado durante el desarrollo del mismo.
*         El desarrollo no es opaco y se puede saber el estado del proyecto en todo momento.

Nivel 3-DEFINIDO 
*        El desarrollo del software está basado en  lo previo establecido  documentación y que existen métricas y objetivos concretos.

Nivel 4-ADMINISTRATIVO
*        Se utilizan objetivos para alcanzar las necesidades de los clientes y la organización. Se usan métricas para gestionar la organización.

Nivel 5- OPTIMIZADO
*        Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades.
*        Mejoras incrementales e innovadoras de los procesos que mediante métricas son identificadas, evaluadas y puestas en práctica en la necesidad de ir más allá.



Conclusión

ha  sido un modelo de gran utilidad para que toda empresa pueda tener una guía para orientar sus iniciativas de mejora. 

Bibliografía

•       Ingeniería del software: un enfoque práctico
•       Calidad del producto y proceso software
                Coral calero, M. Ángeles moraga, Mario G. Piattini
http://www.totaltech.com.mx/images/right-panel/articulos/logo-cmmi.png
http://ingdesoft2blog.blogspot.mx/


MOPROSOFT

Introducción

MOPROSOFT es un modelo de procesos para la industria del software empleado principalmente para pequeñas empresas.

Desarrollo

MOPROSOT consta de 9 procesos los cuales son:
*        Gestión de Negocio
*        Gestión de Procesos
*        Gestión de Proyectos
*        Gestión de Recursos
*        Recursos Humanos y Ambiente de Trabajo
*        Bienes, Servicios e Infraestructura
*        Conocimiento de la Organización
*        Administración de Proyectos Específicos
*        Desarrollo y Mantenimiento de Software


En donde cada proceso se mide según el nivel en el que este:
Nivel 0-PROCESO INCOMPLETO
*        El propósito no está implementado o no se cumple el propósito del proceso.
*        Existe poca o ninguna  evidencia de cualquier logro sistemático del propósito del proceso.

Nivel 1-PROCESO REALIZADO
*        Se alcanza el propósito del proceso, aunque puede no estar rigurosamente planeado.
*        Están identificados los productos del proceso que testifican que se alcanzó el propósito.

Nivel 2- PROCESO ADMINISTRATIVO
*        El proceso realizado (de nivel 1) se implementa de manera administrada (planeada, supervisada y controlada) y sus productos de trabajo son apropiadamente establecidos, controlados y mantenidos.

Nivel 3-PROCESO ESTABLECIDO
*        Existe un proceso o familia de procesos estándares para la organización, los cuales describen cómo implementar las prácticas básicas.

Nivel 4-PROCESO PREDECIBLE
*        El proceso predecible se mide y controla.
*        El proceso establecido (de nivel 3) opera dentro de ciertos límites para alcanzar resultados.

Nivel 5-PROCESO OPTIMIZADO
*        El proceso predecible (de nivel 4) es continuamente mejorado para lograr las metas de negocios actuales y futuras relevantes.


Conclusión

Podemos decir que para poder desarrollar correctamente los procesos y que estos alcancen un buen nivel se tiene que trabajar en conjunto, el departamento de operación, la gerencia y dirección, para así poder cumplir las metas esperadas y realizar una buena estrategia que permita una buena certificación en MOCROSOFT.


Bibliografia 
http://www.esicenter-sinertic.org/Portals/0/Imagenes/moprosoft.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_3mkrX8R-f4XjYluTKViL4IX2-wYa14kBRCJ47Sy3ivpDMmC-689rS5dGTPnLJ-ynUMi7Oz_f9hRmxphIG59muwD9qGVr1JZ-JRJ_5RfQt-dcRy_UmKiiezmlbM2RPNO-Xyz2lwUcAZ4J/s1600/tabla3.gif

Estimación por puntos de caso de uso

Introducción

Los puntos de caso de uso es un método de estimación de esfuerzo para proyectos de software. En donde se utilizan actores y distintos casos de uso, para así permitir el cálculo del esfuerzo que se empleara en su desarrollo.

Desarrollo

El método de puntos de caso de uso se desarrolla en 4 etapas:
  1. Factor de peso de los actores sin ajustar (UAW)
  2. Factor de peso de los casos de uso sin ajustar (UUCW)
  3. Puntos de caso de uso ajustados (UCP)
  4. Esfuerzo horas-hombre
Para el caso del cálculo del UAW se hace lo siguiente:
Se calcula determinando si cada actor es una persona u otro sistema, a la forma en la que este interactúa con el caso de uso, y la cantidad de actores de cada tipo.

 La fórmula sería: UAW = Sum(cantidadDeUnTipoDeActor*Factor en donde se emplea la siguiente tabla:

Tipo de actor
Descripción
Factor
de peso
Número de actores
Resultado
Simple
Otro sistema que interactúa con el sistema a desarrollar mediante una interfaz de programación(API, Aplication Programming Interface)
1
0
0
Promedio
Otro sistema que interactúa con el sistema a desarrollar mediante un protocolo o una interfaz basada en texto.
2
0
0
Complejo
Una persona que interactúa con el sistema mediante una interfaz gráfica.
3
3
9
Total
9
Para el caso del cálculo del UUCW se hace lo siguiente:
Toma en cuenta el número de transacciones que se pueden realizar en un caso de uso y lo evalúa según la siguiente tabla y emplea la siguiente formula:
La fórmula sería: UUCW = Sum (CantidadDeUnTipoDeCasoUso*Factor)

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

Para el caso del cálculo del UCP se hace lo siguiente:
  • La formula para calcularlos es UCP = UUCP x TCF x EF
En donde TCF=Factores de complejidad técnica
Para determinara los factores de complejidad técnica se utiliza la siguiente tabla y la formula:
Formula:
  • TFactor = Sum (Valor*Peso)
TCF = 0.6 + (0.01 * TFactor
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 calcular los factores ambiente EF se emplea la siguiente formula y tabla:
Las fórmulas para este punto son:
  • EFactor = Sum(Valor * Peso)
  • EF = 1.4 + (-0.03 * EFactor)

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

Por ultimo para calcular el esfuerzo- hombre se hace lo siguiente:
  • E = UCP * CF donde:
  • E: esfuerzo estimado en horas-hombre.
  • UCP: Puntos de casos de uso ajustados.
  • CF: Factor de conversión (20 horas-hombre por defecto).
  • E = 127.56 * 20
  • E = 2551.2 Horas-hombres

Conclusión

  • La estimación por Puntos de Caso de Uso resulta muy efectiva para estimar el esfuerzo requerido en el desarrollo de los primeros Casos de Uso de un sistema.
  • Además de que nos servirá para identificar el tiempo requerido en nuestro proyecto.

Bibliografía
  • [1] Roger S. Pressman. (1998). Ingeniería del software, un enfoque práctico, España, Ed. McGraw-Hill.
  • [2]Valero Orea, Sergio .ESTIMACIÓN DE PROYECTOS DE SOFTWARE CON PUNTOS DE CASOS DE USO.
  • Roy K. Clemmons. (2006). Project estimation with Use Case Points. EEUU, Crosstalk: The Journal of Defense Software Engineering.
  • Reportes Técnicos en Ingeniería de Software Vol. 6 N° 1 (2004), pág. 1-16. ESTIMACIÓN DEL ESFUERZO BASADA EN CASOS DE USO. Mario Peralta

Puntos de función

Introducción

Los puntos de función son un método que nos puede ayudar a medir el tamaño del software en cuanto a la funcionalidad que ofrece.
Esto nos permitirá tener un mejor conocimiento sobre nuestro sistema y el impacto que este podría tener ante el usuario.

Desarrollo

Los puntos de función se desarrollan mediante un proceso que consta de:
  • *      Salidas
  • *        Consultas
  • *        Entradas
  • *        Ficheros.

Cada uno de estos pasos se mide y de acuerdo a su complejidad puede ser simple, media y compleja.

A continuación se muestra una serie de tablas que permiten la medición de cada paso.


Para poder calcular los puntos de función se emplea la siguiente formula:
*        Puntos de Función = Puntos de función Sin Ajuste x Factor de Complejidad de Procesamiento donde:
*        Factor de Complejidad de Procesamiento = 0.65 + (0.01
*        x Puntos de Complejidad de Procesamiento
Para poder calcular los Puntos de Complejidad de Procesamiento se hace lo siguiente:
*        Se consideran 14 factores diferentes
*        Cada factor se evalúa en una escala de 0 a 5 donde el 0 significa que no tiene influencia y el 5 es muy influyente.

Factores de Complejidad
puntos
Comunicación de datos
5
Actualización en línea
0
Servicios distribuidos
3
Procesamiento complejo
4
Desempeño
4
Reusabilidad
5
Ambiente de uso sobrecargado
3
Facilidad de instalación
4
Ruta de transacciones
3
Facilidad de operación
5
Entrada de datos en línea
0
Múltiples lugares de operación
1
Eficiencia del usuario final
5
Facilidad de modificación
2
total de puntos de complejidad de procesamiento
44

Conclusión

Ya por ultimo para poder obtener el total de los puntos de función se hace de la siguiente manera:
*        Factor de Complejidad de Procesamiento (FCP):
*        FCP = 0.65 + (0.01 x PCP)
*        = 0.65 + (0.01 x 44)
*        = 1.09
*        Total de Puntos de Función (FP):
*        FP = PSA x FCP
*        = 306 x 1.09
*        = 333.54

Bibliografía

*        [Pressman, 1998]. Pressman, Roger S 1998. Ingeniería del Software. Un Enfoque Práctico. Cuarta Edición. 581 páginas. Editorial Mc Graw-Hill. ISBN 84-481-1186-9.
*        [Jones, 1987]. Jones, C. 1987. A Short History of Function Points and Feature Points. Software Productivity Research Inc. USA.
*        [Albrecht, 1979] Albrecht, Allan J. 1979. Measuring Aplication Development Productivity. Proc Of IBM applications. Development Joint SHARE/GUIDE Symposium, Monterrey, Páginas 83-92.