domingo, 24 de abril de 2016

Moprosoft

/

Moprosoft


Modelo de Procesos para la Industria del Software, es un modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos software.

Desarrollado por la Asociación Mexicana para la Calidad en Ingeniería de Software, a través de la Facultad de Ciencias de la UNAM y a solicitud de la Secretaría de Economía, para obtener una norma mexicana, la cual resultara apropiada a las características de tamaño de la mayoría de empresas mexicanas de desarrollo y mantenimiento de software. 

Da contenido a la norma técnica NMX-059/02-NYCE-2005, la cual fue declarada el 15 de agosto de 2005 como Norma Mexicana en una publicación declaratoria en el Diario Oficial de la Federación.

Este Modelo considera que CMMI e ISO/IEC 15504 no resultan apropiados para las PIMES dedicadas al desarrollo y mantenimiento de sofware.

Para saber más sobre este modelo, comparto un vídeo que complementa lo visto anteriormente.




Histotia de CMMI


En esta ocasión conoceremos de manera breve los hechos más relevantes del origen de CMMI.

Como más de uno debe saber, las siglas CMMI derivan de 'Capability Maturity Model Integration', que en español es Integración de Modelos de Madurez de Capacidades.



  1. Surge en el Instituto de Ingeniería de Software (SEI) de la Universidad Carnegie Mellon. (1998)

  2. El SEI libera el CMMI v0.2, que fue revisado públicamente y usado en actividades piloto. (1999)

  3. El SEI libera el CMMI v1.0, resultado de la evaluación de la revisión. (2000)

  4. El SEI libera el CMMI v1.02, cuenta con cambios menores y que sería revisado públicamente. (2000)

  5. El SEI libera el CMMI v1.1, resultado de la evaluación de la revisión. (2002)

viernes, 4 de marzo de 2016

Métrica


Es una medida del grado en que un sistema, componente o proceso posee un atributo dado.
Efectuada sobre los programas, documentación, desarrollo y mantenimiento, o sobre algún aspecto del sistema en desarrollo o del proceso empleado que permite, previa comparación con unos valores (medidas) de referencia.
La definición de métrica no es un objetivo en sí, sino un medio para controlar el desarrollo de un sistema software. El proceso de planificación del desarrollo de cualquier sistema debe hacerse partiendo de una estimación del trabajo a realizar.

Métricas de Software

Comprenden un amplio rango de actividades de diversas como:
            Aseguramiento y control de calidad.
     Modelos de fiabilidad.
     Modelos y evaluación de ejecución.

     Modelos y medidas de productividad.

Personal Software Process



El Proceso Personal Software, conocido por sus siglas PSP, es una metodología  de reciente creación, que proviene del Instituto de Ingeniería de Software (SEI).
Watts S. Humphrey se decidió personalmente utilizar los principios de CMM para desarrollar programas para ver si dicho enfoque podría funcionar para convencer a los ingenieros de software a que adoptaran tales prácticas.
Es una alternativa que está dirigida a los ingenieros de sistemas, que les permite mejorar la forma en la que construyen software.
Está alineado y diseñado para emplearse en organizaciones junto con modelos de procesos de CMMI o ISO 15504.
Con PSP los ingenieros de software adquieren las habilidades necesarias para trabajar en un proceso de software en equipo (TSP).

Objetivos

PSP pretende formar ingenieros de software con métodos disciplinados para mejorar su desarrollo personal de software.
PSP le ayuda a los desarrolladores a:
·         Mejorar habilidades de estimación y planeación.
·         Hacer compromisos que se puedan cumplir.
·         Administrar la calidad de los procesos.

·         Reducir la cantidad de defectos en sus productos.

PSP0 - PSP0.1 (Introducción a la disciplina y la medición al proceso)

PSP0 tiene 3 fases:
·         Planeación.
·         Desarrollo (diseño, codificación, pruebas).
·         Post mortem (versión final del proyecto); en él el ingeniero asegura que los datos del proyecto hayan sido registrados y analizados correctamente.

PSP1 - PSP1.1 (Introducción a la estimación y planeación)

En base a los datos recolectados en los niveles anteriores, el ingeniero estima el tamaño del nuevo programa y prepara un reporte de pruebas. Los datos recolectados para proyectos previos se usan para estimar el tiempo total.

PSP2 - PSP2.1 (Introducción al manejo de calidad y diseño)

PSP2 agrega dos fases nuevas: revisión de diseño y de código. Se enfoca en la prevención de defectos y su remoción. Los ingenieros aprenden a evaluar y mejorar su proceso midiendo la extensión de sus tareas y la cantidad de defectos inyectados y removidos en cada fase de desarrollo. Los ingenieros construyen y usan listas de chequeo para diseño y revisión de código.
PSP2.1 introduce especificaciones de diseño y técnicas de análisis. (PSP3 es un legado de PSP que ha sido sustituido por TSP).

miércoles, 3 de febrero de 2016

ISO 9126



La norma ISO 9126 es una norma estándar internacional, evalúa la calidad del software.

Se divide en 4 partes:

  1. Modelo de calidad.
  2. Métricas internas.
  3. Métricas externas.
  4. Calidad en el uso de métricas.

Esta norma identifica 6 atributos o factores de calidad:


Los fallos y las no conformidades se distinguen.

  • Los fallos suponen el no cumplimiento a los requisitos.
  • Las no conformidades afectan a los requisitos especificados.


Si bien el software en sí no se certifica, sino los procedimientos de construcción de este.

Esta norma implica la evaluación de dos ámbitos; producto final y los procesos. Estos a su vez, se cotejan con ámbitos ya estandarizados, llamados modelos de referencia.


Te recomiendo ver este breve vídeo para mayor información de esta norma.

jueves, 28 de enero de 2016


Factores y características de la Calidad del Desarrollo de Software


La calidad de software es compleja y es una combinación de factores que varían entre diferentes aplicaciones y distintos clientes que la solicitan. 

Se concentran en los siguientes aspectos importantes:
  1. Características operativas
  2. Capacidad para experimentar cambios
  3. Capacidad para adaptarse a nuevos entornos
La norma ISO 9126 fue desarrollada para identificar los siguientes aspectos de calidad para el software.

  • Funcionalidad: Grado en el que el software satisface las necesidades que indican exactitud, cumplimiento de los requerimientos y seguridad.


  • Confiabilidad: Tiempo en el que el software esta disponible para los usuarios con madurez, tolerancia a fallas y fácil recuperación.




  • Usabilidad / Facilidad de uso: Facilidad de comprensión y aprendizaje del software.




  • Eficiencia: Punto en el que el software emplea de forma eficiente sus recursos.


    • Mantenibilidad / Facilidad de mantenimiento: Facilidad con la que se separa el software de acuerdo con sus cambios, análisis y pruebas.

    • Portabilidad: Facilidad con la que el software se transporta de un entorno a otro según la adaptabilidad, facilidad de instalación y reemplazo

  • Reutilización: Facilidad con la que el software o partes del mismo puedan reutilizarse en otras aplicaciones para resolver un problema similar.



    • Facilidad de prueba: Esfuerzo requerido para probar el software para asegurar su funcionalidad.

    • Flexibilidad: Facilidad con la que el software puede ser modificado aun en operación

    Bibliografía

    Barrón, D. B. (04 de 08 de 2013). Scribd. Obtenido de Scribd.: es.scribd.com/doc/55643904/FACTORES-Y-CARACTERISTICAS-QUE-DETERMINAN-LA-CALIDAD-DE-SOFTWARE#scribd
    Castilla, I. (24 de 01 de 2012). Notas fuertes. Obtenido de Notas fuertes: https://notasfuertes.wordpress.com/2012/01/24/calidad-factores-y-caracteristicas-que-determinan-la-calidad-de-software/


    Introducción a la calidad del desarrollo de Software


    Como introducción a esta unidad, veremos los principales conceptos para comprender mejor del tema. 

    A continuación la definición de los conceptos de: calidad, norma de calidad, estándar, proceso.

    Calidad

    Se refiere al conjunto de propiedades inherentes a un objeto que le confieren capacidad para satisfacer necesidades implícitas o explicitas.
    Es una herramienta básica para una propiedad de cualquier cosa que permite que permite que sea comparada con cualquier otra cosa de su misma especie.

    Norma de calidad

    Es un papel establecido por consenso y aprobado por un organismo nacional o internacionalmente reconocido, que se proporciona para un uso común y repetido, una serie de reglas, directrices o características para las actividades de calidad o sus resultados, con el fin de conseguir un grado óptimo de orden en el contexto de calidad.

    Estándar



    Documento establecido por consenso, aprobado por un cuerpo reconocido, y qué ofrece reglas, guías o características para que se use repetidamente.
    Proceso, protocolo o técnica utilizada para hacer algo concreto.

    Proceso

    Es cualquier secuencia de eventos u operaciones que se pueden repetir que se conduzcan a resultados tangibles o intangibles.





    A continuación, lista de algunas instituciones, organizaciones y modelos que regulan la calidad del software.

    Modelos e Instituciones que regulan la calidad

    ·         European Foundation for Quality Managment (EFQM)

    ·         Personal Software Process (PSP)

    ·         International Organization for Standarization (ISO)

    ·         Capability Maturity Model (CMM)
    ·         System Security Engineering Capability Maturity Model (SSE-CMM)


    Bibliografía

    Montgomery, D. (2005). Control estadístico de la calidad. México: Limusa, S.A. de C.V.

    Thomas Pyzdek, Roger W.Berger. (1996). Manual de Control de Calidad en la Ingeniería. México, D.F.: McGraw-Hill/Interamericana Editores, S.A. de C.V.