Buscar este blog

sábado, 15 de enero de 2011

Calidad

Tendencia de Calidad


Hoy en día los responsables expertos de compañías de todo el mundo industrializado reconocen que la alta calidad del producto se traduce en ahorro de coste y en una mejora general.
La tendencia de la calidad comenzó en los años cuarenta con el influyente trabajo de W. Edwards Deming [DEM86], y se hizo la primera verificación en Japón.
Mediante las ideas de Deming como piedra angular, los japoneses han desarrollado un enfoque sistemático para la eliminación de las causas raíz de defectos en productos.
A lo largo de los años setenta y ochenta, su trabajo emigró al mundo occidental y a veces se llama “gestión total de calidad (GTC) x2A. Aunque la terminología difiere según los diferentes países y autores, normalmente se encuentra una progresión básica de cuatro pasos que constituye el fundamento de cualquier programa de GTC.

“El enfoque GTC se centra en la mejora continua del proceso”.

El primer paso se llama kuizen y se refiere a un sistema de mejora continua del proceso. El objetivo de kuizen es desarrollar un proceso (en este caso, proceso del software) que sea visible, repetible y mensurable.

El segundo paso, invocado sólo una vez que se ha alcanzado kuizen, se llama Aturimae hinshitsu. Este paso examina lo intangible que afecta al proceso y trabaja para optimiza su impacto en el proceso. Puede ser que una estructura organizativa estable haga mucho para mejorar la calidad del software. Aturimae hinshitsu llevaría a la gestión a sugerir cambios en la forma en que ocurre la reorganización.

Mientras que los dos primeros pasos se centran en el proceso, el paso siguiente llamado kansei (traducido como “los cinco sentidos”) se centra en el usuario del producto (en este caso, software). En esencia, examinando la forma en que el usuario aplica el producto, kansei conduce a la mejora en el producto mismo, y potencialmente al proceso que lo creó.

Finalmente, un paso llamado miryokuteki hinshitsu amplía la preocupación de la gestión más allá del producto inmediato. Este es un paso orientado a la gestión que busca la oportunidad en áreas relacionadas que se pueden identificar observando la utilización del producto en el mercado. En el mundo del software, miryokuteki hinshitsu se podría ver como un intento de detectar productos nuevos y beneficiosos, o aplicaciones que sean una extensión de un sistema ya existente basado en computadora.


Garantía de calidad del Software

Hasta el desarrollador de software más agobiado está de acuerdo con que el software de alta calidad es una meta importante. Pero, ¿cómo definimos la calidad? Un bromista dijo una vez: “Cualquier programa hace algo bien, lo que puede pasar es que no sea lo que nosotros queremos que haga”.

Calidad de software

Es la concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados, y con las características implícitas que se espera de todo software desarrollado profesionalmente.

Según esta definición se plantean tres puntos importantes:

1. Los requisitos del software son la base de las medidas de la calidad. La falta de concordancia con los requisitos es una falta de calidad.
2. Los estándares especificados definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se siguen esos criterios, casi siempre habrá falta de calidad.
3. Existe un conjunto de requisitos implícitos que a menudo no se mencionan (por ejemplo: el deseo por facilitar el uso y un buen mantenimiento). Si el software se ajusta a sus requisitos explícitos pero falla en alcanzar los requisitos implícitos, la calidad del software queda en entredicho.


Problemas de fondo

La historia de la garantía de calidad en el desarrollo de software es paralela a la historia de la calidad en la creación de hardware. Durante los primeros años de la informática (los años cincuenta y sesenta), la calidad era responsabilidad únicamente del programador. Durante los años setenta se introdujeron estándares de garantía de calidad para el software en los contratos militares para desarrollo de software y se han extendido rápidamente a los desarrollos de software en el mundo comercial [IEE94]. Ampliando la definición presentada anteriormente, la garantía de calidad del software (SQA) es un “patrón de acciones planificado y sistemático” [SCH97] que se requiere para asegurar la calidad del software.

El grupo de SQA sirve como representación del cliente en casa. Es decir, la gente que lleva a cabo la SQA debe mirar el software desde el punto de vista del cliente.


Actividades de SQA
La garantía de calidad del software comprende una gran variedad de tareas, asociadas con dos constitutivos diferentes.

Los ingenieros de software que realizan trabajo técnico y un grupo de SQA que tiene la responsabilidad de la Planificación de garantía de calidad, supervisión, mantenimiento de registros, análisis e informes

Los ingenieros de software afrontan la calidad (y realizan garantía de calidad) aplicando métodos técnicos sólidos y medidas, realizando revisiones técnicas formales y llevando a cabo pruebas de software bien planificadas.

Las reglas del grupo de SQA tratan de ayudar al equipo de ingeniería del software en la consecución de un producto final de alta calidad. El Instituto de Ingeniería del
Software [PAU93] recomienda un conjunto de actividades de SQA que se enfrentan con la planificación de garantía de calidad, supervisión, mantenimiento de registros, análisis e informes. Éstas son las actividades que realizan o facilitan un grupo independiente de SQA:

Establecimiento de un plan de SQA para un proyecto.

El plan se desarrolla durante la planificación del proyecto y es revisado por todas las partes interesadas. Las actividades de garantía de calidad realizadas por el equipo de ingeniería del software y el grupo SQA son gobernadas por el plan. El plan identifica:

• evaluaciones a realizar,
• auditorías y revisiones a realizar,
• estándares que se pueden aplicar al proyecto,
• procedimientos para información y seguimiento de errores
• documentos producidos por el grupo SQA,
• realimentación de información proporcionada al equipo de proyecto del software.

Actividades de un grupo de SQA

Participación en el desarrollo de la descripción del proceso de software del proyecto. El equipo de ingeniería del software selecciona un proceso para el trabajo que se va a realizar. El grupo de SQA revisa la descripción del proceso para ajustarse a la política de la empresa, los estándares internos del software, los estándares impuestos externamente (por ejemplo: 1SO 9001), y a otras partes del plan de proyecto del software.

Revisión de las actividades de ingeniería del software para verificar su ajuste al proceso de software definido. El grupo de SQA identifica, documenta y sigue la pista de las desviaciones desde el proceso y verifica que se han hecho las correcciones.

Auditoría de los productos de software designados para verificar el ajuste con los definidos como parte del proceso del software. El grupo de SQA revisa los productos seleccionados; identifica, documenta y sigue la pista de las desviaciones; verifica que se han hecho las correcciones, e informa periódicamente de los resultados de su trabajo al gestor del proyecto.

Asegurar que las desviaciones del trabajo y los productos del software se documentan y se manejan de acuerdo con un procedimiento establecido. Las desviaciones se pueden encontrar en el plan del proyecto, en la descripción del proceso, en los estándares aplicables o en los productos técnicos.

Registrar lo que no se ajuste a los requisitos e informar a sus superiores. Los elementos que no se ajustan a los requisitos están bajo seguimiento hasta que se resuelven.

WEBGRAFIA:

deming.eng.clemsom.edu/
www.management.gov

jueves, 13 de enero de 2011

NORMAS ISO



El Estándar de Calidad ISO 9001

La norma ISO 9001, es un método de trabajo, que se considera tan bueno, Que es el mejor para mejorar la calidad y satisfacción de cara al consumidor. La versión actual, es del año 2000 ISO9001:2000, que ha sido adoptada como modelo a seguir para obtener la certificación de calidad. Y es a lo que tiende, y debe de aspirar toda empresa competitiva, que quiera permanecer y sobrevivir en el exigente mercado actual.

Básicamente, la norma ISO9001, son un conjunto de reglas de carácter social y organizativo para mejorar y potenciar las relaciones entre los miembros de una organización. Cuyo último resultado, es mejorar las capacidades y rendimiento de la organización, y conseguir un aumento por este procedimiento de la excelencia final del producto.

Para el autor, este conjunto de reglas, nace de la fusión del método científico -hipótesis (planes), prueba (proceso), tesis (datos y gestión) y vuelta a empezar (mejora continua) -y las filosofías orientales bajo el maquillaje de sociología -primacía del grupo, liderazgo, participación -. A las que se ha añadido un poco de teoría económica -enfoque hacia el cliente- y de auténtica sociología -participación y relaciones-. Este tipo de metodología, produce una aumento y mejora final del producto, y mejora la capacidad de la empresa a un bajo coste. No cuesta nada llevarse bien con los miembros de la organización.

Estos principios básicos de la gestión de la calidad, son reglas de carácter social encaminadas a mejorar la marcha y funcionamiento de una organización mediante la mejora de sus relaciones internas. Estas normas, han de combinarse con los principios técnicos para conseguir una mejora de la satisfacción del consumidor.

El estándar, que ha sido adoptado por más de 130 países para su uso, se está convirtiendo en el medio principal con el que los clientes pueden juzgar la competencia de un desarrollador de software. Uno de los problemas con el estándar ISO 9001 está en que no es específico de la industria: está expresado en términos generales, y puede ser interpretado por los desarrolladores de diversos productos como cojinetes de bolas, secadores de pelo, automóviles, equipamiento deportivo, televisores, así como por los desarrolladores de software. Se han realzado muchos documentos que relacionan el estándar con la industria del software, pero no entran en una gran cantidad de detalles.

Para la industria del software los estándares relevantes son:

ISO 9001: este es un estándar que describe el sistema de calidad utilizado para mantener el desarrollo de un producto que implique diseño.

ISO 9000-3: este es un documento específico que interpreta el ISO 9001 para el desarrollador de software.

ISO 9004-2: este documento proporciona las directrices para el servicio de facilidades del software como soporte de usuarios.

Los requisitos se agrupan bajo 20 títulos:

• Responsabilidad de la gestión

• Inspección, medición y equipo de pruebas

• Sistema de calidad

• Inspección y estado de pruebas

• Revisión de contrato

• Acción correctiva

• Control de diseño

• Control de producto no aceptado

• Control de documento

• Tratamiento, almacenamiento, empaquetamiento y entrega

• Compras

• Producto proporcionado al comprador

• Registros de calidad

• Identificación y posibilidad de seguimiento del producto

• Auditorias internas de calidad

• Formación

• Control del proceso

• Servicios

• Inspección y estado de pruebas

• Técnicas estadísticas.

La siguiente, es una metodología muy empleada en el actual mundo de empresa, que ayuda a mejorar la situación de la empresa. Su filosofía, es aplicable a otros aspectos y cuestiones que a los lectores podría resultarles extraño. Podemos en general, aplicar esta filosofía en muchos entornos. Como en nuestra vida cotidiana, laboral y al desarrollo personal. Todos tenemos la mas firme intención de mejorar. Debemos de apoyarla con hechos y resultados.

WEBGRAFIA:

http://www.buscarportal.com/articulos/iso_9001_gestion_calidad.html

lunes, 10 de enero de 2011

LATEX

LATEX

LaTeX está formado por un gran conjunto de macros de TeX, escrito por Leslie Lamport en 1984, con la intención de facilitar el uso del lenguaje de composición tipográfica, \mathbf{T\!_{\displaystyle E} \! X}, creado por Donald Knuth. Es muy utilizado para la composición de artículos académicos, tesis y libros técnicos, dado que la calidad tipográfica de los documentos realizados con LaTeX es comparable a la de una editorial científica de primera línea.

LaTeX es software libre bajo licencia LPPL

LaTeX es un sistema de composición de textos que está formado mayoritariamente por órdenes (macros) construidas a partir de comandos de TeX —un lenguaje «de bajo nivel», en el sentido de que sus acciones últimas son muy elementales— pero con la ventaja añadida, en palabras de Lamport,[3] de «poder aumentar las capacidades de LaTeX utilizando comandos propios del TeX descritos en The TeXbook».[4] Esto es lo que convierte a LaTeX en una herramienta práctica y útil pues, a su facilidad de uso, se une toda la potencia de TeX. Estas características hicieron que LaTeX se extendiese rápidamente entre un amplio sector científico y técnico, hasta el punto de convertirse en uso obligado en comunicaciones y congresos, y requerido por determinadas revistas a la hora de entregar artículos académicos.

Vamos a poner un ejemplo básico. En una herramienta de procesamiento de texto "estándar", para hacer el título de una sección, la mayoría de la gente usa comandos para modificar la forma. Por ejemplo, lo ponen en Negrita, Subrayado, a tamaño 16. Con LaTeX, el aspecto del documento es independiente del contenido: el título de la sección estará en un comando \section y LaTeX se encargará de cómo será impreso y mostrado.

