Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологии и методы программирования. Учебное пособие-1

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
и руководства пользователей; руководства по сопровождению ПС; брошюры и информационные листовки, посвященные рекламе про­дукции.
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]