Программными продуктами что это
программный продукт
4.42 программный продукт (software product): Совокупность компьютерных программ, процедур и, возможно, связанных с ними документации и данных.
3.26 программный продукт (software product): Набор машинных программ, процедур и, возможно, связанных с ними документации и данных.
программный продукт: Самостоятельное, отчуждаемое произведение, представляющее собой публикацию текста программы или программ на языке программирования или в виде исполняемого кода,
программный продукт: Программное средство, предназначенное для поставки, передачи, продажи пользователю [ГОСТ 28806-90, пункт 3].
3 программный продукт:
Программное средство, предназначенное для поставки, передачи, продажи пользователю.
3.3.15 программный продукт (software product): Набор компьютерных программ, процедур и возможно связанной документации и данных.
Полезное
Смотреть что такое «программный продукт» в других словарях:
программный продукт — Программное обеспечение и соответствующая документация, предназначенные для поставки пользователю. Примечание В соответствии с определением, приведенным в ГОСТ Р ИСО 9126, программной продукцией является программный объект, предназначенный для… … Справочник технического переводчика
Программный продукт — по ГОСТ 7.83 2001 самостоятельное, отчуждаемое произведение представляющее собой публикацию текста программы или программ на языке программирования или в виде исполняемого кода … Издательский словарь-справочник
ПРОГРАММНЫЙ ПРОДУКТ — самостоятельное, отчуждаемое произведение, представляющее собой публикацию текста программы или программ на языке программирования или в виде исполняемого кода … Юридическая энциклопедия
Программный продукт — Запрос «Software» перенаправляется сюда. Cм. также другие значения. Программное обеспечение (произношение обеспечение не рекомендуется[1][2][3], точнее, не рекомендовалось[4]) наряду с аппаратными средствами, важнейшая составляющая информационных … Википедия
ПРОГРАММНЫЙ ПРОДУКТ — 1) согласно ГОСТ 7.83–2001 СИБИД «Электронные издания. Основные виды и выходные сведения», – самостоятельное, отчуждаемое произведение, представляющее собой публикацию текста программы или программ на языке программирования или в виде… … Делопроизводство и архивное дело в терминах и определениях
программный продукт IBM TCP/IP — Поддерживает протоколы TCP/IP для ЭВМ фирмы IBM различных семейств: IBM PC, IBM PS/2, IBM PC/RT, IBM 9370, IBM 43XX, IBM 30XX. Включает основные средства поддержки протокола передачи файлов FTP, работы пользователя с электронной почтой SMTP,… … Справочник технического переводчика
программный продукт для персональных систем — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN personal software product … Справочник технического переводчика
Шпионский программный продукт — программный продукт определенного вида, установленный и применяемый без должного оповещения пользователя, его согласия и контроля со стороны пользователя, т.е. несанкционированно установленный. Именно в этом узком смысле термин шпионский… … Википедия
Мониторинговый программный продукт — Мониторинговый программный продукт это программное обеспечение (модуль), предназначенное для наблюдения за вычислительными системами, а также позволяющее фиксировать деятельность пользователей и процессов, использование пассивных объектов, и… … Википедия
Парус (программный продукт) — У этого термина существуют и другие значения, см. Парус (значения). Парус серия программных продуктов, предназначенных для автоматизации деятельности организаций сектора государственного и муниципального управления, а также коммерческих… … Википедия
ПРОГРАММНЫЙ ПРОДУКТ
Смотреть что такое «ПРОГРАММНЫЙ ПРОДУКТ» в других словарях:
программный продукт — Программное обеспечение и соответствующая документация, предназначенные для поставки пользователю. Примечание В соответствии с определением, приведенным в ГОСТ Р ИСО 9126, программной продукцией является программный объект, предназначенный для… … Справочник технического переводчика
Программный продукт — по ГОСТ 7.83 2001 самостоятельное, отчуждаемое произведение представляющее собой публикацию текста программы или программ на языке программирования или в виде исполняемого кода … Издательский словарь-справочник
ПРОГРАММНЫЙ ПРОДУКТ — самостоятельное, отчуждаемое произведение, представляющее собой публикацию текста программы или программ на языке программирования или в виде исполняемого кода … Юридическая энциклопедия
программный продукт — 4.42 программный продукт (software product): Совокупность компьютерных программ, процедур и, возможно, связанных с ними документации и данных. Источник: Г … Словарь-справочник терминов нормативно-технической документации
Программный продукт — Запрос «Software» перенаправляется сюда. Cм. также другие значения. Программное обеспечение (произношение обеспечение не рекомендуется[1][2][3], точнее, не рекомендовалось[4]) наряду с аппаратными средствами, важнейшая составляющая информационных … Википедия
программный продукт IBM TCP/IP — Поддерживает протоколы TCP/IP для ЭВМ фирмы IBM различных семейств: IBM PC, IBM PS/2, IBM PC/RT, IBM 9370, IBM 43XX, IBM 30XX. Включает основные средства поддержки протокола передачи файлов FTP, работы пользователя с электронной почтой SMTP,… … Справочник технического переводчика
программный продукт для персональных систем — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN personal software product … Справочник технического переводчика
Шпионский программный продукт — программный продукт определенного вида, установленный и применяемый без должного оповещения пользователя, его согласия и контроля со стороны пользователя, т.е. несанкционированно установленный. Именно в этом узком смысле термин шпионский… … Википедия
Мониторинговый программный продукт — Мониторинговый программный продукт это программное обеспечение (модуль), предназначенное для наблюдения за вычислительными системами, а также позволяющее фиксировать деятельность пользователей и процессов, использование пассивных объектов, и… … Википедия
Парус (программный продукт) — У этого термина существуют и другие значения, см. Парус (значения). Парус серия программных продуктов, предназначенных для автоматизации деятельности организаций сектора государственного и муниципального управления, а также коммерческих… … Википедия
Программными продуктами что это
Под программным продуктом (ПП) мы понимаем программное обеспечение (ПО) как результат человеческой деятельности, выставленный на рынке массового покупателя в качестве товара и имеющий ненулевую потребительную стоимость.
Таким образом, если у проекта обычно один или несколько пользователей, то вопрос о продолжении разработки стоит не так остро, а конкурентная борьба идет за право вести разработку. Напротив, тиражный программный продукт предназначен сотням тысяч потенциальных пользователей, и при его появлении на рынке неизбежна конкуренция с другими продуктами того же класса. В момент принятия решения о начале разработки фирма идет на значительный финансовый риск. При этом производитель должен ясно сознавать, что выпуском одной версии дело не закончится, поскольку цикл жизни ПП предполагает его совершенствование.
Еще одно важное отличие ПП от многих других товаров состоит в том, что отдельная копия программного продукта имеет небольшую себестоимость. Это уникальное для производителя свойство позволяет вводить новые формы взаимодействия с клиентом после первой продажи ПП. Мы имеем ввиду upgrade, то есть право обновлять ПП на этот же, но новой, улучшенной версии за небольшую плату. Понятие upgrade позволяет пользователю считать разные версии ПП одним ПП, в то время как для производителя разные версии иногда выступают как разные проекты и соответственно совершенно разные продукты.
Все программы по характеру использования и категориям пользователей можно разделить на два класса:
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.
Программный продукт – комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Путь от «программ для себя» до программных продуктов достаточно долгий, он связан с изменениями технической и программной среды разработки и эксплуатации программ, с появлением и развитием самостоятельной отрасли – информационного бизнеса, для которой характерны разделение труда фирм – разработчиков программ, их дальнейшая специализация, формирование рынка программных средств и информационных услуг.
При индивидуальной разработке фирма-разработчик создает оригинальный программный продукт, учитывающий специфику обработки данных для конкретного заказчика.
При разработке для массового распространения фирма-разработчик, с одной стороны, должна обеспечить универсальность выполняемых функций обработки данных, с другой стороны, гибкость и настраиваемость программного продукта на условия конкретного применения. Отличительной особенностью программных продуктов должна быть их системность – функциональная полнота и законченность реализуемых функций обработки, которые применяются в совокупности.
Программный продукт разрабатывается на основе промышленной технологии выполнения проектных работ с применением современных инструментальных средств программирования. Специфика заключается в уникальности процесса разработки алгоритмов и программ, зависящего от характера обработки информации и используемых инструментальных средств. На создание программных продуктов затрачиваются значительные ресурсы – трудовые, материальные, финансовые; требуется высокая квалификация разработчиков.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами – распространителями программ (дистрибьюторами), реже – фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами – исправление обнаруженных ошибок, создание новых версий программ и т.п.
Сопровождение программного продукта – поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее.
Программный продукт — какой он должен быть?
В свое время, мне довелось ознакомиться с книгой создателя международной платежной системой VISA Ди Хока. Книга называлась «Философия твоей кредитки». В данной книге автором при разработке логики и системы VISA, широко применялся один очень интересный метод. Создавая какой-либо процесс или операцию, а также все структуру платежной системы, не имеющей, к слову, на тот момент аналогов, он всегда задавал себе один и тот же вопрос: «А какой должна быть в идеале процедура(операция, система международных платежей)?».
Я предлагаю аналогично, абстрагироваться от установившейся повсеместно практике, и ответить на вопрос в общих чертах, так сказать, в теории. Ответить на вопрос: «А каким в идеале должен быть программный продукт?». Какие атрибуты должны быть у завершенного программного кода, чтобы он воспринимался на рынке ПО, как что-то единое, законченное и понятное для конечного потребителя настолько, чтобы он готов был использовать его для решения для своих непосредственных задач. Итак, у Вас есть написанный, скомпилированный и рабочий программный код, назовем его условно «Программа». Что еще нужно сделать, чтобы он стал программный продуктом?
Часть первая. Информационно-текстовая часть
— Краткая презентация Программы.
Краткое письменное описание программы с указанием основного функционала на языке понятном для целевой аудитории. Соответственно расположено должно быть и в самой программе, и в приложенных файлах, а также на ресурсах глобальной сети, где данная Программа будет рекламироваться и продаваться. Иногда также может быть оформлено в виде иллюстрированной брошюры, доступной для скачивания в интернет, которую можно использовать для кратких презентаций конечным пользователям.
— Развернутая презентация Программы.
Данный пункт аналогичен предыдущему, за исключением того, что это должно быть более полное развернутое описание Программы и ее функционала с указанием всех нюансов использования Программы, также может сопровождаться слайд-шоу для проведения презентаций.
Для небольших проектов данный пункт можно исключить.
— Создание новостной ленты вендора в целом, либо программы, что позволяет создавать события, поводы для прямого обращения к пользователям, презентовать исправления, изменения и выпуск новых версий программы.
— Бесплатная версия Программы (с ограниченным функционалом, либо ограниченным сроком действия), которая позволяет предварительно ознакомиться с интерфейсом и функционалом программы, выявить у пользователя потребность в данной Программе.
Целью данных материалов является:
— Создание у потенциального пользователя целостного восприятия Программы, какие задачи она для них решит, упростит, исключит, а также понимания процесса освоения программы и ее использования;
— Упростить процесс освоения пользователем программы и соответственно уменьшит трудозатраты вендора на техническую поддержку и процесс внедрения программ у конечных пользователей.
— Спровоцировать пользователя на приобретение Программы.
Часть вторая. Постпродажное сопровождение пользователя (техподдержка, выпуск обновлений)
— Техподдержка по телефону и Skype.
Достаточно трудозатратная процедура для небольших проектов, да и для больших тоже, так как подразумевает наличие квалифицированного персонала, основной задачей которых будет не развитие проекта, а ответ на вопросы пользователей по телефону, вместо того, чтобы заниматься развитием проекта. Использование же низкоквалифицированного персонала приведет к снижению престижа компании, а их функции сведутся к дублированию запросов пользователей техническим специалистам с последующим формированием ответа, понятного для пользователя.
Скорее всего целесообразно создание небольшого колл-центра в виде нескольких специалистов, которые будут координировать запросы пользователей не только по телефону, но и через другие каналы связи, и формировать ответы в понятные для пользователя инструкции.
Для небольших проектов данный пункт является нецелесообразным.
— Техподдержка через систему онлайн сообщений.
Достаточно легко реализуемый метод техподдержки, позволяется оперативно получать информацию по актуальным проблемам и сложностям с Программой.
— Техподдежка через электронную почту
Также относится к необходимому элементу организации постпродажного сопровождения программного продукта, может быть также реализован непосредственно в самой Программе, для прямой связи с пользователем.
— Техподдержка через форум.
Очень хороший и необходимый элемент техподдержки, позволяющий пользователям самостоятельно помогать друг другу в разрешении текущих проблем с Программой.
— Выпуск обновлений и исправлений.
Выпуску обновлений и исправлений предшествует процесс сбора и анализа информации в процессе эксплуатации пользователями Программы, поступающей по каналам технической поддержки, а также полученной в результате мониторинга информации в интернет.
— Сбор отзывов и предложений.
Сбор отзывов и предложений от пользователей, подразумевает получение информации, которая не отражена в жалобах и претензиях, поступающих в техподдежку. Может реализовываться через формы онлайн опроса, формы прямой связи в интернет, а также в самой Программе, форме направления комментария о причинах удаления программы. Также в случае реализации данной процедуры следует учитывать, что анализом и переработкой данной информации должен кто-то заниматься и быть искренне в этом заинтересованным. Простая реализация форм обратной связи и механизмов соцопроса, без использования получаемой информации в дальнейшей разработке и развитии продукта, может формально помогать в маркетинге Программы, как показатель для пользователя, что его мнение что-то значит для вендора, но в долгосрочной перспективе может привести к утрате прямой связи с пользователем и, как результат, выпуску программного продукта не востребованного на рынке, а соответственно это большие финансовые потери. То же самое относится и к техподдержке.
— Обучения навыкам работы с программой.
Данный пункт актуален во многом для крупных проектов, и может также использоваться в предпродажной стратегии, как способ создания лояльного отношения Пользователя по сравнению с конкурентами. Может быть как на бесплатной основе, так и на платной в зависимости от ситуации, востребованности на рынке и качества представляемых материалов.
Целью реализации постпродажного сопровождения пользователя является:
— Получение оперативной информации от пользователей о свойствах и качествах Программы, на которые необходимо обратить внимание, либо исправить.
— Сбор информации для разработки и выпуска следующей версии Программы, либо сворачивания проекта.
— Формирование у пользователя образа серьезной, ответственной компании, с понятными процедурами обслуживания пользователей, а соответственно улучшение удобства использования Программы пользователями и получение таким образом конкурентного преимущества.
— Создание новостной ленты компании, о которой сказано выше.
— Создание лояльного отношения пользователя к Программе, как удобного инструмента решения их проблем.
Часть третья. Маркетинговые атрибуты
— Образы и личности
Во многом, хорошему восприятию Программы у пользователей может хорошо помочь самопиар вендора в лице директора, либо главного разработчика. За примерами далеко ходить не надо: Билл Гейтс и Стив Джобс. Соответственно проект имеющий лицо воспринимается пользователем значительно более полно и вызывает больше доверия, нежели проект с одним единственным адресом бесплатной электронной почты на сайте продукта с эквадорским доменом.
— Телефон и адрес дистрибьютора.
В продолжение предыдущего пункта, у вендора или, хотя бы, дистрибьютора должен быть телефон, адрес и иные реквизиты организации, либо физического лица разработчика. Наличие данной информации в разы увеличивает доверие пользователя к Программе.
— Логотип.
Логотип, либо узнаваемый образ. Для пользователя он является собирательным образом уровня обслуживания и качества программного обеспечения, когда не надо долго и муторно сравнивать программное обеспечение неизвестных изготовителей, в поисках необходимого объема услуг и сервиса. Для начинающих вендоров данный элемент не является необходимым, но его наличие будет косвенно указывать пользователю на более комплексную проработку своего маркетинга вендором, а соответственно на более серьезное и ответственное отношение к своей деятельности.
— Реклама.
Тема рекламы достойна отдельной статьи. Если не заострять внимание на формах и методах рекламы, то следует отметить, что она как минимум должна быть. И может представлять собой продвижение, как конкретного продукта или бренда, как гаранта качества услуг и Программы, так и технического сервиса и сопровождения Программы.
— Маркетинговая стратегия.
Подразумевает комплексную проработку всех вышеуказанных атрибутов программного продукта и выбор необходимых для данной Программы. Стратегия позволяет экономить время и средства за счет концентрации на основных задачах и целях, не отвлекаясь на второстепенные и ненужные действия, также координирует все атрибуты программного продукта между собой, формируя целостность восприятия пользователем Программы, когда рекламный слоган — это не просто пустой звук, но и конкретные действия и процедуры у вендора.
Возможно данный краткий обзор для многих покажется неполным, либо описывающим очевидные вещи, о которых даже не принято говорить. Но следует помнить, что очевидное для старых игроков рынка, также является и барьером, который необходимо преодолевать новичкам, тратя на это свои личные силы и средства, которых на старте всегда не хватает. Данная статья является неким скелетом маркетинга программного продукта. Что нужно сделать после прочтения? Нарастить мясо…
Программными продуктами что это
Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами).
Программы предназначены для машинной реализации задач. Термины задачи и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения.
Термин задача употребляется также в сфере программирования, особенно в режиме мультипрограммирования и мультипроцессорной обработки, как единица работы вычислительной системы, требующая выделения вычислительных ресурсов (процессорного времени, основной памяти и т.п.). В данной главе этот термин употребляется в смысле первого определения.
Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере. Технологические задачи являются основой для разработки сервисных средств программного обеспечения в виде утилит, сервисных программ, библиотек процедур и др., применяемых для обеспечения работоспособности компьютера, разработки других программ или обработки данных функциональных задач.
Функциональные задачи требуют решения при реализации функций управления в рамках информационных систем предметных областей. Например, управление деятельностью торгового предприятия, планирование выпуска продукции, управление перевозкой грузов и т.п. Функциональные задачи в совокупности образуют предметную область и полностью определяют ее специфику.
Процесс создания программ можно представить как последовательность действий, представленных на рис. 8.1.
Рис. 8.1. Схема процесса создания программ
К основным характеристикам функциональных задач, уточняемым в процессе ее формализованной постановки, относятся:
-цель или назначение задачи, ее место и связи с другими задачами;
-условия решения задачи с использованием средств вычислительной техники;
-содержание функций обработки входной информации при решении задачи;
-требоования к периодичности решения задачи;
-ограничения по срокам и точности выходной информации;
-состав и форма представления выходной информации;
-источники входной информации для решения задачи;
-пользователи задачи (кто осуществляет ее решение и пользуется результатами решение и пользуется результатами решения).
Обычно постановка задач выполняется в едином комплексе работ по созданию структуры внутри машинной базы данных, проектированию форм и маршрутов движения документов, изменению организации управления в рамках предметной области.
Алгоритм решения задачи имеет ряд обязательных свойств:
В алгоритме отражаются логика и способ формирования результатов решения с указанием необходимых расчетных формул, логических условий, соотношений для контроля достоверности выходных результатов. В алгоритме обязательно должны быть предусмотрены все ситуации, которые могут возникнуть в процессе решения комплекса задач.
Алгоритм решения комплекса задач и его программная реализация тесно взаимосвязаны. Специфика применяемых методов проектирования алгоритмов и используемых при этом инструментальных средств разработки программ может повлиять на форму представления и содержание алгоритма обработки данных.
Программирование является собирательным понятием и может рассматриваться и наука, и как искусство, на этом основан научно-практический подход к разработке программ.
Программирование базируется на комплексе научных дисциплин, направленных на исследование, разработку и применение методов и средств разработки программ (специализированного инструментария создания программ). При разработке программ используются ресурсоемкие и наукоемкие технологии, высококвалифицированный интеллектуальный труд.
В связи с ростом потребности в разнообразных программах обработки данных весьма актуален вопрос применения эффективных технологий программирования и их перевода на промышленную основу. Это означает:
— стандартизованность, тиражируемость и воспроизведение различными разработчиками методов программирования;
— внедрение прогрессивных инструментальных средств разработки программ;
— использование специальных методов и приемов организации работ по разработке программ.
Категории специалистов, занятых разработкой и эксплуатацией программ
Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняется администратором базы данных.
Основным потребителем программ служит конечный пользователь (end user), который, как правило, относится к категории пользователей-непрограммистов. Конечный пользователь не является специалистом в области программирования, т. е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой. Такая квалификационная характеристика пользователя программного обеспечения в значительной степени влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, технологии решения задач на ЭВМ.
Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками- операторами ЭВМ.
Взаимодействие специалистов различного вида, участвующих в разработке и эксплуатации программ, показано на рис. 8.3. В ряде случаев один специалист совмещает несколько видов деятельности. Администратор базы данных и системный программист осуществляют подготовку информационных и программно-технических условий для работы программ. Пунктирные линии означают участие специалиста в качестве консультанта.
Рис. 8.3. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ.
ХАРАКТЕРИСТИКА ПРОГРАММНОГО ПРОДУКТА
В настоящее время существуют и другие варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:
Рис.8.4. Классификация программ по категориям пользователей.
Ряд производителей использует OEM-программы (Original Equipment Manufacturer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.
Программные продукты могут создаваться как:
— индивидуальная разработка под заказ;
— разработка для массового распространения среди пользователей.
При индивидуальной разработке фирма-разработчик создает оригинальный программный продукт, учитывающий специфику обработки данных для конкретного заказчика.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее. Основными характеристиками программ являются:
— алгоритмическая сложность (логика алгоритмов обработки информации);
— состав и глубина проработки реализованных функций обработки;
— полнота и системность функций обработки;
— объем файлов программ;
— требования к операционной системе и техническим средствам обработки со стороны программного средства;
— объем дисковой памяти;
— размер оперативной памяти для запуска программ;
— версия операционной системы;
— наличие вычислительной сети и др.
Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:
— насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт;
— насколько легко эксплуатировать программный продукт;
— можно ли использовать программный продукт при изменении условия его применения и др.
Дерево характеристик качества программных продуктов представлено на рис. 8.5.
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений.
Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Расход вычислительных ресурсов оценивается через объем внешней памяти для размещения программ и объем оперативной памяти для запуска программ.
Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).
В условиях существования рынка программных продуктов важными характеристиками являются:
— время нахождения на рынке (длительность продаж);
— известность фирмы-разработчика и программы;
— наличие программных продуктов аналогичного назначения.
Программные продукты массового распространения продаются по ценам, которые учитывают спрос и конъюнктуру рынка (наличие и цены программ-конкурентов). Большое значение имеет проводимый фирмой маркетинг, который включает:
— формирование политики цен для завоевания рынка;
— широкую рекламную кампанию программного продукта;
— создание торговой сети для реализации программного продукта (так называемые дилерские и дистрибьютерные центры);
— обеспечение сопровождения и гарантийного обслуживания пользователей программного продукта, создание горячей линии (оперативный ответ на возникающие в процессе эксплуатации программных продуктов вопросы);
— обучение пользователей программного продукта.
Жизненный цикл программного продукта.
Программы любого вида характеризуются жизненным циклом, состоящим из отдельных этапов:
a) маркетинг рынка программных средств, спецификация требований к программному продукту;
b) проектирование структуры программного продукта;
c) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;
d) документирование программного продукта, подготовка эксплуатационной и технологической документации;
e) выход на рынок программных средств, распространение программного продукта;
f) эксплуатация программного продукта пользователями;
g) сопровождение программного продукта;
h) снятие программного продукта с продажи, отказ от сопровождения. На рис. 8.6 изображены этапы жизненного цикла и показаны их временное соответствие друг другу. Рассмотрим содержание отдельных этапов жизненного цикла.
Рис. 8.6. Этапы жизненного цикла программного продукта.
Маркетинг и спецификация программного продукта предназначены для изучения требований к создаваемому программному продукту, а именно:
— определение состава и назначения функций обработки данных программного продукта;
— установление требований пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование манипулятора мышь, типы подсказок, виды экранных документов и т.п.);
требования к комплексу технических и программных средств для эксплуатации программного продукта и т.д.
На данном этапе необходимо выполнить формализованную постановку задачи.
Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта.
Если программный продукт создается как заказное программное изделие для определенного заказчика, на данном этапе также важно правильно сформулировать и документировать задание на его разработку. Ошибочно понятое требование к программному продукту может привести к нежелательным результатам в процессе его эксплуатации.
Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ-технологии программирования.
Программирование, тестирование и отладка программ являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика (алгоритмические языки и системы программирования, инструментальные среды разработчиков и т.п.).
Для больших и сложных программных комплексов, имеющих развитую модульную структуру построения, отдельные работы данного этапа могут выполняться параллельно, обеспечивая сокращение общего времени разработки программного продукта. Важная роль принадлежит используемым при этом инструментальным средствам программирования и отладки программ, поскольку они влияют на трудоемкость выполнения работ, их стоимость, качество создаваемых программ.
Документирование программного продукта является обязательным видом работ, выполняемых, как правило, не самим разработчиком, а лицом, связанным с распространением и внедрением программного продукта. Документация должна содержать необходимые сведения по установке и обеспечению надежной работы программного продукта, поддерживать пользователей при выполнении функций обработки, определять порядок комплексирования программного продукта с другими программами. Успех распространения и эксплуатации программного продукта в значительной степени зависит от качества его документации.
На машинном уровне программного продукта, как правило, создаются:
— автоматизированная контекстно-зависимая помощь (HELP);
Требуется постоянная программа маркетинговых мероприятий и поддержки программных продуктов. Как правило, для каждого программного продукта существует своя форма кривой продаж, которая отражает спрос (рис. 8.7).
Рис. 8.7. Кривая продаж программного продукта.
Эксплуатация программного продукта идет параллельно с его сопровождением, при этом эксплуатация программ может начинаться и в случае отсутствия сопровождения или продолжаться в случае завершения сопровождения еще какое-то время. После снятия программного продукта с продажи определенное время также может выполняться его сопровождение. В процессе эксплуатации программного продукта производится устранение обнаруженных ошибок.
Снятие программного продукта с продажи и отказ от сопровождения происходят, как правило, в случае изменения технической политики фирмы-разработчика, неэффективности работы программного продукта, наличия в нем неустранимых ошибок, отсутствия спроса.
Длительность жизненного цикла для различных программных продуктов неодинакова. Для большинства современных программных продуктов длительность жизненного цикла измеряется в годах (2-3 года). Хотя достаточно часто встречаются на компьютерах и давно снятые с производства программные продукты.
Особенность разработки программного продукта заключается в том, что на начальных этапах принимаются решения, реализуемые на последующих этапах. Допущенные ошибки, например при спецификации требований к программному продукту, приводят к огромным потерям на последующих этапах разработки или эксплуатации программного продукта и даже к неуспеху всего проекта. Так, при необходимости внесения изменений в спецификацию программного продукта следует повторить в полном объеме все последующие этапы проектирования и создания программного продукта.
ЗАЩИТА ПРОГРАММНЫХ ПРОДУКТОВ.
Основные понятия о защите программных продуктов.
Программные продукты и компьютерные базы данных являются предметом интеллектуального труда специалистов высокой квалификации. Процесс проектирования и реализации программных продуктов характеризуется значительными материальными и трудовыми затратами, основан на использовании наукоемких технологий и инструментария, требует применения и соответствующего уровня дорогостоящей вычислительной техники. Это обусловливает необходимость принятия мер по защите интересов разработчика программ и создателей компьютерных баз данных от несанкционированного их использования.
Программное обеспечение является объектом защиты также и в связи со сложностью и трудоемкостью восстановления его работоспособности, значимостью программного обеспечения для работы информационной системы.
Защита программного обеспечения преследует цели:
— ограничение несанкционированного доступа к программам или их преднамеренное разрушение и хищение;
— исключение несанкционированного копирования (тиражирования) программ.
Программный продукт и базы данных должны быть защищены по нескольким направлениям от воздействия:
Самый простой и доступный способ защиты программных продуктов и базы данных-ограничение доступа. Контроль доступа к программному продукту и базе данных строится путем:
— парольной зашиты программ при их запуске;
— использования ключевой дискеты для запуска программ;
— ограничения программ или данных, функций обработки, доступных пользователям, и др.
Могут также использоваться и криптографические методы защиты информации базы данных или головных программных модулей.
Программные системы защиты от несанкционированного копирования.
Данные системы предотвращают нелицензионное использование программных продуктов и баз данных. Программа выполняется только при опознании некоторого уникального некопируемого ключевого элемента.
Таким ключевым элементом могут быть:
— дискета, на которой записан не подлежащий копированию ключ;
— определенные характеристики аппаратуры компьютера;
— специальное устройство (электронный ключ), подключаемое к компьютеру и предназначенное для выдачи опознавательного кода.
Программные системы защиты от копирования программных продуктов:
— идентифицируют среду, из которой будет запускаться программа;
— устанавливают соответствие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск;
— вырабатывают реакцию на запуск из несанкционированной среды;
— регистрируют санкционированное копирование;
— противодействуют изучению алгоритмов и программ работы системы.
Для идентификации запускающих дискет применяются следующие методы:
1) нанесение повреждений на поверхность дискеты («лазерная дыра»), которая с трудом может быть воспроизведена в несанкционированной копии дискеты;
2) нестандартное форматирование запускающей дискеты.
Идентификация среды компьютера обеспечивается за счет:
1) закрепления месторасположения программ на жестком магнитном диске (так называемые неперемещаемые программы);
2) привязки к номеру BIOS (расчет и запоминание с последующей проверкой при запуске контрольной суммы системы);
3) привязки к аппаратному (электронному) ключу, вставляемому в порт ввода-вывода, и др.
На Западе наиболее популярны методы правовой защиты программных продуктов и баз данных.
Правовые методы защиты программных продуктов и баз данных.
Правовые методы зашиты программ включают:
Различают две категории прав:
Во многих цивилизованных странах несанкционированное копирование программ в целях продажи или бесплатного распространения рассматривается как государственное преступление, карается штрафом или тюремным заключением. Но, к сожалению, само авторское право не обеспечивает защиту новой идеи, концепции, методологии и технологии разработки программ, поэтому требуются дополнительные меры их защиты.
Патентная защита устанавливает приоритет в разработке и использовании нового подхода или метода, примененного при разработке программ, удостоверяет их оригинальность.
Статус производственного секрета для программы ограничивает круг лиц, знакомых или допущенных к ее эксплуатации, а также определяет меру их ответственности за разглашение секретов. Например, используется парольный доступ к программному продукту или базе данных, вплоть до паролей на отдельные режимы ( чтение, запись, корректировку и т.п.). Программы, как любой материальный объект большой стоимости, необходимо охранять от кражи и преднамеренных разрушений.
Лицензионные соглашения распространяются на все аспекты правовой охраны программных продуктов, включая авторское право, патентную защиту, производственные секреты. Наиболее часто используются лицензионные соглашения на передачу авторских прав.
В лицензионном соглашении оговариваются все условия эксплуатации программ, в том числе создание копий. На каждой копии программы должны быть те же отметки, что и на оригинале:
Это самый дорогой вид лицензии, к нему прибегают для монопольного владения с целью извлечения дополнительной прибыли либо с целью прекращения существования на рынке программных средств программного продукта.
Такой вид лицензии приобретают дилер (торговец) либо фирмы-производители, использующие купленные лицензии как сопутствующий товар к основному виду деятельности. Например, многие производители и фирмы, торгующие компьютерной техникой, осуществляют продажу вычислительной техники с установленным лицензионным программным обеспечением (операционная система, текстовый редактор, электронная таблица, графические пакеты и т.д.).
Закон об охране программных продуктов и компьютерных баз данных автором признает физическое лицо, в результате творческой деятельности которого они созданы. Автору независимо от его имущественных прав принадлежат личные авторские права (см. рис. 8.8): авторство, имя, неприкосновенность (целостность) программ или баз данных.
Авторское право действует с момента создания программного продукта или базы данных в течение всей жизни автора и 50 лет после его смерти. Автор может:
Авторское право не связано с правом собственности на материальный носитель.
Имущественные права на программный продукт или базу данных могут быть переданы частично или полностью другим физическим или юридическим лицам по договору. Имущественные права относятся к категории наследуемых. Если программный продукт или база данных созданы в порядке выполнения служебных обязанностей, имущественные права принадлежат работодателю.
Лицо, правомерно владеющее экземпляром программы или базы данных, вправе, без получения дополнительного разрешения правообладателя, осуществлять любые действия, связанные с функционированием программного продукта или базы данных в соответствии с ее назначением, в том числе: