sábado, 5 de abril de 2014

CMMI

¿Que es CMMI?


CMMI (Modelo de Madurez de Capacidad Integrado) pertenece a la familia de modelos desarrollados por el SEI (Software Engineering Institute) para evaluar las capacidades de las organizaciones de ingeniería de sistemas, ingeniería de software, además del desarrollo integrado del producto y del proceso.


CMMI


Es un modelo de mejora de procesos que recomienda un conjunto de buenas prácticas destinadas a mejorar la productividad, resultados, costos, satisfacción de todos los actores vinculados con una organización que construye y mantiene software


El CMMI


Algunos de los objetivos del CMMI y que son buenos para el negocio.
  • Producir servicios y Productos de alta calidad.
  • Crear valor para los accionistas.
  • Mejorar la satisfacción del cliente.
  • Incrementar la participación en el mercado.
  • Ganar reconocimiento en la industria.


El modelo CMMI for Development


  • El modelo tiene 4 áreas de conocimiento o disciplinas que incluyen
  • Ingeniería de Software (SW)
  • Ingeniería de Sistemas (SE)
  • Desarrollo Integrado de Productos y Procesos (IPPD)
  • Acuerdos con Proveedores (SS).




Disciplinas del Modelo


  • Ingeniería de Sistemas: Abarca el desarrollo total del sistema que puede o no incluir el desarrollo de software.
  • Ingeniería de Software: Cubre el desarrollo de software y su mantenimiento.
  • Desarrollo integrado de Productos y Procesos: Contempla un enfoque sistemático para la colaboración de los involucrados relevantes a través de la  vida del producto.
  • Acuerdo con Proveedores: En proyectos complejos se requiere de la  incorporación de proveedores para ejecutar funciones o añadir  modificaciones a productos.

Representaciones


  • El CMMI tiene dos representaciones:
  • Por Etapas (Staged)
  • Continuo (Continuous)
  • Estas representaciones permiten a la organización perseguir diferentes objetivos de mejora.
  • La presentación y organización de la información es diferente para cada una, sin embargo el contenido es el mismo.

CMMI por Etapas


Da una secuencia probada para la mejora en donde cada una es base para la siguiente.
Se puede migrar fácilmente del CMM a CMMI-SW.

Niveles de Madurez (por Etapas)

  • Nivel 1 (Inicial): El proceso es impredecible, es reactivo y pobremente controlado.
  • Nivel 2 (Administrado): El proceso es reactivo y se caracteriza por su aplicación a proyectos.
  • Nivel 3 (Definido): El proceso es proactivo y se ve a nivel de la organización.
  • Nivel 4 (Administrado Cuantitativamente): El proceso es medido y controlado.
  • Nivel 5 (Optimizado): El proceso se enfoca en la mejora continua.



CMMI Continuo


Cada nivel de madurez es una plataforma bien definida para evolucionar la mejora.
Existen cinco niveles de madurez.
Cada nivel es una base para la mejora utilizando una secuencia probada desde sus bases.


Niveles de Madurez (Continuo)

  • Nivel 0 (incompleto): El proceso no se ejecuta o se hace parcialmente.
  • Nivel 1 (Ejecutado): El proceso se ejecuta y se producen productos basados en productos de entrada identificados.
  • Nivel 2 (Administrado): El proceso es reactivo y se caracteriza por su aplicación a proyectos.
  • Nivel 3 (Definido): El proceso es proactivo y se ve a nivel de la organización.
  • Nivel 4 (Administrado Cuantitativamente): El proceso es medido y controlado.
  • Nivel 5 (Optimizado): El proceso se enfoca en la mejora continua.










Técnicas de Estimación Puntos de Función

Qué son los Puntos de Fusión


Es una métrica que permite traducir en un número el tamaño de la funcionalidad que brinda un producto de software desde el punto de vista del usuario, a través de una suma ponderada de las características del producto.

Estimación Puntos De Fusión


La estimación es una de las primeras actividades de la gestión de proyectos informáticos. su objetivo es conocer en etapas tempranas y de manera aproximada, el costo, la duración y los recursos necesarios para el desarrollo de proyectos de software.

Estimación. Objetivos e Importancia.

El objetivo de la Estimación es predecir las variables involucradas en el proyecto con cierto grado de certeza, trata de aportar una predicción de algún indicador importante para la gestión de proyectos de Software tiempo, esfuerzo, cantidad de defectos esperados entre otros sin dejar de tener en cuenta que la incertidumbre y el riesgo son elementos inherentes.

El tamaño en la estimación


La precisión en una estimación de proyectos de software se predice basándose en una serie de cosas, el grado en el que el planificador ha estimado adecuadamente el tamaño del producto a construir

Tipos de función de datos

  • Ficheros Lógicos Internos (ILF)
  • Ficheros de Interfaces Externos (EIF)
  • Tipos de Funciones de Transacciones
  • Entradas Externas (EI)
  • Salidas Externas (EO)
  • Consultas Externas (EQ)

Estimación Basada en Casos de Uso

El método utiliza los actores y casos de uso relevados para calcular el esfuerzo que significará desarrollarlos.

Modelos COCOMO

Modelo Orgánico. Proyectos de software relativamente pequeños y sencillos en los que trabajan pequeños equipos, con buena experiencia en la aplicación, sobre el conjunto de requisitos poco rígidos (por ejemplo, un programa de análisis termal desarrollado para un grupo calórico).

¿Cómo se calcula?

Fórmula:
Puntos de Función = Puntos de función Sin Ajuste x Factor de Complejidad de Procesamiento
donde,
FCP= 0.65 + 0.01
x Puntos de Complejidad de Procesamiento

PF = UFP  x  [0,65 + 0,01 x S(Fi)]



MoProSoft

MoProSoft: modelo de procesos de software

·         MoProSoft es un modelo de procesos para la industria de software nacional, que fomenta la estandarización de su operación a través de la incorporación de las mejores prácticas en gestión e ingeniería de software.

·         La adopción del modelo permite elevar la capacidad de las organizaciones que desarrollan o mantienen software para ofrecer servicios con calidad y alcanzar niveles internacionales de competitividad.


CARACTERÍSTICAS
  •  Es sencillo de entender y adoptar y se enfoca a procesos.
  • Facilita el cumplimiento de los requisitos de otros modelos como ISO 9000:2000, CMM y CMMI.
  • Es práctico en su aplicación, principalmente en organizaciones pequeñas.
  •  Está orientado a mejorar los procesos, para contribuir a los objetivos de negocio, y no simplemente ser un marco de referencia o certificación.
  • Tiene un bajo costo, tanto para su adopción como para su evaluación.


¿Para que sirve?
  • Mejora la calidad del software producido por la empresa que adopta el modelo.
  •  Eleva la capacidad de las organizaciones para ofrecer servicios con calidad y alcanzar niveles internacionales
  • de competitividad.
  •  Integra todos los procesos de la organización y mantiene la alineación con los objetivos estratégicos.
  •  Sirve para implantar un programa de mejora continua.
  •  Facilita la selección de proveedores
  • Permite obtener acceso a las prácticas de ingeniería de software de clase mundial.


ESTRUCTURA DEL MODELO DE PROCESOS
  • El modelo de procesos (MoProSoft) tiene tres categorías de procesos:
  •  Alta Dirección: Proceso de Gestión de Negocio
  •  Gestión: Está integrada por los procesos de Gestión de Procesos, Gestión de Proyectos y Gestión de Recursos.
  •  La categoría de Operación está integrada por los procesos de Administración de Proyectos Específicos y de Desarrollo y Mantenimiento de Software.




ESTRUCTURA
  • En cada proceso están definidos los roles responsables por la ejecución de las prácticas. Los roles se asignan al personal de la organización de acuerdo a sus habilidades y capacitación para desempeñarlos

  • En MoProSoft se clasifican los roles en Grupo Directivo, Responsable de Proceso y otros roles involucrados. Además se considera al Cliente y al Usuario como roles externos a la organización.


DIAGRAMA DE PROCESOS

 Diagrama de Categoría de Proceso


jueves, 20 de febrero de 2014

CURADOR DE CONTENIDO



INTRODUCCION


Junto con el tema de Sobrecarga de Información va de la mano con el curador de contenidos el cual es como una solución para impedir la infoxicación, te invito a que continúes con la lectura esperando te pueda servir y así mismo aportes y comentes tus opiniones. Recuerda "La curación puede llevar a la creación", lo que uno comparte ayudara a otros a mejorar y darles conocimiento.


CONTENIDO



El curador es un depurador de la información que está generando el usuario el cual cuando buscamos en la red generalmente abstraemos lo primero que nos aparece, y listo damos por terminada nuestra investigación o tarea, pero te has puesto a pensar si esa es realmente la información que necesitamos, imagina que solo una persona redacto un tema con una sola función solo por cumplir.

Este tema consiste en reunir y organizar la información de lo que se está investigando, es como cuando leemos un libro y realizamos un resumen de esa lectura, sacando las ideas principales, es lo mismo con el curador de contenidos, darle un sentido expresando lo que se ha investigado dando nuestra opinión al tema, siempre y cuando no nos salgamos del tema, usando las técnicas siguientes:

  • Filtrar información: Seleccionando lo más importante.
  • Compartir información: Utilizando los medios de comunicación para transmitir algún dato.
  • Evaluar la curación: Medir los resultados a través de comentarios, sugerencias y seguir aportando en el contenido.


Hoy en día estamos perdiendo la lectura en libros presenciales y hacemos uso de la red, pues hasta en eso debemos de tener habilidad leyendo artículos del tema y sacando lo más importante, hagamos un uso bueno de lo que nos comparten las personas de todo el mundo. 


REFERENCIAS 


Esta es una entrevista que nos da una opinión de un curador de contenido:

https://www.youtube.com/watch?v=LUuAhI6zT8k 

Sobrecarga de Informacion



INTRODUCCION


Al leer esta palabra se nos viene a la mente un ¿? signo de interrogación, y es ahí donde empezamos a investigar sobre una palabra que desconocemos en la cual queremos llegar a hacer nuestra propia conclusión, es decir lo primero que pensamos es usar internet, en un buscador insertamos la palabra y se nos despliega una serie de páginas, a lo cual sin saberlo eso se le llama infoxicación, surge una sobrecarga de información.



CONTENIDO


Esta palabra viene usándose desde los 70 y lo que nos viene a informar es sobre los cambios que se van generando, existiendo 3 perspectivas:

  • Sociedad: El crecimiento de la población duplicándose día con día.
  • Mercado: Las marcas en la sociedad.
  • Tecnología: Internet, generando contenidos por usuarios.
Un dato importante es que en 20 segundos pueden ocurrir demasiadas cosas a nuestro alrededor así la generación de 755,000 likes en Facebook en 20 segundos, tan solo hablando de likes en una red social imagina lo todo lo que ocasionan en nuestro entorno social, como envió de mensajes de e-mails, de videos de YouTube descargas, es demasiada información generada tan solo en la red.

Hablando solo de tecnología buscando información, obtenemos una lista enorme hablando del mismo tema, y si indagamos sobre algunas de las paginas interesantes observamos que una tiene algo de importancia más sin embargo otra página puede tener una cifra o dato de suma importante así, el usuario puede abstraer ideas principales y creando una nueva idea.

Controlemos la Infoxicación ya que esto a veces acaba con nuestra paciencia, al ver investigaciones no solo en la red sino en  periódicos, radio y televisión de canales informativos, personas, revistas y es cuando nos llenamos de una gran cantidad de información, podemos controlarlo desechando información que no es semejante a la idea principal. 
 


Quiero compartir un video es un poco largo pero la verdad es muy interesante de lo que habla:

https://www.youtube.com/watch?v=Wj4ojIM6C0c


Referencias


http://www.infonomia.com/img/pdf/sobrevivir_infoxicacion.pdf 




jueves, 13 de febrero de 2014

Imagen

 
 
 
CALIDAD DE SOFTWARE
 
 
 
 
 

Es muy importante tomar en cuenta la calidad de software y todo lo que implica en ello, para obtener resultados buenos, esto nos sirve en un futuro poner en practica lo aprendido.

viernes, 17 de enero de 2014


CALIDAD DE SOFTWARE


Soy estudiante de la Universidad Tecnológica de San Juan del Río y he creado este blog donde me permite compartir sobre los conocimientos que adquiero aquí en esta institución con comentarios de mis compañeros y revisión  de profesores.

En esta primera entrada les explicare sobre Calidad de Software.

Para entender cada uno de los conceptos te presento la definición de calidad:

CALIDAD: conjunto de propiedades a un objeto que le confieren capacidad para satisfacer necesidades implícitas o explícitas.

SOFTWARE: Es un conjunto de programas, instrucciones y reglas informáticas que permiten ejecutar distintas tareas en una computadora.

Por lo que llegamos ala conclusión de que Calidad en el desarrollo de Software es: 

  • Es la aptitud de un producto o servicio para satisfacer las necesidades del usuario.




FACTORES DE LA CALIDAD DE SOFTWARE



Para tener calidad en el desarrollo de Software se necesitan factores que cumpla con ellos, para asegurar que el producto tiene calidad a continuación mostramos los factores importantes:

  • Corrección: El grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente.
  •  Fiabilidad: El grado que se puede esperar de una aplicación lleve a cabo las operaciones especificadas y con la precisión requerida.
  • Eficiencia: La cantidad de recursos hardware y software que necesita una aplicación para realizar las operaciones con los tiempos de respuesta adecuados.
  • Integridad: El grado con que puede controlarse el acceso al software o a los datos a personal no Autorizado.
  • Facilidad de uso: El esfuerzo requerido para aprender el manejo de una aplicación, trabajar con ella, introducir datos y conseguir resultados
  • Revisión del producto: capacidad para soportar cambios
  • Facilidad de mantenimiento: El esfuerzo requerido para localizar y reparar errores
  • Flexibilidad: El esfuerzo requerido para modificar una aplicación en funcionamiento
  • Portabilidad: El esfuerzo requerido para transferir la aplicación a otro hardware o sistema operativo
  • Reusabilidad: Grado en que partes de una aplicación pueden utilizarse en otras aplicaciones