Основные понятия программного обеспечения

Лекция 5 ОБЩАЯ ХАРАКТЕРИСТИКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Тема 4 ПРОГРАММНЫЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ

&

План лекции:

1. Основные понятия программного обеспечения.

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

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

4. Защита программных продуктов.

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

Литература:

3. Информатика. Базовый курс/под ред. С.В.Симоновича. - СПб.: Питер, 2011.-640 с.

4. Информатика: Учебник/ Под ред. проф. Н.В. Макаровой. – СПб.: Питер, 2011. – 576 с.

 

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

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

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

Задача(problem, task) — проблема, подлежащая решению.

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

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

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

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

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

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

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

 

Постановка задачи à Алгоритмизация решения задачàПрограммирование

Рис. 5. Схема процесса создания программ

 

Постановка задачи (problem definition) — это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.

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

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

1. цель или назначение задачи, ее место и связи с другими задачами;

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

3. содержание функций обработки входной информации при решении задачи;

4. требования к периодичности решения задачи;

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

6. состав и форма представления выходной информации;

7. источники входной информации для решения задачи;

8. пользователи задачи (кто осуществляет ее решение и пользуется результатами решения).

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

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

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

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

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

Программирование (programming) — теоретическая и практическая деятельность, связанная с созданием программ.

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

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

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

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

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

2. внедрение прогрессивных инструментальных средств разработки программ;

3. использование специальных методов и приемов организации работ по разработке программ.