Назначение и виды программного обеспечения. Понятие программного обеспечения ПК. Краткая характеристика программного обеспечения 1 понятие профессионально ориентированного программного обеспечения

Обзорная лекция № 32

для студентов специальности

«Программное обеспечение информационных технологий»

доцента кафедры ИВТ, к.т.н. Ливак Е.Н.

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Основные понятия, факты

Назначение и классификация СПО. Требования к СПО. Базовое и сервисное СПО. Операционные системы. Системы управления файлами. Системные утилиты. Системы программирования.

Навыки и умения

Разработка системного программного обеспечения в соответствии с требованиями к СПО на языках Assembler , С++.

Установка и использование системных утилит.

К лассификация программного обеспечения

Традиционно все программное обеспечение подразделяют на два класса:

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

2) прикладное (пользовательское)программное обеспечение (ППО)

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

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

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

К специальному программному обеспечению информационных и управляющих систем относятся

· программы (системы) управления базами данных;

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

· программы сбора и предварительной обработки информации (в информационно-измерительных системах, например, бортовые системы).

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

Поэтому часто такие ПО относят к системному программному обеспечению.

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

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

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

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

· создания операционной среды функционирования других программ (другими словами, для организации выполнения программ);

· автоматизации разработки (создания) новых программ;

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

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

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

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

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

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

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

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

Классификация системного программного обеспечения

В СПО традиционно включают

· системные управляющие и

· системные обрабатывающие программы.

Управляющие системные программы организуют корректное функционирование всех устройств системы.

Основные системные функции управляющих программ -

· управление вычислительными процессами и вычислительными комплексами и

· работа с внутренними данными ОС.

Как правило, они находятся в основной памяти. Это резидентные программы, составляющие ядро ОС. Управляющие программы, которые загружаются в память непосредственно перед выполнением, называю транзитными ( transitive ).

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

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

Эти программы поставляются чаще в виде дистрибутивных пакетов, включающих ПО

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

Другая классификация

Часто Системное ПО компьютера подразделяют на БАЗОВОЕ и СЕРВИСНОЕ программное обеспечение.

БАЗОВОЕ программное обеспечение (base software) - минимальный набор программных средств, обеспечивающих работу компьютера.

К базовому программному обеспечению компьютера относятся

· операционные системы и драйверы в составе ОС;

· интерфейсные оболочки для взаимодействия пользователя с ОС (операционные оболочки) и программные среды;

· системы управления файлами.

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

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

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

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

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

Любая система управления файлами не существует сама по себе - она разработана для работы в конкретной ОС и с конкретной файловой системой. То есть можно было бы систему управления файлами отнести к ОС.

Но в связи с тем, что

1) ряд ОС позволяет работать с несколькими файловыми системами (либос одной из нескольких, либо сразу с несколькими одновременно); а дополнительную файловую систему можно установить (т.е. они самостоятельны)

2) простейшие ОС могут работать и без файловых систем;

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

Заметим, что часто в специальной литературе системы управления файлами относят все-таки к операционным системам.

СЕРВИСНОЕ программное обеспечение - программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.

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

· драйверы специфических и специальных устройств (те, которые не поставляются в составе ОС).

· программы диагностики работоспособности компьютера;

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

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

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

· программы обслуживания сети.

Эти программы часто называются системными утилитами . (Заметим, что к антивирусным средствам этот термин обычно не применяется)

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

Наибольшее распространение сегодня имеют комплекты утилит: Norton Utilities - фирма Symantec; Checkit PRO Deliuxe 2.0 - фирма Touch Stone; PC Tools for Windows 2.0; программа резервного копирования HP Colorado Backup for Windows 95.

Системы программирования

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

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

Система программирования включает следующие программные компоненты:

· редактор текста;

· транслятор с соответствующего языка;

· компоновщик (редактор связей);

· отладчик;

· библиотеки подпрограмм.

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

Например, одна из популярных систем программирования на языке С/С++ от фирмы Watcom для OS /2 позволяет получать программы и для самой OS /2, и для DOS , и для Windows .

Редактор текста - это программа для вводаи модификации текста.

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

Трансляторы делятся на два класса: компиляторы и интерпретаторы. Компиляторы переводят весь исходный модуль на машинный язык. Интерпретатор последовательно переводит на машинный язык и выполнят операторы исходного модуля

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

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

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

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

· пошаговое выполнение программы (режим трассировки) с отображением результатов,

· остановка в заранее определенных точках,

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

· изображение и изменение значений переменных.

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

Средства сетевого доступа обеспечивают обработку, передачу и хранение данных в сети.

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

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

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

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

Пример. Приложения Netscape Navigator , Internet Explorer - программы- клиенты.

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

· операционные системы;

· интерфейсные оболочки для взаимодействия пользователя с ОС (операционная оболочка) и программные среды;

· системы управления файлами;

· системы программирования;

· утилиты;

· средства сетевого доступа.

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

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

Требования к системному программному обеспечению

Системные программы должны удовлетворять следующим требованиям:

· прозрачность работы;

· гарантированная надежность выполнения в соответствии со спецификациями (спецификациями называютсяфункциональные требования);

· максимальная скорость выполнения;

· минимальные затраты на хранение машинных кодов;

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

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

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

· машинно-ориентированных типа языка Assembler и

· высокого уровня типа C или C ++.

К типам данных этих языков отнесены указатели на данные различных типов или адреса данных и программных объектов.

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

Использованнаялитература

1.Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. - СПб.: Питер, 2001. - с. 17-21

2.Пустоваров В.И. Ассемблер: программирование и анализ корректности машинных программ: - К.: Издательская группа BHV , 2000. -с. 5-25

3. Internet- источник // iit.khsu.ru/isitc/informatika/6_2.htm

4. Internet- источник // www.stu.ru/inform/glaves2/glava8/gl_8_2.htm

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

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

1) Прикладные программы

2) Системные программы :

  • управление ресурсами ЭВМ.
  • операционные системы.
  • системы программирования.
  • инструментальные системы.
  • интегрированные пакеты.
  • системы машинной графики.

Жизненный цикл ПО и его стандартизация, процессы ЖЦ ПО, группы процессов ЖЦ ПО

В технологиях разработки программного обеспечения понятие жизненного цикла является одним из основных.

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

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

Согласно стандарту ISO/IEC 12207 все процессы ЖЦ ПО разделены на три группы:

1. основные процессы :

1.1. приобретение;

1.2. поставка;

1.3. разработка;

1.4. эксплуатация;

1.5. сопровождение;

2. вспомогательные процессы :

2.1. документирование;

2.2. управление конфигурацией;

2.3. обеспечение качества;

2.4. верификация;

2.5. аттестация;

2.6. совместная оценка;

2.7. аудит (определение соответствия требованиям, планам и условиям договора);

2.8. разрешение проблем;

3. организационные процессы :

3.1. управление;

3.2. инфраструктура;

3.3. усовершенствование

3.4. обучение.

3. Процесс разработки ПО: основные действия и их содержание

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

Процесс разработки включает следующие действия:

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

2) Анализ требований к системе подразумевает определение ее функциональных возможностей, пользовательских требований, требований к надежности и безопасности, к внешним интерфейсам и т.д.

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

4) Анализ требований к ПО

Проектирование архитектуры ПО

6) Детальное проектирование ПО

Кодирование и тестирование ПО

8) Интеграция ПО предусматривает сборку разработанных компонентов ПО в соответствии с планом интеграции и тестирование агрегированных компонентов.

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

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

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

12) Установка ПО осуществляется разработчиком в соответствии с планом в той среде и на том оборудовании, которые предусмотрены договором.

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


Сертификация процессов разработки ПО, модель CMM

Гарантия качества процессов разработки программных продуктов является весьма значимой в современных условиях. Такую гарантию дают сертификаты качества процесса , подтверждающие его соответствие принятым международным стандартам. Наиболее авторитетными являются модели стандартов ISO 9001:2000, ISO/IEC 15504 и модель зрелости процесса разработки ПО (Capability Maturity Model – CMM).

Основным понятием модели CMM является зрелость процессов (Software process maturity). Зрелость процессов – это степень их управляемости, контролируемости и эффективности. Повышение технологической зрелости означает потенциальную возможность возрастания устойчивости процессов и указывает на степень эффективности и согласованности использования процессов создания и сопровождения ПО в рамках всей организации.

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

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

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

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

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

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


Каскадная модель жизненного цикла ПО: описание, преимущества и недостатки,

Критерии применения

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

Системный анализ – Анализ требований – Проектирование – Реализация – Тестирование – Внедрение – Сопровождение

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

Анализ требований: определение функциональных и нефункциональных требований к ПО.

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

Реализация: преобразование проектных спецификаций в текст на ЯП (язык прогр.) (кодирование).

Тестирование: проверка корректности, исправление ошибок в функциях и логике.

Внедрение: установка разработанного ПО у заказчика, обучение персонала.

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

Преимущества:

Модель хорошо известна потребителям;

Хорошо срабатывает для тех проектов, которые достаточно понятны

Весьма доступна для понимания, проста и удобна в применении;

Ее структурой может руководствоваться даже неопытный персонал;

Отличается стабильностью требований;

Хорошо срабатывает тогда, когда требования к качеству доминируют над тре­бованиями к затратам и графику выполнения проекта;

Способствует осуществлению строгого контроля менеджмента проекта;

Стадии модели довольно хорошо определены и понятны;

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

Недостатки:

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

Выражение "35 процентов выполнено" - не несет никакого смысла и не является показа­телем для менеджера проекта;

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

У клиента едва ли есть возможность ознакомиться с системой заранее;

Все требования должны быть известны в начале жизненного цикла;

Возникает необходимость в жестком управлении и контроле, поскольку в модели не предусмотрена возможность модификации требований;

Модель основана на документации, а значит, количество документов может быть избыточным;

Весь программный продукт разрабатывается за один раз. Нет возможности раз­бить систему на части;

Отсутствует возможность учесть переделку и итерации за рамками проекта.

Критерии применения: каскадная модель может использоваться при создании ПО, для которого в самом начале разработки можно достаточно точно и полно сформулировать все требования.

Критерии применения

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

1) бумажный макет или «электронный» макет , который представляет GUI;

2) работающий макет (выполняет только часть требуемых функций);

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

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

Преимущества:

Пользователь может "увидеть" системные требования в процессе их сбора командой разработчиков;

Снижается возможность возникновения путаницы, искажения информации при определении системных требований;

В процесс можно внести новые требования пользо­вателя;

Да
Нет
образуются постоянные, видимые признаки прогресса;

Качество продукта определяется при активном участии пользователя в процесс разработки;

Благодаря меньшему объему доработок уменьшаются затраты на разработку;

Обеспечивается управление рисками;

Недостатки:

Разработанные "на скорую руку" прототипы страдают от неадекватной или недостающей документации;

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

Решение трудных проблем может отодвигаться на бу­дущее. Это приводит к тому, что последующие полученные продукты могут не оправдать надежды, которые возлагались на прототип;

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

Если выполнение проекта завершается досрочно, у ко­нечного пользователя останется лишь частичная система;

Вызывает зависимость и может продолжаться слишком долго;

Критерии применения:

Требования не известны заранее, не постоянны или могут быть неудачно сформулированы;

Существует потребность в разработке пользовательских интерфейсов;

Осуществляются временные демонстрации;

Выполняется новая, не имеющая аналогов разработка;

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

Алгоритмы или системные интерфейсы усложнены;

Разрабатывается ПО, когда проявляется средняя и высокая степень риска;


Типы связей IDEF3

Соединения разбивают или соединяют внутренние потоки:

Типы соединений

