УДК 004

О КЛАССИФИКАЦИИ КОМПЬЮТЕРНЫХ ПРОГРАММ

Васильев В.А.1, Калмыкова М.А.1
1Пензенский государственный университет

Аннотация
В статье рассматриваются вопросы классификации компьютерных программ.

Ключевые слова: Классификация, компьютерные программы


CLASSIFICATION OF COMPUTER PROGRAMS

Vasilev V.A.1, Kalmykova M.A.1
1Penza State University

Abstract
This article provides classification of computer programs

Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Васильев В.А., Калмыкова М.А. О классификации компьютерных программ // Современные научные исследования и инновации. 2013. № 2 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2013/02/20478 (дата обращения: 02.06.2017).

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

Программные продукты можно классифицировать по различным признакам. Основным признаком, по которому обычно классифицируют  программные продукты, является их назначение. Так, компьютерные программы разделяют на  системные, инструментальные и прикладные  [1 – 6].

Системные программы – это комплекс программ, осуществляющих управление внутренними компонентами компьютера и обеспечивающий их взаимодействие с прикладными программами. К системным программам (см. рис. 1) относятся: операционные системы [2 –8],  драйверы [4, 9], программные оболочки [2], утилиты [7].

Операционная система – это комплекс взаимосвязанных системных программ, контролирующий использование и распределение ресурсов вычислительной системы и организующий взаимодействие пользователя с компьютером. В зависимости от количества одновременно обрабатываемых задач и числа пользователей, различают четыре основных класса операционных систем: однопользовательские однозадачные – поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей; однопользовательские однозадачные с фоновой печатью – позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную на вывод информации на печать; однопользовательские многозадачные – обеспечивают одному пользователю параллельную обработку нескольких задач; многопользовательские многозадачные – позволяющие на одном компьютере запускать несколько задач несколькими пользователями. Известны операционные системы: MS-DOS, Windows NT, Windows 95, Windows 98, Windows 2000 , Windows Me, Windows XPWindows VistaWindows 7, Windows 8, Linux и др.

       Драйверы  – программы  расширяющие возможности операционной системы по управлению устройствами ввода-вывода, оперативной памятью и т.д. С помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся (драйверы клавиатуры, принтера, видеоконтроллера и др.). Драйверы устройств можно разделить на два основных вида: пользовательского режима и режима ядра (см. рис. 1). Драйверы пользовательского режима делятся на драйверы виртуальных устройств, использующиеся для поддержки программ (MS-DOS), и драйверы принтеров. Драйверы режима ядра подразделяются на драйверы файловой системы (реализующие ввод/вывод на локальные и сетевые диски), драйверы потоковых устройств (реализующие ввод/вывод видео и звука), драйверы видеоадаптеров (реализующие графические операции), WDM-драйверы (предназначенные в общем для расширения стандартных возможностей основного драйвера). Также, драйверы разделяют на одноуровневые и многоуровневые. Большинство драйверов, управляющих физическими устройствами, является многоуровневыми.Программы оболочки – программы, созданные для упрощения работы со сложными программными системами. Оболочки предоставляют пользователю удобный доступ к файлам и обширные сервисные услуги. Примерами программ оболочек являются: Norton Commander, Total Commander, Volkov Commander, FAR Managerи т.п.Утилиты – вспомогательные компьютерные программы, расширяющие и дополняющие соответствующие возможности операционной системы. Их подразделяют на антивирусные программы [3, 10], программы архиваторы [3, 9], программы русификаторы, программы для оптимизации дисков. Антивирусные программы предназначены для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами. Различают следующие виды антивирусных программ: детекторы – сканируют файлы для поиска известных вирусов, соответствующих определению в словаре вирусов; доктора – находят и удаляют зараженные вирусом файлы; ревизоры – запоминают исходное состояние программ, каталогов и системных областей, а затем периодически сравнивают текущее состояние с исходным. Представители антивирусного семейства программ – Microsoft Security Essentials, Kaspersky Antivirus, DrWeb, Norton Antivirus. Программы-упаковщики (архиваторы), позволяют сжимать информацию на дисках, а также объединять копии нескольких файлов в один архивный файл, для удобного хранения информации. Представители данных программ – WinZip и WinRar. Программы для  оптимизации дисков, создания резервных копий информации (например, APBackUp, Acronis True Image) – позволяют периодически копировать информацию, находящуюся на жёстком диске компьютера, на дополнительные носители.Инструментальные программы – программы, которые используются в ходе разработки, корректировки или развития других прикладных или системных программ. К инструментальным программам (см. рис. 2) можно отнести трансляторы, редакторы текстов программ, вспомогательные программы, библиотеки подпрограмм [3]. Трансляторы  реализуются в виде компиляторов или интерпретаторов, выполняют преобразование с одного языка программирования на другой [3, 11]. Компилятор читает всю программу целиком, делает её перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Интерпретатор переводит и выполняет программу строка за строкой. Редакторы обеспечивают редактирование текстов программ и цветовое выделение на экране синтаксических конструкций языка программирования. Вспомогательные программы – это отладчики, программы для получения перекрёстных ссылок и т. п. Библиотеки подпрограмм содержат заранее подготовленные подпрограммы, ко­торые могут использовать программисты.  Большое количество программ написано с использованием языков программирования: Java, С, C++, PHP, MathLab, Visual Basic/BasicFoxPro, Assembler, Pascal.

Прикладные программы – способствующие решению какой-либо задачи в пределах данной проблемной области и обеспечивающие выполнение необходимых пользователям работ: редактирование текстов, рисование картинок, обработка информационных массивов и т. д. [2, 3, 7, 12]. Их разделяют на программы общего назначения, методо-ориентированные, проблемно-ориентированные и профессионального уровня (см. рис. 3).

Программы общего назначения – программы, ориентированные на широкий круг пользователей в различных проблемных областях, позволяющие автоматизировать наиболее часто используемые функции и работы. Это графические (Adobe Photoshop, Corel Draw) и текстовые редакторы (Microsoft Word, Wordpad, Microsoft Publisher, Corel Ventua и Adobe ageMaker), табличные процессоры (Microsoft Excel – для работы с электронными таблицами), издательские системы (PageMaker, QuarkXPress, Scribus и др.), программы подготовки презентаций (Microsoft PowerPoint, Microsoft FrontPage, Activstudio, MimioStudio и др.),  мультимедийные (Media Player Codek Pack, K-Lite Codek Pack, Quick Time Player и др.), СУБД  – системы управления базами данных (Microsoft Access, Clipper, Paradox, FoxPro), компьютерные игры. Последние классифицируют по жанрам [12]: Action: 3D – шутеры, «бродилки-стрелялки», файтинги, аркада; симуляторы – технические, аркадные, спортивные, экономические; стратегии – стратегии по схеме игрового процесса, по масштабу игрового процесса; приключения, адвенчуры или квесты (текстовые, графические),  головоломки, экшн-адвенчуры; ролевые игры, головоломки, логические, пазлы, традиционные и настольные, текстовые.

Методо-ориентированные программы предназначены для решения задач числового анализа, статистических задач. К ним относятся программы: математических методов (для решения дифференциальных уравнений и имитационного моделирования, к примеру, Mathematica, SMathStudio, EquPixy, Matrix и др.), статистики (например, Calc 3D Pro), экономического назначения (бухгалтерские – 1С8, Галактика, Парус и т. п., финансового анализа  – Project Expert, Pick Soft, Budget Manager и др., правовые базы данных – Гарант, Консультант, Кодекс и т.п.), обучающие программы (например,  RocketReader), компьютерные вирусы.

Компьютерные вирусы [3, 10, 13] можно условно классифицировать  по следующим признакам: по среде обитания вируса (сетевые, файловые, загрузочные); по способу заражения среды обитания; по деструктивным возможностям; по особенностям алгоритма вируса. По способу заражения среды обитания вирусы бывают резидентные (при инфицировании компьютера находятся в оперативной памяти и являются активными вплоть до его выключения) и нерезидентные (не заражают память компьютера и являются активными ограниченное время). По деструктивным возможностям их разделяют на очень опасные (уничтожают данные на компьютере),  опасные (приводят к сбою в работе компьютера), неопасные (уменьшают память и создают различные эффекты) и безвредные (уменьшают свободную память). По особенностям алгоритма вируса различают программы: троянские программы, вирусы-черви, компаньон-вирусы, паразитические, стелс-вирус,   полиморфик-вирусы и макровирусы. Троянские программы имитируют другое приложение (программу инсталляции, текстовый редактор, игру и т. п.), при этом выполняют несанкционированные действия: сбор и пересылку информации третьим лицам, её модификацию или удаление, передаёт управление компьютером удаленному пользователю. Вирусы-черви проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по ним свои копии. Компаньон-вирусы  создают файл-двойник, который получает управление при запуске заражённого файла. Паразитические  вирусы (кроме червей и компаньонов) при распространении своих копий обязательно изменяют содержимое дисковых секторов или файлов. Стелс-вирус полностью или частично скрывает своё присутствие в системе путём перехвата обращения операционной системы к поражённым файлам, «подставляя» вместо себя незаражённые участки. Полиморфик-вирусы – не имеют постоянного участка кода и являются трудно обнаружимыми. Макровирусы – пишутся на WordBasic (не в машинных кодах), живут в документах Word, записывают себя в Normal.dot.

Проблемно-ориентированные компьютерные программы – программы для решения задач планирования, оперативного управления, материально-технического снабжения и т.д. [3]. Они включают в себя программы (рис. 3): комплексные для предприятий, комплексные для не промышленной сферы  и для отдельных предметных областей. Программы для промышленной сферы составляют технологическую основу для планирования производства, контроля за ходом выполнения плана работ, обеспечивают движение финансовых, материальных и трудовых ресурсов, контролируют сервисное обслуживание, распределение готовой продукции и маркетинг (ERP-системы: SAP, R/3, Axapta, MFG Pro, Scala, BAAN и др.). Программы непромышленной сферы предназначены для автоматизации деятельности фирм, не связанных с материальным производством (банки, биржа, торговля), (например IBIS AS, PROFILE, Midas ABS, FMS – Financial Management System, Диасофт-БАНК и др.). Программы отдельных предметных областей являются одним из основных направлений развития и создания программных продуктов, например для бухгалтерского учёта, финансового менеджмента, правовых систем и т.д. (Инфобухгалтер,  Монолит-Инфо, и пр.).