Uno se puede preguntar: "¿Cuál es la ventaja?" Bien, hay al menos tres ventajas en esto. La primera es que, obviamente, no hay que recordar que "estilo" se usó para las secciones previas, las subsecciones, los capítulos y demás. La segunda es que si la fuente del título de sección resulta ser demasiado grande no es necesario cambiarla en todo el documento, se puede hacer con una modificación sencilla. La tercera es que, al estar el documento marcado con secciones, subsecciones y demás, resulta más sencillo crear tablas de contenido (de hecho, se crean automáticamente).

El último aspecto a remarcar es que LaTeX es realmente fantástico escribiendo fórmulas matemáticas. Se pueden hacer cosas como \int_{-N}^{N} e^x\, dx \,\!en un tiempo muy corto. Incluso si la fórmula es realmente simple, una vez usado, no sabrás hacerlo de otra manera

Razones para usar LATEX

Funciona bien en cualquier máquina sea cual sea tu sistema operativo o tu procesador. Hay versiones de LaTeX para casi todos los sistemas y arquitecturas. Y algunas de ellas son gratis.

No te voltea las listas. Autonumera las fórmulas. Crea indices de contenido, de tablas, figuras y terminológico automáticamente. Entre otras muchas cosas más.

Permite el uso de bases de datos bibliográficas con BibTeX. Con el consiguiente ahorro de tiempo a la hora de citar textos y hacer listados de publicaciones. Basta con hacer una vez la base (en modo texto) y LaTeX se encarga de incluir los datos donde corresponde.

El resultado final es propio de un texto profesional. Y hay plantillas de LaTeX que cumplen automáticamente con estándades de publicación científica.

El usuario no necesita ser un profesional de la tipografía para realizar sus documentos. A modo de ejemplo: ¿cuál es el número máximo de letras que puede contener una línea para que el lector no se canse? La gran mayoría lo ignora. Las razones para usar un sistema de procesador de textos visual es su facilidad de uso. Pero, a la hora de realizar textos elaborados como libros, tesis de grado, ponencias, etc. se muestran sus limitaciones. En definitiva un procesador de textos es una enorme máquina de escribir donde el usuario tiene que introducir manualmente todos los formatos. Y, usualmente, el criterio es más bien estético y no tipográfico, es decir, creemos que un texto bello es sinónomo de legible. Pues bien, eso no es correcto, la tipografía es un arte difícil de manejar. Lo mejor en este caso es dejar en manos de un profesional la maquetación de los documentos. Yo sólo doy las órdenes.

El tamaño de los archivos escritos en LaTeX son mucho más pequeños que un archivo escrito en un procesador común. Además de ser escritos en modo texto, por lo que pueden ser leídos en cualquier editor con independencia de la arquitectura y sistema operativo.

Proceso de un Documento LATEX

Aunque todavía no hemos explicado cómo se escribe un texto en LaTeX vamos a suponer que usted ya lo ha hecho o bien ha recibido por su correo uno de ellos. Al documento lo llamaremos texto.tex.

La instrucciones siguientes se refieren a entornos unix, como es linux.

En primer lugar abra un terminal y ubíquese en el directorio donde se encuentra su archivo LaTeX. Puede hacerlo con la orden "cd directorio". Una vez en ella escriba la orden "latex texto.tex". Aparecerán en pantalla una serie de líneas que describen lo que hace LaTeX. Si el archivo es muy grande repita la orden un par de veces para que LaTeX realice los índices. Una vez hecho esto fíjese si en las últimas líneas aparece la instrucción "output texto.dvi". Si es así todo está perfecto. A continuación escriba la orden "xdvi texto.dvi" y a disfrutar de la lectura de su documento perfectamente formateado.

Si desea que la salida sea otra distinta del estandar "*.dvi", es posible lograr un archivo "pdf" con la orden "pdflatex texto.tex", la salida será "texto.pdf", que será visualizable en "acroread", "xpdf", "gv".

Instalacion de LATEX en Windows

