sonyps4.ru

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

Бурный рост и быстрые темпы развития рынка ПО.

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

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

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

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

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

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

Расширяется практика сдачи программного обеспечения в аренду.

Стандартизация и интеграция продуктов ПО.

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

Увеличение мощности программ

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

Возможность дистанционного запуска ПО через Web.

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

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

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

4. Инструментальные системы

Заключение

Список использованной литературы

Введение

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

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

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

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

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

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

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

1.1 Что такое программное обеспечение

В компьютерном жаргоне часто используется слово «софт» от английского software, которое, в этом смысле впервые применил в статье American Mathematical Monthly математик из Принстонского университета Джон Тьюки (John W. Tukey) в 1958 г.

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

технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и др.);

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

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

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

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

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

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

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

1.2 Виды программного обеспечения

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

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

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

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

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

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

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

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

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

Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро.

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

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

Какие программы называют прикладными?

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

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

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

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

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

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

возможность использования различных шрифтов символов;

копирование и перенос части текста с одного места на другое или из одного документа в другой;

контекстный поиск и замена частей текста;

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

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

автоматическая нумерацию страниц;

обработка и нумерация сносок;

выравнивание краев абзаца;

создание таблиц и построение диаграмм;

проверка правописания слов и подбор синонимов;

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

распечатка подготовленного текста на принтере в нужном числе экземпляров и т.п.

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

Представители редакторов документов - программы Microsoft Word, Wordpad, Microsoft Publisher, Corel Ventua и Adobe age Maker.

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

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

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

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

Представители семейства табличных процессоров: Microsoft Excel, Quatro Pro, Lotus 1-2-3.

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

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

Системы автоматизированного проектирования (САПР) или CAD (англ. Computer-Aided Design) - программный пакет, предназначенный для создания чертежей, конструкторской и/или технологической документации и/или 3D моделей. Среди систем малого и среднего класса в мире наиболее популярна система AutoCad фирмы AutoDesk. Отечественный пакет с аналогичными функциями - Компас.

Существуют остроумные способы визуализации наиболее простых многомерных объектов - множеств точек. Один из них носит название "лица Чернова" (Чернов - современный американский математик). {there must be pictures here}. Этим способом можно отображать 10-20-мерные множества. Суть способа такова: каждому из измерений сопоставляется один из параметров схематически изображённого человеческого лица, например, первое измерение дает отношение высоты лица к ширине, второе - размер носа, третье - расстояние между глазами и т.д. Таким образом, каждой точке исходного множества будет сопоставлено лицо. Рассматривая эти лица, можно отобрать похожие между собой или же выделить абсолютно непохожие и тем самым произвести некую классификацию исходного множества.

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

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

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

Роль и назначение системных программ.

Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера - центральным процессором, памятью, вводом-выводом.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

осуществление диалога с пользователем;

ввод-вывод и управление данными;

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

распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

запуск программ на выполнение;

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

передача информации между различными внутренними устройствами;

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

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

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

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

Ещё не так давно работы по настройке приходилось выполнять пользователю вручную, а сегодня производители компонентов компьютерной техники разработали протокол plug-and-play (включил - заработало). Этот протокол позволяет операционной системе в момент подключения нового компонента получить информацию о новом устройстве, достаточную для настройки ОС на работу с ним.

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

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

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

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

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

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

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

Самая популярная у пользователей IBM-совместимого ПК оболочка - пакет программ Norton Commander. Он обеспечивает:

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

Что такое сетевые операционные системы.

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

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

Кратко опишем некоторые разновидности утилит:

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

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

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

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

Согласно исследованию организации AVIEWS (Antivirus Information & Early Warning System), Sophos обнаруживает не менее 80 процентов неизвестных зловредных кодов, значительно опережая многие другие весьма популярные и именитые программы. Второе место занял «Антивирус Касперского», который обнаруживает 65 процентов угроз. Интересно, что третье место с 60 процентами занял Ikarus, не известная широким массам программа. А такая именитая программа, как Panda, показала всего 10%.

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

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

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

Коммуникационные программы, предназначены для организации обмена информацией между компьютерами. Это программы позволяют удобно пересылать файлы с одного компьютера на другой при соединении кабелем их последовательных портов. Другой вид таких программ обеспечивает возможность связи компьютеров по телефонной сети (при наличии модема). Они дают возможность посылать и принимать телефаксные сообщения. Представители коммуникационных программ - Venta Fax, Cute FTP. Программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти; Программы для печати экрана бывают весьма полезны при использовании графических программ для вывода на печать содержимого экрана, так как отнюдь не всегда это можно сделать с помощью самой графической программы. Представители программ для печати экрана - SnagIt, HyperSnap-DX.

Программы для записи CD-ROM, CD-R и многие другие.

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

4. Инструментальные системы

персональный компьютер программный операционный

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

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

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

К инструментальным программам, например, относятся:

редакторы;

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

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

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

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

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

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

компилятор или интерпретатор;

интегрированная среда разработки;

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

обширные библиотеки стандартных программ и функций;

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

"дружественная" к пользователю диалоговая среда;

многооконный режим работы;

мощные графические библиотеки; утилиты для работы с библиотеками;

встроенный ассемблер;

встроенная справочная служба;

другие специфические особенности.

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

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

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

Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

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

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

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

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

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

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

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

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

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

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

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

Расширяется практика сдачи программного обеспечения в аренду.

Стандартизация и интеграция продуктов ПО.

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

Увеличение мощности программ

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

Возможность дистанционного запуска ПО через Web.

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

Заключение

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

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

Список используемой литературы

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

2. Бройдо В.Л. Основы информатики. СПб.: СПб.ГИЭА, 2003.

