Actividad - 4 Wiki

Los requerimientos de software son basicamente una descripción de lo que un programa debe llevar a cabo, son como pasos los cuales se deben cumplir para satisfacer las necesidades de los usuarios. Con todo esto se define la funcionalidad y el proposito de un programa o pieza de software.

## CARACTERISTICAS

Las caracteristicas necesarias de los requerimientos son:

* ***COMPLETO***: Un requerimiento se declara completo cuando su información es suficiente para su comprensión.

* ***CONSISTENTE***: Se declara consistente cuando un requerimiento no se contradice con otro.
* ***CORRECTO***: Este requerimiento solo contiene una idea.
* ***FACTIBLE***: La factibilidad deberia estar dentro del presupuesto, calendario y otras restricciones, si este requerimiento no llega a ser factible tendriamos que replantear el requerimiento.
* ***PRIORIZADO***: Priorizar un requerimiento nos ayuda a saber el grado de necesidad del mismo.
* ***VERIFICABLE***: Los requerimientos se pueden verificar a traves de analisis, pruebas o demostraciones.
* ***CLARO***: Cuando un requerimiento es conciso y facil de leer o entender se declara claro.

### **REQUERIMIENTOS FUNCIONALES**

Los requerimientos funcionales describen acciones específicas que un Ingeniero de software debe saber desarrollar. Este requerimiento se divide en reglas de negocio y casos de uso, las reglas definen lo que un sistema debe hacer y los casos son descripciones mas detalladas de como debe funcionar un sistema. Algunos de los requerimientos que más resaltan son:

* Las características y funcionalidad deseadas del producto.
* Plataformas para desarrollar aplicaciones, por ejemplo, iOS, Android y web.
* Especificaciones de diseño en términos de tema, colores y fuentes.
* Funcionalidad de back-end: integración APl y bases de datos.
* Plazos de finalización.

### **REQUERIMIENTOS NO FUNCIONALES**

Los requerimientos no funcionales son caracteristicas generales y restricciones del sistema que esta desarrollando. Uno de los ejemplos mas presentados, son los referidos a atributos como la eficiencia, seguridad, dependibilidad y usabilidad del sistema. También presentamos ejemplos de requerimientos no funcionales organizacionales y externos.

### **VALIDACIÓN**

Para la validación de los requisitos, se pueden usar prototipos de interfaz de usuario, que permiten a los clientes y usuarios entender más fácilmente el sistema software propuesto que los requisitos en formato textual, especialmente si se usan para validar los casos de uso.

### **CONSIDERACIONES DE PRACTICAS**

* Desarrollar la vision general del sistema.
* Documentar los requisitos del sistema.
* Analizar los requisitos del sistema.
* Verificar la calidad de los requisitos del sistema.
* Validar los requisitos del sistema.
* Registrar problemas en los requisitos.
* Registrar la trazabilidad de los requisitos.

### **EJEMPLOS**

Algunos ejemplos de requerimientos funcionales son:

* El sistema enviará un correo electrónico cuando se registre alguna de las siguientes transacciones: pedido de venta de cliente, despacho de mercancía al cliente, emisión de factura a cliente y registro de pago de cliente.

* Se permitirá el registro de pedidos de compra con datos obligatorios incompletos, los cuales podrán completarse posteriormente modificando el pedido. Antes de poder aprobarse los datos del pedido deben estar completos.

* Al aprobar un pedido, la solicitud pasará al siguiente paso del flujo de trabajo (workflow) de aprobación configurado en el sistema.

* El sistema permitirá a los usuarios autorizados el ingresar planes y cronogramas de proyecto.

* El sistema permitirá aprobar, cambiar o actualizar planes y cronogramas de proyecto.

* El sistema permitirá el envío automatizado de cartas de entrega de órdenes directamente al almacén.

* A cada orden se le asignará un identificador único, que será utilizado para identificarla en todos los procesos subsecuentes que se realicen sobre esta.

#### **CONCLUSIONES**

Los requrimientos son la base para un buen desarrollo de una aplicación o programa, estos requerimientos funcionan como pasos o parametros que sirven para obtener programas con altos niveles de eficacia. Estos parametros los podriamos comparar con los pasos que segun la sociedad las personas deberian seguir para ser "exitosas". Es claro afirmar que comparando esto con la vida es un poco diferente ya que diaramete nos vende una vida exitosa completamente falsa.

### **REFERENCIAS BIBLIOGRAFICAS**

* IEEE (2004). Computer Society. SWEBOK Guide V3 Topics Recuperado de https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics.

* Mendívil Vázquez, C. O. y Corral, L. (2019). Revisión literaria concerniente al análisis semántico de requerimientos de un producto de software escritos en lenguaje natural mediante el método de Procesamiento de Lenguaje Natural. Memorias del Congreso Internacional de Investigación Academia Journals, 11 (2), 1820–1824. Recuperado de https://search-ebscohost-com.ibero.basesdedatosezproxy.com/login.aspx?direct=true&db=fap&AN=140758857&lang=es&site=ehost-live.
* PMOinformatica.com (2015) Requerimientos no funcionales Recuperado de: http://www.pmoinformatica.com/2015/05/requerimientos-no-funcionales-ejemplos.html
* Northware (2022) Requerimientos en el desarrollo de software y aplicaciones Recuperado de: https://www.northware.mx/blog/requerimientos-en-el-desarrollo-de-software-y-aplicaciones/
* Northware (2012) Tecnicas efectivas para la toma de requerimientos Recuperado de: https://www.northware.mx/blog/tecnicas-efectivas-para-la-toma-de-requerimientos/
* PMOinformatica (2017) Requerimientos funcionales Recuperado de: http://www.pmoinformatica.com/2017/02/requerimientos-funcionales-ejemplos.html

1. ↑ IEEE (2004). Computer Society. SWEBOK Guide V3 Topics

Recuperado de https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics