requerimientos de software
¿ el por que ?
Desde una charla con el cliente escucharlo su necesidad muchas veces guiándolo, esto nos llevar a conocer él porque de la necesidad del software, que se quiere y para que fin, todo esto es mejor plasmarlo en un documento inicial.
Ingeniería de requisitos
Comprende todas las tareas relacionadas con las necesidades, condiciones a satisfacer el desarrollo de un software nuevo o modificado, tomando en cuenta los diversos requisitos de las partes interesadas. Sin embargo la Ingeniería de requerimientos también es contemplada en otras disciplinas, estando fuertemente vinculada con la administración de proyectos.
El propósito de la ingeniería de requisitos es hacer que los mismos alcancen un estado óptimo antes de alcanzar la fase de diseño en el proyecto. Los buenos requisitos deben ser medibles, comprobables, sin ambigüedades o contradicciones, etc.
PASO A PASO
Reunion con el cliente: Es bueno tener un acercamiento cara a cara, una video llamada puede ser una gran solución en estos tiempos de pandemia.
Describir el problema: Que lo haga el cliente debemos escucharlo, para tener una idea clara y esto nos ayudara cuando estemos en la etapa de diseño.
Describir la experiencia: Muchas veces esto comienza con un lluvias de ideas, nosotros como ingenieros de software podemos orientamos a cliente siendo como una guía, este es el mejor momento para aportar ideas propias.
Apoyarse con wireframes: Apoyarnos con material escrito para no olvidar nada, estar pendiente de los detalles y los wireframes es la mejor herramienta para buscar la estructura división de los elementos en la aplicación y que el cliente comience a tener una idea.
Infraestructura: es punto a considerar ya que muchas veces no sabe del tema y esto puede darse malos entendidos.
Firma un acuerdo: esto es lo importante para tener claro las horas que se van a dar las formas de pagos y cláusulas de incumpliendo, para protección de nuestro trabajo.
Especificaciones y software
Especificaciones
Es un documento que define de manera precisa y completa los requisitos, el diseño y el comportamiento con sus características de un sistema.
Software
Instrucciones por medio de códigos en un leguaje de programación que facilita el desarrollo de los documentos y describe el funcionamiento del software o requerimientos
ERS
Especificación de requisitos de software Está dirigida tanto al cliente como al equipo de desarrollo porque es la descripción completa del comportamiento del sistema que se va a desarrollar. Incluye un conjunto de casos de uso que describe todas las interacciones que tendrán los usuarios con el software, contiene requisitos no funcionales (complementarios). Los requisitos no funcionales, ERS definir documentación requisitos y las interfaces externas
Prácticas recomendadas para una buena ERS
Las características de una buena ERS son definidas por el estándar IEEE 830-1998. Una buena ERS debe ser:
Completa. Todos los requerimientos deben estar reflejados en ella y todas las referencias deben estar definidas.
Consistente. Debe ser coherente con los propios requerimientos y también con otros documentos de especificación.
Inequívoca. La redacción debe ser clara de modo que no se pueda mal interpretar.
Correcta. El software debe cumplir con los requisitos de la especificación.
Trazable. Se refiere a la posibilidad de verificar la historia, ubicación o aplicación de un ítem a través de su identificación almacenada y documentada.
Priorizable. Los requisitos deben poder organizarse jerárquicamente según su relevancia para el negocio y clasificándolos en esenciales, condicionales y opcionales.
Modificable. Aunque todo requerimiento es modificable, se refiere a que debe ser fácilmente modificable.
Verificable. Debe existir un método finito sin costo para poder probarlo.
Tipos de requisitos
Requisitos de Usuarios: Necesidades que los usuarios expresan verbalmente
Momento de la conversación donde volvemos las necesidad en un requisitos, la mayoría se hace de manera verbal.
Requisitos del Sistema: Son los componentes que el sistema debe tener para realizar determinadas tareas
Se debe cumplir con ciertas especificación de servidores framework o políticas de desarrollo.
Requisitos Funcionales: Servicios que el sistema debe proporcionar al finalizar el sistema
Esto solo lo que podemos ver hacer tangible un comportamiento de un botón al hacer click
Requisitos No Funcionales: Define propiedades o restricciones de los servicios o funciones ofrecidos por el sistema
Estos son lo que no podemos ver ejemplo validar la contraseña el usuario no sabe como funciona solo se espera el resultado.