Existe una especie de adaptación de LATEX para Windows, llamada MikTeX. Para instalarlo debes bajarte una aplicación de instalación que contiene los paquetes y programas básicos de LATEX. Al correr esta aplicación, un asistente te guiará en la instalación de MikTeX. Entre algunas otras cosas, se te pedirá que confirmes la dirección donde se guardarán los paquetes de LATEX. Por defecto, el asistente creará una carpeta llamada "texmf", en la unidad de disco local, a menos que se indique otra cosa. Es conveniente que permitas la creación de la carpeta tal y como lo propone el asistente. Posteriormente, mediante un programa que se instalará junto con MikTeX, el MikTeX Package Manager, podrás descargar los paquetes de LATEX que gustes o necesites. Existen algunos otros paquetes menos estándar que no se descargan incluso usando el MikTeX Package Manager, sino que te los vas a encontrar en diversos lugares dedicados a LATEX y que tienen que ser instalados manualmente. Más adelante describiremos la instalación manual de estos paquetes.

Ahora bien, para editar tus ficheros .tex puedes usar, además de los programas mencionados para Linux, un editor llamado TeXnicCenter, particularmente recomendable aún siendo un programa en desarrollo. Este cuenta con una gran cantidad de herramientas, dentro de las cuales la más útil es quizá la compilación misma del documento. TeXnicCenter implementa una serie de instrucciones para compilar tu archivo en distintos formatos de salida, como lo son el PDF, el DVI y el PostScript. De este modo no tendrás que abrir el Símbolo del Sistema (o Command Prompt) para realizar la compilación. Por supuesto, para que esto funcione, tienes que indicarle a TeXnicCenter dónde se encuentra el programa de LATEX que debe ejecutar para compilar el archivo .tex. Esto se hace la primera vez que inicias TeXnicCenter, y si has permitido que MikTeX se instalara en la carpeta "texmf", no tendrás que buscar nada, ya que TeXnicCenter asume que ahí se realizo la instalación de los paquetes y programas de LATEX y sólo tendrás que ir confirmando las rutas que se señalan.

Istalacion de LATEX en Linux

Para utilizar LATEX en Linux es muy sencillo. Casi todas las distribuciones la traen por defecto. Basta descargar e instalar el paquete tetex (proyecto descontinuado) o bien, el más reciente y actualizado texlive. Cada distribución en Linux maneja a su manera el listado y las dependencias de sus paquetes compilados. A modo de ejemplo, en distribuciones basadas en Debian bastará abrir un terminal e introducir como root' la siguiente orden:

sudo apt-get install texlive-latex-extra texlive-fonts-recommended lmodern

Otro modo aun más sencillo que deja todo listo para ser usado es instalar un editor de LATEX especializado (ver más adelante) con la siguiente orden:

sudo apt-get install lyx

En otras distribuciones como SuSe, Mandriva, Fedora (basadas en paquetes RPM) hay herramientas gráficas en las cuales es posible seleccionar los mismos paquetes para que sean instalados.

Una vez que lo hagas estará todo listo para comenzar con la creación y compilación de archivos LATEX. Más aún, en la mayoría de las distribuciones de Linux LATEX es un programa que es instalado por defecto y está esperando a que se haga uso de él.

Una vez instalado LATEX nos encontramos con que este no es un programa con una interfaz gráfica sino que lo que el usuario debe hacer es escribir sus documentos según ciertas reglas que posteriormente LATEX convertirá a un documento legible e imprimible. Para escribir en LATEX necesitarás simplemente un editor de texto. Cualquiera es adecuado para ello. Basta con que el editor sde código ASCII ofrezca la posibilidad de guardar el archivo con la extensión .tex. Además de editores genéricos existen varios editores muy buenos que no sólo te permitirán guardar tu archivo .tex, sino que también ofrecen una serie de herramientas útiles para facilitar la composición. En linux estos editores podemos agruparlos en dos varientes: Aquellos en los que se ingresa directamente los comandos de LATEX y que el programa compila posteriormente, obteniendo diversas salidas: PDF, DVI, PS, HTML, etc. Y un segundo grupo que es capaz de exportar sus archivos a formato LATEX.

En el primer grupo encontramos, a modo de ejemplo, los siguientes programas:

Emacs, muy útil, pues incluye un entorno de edición especial para LATEX (y para algunos otros lenguajes) que, entre otras cosas, colorea los comandos para facilitar la visualización de sintaxis. Poderoso editor de textos, aunque, su instalación ocupa bastante espacio en el disco duro.

Vim, similar a emacs en cuanto a coloreado de sintaxis. Posee además un plugin especial para compilar LATEX. Su instalación es pequeña y es, además, un muy poderoso editor de textos.

Texmaker, programa muy cómodo que permite insertar código y compilar mediente una interfaz de botones muy intuitiva. Es liviano y consume pocos recursos. Viene acompañado de herramientas que informan de los errores.

Kile, editor especializado en LATEX del escritorio KDE. Muy intuitivo y programable. Reconoce los comandos y sugiere autocompletación. Viene con herramientas que indican los errores y abren el archivo en el lugar preciso de dicho error para su corrección.

En el segundo grupo, exportadores a formato LATEX tenemos a su vez dos varientes. Procesadores de textos que pueden exportar desde sus propios formatos a LATEX. Y procesadores especializados en LATEX que proporcionan una cómoda interfaz gráfica.

Procesadores que exportan a LATEX:

OpenOffice.org es capaz de exportar sus archivos (odt 0 doc) a LATEX, a partir de los cuales es posible la compilación del archivo .tex. Además, este programa está disponible en español, por lo que la edición resulta aún más fácil. OpenOffice.org integra un editor de ecuaciones, y si con el insertas una fórmula matemática, ésta será convertida en los comandos de LATEX respectivos para producir la fórmula en tu documento .tex. OpenOffice.org, es software gratuito. Hay que tener presente que actualmente el código LATEX que genera no es muy perfecto.

Abiword, procesador de textos del escritorio GNOME. Exporta sus archivos a LATEX, aunque su exportación no está muy de acuerdo con un archivo escrito directamente en LATEX, pues, al igual que Openoffice.org intenta reproducir el formato original mediante comandos. Lo que no es muy propio de LATEX, en el que se intenta más bien escribir textos lógicamente estructurados.

Kword, procesador de textos del escritorio KDE y parte de la suite ofimática Koffice. Realiza más o menos lo mismo que Abiword y Openoffice.org.

Respecto del segundo grupo contamos en Linux con los siguientes programas:

LyX, este programa sostiene que es del tipo WYSIWYM (lo que vez es lo que quieres decir). Para aquellos que deseen contar con un editor de textos de estilo más "familiar", pueden pensar en utilizar LyX, un editor de textos que emplea LATEX para la creación de sus textos, todo en un ambiente muy parecido a WYSIWYG, salvo que lo que ve en la pantalla no es el documento compilado. Para compilar y visualizar basta apretar un botón. Así, si alguien siente que con LATEX se trabaja un poco a ciegas, este programa le permitirá cambiar la situación al mostrarle gráficamente todo lo que va haciendo en su documento, sin necesidad de compilar el texto y esperar hasta entonces para ver los resultados.

Texmacs, es un programa basado en emacs con un entorno casi WYSYGYG para LATEX.

Como se señala estos programas harán que el trabajo resulte más sencillo e interesante, y ayudarán a ganar gusto por LATEX. Los programas que exportan a LATEX le permiten al usuario obtener desde archivos odt o doc el código fuente para LATEX y desde estos archivos ir aprendiendo cual es la lógica interna de este modo de edición.

Es interesante señalar que una vez que se aprende a utilizar LATEX se hace muy difícil utilizar algún otro programa para componer tus textos con contenido matemático (o de cualquier otro tipo).

El uso de uno u otro de los programas antes mencionados dependerá de los gustos del usuario. Sin embargo, es recomendable iniciarse con algunos programas más intuitivos como LyX y luego pasar a la edición pura en texmaker o kile.

WEBGRAFIA:

http://es.wikibooks.org/wiki/Manual_de_LaTeX

http://es.wikipedia.org/wiki/LaTeX

http://navarroj.com/latex/

http://es.wikibooks.org/wiki/Manual_de_LaTeX/Datos_preliminares/Instalaci%C3%B3n_en_Linux

Pruebas del Software

PRUEBAS DEL SOFTWARE
Aplicación de las técnicas de prueba de software para un programa que realiza el cálculo de métricas con el Cocomo básico.
Primero, se deben diseñar los casos de prueba.

CAJA BLANCA, prueba del camino básico
En la prueba de caja blanca se realiza un examen minucioso de los detalles procedimentales, comprobando los caminos lógicos del programa, comprobando los bucles y condiciones, y examinado el estado del programa en varios puntos.
A primera vista, la prueba de caja blanca profunda nos llevaría a tener "programas 100 por cien correctos", es decir:

• Definir todos los caminos lógicos
• Desarrollar casos de prueba para todos los caminos lógicos
• Evaluar los resultados

Para obtener los casos de prueba para caja blanca se usará la técnica del camino básico, el objetivo de las pruebas será el método calcularCuentaTotal() de la clase CocomoBasico . El primer paso es obtener el diagrama de flujo del método.




A partir del diagrama de flujo se obtiene el grafo de flujo, que sirve como guía para definir el conjunto básico de caminos de ejecución.



CAJA NEGRA
Las pruebas de caja negra se denominan también pruebas funcionales, consisten en suministrar datos de entrada y estudiar la salida, sin preocuparse de lo que pueda estar haciendo el programa por dentro.

Las pruebas de caja negra están especialmente indicadas para probar el programa en lo que se refiere a la interfaz de usuario.

A continuación se detalla el caso de prueba para el cálculo de métricas con Cocomo básico:



En este caso al realizar la técnicas de prueba del cocomo básico tenemos que tomar en cuenta cada una de las funciones operativas del software. Analizar cada uno de los errores que se pueden presentar en los diferentes campos: los atributos, factores de peso, el tipo del proyecto, cada uno de estos deben estar controlados para evitar inconvenientes posteriores, estos permitirán ingresar únicamente datos con los que puede trabajar el software.
DEPURACIÓN

Tras encontrar y corregir el error, se ejecuta nuevamente la prueba y se obtienen los siguientes resultados:


PRUEBA DE SANIDAD
Determina si la nueva versión de un software está bien realizada y si necesita un nuevo esfuerzo en la prueba de software. Por ejemplo la nueva versión de un programa cumple con casi todos los requisitos pero destruye la base de datos al leerla, por lo tanto se dice que este software no está en una condición sana.
Luego del análisis se requiere adicionar nuevos requerimientos como agregar al software la posibilidad de agregar estimaciones de manera intermedia y avanzada, y no solo básico.

LAS DIEZ PRINCIPALES TENDENCIAS EN SEGURIDAD PARA 2011

La ciberguerra será uno de los principales retos de seguridad en la Red para 2011 y aunque los ratios de crecimiento de nuevo malware se estancan, se estima que se crearán más de 20 millones de nuevos ejemplares.

PandaLabs, el laboratorio antimalware de Panda Security ha hecho sus predicciones sobre seguridad en el próximo año. En ellas destaca que 2011 traerá pocas innovaciones radicales en cuanto al ámbito del cibercrimen se refiere. Hay que destacar el ciberactivismo y ciberguerra; más malware enfocado siempre a la consecución del beneficio económico, redes sociales, ingeniería social y códigos maliciosos con alta capacidad de cambio para evitar ser detectados. También aumentarán las amenazas para Mac, nuevos diseños para atacar sistemas 64 bits y nuevos ejemplares que se aprovecharán de vulnerabilidades zero-day.

Según Luis Corrons, director técnico de PandaLabs, “hemos sacado nuestra bolita de cristal, y éste es, en resumen, nuestro vaticinio de las 10 principales tendencias en seguridad para 2011”:

1. Creación de malware. El año 2010 se va a cerrar con un aumento significativo del número de malware, del que ya venimos hablando hace algunos años. En este ejercicio, han sido más de 20 millones lo que se han creado, cifra superior al que se creó en 2009. Así, la base de datos de Inteligencia Colectiva de Panda tiene clasificados y almacenados más de 60 millones de amenazas. El ratio de crecimiento interanual, sin embargo, parece que está alcanzando su punto álgido: hace unos años, era de más del 100%. En 2010, ha sido del 50%. Esperamos que lo mismo suceda en 2011.

