domingo, 19 de mayo de 2013

Requerimientos No Funcionales



  • ·       El sistema contará con operatividad. Tendrá la capacidad suficiente para cumplir las  funciones tales como registro, a las que fue destinado de modo aceptable
  • ·         La interfaz será llamativa. Captará la atención del usuario, con un diseño atractivo a la vista e interactivo ya que, permite una interacción, a modo de diálogo, entre el ordenador y el usuario.
  • ·         El sistema será ágil, expedito. Será pronto de obrar. El tiempo de espera entre las operaciones que se realicen, será mínimo; de tal forma que no necesitará pantallas extra para cubrirlo; las redirecciones serán directas.
  • ·         La Interfaz de la página web será fácil de usar. Los usuarios tendrán acceso a la página dependiendo si están dados de alta o no en el ayuntamiento como proveedores o administradores, pero en ambos casos las opciones serán intuitivas y fáciles de realizar.
  • ·         La información proporcionada y su flujo será seguro. La información será asegurada con diferentes combinaciones de cifrados. Gozará de la “capacidad para  proteger información y datos de manera que las personas o sistemas no autorizados no puedan leerlos o modificarlos, al tiempo que no se deniega el acceso a las personas o sistemas autorizados” (ISO 9126).
  • ·         El sistema podrá ser usado en cualquier momento. Estará disponible y libre al uso las 24 horas del día los 7 días de la semana.
  • ·         El sistema  será funcional. Tendrá la capacidad para  proporcionar funciones declaradas e  implícitas cuando se use bajo condiciones especificadas.
  • ·         Proporcionará usabilidad. “La capacidad del producto software para ser entendido, aprendido, usado y ser atractivo para el usuario, cuando se usa bajo condiciones especificadas” (ISO 9126)


Bibliografía:
http://www.austral.edu.ar/aplic/webSIA/webSIA2004.nsf/6905fd7e3ce10eca03256e0b0056c5b9/c18992b29a6c30e00325779e004ef56b/$FILE/Norma%20ISO%209126%20espa%C3%B1ol.pdf

Estimación de Tiempos

Investigación de Estimación de Tiempos de Realización de Entregables Grupal


Relación de Entregables


Repositorio CPS


Conceptos Básicos de Soporte de Software


  • ·          El mantenimiento del software es el proceso general de cambiar un sistema después de que éste ha sido entregado.
  • ·          Existen tres tipos diferentes de mantenimiento de software:

o    Mantenimiento para reparar defectos de! software. Por lo general, los errores de código son relativamente baratos de corregir; los errores de diseño son mucho más caros ya que implican reescribir varios componentes de los programas. Los errores de requerimientos son los más caros de reparar debido a que puede ser necesario un rediseño extenso del sistema.
o    Mantenimiento para adaptar el software a diferentes entornos operativos. Este tipo de mantenimiento se requiere cuando cambia algún aspecto del entorno del sistema, como por ejemplo el hardware, la plataforma del sistema operativo u otro software de soporte. El sistema de aplicaciones debe modificarse para adaptarse a estos cambios en el entorno.
o    Mantenimiento para añadir o modificar las funcionalidades del sistema. Este tipo de mantenimiento es necesario cuando los requerimientos del sistema cambian como respuesta a cambios organizacionales o del negocio. La escala de los cambios requeridos en el software es a menudo mucho mayor que en los otros tipos de mantenimiento.
  • ·          Diagrama de cascada del ciclo de vida del desarrollo de software


  • ·          Reingeniería de proceso de negocio. Cambio de un proceso de negocio para cumplir algún objetivo organizacional nuevo como la reducción de costes y la ejecución más rápida.
  • ·          La reingeniería del software se refiere a la reimplementación de los sistemas heredados para hacerlos más mantenibles.
  • ·          La reingeniería de procesos de negocios NO es una “reingeniería de software”. No es una reconstrucción de sistemas informáticos obsoletos en otros más modernos y efectivos.
  • ·          Etapas del modelo de la reingeniería de software

o    1. Traducción del código fuente. El programa es convertido desde un lenguaje de programación antiguo a una versión más moderna del mismo lenguaje o a un lenguaje diferente.
o    2. Ingeniería inversa. El programa se analiza y se extrae información a partir de él. Esto ayuda a documentar su organización y funcionalidad.
o    3. Mejora de la estructura de los programas. La estructura de control del programa se analiza y modifica para hacerla más fácil de leer y comprender.
o    4. Modularización de los programas. Se agrupan las partes relacionadas del programa y se elimina la redundancia en donde resulta adecuado. En algunos casos, esta etapa puede implicar una transformación arquitectónica en la que un sistema centralizado pensado para una única computadora se modifica para ejecutarse sobre una plataforma distribuida.
o    5. Reingeniería de datos. Los datos procesados por el programa se cambian para reflejar los cambios en él.
  • ·          El programa se analiza y se extrae información a partir de él. Esto ayuda a documentar su organización y funcionalidad. Si la reingeniería se realiza completamente con herramientas automáticas, entonces recuperar la documentación mediante ingeniería inversa puede no ser necesario.

Referencias:
Ingeniería del software, Séptima edición, IAN SOMMERVILLE
Hammer y Champy 1993, p.32