В программном обеспечении особенность – это идентифицируемая характеристика компьютерной программы . [1]
Термин «возможность» означает для программного обеспечения то же самое, что и для любого типа системы. Например, HMS Dreadnought британского Королевского флота (1906 г.) считался важной вехой в военно-морских технологиях из-за его передовых функций, которых не было в линкорах до дредноута . [2]
Функция также применима к компьютерному оборудованию . На заре истории компьютеров такие устройства, как мини-компьютер PDP-7 компании Digital Equipment Corporation (созданный в 1964 году), отличались множеством функций, например, это была первая версия серии мини-компьютеров PDP, в которой использовалась проволочная намотка . а также первым, кто использовал запатентованный модуль DEC Flip-Chip , изобретенный в том же году. [3] [4]
Функция также применима к таким понятиям, как язык программирования. Язык программирования Python хорошо известен своей особенностью использования пробелов (пробелов и табуляции) вместо фигурных скобок для обозначения различных блоков кода. [5]
Другой похожий объектно-ориентированный язык программирования высокого уровня, Ruby , примечателен тем, что использует символы «@» и «$» для выделения различных областей видимости переменных, что, по утверждению разработчиков, улучшает читаемость кода. Его разработчики также утверждают, что одной из его важных особенностей является высокая гибкость. [6]
Институт инженеров по электротехнике и электронике (IEEE) определяет функцию в (устаревшем) стандарте документации по тестированию программного обеспечения IEEE 829 как «отличительную характеристику программного элемента (например, производительность, портативность или функциональность)». [7]
Хотя функция обычно используется для обозначения положительного аспекта программной системы, ошибка в программном обеспечении также является функцией, но с отрицательным значением.
Эмулятор терминала xterm имеет множество примечательных функций, включая совместимость с X Window System , возможность эмулировать терминал VT220 и VT320 [8] с цветом ANSI, а также возможность вводить escape-последовательности с помощью компьютерной мыши или другого подобного устройства, а также возможность работы в нескольких различных Unix-подобных операционных системах (например , Linux , AIX , BSD и HP-UX ). [9]
Функциональность описывает программную систему как имеющую множество опций и возможностей.
Одним из механизмов представления пользователю многофункционального программного обеспечения является концепция постепенного раскрытия — метод, при котором функции вводятся постепенно по мере необходимости, чтобы уменьшить потенциальную путаницу, вызванную одновременным отображением множества функций. [10]
Иногда многофункциональность считается отрицательным признаком. Термины «ползучесть функций» , «раздувание программного обеспечения» и «фича» относятся к программному обеспечению, которое имеет слишком много функций. [11] Этот тип чрезмерного включения функций в некоторых случаях является результатом разработки комитета . [12]
Чтобы противодействовать тенденции разработчиков программного обеспечения добавлять дополнительные, ненужные функции, философия Unix была разработана в 1970-х годах сотрудниками Bell Labs , работавшими над операционной системой Unix , такими как Кен Томпсон и Деннис Ритчи . Философию можно резюмировать следующим образом: программы обычно должны выполнять только одну основную задачу и что «маленькое — красиво». [13] [14]
{{cite book}}
: CS1 maint: другие ( ссылка )