Графическое обозначение Название Вид Правила инициализации
& Соединение «И» Разворачивающее Каждое конечное действие обязательно инициируется
Сворачивающее Каждое исходное действие обязательно должно завершиться
X Соединение «исключающее ИЛИ» Разворачивающее Одно и только одно конечное действие инициируется
Сворачивающее Одно и только одно исходное действие должно завершиться
O Соединение «ИЛИ» Разворачивающее Одно или несколько конечных действий инициируются
Сворачивающее Одно или несколько исходных действий должны завершиться

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

Виды указателей IDEF3

22 Основные этапы проектирования программных систем и их содержание

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

Модель хранилища данных

Модель «клиент-сервер»

Трехуровневая модель

Преимущества трехуровневой модели:

· упрощается такая модификация уровня, которая не влияет на другие уровни;

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

Модель абстрактной машины

Подсистема 2
Подсистема N
Обработчик событий и сообщений

Модульная декомпозиция

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

· модель потока данных;

· модель объектов.

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

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

Принцип «разделяй и властвуй» . С увеличением количества модулей (и уменьшением их размера) затраты на их реализацию также растут.

Затраты на модульность

Таким образом, существует оптимальное количество модулей Opt, которое приводит к минимальной стоимости разработки.

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

Информационная закрытость обозначает следующее:

· все модули независимы, обмениваются только информацией, необходимой для работы;

· доступ к операциям и структурам модуля ограничен.

Достоинства информационной закрытости:

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

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

Идеальный модуль играет роль «черного ящика», содержимое которого невидимо клиентам. Он прост в использовании – количество органов управления им невелико, его легко развивать и корректировать в процесс сопровождения программной системы. Для обеспечения таких возможностей система должна отвечать особым требованиям: модули системы должны высокую связность и низкое сцепление.


Типы вызовов модулей

А
В
В
А
С
А
В
а)
б)
в)

Условные и циклические вызовы модулей: а) – циклический; б) – условный; в) – однократный

Переход

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

На диаграмме состояний переход изображается сплошной линией со стрелкой, которая направлена в целевое состояние.

Сложные переходы

Выбор и соединение

Псевдосостояние выбора (choice pseudo state) предназначено для моделирования нескольких альтернативных ветвей при реализации поведения конечного автомата

Псевдосостояние соединения (junction pseudo state) является вершиной со свободной семантикой, которая используется для соединения вместе нескольких переходов

Разделение и слияние

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

Вершина слияния (join vertex) – псевдосостояние, предназначенное для соединения нескольких переходов, которые имеют в качестве своих источников вершины из различных ортогональных регионов композитного состояния.

Точки входа и выхода

Точка входа (entry point) – псевдосостояние, предназначенное для моделирования входа в некоторый конечный автомат или композитное состояние

Точка выхода (exit point) – псевдосостояние, предназначенное для моделирования выхода из некоторого конечного автомата или композитного состояния

Псевдосостояние неглубокой истории (shallow pseudo state)

Псевдосостояние неглубокой истории (shallow pseudo state) предназначено для представления самого последнего активного подсостояния композитного состояния после выхода из него.

Псевдосостояние глубокой истории (deep pseudo state)

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

Интерфейсы

Предоставляемый интерфейс (provided interface) – интерфейс, который компонент предлагает для своего окружения.

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

Порт

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

Наличие имени у порта не является обязательным

При отсутствии имени порта его тип ассоциируется с типом интерфейса, с которым связан порт.

Собирающий соединитель
(assembly connector)

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

Делегирующий соединитель
(delegation connector)

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

Делегирующий соединитель выполняет одну из следующих задач:

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

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


Узел(node)

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

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

Хотя в языке UML 2.х конкретные стереотипы для узлов не определены, разработчики предложили для этой цели следующие текстовые стереотипы:

«application server» (сервер приложений), «client workstation» (клиентская рабочая станция), «mobile device» (мобильное устройство), «embedded device» (встроенное устройство), «processor» (процессор), «sensor» (датчик), «modem» (модем), «net» (сеть), «printer» (принтер) и другие.

Понятие программного обеспечения, классификация программного обеспечения

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

К ПО относится также вся область деятельности по проектированию и разработке ПО.

Программное обеспечение - неотъемлемая часть ЭВМ. Оно является логическим продолжением технических средств ЭВМ, расширяющие их возможности и сферу использования.

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

2) Системные программы :

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

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

Более или менее определенно сложились следующие группы программного обеспечения :

  • операционные системы.
  • системы программирования.
  • инструментальные системы.
  • интегрированные пакеты.
  • динамические электронные таблицы.
  • системы машинной графики.
  • системы управления базами данных (СУБД).
  • прикладное программное обеспечение.

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

Основные понятия

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

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

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

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

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

Приложение (application ) - реализованное средствами информационной технологии решение задачи.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.6.2. Классификация программного обеспечения

Классификация по сфере использования

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

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

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

  • прикладное программное обеспечение;
  • инструментарий технологии программирования.

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

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

Рис. 2. Классификация программного обеспечения

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

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

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

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

Операционная система предназначена для планирования и управления вычислительными ресурсами компьютера, для управления выполнением прикладного программного обеспечения. В этом классе программных продуктов наиболее широкое распространение получили операционные системы Windows (фирма Microsoft), OS/2 (фирма IBM), Unix (свободнораспространяемая).

Сервисное программное обеспечение составляют программы и программные комплексы, обеспечивающие:

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

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

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

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

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

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

  • создание отдельных приложений или их комплексов;
  • автоматизацию процессов разработки и реализации информационных систем.

В рамках этих направлений сформировались следующие группы программных продуктов:

  • средства для создания приложений, включающие:
  • локальные средства выполнения отдельных работ по созданию программ;
  • интегрированные инструментальные среды разработчиков программ для выполнения комплекса взаимосвязанных работ по созданию программ;
  • CASE - технология (Computer-Aided System Engineering ), представляющая методы анализа, проектирования и создания программных систем с применением компьютерной техники.

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

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

  • машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
  • машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера (ассемблер);
  • алгоритмические языки (algorithmic language) - независящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (ПАСКАЛЬ, ФОРТРАН, БЕЙСИК и др.);
  • проблемно-ориентированные языки (universal programming language) - языки программирования, предназначенный для решения задач определенного класса (ЛИСП, РПГ, СИМУЛА и др.);
  • интегрированные системы программирования.

Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования , и объектно-ориентированные языки, такие как, Visual Basic, Visual C ++, поддерживающие понятие объектов, их свойств и методов обработки.

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

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

Средства CASE - технологий делятся на две группы:

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

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

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

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

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

Большинство CASE-технологий использует также метод “прототипов” для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически.

Прикладное программное обеспечение

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

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

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

Примерная классификация прикладного программного обеспечения представлена на рисунке 3.

Рис. 3. Классификация прикладного программного обеспечения

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

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

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

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

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

Основные тенденции в области развития проблемно-ориентированных программных средств:

  • создание программных комплексов в виде автоматизированных рабочих мест (АРМ) управленческого персонала;
  • создание интегрированных систем управления предметной областью на базе вычислительных сетей, объединяющих АРМы в единый программный комплекс с архитектурой “клиент-сервер”;
  • организация данных информационных систем в виде распределенной базы данных в компьютерной сети;
  • настройка функций обработки конечными пользователями (без участия программистов);
  • защита программ и данных от несанкционированного доступа.

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

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

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

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

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

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

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

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

Интегрированные пакеты имеют в своем составе следующие типовые компоненты:

  • СУБД;
  • текстовый редактор;
  • графический редактор;
  • электронную таблицу;
  • органайзер;
  • средства поддержки электронной почты;
  • программу создания презентаций.

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

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

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

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

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

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

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

Выводы

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

Вопросы для самопроверки

  1. Что такое программа?
  2. Что такое программное обеспечение?
  3. Дайте определение задачи и приложения.
  4. Что такое предметная область?
  5. Какие вы знаете основные этапы процесса создания программ?
  6. В чем состоит постановка задачи?
  7. Что такое алгоритм решения задачи?
  8. Назовите основные свойства алгоритмов.
  9. Что такое программный продукт и каковы его свойства?
  10. Что такое сопровождение программного продукта?
  11. Как можно классифицировать программное обеспечение?
  12. Что входит в состав системного программного обеспечения?
  13. Что составляет подкласс сервисного программного обеспечения?
  14. Дайте определение программы утилиты. Приведите примеры.
  15. Что такое инструментарий технологии программирования?
  16. Дайте определение CASE-технологии и когда она используется.
  17. Какие виды языков программирования вы знаете?
  18. Материал с сайта http://mega.km.ru/pc/srch.asp
Корпоративные базы данных Материал с сайта http://mega.km.ru/pc/Encyclop.asp?Topic=pc_918

Каковы основные тенденции в разработке ЭВМ 5–­го поколения?

Опишите принцип действия лазерных принтеров.

Что такое материнская плата? Какие компоненты ПК на ней находятся?

Какие программы входят в состав BIOS?

Какие функции в компьютере выполняет оперативное запоминающее устройство?

Какие основные параметры процессора? Что характеризует тактовая частота и в каких единицах она измеряется?

В чем смысл магистрально – модульного принципа построения архитектуры ПК?

Какие типы шин существуют в компьютере и для чего они предназначены?

Какая элементная база была основой создания ЭВМ третьего поколения?

Какие принципы построения ЭВМ разработал Джон фон Нейман?

В чем состоит вклад Ч. Бэббиджа в развитие средств вычислительной техники?


ГЛАВА 3

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ

КЛЮЧЕВЫЕ СЛОВА: программа, системное программное обеспечение, прикладное программное обеспечение, файл, папка, операции с файлами, файловая система, ОС Windows XP, главное меню, стандартные программы, ярлык, Рабочий стол, окна, панель управления, программа Проводник, Корзина, форматирование, поисковая система, пакет Microsoft Office, компьютерное пиратство, лицензионное соглашение.

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

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

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

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

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

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



Ядром любой СПО являются ОС, поэтому они более подробно будут рассмотрены далее.

Системы программирования в большинстве своем предназначены для создания новых программ. К этим системам обычно относят языки программирования, которые, как правило, предназначены для профессиональных программистов. Любая система программирования работает только в соответствующей ОС, под которую она и создана, однако она может позволить разрабатывать программы и под другие ОС. В последнее время появились мощные системы программирования на языках Java, Delphi, СИ++, Visual Basic.

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

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

Различают следующие разновидности утилит:

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

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

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

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

— программы оптимизации и контроля качества дискового пространства ;

— программы восстановления информации, форматирования, защиты данных ;

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

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

— программы для записи CD – ROM, CD – RW, DVD и многие другие.

Часть утилит входит в состав ОС, а другие функционируют автономно.

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

Файл – это именованный набор данных, организованных в виде совокупности записей одинаковой структуры. Для управления этими данными и создаются системы управления файлами. Как правило, все современные ОС имеют системы управления файлами. Имеются ОС, обеспечивающие работу с несколькими файловыми системами. Некоторые простейшие ОС могут работать и без файловых систем.

По способам именования файлов различают «короткое» и «длинное» имя. До появле­ния ОС Windows 95 общепринятым способом именования файлов было Соглашение 8.3. Согласно этому соглашению, принятому в MS – DOS, имя файла состояло из двух частей: собственно имени и расширения. На имя файла отводится 8 символов, а на его расширение – 3 символа. Имя от расширения отделяется точкой. Как имя, так и расширение могут включать только алфавитно – цифровые символы латинского алфавита.

Основным недостатком «коротких» имен является их низкая содержательность. Далеко не всегда удается выразить несколькими символами характеристику файла, поэтому с появлением ОС Windows 95 было введено понятие «длинного» имени. Такое имя может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов. В имени разрешается использовать пробелы и несколько точек. Прописные и строчные буквы не различаются ОС, однако символы разных регистров отображаются ОС. Расширением имени счи­таются все символы, идущие после последней точки, например:


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

— .xls – электронная таблица MS Excel;

— .doc – текстовый файл редактора MS Word;

— .mdb – файл базы данных MS Access;

— .zip – упакованный файл;

— .bmp – графический файл и т.д.

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

Атрибуты – это дополнительные параметры, опреде­ляющие свойства файлов. ОС позволяет их контролировать и изменять. Значения атрибутов учитываются при проведении опе­раций с файлами.

Основных атрибутов четыре:

— Только для чтения (Read only);

— Скрытый (Hidden);

— Системный (System);

— Архивный (Archive).

Атрибут «Только для чтения » ограничивает возможности работы с файлом. Его уста­новка означает, что файл не предназначен для внесения изменений.

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

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

Атрибут «Архивный » в прошлом использовался для работы программ резервного копи­рования. Предполагалось, что любая программа, изменяющая файл, должна авто­матически устанавливать этот атрибут. Современные программы резервного копирования используют другие средства для установления факта изменения файла, и данный атрибут во внимание не принимается. Его изменение вруч­ную средствами ОС не имеет большого практического значения.

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

До появления ОС Windows 95 при описании иерархической файловой структуры использовался термин «каталог». С появлением семейства ОС Windows был введен новый термин – «папка». Эти термины равнозначны: каждому каталогу файлов на диске соответствует одно­именная папка ОС системы.

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

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

В иерархических структурах данных адрес объекта задается маршрутом (путем доступа), ведущим от вершины структуры к объекту. При записи пути доступа к файлу, проходящего через систему вложенных каталогов, все промежуточные ката­логи разделяются между собой определенным символом. Во многих ОС в качестве такого символа используется «\» (обратная косая черта), например:


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

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

Для загрузки самой ОС и организации работы той или иной системы управления файлами были приняты специальные соглашения о структуре жесткого диска.Принцип организации файловой системы зависит от ОС. Жесткий диск представляется как набор поверхностей. У гибких дисков их всего две (верхняя и нижняя). Жесткие диски – это на самом деле «этажерки», состо­ящие из нескольких пластин, поэтому количество поверхностей у них больше. Каждая поверхность диска разделяется на кольцевые дорожки, а каж­дая дорожка – на секторы (рис. 3.2). Размеры секторов фиксированы и равны 512 байт.

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

Цилиндр – это совокупность всех дорожек, имеющих одинако­вые номера, то есть равноудаленные от оси вращения. Поэтому реально местопо­ложение файла на жестком диске определяется номером цилиндра, номером поверх­ности и номером сектора.

Сектор – это наименьшая единица хранения данных, но для адресации она используется далеко не во всех файловых системах из – за малого размера. Такие ОС, как MS – DOS, Windows, OS/2, используют для адресации более крупную единицу хранения, называемую клас­тером. Кластер – это группа соседних секторов. Размер кластера зависит от раз­мера жесткого диска. Чем больше диск, тем большим назначается размер кластера. Типовые значения размера одного кластера: 8, 16, 32 или 64 сектора.

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

В таблице 3.1. перечислены типы файловых систем и версии ОС Windows, которые их используют.

Используемыми ОС Windows файловыми системами являются:

— FAT16 – наиболее старая файловая система, которую могут использовать практически все Из – за имеющихся ограничений она не может использовать диски больше, чем 4096 Мб. Система FAT16 считается устаревшей, хотя иногда успешно применяется и по сей день. Максимально возможный размер файла – 4 Гб.

— FAT32 – более новая файловая система, с которой могут работать все новые ОС, выпущенные после 1998 г. Размер дисков под FAT32 может достигать 127 Гб. Максимально возможный размер файла – 4 Гб.

— NTFS – старая, но тщательно разработанная файловая система, отличающаяся от FAT16 и FAT32 своей надежностью и способностью обеспечить защиту от несанкционированного доступа. Эту файловую систему «понимают» далеко не все ОС.

