stringtranslate.com

Функция программного обеспечения

Функция программного обеспечения «Выбор бедствия» в программе редактирования фотографий GIMP.
Меню, показывающее список доступных функций в программе- эмуляторе терминала X Window System xterm.

В программном обеспечении термин « функция» имеет несколько определений, которые часто отличаются от более общих определений этого термина. [1] Институт инженеров по электротехнике и электронике (IEEE) определяет этот термин в IEEE 829 (ныне несуществующий стандарт документации по тестированию программного обеспечения) как «отличительную характеристику программного элемента (например, производительность, портативность или функциональность)». . [2]

Фон

Даже до появления электронных компьютеров в середине-конце 20-го века устройство, имеющее отличительные особенности, часто считалось важным. Например, HMS Dreadnought британского Королевского флота (1906 г.) считался важной вехой в военно-морских технологиях из-за его передовых функций, которых не было в линкорах до дредноута . [3]

На заре истории компьютеров такие устройства, как мини-компьютер PDP-7 компании Digital Equipment Corporation ( созданный в 1964 году), отличались множеством функций, например, это была первая версия серии мини-компьютеров PDP, в которой использовалась проволочная намотка . а также первым, кто использовал запатентованный модуль DEC Flip-Chip , изобретенный в том же году. [4] [5]

Примеры

Язык программирования Python хорошо известен своей особенностью использования пробелов , таких как пробелы и табуляции, вместо фигурных скобок для обозначения различных блоков кода. [6] Другой похожий объектно-ориентированный язык программирования высокого уровня, Ruby , примечателен тем, что использует символы «@» и «$» для выделения различных областей видимости переменных, что, по утверждению разработчиков, улучшает читаемость кода. Его разработчики также утверждают, что одной из его важных особенностей является высокая гибкость. [7]

В контексте программного обеспечения для конечного пользователя эмулятор терминала xterm также имеет значительное количество примечательных функций, включая совместимость с системой X Window , возможность эмуляции терминала VT220 и VT320 [8] с цветом ANSI, а также возможность ввод escape-последовательностей с помощью компьютерной мыши или другого подобного устройства, а также возможность запуска в нескольких различных Unix-подобных операционных системах (например , Linux , AIX , BSD и HP-UX ). [9]

Многофункциональное программное обеспечение и расползание функций

Программное обеспечение считается «многофункциональным», если оно имеет множество опций и функциональных возможностей, доступных пользователю. Одним из популярных механизмов представления пользователю многофункционального программного обеспечения является концепция постепенного раскрытия — метод, при котором функции вводятся постепенно по мере необходимости, чтобы уменьшить потенциальную путаницу, вызванную одновременным отображением множества функций. [10]

В некоторых случаях наличие многофункционального программного обеспечения можно считать отрицательным признаком. Термины «ползучесть » , «раздувание программного обеспечения » и «особенность » (отсылка к обычному использованию суффикса -itis для обозначения воспалительного заболевания) могут использоваться для обозначения программного обеспечения, которое чрезмерно богато функциями. [11] Этот тип чрезмерного включения функций в некоторых случаях является результатом разработки комитета . [12]

Чтобы противодействовать тенденции разработчиков программного обеспечения добавлять дополнительные, ненужные функции, философия Unix была разработана в 1970-х годах сотрудниками Bell Labs , работавшими над операционной системой Unix , такими как Кен Томпсон и Деннис Ритчи . Философию Unix можно резюмировать следующим образом: программы обычно должны выполнять только одну основную задачу и что «маленькое — прекрасно». [13] [14]

Смотрите также

Рекомендации

  1. ^ Апель, Свен; Кестнер, Кристиан (август 2009 г.). «Обзор функционально-ориентированной разработки программного обеспечения». Журнал объектных технологий . 8 (5): 49-84. дои : 10.5381/jot.2009.8.5.c5. S2CID  417250.
  2. ^ Стандарт IEEE. 829-1998
  3. ^ «Как Дредноут спровоцировал первую гонку вооружений в 20 веке» .
  4. ^ "ПРП-7". reference.com Компьютерный словарь . Архивировано из оригинала 16 июня 2013 года.
  5. ^ Торе Синдинг Беккедал (2009). «Корпорация цифрового оборудования PDP-7». soemtron.org .
  6. ^ «PEP 8 - Руководство по стилю для кода Python» .
  7. ^ «О Руби».
  8. ^ "XTERM - Журнал изменений - Патч № 24 - 11 августа 1996 г. - XFree86 3.1.2Ee" . Архивировано из оригинала 22 декабря 2001 г.
  9. ^ Томас Э. Дики. «XTerm - Часто задаваемые вопросы (FAQ), Кто написал XTerm?». Архивировано из оригинала 24 июня 2018 г. Проверено 4 июня 2018 г.
  10. ^ Проектирование системы, ориентированное на пользователя: новые взгляды на взаимодействие человека и компьютера. Норман, Дональд А., Дрейпер, Стивен В. Хиллсдейл, Нью-Джерси: L. Erlbaum Associates. 1986. ISBN 0-89859-781-1. ОСЛК  12665902.{{cite book}}: CS1 maint: другие ( ссылка )
  11. ^ «Феатурит (или ползучий фиатуризм)» .
  12. ^ Кристаллис, Илиас; Локателли, Джорджио (01 сентября 2022 г.). «Нормализация правонарушений белых воротничков в фирмах, оказывающих профессиональные услуги». Журнал менеджмента в машиностроении . 38 (5): 04022049. doi :10.1061/(ASCE)ME.1943-5479.0001079. hdl : 11311/1228318 . ISSN  1943-5479. S2CID  250326876.
  13. ^ Дуг Макилрой ; Э. Н. Пинсон; Б. А. Таг (8 июля 1978 г.). «Система разделения времени Unix: Предисловие». Технический журнал Bell System . Лаборатории Белла: 1902–1903 гг.
  14. ^ «Философия Unix».

Внешние ссылки