Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии и методы программирования. Учебное пособие-1
.pdf
и руководства пользователей; руководства по сопровождению ПС;
брошюры и информационные листовки, посвященные рекламе продукции.
3. Документация управления проектом (планирование, контроль,
управление)
Документы управления проектом помогают планировать, организовывать, контролировать и выполнять работы по проекту, обеспечивают
связи внутри коллектива разработчиков и между коллективом разработчиков и лицами, управляющими разработкой. Эти
документы подробно
описывают специфические действия при начале, планировании, выполнении и завершении проектов.
СТАНДАРТЫ, РЕГЛАМЕНТИРУЮЩИЕ ДОКУМЕНТИРОВАНИЕ
ПРОГРАММНЫХ СРЕДСТВ
Стандарт – нормативный документ, который разработан на основе
консенсуса, принят признанным на соответствующем уровне органом
и устанавливает для всеобщего и многократного использования правила, общие принципы или характеристики, касающиеся различных видов деятельности или их результатов, и направлен на достижение оптимальной степени упорядочения в определенной области [95].
Стандартизация – деятельность, направленная на достижение
оп-
тимальной степени упорядочения в определенной области посредством
установления положений для всеобщего и многократного использования при решении реально существующих или потенциальных задач.
Важнейшим результатом деятельности по стандартизации является повышение степени соответствия продукции, процессов и услуг их функциональному назначению [95].
Общие требования к составу и содержанию документов, поддерживающих
создание ПС, регламентируются рядом стандартов, действую-
щих в РФ.
ГОСТ Р ИСО/МЭК 15910–2002 [96] определяет минимально необходимый процесс создания документации пользователя всех видов для
программного средства, имеющего интерфейс пользователя, устанавливая, что должно быть сделано, и исполнителя.
К документации пользователя относятся печатная документация
(например, руководства пользователя и краткие справочные карты
),
111

диалоговая (оперативная) документация, справочный текст и системы
диалоговой документации
1
.
ГОСТ Р ИСО/МЭК ТО 9294–93 [97] является руководством по
управлению документированием программного обеспечения, в котором
определены функции программной документации и обозначена роль руководителей, отвечающих за создание программных продуктов. Стандарт также содержит рекомендуемые стратегии, процедуры, ресурсы
и планы, которыми должны заниматься руководители проектов в целях
эффективного создания комплектов документов
ПС.
ГОСТ Р 51904–2002 [98] распространяется на процессы разработки
и документирования программного обеспечения (ПО) встроенных систем реального времени. Регламентируются документы, которые создаются в течение всего жизненного цикла и позволяют реализовать процессы и модификацию программного средства.
ГОСТ Р ИСО 9127 [99] описывает документацию пользователя
и информацию на упаковке, которой должны
быть снабжены потреби-
тельские программные пакеты:
документация пользователя обеспечивает пользователей информацией, необходимой для установки и прогона программного средства. Обычно эту документацию представляют в виде одного или нескольких руководств, вкладываемых вместе с программным средством
внутрь упаковки.
Информация на упаковке – ее приводят на внешней упаковке
пакета с
целью предоставления потенциальным покупателям возможности принять решение о применимости данного программного средства
в соответствии с их потребностями.
ГОСТ Р ИСО/МЭК 12207–2010 [8] устанавливает общую структуру процессов жизненного цикла программных средств, на которую
можно ориентироваться в программной индустрии. В разделе, посвященном процессу менеджмента документации программных средств,
отражаются конкретные требования
к документированию артефактов2,
1
Система диалоговой документации или справочная система – программ-
ный модуль, позволяющий по запросу пользователя просматривать части справочного текста.
2
Артефакт – объект, применяемый или создаваемый в процессе разра-
ботки программного обеспечения или систем. Примеры артефактов: проекты,
112

