Requerimientos para crear un nuevo Softtware

      Elaborado por: Zayra Rojas

          Sabemos que las nuevas tecnologías son administradas por programas, puede ser un software especializado o de uso común, cualquiera sea el caso, este software nuevo debe cumplir con una administración en la cual se va a planear como desarrollarlo. Ya que hablamos de una actividad que se hace en diferentes países hay estándares y metodologías para su desarrollo lo cual hace que sean programas flexibles, y hablando de su creación que ésta sea entendible por todo el equipo de trabajo sabiendo cuáles son los procedimientos a seguir. 
        El software nuevo se crea dentro de un Ciclo de Vida el cual comprende: 
  • Análisis de requerimientos 
  • Diseño - Desarrollo o construcción 
  • Pruebas 
  • Puesta en marcha 
  • Mantenimiento 
           Nuestro interés se centrara en la primer fase - Análisis de requerimientos - que son la base fundamental de la creación de software, ya que entre mejor estén definidos y comprendidos, se entregara un Sistema de calidad, eficiente, con tiempos de entrega óptimos y costos adecuados. Hay una clasificación para los requerimientos que hace que se puedan identificar de forma correcta y así tener una mejor administración de ellos, ya que éstos acompañan todo el proceso de la creación del software.

 Clasificación de los requerimientos 

         Hay dos clasificaciones requerimientos:
Funcionales:   ¿Qué va a hacer el software?
  • Requerimientos funciones del sistema o requerimientos de datos, que refiere lo que va a hacer el sistema, la información que se va a administrar y almacenar y cómo lo va a hacer. 
  • Requerimiento de Interfaz, determina como el usuario va interactuar con el sistema, los medios de entrada y salida de datos. 
  • Requerimientos de navegación, cómo será la forma de desplazarse por el sistema como ejemplo los menús. 
  • Requerimiento de personalización, es la clasificación de los niveles jerárquicos de los usuarios, cuales serán las restricciones, a que información tendrán acceso.
  • Requerimientos internos, por ejemplo los reportes diarios de cómo está funcionando el sistema.

No funcionales:    ¿Cómo va a funcionar el Software?
  • Requerimiento de interfaces externas, el funcionamiento del hardware como la interoperabilidad con los usuarios y seguridad del sistema
  • Requerimiento de desempeño, refiere a la capacidad de rendimiento como es el tiempo de respuesta, disponibilidad, o el tiempo de recuperación si hay alguna falla.
  • Requerimiento de usabilidad, cuál será la curva de aprendizaje para el usuario.
  • Requerimiento de eficiencia, cuántos recursos consumirá el sistema como la memoria RAM o recursos de red.
  • Requerimiento de capacidad de mantenimiento, que sea capaz el sistema de hacerle actualizaciones o cambios sin desestabilizar todo el sistema.
  • Requerimiento compatibilidad, que sea amigable con diferentes plataformas siendo fácil de instalar y que no haya cambios en su estructura.
  • Requerimiento de portabilidad que sea capaz de transferirse de un entorno a otro.
  • Requerimiento de productividad, que lo recursos que usa sean eficientes para que el sistema conviva  con otras aplicaciones sin provocar contratiempos al usuario.
  • Requerimiento de Seguridad, cumplimiento de las medidas de seguridad físicas y el resguardo de información.
  • Requerimiento satisfacción, cumplir con lo que es usuario requiere para realizar su actividad.

Requerimientos no funcionales, Sommerville (2005, pág.126)
    
    Para que el software tenga éxito se deben administrar de manera adecuada los requerimientos. por lo cual se definen los siguientes objetivos que dirigen la recolección de los requerimientos:
Creación Propia del Mtro. Montesano (2017), apuntes Informática II, pág. 29


Comprendiendo los anteriores objetivos podemos enumerar las actividades para el control adecuado de los requerimientos:

  1. Definición del requerimiento
  2. Clasificación del requerimiento
  3. Asignación del requerimiento
  4. Seguimiento del requerimiento
  5. Control del requerimiento

        Éstas actividades documentan a cada requerimiento ya que su información es vital durante todo el ciclo de vida, permitiendo un buen seguimiento, control, monitoreo en el proyecto para asegurar la calidad del producto.

        Los requerimientos tienen atributos para poder ser identificados y por lo tanto ser bien administrados y documentados. El Mtro. Montesano (2017) los enuncia
  • Disponibilidad. Tiempo en el que el sistema se encuentra trabajando.
  • Integridad conceptual. diseño de los componentes y módulos, la definición y uso de variables.
  • Flexibilidad. adaptación a cambios de ambiente, política y reglas de negocio.
  • Interoperabilidad. Interacción con componentes de otros sistemas para intercambiar información.
  • Capacidad de mantenimiento. Capacidad para permitir cambios en actualizaciones o cambiar funciones.
  • Capacidad de administración. Monitoreo para el mejoramiento del rendimiento y detección de errores.
  • Rendimiento. La capacidad de respuesta.
  • Confiabilidad. Que el sistema haga la función para cual fue creado.
  • Escalabilidad. Permite al sistema nuevas funciones o aumento en la  carga de trabajo.
  • Seguridad. Protección para no perder información y garantizar su funcionamiento.
  • Riesgo. Cuáles son las vulnerabilidades.
  • Prioridad. La importancia de cada requerimiento.
pág. 36 - 37

         Muy bien ya sabemos que es un requerimiento, su clasificación, cómo se administran y los atributos que deben tener, quizá la pregunta que surge es ¿Y ahora como los obtengo?  para ésta actividad hay métodos y técnicas que al momento sólo se enumeran para tener un panorama de cómo podemos recolectar dichos requerimientos.
  1. Entrevistas
  2. Cuestionarios
  3. Método Delphi
  4. Desarrollo conjunto de aplicaciones
  5. Diagrama cauda - efecto de Ishikawa
  6. Observación
  7. Revisión de documentos de la organización
        Hablar de los requerimientos es un tema extenso, como se ha comentado líneas arriba es la base para la creación del nuevo software, por lo cual se requiere un conocimiento adecuado y dominio sobre el tema para poder crearlo con éxito. 

       Fuentes de información: 
El Mtro. Montesano Brand Rene (2017). Informática II (Administración de requerimientos), apunte electrónico  del SUAyED recuperado de  https://drive.google.com/file/d/1pNp9SdUzTSMinIrkRIMnqdKVWDG2M5t4/view?usp=drive_link el 26 de septiembre del 2024. pág. 22 - 37. 
FCA (s/f). Apunte unidad 2, Ingeniería de Software recuperado de   https://drive.google.com/file/d/1O0WpUqguMpqH3TDVgcI7-uWHBcSxE0xe/view?usp=drive_link el 26 de septiembre del 2024.
Dirección General de Cómputo y de Tecnologías de Información y Comunicación (2022). Prácticas para el desarrollo de software, página web recuperada de https://www.red-tic.unam.mx/desarrollo-de-software el 26 de septiembre del 2024.

Comentarios

Entradas populares de este blog