Beruflich Dokumente
Kultur Dokumente
Tarea No. 01
Estándares para proceso de desarrollo de software
Presentado por:
Camilo Esteban Rodriguez
Andres Mauricio Clavijo
Jhon Alexander Chacon
Brayan Andres Valero
Presentado a:
Juan Carlos Guevara
Requerimientos ................................................................................................................................... 3
Análisis................................................................................................................................................. 6
Desarrollo .......................................................................................................................................... 11
Pruebas.............................................................................................................................................. 17
Bibliografía ........................................................................................................................................ 24
Requerimientos
Corrección
La ERS es correcta si y sólo si todo requisito que figura en ella refleja alguna necesidad real.
La corrección de la ERS implica que el sistema implementado será el sistema deseado.
Ambigüedad
Un documento es no ambiguo si y solo si cada requisito descrito tiene una única
interpretación. Cada característica del producto final debe ser descrita utilizando un término
único y, en caso de que se utilicen términos similares en distintos contextos, se deben indicar
claramente las diferencias entre ellos. Incluso se puede incluir un glosario en el que indicar
cada significado específicamente.
Los analistas deben poner un cuidado especial a la hora de especificar los requisitos. El hecho
de utilizar el lenguaje natural para hacer la ERS comprensible a los usuarios supone un riesgo
muy elevado, porque el lenguaje natural puede llegar a ser muy ambiguo.
Completitud
Una ERS es completa si:
•Incluye todos los requisitos significativos del software (relacionados con la funcionalidad,
ejecución, diseño, atributos de calidad o interfaces externas).
•Existe una definición de respuestas a todas las posibles entradas, tanto válidas como
inválidas, en todas las posibles situaciones.
•Cumple con el estándar utilizado. Si hay alguna parte del estándar que no se utiliza, se debe
razonar suficientemente el por qué no se ha utilizado dicho apartado.
•Aparecen etiquetadas todas las figuras, tablas, diagramas, etc, así como definidos todos los
términos y unidades de medida empleados.La ERS debe ser siempre completa, aunque en
ocasiones esto no será posible.
Verificabilidad
Un requisito se dice que es verificable si existe algún proceso no excesivamente costoso por
el cual una persona o una máquina pueda chequear que el software satisface dicho
requerimiento.
Consistencia
Una ERS es consistente si y sólo si ningún conjunto de requisitos descritos en ella son
contradictorios o entran en conflicto. Se pueden dar tres casos:
•Requisitos que describen el mismo objeto real utilizando distintos términos.
•Las características especificadas de objetos reales. Un requisito establece que todas las luces
son verdes y otro que son azules.
•Conflicto lógico o temporal entre dos acciones determinadas. Se llega a un punto en el que
dos acciones serían perfectamente válidas (¿sumar o multiplicar?)
Clasificación
No todos los requisitos son igual de importantes. Los requisitos pueden clasificarse por
diversos criterios:
•Importancia: Pueden ser esenciales, condicionales u opcionales.
•Estabilidad: Cambios que pueden afectar al requisito. Lo ideal es el establecimiento de
prioridades, de modo que la implementación de un requisito de menor prioridad no emplee
excesivos recursos.
Modificabilidad
Una ERS es modificable si cualquier cambio puede realizarse de manera fácil, completa y
consistente. Para ello, es deseable tener una organización coherente y fácil de usar en la que
aparezca el índice o una tabla de contenidos fácilmente accesible. También es deseable evitar
la redundancia, es decir que no aparezca un mismo requisito en más de un lugar de la ERS.
No es un error, pero si se tiene que modificar alguna cosa será mucho más cómodo si no
tenemos que buscar el mismo requisito en varios lugares.
Explorabilidad (traceability)
Una ERS es explorable si el origen de cada requerimiento es claro tanto hacia atrás (origen
que puede ser un documento, una persona etc.) como hacia delante (componentes del sistema
que realizan dicho requisito).
Cuando un requisito de la ERS representa un desglose o una derivación de otro requisito, se
debe facilitar tanto las referencias hacia atrás como hacia adelante en el ciclo de vida. Las
referencias hacia delante de la ERS son especialmente importantes para el mantenimiento del
software. Cuando el código y los documentos son modificados, es esencial poder comparar
el conjunto total de requisitos que puedan verse afectados por estas modificaciones.
Análisis
Es el estándar para los procesos de ciclo de vida del software de la organización ISO, donde
se realiza un enfoque en el análisis del software.
Establece un proceso de ciclo de vida para el software que incluye procesos y actividades
que se aplican desde la definición de requisitos, pasando por la adquisición y configuración
de los servicios del sistema, hasta la finalización de su uso. Este estándar tiene como objetivo
principal proporcionar una estructura común para que compradores, proveedores,
desarrolladores, personal de mantenimiento, operadores, gestores y técnicos involucrados en
el desarrollo de software usen un lenguaje común. Este lenguaje común se establece en forma
de procesos bien definidos.
§ Procesos principales.
§ Adquisición.
§ Suministro.
§ Desarrollo.
§ Operación.
§ Mantenimiento.
§ Procesos de soporte.
§ Documentación
§ Gestión de la configuración.
§ Aseguramiento de calidad.
§ Verificación.
§ Validación.
§ Revisión conjunta.
§ Auditoría.
§ Resolución de problemas.
§ Procesos de la organización.
§ Gestión.
§ Infraestructura.
§ Mejora.
§ Recursos Humanos.
La estructura del estándar ha sido concebida de manera que pueda ser adaptada a las
necesidades de cualquiera que lo use. Para conseguirlo, el estándar se basa en dos principios
fundamentales: Modularidad y responsabilidad. Con la modularidad se pretende conseguir
procesos con un mínimo acoplamiento y una máxima cohesión. En cuanto a la
responsabilidad, se busca establecer un responsable para cada proceso, facilitando la
aplicación del estándar en proyectos en los que pueden existir distintas personas u
organizaciones involucradas, no importando el uso que se le dé a este.
ISO 9126 es un estándar internacional para la evaluación del Software, fue originalmente
desarrollado en 1991 para proporcionar un esquema para la evaluación de calidad del
software.
La normativa define seis características de la aplicación, estas seis características son dividas
en un número de sub- características, las cuales representan un modelo detallado para la
evaluación de cualquier sistema informático.
El modelo establece diez características, seis que son comunes a las vistas interna y externa
y cuatro que son propias de la vista en uso.
A continuación se describen las características y sub-características propias de este estándar
que se encuentran dentro de las vistas interna y externa, las cuales usaremos para evaluar el
software de CMI.
Funcionalidad: capacidad del software de proveer los servicios necesarios para cumplir
con los requisitos funcionales.
Sub-características:
Idoneidad.- Hace referencia a que si el software desempeña las tareas para las
cuales fue desarrollado.
Exactitud.- Evalúa el resultado final que obtiene el software y si tiene consistencia
a lo que se espera de él.
Interoperabilidad.- Consiste en revisar si el sistema puede interactuar con otro
sistema independiente.
Seguridad.- Verifica si el sistema puede impedir el acceso a personal no autorizado.
Fiabilidad: capacidad del software de mantener las prestaciones requeridas del
sistema, durante un tiempo establecido y bajo un conjunto de condiciones definidas.
Subcaracterísticas:
Madurez.- Se debe verificar las fallas del sistema y si muchas de estas han sido
eliminadas durante el tiempo de pruebas o uso del sistema.
Recuperabilidad.- Verificar si el software puede reasumir el funcionamiento y
restaurar datos perdidos después de un fallo ocasional.
Tolerancia a fallos.- Evalua si la aplicación desarrollada es capaz de manejar
errores.
Usabilidad: esfuerzo requerido por el usuario para utilizar el producto
satisfactoriamente.
Subcaracterísticas:
Aprendizaje.- Determina que tan fácil es para el usuario aprender a utilizar el
sistema.
Comprensión.- Evalúa que tan fácil es para el usuario comprender el
funcionamiento del sistema
Operatividad.- Determina si el usuario puede utilizar el sistema sin mucho
esfuerzo.
Atractividad.- Verifica que tan atractiva se ve la interfaz de la aplicación.
Eficiencia: relación entre las prestaciones del software y los requisitos necesarios
para su utilización.
Subcaracterísticas:
Comportamiento en el tiempo.- Verifica la rapidez en que responde el sistema
Comportamiento de recursos.- Determina si el sistema utiliza los recursos de
manera eficiente
Mantenibilidad: esfuerzo necesario para adaptarse a las nuevas especificaciones y
requisitos del software.
Subcaracterísticas:
Estabilidad.- Verifica si el sistema puede mantener su funcionamiento a pesar de
realizar cambios.
Facilidad de análisis.- Determina si la estructura de desarrollo es funcional con el
objetivo de diagnosticar fácilmente las fallas.
Facilidad de cambio.- Verifica si el sistema puede ser fácilmente modificado
Facilidad de pruebas.- Evalúa si el sistema puede ser probado fácilmente
Portabilidad: capacidad del software ser transferido de un entorno a otro.
Subcaracterísticas:
Capacidad de instalación.- Verifica si el software se puede instalar fácilmente
Capacidad de reemplazamiento.- Determina la facilidad con la que el software
puede remplazar otro software similar.
Adaptabilidad.- El software se puede trasladar a otros ambientes
Co-Existencia.- El software puede funcionar con otros sistemas
Desarrollo
La norma ISO/IEC 9126 define la calidad en uso como la perspectiva del usuario
de la calidad del producto software cuando éste es usado en un ambiente
específico y un contexto de uso específico. Éste mide la extensión para la cual
los usuarios pueden conseguir sus metas en un ambiente particular, en vez de
medir las propiedades del software en si mismo.
Repetitividad.
Reproducibilidad.
Imparcialidad.
Objetividad.
ISO/IEC 14598-1 Visión General: provee una visión general de las otras
cinco partes y explica la relación entre la evaluación del producto software
y el modelo de calidad definido en la ISO/IEC 9126.
Al igual que la norma ISO/IEC 9126, este estándar define tres vistas
diferenciadas en el estudio de la calidad de un producto:
Vista interna: esta vista se ocupa de las propiedades del software como:
el tamaño, la complejidad o la conformidad con las normas de orientación
a objetos.
Vista externa: vista que analiza el comportamiento del software en
producción y estudia sus atributos, por ejemplo: el rendimiento de un
software en una máquina determinada, el uso de memoria de un
programa o el tiempo de funcionamiento entre fallos.
Vista en uso: mide la productividad y efectividad del usuario final al
utilizar el software.
La primera puede utilizarse desde las primeras fases del desarrollo, permitiendo
detectar deficiencias en el software en edades muy tempranas del ciclo de vida
del software.
Por último la tercera vista que también estudia el producto software finalizado
será dependiente del usuario y estará condicionada a los factores personales del
mismo.
Los destinatarios principales de esta norma, son los testers de unidad y supervisores de
unidades de prueba. Este estándar fue desarrollado para ayudar a aquellos que proporcionan
la entrada a, ejecutar, supervisar, monitorear y evaluar las pruebas unitarias.
Esta norma describe un proceso de prueba compuesto por una jerarquía de fases, actividades
y tareas, y define un conjunto mínimo de tareas para cada actividad.
Esta norma requiere la realización de cada actividad, o que los resultados anteriores estar
disponibles y ser revaluados.
Es un conjunto acordado a nivel internacional de normas para las pruebas de software que se
pueden utilizar dentro de cualquier ciclo de vida de desarrollo de software u organización.
Mediante la implementación de estas normas estará adoptando las únicas normas
internacionalmente reconocidas y acordadas para las pruebas de software, lo que
proporcionará a la organización con un enfoque de alta calidad para las pruebas que se puedan
comunicar en todo el mundo. Actualmente hay cinco normas:
Tiene como propósito unificar e integrar las normas BSI, IEEE, and ISO/IEC JTC 1/SC, el
resultado del proyecto será un tratamiento consistente y unificado adoptado por las tres
organizaciones.
Estructura:
La norma define un modelo de prueba de proceso genérico que se puede utilizar dentro de
cualquier desarrollo de software y ciclo de vida de la prueba. Este proceso se basa en un
proceso de prueba de cuatro capas de cobertura:
El estándar cubrirá documentación de pruebas en todo el ciclo de vida completo del software
de prueba. Esto incluye plantillas que se pueden personalizar y que cubra todas las fases del
proceso de pruebas, entre ellas:
Prueba de organización Documentación de proceso:
- Política organizativa de prueba
- Estrategia organizativa de prueba
Pruebas de Acceso
Copia de seguridad / recuperación de Pruebas
Compatibilidad Pruebas
Conversión de Pruebas
Pruebas de recuperación de desastres
Pruebas funcionales
Prueba de Interoperabilidad
Mantenibilidad Pruebas
Rendimiento de carga, tensión, resistencia, volumen y pruebas de capacidad
Portabilidad Pruebas
Procedimiento de la Prueba
Fiabilidad Pruebas
Pruebas de Seguridad
Pruebas de Estabilidad
Test de usabilidad
Documentación
Estándares a considerar:
La documentación puede ser el elemento tangible que el usuario ve primero, y por lo tanto
influye en las primeras impresiones del usuario del producto de software.
ISO/IEC, 26514 DEL 2008.
IEEE 830.
PMBOK.
ITIL.
Parte 2:
Se aplica a los manuales de usuario impreso, ayuda en línea, tutoriales y documentación
de referencia para el usuario.
Establece con precisión las funciones y capacidad del software así como sus
restricciones.
Es la base para toda subsecuente planificación, diseño, codificación, pruebas del
software y la documentación del usuario.
o Propósito.
o Ámbito del sistema.
o Definiciones, acrónimos y abreviaturas.
o Referencias.
o Visión general del documento.
Descripción general:
Requisitos específicos:
o Interfaces externas.
o Funciones.
o Requisitos de rendimiento.
o Restricciones de diseño.
o Atributos del sistema.
o Otros requisitos.
Apéndices.
Bibliografía
http://www.icesi.edu.co/departamentos/tecnologias_informacion_comunicaciones/p
royectos/lisa/home/analisis/srs/srs
http://zeus.inf.ucv.cl/~bcrawford/AULA_ICI441/ERS_IEEE830.pdf
http://informmatico-juan.blogspot.com.co/
http://artemisa.unicauca.edu.co/~cardila/CS_08_Estandares_para_pruebas_software
.pdf
http://in2test.lsi.uniovi.es/gt26/presentations/ISO29119-Presentacion-GT26-
20140618.pdf
https://www.google.com.co/url?sa=t&rct=j&q=&esrc=s&source=web&cd=17&ved
=0ahUKEwj2msPFm_zOAhUlyoMKHbAlAIQ4ChAWCEIwBg&url=http%3A%2
F%2Fwww.bibliotecanacional.gov.co%2Fbnwiki%2Ftiki-
download_file.php%3FfileId%3D37&usg=AFQjCNF4ZSPYt4foY-
opRildtO0sT6VKkg&cad=rja
http://escalidadsw.blogspot.com.co/2014/05/isoieee-12207.html
https://es.wikipedia.org/wiki/ISO/IEC_12207
http://bemuserp.blogspot.com.co/2011/09/norma-iso-9126-para-analisis-de.html
http://evaluaciondesoftware2013.blogspot.com.co/
https://prezi.com/txqoqmmghhvc/estandares-para-documentacion-de-
proyectos/
http://brfranciscoosunaiuty.blogspot.com.co/2012/07/estandares-en-el-proceso-
de-desarrollo.html