Программы профессионального уровня [3, 14] подразделяются на программы: автоматизированного рабочего места (АРМ), системы автоматизированного проектирования (САПР), автоматизированные системы научных исследований (АСНИ), автоматизированные системы управления (АСУ).

Программы АРМ – помогают решать задачи в рамках деятельности этого специалиста (например, АРМ диспетчера, АРМ конструктора, АРМ технолога и т. п.). Программные пакеты САПР предназначены для проектирования и разработки  объектов производства и строительства, и для оформления конструкторской и технологической документации. CAD-системы или компьютерная поддержка проектирования – предназначены для решения конструкторских задач и оформления конструкторской документации, моделирования трёхмерной объемной конструкции детали и оформления чертежей и текстовой конструкторской документации (P-CAD, OrCAD, AutoCAD, CADdy, CADMECH Desktop, OmniCAD, Компас-График, CAD SolidMaster и др.). CAM-системы или компьютерная поддержка изготовления – предназначены для проектирования обработки изделий на станках с числовым программным управлением и выдачи программ для этих станков. CAM-системы являются системами технологической подготовки производства (например, Mastercam, Edgecam, SolidCAM). САЕ-системы (системы инженерного анализа) или поддержка инженерных расчётов, позволяют решать задачи: расчёт на прочность, анализ и моделирование тепловых процессов, расчеты гидравлических систем и машин, расчёты процессов литья (T-Flex, Ansys, Comsol, Nastran, Salome и др.). АСНИ – программы для автоматизированных систем научных исследований на основе получения и использования моделей исследуемых объектов, явлений и процессов (программы MAPLE, EPICS, TANGO, SCILAB, MATLAB). Программы АСУ – для автоматизированных систем управления, реализующие совокупность математических методов с использованием технических средств и организационных комплексов, обеспечивающих управление сложным объектом или процессом в соответствии с заданной целью.

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


Библиографический список
  1. Макарова Н.В., Волков В.Б. Информатика. Издательство: Питер, 2011. – 576 с.
  2. Голицына О.Л., Попов И.И., Партыка Т.Л. Программное обеспечение. Учебное пособие. М.: ФОРУМ,  2008. – 448 с.
  3. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика. Высшее профессиональное образование. Издательство: Академия, 2012 – 848 с.
  4. Воронин А. А., Волков А. В. Информатика. Классификация системного программного обеспечения.  Электронный учебник. URL:http://ien.izi.vlsu.ru/teach/books/904/theory.html.
  5. Классификация программного обеспечения. Введение в системное программное обеспечение. Лекции. URL:http://xsieit.ru/download/system software/lectures/845.html.
  6. Шитов В.Н. Новейший справочник полезных компьютерных программ.  Издательство: Дом Славянской книги, 2009. – 466 с.
  7. Соболь Б.В., Галин А.Б., Панов Ю.В., Рашидова Е.В., Садовой Н.Н. Информатика. Изд. 3-е, Ростов н/д: Феникс, 2007. – 446 с.
  8. Сафонов В.О.  Основы современных операционных систем. Издательство: БИНОМ. Лаборатория знаний, 2011. – 584 с.
  9. Информатика и программирование. Основы информатики: учебник для студ. учреждений высш. проф. образования / Н.И. Парфилова, А.В. Пруцков, А.Н. Пылькин, Б.Г. Трусов; под ред. Б.Г. Трусова. — М.: Издательский центр «Академия», 2012. – 256 с.
  10. Топольский Д.В., Топольская И.Г. Компьютерные вирусы. Учебное пособие. – Челябинск, ЮУрГУ, 2008. – 25 с.
  11. Макарова Н.В., Матвеев Л.А., Бройдо В.Л., Гаврилова Т.А., Рамин Е.Л. и др. Информатика: Учебник. – 3-е перераб. изд./ Под ред. Проф. Н.В. Макаровой. – М.: Финансы и статистика, 2006 – 768 с.
  12. Юрьева Л. Н., Больбот Т. Ю. Компьютерная зависимость: формирование, диагностика, коррекция и профилактика: Монография. Издательство: Пороги, 2006 –196 с.
  13. Гордон Ян. Компьютерные вирусы без секретов. Издательство: Новый издательский дом, 2004 – 320 с.
  14. Острейковский В.А.  Информатика.  Издательство: Высшая школа, Москва, 2009.  – 511 с.
  15. Классификация компьютерных игр. URL: http://www.ipsurfing.narod.ru /text_raznoe_2.html.


Все статьи автора «optoopto»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: