В соответствии с принципом программного управления
любой компьютер можно рассматривать как совокупность аппаратной (или
технической) и программной частей.
К настоящему моменту выделяют три вида программных продуктов:
1) системное, или общее, ПО;
2) пакеты прикладных программ (ППП);
3) инструментарий технологии программирования.
Системное программное обеспечение
Это совокупность программ для обеспечения работы компьютера и сетей ЭВМ. Делится на следующие виды (рис. 3.4):
1) базовое ПО, содержащее операционные системы (ОС) и операционные оболочки;
2) сервисное ПО, или утилиты. Содержит программы
диагностики работоспособности компьютера, антивирусные программы,
программы обслуживания дисков, программы архивирования данных, программы
обслуживания сетей. Рисунок 3.7. Структура системного программного обеспечения
Операционные системы используются для управления
выполнением пользовательских программ, планирования и управления
вычислительными и другими ресурсами ЭВМ. Это комплекс программ и данных,
предназначенных для увеличения пропускной способности ЭВМ, расширения
сферы ее применения, автоматизации подготовки прикладных программ к
выполнению. ОС являются обязательной составляющей ПО любого компьютера,
без чего он превращается в груду металла, пластика и электроники.
Операционные оболочки – это специальные программы,
предназначенные для облегчения общения пользователя с командами ОС.
Имеют текстовый и графический варианты интерфейса конечного
пользователя. Примерами являются Norton Commander (NC) для ОС MS DOS,
Far для ОС Windows’xx.
Пакеты прикладных программЭто комплекс взаимосвязанных программ для решения задач определенного класса. Выделяются следующие виды ППП:
1) проблемно-ориентированные. Используются для тех
проблемных областей, в которых возможна типизация функций управления,
структур данных и алгоритмов обработки. Например, это ППП автоматизации
бухучета, финансовой деятельности, управления персоналом и т. д.;
2) автоматизации проектирования (или САПР). Используются
в работе конструкторов и технологов, связанных с разработкой чертежей,
схем, диаграмм;
3) общего назначения. Поддерживают компьютерные
технологии конечных пользователей и включают текстовые и табличные
процессоры, графические редакторы, системы управления базами данных
(СУБД);
4) офисные. Обеспечивают организационное управление
деятельностью офиса. Включают органайзеры (записные и телефонные книжки,
календари, презентации и т. д.), переводчики, средства распознавания
текста;
5) настольные издательские системы – более функционально мощные текстовые процессоры;
6) системы искусственного интеллекта. Включают
информационные системы, поддерживающие диалог на естественном языке;
экспертные системы, позволяющие давать рекомендации пользователю в
различных ситуациях; интеллектуальные пакеты прикладных программ,
позволяющие решать прикладные задачи без программирования.
Инструментарий технологии программированияЭто совокупность программ, обеспечивающих технологию разработки, отладки и внедрения программных продуктов.
Инструментарий технологии программирования включает следующие виды программ:
1) средства для создания приложений (программ):
• локальные (языки и системы программирования, а также инструментальную среду пользователя);
• интегрированные среды разработки программ. Основное
назначение – повышение производительности труда программистов за счет
автоматизации создания кодов программ, обеспечивающих интерфейс
пользователя графического типа, а также автоматизации разработки
запросов и отчетов (Delphi);
2) средства для создания информационных систем
(CASE-технологии). Позволяют поддерживать коллективную работу над
проектом за счет возможности работы в локальной сети, экспорта – импорта
любых фрагментов проекта, организации управления проектом.
В свою очередь, языки программирования делятся на следующие виды:
1) операторные. Используются для кодирования алгоритмов, а потому также называются алгоритмическими. Имеют в составе:
• машинно-зависимые (ассемблер). Применяются для
написания программ, явно использующих специфику конкретной аппаратуры.
Каждый компьютер имеет такую систему программирования, которая
изготавливается и поставляется фирмой-изготовителем вместе с
компьютером;
• машинно-ориентированные (язык С). Объединяет идеи
ассемблера и алгоритмического языка. Программы компактны и работают
очень быстро.
• универсальные (Турбо-Паскаль, Бэйсик). Приближены
максимально, насколько это возможно, к естественному английскому языку:
название каждой команды – английское слово;
2) функциональные. Применяются, как правило, для машинного моделирования той или иной проблематики. Имеют в составе:
• проблемно-ориентированные (GPSS). Моделируют систему с
помощью последовательности событий. Применяются, в частности, при
проектировании вычислительных комплексов;
• объектно-ориентированные (Форт). Имеют встроенные средства для моделирования новых объектов программирования;
• логико-ориентированные (Prolog). Отдельно описываются правила предметной области, по которым затем выводятся новые факты.
Системы программирования включают:
1) интегрированную среду разработчика программы,
состоящую, в частности, из текстового редактора, позволяющего создавать и
корректировать исходные тексты программ, средств поддержки интерфейса
программиста с системными средствами для выполнения различных сервисных
функций (например, сохранения или открытия файла);
2) транслятор – программу, переводящую исходный текст во внутреннее представление компьютера;
3) отладчик – программу для трассировки и анализа
выполнения прикладных программ. Она позволяет отслеживать выполнение
программы в пооператорном режиме, идентифицировать место и вид ошибок в
программе, наблюдает за изменением значений переменных, выражений и
т. д.;
4) компоновщик – программа для подготовки прикладной программы к работе в конкретных адресах основной памяти компьютера;
5) справочные системы.
Инструментальная среда пользователя – специальные средства, встроенные в ППП:
1) библиотеки функций, процедур, объектов и методов обработки;
2) макрокоманды;
3) программные модули-вставки;
4) конструкторы экранных форм и отчетов;
5) языки запросов высокого уровня.
Обращает на себя внимание обилие средств, относящихся к
инструментарию технологии программирования. Это связано со сложностью
разработки программного продукта. Традиционная схема проектирования
программы рассмотрена далее.
|