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

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

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

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

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

	пакеты прикладных программ;

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

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

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

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

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

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





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

Использования



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

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

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

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

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

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

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

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

	Ассемблер – транслятор, переводит программы, записанные на машинно-ориентированном языке ассемблера в машинные коды.

	Языковый процессор – это транслятор, объединяющий в себе функции компиляции, интерпретации и ассемблирования.

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

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



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

Даже при наличии десятков тысяч программ IBM PC пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В таких случаях следует использовать системы программирования, т. е. системы для разработки новых программ. Современные системы программирования для персональных компьютеров обычно представляют собой весьма мощные и удобные средства для разработки программ, в них входят:

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

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

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

ТЕМА 5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА

5.1. Программное обеспечение компьютера. Классификация

Бурное развитие новой информационной технологии и расширение сферы ее применения привели к интенсивному развитию программного обеспечения (ПО). Достаточно отметить, что в 1996 г. мировым сообществом на программное обеспечение затрачено свыше 110 млрд долларов. Причем тенденции развития ПО показывают, что динамика затрат имеет устойчивую тенденцию к росту, примерно 20% в год.
     Под программным обеспечением информационных систем понимается совокупность программных и документальных средств для создания и эксплуатации систем обработки данных средствами вычислительной техники.
     В зависимости от функций, выполняемых программным обеспечением, его можно разделить на: 

системные программы (иногда называют базовым программным обеспечением); 

прикладные программы; 

среды программирования.

К системным относятся прежде всего операционные системы и программы, входящие в состав операционной системы (например, драйвера для различных устройств компьютера (от английского слова "drive" - управлять), т.е. программы, управляющие работой устройств: драйвера для сканера, принтера и т.д.). Кроме операционных систем еще относятся обслуживающее программное обеспечение (их ещё называют сервисные или утилиты, от английского слова "utilize" - использовать) для обслуживания дисков, архиваторы, антивирусные программы и т.д. 
     К прикладным относятся программы, предназначенные для решения задач в различных сферах деятельности человека (бухгалтерские программы, текстовые и графические редакторы, базы данных, экспертные системы, переводчики, энциклопедии, обучающие, тестовые и игровые программы и т.д.).
     К средам программирования относятся инструментальные средства для создания новых программ (ЛОГО, QuickBASIC, Pascal, Delphi и т.д.) 



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

 

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

В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории (смотри рисунок): 

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

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

управление ресурсами компьютера; 

создание копий используемой информации; 

проверка работоспособности устройств компьютера; 

выдача справочной информации о компьютере и др.; 

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

 



 

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


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


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


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


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


На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения: 

операционные системы и оболочки; 

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

инструментальные системы; 

интегрированные пакеты программ; 

динамические электронные таблицы; 

системы машинной графики; 

системы управления базами данных (СУБД); 

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

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






 

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

 

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


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


В настоящее время существует большое количество ОС, разработанных для ЭВМ различных типов. На ЭВМ Единой Системы (ЕС ЭВМ), например, используются такие операционные системы, как СВМ и ОС ЕС, на малых ЭВМ (СМ-4, СМ-1420 и др.) - ОС РВ и RSX-11 М, на ПЭВМ - DOS 6.22, Windows 95, Windows NT, Unix, OS/ 2. 


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


Например, большое распространение получили следующие сетевые ОС: NetWare 4.1 (4)ирма Novell), Windows NT Server 3.5 (фирма Microsoft) и LAN Server 4.0 Advanced (фирма IBM). 


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

интерфейсные системы; 

оболочки операционных систем; 

утилиты. 

Интерфейсные системы являются естественным продолжением операционной системы и модифицируют как пользовательский, так и программный интерфейсы, а также реализуют дополнительные возможности по управлению ресурсами ЭВМ. В связи с тем, что развитая интерфейсная система может изменить весь пользовательский интерфейс, часто их также называют операционными системами. Эго относится, например, к Windows 3.11 и Windows 3.11 for Work Groups (для рабочих групп). 


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


На ПЭВМ широко используются такие программы-оболочки, как Norton Commander и DOS Navigator. 


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

обслуживание магнитных дисков; 

обслуживание файлов и каталогов; 

предоставление информации о ресурсах компьютера; 

шифрование информации; 

защита от компьютерных вирусов; 

архивация файлов и др. 

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


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

 

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


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


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


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


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

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


4. Операционные системы

 

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


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


В функции операционной системы входит: 


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


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


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


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


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


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


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


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


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


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


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

Современные операционные системы для ПЭВМ отличаются друг от друга, прежде всего ориентацией на машины определенного класса, поддерживаемыми ими режимами обработки, предоставляемыми сервисными возможностями. Примерами ОС для ПЭВМ являются СР/М, MS DOS, OS/2 Warp (IBM), Windows 95 (Microsoft). 
 


 

 

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

 

Система программирования — это система для разработки новых программ на конкретном языке программирования.

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


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


Популярные системы программирования – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. 


В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений:
 





пакет Borland Delphi (Дельфи) — блестящий наследник семейства компиляторов Borland Pascal, предоставляющий качественные и очень удобные средства визуальной разработки. Его исключительно быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования. 

пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций. 

пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений. 
 




 

 

6. Инструментальные программы

 

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

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

редакторы; 

средства компоновки программ; 

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

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

графические пакеты программ и т.п. 

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

Тема 1.4. Cистемное программное обеспечение ПЭВМ.

СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПЭВМ

Программное обеспечение (ПО) по функциональному признаку делятся на два класса:

1. Прикладное ПО;

2. Системное ПО.

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

Прикладное ПО

Прикладные программы - программы, решающие профессиональные задачи.

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

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

Системное ПО

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

-запуск программ на решение;

-запись/считывание программ с дисков;

-разметка диска для записи программ;

-просмотр содержания дисков;

-удаление программ с дисков

-перевод символов с человеческого языка на язык ЭВМ и

обратно;

-печать данных на принтере и т. д.

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

Такие программы организуют работу ЭВМ и не связаны по своей сути с спецификой решаемых задач. Они выделяются в состав комплекса программ называемых Операционной Системой (ОС).

Операционная Система - совокупность программ обеспечивающих работу ЭВМ.

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

ОС по сути дела является составной частью любой ЭВМ. Без нее машина безжизненна.

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

Операционные программы создают системные программисты хорошо знающие устройство и работу аппаратных средств ЭВМ.

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

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

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

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

В результате 50 летней истории развития вычислительной техники некоторые наиболее удачные ОС стали доминировать в тех или иных классах ЭВМ.

В настоящее время ОС классифицируют по следующим признакам:

1. Количеству пользователей, одновременно обслуживаемой системой;

2. По числу одновременно решаемых задач.

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

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

Для ПЭВМ разработаны и используются несколько ОС. Охарактеризуем три наиболее распространенные из них ОС: DOS, OS/2 и UNIX