Программный продукт. Утилитарные программы 1 утилитарные программы предназначены для

Все программны продукты по характеру использования и категориям пользователей делятся на 2 класса утилитные программы и ПП.(изделия)

Утилитарные программы - предназначены для удовлетворения нужд их разработчиков, программы «для себя». Чаще всего УП выполняет роль сервиса в технологии обработки данных, либо является программными решениями функциональных задач, не предназначенная для широкого распространения. Программные продукты - предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.

Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.

Программный продукт имеет несколько качественных характеристик:

Алгоритмическая сложность;

Полнота функций обработки;

Объём файлов программ;

Требования к операционной системе и техническим средствам обработки со стороны программного средства;

Объём дисковой памяти;

Размер оперативной памяти.

Показатели качества должны содержать следующие аспекты:

Насколько хорошо можно использовать программный продукт (просто, надёжно, эффективно);

Насколько легко эксплуатировать программный продукт;

Можно ли использовать программный продукт при изменении условия его применения.

В условиях существования рынка программных продуктов важными характеристиками являются стоимость, количество продаж, время нахождения на рынке, известность фирмы-производителя и самой программы, наличие на рынке программных продуктов аналогичного назначения.

Программный продукт любого вида характеризуется жизненным циклом, состоящим из отдельных этапов.


9. Основные характеристиками программы являются:

1. Алгоритмическая сложность

2. Состав и глубина проработки реализации функции обработки

3. Полнота и системность функций обработки

4. Объем файлов программ

5. Требования ОС и техническим средствам обработки со стороны программного средства

6. Объем диска памяти

7. Размер операционной системы для запуска программы

8. Тип процессора

9. Время ОС

10. Наличие вычислительной сети

ПП имеет многообразные показатели качества, которые отражают следующие аспекты:

1. На сколько хорошо, просто, надежно, эффективно можно использовать ПП

2. На сколько легко эксплуатировать ПП

3. Можно ли использовать ПП при изменении условий при его применении

Мобильность ПП означает их независимость от:

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

2. Операционной среды

3. Спецификации предметной области и т.д.

10. Надёжность работы программного продукта. Надёжность ПП. Модифицируемость ПП. Коммуникативность ПП. Основные характеристики программного продукта

Основные характеристики качества программ:

1) Мобильность означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и др.

2) Надежность работы программного продукта (ПП) определяется бесперебойностью и устойчивостью в работе программ, точностью выполнения приписанных функций обработки, возможностью диагностики ошибок, возникающих в процессе работы программ.

3) Эффективность ПП оценивается как с позиции прямого его назначения – требований пользователя, так и с точки зрения расходов вычислительных ресурсов, необходимых для его эксплуатации.

4) Модифицируемость ПП означает способность к внесению изменений, например, расширение функций обработки, переход на другую техническую базу обработки.

5) Коммуникативность ПП основана на максимально возможной их интеграции с другими программами, обеспечением обмена данными в общих форматах представления.

6) учет человеческого фактора означает:

1. обеспечивает дружественную интерференцию для работы данных

2. наличие контекстно-зависимой подсказки или обучающей системы в составе ПС

3. хорошую документацию для освоения и использования ПП

4. анализ и диагностику возникших ошибок

11. Жизненным циклом программы называется процесс его создания и применения от начала до конца.

Программы любого вида характеризуют ЖЦ, состоящими из отдельных этапов:

1. Маркетинг рынка программных средств, спецификация требований к ПП

2. Проектирование структуры ПП

3. Программирование (создание программного кода), тестирование и комплекс отладки программ

4. Документирование ПП, подготовка эксплуатация и технологии документации

5. Выход на рынок ПП, распространение ПП

6. Эксплуатация ПП пользователя

7. Сопровождения ПП

8. Снятие ПП с продажи, отказ от сопровождения

На заре развития компьютерной техники появилось понятие языков программирования и создаваемых с их помощью последовательностей команд, которые чуть позже стали называть приложениями. По сути, это продукты программные (именно программные). То есть заданный набор команд позволяет выполнить ту или иную задачу или обеспечить функционирование компьютерной системы в целом. Какие же они бывают?

Продукты программные: базовая классификация

Оговоримся сразу: в дебри компьютерной технологии лезть не будем, а постараемся разобраться в том, что собой представляют и какими бывают программы, так сказать, простым языком.

На сегодняшний день имеется несколько типов классификации программного обеспечения, или ПО. Среди основных типов выделяют:

  • системное ПО;

Иногда в этот список включают еще средства разработки и администрирования в виде специальных утилит, но, по большому счету, их можно отнести к системным приложениям.

Типы программных продуктов по использованию

Существует и другая классификация, подразумевающая использование программных продуктов по типу прав доступа к ним и стоимости. Сюда можно включить следующие понятия:

  • проприетарное ПО с монополией правообладателя, который предоставляет только права на его установку и использование, сохраняя при этом право интеллектуальной собственности;
  • коммерческое (платное) ПО, подразумевающее покупку программного продукта и официальной лицензии;
  • условно-бесплатное ПО (shareware), которым можно пользоваться в течение определенного времени (как правило, 30 дней), после чего следует приобрести лицензию или зарегистрировать продукт;
  • бесплатное (freeware) ПО - программы и приложения, не требующие наличия лицензии или оплаты;
  • бесплатное ПО с (лицензия GNU), которое любой желающий может изменять или модифицировать по своему усмотрению.

Теперь рассмотрим некоторые типы целых программных пакетов и единичных приложений каждого типа несколько подробнее.

Программное обеспечение Firmware

Этот тип ПО относится к системной части. Иными словами, это средства базового уровня, обеспечивающие взаимодействие между программной средой компьютера (операционной системой или установленными приложениями).

Сегодня их называют драйверами - небольшими программами, созданными для того, чтобы программная часть компьютерной системы распознавала и обеспечивала корректную работу любого «железного» компонента. Как правило, все настройки сохраняются в специальном чипе на материнской плате, имеющем собственную программную среду, называемую BIOS. И именно BIOS хранит не только базовые настройки «железа», но и диагностирует его при включении компьютерного терминала (если все конфликты или сбои не обнаружены, выдается характерный одиночный звуковой сигнал при старте компьютера через системный динамик).

Операционные системы

Наверное, не нужно говорить, что операционные системы являются основной частью ПО, осуществляющего связь между компьютером и пользователем. Грубо говоря, это своего рода прослойка, благодаря интерфейсу которой юзер получает доступ к тем или иным функциям системы и выполнению определенных задач при помощи приложений разного типа и уровня.

На сегодняшний день их известно достаточно большое количество, причем не все они равнозначны. Большинство имеет но встречаются даже текстовые «операционки». В любом случае они включают в себя мощнейший инструментарий для обеспечения функционирования всех компонентов и работы пользователя в системе, включая языковые трансляторы и многие другие вещи.

Средства разработки

Разработка программных продуктов любого типа, будь то ОС или любое приложение, осуществляется на основе какого-либо языка программирования, который включает в себя не только определенный набор команд, но и трансляторы, языковые интерпретаторы, компиляторы и т. д. (иногда даже дисассемблеры).

Многие языки используют ручной ввод команд, скажем, в текстовом режиме, можно найти даже целые специализированные платформы, позволяющие работать с языками вроде Delphi или Java без специальных знаний, так сказать, на интуитивном уровне. Кстати, то же самое касается и веб-разработки сайтов, когда страницы и их взаимосвязи создаются на основе встроенных возможностей, которыми обладают такие программные продукты. Примеры? Пожалуйста! Тот же редактор MS Office Word, WordPress и т. д.

Средства администрирования

Системное администрирование является неотъемлемой частью любой программной среды. Действительно, своевременное выявление и исправление неполадок и ошибок в работе единичного компьютера, терминалов в локальной сети или даже в функционировании целых интернет-ресурсов, размещенных на удаленных серверах, позволяет избежать множества проблем в дальнейшем.

К примеру, в стандартном наборе Windows-систем (и не только в них) тоже имеются специальные программы и приложения, позволяющие, например, проверить на ошибки жесткий диск, провести тестирование оперативной памяти и т. д. Само собой разумеется, что существуют и специализированные сторонние утилиты, имеющие в своем функционале расширенные наборы инструментов. С их использованием системное администрирование выходит на новый, более высокий уровень.

В качестве интереснейшего примера можно привести программу для поиска и исправления системных ошибок на винчестере белорусского разработчика под названием Victoria, которая имеет куда больше возможностей, чем стандартная утилита Windows. Программа вообще может «перемагничивать» жесткие диски, восстанавливая сбойные сектора, но не затрагивая информацию, хранящуюся в кластерах. И это только малая толика приложений данного направления. А если рассмотреть еще и приложения для системных администраторов, позволяющие контролировать любой локальный компьютер в сети или даже функционирование всей такой сетевой системы, то просто диву даешься, до чего дошел прогресс: здесь сегодня утилит столько, что всего и не опишешь.

Обеспечение информационной безопасности

Что касается защиты информации и обеспечения безопасности любой системы, здесь тоже существуют такие средства. Такие продукты, программные модули которых написаны на языках высшего уровня, позволяют противодействовать угрозам любого типа.

А ведь речь идет не только об антивирусах. В равной степени сюда можно отнести и разного рода препятствующие проникновению надоедливой рекламы, в конце концов, даже виртуальные сетевые экраны, называемые файроволлами или брэндмауэрами.

Средства доступа к Интернету

Предыдущий тип приложений, ориентированный на обеспечение информационной безопасности, очень тесно связан с доступом к Интернету, ведь сегодня именно оттуда исходит большинство угроз.

Что же до обеспечения самого доступа, основными средствами являются так называемые интернет-браузеры, работающие на основе строго определенных сетевых настроек (IP-адрес компьютера, маска подсети, основной и дополнительный шлюзы, DNS-, WINS- и прокси-серверы и т. д.). Такие приложения зачастую относят к прикладным программам.

Прикладное ПО

Теперь перейдем к самому большому классу программ - прикладному ПО. Приложения этого типа являются строго ориентированными на выполнение конкретных задач, к примеру, математических, офисных, развлекательных, научных и многих других.

Перечислить все просто физически невозможно, однако с уверенностью можно выделить несколько направлений: работа с документацией и электронными таблицами (офисные программы и системы документооборота), бухгалтерский учет, обработка мультимедиа (графика, аудио и видео), системы проектирования, платформы для математических и научных вычислений или моделирования, средства работы с базами данных, почтовые клиенты и браузеры, файловые менеджеры и т. д. Перечислять такие приложения можно до бесконечности.

Базовый набор ОС Windows

Теперь рассмотрим основные программные продукты, которые имеются в любой на примере Windows. Само собой разумеется, что назвать такой набор универсальным можно с большой натяжкой, ведь в других «операционках» такие наборы могут существенно отличаться. Тем не менее в связи с тем, что именно эти ОС у нас получили наибольшее распространение, обсудим именно этот пакет.

Если кто обращал внимание, после первой установки Windows в основном меню можно найти программы, отсортированные по назначению: стандартные, служебные, административные и т. д. Но вот далеко не все знают, что это только малая часть айсберга. Дело в том, что многие служебные утилиты в меню не отображаются. В большинстве своем их можно вызвать либо из командной строки, либо из меню «Выполнить».

Кроме того, в «чистой» Windows-системе напрочь отсутствует основной офисный пакет, хотя средства просмотра некоторых документов все же есть (тот же Word Pad). Таким образом, получается, что после инсталляции самой «операционки» пользователю приходится самостоятельно устанавливать еще и основной офисный пакет. Впрочем, трудностей это не вызывает.

Ну а о калькуляторах, блокнотах, файловых менеджерах, интернет-браузерах и многом другом вообще можно не говорить - они имеются в каждой системе.

Утилитарные программы

Наконец, рассмотрим продукты, программные возможности которых позволяют не только проводить диагностику или оптимизировать работу системы, но и являются дополнительным инструментом при работе с некоторыми типами данных.

Первый тип приложений очень часто называют оптимизаторами. Они находят и исправляют ошибки системного уровня в самой «операционке», а также позволяют отключать некоторые ненужные пользователю фоновые процессы, потребляющие чрезмерное количество ресурсов, таким образом, ускоряя работу системы в целом.

В Windows таких средств практически нет, ну разве что стандартные средства проверки и К сожалению, неиспользуемые компоненты или фоновые службы приходится отключать вручную, а без специальных знаний это может привести к непредсказуемым последствиям. Зато оптимизаторы работают в автоматическом режиме, отключая только то, что не приведет к критическим сбоям.

То же самое касается редактирования и дефрагментации системного реестра, который может содержать огромное количество бесполезных, устаревших или неправильных ссылок, что как минимум увеличивает время загрузки конкретных приложений и всей системы при старте.

Удаление приложений стандартный деинсталлятор Windows тоже не всегда производится корректно. Частенько по завершении процесса в системе остается куча мусора в виде остаточных файлов, папок или записей в том же реестре. Тут на помощь приходят уникальные утилиты вроде iObit Uninstaller, который чистит систему целиком и полностью, после чего юзеру не приходится заниматься поиском и удалением оставшихся объектов вручную.

Еще одним примером можно назвать обновление драйверов устройств. Здесь автоматический режим также не предусмотрен. Но сторонние утилиты вроде Driver Booster справляются с этим элементарно, причем обновляют драйвера исключительно из официальных источников (сайтов производителя оборудования).

Наконец, одними из самых востребованных являются архиваторы, ведь даже при загрузке файлов из Интернета при достаточно большом начальном объеме они упакованы в специальные архивы для уменьшения «веса». Кроме того, большие папки могут разбиваться на несколько отдельных архивов, а программы уровня WinRAR, WinZIP или 7Zip позволяют обрабатывать такие данные элементарно.

Вместо послесловия

Напоследок остается сказать, что, конечно, это далеко не все программные продукты, которые сегодня можно отыскать. Однако, думается, даже при таком минимальном описании любой пользователь сможет почувствовать разницу между программами разного назначения и сделать общие выводы о том, какими они вообще бывают и для чего служат.

Под программным продуктом (ПП) мы понимаем программное обеспечение (ПО) как результат человеческой деятельности, выставленный на рынке массового покупателя в качестве товара и имеющий ненулевую потребительную стоимость.

Очень важно различать тиражный программный продукт и программное обеспечение проекта. Тиражный ПП производится для того, чтобы его могли использовать во многих местах различные пользователи. Поэтому у него нет заказчиков, а решение о начале разработки принимается исходя из предполагаемого рыночного спроса. Текстовые процессоры, электронные таблицы, системы управления базами данных, электронные словари, корректоры орфографии, русификаторы, переводчики, программы оптического распознавания символов - все это примеры тиражных ПП. Во всем мире их используют миллионы людей.

Программное обеспечение проекта создается для одного, редко - для нескольких пользователей или разрабатывается как часть технологии, которая может быть продана другой организации с целью использования в качестве составной части аппаратно-программного комплекса. В этом направлении работает, например, часть коллектива ParaGraph International, занимающаяся проблемами распознавания символов. Имея не более десятка потенциальных заказчиков, тем не менее эта фирма гигант в своей области.

Таким образом, если у проекта обычно один или несколько пользователей, то вопрос о продолжении разработки стоит не так остро, а конкурентная борьба идет за право вести разработку. Напротив, тиражный программный продукт предназначен сотням тысяч потенциальных пользователей, и при его появлении на рынке неизбежна конкуренция с другими продуктами того же класса. В момент принятия решения о начале разработки фирма идет на значительный финансовый риск. При этом производитель должен ясно сознавать, что выпуском одной версии дело не закончится, поскольку цикл жизни ПП предполагает его совершенствование.

Жизненный цикл программного продукта

Еще одно важное отличие ПП от многих других товаров состоит в том, что отдельная копия программного продукта имеет небольшую себестоимость. Это уникальное для производителя свойство позволяет вводить новые формы взаимодействия с клиентом после первой продажи ПП. Мы имеем ввиду upgrade, то есть право обновлять ПП на этот же, но новой, улучшенной версии за небольшую плату. Понятие upgrade позволяет пользователю считать разные версии ПП одним ПП, в то время как для производителя разные версии иногда выступают как разные проекты и соответственно совершенно разные продукты.

Для производителя жизненный цикл программного продукта состоит из трех фаз:

3. Продолжение разработки.

Обратите внимание на то, что использование сопровождается продолжающейся разработкой - разработкой новых версий и подверсий, в которых учитываются недостатки предыдущей версии и реализуются новые возможности.

Как и любой другой продукт, программный продукт проходит до появления на рынке четыре стадии. Сначала возникает идея (концепция) нового продукта, подвергающаяся тщательному техническому анализу, в результате которого вырабатываются требования к будущему продукту. Одновременно проводится экономический анализ, учитывающий потенциальный сбыт, издержки производства, уровень и сроки окупаемости, конкуренцию на рынке, требуемые инвестиции, краткосрочную и долгосрочную прибыль, степень риска.

Существуют различные способы разделения процесса разработки программного обеспечения на этапы. При некоторых из них выделяют большее количество этапов, при других -- меньшее. По-видимому, неизбежными являются шесть этапов. Разработка программного обеспечения: Определение требований Проектирование

Написание команд -- программы Компоновка Тестирование Документирование

Первый род деятельности, определение требований, представляет особую сложность для больших систем типа V, и вскоре мы его рассмотрим весьма подробно.

Проектирование, имеющееся в виду здесь, есть проекти-рование именно программ, а не той системы в целом, частью которой являются эти программы. Более глубокое изучение этого процесса мы проведем после того, как рассмотрим оп-ределение требований.

Третьим пунктом является написание команд, сведение проекта программного обеспечения или просто программы к последовательности машинных команд. Мы будем называть этот процесс программированием.

Компоновка представляет собой комбинирование, связы-вание отдельных частей программы, написанных разными людьми или группами, в одну большую систему программного обеспечения.

Характеристика программного продукта

Все программы по характеру использования и категориям пользователей можно разделить на два класса- утилитарные программы и программные продукты (изделия).

Утилитарные программы ("программы для себя") предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.

Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.

Freeware - бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;

Shareware - некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных продуктов осуществляется взнос определенной суммы.

Программный продукт - комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.

Программные продукты могут создаваться как:

Индивидуальная разработка под заказ;

Разработка для массового распространения среди пользователей.

Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами - распространителями программ,реже - фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами - исправление обнаруженных ошибок, создание новых версий программ и т.п.

Сопровождение программного продукта - поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.

Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее. Основными характеристиками программ являются:

Алгоритмическая сложность (логика алгоритмов обработки информации);

Состав и глубина проработки реализованных функций обработки;

Полнота и системность функций обработки;

Объем файлов программ;

Требования к операционной системе и техническим средствам обработки со стороны программного средства;

Объем дисковой памяти;

Размер оперативной памяти для запуска программ;

Версия операционной системы;

Наличие вычислительной сети и др.

Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:

Насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт;

Насколько легко эксплуатировать программный продукт;

Можно ли использовать программный продукт при изменении условия его применения и др.

Дерево характеристик качества программных продуктов

Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области многоплатформный программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений.

Надежность работы программного продукта определяется бесперебойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.

Эффективность программного продукта оценивается как с позиций прямого его назначения - требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.

В условиях существования рынка программных продуктов важными характеристиками являются:

Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта.

Если программный продукт создается как заказное программное изделие для определенного заказчика, на данном этапе также важно правильно сформулировать и документировать задание на его разработку. Ошибочно понятое требование к программному продукту может привести к нежелательным результатам в процессе его эксплуатации.

Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ-технологии программирования.

Все программы по характеру использования и категориям пользователей можно разделить на два класса:

1) утилитарные программы ("программы для себя"), предназначенные для выполнения задач их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения;

2) программные продукты (изделия), предназначенные для выполнения задач пользователей, широкого распространения и продажи.

Кроме продажи существуют и другие способы легального распространения программных продуктов (ПП), как правило, через Интернет:

- FreeWare — бесплатные программы, свободно распространяемые, без ограничений по сроку работы или по функциональности, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;

- ShareWare — (некоммерческие) условно-бесплатные программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных продуктов осуществляется взнос определенной суммы и регистрация. Имеют различные ограничения — от напоминания о необходимости зарегистрировать программу до ограничений функциональности;

- DonationWare - разновидность ShareWare, где не указывается конкретная сумма, которую должен заплатить пользователь в том случае, если ему понравилась программа.

- PostcardWare - для получения официального права пользоваться программой пользователь должен отправить автору почтовую карточку;

- Adware - программа является бесплатной для конечного пользователя, но показывает рекламу, за что автор получает деньги от рекламодателей. В последнее время эта схема активно набирает обороты;

- Trial - программа работает определенное время, за которое можно оценить степень ее полезности и принять решение о необходимости покупки;

- Demo - это видеоролики, позволяющие только просмотреть возможности программы, но не использовать её в полноценной работе даже в течение ограниченного времени.

ПП должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак производителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.

Программный продукт — комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой другой вид промышленной продукции.

ПП могут создаваться как:

- индивидуальная разработка под заказ (учитывается специфика обработки данных для конкретного пользователя);

Разработка для массового распространения среди пользователей (необходимо обеспечить универсальность выполняемых функций обработки данных, гибкость и настраиваемость ПП на условия конкретного применения).

Программные продукты имеют многообразие показателей качества (рис.

2.1), которые отражают следующие аспекты:

Насколько хорошо (просто, надежно, эффективно) можно использовать ПП;

Насколько легко эксплуатировать ПП;

Можно ли использовать ПП при изменении условия его применения и др.

Мобильность ПП означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) ПП может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого ПП пригодны для массового использования без каких-либо изменений.

Надежность работы ПП определяется бесперебойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики ошибок, возникающих в процессе работы программ.

Рис. 2.1. Дерево характеристик качества программных продуктов

Эффективность ПП оценивается как с позиций прямого его назначения — требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации. Расход вычислительных ресурсов оценивается через объем внешней памяти для размещения программ и объем оперативной памяти для запуска программ.

Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.

Модифицируемость ПП означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.

Коммуникативность ПП основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).

В условиях существования рынка ПП важными характеристиками являются:

Время нахождения на рынке (длительность продаж);

Известность фирмы-разработчика и программы;

Наличие программных продуктов аналогичного назначения.

Спецификой ПП, в отличие от большинства промышленных изделий, является также и то, что их эксплуатация должна выполняться на правовой основе — лицензионных соглашениях между разработчиком и пользователями с соблюдением авторских прав разработчиков ПП.

ПРОГРАММНЫЕ ПРОДУКТЫ И ИХ ОСНОВНЫЕ ХАРАКТЕРИСТИКИ.

1. Понятие и классы программного продукта.

2. Жизненный цикл программного продукта.

3. Основные понятия о защите программных продуктов.

4. Программные системы защиты от несанкционированного копирования.

5. Правовые методы защиты программных продуктов и баз данных.

6. Характеристика классов программных продуктов зависимости от сферы их использования.

7. Классификация пакетов прикладных программ.

Вопрос №1. Понятие и классы программного продукта.

Пакеты прикладных программ (ППП) являются наиболее дина­мично развивающейся частью информационного рынка программного обес­печения. Совершенствование ППП способствует внедрению ком­пьютеров во все сферы деятельности.

Все программы по характеру использования и категориям пользователя можно разделить на два класса:

