stringtranslate.com

característica del software

Función de software "Distress Selection" en el programa de edición de fotografías GIMP
Menú que muestra una lista de funciones disponibles en el programa emulador de terminal del sistema X Window xterm

En software , el término característica tiene varias definiciones, que a menudo son distintas de las definiciones más generales del término. [1] El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) define el término en IEEE 829 (un estándar ahora desaparecido para la documentación de pruebas de software) como una "característica distintiva de un elemento de software (por ejemplo, rendimiento, portabilidad o funcionalidad)". . [2]

Fondo

Incluso antes de la llegada de las computadoras electrónicas a mediados y finales del siglo XX, a menudo se consideraba importante un dispositivo que tuviera características distintivas. Por ejemplo, el HMS Dreadnought (1906) de la Royal Navy 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 al acorazado . [3]

En la historia temprana de las computadoras, dispositivos como la minicomputadora PDP-7 de Digital Equipment Corporation (creada en 1964) se destacaban por tener una gran cantidad de características, como ser la primera versión de la serie de minicomputadoras PDP que usaba envoltura de alambre , como además de ser el primero en utilizar el módulo patentado DEC Flip-Chip que se inventó ese mismo año. [4] [5]

Ejemplos

El lenguaje de programación Python es conocido por su característica de utilizar caracteres de espacios en blanco , como espacios y tabulaciones, en lugar de llaves para indicar diferentes bloques de código. [6] Otro lenguaje de programación similar de alto nivel orientado a objetos, Ruby , se destaca por usar los símbolos "@" y "$" para resaltar diferentes alcances variables, lo que, según los desarrolladores, mejora la legibilidad del código. Sus desarrolladores también afirman que una de sus características importantes es su gran flexibilidad. [7]

En el contexto del software de usuario final, el emulador de terminal xterm también tiene una cantidad significativa de características notables, incluida la compatibilidad con el sistema X Window , la capacidad de emular un terminal VT220 y VT320 [8] con color ANSI y la capacidad de secuencias de escape de entrada usando un mouse de computadora u otro dispositivo similar, y la capacidad de ejecutarse en múltiples sistemas operativos similares a Unix (por ejemplo, Linux , AIX , BSD y HP-UX ). [9]

Software rico en funciones y funciones progresivas

Se dice que un software es "rico en funciones" cuando tiene muchas opciones y capacidades funcionales disponibles para el usuario. Un mecanismo popular para presentar software rico en 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 van necesitando, para reducir la posible confusión causada por mostrar una gran cantidad de funciones a la vez. [10]

En algunos casos, un software con muchas funciones puede considerarse un atributo negativo. Los términos feature creep , software bloat y featuritis (una referencia al uso común del sufijo -itis para referirse a una enfermedad inflamatoria) se pueden usar para referirse a software que tiene demasiadas funciones. [11] Este tipo de inclusión excesiva de características es en algunos casos el resultado del diseño del comité . [12]

Para contrarrestar la tendencia de los desarrolladores de software a agregar funciones adicionales e 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 . La filosofía Unix se puede resumir en afirmar que los programas de software generalmente sólo deben completar una tarea principal y que "lo pequeño es hermoso". [13] [14]

Ver también

Referencias

  1. ^ Apel, Sven; Kästner, Christian (agosto de 2009). "Una descripción general del desarrollo de software orientado a funciones". La revista de tecnología de objetos . 8 (5): 49-84. doi :10.5381/jot.2009.8.5.c5. S2CID  417250.
  2. ^ Estándar IEEE. 829-1998
  3. ^ "Cómo el Dreadnought desató la primera carrera armamentista del siglo XX".
  4. ^ "PDP-7". reference.com Diccionario de informática . Archivado desde el 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 Rubí".
  8. ^ "XTERM - Registro de cambios - Parche n.º 24 - 11/8/1996 - XFree86 3.1.2Ee". Archivado desde el original el 22 de diciembre de 2001.
  9. ^ Thomas E. Dickey. "XTerm - Preguntas frecuentes (FAQ), ¿quién escribió XTerm?". Archivado desde el original el 24 de junio de 2018 . Consultado el 4 de junio de 2018 .
  10. ^ Diseño de sistemas centrado en el usuario: nuevas perspectivas sobre la interacción persona-computadora. Norman, Donald A., Draper, Stephen W. Hillsdale, Nueva Jersey: L. Erlbaum Associates. 1986.ISBN _ 0-89859-781-1. OCLC  12665902.{{cite book}}: Mantenimiento CS1: otros ( enlace )
  11. ^ "Características (o característicaismo rastrero)".
  12. ^ Krystallis, Ilias; Locatelli, Giorgio (1 de septiembre de 2022). "Normalización de las irregularidades de cuello blanco en las empresas de servicios profesionales". Revista de Gestión en Ingeniería . 38 (5): 04022049. doi :10.1061/(ASCE)ME.1943-5479.0001079. hdl : 11311/1228318 . ISSN  1943-5479. S2CID  250326876.
  13. ^ Doug McIlroy ; ES Pinson; BA Tague (8 de julio de 1978). "Sistema de tiempo compartido Unix: Prólogo". La revista técnica de Bell System . Laboratorios Bell: 1902-1903.
  14. ^ "La filosofía Unix".

enlaces externos