sonyps4.ru

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

СОСТОЯНИЕ И ТЕНДЕНЦИИ РАЗВИТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ПРОГРАММНЫЕ ПРОДУКТЫ И ИХ ОСНОВНЫЕ ХАРАКТЕРИСТИКИ

· Основные понятия программного обеспечения

· Характеристика программного продукта

· Защита программных продуктов

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

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

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

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

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

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

Задача (problem, task) - проблема, подлежащая решению. Приложение (application) - программная реализация на компьютере решения задачи.

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

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

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

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

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

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

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

Рис. 8.1. Схема процесса создания программ

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

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

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

Цель или назначение задачи, ее место и связи с другими задачами;

Условия решения задачи с использованием средств вычислительной техники;

Требоования к периодичности решения задачи;

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

Состав и форма представления выходной информации;

Источники входной информации для решения задачи;

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

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

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

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

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

Алгоритм решения задачи имеет ряд обязательных свойств:

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

Определенность алгоритма - однозначность выполнения каждого отдельного шага преобразования информации;

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

Массовость - пригодность алгоритма для решения определенного класса задач.

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

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

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



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

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

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

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

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

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

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

Внедрение прогрессивных инструментальных средств разработки программ;

Использование специальных методов и приемов организации работ по разработке программ.

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

  • Системный программист (system / software programmer, toolsmilh) занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
  • Прикладной программист (application programmer) осуществляет разработку и отладку программ для решения функциональных задач.

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

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

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

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

Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками-операторами ЭВМ.

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

Рис. 8.3. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ.

Тенденции развития программного обеспечения
Программное обеспечение как товар. Создание программного обеспечения для персональных компьютеров за какой-то десяток лет превратилось из занятия программистов-одиночек в важную и мощную сферу промышленности. Только в США более 50 фирм - производителей программного обеспечения имеют объемы продаж более 10 млн. дол., а у десяти из них (в частности, Microsoft, Lotus, Novell, Borland, Autodesk, Symantec и Computer Associates) объемы продаж превышают 100 млн. дол. Поэтому развитие программного обеспечения, предназначенного для широкого круга пользователей, происходит уже не в состязании индивидуальных программистов, а в процессе ожесточенной конкурентной борьбы между фирмами-производителями программного обеспечения. Доля некоммерческого программного обеспечения постоянно снижается и все более ограничивается программами, создаваемыми в процессе научных исследований или для собственного удовольствия.
Важнейшие свойства программ. При разработке коммерческих программ основной задачей фирм-разработчиков является, естественно, обеспечение их успеха на рынке. Для этого необходимо, чтобы программы обладали следующими качествами:
* функциональность программы, т.е. полнота удовлетворения ею потребностей пользователя;
* наглядный, удобный, интуитивно понятный и привычный пользователю интерфейс (т.е. способ взаимодействия программы с пользователем);
* простота освоения программы даже начинающими пользователями, для чего используются информативные подсказки, встроенные справочники и подробная документация;
* надежность программы, т.е. устойчивость ее к ошибкам пользователя, отказам оборудования и т.д., и разумные ее действия в этих ситуациях.
Стандартизация. Во многих областях совместная работа различных производителей программного обеспечения приводит к стандартизации отдельных элементов интерфейса программ, форматов данных и т.д., что весьма удобно для пользователей. Это происходит прежде всего потому, что разработчики программ перенимают друг у друга удачные находки и приемы и стремятся обеспечить совместимость с другими наиболее популярными программами. В результате использования ниспадающих (pull-down) меню или вид таблицы табличного процессора будут приблизительно одинаковыми во всех программах, хотя они созданы различными разработчиками, подобно тому, как похожи кнопки в лифтах, изготовленных разными заводами.
Удобство пользовательского интерфейса программ является важнейшим фактором, определяющим приемлемость программы для пользователей, а значит, и ее успеха на рынке. Большинство выпускаемых на рынок программ используют достаточно стандартные методы организации интерфейса: ниспадающее меню, панели для выбора ответа, встроенные диалоговые справочники и т.д. Как правило, пользователь может работать не только с клавиатурой, но и с мышью. В последнее время все большее количество программ используют графический пользовательский интерфейс (graphical user interface, GUI), в котором, в частности, для упрощения работы пользователя вместо надписей на экране употребляются рисунки (пиктограммы). При этом графический интерфейс используется не только в таких программах, как графические редакторы или издательские системы, но и в табличных процессорах, текстовых редакторах и т.д. Многие из программ с графическим интерфейсом работают под управлением системы Windows.
Увеличение мощности программ. Важнейшей тенденцией развития программного обеспечения является неуклонное увеличение их мощности - программы могут обрабатывать большие количества данных, делать это быстрее, предоставляют пользователю больше выполняемых функций и т.д. Таким образом, разработчики программного обеспечения используют возможности, появляющиеся из-за увеличения мощности компьютеров. Весьма заметно и стремление к интеграции функций программного обеспечения. Например, в табличный процессор включаются функции базы данных, в издательскую систему - функции текстового редактора и т.д.
Оборотной стороной увеличения мощности программ является повышение их требований к аппаратуре. Например, программы, работающие под управлением Windows, нельзя использовать на 486, требуется компьютер не ниже класса Pentium, для сносного быстродействия при этом необходим компьютер с микропроцессором 100 Mhz и 16 Мбайта памяти, а для комфортной работы - 200 Mhz и 32 Мбайт оперативной памяти. Для многих программ необходимы оперативная память не менее 16 Мбайт, графический монитор класса не ниже VGA, хорошая графическая плата и т.д.
Коммерческие разновидности программ
В настоящее время большинство программ распространяется на коммерческой основе. Для приобретения таких программ необходимо вначале заплатить за них определенную сумму денег. Такие программы называются коммерческими.
Существуют и такие программы, которые распространяются бесплатно. Чаще всего эти программы написаны каким-нибудь опытным программистом для себя, затем переданы для общего пользования. Такие программы называются бесплатными (freeware). Иногда разработчики программы указывают, что их программа является бесплатной для индивидуальных пользователей, но для использования в организациях должна покупаться соответствующая лицензия.
Промежуточное положение между бесплатными и коммерческими программами занимают условно-бесплатные программы (shareware). Эти программы можно получить и опробовать бесплатно, но для систематического их использования необходимо уплатить разработчикам или распространителям программы определенную сумму.
Нумерация версий программ
Программы, которые нашли популярность у пользователей, как правило, совершенствуются разработчиками: в них исправляются ошибки, включаются новые возможности и т.д. Чтобы сохранить преемственность, получившимся программам не дается какое-то другое имя, а вместо этого они называются версиями исходных программ.
По установившейся традиции версии программ обозначаются числами вида 1.00, 3.5 и т.д., т.е. десятичных дробей в американской записи. Номер версии обычно указывается после названия программы, например Windows 3.0 (читается "три ноль"). При этом существенные изменения в программах отражаются увеличением цифры до точки, незначительные изменения или исправления ошибок - увеличением цифр, стоящих после точки. Например, первоначальная версия программы обозначается 1.0, версия с некоторыми улучшениями - 1.1, а после внесения существенных дополнений новая версия программы будет иметь номер 2.0.
Также существует нумерация программ по годам, например: Windows 98 - версия, выпущенная в 98 году.
Большинство фирм-разработчиков программ продают на льготных условиях (а иногда даже предоставляют бесплатно) новые версии своих программ тем, кто ранее приобрел одну из предшествующих версий. Например, программа может стоить 400 дол., а для владельцев предыдущих версий - 50 дол.

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

Только в США более 50 фирм - производителей программного обеспечения имеют объемы продаж более 10 млн. дол., а у десяти из них (в частности, Microsoft, Lotus, Novell, Borland, Autodesk, Symantec и Computer Associates) объемы продаж превышают 100 млн. дол. Поэтому развитие программного обеспечения, предназначенного для широкого круга пользователей, происходит уже не в состязании индивидуальных программистов, а в процессе ожесточенной конкурентной борьбы между фирмами-производителями программного обеспечения. Доля некоммерческого программного обеспечения постоянно снижается и все более ограничивается программами, создаваемыми в процессе научных исследований или для собственного удовольствия.

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

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

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