1. Утилитарные программы («программы для себя») предназначены для удовлетворения нужд их разработчиков. Чаще всего они выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.

2. Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продаж.

В настоящее время существуют и другие варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:

1. freeware – бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения.

2. shareware – некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных продуктов осуществляет взнос определенной суммы.

Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.

Программный продукт (ПП) – это комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.

Программные продукты могут создаваться как индивидуальная разработка под заказ, так и как разработка для массового распространения среди пользователей.

Вопрос №2. Жизненный цикл программного продукта.

Программы любого вида характеризуются жизненным циклом, состоящим из отдельных этапов:

1) маркетинг рынка программных средств, спецификация требований к программному продукту;

Маркетинг и спецификация программного продукта предназначены для изучения требований к создаваемому программному продукту, а именно:

· Определение состава и назначения функций обработки данных ПП.

· Установление требований пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование мыши и т.д.).

· Требования к комплексу технических и программных средств для эксплуатации ПП и т.д.

На данном этапе необходимо выполнить формализованную постановку задачи.

2) проектирование структуры программного продукта;

Связано с алгоритмизацией процесса обработки данных, детализация функций обработки, разработка структуры ПП и информационной базы (базы данных) задачи, выбором методов и средств создания программ (технология программирования).

3) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;

Являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика.

4) документирование программного продукта, подготовка эксплуатационной и технологической документации;

Документирование ПП является обязательным видом работ, выполняемых, как правило, не самим разработчиком, а лицом, связанным с распространением и внедрением программного продукта. Документация должна содержать необходимые сведения по установке и обеспечению надежной работы программного продукта, поддерживать пользователей при выполнении функций обработки, определять порядок комплексирования программного продукта с другими программами. Успех распространения и эксплуатации ПП в значительной степени зависит от качества его документации.

5) выход на рынок программных средств, распространение программного продукта (связан с организацией продаж массовому пользователю);

Этот этап должен по возможности быть коротким, для продвижения ПП применяются стандартные приемы маркетинга: реклама, увеличение числа каналов реализации, ценовая политика и т.д.

6) эксплуатация программного продукта пользователями;

Идет параллельно с его сопровождением , при этом эксплуатация программ может начинаться и в случае отсутствия сопровождения или продолжаться в случае завершения сопровождения еще какое-то время. После снятия ПП с продажи определенное время также может выполнять его сопровождение. В процессе эксплуатации ПП производится устранение обнаруженных ошибок.

7) сопровождение программного продукта;

Снятие программного продукта с продажи, отказ от сопровождения.

Происходят, как правило, в случае изменения технической политики фирмы-разработчика, неэффективности работы ПП, наличия в нем неустранимых ошибок, отсутствие спроса.

Длительность жизненного цикла для различных ПП не одинакова. Для большинства современных ПП длительность жизненного цикла измеряется в годах (2-3 года). Хотя достаточно часто встречаются на компьютерах и давно снятые с производства ПП.

Вопрос №3. Основные понятия о защите программных продуктов (ПП).

Программные продукты и компьютерные базы данных являются предметом интеллектуального труда специалистов высокой квалификации. Программное обеспечение является объектом защиты также и в связи со сложностью и трудоемкостью восстановления его работоспособности, значимостью программного обеспечения для работы информационной системы.

Защита программного обеспечения преследует цели:

1. ограничение несанкционированного доступа к программам или их преднамеренное разрушение и хищение;

2. исключение несанкционированного копирования (тиражирования) программ.

Программный продукт и базы данных должны быть защищены по нескольким направлениям от воздействия:

1) человека – хищение машинных носителей и документации программного обеспечения; нарушение работоспособности программного продукта и др.;

2) аппаратуры – подключение к компьютеру аппаратных средств для считывания программ и данных или их физического разрушения;

3) специализированных программ – приведение программного продукта или базы данных в неработоспособное состояние (например, вирусное заражение), несанкционированное копирование программ и базы данных и т.д.

Самый простой и доступный способ защиты ПП и базы данных – ограничение доступа. Контроль доступа к программному продукту и базе данных строится путем:

1. парольной защиты программ при их запуске;

2. использования ключевой дискеты для запуска программ;

3. ограничения программ или данных, функций обработки, доступных пользователям, и др.

Могут также использоваться и криптографические методы защиты информации базы данных или головных программных модулей.

Вопрос №4. Программные системы защиты от несанкционированного копирования.

При использовании программных систем защиты программа выполняется только при опознании некоторого уникального не копируемого ключевого элемента.

Таким ключевым элементом могут быть:

· дискета, на которой записан не подлежащий копированию ключ;

· определенные характеристики аппаратуры компьютера;

· специальное устройство (электронный ключ), подключаемое к компьютеру и предназначенное для выдачи опознавательного кода.

Программные системы защиты от копирования ПП:

· идентифицируют среду, из которой будет запускаться программа;

· устанавливают соответствующие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск;

· вырабатывают реакцию на запуск из несанкционированной среды;

· регистрируют санкционированное копирование;

· противодействуют изучению алгоритмов и программ работы системы.

Вопрос №5. Правовые методы защиты программных продуктов и баз данных.

Правовые методы защиты включают:

· закон о производственных секретах;

· лицензионные соглашения и контракты;

· экономические права, дающие их обладателям право на получение экономических выгод от продажи и использования ПП и баз данных;

· моральные права, обеспечивающие защиту личности автора в его произведении.

Во многих цивилизованных странах несанкционированное копирование программ в целях продажи или бесплатного распространения рассматривается как государственное преступление, карается штрафом или тюремным заключением. Однако само авторское право не обеспечивает защиту новой идеи, концепции, методологии и технологии разработки программ.

Вопрос №6. Характеристика классов программных продуктов в зависимости от сферы их использования.

В зависимости от сферы (области) использования ПП это:

· аппаратная часть автономных компьютеров и сетей ЭВМ;

· функциональные задачи различных предметных областей;

· технология разработки программ

для поддержки информационных технологий выделяют три класса ПП:

· Системное программное обеспечение;

· Пакеты прикладных программ;

· Инструментарий технологии программирования.

Системное программное обеспечение направлено:

1. на создание операционной среды функционирования других программ;

2. на обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;

3. на проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;

4. на выполнение вспомогательных технологических процессов (копирование, архивирование и т.д.).

Системное программное обеспечение – совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ.

Пакеты прикладных программ служат программным инструментарием решения функциональных задачи являются самым многочисленным классом ПП. В данный класс входят ПП, выполняющие обработку информации различных предметных областей.

Установка ПП на компьютер выполняется квалифицированными пользователями, а непосредственную их эксплуатацию осуществляют, как правило, конечные пользователи – потребители информации, во многих случаях деятельность которых весьма далека от компьютерной области. Данный класс ПП может быть весьма специфичным для отдельных предметных областей.

Пакет прикладных программ – комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.

Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные ПП, которые являются инструментальными средствами разработчика. ПП данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ.

Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами).

Программа (program) - упорядоченная последовательность ко­манд (инструкций) компьютера для решения задачи.

Программное обеспечение (sowtware) - совокупность программ обработки данных и необходимых для их эксплуатации документов.

Программы предназначены для машинной реализации задач. Термины задача и приложение имеют очень широкое употребление в контексте информатики и про­граммного обеспечения. При этом задача (problem) - это проблема, подлежащая решению, а приложение (application) - программная реализация на компьютере решения задачи.

Все программы по характеру использования и категориям пользователей можно разделить на два класса - утилитарные программы и программные продукты (изделия) .

Утилитарные программы предназначены для удов­летворения нужд их разработчиков. Чаще всего утилитарные программы играют роль сервиса в технологии обработки данных либо являются программами решения функцио­нальных задач, не предназначенных для широкого распространения.

Программные продукты (изделия) предназначены для удовлетворения по­требностей пользователей, широкого распространения и продажи.

В настоящее время существуют и другие варианты легального распространения про­граммных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:

· freeware - бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;

· shareware - некоммерческие (условно-бесплатные) программы, которые могут ис­пользоваться, как правило, бесплатно. При условии регулярного использования подоб­ных продуктов осуществляется взнос определенной суммы.

Программный продукт должен быть соответствующим образом подготовлен к эксплу­атации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно нали­чие кода государственной регистрации

Программный продукт - это комплекс взаимосвязанных программ для ре­шения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.

Программные продукты могут создаваться как:

· индивидуальная разработка под заказ;

· разработка для массового распространения среди пользователей.

Как правило, программные продукты требуют сопровождения , которое осуществляет­ся специализированными фирмами - распространителями программ (дистрибьютерами), реже - фирмами-разработчиками.

Сопровождение программного продукта - это поддержка работоспособнос­ти программного продукта, переход на его новые версии, внесение измене­ний, исправление обнаруженных ошибок и т.п.

Основными характеристиками программных продуктов являются:

Мобилъностъ программных продуктов означает их независимость от техничес­кого комплекса системы обработки данных, операционной среды, сетевой технологии обра­ботки данных, специфики предметной области и т.п

Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.

Эффективность программного продукта оценивается как с позиций прямого его назначения - требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.

Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.

Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.

Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).

В условиях существования рынка программных продуктов важными характеристиками являются:

· стоимость; 2) количество продаж; 3) время нахождения на рынке (длительность продаж); 4) известность фирмы-разработчика и программы; 5) наличие программных продуктов аналогичного назначения.

Спецификой программных продуктов (в отличие от большинства промышленных изделий) является также и то, что их эксплуатация должна выполняться на правовой основе - лицензионные соглашения между разработчиком и пользователями с соблюдением авторских прав разработчиков программных продуктов.

Методы защиты программных продуктов

Методы защиты программных продуктов условно можно подразделить на программные и правовые. При использовании программных систем программа выполняется только при опознании некоторого уникального неко­пируемого ключевого элемента . Таким ключевым элементом могут быть:

· дискета, на которой записан не подлежащий копированию ключ;

· определенные характеристики аппаратуры компьютера;

специальное устройство (электронный ключ), подключаемое к компьютеру и предна­значенное для выдачи опознавательного кода

Патентная защита устанавливает приоритет в разработке и использовании нового подхода или метода, примененного при разработке программ, удостоверяет их ори­гинальность.

Статус производственного секрета для программы ограничивает круг лиц, знакомых или допущенных к ее эксплуатации, а также определяет меру их ответствен­ности за разглашение секретов.

Лицензионные соглашения распространяются на все аспекты правовой ох­раны программных продуктов, включая авторское право, патентную защиту, производст­венные секреты. Наиболее часто используются лицензионные соглашения на передачу авторских прав.

Лицензия - договор на передачу одним лицом (лицензиаром) другому лицу (лицензиату) права на использование имени, продукции, технологии или услуги. Лицензиар увеличивает свои доходы сбором лицензион­ных платежей, расширяет область распространения программного продукта или базы данных; лицензиат извлекает доходы за счет их применения.

Исключительная лицензия - продажа всех имущественных прав на про­граммный продукт или базу данных, покупателю лицензии предоставляется исключитель­ное право на их использование, а автор или владелец патента отказывается от самостоятельного их применения или предоставления другим лицам.

Простая лицензия - лицензиар предоставляет право лицензиату использовать программный продукт или базу данных, оставляя за собой право применять их и предостав­лять на аналогичных условиях неограниченному числу лиц

Этикеточная лицензия - лицензия на одну копию программного продукта или базы данных. Данный тип лицензии применяется при розничной продаже. Каждый официальный покупатель заключает лицензионное соглашение с продавцом на их исполь­зование, но при этом сохраняется авторское право разработчика.

Закон об охране программных продуктов и компьютерных баз данных автором при­знает физическое лицо, в результате творческой деятельности которого они созданы. Авто­ру независимо от его имущественных прав принадлежат личные авторские права: авторство, имя, неприкосновенность (целостность) программ или баз данных.

Вопрос 1. Характеристика программного продукта. Инженерия программного обеспечения, ее цели..

ПП - комплекс взаимосвяз. программ для решения опред. проб-м ы (задачи)масс. спроса, подготовленный к реализации как любой др. вид промыш. продукции.

ПП должен быть соответствующим образом подготовлен к эксплуатации, иметь необх-ую технич. докум-цию, предоставлять сервис и гарантию надеж. р аботы пр-мы, иметь товарный знак производителя, а также желательно наличие кода гос. регистрации. Только тогда прог. комплекс может быть назван ПП.

Все программы по характеру использования и категориям польз-ей можно разделить на два класса:

• утилитарные программы ("программы для себя") - предназначены для выполнения задач их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения;

• программные продукты (изделия) - предназначены для выполнения задач пользователей, широкого распространения и продажи.

ПП могут создаваться как:

• индивид. р азработка под заказ (учитывается специфика обраб-ки данных для конкр. польз-ля);

• разработка для массового распространения среди пользователей (необходимо обеспечить универсальность выполняемых функций обработки данных, гибкость и настраиваемость ПП на условия конкретного применения).

ПП имеют многообразие показателей качества (рис), которые отражают следующие аспекты:

• насколько хорошо (просто, надежно, эффективно) можно использовать ПП;

• насколько легко эксплуатировать ПП;

• можно ли использовать ПП при изменении условия его применения и др.

Мобильность ПП означает их независимость от технич. комплекса с-мы обработки данных, операц. среды, сетевой техн-ии обработки данных, специфики предм. обл-ти и т.п. Мобильный (многоплатформный) ПП может быть установлен на различных моделях компов и ОС, без ограничений на его эксплуатацию в условиях вычислит. с ети. Ф-ции обработки такого ПП пригодны для масс. исп-ия без к.- либо изменений.

Надежность работы ПП опред-ся устойчивостью и бесперебойностью в работе программ, точность выполнения предписанных ф-ций обраб-ки, возмож-ю диагностики ошибок, возникающих при работе пр-м.

Эффект-ть ПП оценивается как с позиций треб-ний польз-ля, так и с т. зр. расхода вычисл. ресурсов, необходимых для его экспл-ции. Расход вычислит. р есурсов оценивается через объем внеш. памяти для размещ-я пр-м и объем опер. памяти для их запуска.

Учет человеческого фактора означает обесп-е дружеств. интерфейса д /работы конечного польз-ля,