Функция программного обеспечения
В программном обеспечении особенность — это идентифицируемая характеристика компьютерной программы . [1]
Контекст
[ редактировать ]Термин «возможность» означает для программного обеспечения то же самое, что и для любого типа системы. Например, HMS Dreadnought британского Королевского флота (1906 г.) считался важной вехой в военно-морских технологиях из-за его передовых функций, которых не было в линкорах до дредноута . [2]
Функция также применима к компьютерному оборудованию . На заре истории компьютеров такие устройства, как Digital Equipment Corporation компании мини-компьютер PDP-7 (созданный в 1964 году), отличались множеством функций, например, это была первая версия серии мини-компьютеров PDP, в которой использовалась проволочная намотка . а также первым, кто использовал запатентованный модуль DEC Flip-Chip , изобретенный в том же году. [3] [4]
Функция также применима к таким понятиям, как язык программирования. Язык программирования Python хорошо известен своей особенностью использования пробелов (пробелов и табуляции) вместо фигурных скобок для обозначения различных блоков кода. [5]
Другой похожий объектно-ориентированный язык программирования высокого уровня, Ruby , примечателен тем, что использует символы «@» и «$» для выделения различных областей видимости переменных, что, по утверждению разработчиков, улучшает читаемость кода. Его разработчики также утверждают, что одной из его важных особенностей является высокая гибкость. [6]
Институт инженеров по электротехнике и электронике (IEEE) определяет функцию в (устаревшем) стандарте документации по тестированию программного обеспечения IEEE 829 как «отличительную характеристику программного элемента (например, производительность, портативность или функциональность)». [7]
Хотя функция обычно используется для обозначения положительного аспекта программной системы, ошибка в программном обеспечении также является функцией, но с отрицательным значением.
Примеры
[ редактировать ]Эмулятор терминала xterm имеет множество примечательных особенностей, включая совместимость с системой X Window , возможность эмуляции VT220 и VT320. [8] терминал с цветом ANSI, а также возможность вводить escape-последовательности с помощью компьютерной мыши или другого подобного устройства, а также возможность запуска в нескольких различных Unix-подобных операционных системах (например , Linux , AIX , BSD и HP-UX ). [9]
Многофункциональный и многофункциональный
[ редактировать ]Функциональность описывает программную систему как имеющую множество опций и возможностей.
Одним из механизмов представления пользователю многофункционального программного обеспечения является концепция постепенного раскрытия — метод, при котором функции вводятся постепенно по мере необходимости, чтобы уменьшить потенциальную путаницу, вызванную одновременным отображением множества функций. [10]
Иногда многофункциональность считается отрицательным признаком. Термины «ползучесть функций» , «раздувание программного обеспечения » и «функциональность» относятся к программному обеспечению, которое чрезмерно многофункционально. [11] Этот тип чрезмерного включения функций в некоторых случаях является результатом разработки комитета . [12]
Чтобы противодействовать тенденции разработчиков программного обеспечения добавлять дополнительные, ненужные функции, философия Unix была разработана в 1970-х годах сотрудниками Bell Labs, работавшими над операционной системой Unix, такими как Кен Томпсон и Деннис Ритчи . Философию можно резюмировать следующим образом: программы обычно должны выполнять только одну основную задачу и что «маленькое — красиво». [13] [14]
См. также
[ редактировать ]- Функционально-ориентированное программирование
- Разработка семейства продуктов
- Разработка программного обеспечения
- Тестирование программного обеспечения
- Управление жизненным циклом приложений
- Ползучесть функций
- Ползучесть масштаба
- сверхинжиниринг
Ссылки
[ редактировать ]- ^ Апель, Свен; Кестнер, Кристиан (август 2009 г.). «Обзор функционально-ориентированной разработки программного обеспечения» . Журнал объектных технологий . 8 (5): 49–84. дои : 10.5381/jot.2009.8.5.c5 . S2CID 417250 .
- ^ «Как дредноут спровоцировал первую гонку вооружений в ХХ веке» .
- ^ «ПДП-7» . reference.com Компьютерный словарь . Архивировано из оригинала 16 июня 2013 года.
- ^ Торе Синдинг Беккедал (2009). «Корпорация цифрового оборудования PDP-7» . soemtron.org .
- ^ «PEP 8 – Руководство по стилю для кода Python» .
- ^ «О Рубине» .
- ^ Стандарт IEEE. 829-1998
- ^ «XTERM — Журнал изменений — Патч № 24 — 11 августа 1996 г. — XFree86 3.1.2Ee» . Архивировано из оригинала 22 декабря 2001 г.
- ^ Томас Э. Дики. «XTerm – Часто задаваемые вопросы (FAQ), Кто написал XTerm?» . Архивировано из оригинала 24 июня 2018 г. Проверено 4 июня 2018 г.
- ^ Проектирование систем, ориентированных на пользователя: новые взгляды на взаимодействие человека и компьютера . Норман, Дональд А., Дрейпер, Стивен В. Хиллсдейл, Нью-Джерси: L. Erlbaum Associates. 1986. ISBN 0-89859-781-1 . OCLC 12665902 .
{{cite book}}
: CS1 maint: другие ( ссылка ) - ^ «Феатурит (или ползучий фиатуризм)» .
- ^ Кристаллис, Илиас; Локателли, Джорджио (01 сентября 2022 г.). «Нормализация правонарушений «белых воротничков» в фирмах, оказывающих профессиональные услуги» . Журнал менеджмента в машиностроении . 38 (5): 04022049. doi : 10.1061/(ASCE)ME.1943-5479.0001079 . hdl : 11311/1228318 . ISSN 1943-5479 . S2CID 250326876 .
- ^ Дуг Макилрой ; Э. Н. Пинсон; Б. А. Таг (8 июля 1978 г.). «Система разделения времени Unix: Предисловие» . Технический журнал Bell System . Лаборатории Белла: 1902–1903 гг.
- ^ «Философия Unix» .