miércoles, 17 de octubre de 2012

trabajo


El aseguramiento de la calidad
Ante todo se debe conocer:
Aseguramiento de la calidad: "Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad".
Aseguramiento de la calidad de software: Conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad.

El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla. Hay quienes prefieren decir garantía de calidad en vez de aseguramiento.
La garantía, puede confundir con garantía de productos, mientras que el aseguramiento pretende dar confianza en que el producto tiene calidad.

El aseguramiento de calidad del software está presente en:
Métodos y herramientas de análisis, diseño, programación y prueba.
Inspecciones técnicas formales en todos los pasos del proceso de desarrollo del software.
Estrategias de prueba multiescala.
Control de la documentación del software y de los cambios realizados.
Procedimientos para ajustarse a los estándares (y dejar claro cuando se está fuera de ellos).
Mecanismos de medida (métricas).
Registro de auditorias y realización de informes.

Las actividades para el aseguramiento de calidad del software se detallan en:
Métricas de software para el control del proyecto.
Verificación y validación del software a lo largo del ciclo de vida (Incluye las pruebas y los procesos de revisión e inspección).
La gestión de la configuración del software.
Algunos métodos del aseguramiento:
Revisiones técnicas y de gestión (su objetivo es la evaluación).
Inspección (su objetivo es la verificación). ¿Estamos construyendo el producto correcto?.
Pruebas (su objetivo es la validación). ¿Estamos construyendo el producto correctamente?.
Auditorias (su objetivo es la confirmación del cumplimiento).
Sistema de calidad
Sistema de calidad: Estructura organizativa, procedimientos, procesos y recursos necesarios para implantar la gestión de calidad.
El sistema de calidad se debe adecuar a los objetivos de la calidad de la empresa. La dirección de la empresa es la responsable de fijar la política de calidad y las decisiones relativas a iniciar, desarrollar, implantar y actualizar el sistema de calidad.
Un sistema de calidad consta de varias partes:
Documentación

o Manual de calidad. Es el documento principal para establecer e implantar un sistema de calidad. Puede haber manuales a nivel de empresa, departamento, producto, específicos (compras, proyectos,…).
Parte física: locales, herramientas ordenadores, etc.
Aspectos humanos:

o Formación de personal.
o Creación y coordinación de equipos de trabajo.
FUNCIONALIDAD
Es la capacidad del producto de software para proveer funciones que
cumplan con necesidades específicas o implícitas, cuando el software es
utilizado bajo condiciones específicas.
USABILIDAD
La capacidad del producto de software para ser atractivo, entendido,
aprendido, y utilizado por el usuario bajo condiciones específicas.
FIABILIDAD
Es la capacidad del producto de software para mantener un nivel
especificado de rendimiento cuando específicas.
La confiabilidad de software: significa que un programa particular debe de seguir funcionando en la precencia de errores. Los errores pueden ser relacionados al diseño, a la implementación, a la programacion, o el uso de errores. Asi como los sistemas llegan a ser cada vez mas complejos, aumenta la probabilidad de errores. Como mencionamos, es increiblemente difícil demonstrar que un sistema sea seguro. Ross Anderson dice que la seguridad de computación es como programar la computadora del Satan. Software seguro debe de funcionar abajo de un ataque. Aunque casi todos los software tengan errores, la mayoria de los errores nunca seran revelados debajo de circunstancias normales. Un atacante busca esta debilidad para atacar un sistema
“El mantenimiento del sw. es la modificación de un
producto sw. después de su entrega al cliente o
usuario para corregir defectos, para mejorar el
rendimiento u otras propiedades deseables, o para
adaptarlo a un cambio de entorno”


Portabilidad
La portabilidad (en inglés portability) es uno de los conceptos clave en la programación de alto nivel.
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. A mayor portabilidad menor es la dependencia del software con respecto a la plataforma.
Clasificación del software
Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:
Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:
o Sistemas operativos
o Controladores de dispositivos
o Herramientas de diagnóstico
o Herramientas de Corrección y Optimización
o Servidores
o Utilidades
Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente:
o Editores de texto
o Compiladores
o Intérpretes
o Enlazadores
o Depuradores
o Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).
Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:
o Aplicaciones para Control de sistemas y automatización industrial
o Aplicaciones ofimáticas
o Software educativo
o Software empresarial
o Bases de datos
o Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
o Videojuegos
o Software médico
o Software de cálculo Numérico y simbólico.
o Software de diseño asistido (CAD)
o Software de control numérico (CAM)
Integridad
Es la propiedad que busca mantener los datos libres de modificaciones no autorizadas. (No es igual a integridad referencial en bases de datos.) A groso modo, la integridad es el mantener con exactitud la información tal cual fue generada, sin ser manipulada o alterada por personas o procesos no autorizados.
La violación de integridad se presenta cuando un empleado, programa o proceso (por accidente o con mala intención) modifica o borra los datos importantes que son parte de la información, así mismo hace que su contenido permanezca inalterado a menos que sea modificado por personal autorizado, y esta modificación sea registrada, asegurando su precisión y confiabilidad. La integridad de un mensaje se obtiene adjuntándole otro conjunto de datos de comprobación de la integridad: la firma digital Es uno de los pilares fundamentales de la seguridad de la información
El término “facilidad de uso” representa un enfoque que sitúa al usuario, no al sistema, en el centro del proceso de creación de software. Esta filosofía, denominada diseño centrado en el usuario, incorpora los intereses y la defensa del usuario desde los inicios del proceso de diseño y otorga prioridad absoluta a sus necesidades a la hora de tomar cualquier decisión.
Facilidad de Prueba

De acuerdo con James Bach la facilidad de prueba puede ser definida de la siguiente manera:

La facilidad de prueba del software es simplemente la facilidad con la que se puede probar un programa de computadora. [Pre02]
El alcance de esta facilidad de prueba adquiere gran importancia por parte del equipo de desarrollo del software debido a que se reconoce que las pruebas son unos de los procesos más difíciles y costosos que se deben realizar. Por esta razón se hace necesario implementar métricas y métodos que faciliten este proceso.



Transición del software
La transición del software es una secuencia controlada y coordinada de accionesdonde el desarrollo pasa de la organización que ejecuta el desarrollo inicial a laorganización encargada del mantenimiento.
Si la responsabilidad del mantenimiento se transfiere a una organización distintase debería desarrollar un Plan de Transición.
El Plan debería tratar:

La transferencia de hardware, software, datos y experiencia deldesarrollador al encargado del mantenimiento, el que ha hecho elprograma debe comunicar lo que sabe al encargado del mantenimiento.

Tareas necesarias para que el encargado de mantenimiento puedaimplementar una estrategia de mantenimiento de software (p. ej.composición de personal, entrenamiento, instalación y réplica deproblemas de mantenimiento).
Interoperabilidad
Característica de los ordenadores que les permite su interconexión y funcionamiento conjunto de manera compatible. Esto no siempre es posible, debido a los diferentes sistemas operativos y arquitecturas de cada sistema, pero los esfuerzos de estandarización están permitiendo que cada vez sean más los ordenadores capaces de interoperar entre sí.

No hay comentarios:

Publicar un comentario