2. Ciberguerra. Stuxnet y la filtración de Wikileaks apuntando al Gobierno chino como responsable de los ciberataques a Google y a otros objetivos ha marcado un antes y un después en la historia de los conflictos. En las ciberguerras, al igual que sucede en las guerras del mundo real hoy en día, no hay bandos con uniforme en el que se puede distinguir a los diferentes combatientes. Hablamos de lucha de guerrillas, donde no se sabe quién es el que ataca, ni desde dónde lo hace, lo único que puede tratar de deducirse es el fin que persigue.

3. Ciberprotestas. Sin duda, la gran novedad de 2010. La ciberprotesta o ciberactivismo, nuevo movimiento inaugurado por el grupo Anonymous y su Operación Payback, apuntando a objetivos que pretenden acabar con la piratería en Internet primero, y apoyando a Julian Assange, autor de Wikileaks, después, se ha puesto de moda. Incluso usuarios con pocos conocimientos técnicos pueden formar parte de estos ataques de Denegación de Servicio Distribuido (ataques DDoS) o campañas de spam.

4. Ingeniería social. “El hombre es el único animal que tropieza dos veces con la misma piedra”. Este dicho popular es cierto como la vida misma, y por eso uno de los mayores vectores de ataque seguirá siendo el uso de la denominada ingeniería social para lograr infectar a internautas confiados. Además, los ciberdelincuentes han encontrado un caldo de cultivo ideal en las redes sociales, donde los usuarios son aún más confiados que cuando utilizan otro tipo de herramientas, como el correo electrónico.

5. Windows 7 afectará al desarrollo de malware. Como ya comentamos el pasado año, necesitaremos al menos dos años para comenzar a ver proliferar amenazas específicamente diseñadas para Windows 7. En 2010 hemos visto algunos movimientos en esta dirección, pero creemos que en 2011 seguiremos conociendo nuevos casos de malware que busca atacar a los cada vez más usuarios del nuevo sistema operativo.

6. Móviles. Esta sigue siendo la eterna pregunta: ¿cuándo despegará el malware para móviles? Pues bien, parece que en 2011 podrían verse nuevos ataques, pero tampoco de forma masiva. La mayoría de ataques actuales se dirigen a móviles con Symbian, sistema operativo que tiende a desaparecer. De los diferentes sistemas en auge, la bola de cristal de PandaLabs ve claramente cómo el número de amenazas para Android va a aumentar de forma considerable a lo largo del próximo año, convirtiéndose en la plataforma preferida por los ciberdelincuentes.

7. Tablets. El dominio del iPad es total en este campo, pero en breve habrá competidores que ofrezcan alternativas interesantes. En cualquier caso, salvo alguna prueba de concepto o algún ataque anecdótico, no creemos que en 2011 los tablets sean el principal objetivo de los ciberdelincuentes.

8. Mac. Malware para Mac hay, y seguirá habiendo. Crecerá el número a medida que siga aumentando su cuota de mercado. Lo más preocupante es la cantidad de agujeros de seguridad que tiene Apple en su Sistema Operativo: más vale que se rápidamente le pongan remedio, ya que los ciberdelincuentes son conscientes de ello y de la facilidad que conlleva estos agujeros de seguridad para distribuir malware.

9. HTML5. El que podría llegar a ser el sustituto de Flash, HTML5, es un candidato perfecto para todo tipo de delincuentes. El hecho de que pueda ser ejecutado por los navegadores sin necesidad de ningún plugin hace aún más apetitoso el poder encontrar un agujero que podría llegar a los ordenadores de los usuarios independientemente del navegador utilizado. Veremos los primeros ataques en los próximos meses.

10. Amenazas cifradas y rápidamente cambiantes. Este movimiento ya lo hemos visto en los dos últimos años, y asistiremos a un aumento todavía mayor en 2011. Que el malware está diseñado para el beneficio económico, no es ninguna novedad. Que para conseguirlo utiliza la ingeniería social para engañar a los usuarios y tiende a ser lo más silencioso posible para que no se enteren las víctimas de que están infectados, tampoco lo es.

WEBGRAFIA:
Noticias Tecnologicas - Noticias TI [http://www.inkawebdesign.com/noticia/las-diez-principales-tendencias-en-seguridad-para-2011.html],[ Publicación : 2011-01-05 00:03:24 | Autor : PANDA LABS] [Fecha de Consulta ]