martes, 18 de septiembre de 2007

La usabilidad en el software

¿Qué es usabilidad?

La usabilidad es la cualidad que tiene un sistema por la que permite a sus usuarios alcanzar objetivos específicos como lo es escribir una carta con efectividad, eficiencia y satisfacción. Es decir, que cuanto mejor permita hacer algo un sistema mayor usabilidad tendrá. Si el sistema ayuda a que el usuario cometa los menos errores o se recupera de ellos fácilmente, si permite hacer la tarea lo más rápidamente posible y además el usuario queda satisfecho con la labor realizada, el sistema tiene una buena usabilidad.

El concepto en torno al cual gravita la usabilidad es la calidad de uso. No se trata de pelearse con el ordenador para conseguir que haga lo que uno quiere sino todo lo contrario; el objetivo es que el sistema esté diseñado como una herramienta que encaja con la forma de trabajar del usuario y le permite realizar aquello que éste pretende hacer lo mejor posible.

Prueba de usabilidad
Las pruebas de usabilidad son una forma de medir que tan bien puede una persona usar un objeto hecho por el hombre, como puede ser una página Web una interfaz de usuario, un documento o un dispositivo.
Las pruebas de usabilidad consisten en seleccionar a un grupo de usuarios de una aplicación y solicitarles que lleven a cabo las tareas para las cuales fue diseñada, en tanto el equipo de diseño, desarrollo y otros involucrados toman nota de la interacción, particularmente de los errores y dificultades con las que se encuentren los usuarios.
No es necesario que se trate de una aplicación completamente terminada, pudiendo tratarse de un prototipo.

Métricas de Usabilidad
Exactitud: Número de errores cometidos por los sujetos de prueba y si estos fueron recuperables o no al usar los datos o procedimientos adecuados.

Tiempo requerido para concluir la actividad.

Recuerdo: Qué tanto recuerda el usuario después de un periodo sin usar la aplicación.

Respuesta emocional: Cómo se siente el usuario al terminar la tarea (bajo tensión, satisfecho, molesto).

Calidad en el software

La calidad en el software es el conjunto de propiedades y de características de un producto o servicio, que le confieren aptitud para satisfacer las necesidades explícitas o implícitas (ISO 8402).


Los estándares que se siguen a partir de los años ochentas.
-Mercado competitivo y de oferta
-Precio de venta fijado por el mercado
-Planificación y medida de la calidad. Modelos de calidad.
-Afecta a todos los departamentos.
-1980. Interés por la calidad en los EEUU. TQM
-1987. Premio Malcom Baldrige Quality Award
-1987. ISO 9000. A partir de las normas británicas
-1992. Premio Europeo a la calidad de la EFQM.


Los estándares actuales de calidad.
-Impacto estratégico. Oportunidad de ventaja competitiva.
-Planificación, fijación de objetivos, coordinación, formación, adaptación de toda la organización.
-Afecta a la sociedad en general: directivos, trabajadores, clientes.
-“Una filosofía, una cultura, una estrategia, un estilo de gerencia de la empresa”.
-ISO 9001:2000

domingo, 16 de septiembre de 2007

Etapa de pruebas

Etapa de pruebas
La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además, esta etapa implica:

· Verificar la interacción de componentes.
· Verificar la integración adecuada de los componentes.
· Verificar que todos los requisitos se han implementado correctamente.
· Identificar y asegurar que los defectos encontrados se han corregido antes de entregar el software al cliente.
· Diseñar pruebas que sistemáticamente saquen a la luz diferentes clases de errores, haciéndolo con la menor cantidad de tiempo y esfuerzo.

La prueba no es una actividad sencilla, no es una etapa del proyecto en la cual se asegura la calidad, sino que la prueba debe ocurrir durante todo el ciclo de vida: podemos probar la funcionalidad de los primeros prototipos; probar la estabilidad, cobertura y rendimiento de la arquitectura; probar el producto final.
Lo que conduce al principal beneficio de la prueba: proporcionar una comunicación mientras hay todavía tiempo y recursos para hacer algo.

La prueba es un proceso que se enfoca sobre la lógica interna del software y las funciones externas. La prueba es un proceso de ejecución de un programa con la intención de descubrir un error. Un buen caso de prueba es aquel que tiene alta probabilidad de mostrar un error no descubierto hasta entonces. Una prueba tiene éxito si descubre un error no detectado hasta entonces.
La prueba no puede asegurar la ausencia de defectos; sólo puede demostrar que existen defectos en el software.



Tipos de Pruebas

Pruebas de unidad

La prueba de unidad se centra en el módulo. Usando la descripción del diseño detallado como guía, se prueban los caminos de control importantes con el fin de descubrir errores dentro del ámbito del módulo. La prueba de unidad hace uso intensivo de las técnicas de prueba de caja blanca.

Prueba de integración

El objetivo es coger los módulos probados en la prueba de unidad y construir una estructura de programa que esté de acuerdo con lo que dicta el diseño.
Hay dos formas de integración:

Integración no incremental: Se combinan todos los módulos por anticipado y se prueba todo el programa en conjunto.
Integración incremental: El programa se construye y se prueba en pequeños segmentos.

En la prueba de integración el foco de atención es el diseño y la construcción de la arquitectura del software.
Las técnicas que más prevalecen son las de diseño de casos de prueba de caja negra, aunque se pueden llevar a cabo unas pocas pruebas de caja blanca.