— CDFS – файловая система, используемая для дисков CD – ROM. На жестких дисках она не применяется. Используется всеми современными ОС.

Каждый вопрос экзамена может иметь несколько ответов от разных авторов. Ответ может содержать текст, формулы, картинки. Удалить или редактировать вопрос может автор экзамена или автор ответа на экзамен.

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

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

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

Существуют следующие виды программного обеспечения (рисунок 7.1):

Базовое программное обеспечение;

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

Прикладное программное обеспечение;

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

Рисунок 7.1. - Классификация программного обеспечения

Базовое программное обеспечение - самый низкий уровень программного обеспечения. Оно отвечает за взаимодействие с базовыми программными средствами. Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающими устройствами (ПЗУ - Read Only Memory). Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации.

В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ - Erasable and Programmable Read Only Memory ) . В этом случае изменение содержания ПЗУ можно выполнять как непосредственно в составе вычислительной системы (такая технология называется флэш-технологией ), так и вне ее, на специальных устройствах, называемых программаторами .

К базовому программному обеспечению относится базовая система ввода-вывода.

BIOS ( BIOS Basic Input / Output System ) - набор программ небольшого размера, в функции которых входят начальное тестирование оборудования и обеспечение взаимодействия компонентов компьютера. Имеется несколько видов BIOS: например, видео-BIOS обеспечивает работу видеоплаты, начиная от ее тестирования в момент включения и заканчивая взаимодействием видеоплаты с процессором, BIOS SCSI-контроллера выполняет роль переводчика между интерфейсом и системной шиной и т. п. Но наиболее важной в компьютере является системная BIOS, в функции которой входят:

Тестирование компьютера при включении питания с помощью специальных тестовых программ;

Поиск и подключение к системе других BIOS, расположенных на платах расширения;

Распределение ресурсов между компонентами компьютера.

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

Физически BIOS — это набор микросхем постоянной памяти (ROM, Read Memory — только для чтения), расположенных на материнской плате.

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

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

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

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

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

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

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

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

Пакеты прикладных программ ( application program package ) — комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.

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

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

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

Инструментарий технологии программирования делится на следующие группы:

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

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

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

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

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

Классификация ПО

Программы, работающие на компьютере, можно разделить на три категории:

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

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

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

  1. подготовки текстов (документов) на компьютере � редакторы текстов;
  2. подготовки документов типографского качества � издательские системы;
  3. обработки табличных данных � табличные процессоры;
  4. обработки массивов информации � системы управления базами данных.

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

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

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

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

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

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

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

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

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

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

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

Программы-оболочки. Весьма популярный класс системных программ составляют программы-оболочки. Они обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS.Многие пользователи настолько привыкли к удобствам, предоставляемым своей любимой программой-оболочкой, что чувствуют себя без нее �не в своей тарелке�. Наиболее популярными программами-оболочками являются Norton Commander, Xtree Pro Gold, PC Shell из комплекта PC Tools. В состав операционной системы MS DOS, начиная с версии 4.0, также входит собственная программа-оболочка Shell (впрочем, не очень популярная).

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

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

Операционные оболочки упрощают создание графических программ, предоставляя для этого большое количество удобных средств, и расширяют возможности компьютера. Но платой за это являются повышенные требования к ресурсам. Так, для эффективной работы c Microsoft Windows необходим компьютер АТ/386, имеющий 4 Мбайта оперативной памяти. Наиболее популярной программой-надстройкой является Microsoft Windows, иногда используется Desq View и значительно реже другие оболочки (GEM, Geo Works и др.).

К системным программам можно также отнести большое количество так называемых утилит, т.е. программ вспомогательного назначения. Ниже мы кратко опишем некоторые разновидности этих программ. Часто утилиты объединяются в комплексы, наиболее популярны комплексы Norton Utilities, PC Tools Deluxe и Mace Utilities.

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

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

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

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

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

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

Loading...Loading...