2.3 Основные понятия программного обеспечения
Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами).
Программа (program, routine) — упорядоченная последовательность команд (инструкций) компьютера для решения задачи. Программное обеспечение (software) — совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программы предназначены для машинной реализации задач. Термины задача и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения.
Задача (problem, task) — проблема, подлежащая решению. Приложение (application) — программная реализация на компьютере решения задачи.
Таким образом, задача означает проблему, подлежащую реализации с использованием средств информационных технологий, а приложение — реализованное на компьютере решение по задаче. Приложение, являясь синонимом слова "программа", считается более удачным термином и широко используется в информатике.
Термин задача употребляется также в сфере программирования, особенно в режиме мультипрограммирования и мультипроцессорной обработки, как единица работы вычислительной системы, требующая выделения вычислительных ресурсов (процессорного времени, основной памяти и т.п.). В данной главе этот термин употребляется в смысле первого определения.
Существует большое число разнообразных классификаций задач. С позиций специфики разработки и вида программного обеспечения будем различать два класса задач — технологические и функциональные.
Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере. Технологические задачи являются основой для разработки сервисных средств программного обеспечения в виде утилит, сервисных программ, библиотек процедур и др., применяемых для обеспечения работоспособности компьютера, разработки других программ или обработки данных функциональных задач.
Функциональные задачи требуют решения при реализации функций управления в рамках информационных систем предметных областей. Например, управление деятельностью торгового предприятия, планирование выпуска продукции, управление перевозкой грузов и т.п. Функциональные задачи в совокупности образуют предметную область и полностью определяют ее специфику.
Предметная (прикладная) область (application domain) — совокупность связанных между собой функций, задач управления, с помощью которых достигается выполнение поставленных целей.
Процесс создания программ можно представить как последовательность действий, представленных на рис. 2.1.
Рис. 2.1. Схема процесса создания программ
Постановка задачи (problem definition) — это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.
Постановка задачи — обобщенный термин, который означает определенность содержательной стороны обработки данных. Постановка задачи связана с конкретизацией основных параметров ее реализации, определением источников и структурой входной и выходной информации, востребуемой пользователем.
К основным характеристикам функциональных задач, уточняемым в процессе ее формализованной постановки, относятся:
цель или назначение задачи, ее место и связи с другими задачами;
условия решения задачи с использованием средств вычислительной техники;
содержание функций обработки входной информации при решении задачи;
требования к периодичности решения задачи;
ограничения по срокам и точности выходной информации;
состав и форма представления выходной информации;
источники входной информации для решения задачи;
пользователи задачи (кто осуществляет ее решение и пользуется результатами решения).
Выходная информация по задаче может быть представлена в виде документов (типа листинга или машинограммы), сформированных кадров — видеограммы на экране монитора, файла базы данных, выходного сигнала устройству управления (рис. 3.6).
Входная информация по задаче определяется как данные, поступающие на вход задачи и используемые для ее решения. Входной информацией служат первичные данные документов ручного заполнения, информация, хранимая в файлах базы данных (результаты решения других задач, нормативно-справочная информация — классификаторы, кодификаторы, справочники), входные сигналы от датчиков (см. рис. 2.2).
Обычно постановка задач выполняется в едином комплексе работ по созданию структуры внутримашинной базы данных, проектированию форм и маршрутов движения документов, изменению организации управления в рамках предметной области.
Алгоритм — система точно сформулированных правил, определяющая процесс преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.
Рис. 2.2. Схема взаимосвязи входной и выходной информации для решения задачи
Алгоритм решения задачи имеет ряд обязательных свойств:
дискретность — разбиение процесса обработки информации на более простые этапы (шаги выполнения), выполнение которых компьютером или человеком не вызывает затруднений;
определенность алгоритма — однозначность выполнения каждого отдельного шага преобразования информации;
выполнимость — конечность действий алгоритма решения задач, позволяющая получить желаемый результат при допустимых исходных данных за конечное число шагов;
массовость — пригодность алгоритма для решения определенного класса задач.
В алгоритме отражаются логика и способ формирования результатов решения с указанием необходимых расчетных формул, логических условий, соотношений для контроля достоверности выходных результатов. В алгоритме обязательно должны быть предусмотрены все ситуации, которые могут возникнуть в процессе решения комплекса задач.
Алгоритм решения комплекса задач и его программная реализация тесно взаимосвязаны. Специфика применяемых методов проектирования алгоритмов и используемых при этом инструментальных средств разработки программ может повлиять на форму представления и содержание алгоритма обработки данных.
Для решения задач могут использоваться алгоритмы, заложенные в готовых программных продуктах — пакетах прикладных программ (ППП) функционального назначения (см. дальше). Также могут использоваться типовые модели и методы решения задач, представленные в методо-ориентированных ППП. В этом случае осуществляется адаптация ППП к условиям конкретного применения, во всех остальных случаях разрабатываются оригинальные алгоритмы и программы реализации комплекса задач.
Программирование (programming) — теоретическая и практическая деятельность, связанная с созданием программ.
Программирование является собирательным понятием и может рассматриваться и как наука, и как искусство, на этом основан научно-практический подход к разработке программ.
Программа — результат интеллектуального труда, для которого характерно творчество, а оно, как известно, не имеет четких границ. В любой программе присутствует индивидуальность ее разработчика, программа отражает определенную степень искусства программиста. Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать стандартам.
Программирование базируется на комплексе научных дисциплин, направленных на исследование, разработку и применение методов и средств разработки программ (специализированного инструментария создания программ). При разработке программ используются ресурсоемкие и наукоемкие технологии, интеллектуальный высококвалифицированный труд.
Программирование — это развитая отрасль хозяйственной деятельности, связанная со значительными затратами материальных, трудовых и финансовых ресурсов. По данным зарубежных источников, в середине 90-х годов в мире было занято программированием до 2% трудоспособного населения. Совокупный оборот в сфере создания программных средств достигает нескольких сот миллиардов долларов в год.
В связи с ростом потребности в разнообразных программах обработки данных весьма актуален вопрос применения эффективных технологий программирования и их перевода на промышленную основу. Это означает:
стандартизованность, тиражируемость и воспроизведение различными разработчиками методов программирования;
внедрение прогрессивных инструментальных средств разработки программ;
использование специальных методов и приемов организации работ по разработке программ.
- 1. Понятие и свойства информации
- 1.1 Понятие информации
- 1.2 Понятие о информатике
- 1.3 Структура информатики
- 2. Компьютерные технологии обработки информации.
- 2.1 Архитектура и структура персонального компьютера
- 2.2 Классификация компьютеров
- 2.2.1 Карманные пк
- 2.2.2 Блокнотные пк
- 2.2.3 Персональные компьютеры сферы автоматизации домашнего хозяйства
- 2.2.4 Базовые настольные персональные компьютеры
- 2.2.5 Сетевые персональные компьютеры
- 2.2.6 Высокопроизводительные настольные персональные компьютеры и серверы начального уровня
- 2.2.7 Многопроцессорные рабочие станции и серверы высокого уровня
- 2.2.8 Суперкомпьютеры и кластерные системы
- 2.3 Основные понятия программного обеспечения
- 2.4 Категории специалистов, занятых разработкой и эксплуатацией программ.
- 2.5 Характеристика программного продукта.
- 2.6 Жизненный цикл программного продукта.
- 2.7 Основные классы программных продуктов и их назначение.
- 3. Архитектура аппаратных и программных средств ibm-совместимых персональных компьютеров (рс)
- 3.2. Устройства, входящие в состав системного блока
- 3.2.1. Материнская плата
- 3.2.2. Центральный процессор
- 3.2.3. Оперативная память
- 3.2.4. Жесткий диск
- 3.2.5. Графическая плата
- 3.2.6. Звуковая плата
- 3.2.7. Сетевая плата
- 3.2.9. Дисковод 3,5’’
- 3.2.10. Накопители на компакт-дисках
- 3.2.11. Накопители на dvd дисках
- 3.2.12. Флэш-память
- 3.3. Периферийные устройства
- 3.3.1. Клавиатура
- 3.3.2. Манипуляторы
- 3.3.3. Сканер
- 3.3.4. Цифровой фотоаппарат
- 3.3.5. Мониторы электронно-лучевые (crt)
- 3.3.6. Мониторы жидкокристаллические (lcd)
- 3.3.7. Плазменные панели (pdp)
- 3.3.8. Принтеры
- 3.3.8.1 Матричные принтеры
- 3.3.8.2 Струйные принтеры (Ink Jet)
- 3.3.8.3 Лазерные принтеры (Laser Jet)
- 3.3.9. Плоттер
- 3.3.10. Модем
- 3.4. Конфигурация компьютера
- 4. Основы работы пользователя в операционной среде персонального компьютера.
- 4.1 Структура системного программного обеспечения.
- 4.2 Базовое программное обеспечение
- 4.3 Сервисное программное обеспечение
- 5. Понятие и свойства информации
- 5.1 Общая характеристика процессов сбора, передачи, обработки и накопления информации и основные операции с данными
- 5.2 Носители данных.
- 5.3 Представление информации в эвм.
- 5.3.1 Системы счисления в эвм
- 5.3.2 Формы представления и кодирование числовых данных
- 5.3.3 Универсальная система кодирования текстовых данных
- 5.4 Единицы представления данных
- 5.5 Единицы измерения данных
- 5.6 Единицы хранения данных
- 5.6.1 Файлы
- 5.6.2 Особенности использования имен файлов в ос семейства Windows.
- 5.6.3 Папки.
- 5.6.4 Понятие о файловой структуре и файловой системе
- 5.7 Формы адекватности информации
- 5.8 Меры информации
- 5.8.1 Синтаксическая мера информации
- 5.8.2 Семантическая мера информации
- 5.8.3 Прагматическая мера информации
- 5.9 Качество информации
- 6. Основы булевой алгебры
- 6.1 Основные понятия Булевой алгебры
- 6.2 Элементарные логические операции
- 6.3 Вычисление выражений.
- 6.4 Законы булевой алгебры.
- 7. Специализированные профессионально ориентированные программные средства
- 7.1. Текстовые процессоры
- 7.2 Табличные процессоры
- 7.2.1 Основные понятия табличных процессоров
- 7.2.2 Основные типы данных в Microsoft Excel
- 7.2.2.1 Формулы
- 7.2.2.1 Функции
- 7.2.3 Относительная и абсолютная адресация
- 7.2.4 Обобщенная технология работы с электронной таблицей
- 8. Информатизация общества
- 8.1 Информационные ресурсы
- 8.3 Рынок информационных продуктов и услуг