Удобство пользовательского интерфейса программ является важнейшим фактором, определяющим приемлемость программы для пользователей, а значит, и ее успеха на рынке. Большинство выпускаемых на рынок программ используют достаточно стандартные методы организации интерфейса: ниспадающее меню, панели для выбора ответа, встроенные диалоговые справочники и т.д. Как правило, пользователь может работать не только с клавиатурой, но и с мышью. В последнее время все большее количество программ используют графический пользовательский интерфейс (graphical user interface, GUI), в котором, в частности, для упрощения работы пользователя вместо надписей на экране употребляются рисунки (пиктограммы). При этом графический интерфейс используется не только в таких программах, как графические редакторы или издательские системы, но и в табличных процессорах, текстовых редакторах и т.д. Многие из программ с графическим интерфейсом работают под управлением системы Windows.

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

Оборотной стороной увеличения мощности программ является повышение их требований к аппаратуре. Например, программы, работающие под управлением Windows, нельзя использовать на 486, требуется компьютер не ниже класса Pentium, для сносного быстродействия при этом необходим компьютер с микропроцессором 100 Mhz и 16 Мбайта памяти, а для комфортной работы - 200 Mhz и 32 Мбайт оперативной памяти. Для многих программ необходимы оперативная память не менее 16 Мбайт, графический монитор класса не ниже VGA, хорошая графическая плата и т.д.

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

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

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

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

По установившейся традиции версии программ обозначаются числами вида 1.00, 3.5 и т.д., т.е. десятичных дробей в американской записи. Номер версии обычно указывается после названия программы, например Windows 3.0 (читается «три ноль»). При этом существенные изменения в программах отражаются увеличением цифры до точки, незначительные изменения или исправления ошибок - увеличением цифр, стоящих после точки. Например, первоначальная версия программы обозначается 1.0, версия с некоторыми улучшениями - 1.1, а после внесения существенных дополнений новая версия программы будет иметь номер 2.0.

Также существует нумерация программ по годам, например: Windows 98 - версия, выпущенная в 98 году.

Большинство фирм-разработчиков программ продают на льготных условиях (а иногда даже предоставляют бесплатно) новые версии своих программ тем, кто ранее приобрел одну из предшествующих версий. Например, программа может стоить 400 дол., а для владельцев предыдущих версий - 50 дол. Обратим внимание на то, что хотя IT-рынок растет, темпы его роста устойчиво падают (рис. 1). За последние шесть лет они снизились с 60% в 2008 г. до 19,1% в 2013 г. Прогнозируемый рост в текущем году составляет уже порядка 15%. Уже несколько лет снижаются темпы роста ВВП. IT-индустрия, будучи сервисной отраслью экономики, лишь подтверждает данную тенденцию. Да и модель рынка, когда предприятия строят свою IT-инфраструктуру «с нуля» (дефицитная модель), практически исчерпала себя, а новых реальных стимулов для развития IT в связи с доминированием неравных условий конкуренции пока не появилось, так что снижается и вклад рынка информационных технологий в общий объем ВВП.

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

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

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

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

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

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

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

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

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

Классификация служебных программных средств

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

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

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

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

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

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

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

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

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

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

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

3. Графические редакторы . Широкий класс программ, предназначенных для создания и обработки графических изображений. Различают три категории:

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

· векторные редакторы;

· 3-D редакторы (трехмерная графика).

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

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

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

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

· создание пустой структуры базы данных;

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

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

В связи с распространением сетевых технологий, от современных СУБД требуется возможность работы с отдаленными и распределенными ресурсами, которые находятся на серверах Интернета.

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

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

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

Особенность CAD-систем состоит в автоматическом обеспечении на всех этапах проектирования технических условий, норм и правил. САПР являются необходимым компонентом для гибких производственных систем (ГВС) и автоматизированных систем управления технологическими процессами (АСУ ТП).

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

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

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

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

Программы автоматического перевода целесообразно использовать:

· при абсолютном незнании иностранного языка;

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

· для перевода на иностранный язык;

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

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

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

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

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

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

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

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

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

Трансляторы бывают двух типов:

· интерпретаторы,

· компиляторы.

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

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