создаваемых соответствующими процессами. В [100] более детально излагается содержание информационных блоков (документации) в процессах жизненного цикла.
ГОСТ Р 56713–2015 [100] обеспечивает требования для идентификации и планирования определенных информационных элементов
(информационные продукты), которые подлежат разработке или исправлению во время жизненного цикла систем и жизненного цикла
программного обеспечения, а также сервисных
процессов.
ГОСТ Р ИСО/МЭК ТО 12182–2002 [101] описывает схему классификации программных средств, охватывающую существенные характеристики и атрибуты, отражающие и определяющие ПС, их виды
и классы. Установленная в стандарте классификация предназначена для
определения классов конкретных ПС и связей программных задач, процессов или продуктов и их документов со стандартами
программной инженерии. В настоящем стандарте установлена схема классификации,
помогающая:
уточнить области применения используемого стандарта или ПС;
определить, выбрать стандарты и шаблоны документов, примени-
мые к конкретному проекту ПС;
определить классификационные характеристики новых стандар-
тов.
3
ЕСПД
. Стандарты ЕСПД устанавливают требования, регламентирующие разработку, сопровождение, изготовление и эксплуатацию программ, что обеспечивает возможность:
унификации программных изделий для взаимного обмена про-
граммами и применения ранее разработанных программ в новых разработках;
снижения трудоемкости и повышения эффективности разработки,
сопровождения, изготовления и эксплуатации программных изделий;
автоматизации изготовления и хранения программной документа-
ции.
требования, исходные файлы, планы, сценарии, имитации, модели, планы тестирования и двоичные исполняемые файлы.
3
Единая система программной документации (ЕСПД) – комплекс госу-
дарственных стандартов, устанавливающих взаимосвязанные правила разработки, оформления и обращения программ и программной документации.
113

Правила и положения, установленные в стандартах ЕСПД, распространяются на программы и программную документацию для вычислительных машин, комплексов и систем независимо от их назначения и
области применения.
В состав ЕСПД входят:
основополагающие и организационно-методические стандарты;
стандарты, определяющие формы и содержание программных до-
кументов, применяемых при обработке данных;
стандарты, обеспечивающие автоматизацию разработки про-
граммных документов
Замечание по использованию стандартов при проектировании
и реализации программных средств: в соответствии с [113] следова-
ние требованиям стандартов является не обязательным, Однако при возникновении конфликтов между заказчиком и разработчиком отсылка
к стандартам может послужить разрешению ситуации (в ту или иную
сторону).
Для государственных организаций
или организаций, чья деятельность ограничивается законами и надзорными органами, или подчиняется им, программные средства должны непременно разрабатываться по
всем правилам и с соблюдением всех стандартов.
114

11. ЭТИЧЕСКИЕ И ПРАВОВЫЕ АСПЕКТЫ РАЗРАБОТКИ
И ИСПОЛЬЗОВАНИЯ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
КОДЕКС ЭТИКИ И ПРОФЕССИОНАЛЬНОЙ ПРАКТИКИ
РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Этика – нормы поведения, мораль, совокупность нравственных правил для членов какого-либо общества, какой-нибудь общественной
группы, профессии [102].
Профессиональная этика представляет собой систему моральных
принципов, норм и правил поведения специалиста с учетом особенностей его профессиональной деятельности и конкретной ситуации, которые регулируют личное и профессиональное поведение.
Содержание профессиональной этики складывается
и частного. Общие принципы профессиональной этики, базирующиеся
на общечеловеческих нормах морали, предполагают:
профессиональную солидарность;
особое понимание долга и чести;
особую форму ответственности, обусловленную предметом и ро-
дом деятельности.
Частные принципы связаны с конкретными условиями, содержанием и спецификой профессии и выражаются в основном в моральных
кодексах и требованиях по отношению к специалистам.
С учетом всё возрастающего значения программного обеспечения
для общества в целом инженеры-программисты, принимающие непосредственное участие в обучении, анализе, специфицировании, проектировании, разработке, сертификации, обслуживании и тестировании
программных систем, должны взять на себя обязательство сделать
из общего
115

