Математические и алгоритмические методы, содержащиеся в программном обеспечении, могут быть запатентованы.
По определению, предложенному Фондом за свободную информационную инфраструктуру, программный патент – это «патент на что-либо, выполняемое компьютером посредством программного обеспечения».
Защитники программных патентов считают, что они позволяют:
– защитить сложное ПО от подражателей, которым не нужно тратить время и деньги на проектные работы;
– защитить изобретателей-одиночек от крупных компаний;
– труднодоступность запатентованных технологий стимулирует создание более совершенных технологий.
Документация – печатные руководства пользователя, диалоговая (оперативная) документация и справочный текст, описывающие как пользоваться программой.
Документация состоит из отдельных документов.
Документ как элемент документации – это целевая информация, предназначенная для конкретной аудитории, размещённая на конкретном носителе в заданном формате.
Программный документ – документ, содержащий в зависимости от назначения данные, необходимые для разработки, производства, эксплуатации и сопровождения программы.
Разработка программного обеспечения(software development) – это процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения.
Как и традиционные инженерные дисциплины, разработка программного обеспечения имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее совершенных из современных машин, таких как самолёты.
Накопленный к настоящему времени опыт создания программных систем (ПС) показывает, что это сложная и трудоемкая работа, требующая высокой квалификации участвующих в ней специалистов. Однако до настоящего времени создание таких систем нередко выполняется на интуитивном уровне с применением неформализованных методов, основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества функционирования ПО. По данным Института программной инженерии (Software Engineering Institute, SEI) в последние годы до 80% всего эксплуатируемого ПО разрабатывалось вообще без использования какой-либо дисциплины проектирования, методом «code and fix» (кодирования и исправления ошибок).
Проблемы создания ПО следуют из его свойств. Еще в 1975 г. Фредерик Брукс, проанализировав свой уникальный по тем временам опыт руководства крупнейшим проектом разработки операционной системы OS/360, определил перечень неотъемлемых свойств ПО: сложность, согласованность, изменяемость и незримость.
Современные крупномасштабные проекты создания и развития ПС характеризуются следующими особенностями.
Характеристики объекта внедрения:
– структурная сложность (многоуровневая иерархическая структура организации) и территориальная распределенность;
– функциональная сложность (многоуровневая иерархия и большое количество функций, выполняемых организацией; сложные взаимосвязи между ними);
– информационная сложность (большое количество источников и потребителей информации (министерства и ведомства, местные органы власти, организации-партнеры), разнообразные формы и форматы представления информации, сложная информационная модель объекта – большое количество информационных сущностей и сложные взаимосвязи между ними), сложная технология прохождения документов;
– сложная динамика поведения, обусловленная высокой изменчивостью внешней среды (изменения в законодательных и нормативных актах, нестабильность экономики и политики) и внутренней среды (структурные реорганизации, текучесть кадров).
Технические характеристики проектов создания ПО:
– различная степень унифицированности проектных решений в рамках одного проекта;
– высокая техническая сложность, определяемая наличием совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные задачи и цели функционирования (транзакционных приложений, предъявляющих повышенные требования к надежности, безопасности и производительности, и приложений аналитической обработки (систем поддержки принятия решений), использующих нерегламентированные запросы к данным большого объема);
Читать дальше
Конец ознакомительного отрывка
Купить книгу