Инструментальные языки делятся на языки низкого уровня (близкие к машинному языку) и языки высокого уровня (близкие к человеческим языкам). К языкам низкого уровня принадлежат ассемблеры, а высокого - Pascal, Basic, C/C++, языки баз данных и т.д. В систему программирования, кроме транслятора, входит текстовый редактор, компоновщик, библиотека стандартных программ, отладчик, визуальные средства автоматизации программирования. Примерами таких систем являются Delphi, Visual Basic, Visual C++, Visual FoxPro и др.

Лицензия (License) или условия использования программ. От латинского Licentia разрешение, право. ПО защищено от несанкционированного использования законами об авторских правах. Законы предусматривают сохранение за автором ПО нескольких исключительных прав, одно из которых - право на производство копий ПО. Т.о. лицензия - официальный документ (разрешение), выдаваемое одним лицом другому, в которой излагаются обязанности сторон по использованию данного программного обеспечения. Стандартные лицензии, как правило, запрещают передавать ПО во временное пользование, прокат, сдавать в аренду.

Всего имеется более 30 разных типов лицензии, вот пять самых распространенных:

Freeware полнофункциональное ПО, распространяется бесплатно с согласия авторов. По смыслу к этой лицензии близко и GNU ;

ShareWare условно-бесплатное ПО, где авторы ограничивают его функции либо временем бесплатной работы (напр. 30 дней от даты первого включения), либо блокировкой части функций. Полнофункциональным становится после оплаты;

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

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

Commercial License платное (коммерческое) полнофункциональное ПО, без права копирования, дарения и модернизации. Действительно для количества ПК, указанных в лицензии.

Бесплатная лицензия . В середине 80-х легендарный программист Ричард Столмен основал GPL или проект GNU (Gnu Not Unix ) . Его целью было создание совершенно открытой OS с доступными исходными кодами, а также всех необходимых для нормальной работы приложений. И не только полностью открытых, но и с гарантией, что эти программы будут открытыми и доступными на все времена. Столмен вместе с первыми версиями своих программ разработал особое лицензионное соглашение, GNU GPL (General Public Licence). Это соглашение гарантирует, что автор программы разрешает как угодно использовать свою программу, дополнять, изменять ее, но требует всегда публиковать исходный код программы и сделанных изменений.

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

· Свобода запускать программу в любых целях (свобода N1);

· Свобода изучения работы программы и адаптация ее к вашим нуждам (свобода N2). Доступ к исходным текстам является необходимым условием;

· Свобода распространять копии, так что вы можете помочь вашему товарищу (свобода N3);

· Свобода улучшать программу и публиковать ваши улучшения, так что все общество выиграет от этого (свобода N4). Доступ к исходным текстам является необходимым условием; Но с Вас могут взять деньги за копирование программы на CD, за поддержку, за FAQ-ки. При дальнейшем распространении программы Вы не вправе вводить ограничения на свободу других.

Этапы развития Пакетов Прикладных Программ

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

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

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

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

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

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

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

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

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

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

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

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

Домашнее задание: Ответить на вопросы:

1. Для чего нужны программы?

2. Что такое ПО?

3. Что входит в ПО?

4. Что такое ОС?

БЕЛОРУССКИЙ ИНСТИТУТ ПРАВОВЕДЕНИЯ

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

Этапы развития и перспективы

ТЕМАТИЧЕСКИЙ ПЛАН

    Программное обеспечение и его основные компоненты.

    Этапы развития программного обеспечения

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

краткая аннотация

Рассматривается принцип программного управления и его современная реализация. Дается программного обеспечения, структура. Анализируются этапы и тенденции его развития.

1. Принцип программного управления

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

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

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

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

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

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

Рис. 1. Иерархия программирования

2. Программное обеспечение ЭВМ

и его основные компоненты

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

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

Рис.2. Кольцевая структура вычислительной системы

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

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

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

– это совокупность программ, рассчитанных на широкий круг пользователей и предназначенных для организации вычислительного процесса и (или) решения часто встречающихся задач (ГОСТ 24. 003-84). К системному программному обеспечению относят операционную систему и ее окружение, системы программирования, вспомогательные программы.

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

представляет собой совокупность средств разработки компьютерных программ. Она обеспечивает создание и преобразование программ, написанных на языках программирования или машинно-ориентированном языке. Эта часть операционной системы представляется такими ее программными компонентами, как трансляторы с языков программирования, средства отладки программ и др. На персональных компьютерах используются системы программирования на алгоритмических языках Бейсик, Паскаль, Си, PL/М, Пролог и др.

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


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

Рис.3. Структура программного обеспечения

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

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

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

В основе методо-ориентированных ППП лежит реализация того или иного математического метода решения задачи:

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

    сетевого планирования и управления;

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

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

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

    текстовые процессоры;

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

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

    графические процессоры;

    системы управления базами данных;

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

    системы автоматизации проектирования;

    оболочки экспертных систем, систем поддержки принятия решений.

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

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

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

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

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

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

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

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

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

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

    осуществлена внутренняя совместимость модулей друг с другом и внешняя совместимость с другими программами.

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

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

Вопросы для самоконтроля

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

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

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

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

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

    Пакеты прикладных программ общего назначения

3. Этапы развития программного обеспечения

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

Первое поколение – зарождение ПО.

Второе поколение – развитие ПО: использование алгоритмических языков и библиотек стандартных программ.

Третье поколение – широкое использование ПО, появление развитых операционных систем.

Четвертое поколение – ПО, дающее возможность коллективного использования ЭВМ.

Первое поколение

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

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

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

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

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

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

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

Второе поколение

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

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

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

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

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

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

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

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

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

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

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

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

Третье поколение

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

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

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

Программное обеспечение машин второго поколения содержало 350-400 тысяч команд, а только дисковая операционная система для ЕС ЭВМ содержала порядка 1 млн. команд.

В 1975 г. закончена разработка операционной системы ОС – 4.0, позволяющей подключать к ЭВМ и обслуживать многих абонентов, оснащенных алфавитно-цифровыми графическими дисплеями. В 1976 году операционные системы содержали программы, общий объем которых превышает миллион машинных слов.

Операционная система позволяет использовать наиболее распространенные языки программирования того времени: фортран, Алгол-60, Кобол, ПЛ/1, РПГ. Для каждого из них создаются трансляторы и библиотеки стандартных программ. Использование названных языков и трансляторов открывает доступ к ЭВМ непрофессиональным пользователям. Трансляторы подробно сообщают об ошибках, обнаруженных как в процессе трансляции, так и при выполнении оттранслированных программ. Они имеют также развитые средства отладки.

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

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

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

Четвертое поколение

Этапы эволюции взаимоотношения «человек-машина» представляются следующими: от прямого использования ЭВМ одним программистом, в распоряжении которого представлены все ресурсы машины, – через мультипрограммирование, когда программист полностью отстранен от машины, – к системам разделения времени и разговорному режиму, когда много программистов, сидя за своими индивидуальными пультами, управляют ходом решения своих задач независимо друг от друга и одновременно используют мощности ЭВМ.

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

Поставлена задача о необходимости как можно скорее переходить к практике разработки, поставки, сборки и наладки у потребителей полных комплексов технических и программных средств, составляющих законченные автоматизированные системы обработки данных различного класса. Одним из наиболее перспективных направлений в развитии общего программного обеспечения ЭВМ этого поколения является разработка пакетов программ, расширяющих функции операционных систем. С этих позиций следует отметить разработанные в 1976 г. пакеты KAMA (для управления телеобработкой данных) и ОКА (для управления базами данных). В ВЦ АН СССР разработана диалоговая информационно-логическая система ДИЛОС.

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

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

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

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

От поколения к поколению ЭВМ, стоимость электронных компонентов в вычислительных системах постоянно уменьшается, а затраты на программную часть неуклонно возрастают. По данным американских специалистов в 1965 году доля программного обеспечения составляла 5% от общей
стоимости вычислительной системы, в 1976 г. – 75%, а к 1985 г., порой, превышала 90%. Стоимость выполнения одной команды за 10 лет, начиная с 1977г., снизилась на два порядка, а производительность программистов по-прежнему возрастала мало: примерно на З% в год.

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

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

    средства для мультипрограммирования и многопроцессорности;

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

    аппаратура для примитивного планирования.

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

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

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

Основным средством общения с ЭВМ являются алгоритмические языки. Их количество и разнообразие неуклонно возрастает: уже в 1977 г. их было несколько тысяч. Все больше сил уделяется созданию программных процессоров реализации языков. Наиболее крупным проектом является проект многоязыковой системы программирования БЕТА, разработанной коллективом ВЦ СО АН СССР под руководством А.П. Ершова. Система ориентирована на языки Алгол-68, PL/1, SIMULA и др.

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

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

    диалог человек-машина на любом языковом уровне;

    автоматическое исправление ошибок пользователей;

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

    широкое использование принципа самоопределяемости данных;

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

    объединение и упрощение языков программированием, их ориентация на структурное программирование;

    схемная реализация программного обеспечения (его наиболее часто используемой части);

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

  • использование проблемно-ориентированных систем программирования;
  • генерация программного обеспечения для решения классов задач;

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

    комплексное рассмотрение проблем предприятия.

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

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

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

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

Вопросы для самоконтроля

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

    первого поколения;

    второго поколения;

    третьего поколения;

    четвертого поколения;

    пятого поколения.

4. Тенденции развития программного обеспечения

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

    функциональностью, т.е. полнотой удовлетворения потребностей пользователя;

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

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

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

    стандартизацией.

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

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

    ниспадающие меню;

    панели для выбора, ответа;

    встроенные диалоговые справочники и т.п.

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

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

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

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

    • Общий интерфейс пользователя определяет: стандартный путь подачи команд компьютеру, одинаковую структуру приложений и инструментарий (выпадающее меню, система подсказок и пр.). Он принят на вооружение компьютерными гигантами Apple, Microsoft и IBM.

      Наличие битовой карты, высокая разрешающая
      способность, цветной дисплей. Каждый объект, отображаемый на экране, имеет, по крайней мере, два представления: внутреннее и внешнее. Внутреннее представление (не видимое) основано на некоторой модели мира, а внешнее (видимое) выводится на экран и состоит из пикселей. Это пассивное изображение называют битовой картой, так как оно создано из отдельных битов.

      What You See Is What You Get (WYSIWYG) – что видишь (на экране), то и получаешь (при печати на бумаге).

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

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

Операционные системы будущего в планах Microsoft и IBM

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

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

Конечная цепь проекта Farsite – это создание в 2006 году кластера из 100 тысяч компьютеров, с общим объемом дисковой памяти в 10 терабайт (10 тысяч гигабайт).

В то же время, компания IBM работает над расширением возможностей существующих операционных систем. В настоящий момент в исследовательском центре IBM ведется работа по расширению возможностей операционной системы Linux для управления компьютером с 65 тысячами процессоров. Такая система будет управлять суперкомпьютером Blue Gene с заявленной производительностью в 1 квадриллион операций с плавающей точкой в секунду.

Исследование IBM направлено на создание «самооптимизирующейся, самонастраиваемой, самовосстанавливающейся» системы, сходной по устройству с автономной нервной системой человека. Главной чертой операционной системы будущего в IBM считают ориентацию на решение конкретных задач.

Вопросы для самоконтроля

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

    Операционные системы будущего в планах Microsoft.

    Операционные системы будущего в планах IBM.

а

    Основы информатики: Учебн.пособие/А.Н.Морозевич, Н.Н.Говядинова, Б.А.Железко и др. Под обш.ред. А.Н.Морозевича.-Мн.:Новое знание, 2001.

    Акиньшин Н.С. и др. Освоение персонального компьютера: Уч.пособие.-М.:Радио и связь, 1995.

    Экономическая информатика: Учеб. для вузов/ Под ред. В.В.Евдокимова.-Спб:Питер, 1997.

    Богумирский Б.В. Эффективная работа на IBM PC.-Спб.:Питер, 1997.

    Вербицкий В.В. Учитесь работать на персональном компьютере.-Мн.: ВВВ, 1995.

    Персональный компьютер. Диалог и программные средства: Уч.пособие.-М.: Издательство Университета дружбы народов, 1994.

    Савельев А.Я., Сазонов Б.А., Лукъянов С.Э. Персональный компьютер для всех. Хранение и обработка информации.-М.: Высшая школа, 1995.

рий
№ пп

Понятие

Смысл понятия

