viernes, 29 de enero de 2016

Beneficios de Norma ISO 9001



Este video esta muy interesante, ya que nos muestra los beneficios de cumplir con la norma y  nos explica de una manera detallada los conceptos de la norma ayudandonos a comprenderla mejor.

jueves, 28 de enero de 2016

Factores y características que determinan la Calidad del Software

Funcionalidad

Funcionalidad es lo que un producto puede hacer. Probar la funcionalidad significa asegurar que el producto funciona tal como estaba especificado. 

Corrección

Es la capacidad de los productos de software para realizar con exactitud las tareas expresadas en su especificación.
Grado en que un programa satisface sus especificaciones y logra los objetivos marcados por el usuario. 

Confiabilidad

Es la aplicación de métodos de ingeniería y analíticos a la evaluación, predicción y aseguramiento de un comportamiento libre de problemas durante el tiempo de vida de un producto o sistema bajo estudio.
Las técnicas utilizadas en el análisis de confiabilidad frecuentemente requieren de la utilización de métodos estadísticos para tratar las incertidumbres, características aleatorias o probabilidades de ocurrencia a lo largo del tiempo.
El análisis de confiabilidad abarca otras técnicas que se enfocan en la naturaleza física y la causa de falla y la prevención o reducción de fallas. 

Eficiencia

Capacidad de un Sistema de Software para exigir la menor cantidad posible de Recursos.
Casi sinónimo de eficiencia es la palabra rendimiento.
Ejemplo
Steve McConnell, en su obra Rapid Development, analiza cuáles son las claves o pilares que consiguen que un proyecto software o un desarrollo sea eficiente. Y por eficiente el autor se refiere a estar por encima de la media en la capacidad de terminar un proyecto en tiempo, dentro de coste y con la funcionalidad necesaria incluida.

Usabilidad

Usabilidad significa que las personas, al usar un producto, pueden hacer sus tareas de forma rápida y fácil. La usabilidad se funda en cuatro puntos:
Centrado en los usuarios: Para desarrollar un producto usable, tienes que saber, entender y trabajar con personas que representen a usuarios actuales o potenciales. Un diseñador, un responsable de proyecto, un supervisor o un cliente sólo se representan a sí mismos y no pueden sustituir a los usuarios finales.
Productividad: La gente considera que un producto es «fácil de usar y aprender» después de valorar el tiempo que necesita, el número de pasos que ha de dar y el éxito en predecir las acciones adecuadas. Si quieres diseñar un producto usable, debes entender los objetivos de tus usuarios.
Usuarios ocupados: El software es una herramienta de trabajo u ocio, y las personas somos poco proclives a dedicar tiempo a aprender y utilizar herramientas.
El usuario decide: Los usuarios, y no los diseñadores o desarrolladores, determinan cuándo un producto es fácil de usar. Cada persona estima el esfuerzo y el tiempo necesario para obtener algo.
Piensa en todas las funciones que tiene tu móvil, ordenador, programa, equipo de música o aparato de tecnología que NO USAS y el tiempo que estarías dispuesto a dedicar a aprender a usarlo todo.

Mantenibilidad

La mantenibilidad es la propiedad de un sistema que representa la cantidad de esfuerzo requerida para conservar su funcionamiento normal o para restituirlo una vez se ha presentado un evento de falla. Se dirá que un sistema es Altamente mantenible cuando el esfuerzo asociado a la restitución sea bajo. Sistemas poco mantenibles o de Baja mantenibilidad requieren de grandes esfuerzos para sostenerse o restituirse.
La mantenibilidad está inversamente relacionada con la duración y el esfuerzo requerido por las actividades de mantenimiento.

Portabilidad

Se define como la característica que posee un software para ejecutarse en diferentes plataformas, el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra (ver la nota, a continuación de este párrafo). A mayor portabilidad menor es la dependencia del software con respecto a la plataforma.
Ejemplo
Para entender un poco la portabilidad, un ejemplo de portabilidad de base de datos se ve con SQLite: puede ser ejecutado en diferentes sistemas operativos, como  Windows, Linux, BSD, Mac OS X, Solaris, HPUX, AIX o en muchos otros como QNX, VxWorks, Symbian, Palm OS, Windows CE. Se pude notar que muchos de ellos trabajan a 16, 32 y 64 Bits.
Desde hace tiempo Mozilla_Firefox usa SQLite para almacenar, por ejemplo, las cookies, los favoritos, el historial, las direcciones de red válidas.

Oportunidad

Capacidad de un Sistema de Software de ser lanzado cuando los usuarios lo desean, o antes.
Ejemplo
Se puede mencionar la Verificación y Validación independiente, es decir grupos independientes, pudiendo ser de empresas externas especializadas o propios, dedicados a actividades de revisión (de documentación y código), pruebas, análisis de rendimiento, etc. Es un hecho que es una actividad con un retorno de inversión alto y casi indispensable para asegurar la calidad en grandes proyectos, pero casi inexistente, especialmente en el sector público.

Disponibilidad

Probabilidad que un paquete de SW esté trabajando según los requerimientos en un punto dado del Tiempo

La disponibilidad suele medirse en “nueves”. Por ejemplo, una solución cuyo nivel de disponibilidad sea de “tres nueves” es capaz de realizar su función prevista el 99,9 por ciento del tiempo, lo que equivale a un tiempo de inactividad anual de 8,76 horas por año sobre una base de 24x7x365 (24 horas al día, siete días a la semana, 365 días al año). En la tabla siguiente se muestran los niveles de disponibilidad frecuentes que muchas organizaciones intentan conseguir.

Las 10 tecnologías que serán clave en 2016

1. INTERNET DE LAS COSAS. Los 'smartphones', las tabletas, los televisores, los 'ereaders', pero también el frigorífico, la cafetera, el coche, los semáforos, las señales de tráfico, las máquinas de una fábrica... Para 2017, el tráfico IP global alcanzará los 1,4 zettabytes, según Cisco. En este entorno hiper conectado, la ciber seguridad se vuelve crítica.
2. MACHINE LEARNING. Facebook m es un asistente inteligente en pruebas desde agosto. Atentos también a la próxima versión de siri.
3. REALIDAD VIRTUAL.Samsung compite con las gafas gear (en la imagen). Este año llegarán propuestas de oculus, htc y sony.
4. BLOCKCHAIN. La tecnología que hay detrás del bitcoin permite hacer transacciones inmediatas y seguras, sin intermediarios.
5. PAGOS MÓVILES. En 2016 avanzarán soluciones como las 'apps' de pagos entre usuarios, como por ejemplo yaap y twyp.
6. ORDENADORES CONVERTIBLES. Los híbridos que combinan tableta y portátil (en la imagen el lenovo yoga 900) ganan adeptos.
7. TECNOLOGÍAS PARA VESTIR. El mercado de 'wearables' (en la imagen, el apple watch) se duplicará en los próximos cuatro años.
8. FABRICACIÓN ADITIVA. Siemens propone integrar el 'design thinking', la simulación 3d y la producción aditiva para una mayor eficiencia.
9. BIG DATA. El 'big data' ocupa un lugar prioritario en la agenda de inversiones tecnológicas de las compañías en 2016.

10. VÍDEO ONLINE. En 2016 crecerá el consumo de vídeo online a través de servicios como movistar fusión, netfix y wuaki.

Modelos e institutos que regulan la calidad

Existen varios tipos de modelos de calidad:

  • Modelo de Dirección por Calidad 2006-2008 (SMCT)
  • Modelo de Calidad para Gobiernos Municipales 2005
  • Modelo Iberoamericano de Ecxelencia en la Gestión (FUNDIBEQ)
  • Modelo de Excelencia de European Foundation Quality Management (EFQM)
  • Modelo Shingo-Excellence in Manufacturing (E.U.A)
  • Modelo Malcom Baldrige (E.U.A)
  • Modelo Deming (Japón)

Institutos:
  • CMMI: Diseñado por el Carnegie Mellon Software Engineering Institute – SEI http://www.sei.cmu.edu/cmmi/ Orientado a mejora de procesos en diferentes niveles de madurez, más hacia proyectos específicos.
  • Norma ISO/IEC 12007: Diseñada por la International Organization for Standardization  (sei, s.f.)Orientado al proceso del ciclo de vida del software
  • Metrica3: Diseñada por el Ministerio de Administración Pública de España http://www.csi.map.es/csi/metrica3/Modelo e Implementación
  • ISO 15504: Modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software.

Estos modelos e institutos nos sirven como herramientas para guiar a las organizaciones a que obtengan una mejora continua.
Ya que nos ayudan a saber que tipo de requisitos debe cumplir para brindar un producto o servicio de alta calidad.
Y si estos no se cumplen puede haber una perdida enorme de recursos.
Ya con la mejora en la calidad puede aumentar la producción y quizá traer una reducción de costos tanto de producción como de gastos generales de la empresa.

Conceptos (Calidad)

Calidad

El American Heritage Dictionary [Pressman ´98] define la calidad como  “Una característica o atributo de algo.”
La definición estándar de calidad en ISO-8402 es “La totalidad de rasgos y características de un producto, proceso o servicio que sostiene la habilidad de satisfacer estados o necesidades implícitas”.
“Concordar explícitamente al estado funcional y a los requerimientos del funcionamiento, explícitamente a los estándares de documentación de desarrollo, e implícitamente características que son expectativas de todos los desarrolladores profesionales de software”.

Norma de calidad

Una norma de calidad es un papel, establecido por consenso y aprobado por un organismo reconocido (nacional o internacional), 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 la calidad. Las principales organizaciones internacionales, emisoras de normas de calidad son: ISO (Organización Internacional de Estándares)

Estándar

Es aquello que sirve como tipo, modelo, norma, patrón o referencia.
Estándar de calidad es el que reúne los requisitos mínimos en busca de la excelencia dentro de una organización institucional.
Son normas y protocolos internacionales que deben cumplir productos de cualquier índole para su distribución y consumo por el cliente final.

Proceso

Nueva disciplina de Proceso de Ingeniería de Software Desarrollo de CMM – ISO 9000 Proceso de IS – Fundamentos – Modelo – Establecimiento –Evaluación – Mejoramiento –Estandarización de procesos de software.