Matriz de Pruebas

Este artefacto consiste en una matriz que representa las relaciones entre los casos de uso y las pruebas.
Esta matriz contiene la identificación del caso de uso, escenario, caso de prueba, tipo de prueba y ciclo de prueba. Cabe destacar que con herramientas automatizadas se pueden realizar matrices de dichas relaciones.


Integración del proyecto

La producción, tiene como una de sus funciones permitir la traducción de las especificaciones técnicas del producto en procedimientos y secuencias de producción, minimizando la ejecución inadecuada o incompleta de esas especificaciones. Los proyectos de producción, cuyo objetivo principal es el de integrar el proyecto y la obra, presenta soluciones adecuadas para mejorar los procesos de ejecución de una determinada actividad constructiva.

La manera tradicional de proyectar una obra es, que una etapa del proceso continúa al termino de otra y así sucesivamente originando una secuenciación de actividades y una falta de integración y retroalimentación de dicho proceso. El gran fracaso de esta mera forma de proyectar es la falta de comunicación y coordinación de las actividades

martes, 11 de septiembre de 2007

ALGUNOS CONCEPTOS

ALGUNOS CONCEPTOS

¿Qué es un compilador?
Programa que traduce instrucciones escritas en un lenguaje de alto nivel, a un lenguaje de máquina.

Aplicación informática que se usa para crear programas en un cierto lenguaje de programación y convierte los programas creados en un lenguaje de programación al lenguaje interno del ordenador código máquina. En los compiladores, todo el programa original llamado fuente se convierte a código máquina en bloque, y el programa resultante que es llamado programa ejecutable se puede en otro ordenador usar sin necesidad de recurrir otra vez al compilador.


¿Qué es un editor de texto?
Programa utilizado para crear y manipular archivos de textos; lenguaje fuente de un programa, listado de nombres y direcciones.

Estos programas se diferencian de los procesadores de textos porque no disponen de características elaboradas de formato e impresión tales como alineado automático, negritas, fuentes tipográficas, cuerpos. Por ejemplo el Bloc de notas de Windows es un editor de texto.


¿Qué es un parseo?
Proceso de analizar una secuencia de símbolos a fin de determinar su estructura gramatical con respecto a una gramática formal dada. Formalmente es llamado análisis de sintaxis. Un parser es un programa de computación que lleva a cabo esta tarea.El parseo transforma una entrada de texto en una estructura de datos usualmente un árbol, que es apropiada para ser procesada. Generalmente los parsers primero identifican los símbolos de la entrada y luego construyen el árbol de parseo para esos símbolos


¿Qué es un depurador o debug?
Debug es un editor y ensamblador, es un intérprete que trabaja en tiempo real

¿Qué es código fuente?
El código fuente es un texto escrito generalmente por una persona que se utiliza como base para generar otro código con un compilador o intérprete para ser ejecutado por una computadora.

Conjunto de instrucciones escritas en un lenguaje específico, en la forma de un fichero de texto, que es convertido a un programa directamente ejecutable en la computadora.





¿Qué es código objeto?
Se llama código objeto en programación al código resultante de la compilación del código fuente, por lo general está codificado en código de máquina y distribuido en varios archivos resultantes de la compilación de cada archivo de código fuente. Para obtener un archivo ejecutable se han de enlazar todos los archivos de código fuente con un programa llamado enlazador ó linker.

¿Qué es una librería?
En computación, una biblioteca es un conjunto de procedimientos y funciones agrupadas en un archivo con el fin de ser aprovechadas por otros programas. Al proceso de hacer accesibles estos subprogramas al programa principal se le llama enlace (link).

¿Qué es código binario (ejecutable)?
Lenguaje en el cual toda la información es representada por secuencias de ceros y unos

¿Qué es IDE?
IDE: Entorno integrado de desarrollo: un entorno desde el que se pueden editar programas, compilarlos y depurarlos (Integrated Development Environment).


¿Qué es QA?
Se refieren a todas las cosas buenas que nos gustaría ver en nuestro producto. Nosotros construimos un producto de calidad y aseguramos su calidad manteniendo calidad en mente todo el tiempo y realizando las actividades seleccionadas abajo; en otras palabras es un control de calidad.

¿Qué es un ligador o linker?
Un enlazador es un programa que toma los ficheros de código objeto generado en los primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos que no necesita, y enlaza código objeto con biblioteca con lo que finalmente produce un fichero ejecutable

viernes, 7 de septiembre de 2007

Implementación en un ciclo de vida en el software

¿Qué involucra la implementación en un ciclo de vida?

El ciclo de vida del prototipo involucra el desarrollo de un modelo funcional. Debe realizarse la documentación de los requerimientos del usuario, además se crean escenarios para la construcción de prototipos.

Evaluar la petición del software y determinar si es o no un buen candidato a prototipo y dado un proyecto candidato aceptable, el analista desarrolla una representación abreviada de los requerimientos.

Después de revisar la representación de requerimientos se crea unas especificaciones de diseño abreviadas. El software del prototipo se crea prueba y refina; una vez que el prototipo ha sido probado, se presenta al cliente, el cuál conduce la prueba de la aplicación y sugiere modificaciones.