domingo, 27 de agosto de 2017

ERS

El ERS o Especificación de Requerimientos de Software es un documento que va dirigido tanto a clientes como al equipo encargado del desarrollo de software, debe de estar escrito en un lenguaje de fácil entendimiento para ambas partes, su principal objetivo es  que pretende describir completamente el comportamiento de un sistema que se piensa desarrollar. En él se incluyen casos de uso o requisitos funcionales que describen o explican las interacciones entre usuarios y el software, además de los requisitos funcionales se encuentran también los requisitos no funcionales, éstos son los que dan las restricciones de diseño o implementación en el software.

Las características para un buen documento ERS son definidas por el estándar IEEE 830-1998, que son:
  • Completo: Todos los requerimientos deben estar reflejados y todas las referencias  bien definidas.
  • Consistente: Debe ser coherente con los propios requerimientos y también con otros documentos de especificación.
  • Inequívoco: La redacción debe ser clara de modo que no haya ambigüedad.
  • Correcto: El software debe cumplir con los requisitos de la especificación.
  • Trazable: Posibilidad de verificar la historia, ubicación o aplicación de un requerimiento a través de su identificación almacenada y documentada.
  • Priorizable: Los requisitos deben organizarse jerarquicamente según la importancia para el negocio.
  • Modificable: Debe ser fácilmente modificable.
  • Verificable: Debe existir un método finito sin costo para poder probarlo.
Resultado de imagen de documento de requisitos de software

Aunque existen muchas plantillas para crear un ERS, se debe de escoger la que mas se ajuste al proyecto que se desea implementar ya que no todas cubren la misma cantidad de campos del ERS y algunas se enfocan más en un sector especifico. 

https://www.ctr.unican.es/asignaturas/is1/IEEE830_esp.pdf

domingo, 6 de agosto de 2017

Proceso de Ingeniería de Requisitos

En la Ingeniería de Software, la Ingeniería de Requisitos,  comprende las tareas relacionadas con la obtención de las necesidades o de las condiciones para la elaboración o modificación de un software, ésto tomando en cuenta los diversos requerimientos de las partes interesadas. El propósito de ésta, es hacer que los requerimientos o requisitos sean óptimos antes de llegar al diseño del sistema. La ingeniería de requisitos tienen como objetivo:
  • Definir las características de un sistema de software que satisfaga las necesidades de negocio de clientes y usuarios.
  • Gestionar las lineas base y las peticiones de cambios que se vayan produciendo en la especificación de requisitos.

Éste proceso, como se muestra en la anterior imagen, comprende cuatro actividades de alto nivel:
  1. Estudio de factibilidad 
  2. Obtención y análisis de requerimientos
  3. Especificación de requerimientos
  4. Validación de requerimientos


1- Estudio de factibilidad: es de corto plazo y está orientado a resolver si el sistema:
  • Contribuye a los objetivos de la organización
  • Se puede implementar con tecnología actual dentro del tiempo y costo establecido
  • Puede integrarse a otros sistemas existentes en la organización
2- Obtención y análisis de requerimientos: es un proceso difícil ya que:
  • Los interesados no conocen con exactitud qué es lo que desean, solo saben términos muy generales
  • Los interesados explican los requerimientos con sus propios términos utilizando lenguaje de su propio trabajo que el analista quizás no conoce
  • El entorno es dinámico, puede cambiar la importancia de los requerimientos, pueden aparecer nuevos requerimientos.
Durante el proceso se deben realizar las siguientes actividades:
  • Comprensión del dominio
  • Recolección de requerimientos
  • Clasificación de los requerimientos
  • Resolución de conflictos
  • Priorizar los requerimientos importantes
  • Verificación de los requerimientos (completos, consistentes y acordes)
3- Especificación de requerimientos: en ésta etapa se describen los requerimientos que tanto el cliente como el contratista crean necesarios para el software. Algunos puntos importantes son:
  • Los requerimientos de sistemas grandes son siempre cambiantes
  • Surgirán nuevos requerimientos debido a:
    • Comunidad de usuarios diversos
    • El que paga es raramente el que utiliza el sistema
    • Entorno de negocios y técnico cambiante
4- Validación de requerimientos
  • Es similar al análisis pero con un bosquejo completo del documento en lugar de requerimientos incompletos
  • Es importante porque los errores en los requerimientos pueden inducir a costos excesivos si se descubren durante el desarrollo o después de la implementación
  • Es difícil demostrar que un conjunto de requerimientos cumplen con las necesidades del usuario desde la primera vez que se describen.
En esta etapa se deben llevar a cabo diferentes tipos de verificación:
  • Verificación de validez
  • Verificación de consistencia
  • Verificación de integridad
  • Verificación de realismo
Algunas técnicas para la verificación de requerimientos son:
  • Revisiones de requerimientos con el cliente
  • Construcción de prototipos
  • Generación de casos de prueba
  • Análisis de consistencia automático
4.1- Revisiones de requerimientos
  • Proceso manual que involucra a varios lectores tanto del cliente como del contratista
  • Puede ser formal o informal
  • Los conflictos, contradicciones, errores y omisiones deben señalarse durante la revisión y registrarse formalmente
Durante éstas revisiones se comprueba:
  • Consistencia
  • Integridad
  • Verificabilidad
  • Comprensibilidad
  • Rastreabilidad
  • Adaptabilidad

El proceso de obtención de requisitos es un poco complicado según el cliente y el software que se desee desarrollar, ya que no siempre los clientes tienen claro qué es lo que desean, sino que dan ideas de lo que le gustaría tener, es por ésto que muchas veces se deben de cambiar los requerimientos incluso después de haber empezado el desarrollo del sistema, por esa razón se debe tomar en cuenta el tipo de cliente y el sistema que éste desea e intentar descifrar correctamente qué es lo que él desea con tal de evitar la mayor cantidad de cambios.


Indefinido. (2013). ¿Requisitos o Requerimientos?. noviembre 2, 2013, de Investigación IT Sitio web: http://web.archive.org/web/20160310011046/http://investigacionit.com.ar/es/requisitos-o-requerimientos/

http://www.juntadeandalucia.es/servicios/madeja/contenido/subsistemas/ingenieria/ingenieria-requisitos


Diagramas Entidad-Relación

¿Qué es un diagrama entidad-relación? Es una herramienta para el modelado de datos que permite representar las entidades de un sistema ...