Теоретический материал

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

Лекция №1

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

Разработка программного обеспечения

Сопровождение программ

Виды программных документов....................................................................................................... 134

Руководство пользователя и программиста..................................................................................... 137

Выбор языка и среды программирования........................................................................................ 139

Технологии программирования........................................................................................................ 143

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

Оценка стоимости разработки программного обеспечения.......................................................... 153

Цели занятия:

Обучающая: получить представление об основных понятиях программного обеспечения;

Ведущий метод обучения: объяснительно-иллюстративный.

Форма занятия: лекция.

Оснащение урока: конспект лекции, презентации.

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

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

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

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

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

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

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

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

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

Процесс создания программ можно представить как последовательность действий:

1. Постановка задачи;

2. Построение алгоритма решения;

3. Программирование;

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

Основные характеристики функциональных задач:

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

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

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

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

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

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

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

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

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

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

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

Рис.1 Схема взаимосвязи входной и выходной информации для решения задачи

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

Алгоритм решения задачи имеет ряд обязательных свойств:

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

2. Определенность алгоритма - однозначность выполнения каждого отдельного шага преобразования информации;

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

4. Массовость - пригодность алгоритма для решения определенного класса задач.

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