Стандарт программного обеспечения — это стандарт , протокол или другой общий формат документа, файла или передачи данных, принятый и используемый одним или несколькими разработчиками программного обеспечения при работе над одной или несколькими компьютерными программами. Стандарты программного обеспечения обеспечивают взаимодействие между различными программами, созданными разными разработчиками.
Стандарты программного обеспечения состоят из определенных терминов, концепций, форматов данных, стилей документов и методов, согласованных создателями программного обеспечения, чтобы их программное обеспечение могло понимать файлы и данные, созданные другой компьютерной программой. Чтобы считаться стандартом, определенный протокол должен быть принят и включен группой разработчиков, которые вносят вклад в определение и поддержание стандарта.
Некоторые разработчики предпочитают использовать стандарты для разработки программного обеспечения из-за эффективности, которую они обеспечивают при разработке кода [1] , а также более широкого принятия и использования пользователями полученного приложения. [2]
Протоколы HTML , TCP/IP , SMTP , POP и FTP являются примерами стандартов программного обеспечения, которые разработчики приложений должны понимать и соблюдать, если их программное обеспечение ожидает взаимодействия с этими стандартами. Например, для того, чтобы электронное письмо, отправленное с помощью Microsoft Outlook, было прочитано кем-то, использующим Yahoo! Mail , электронное письмо должно быть отправлено с использованием SMTP , чтобы программное обеспечение получателя могло понять, правильно проанализировать и отобразить электронное письмо. Без такого стандартизированного протокола два различных программных приложения не смогли бы точно обмениваться и отображать информацию, передаваемую друг другу.
Некоторые другие широко используемые форматы данных, хотя и понятны и используются различными компьютерными программами, не считаются стандартом программного обеспечения. Форматы файлов Microsoft Office , такие как .doc и .xls, обычно преобразуются другими компьютерными программами для использования, но по-прежнему принадлежат и контролируются Microsoft , в отличие от текстовых файлов ( TXT или RTF . [3] )
Представители организаций по стандартизации , таких как W3C [4] и ISOC [5], сотрудничают в вопросах создания единого стандарта программного обеспечения для обеспечения бесперебойной связи между программными приложениями. Эти организации состоят из групп крупных компаний-разработчиков программного обеспечения, таких как Microsoft и Apple Inc.
Сложность стандарта варьируется в зависимости от конкретной проблемы, которую он призван решить, но он должен оставаться простым, поддерживаемым и понятным. Документ стандарта должен всесторонне описывать различные условия, типы и элементы, чтобы обеспечить практичность и выполнение своего предполагаемого назначения. Например, хотя и FTP (File Transfer Protocol) , и SMTP (Simple Mail Transfer Protocol) облегчают связь между компьютерами, FTP специально обрабатывает обмен файлами, в то время как SMTP фокусируется на передаче электронных писем.
Стандарт может быть закрытым стандартом или открытым стандартом . Документация для открытого стандарта открыта для общественности, и любой может создать программное обеспечение, которое реализует и использует стандарт. Документация и спецификация для закрытых стандартов не доступны для общественности, что позволяет их разработчикам продавать и лицензировать код для управления их форматом данных другим заинтересованным разработчикам программного обеспечения. Хотя этот процесс увеличивает потенциальный доход для полезного формата файла, он может ограничить принятие и способствовать принятию аналогичного открытого стандарта вместо этого. [6]