разработку программного обеспечения полезной и уважаемой профессией, а результаты их деятельности (программные продукты) – надежными и безопасными. В соответствии с этим обязательством разработчики программного обеспечения должны придерживаться следующего
кодекса этики и профессиональной практики [103].
Кодекс этики и профессиональной практики разработки программного обеспечения, рекомендованный и одобренный ACM
1
и IEEE-CS2
в качестве стандарта обучения и работы в области программной инженерии, содержит восемь принципов, связанных с поведением и решениями профессиональных инженеров-программистов, включая преподавателей, менеджеров, руководителей и разработчиков программного
обеспечения, а также стажеров и студентов, обучающихся по этим
направлениям. Принципы определяют этически ответственные отношения, в которых участвуют
отдельные лица, группы и организации, и основные обязательства в рамках этих отношений. Кодекс предписывает
эти принципы как обязательства любому, кто стремится стать инженером-программистом.
Поскольку в этом кодексе выражается консенсус профессионалов по
этическим вопросам, он выступает в качестве средства для обучения как
известных, так и начинающих специалистов об этических
обязательствах всех инженеров-программистов. Этика инженера должна быть необходимой частью профессиональной подготовки [104, 105].
ПРИНЦИПЫ КОДЕКСА ЭТИКИ И ПРОФЕССИОНАЛЬНОЙ
ПРАКТИКИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ (КРАТКО)
ОБЩЕСТВО – программные инженеры должны действовать
неукоснительно в интересах общества.
КЛИЕНТ И РАБОТОДАТЕЛЬ – программные инженеры должны
действовать в соответствии с интересами клиента и работодателя, если
они не противоречат интересам общества.
ПРОДУКТ – программные инженеры должны обеспечивать соответствие качества своих продуктов и их модификаций наивысшим возможным профессиональным стандартам.
1
Association for Computing Machiner – Ассоциация по вычислительной технике.
2
Institute of Electrical and Electronics Engineers Computer Society – Компью-
терное общество IEEE.
116

ОЦЕНКИ – программные инженеры должны поддерживать целостность и независимость своих профессиональных оценок.
МЕНЕДЖМЕНТ – программные инженеры-менеджеры и ведущие
сотрудники должны придерживаться этических подходов к управлению
разработкой и поддержкой программного обеспечения и продвигать эти
подходы.
ПРОФЕССИЯ – программные инженеры должны поднимать престиж и репутацию своей профессии в интересах общества.
КОЛЛЕГИ – программные инженеры
должны быть справедливы по
отношению к своим коллегам, помогать им и поддерживать.
ЛИЧНАЯ ОТВЕТСТВЕННОСТЬ – программные инженеры должны
непрерывно учиться навыкам своей профессии и способствовать продвижению этического подхода к своей деятельности.
АВТОРСКОЕ И ПАТЕНТНОЕ ПРАВО
В условиях рыночной экономики программное обеспечение становится товаром, на который могут накладываться ограничения и запрещения: авторское, патентное и лицензионное право.
Авторское право
В настоящий момент нормативным актом, регламентирующим авторское право в области программного обеспечения в России, является
Гражданский кодекс РФ [106].
Интеллектуальные права – права на охраняемые результаты интеллектуальной
деятельности и приравненные к ним средства индиви-
дуализации (объекты интеллектуальной собственности).
Любой результат умственного творческого труда – это интеллектуальная собственность.
Результатами интеллектуальной деятельности и приравненными
к ним средствами индивидуализации, которым предоставляется правовая охрана (интеллектуальной собственностью), являются (в том числе):
произведения науки, литературы и искусства;
программы для электронных
вычислительных машин (программы
для ЭВМ);
базы данных.
Интеллектуальные права на произведения науки, литературы и искусства являются авторскими правами.
117

Объект авторского права – произведения науки, литературы и искусства, являющиеся результатом творческой деятельности, независимо
от назначения и достоинства произведения, способа его выражения, существующие в какой-либо объективной форме.
Все виды программ для ЭВМ (в том числе на операционные системы
и программные комплексы), которые могут быть выражены на любом
языке и
в любой форме, включая исходный текст и объектный код, являются объектами авторских прав, и права на них охраняются так же,
как авторские права на произведения литературы.
Программой для ЭВМ является представленная в объективной
форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств для получения
определенного результата, включая подготовительные материалы, созданные в ходе разработки программы для ЭВМ, и порождаемые ею
аудиовизуальные отображения:
Исходный код – листинг ПО, выполненный на любом языке программирования. Чаще всего пользователям не предоставляется доступ к
исходному коду, он существует в цифровой форме. Правообладатель
может сохранять его в режиме коммерческой тайны.
Объектный
код, полученный из исходного при помощи компиля-
тора (ассемблера). Эта форма выражения программы – наиболее распространенная для введения ПО в гражданский оборот. Именно объектный
код чаще всего является предметом незаконного копирования.
Подготовительные материалы, к которым относятся описание ал-
горитма работы программы, техническое задание, общая структура
(схема построения) ПО и другая
документация, необходимая для разра-
ботки. Создание этих материалов также носит творческий характер. Эти
материалы обладают не меньшей ценностью, чем исходный и объектный код, поэтому их можно и нужно защищать авторским правом.
Аудиовизуальные отображения, порождаемые программой для
ЭВМ. Они возникают в результате обработки объектного кода. В первую
очередь к таким
отображениям относят пользовательский интерфейс –
элементы, позволяющие пользователю устанавливать и удалять ПО, обрабатывать данные, управлять программой.
Не являются объектами авторского права:
1) языки программирования, так как они является только инстру-
ментом для создания творческого результата – программного кода;
118