3. Каймин В.А. Информатика: Учебник. - М.: ИНФРА-М, 2000.

4. Макарова Н. В.,Бройдо В. Л., Ильина О. П.и др. Информатика /Под ред. Н. В. Макаровой. М.: Финансы и статистика, 2002.

5. Симонович С.В., Евсеев Г. А., Мураковский В. И. Информатика: базовый курс / Под ред. С. В. Симоновича. СПб.: Питер, 1999.

6. Фигурнов В.Э. IBM PC для пользователя. 9-е изд., перераб. и доп. М.:Финансы и статистика, КомпьютерПресс 2003.

7. Якубайтис Э.А. Информатика - Электроника - Сети. М.: Финансы и статистика 2003

8. Першиков В.И., Савинков В.М. Толковый словарь по информатике. - 2-е изд., доп. М.: Финансы и статистика, 1995.

9. Семенов М.И. и др. Автоматизированные информационные технологи в экономике: Учебник. - М.: Финансы и статистика, 2000.

10. Компьютерные технологии обработки информации: Учебное пособие под ред. Назарова С.В. - М.: Финансы и статистика, 1995.

11. Информатика: Учебник. - 3-е перераб. изд. / под ред. Н.В. Макаровой. - М.: Финансы и статистика, 2002. - 768 с.

Размещено на Allbest.ru

Подобные документы

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

    контрольная работа , добавлен 18.01.2011

    Системное, прикладное и инструментальное программное обеспечение. Наиболее распространённые пакеты прикладных программ. Назначение и структура системных программ. Заполнение таблицы и работа с итогами в Excel, фильтрация данных и построение диаграммы.

    контрольная работа , добавлен 29.01.2014

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

    реферат , добавлен 29.11.2012

    Совокупность программ, используемых в работе на компьютере. Функциональное назначение программного обеспечения, правовые нормы его использования. Операционная система и сервисные программы. Разработка компьютерных программ на языке программирования.

    презентация , добавлен 10.10.2016

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

    реферат , добавлен 06.11.2014

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

    реферат , добавлен 27.04.2016

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

    презентация , добавлен 25.02.2010

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

    презентация , добавлен 23.12.2010

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

    курсовая работа , добавлен 23.08.2011

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

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

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

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

Базовый уровень - является низшим уровнем программного обеспечения. Отвечает за взаимодействие с базовыми аппаратными средствами. Базовое программное обеспечение содержится в составе базового аппаратного обеспечения и сохраняется в специальных микросхемах постоянного запоминающего устройства (ПЗУ), образуя базовую систему ввода-вывода 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. Что такое ОС?

2.3 Что такое утилиты

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

Кратко опишем некоторые разновидности утилит:

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

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

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

Антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами. Компьютерный вирус - это специально написанная небольшая по размерам программа, которая может "приписывать" себя к другим программам для выполнения каких-либо вредных действий - портит файлы, "засоряет оперативную память и т.д. Представители антивирусного семейства программ – Kaspersky Antivirus, DrWeb, Norton Antivirus.

Рисунок 5 Классификация вирусов

Согласно исследованию организации AVIEWS (Antivirus Information & Early Warning System), Sophos обнаруживает не менее 80 процентов неизвестных зловредных кодов, значительно опережая многие другие весьма популярные и именитые программы. Второе место занял «Антивирус Касперского», который обнаруживает 65 процентов угроз. Интересно, что третье место с 60 процентами занял Ikarus, не известная широким массам программа. А такая именитая программа, как Panda, показала всего 10%.

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

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

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

Коммуникационные программы, предназначены для организации обмена информацией между компьютерами. Это программы позволяют удобно пересылать файлы с одного компьютера на другой при соединении кабелем их последовательных портов. Другой вид таких программ обеспечивает возможность связи компьютеров по телефонной сети (при наличии модема). Они дают возможность посылать и принимать телефаксные сообщения. Представители коммуникационных программ – Venta Fax, Cute FTP.

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

Программы для печати экрана бывают весьма полезны при использовании графических программ для вывода на печать содержимого экрана, так как отнюдь не всегда это можно сделать с помощью самой графической программы. Представители программ для печати экрана – SnagIt, HyperSnap-DX.

Программы для записи CD-ROM, CD-R и многие другие.

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

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

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

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

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

К инструментальным программам, например, относятся:

Редакторы;

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

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

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

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

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

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

Компилятор или интерпретатор;

Интегрированная среда разработки;

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

Обширные библиотеки стандартных программ и функций;

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

- "дружественная" к пользователю диалоговая среда;

Многооконный режим работы;

Мощные графические библиотеки; утилиты для работы с библиотеками;

Встроенный ассемблер;

Встроенная справочная служба;

Другие специфические особенности.

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

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

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

Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

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

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

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

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

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

Бурный рост и быстрые темпы развития рынка ПО.

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

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

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

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

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

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

Расширяется практика сдачи программного обеспечения в аренду.

Диаграмма 1 Лицензии, поддержка и аренда ПО.

Стандартизация и интеграция продуктов ПО.

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

Увеличение мощности программ.

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

Возможность дистанционного запуска ПО через Web.

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

Заключение

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

Библиографический список

1. Алексеев Е.Г. Электронный учебник по информатике http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

2. Симонович С. Информатика: базовый курс. Учеб. для ВУЗов. СПб, Питер, 2002 г.

3. Фигурнов В.Э. IBM PC для пользователя. Изд. 6-е и 7-е.- М.: ИНФРА-М, 1997.

http://www.phreaking.ru/showpage.php?pageid=54177

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

Только в США более 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 в связи с доминированием неравных условий конкуренции пока не появилось, так что снижается и вклад рынка информационных технологий в общий объем ВВП.



Загрузка...