Articulo de referencia

Función de software

Función de software "Selección de distorsión" en el programa de edición de fotos GIMP. Menú que muestra una lista de las funciones disponibles en el programa emulador de termina...

Función de software "Selección de distorsión" en el programa de edición de fotos GIMP.
Menú que muestra una lista de las funciones disponibles en el programa emulador de terminal del sistema X Window, xterm.

Una característica de software es "un aspecto, cualidad o característica prominente o distintiva visible para el usuario de un sistema o sistemas de software", según la definición de Kang et al. [ 1 ] A nivel de implementación, "es una estructura que extiende y modifica la estructura de un software dado para satisfacer el requisito de un interesado, para implementar y encapsular una decisión de diseño y para ofrecer una opción de configuración", según la definición de Apel et al. [ 2 ]

Contexto

El término «característica» significa lo mismo para el software que para cualquier otro tipo de sistema. Por ejemplo, el HMS Dreadnought (1906) de la Marina Real Británica fue considerado un hito importante en la tecnología naval debido a sus características avanzadas que no existían en los acorazados anteriores a la construcción del dreadnought . [ 3 ]

Esta característica también se aplica al hardware de las computadoras . En los inicios de la informática, dispositivos como la minicomputadora PDP-7 de Digital Equipment Corporation (creada en 1964) se destacaron por tener una gran cantidad de características, como ser la primera versión de la serie de minicomputadoras PDP en utilizar cableado envuelto , así como ser la primera en utilizar el módulo propietario DEC Flip-Chip , inventado ese mismo año. [ 4 ] [ 5 ]

Esta característica también se aplica a conceptos como un lenguaje de programación. El lenguaje de programación Python es conocido por su característica de usar caracteres de espacio en blanco (espacios y tabulaciones) en lugar de llaves para indicar diferentes bloques de código. [ 6 ]

Ruby , otro lenguaje de programación orientado a objetos de alto nivel similar , destaca por usar los símbolos "@" y "$" para resaltar diferentes ámbitos de variables, lo que, según sus desarrolladores, mejora la legibilidad del código. Sus desarrolladores también afirman que una de sus características importantes es su gran flexibilidad. [ 7 ]

El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) define una característica en el estándar (obsoleto) para la documentación de pruebas de software IEEE 829 como una "característica distintiva de un elemento de software (por ejemplo, rendimiento, portabilidad o funcionalidad)". [ 8 ]

Si bien una característica se suele utilizar para referirse a un aspecto positivo de un sistema de software, un error de software también es una característica, pero con un valor negativo.

Ejemplos

El emulador de terminal xterm tiene muchas características notables, incluyendo compatibilidad con el Sistema X Window , la capacidad de emular un terminal VT220 y VT320 [ 9 ] con color ANSI, y la capacidad de introducir secuencias de escape usando un ratón de ordenador u otro dispositivo similar, y la capacidad de ejecutarse en varios sistemas operativos tipo Unix diferentes (por ejemplo, Linux , AIX , BSD y HP-UX ). [ 10 ]

Repleto de funciones y con funciones adicionales

El término "completo en funciones" describe un sistema de software como aquel que cuenta con muchas opciones y capacidades.

Un mecanismo para presentar software con muchas funciones al usuario es el concepto de divulgación progresiva , una técnica en la que las funciones se introducen gradualmente a medida que se vuelven necesarias, para reducir la posible confusión causada por mostrar una gran cantidad de funciones a la vez. [ 11 ]

A veces, la abundancia de funciones se considera un atributo negativo. Los términos « exceso de funciones» , «sobrecarga de software» y «exceso de funciones» se refieren a software excesivamente rico en funciones. [ 12 ] Este tipo de inclusión excesiva de funciones es, en algunos casos, resultado del diseño por comité . [ 13 ]

Para contrarrestar la tendencia de los desarrolladores de software a añadir funciones adicionales innecesarias, la filosofía Unix fue desarrollada en la década de 1970 por empleados de Bell Labs que trabajaban en el sistema operativo Unix , como Ken Thompson y Dennis Ritchie . Esta filosofía se puede resumir en: los programas de software generalmente solo deben completar una tarea principal y que "lo pequeño es hermoso". [ 14 ] [ 15 ]

Véase también

Referencias

  1. "Estudio de viabilidad del análisis de dominio orientado a características (FODA)" . insights.sei.cmu.edu . 1990-10-31 . Consultado el 2025-02-18 .
  2. Apel, Sven ; Kästner, Christian (agosto de 2009). "Una visión general del desarrollo de software orientado a características" . The Journal of Object Technology . 8 (5): 49–84 . doi : 10.5381/jot.2009.8.5.c5 . S2CID 417250 . 
  3. "Cómo el acorazado Dreadnought desencadenó la primera carrera armamentística del siglo XX" .
  4. "PDP-7" . Diccionario de informática de reference.com . Archivado del original el 16 de junio de 2013.
  5. Tore Sinding Bekkedal (2009). "Corporación de equipos digitales PDP-7" . soemtron.org .
  6. "PEP 8 – Guía de estilo para código Python" .
  7. "Acerca de Ruby" .
  8. Norma IEEE 829-1998
  9. "XTERM - Registro de cambios - Parche n.° 24 - 11/8/1996 - XFree86 3.1.2Ee" . Archivado del original el 22/12/2001.
  10. Thomas E. Dickey. "XTerm – Preguntas frecuentes (FAQ), ¿Quién escribió XTerm?" . Archivado del original el 24-06-2018 . Consultado el 04-06-2018 .
  11. Diseño de sistemas centrado en el usuario: nuevas perspectivas sobre la interacción persona-ordenador . Norman, Donald A., Draper, Stephen W. Hillsdale, NJ: L. Erlbaum Associates. 1986. ISBN 0-89859-781-1OCLC 12665902 {{cite book}}: CS1 mantenimiento: otros ( enlace )
  12. "Featuritis (o featurismo rastrero)" .
  13. Krystallis, Ilias; Locatelli, Giorgio (2022-09-01). "Normalización de la mala conducta de cuello blanco en empresas de servicios profesionales" . Journal of Management in Engineering . 38 (5): 04022049. doi : 10.1061/(ASCE)ME.1943-5479.0001079 . hdl : 11311/1228318 . ISSN 1943-5479 . S2CID 250326876 .  
  14. Doug McIlroy ; EN Pinson; BA Tague (8 de julio de 1978). "Sistema de tiempo compartido Unix: Prólogo" . The Bell System Technical Journal . Bell Laboratories: 1902–1903 .
  15. "La filosofía de Unix" .
  • Sitio web oficial de IEEE