2) идеи, концепции, математические методы, поскольку они не
имеют конкретного творческого выражения.
3) решение технических задач, так как они охраняются патентным
правом.
В международной практике к программному обеспечению применяются нормы авторского права, изложенные в Бернской конвенции об
охране литературных и художественных произведений [107].
Этот документ исходит из того, что:
1) не все
3
сти
, но их разработка носит творческий характер. Поэтому они требуют
программы удовлетворяют требованиям патентоспособно-
юридической защиты;
2) выдача патента на программу означает, что другим программистам будет запрещено создавать аналогичные по функциональности решения, оформленные в виде кода на другом языке. Это приведет к формированию избыточной монополии и будет служить препятствием для
здоровой конкуренции на
рынке IT-технологий.
Так как для передачи информации сейчас нет географических границ благодаря сети Интернет и сервисам электронной почты, то для защиты программного обеспечения лучше всего использовать универсальные международные соглашения, каким и является Бернская конвенция. Она охраняет права автора-разработчика ПО на территории
всех стран. Патентное же
право в разных государствах имеет отличия.
Патентное право
Совокупность норм, определяющих и регулирующих неимущественные и имущественные отношения, возникающие в связи с созданием и использованием объектов промышленной собственности, регламентируется патентным правом. Патент – высшая форма защиты интеллектуальной собственности, однако программное обеспечение не
объект патентного права [п. 5 ст. 1350 ГК
РФ], но по желанию правообладателя программа для ЭВМ может быть зарегистрирована в Роспатенте [108]. Такая регистрация не имеет правоустанавливающего характера и не обязательна, представляя собой своего рода депонирование,
осуществляемое государственным органом.
3
Патентоспособность – свойство результата интеллектуальной деятель-
ности, отражающее его потенциальное соответствие условиям предоставления
патентной охраны.
119

Практика лицензирования
Термин лицензия в российском законодательстве используется
в двух значениях:
1. Разрешение компетентного государственного органа на осуществление определенного вида деятельности (из числа видов деятельности,
подлежащих обязательному лицензированию); подтверждается выдачей лицензии – специального разрешения на право осуществления юридическим лицом или индивидуальным предпринимателем конкретного
вида деятельности (выполнения работ, оказания услуг,
составляющих
лицензируемый вид деятельности), которое подтверждается записью
в реестре лицензий.
2. Разрешение обладателю исключительных прав на объект интеллектуальной собственности (художественное произведение, программа
для ЭВМ, изобретение, товарный знак) использовать этот объект определенным образом.
Лицензия, как разрешение компетентного государственного органа
на осуществление определенного вида деятельности, выдается на основании Федерального закона «
О лицензировании отдельных видов дея-
тельности» [109].
Использование лицензий-разрешений на использование объектов
интеллектуальной собственности регулируется законодательством об
интеллектуальной собственности, в частности ГК РФ, часть 4, а такой
объект интеллектуальной собственности, как программы ЭВМ и базы
данных, подпадает под правовое регулирование ГК часть 4, ст. 1261–
1262, ст. 1296–1297 [106].
Лицензия на программное обеспечение – это правовой инструмент, определяющий использование и распространение программного
обеспечения, защищенного авторским правом. Обычно лицензия на
программное обеспечение разрешает получателю использовать одну
или несколько копий программы, причем без лицензии такое использование рассматривается в рамках закона как нарушение авторских прав
издателя. По сути, лицензия – договор (соглашение
4
), в котором опре-
деляются правила пользования программным обеспечением, права
4
Пользовательское соглашение (End-User License Agreement – лицензи-
онное соглашение с конечным пользователем» – EULA) – договор между владельцем компьютерной программы и пользователем ее копии.
120
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
