Semana 10 - Requisitos Del Software
Semana 10 - Requisitos Del Software
Semana 10 - Requisitos Del Software
Los requisitos software son la descripción de las características y las funcionalidades del
sistema que se desea implementar.
Los requisitos nos comunican las expectativas de los consumidores de productos software.
Los requisitos pueden ser obvios o estar ocultos, conocidos o desconocidos, esperados o
inesperados, desde el punto de vista del cliente.
Ingeniería de requisitos
El proceso de recogida de información, análisis y documentación sobre los requisitos del
software es del cliente, se conoce como ingeniería de requisitos.
Estudio de viabilidad
Recogida de requisitos
Requisitos del Software
Validación de los requisitos de Software
Estudio de viabilidad
Cuando el cliente se acerca a la organización para obtener el producto deseado
desarrollado, expone una idea aproximada de las funciones que el software debe
cumplir y qué características se esperan del software.
Refiriéndose a esta información, los analistas elaboran un estudio detallado sobre la
viabilidad del sistema deseado y de sus funcionalidades, para proceder a desarrollarlo.
El resultado (output) de esta fase debe ser un informe del estudio de viabilidad,
conteniendo comentarios adecuados y recomendaciones para la gestión sobre si se
debe tirar adelante o no el proyecto.
Recogida de requisitos
Si el informe de viabilidad es positivo en relación a tomar el proyecto, la siguiente fase
empieza con la recolección de requisitos por parte del consumidor.
Analistas e Ingenieros se comunican con el cliente y los consumidores para conocer sus
ideas sobre qué debe aportar el software y qué características quieren que incluya
éste.
Requisitos del Software [Software Requirements Specification (SRS)]
El SRS es un documento creado por los analistas de sistema después de recoger los
requisitos.
El SRS define cómo va a interactuar el software que quiere crearse con el hardware, las
interfaces externas, la velocidad operativa, el tiempo de respuesta del sistema, la
portabilidad del software en las diversas plataformas, el mantenimiento, la velocidad
de reponerse después de estropearse, su seguridad, calidad, limitaciones, etc.
Los requisitos recibidos por parte del cliente se escriben en lenguaje natural. Es
responsabilidad del analista de sistemas documentar sobre los requisitos en lenguaje
tecnológico para que puedan ser útiles y comprendidos por el equipo de desarrollo de
software.
Entrevistas
Las entrevistas son medios de recogida de requisitos medianamente fuertes. La
organización puede conducir muchos tipos de entrevistas, tales como:
Entrevistas orales
Encuestas
La organización puede conducir encuestas o sondeos entre varios accionistas pidiendo
sus expectativas y requisitos para el sistema que se va a desarrollar.
Cuestionarios
Un documento con preguntas objetivas definidas previamente con sus opciones
respectivas. Se entrega a todos los accionistas para que las respondan, se recogen y se
recopilan.
Una limitación de esta técnica es que si una opción por algún asunto no se menciona
en el cuestionario, el asunto puede quedar desatendido.
Análisis de tareas
El equipo de ingenieros y de desarrolladores puede analizar la operación por la cual se
requiere el nuevo sistema. Si el cliente ya tiene algún software para realizar ciertas
operaciones, se estudia y los requisitos del sistema propuesto se recogen.
Análisis de dominio
Cada software pertenece a unas categorías de dominio. Los expertos en dominio
pueden ser de gran ayuda para analizar requisitos generales y específicos.
Lluvia de ideas
Un debate informal se lleva a cabo entre varios accionistas y todos los inputs o
entradas se graban para el análisis de requisitos posterior.
Modelo de prototipos
Se basa en construir interfaces de usuario sin añadir detalles de las funcionalidades
para que el usuario interprete las características del producto software que se quiere
desarrollar. Ayuda aportando una mejor idea de los requisitos. Si el consumidor final
no tiene el software instalado para que el desarrollador lo tome como referencia y el
cliente no sabe cuáles son sus propios requisitos, el desarrollador crea un prototipo
basado en los requisitos mencionados al inicio. El prototipo se muestra al cliente y el
feedback que se obtiene se registra. El feedback del cliente sirve d input o entrada
para la recogida de requisitos.
Observación
El equipo de expertos visita la organización o el lugar de trabajo de los clientes.
Observan el funcionamiento de los sistemas instalados ya existentes. También
observan el flujo de trabajo y cómo se tratan los problemas de ejecución. El equipo
traza las conclusiones que ayudan a formar los requisitos esperados para el software.
Clara
Correcta
Consistente
Coherente
Comprensible
Modificable
Verificable
Priorizada
sin ambigüedades
Trazable
Origen creíble
Requisitos de Software
Debemos intentar entender qué tipo de requisitos pueden aparecer en la fase de educción de
requisitos y qué tipo de requisitos se esperan del sistema de software.
Requisitos funcionales
Requisitos que se relacionan a aspectos funcionales del software irían en esta categoría.
Ejemplos -
Buscar una opción dada al usuario para buscar desde varias facturas.
El usuario debe ser capaz de enviar por correo electrónico cualquier informe a la
Dirección.
Los usuarios se pueden dividir en grupos y los grupos pueden tener derechos
diferentes.
Debe cumplir reglas empresariales y funciones administrativas.
El Software se desarrolla manteniendo intacta la compatibilidad en descenso.
Requisitos no funcionales
Los requisitos, los cuales no están relacionados con aspectos funcionales del software, están
en esta categoría. Son características del software implícitas o esperadas, asumidas por los
usuarios.
Seguridad
Acceso
Almacenaje
Configuración
Actuación
Coste
Interoperabilidad
Flexibilidad
Recuperación de desastre
Accesibilidad
Mientras se desarrolla el software, el ‘tiene que tener’ se debe implementar, el ‘debe tener’ es
un asunto de debate y negociación, en cambio el ‘puede tener’ y la ‘lita de deseo’ se pueden
mantener para futuras actualizaciones del software.
Fácil de manejar
rápido en responder
efectivo tratando errores operacionales
aportando interfaces de usuario simples y consistentes
La aceptación del usuario mayormente depende de cómo éste pueda usar el software. La UI es
el único camino para percibir el sistema por parte de los usuarios. Un sistema software de
buena actuación también debe estar equipado con interfaces de usuario atractivas, claras,
consistentes y receptivas. En caso contrario las funcionalidades del sistema software no
pueden usarse de una manera conveniente.
Presentación de contenido
De fácil navegación
Interfaces simples
Receptivo
Elementos consistentes de UI
Mecanismo de retroalimentación
Configuración Default
Disposición significante
Uso estratégico del color y la textura.
Aportar información de ayuda.
Aproximación centrada en el usuario.
Vista de la configuración basada en el grupo.
Auditorias de Software
Una auditoría es una actividad de revisión mediante la cual puede verificarse el cumplimiento
de un Sistema de Gestión establecido y la efectividad de dicho sistema y, en caso contrario,
evaluar la necesidad de una mejora o de una acción correctiva.
Como condición previa a la auditoria es necesario que existan unas reglas de juego conocidas
por ambas partes, auditor y auditado, que afectan a la empresa. Estas reglas consisten en
estándares o requisitos de referencia que pueden estar contenidos, por ejemplo, en
las normas ISO de sistemas de gestión.
Independiente. Presenta una situación real, sin manipulaciones, por lo que la realizan
personas que no tengan responsabilidad directa en los sectores que se desea auditar.
Auditoría de tercera parte, es la auditoría externa realizada por una entidad o persona
ajena a las actividades de la organización y sin intereses en la misma. Esta auditoría es
realizada por un organismo independiente de la organización. Generalmente, la realiza
un organismo acreditado conforme a una norma en la que se basa el sistema de
gestión y, por lo tanto, conduce a la obtención de una certificación. Tiene varias
ventajas, ya que al estar hecha por alguien independiente y con credibilidad, es
probable que los clientes decidan no efectuar otras auditorias, con el consiguiente
ahorro económico y de tiempo para ambas partes (cliente y proveedor).
En todo caso, la persona o personas que actúan como auditores han de ser independientes del
área a auditar. La independencia se asegura mediante auditores que no tengan
responsabilidad directa sobre el área auditada y preferiblemente trabajando en colaboración
con personal relevante de la misma.
https://www.youtube.com/watch?v=77t2lCX0zU8