Принцип программного управления Организация работы машины, когда выполняемые ею действия определяются командами программы.
Микропрограммирование Упорядоченный метод кодового управления отдельными элементами машины – триггерами, транзисторами, вентилями, интегральными схемами и т.п., – для выполнения элементарных операций.
Микрооперации Элементарные операции, происходящие в устройстве машины.
Микропрограмма Последовательность микрокоманд, управляющих выполнением более крупной по логическому содержанию операцией.
Программирование на машинном языке Программирование в кодах машины, представляющих собой набор закодированных элементарных операций машины, таких как: сложение, вычитание, умножение, деление, сравнение, ввод-вывод информации и др.
Программное обеспечение вычислительной машины Совокупность программ и документации на них, позволяющих осуществить автоматизированную обработку информации на ЭВМ.
Часть программного обеспечения, представляющая собой совокупность программ, рассчитанных на широкий круг пользователей и предназначенных для организации вычислительного процесса и (или) решения часто встречающихся задач.
Операционная система (ОС) Комплекс программ, предназначенных для управления всеми аппаратными ресурсами машины, и всеми компонентами программного обеспечения, для организации их наиболее эффективного использования с учетом решаемых прикладных задач, а также организации взаимодействия с пользователем.
Окружение операционной системы Программы, расширяющие возможности операционной системы и упрощающие работу с не.
Система программирования (СП) Совокупность средств разработки компьютерных программ. Она обеспечивает создание и преобразование программ, написанных на языках программирования или машинно-ориентированном языке.
Часть программного обеспечения, представляющая собой совокупность программ, предназначенных для решения специальных задач.
Пакеты прикладных программ (ППП) Комплекс программ для решения задач по некоторой теме или предмету, оформленные согласно требованиям к такому продукту.
Программы пользователя, или уникальные программы Программы, не относящиеся ни к одному из указанных классов. Это чаще всего программы, созданные пользователем и не оформленные по стандарту в виде программного продукта.
Текстовый редактор Программный продукт, служащий для создания и изменения текстового документа.
Электронная таблица Компьютерный эквивалент обычной таблицы, в клетках (ячейках) которой записаны данные различных типов: даты, тексты, формулы, числа.
База данных Совокупность данных, организованных по определенным правилам, предусматривающая общие принципы описания, хранения и манипулирования данными, независимо от прикладных программ.
Графический редактор Служат для построения графиков, диаграмм, чертежей, иллюстраций. Графики и диаграммы в них можно строить непосредственно, без создания таблицы и введения в неё числовых значений.
Интегрированная система Программный продукт, представляющий совокупность функционально различных компонентов, способных взаимодействовать между собой путём передачи информации, и объединенных единым пользовательским интерфейсом.
Выберите правильное определение к каждому понятию
I
1.

Принцип программного управления

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

2.

Микропрограммирование

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

3.

Микрооперации

в)Организация работы машины, когда выполняемые ею действия определяются командами программы.

4.

Микропрограмма

г)Элементарные операции, происходящие в устройстве машины.

II
1.

Программирование на машинном языке

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

2.

Программное обеспечение вычислительной машины

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

3.

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

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

III
1.

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

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

объединенных единым пользовательским интерфейсом.

2.

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

б)Программы, созданные пользователем и не оформленные по стандарту в виде программного продукта.

3.

Программы пользователя, или уникальные программы

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

4.

Интегрированная система

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

IV
1.

Операционная система

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

2.

Окружение операционной системы

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

3.

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

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

V
1.

Текстовый редактор

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

2.

Электронная таблица

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

3.

База данных

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

2. Программное обеспечение ЭВМ и его основные компоненты
3. Этапы развития программного обеспечения
Первое поколение
Второе поколение

13

Третье поколение

16

Четвертое поколение
4. Тенденции развития программного обеспечения
Операционные системы будущего в планах Microsoft и IBM
литература
глоссарий
Тесты
тренинг умений
34

Учебное издание

Бородина Алла Ивановна

Крошинская Лариса Израйлевна

Сапун Оксана Леонидовна

Основы информатики

и вычислительной техники

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

Этапы развития и перспективы

Редактор-корректор Л.Р.Рецкая

Компьютерная верстка О.Н. Якубович

Подписано в печать 08.09.2003 г.

Формат 60х84 1 / 16 . Печать офсетная. Гарнитура «Таймс».

Усл. печ. л. 2. Уч.-изд. л. 1,37. Тираж 100 экз. Заказ № 35.



Загрузка...