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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· патентную защиту;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ряд производителей использует OEM-программы (Original Equipment Manufacturer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

– тип процессора;

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

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

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

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

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

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

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

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

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

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

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

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

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

Прикладные программы предназначены для решения конкретных функциональных задач пользователя.

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

Виды прикладного ПО общего назначения: текстовые редакторы, текстовые процессоры, электронные таблицы, графические редакторы и т.д.

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

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

Программные продукты. Основные характеристики ПП. Классы ПП

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

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

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

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

1. Системное программное обеспечение

Предназначено для выполнения различных вспомогательных функций: управление ресурсами ЭВМ; создание копий используемой информации; проверку работоспособности устройств ЭВМ; выдачу справочной информации о компьютере.

В состав системного программного обеспечения можно отнести: операционную систему; антивирусные программы; программы архивирования; программы обслуживания сети и др.

  • 2. Пакеты прикладных программ - непосредственно обеспечивают выполнение необходимых пользователю работ. Примеры прикладных программ: текстовые редакторы; системы машинной графики (учебные, научные, инженерные и др.); электронные таблицы; системы управления базами данных; издательские системы; бухгалтерские программы; системы автоматизированного проектирования; экспертные системы; системы искусственного интеллекта (проверка орфографии, перевод, распознавание текста); браузеры; обучающие программы и др.
  • 3. Инструментарий технологии программирования (облегчают процесс создания новых программ для ЭВМ на конкретном языке программирования). Примеры систем программирования: Quck Basic; Turbo Basic; Visual Basic; Pascal; C++; Delphi и др.

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

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

2. Программные продукты

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

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

Программные продукты

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

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

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

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

2) Функциональные задачи различных предметных областей.

3) Технология разработки программ.

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

1) Системное программное обеспечение

2) Пакеты прикладного программирования (прикладное

3) программное обеспечение)

4) Инструменты технологического программирования

5) (инструментальное программное обеспечение)

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

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

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

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

Пакеты прикладного программирования являются самым многочисленным классом программных продуктов. В этом класс входят программные продукты, выполняющие обработку информации различных предметных областей. Эти программные продукты могут работать при условии, что в компьютере установлена операционная система. Наибольшей популярностью пользуются следующие группы прикладных пакетов: текстовые и графические редакторы, базы данных, СУБД, электронные таблицы, игры, учебники, словари и т.д.


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

Инструменты технического программирования включают

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

1) Разработка и совершенствование программирования, а также их

2) трансляторов.

3) Создание оперативной системы для новых типов персональных

4) компьютеров, разработка сервисных программ.

Даже при наличии десятков тысяч программ для IBM PC пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В этих случаях следует использовать системы программирования, т.е. системы для разработки новых программ.

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

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

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

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

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

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

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

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

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

Задача - проблема, подлежащая решению.

Приложение - программная реализация на компьютере решения задачи.

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

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

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

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

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

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

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

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

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

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