Возможности компьютера связаны с использованием программного обеспечения.
Программа (program, routine) – это упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение (ПО) (software) – это совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программы предназначены для машинной реализации задач. Термины Задача и Приложение имеют очень широкое употребление в контексте информатики и программного обеспечения.
Задача (task, problem) – это проблема, подлежащая решению
Приложение (application) – программная реализация решения задачи на компьютере.
Таким образом, задача означает проблему, подлежащую реализации с использованием средств информационных технологий, а приложение – реализованное на компьютере решение задачи.
Все программы по характеру использования и категориям пользователей можно разделить на два класса: Утилитарные программы и Программные продукты (изделия).
Утилитарные программы предназначены для удовлетворения нужд их разработчиков. Обычно они выполняют роль сервиса в технологии обработки данных либо являются программами решения задач, не предназначенных для широкого распространения.
Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
В настоящее время существуют и другие варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:
¾ freeware — бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.
Программный продукт — это комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
В ст. 1261 ГК РФ содержится определение программы для ЭВМ (далее – программа), в качестве разновидности которой наряду с операционной системой упоминается и программный комплекс. Однако само это понятие в ГК РФ не раскрывается.
В отличие от аппаратно-программного комплекса (включающего, как это следует из самого его наименования, аппаратные средства – электронные и механические части устройств (hardware) и программное обеспечение (software)), программный комплекс могут составлять только программы (software).
Из содержания ст. 1261 ГК РФ вытекает, что всякая программа предназначена для выполнения конкретной функции (функций), ориентированной на достижение определенного результата.
При этом ГОСТ 19. 101-77 «Виды программ и программных документов» предусматривает подразделение программ на два вида:
1) компонент (программа, рассматриваемая как единое целое, выполняющая законченную функцию и применяемая самостоятельно или в составе комплекса);
2) комплекс (программа, состоящая из двух или более компонентов и (или) комплексов, выполняющих взаимосвязанные функции, и применяемая самостоятельно или в составе другого комплекса).
Исходя из ст. 1261 ГК РФ и с учетом названного ГОСТа можно заключить, что программы образуют комплекс (т. программный комплекс) только при условии, что они нацелены на выполнение взаимосвязанных функций, приводящих к достижению искомого результата.
В зависимости от функций, на выполнение которых нацеливаются программы, они обычно подразделяются на:– системные (выполняющие функции управлению ресурсами компьютера, осуществляющие поддержку работоспособности системы обработки информации или повышения эффективности ее использования, восстановление работы системы после выявления неисправностей в технических средствах);– инструментальные (облегчающие процесс создания новых программ);– прикладные (обеспечивающие выполнение необходимых пользователю функций, решение конкретных задач).
Например, под прикладными программами (application program) в силу положений ГОСТ 19781-90 «Обеспечение систем обработки информации программное. Термины и определения» понимают программы, предназначенные для решения задачи или класса задач в определенной области применения системы обработки информации. Иными словами, прикладные программы (называемые «приложениями под конкретную область применения» или кратко – приложениями) используются пользователями для достижения конкретного результата при решении задачи в соответствующей предметной области.
Таким образом, прикладные программы образуют программный комплекс в смысле ст. 1261 ГК только при условии, что они (1) выполняют взаимосвязанные функции и (2) нацелены на достижение искомого результата в одной предметной области. В качестве примера можно вспомнить программный комплекс ФНС РФ, используемый в целях осуществления налогового административного администрирования.
Как отличить программный комплекс от пакета программ?
В соответствии с положениями ГОСТ 15971-90 «Системы обработки информации программное. Термины и определения» термином «пакет прикладных программ» (application program package) обозначается система прикладных программ, предназначенная для решения задач определенного класса. То есть в отличие от программного комплекса, в котором объединены программы, нацеленные на решение задачи (задач) в одной предметной области, пакет прикладных программ (пакет приложений) объединяет программы («компоненты» в терминологии ГОСТ 19. 101-77), которые решают схожие задачи в разных предметных областях. К особенностям пакетов приложений обычно относят: стандартный пользовательский и программный интерфейс каждого компонента, облегченный перенос данных между компонентами, наличие базы данных для хранения данных и их передачи приложениям, возможность выбора самим пользователем состава пакета и т.
Одним из самых известных пакетов приложений является пакет Microsoft Office, в состав которого входят различные программы для работы с различными типами документов: таблицами, текстами, электронными таблицами, базами данных и т. (Microsoft Word, Microsoft Publisher, Microsoft Excel, Microsoft OneNote, Microsoft Outlook и т.
Следовательно, можно говорить о принципиальных различиях между программным комплексом и пакетом приложений.
Необходимость разграничения данных понятий обусловлена тем, что по смыслу ст. 1261 ГК РФ программный комплекс признается единым объектом интеллектуальной собственности (по сути он приравнен к единичной программе для ЭВМ), тогда как пакет программ следует рассматривать как набор нескольких самостоятельных объектов интеллектуальной собственности (нескольких приложений).
Полная версия опубликована в белорусском издании: Рожкова М. Программные комплексы и пакет программ: характеристика юридического содержания // Проблемы гражданского права и процесса: сб. науч. / Гродн. гос. ун-т им. Купалы. Гродно: ГрГУ, 2016. 272-277.
лента новостей IP CLUB в сфере права интеллектуальной собственности и цифрового права (IP & Digital Law) в:
1
Пакет прикладных программ общего назначения
2
Пакет прикладных программ это комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области
4
Разнообразие пакетов прикладных программ обусловлено, прежде всего, широким применением средств компьютерной техники во всех сферах деятельности человека, а также созданием автоматизированных информационных систем различных предметных областей
5
Пакет прикладных программ ПП общего назначения ПП специального назначения
6
Данный класс содержит широкий перечень программных продуктов, поддерживающих преимущественно информационные технологии конечных пользователей. Кроме конечных пользователей, этими программными продуктами, благодаря встроенным средствам технологии программирования, могут пользоваться и программисты для создания усложненных программ обработки данных.
7
Интегрированные пакеты Средства презентационной графики Офисные ППП Текстовые процессоры СУБД Табличные процессоры ПП автоматизированного проектирования ПП общего назначения
9
Процессоры общего назначения (Microsoft Word); Редакторы научных документов (ChiWriter, TeX); Редакторы исходных текстов программ (Multi-Edit); Издательские системы
10
Текстовые процессоры, в отличие от текстовых редакторов, имеют больше возможностей для форматирования текста, внедрения в него графики, формул, таблиц и других объектов
11
Word является самым популярным текстовым процессором С помощью Word можно не просто набрать текст, но и включить в него таблицы и графики, картинки, звуки и видеоизображения. С помощью Word можно составить простое письмо и сложный объемный документ, яркую поздравительную открытку или рекламный блок. Word применим практически везде, где требуется работа с текстом. В последние версии Word добавлены весьма развитые средства работы с гипертекстовыми документами и документами, предназначенными для публикации в Интернет.
15
Создание и редактирование электронных таблиц; Создание многотабличных документов; Оформление и печать электронных таблиц; Построение диаграмм, их модификация и решение экономических задач графическими методами; Создание многотабличных документов, объединенных формулами; Работа с электронными таблицами как с БД: сортировка таблиц, выборка данных по запросам; Создание итоговых и сводных таблиц; Использование при построении таблиц информации из внешних БД; Создание слайд-шоу; Решение оптимизационных задач; Разработка макрокоманд, настройка среды под потребности пользователя.
17
Программы-переводчики, средства проверки орфографии и распознавания текста Коммуникационные ППП Виды офисных ППП Органайзеры (планировщики)
22
В условиях развития глобальной информационной сети Internet появился новый класс программного обеспечения браузеры, средства создания WWW- страниц. Они различаются возможностями поддержки языка HTML, использованием цвета при оформлении фона, текста, форматированием текста, использованием графических форматов изображений, таблиц, фонового звука, мультипликации и т. Большинство браузеров используют язык Java.
24
Презентация может включать показ диаграмм и графиков. Все программы презентационной графики условно делятся на программы для подготовки слайд-шоу и программы для подготовки мультимедиа-презентации. Презентация требует предварительного составления плана показа. Для каждого слайда выполняется проектирование: определяются содержание слайда, размер, состав элементов, способы их оформления и т. Данные для использования в слайдах можно готовить как вручную, так и получать в результате обмена из других программных систем.
25
Система управления базами данных — специализированный комплекс программ, предназначенный для удобной и эффективной организации, контроля и администрирования баз данных.
26
Ядро, которое отвечает за управление данными во внешней и оперативной памяти Процессор языка БД, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно- независимого исполняемого внутреннего кода Подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД Сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы
27
Управление данными во внешней памяти Управление данными в оперативной памяти с использованием дискового кэша Резервное копирование и восстановление БД после сбоев Поддержка языков БД (язык определения данных, язык манипулирования данными)
28
o Файл-серверные (обработка всех данных происходит на рабочих местах, а сервер используется только как разделяемый накопитель) o Клиент-серверные (вся работа с базой данных происходит на сервере и не зависит от сбоев на рабочих станциях) o Встраиваемые (система, которая может быть связана с клиентским приложением таким образом, чтобы приложение и СУБД работали в едином адресном пространстве)
29
Иерархические ( в основу положена разветвленная структура с элементами подчиненности ) Сетевые ( любая запись, называемая записью старшего уровня, может содержать данные, которые относятся к набору других записей, называемых записями подчиненного уровня ) Реляционные ( организация данных в виде двумерных таблиц, называемых еще реляционными таблицами )
30
На данный момент наиболее распространенными являются реляционные СУБД
33
Отличительными особенностями этого класса программных продуктов являются высокие требования к технической части системы обработки данных, наличие библиотек встроенных функций, объектов, интерфейсов с графическими системами и базами данных.
34
Это набор нескольких программных продуктов, функционально дополняющих друг друга, поддерживающих единые информационные технологии, реализованные на общей вычислительной и операционной платформе.
35
Наиболее распространены интегрированные пакеты, компонентами которых являются: СУБД; текстовый редактор; табличный процессор; органайзер; средства поддержки электронной почты; программы создания презентаций; графический редактор.
Программная составляющая компьютера
К настоящему моменту выделяют три вида программных продуктов:
системное, или общее, ПО;
пакеты прикладных программ (ППП);
инструментарий технологии программирования.
Системное, или общее, ПО -это совокупность программ для обеспечения работы компьютера и сетей ЭВМ. Часть этих программных средств изучается в лабораторном практикуме по информатике.
Данный класс программного обеспечения делится на следующие виды:
· базовое ПО, содержащее операционные системы (ОС) и операционные оболочки. ОС используются для управления выполнением пользовательских программ, планирования и управления вычислительными и другими ресурсами ЭВМ. Это комплекс программ и данных, предназначенных для увеличения пропускной способности ЭВМ, расширения сферы ее применения, автоматизации подготовки прикладных программ к выполнению. ОС являются обязательной составляющей ПО любого компьютера, без чего он превращается в груду металла, пластика и электроники.
Наиболее популярными ОС для компьютеров класса IBM PC являются ОС семейства Windows’xx и MS DOS. Причем эти ОС не являются взаимоисключающими: они взаимодействуют в процессе функционирования компьютера и MS DOS, как правило, встроена в ОС Windows’xx. Сетевая ОС не имеет фундаментальных отличий от ОС автономного компьютера. Ее отличительной чертой являются развитые средства защиты от несанкционированного доступа, применяющие, в частности, идеи криптографического кодирования, рассмотренные ранее.
Операционные оболочки – это специальные программы, предназначенные для облегчения общения пользователя с командами ОС. Имеют текстовый и графический варианты интерфейса конечного пользователя. Примерами являются Norton Commander (NC) для ОС MS DOS, Far для ОС Windows’xx. В настоящий момент, когда операционные системы облагают высокоразвитым графическим интерфейсом (иконки Windows и т. ) и имеют встроенные очень удобные средства для выполнения системных операций, наличие операционных оболочек скорее дань традиции, чем необходимость.
· сервисное ПО, или утилиты. Содержит программы диагностики работоспособности компьютера, антивирусные программы, программы обслуживания дисков, программы архивирования данных, программы обслуживания сетей.
Пакеты прикладных программ (ППП) -это комплекс взаимосвязанных программ для решения задач определенного класса.
Выделяются следующие виды ППП:
· проблемно-ориентированные. Используются для тех проблемных областей, в которых возможна типизация функций управления, структур данных и алгоритмов обработки. Например, это ППП автоматизации бухучета, финансовой деятельности, управления персоналом и т
Используются в тех предметных областях, для которых возможна типизация функций управления, структур данных и алгоритмов обработки. Типичным примером является серия программ 1С:, позволяющая автоматизировать решение задач управления предприятием, например, 1С:Бухгалтерия, 1С: Предприятие, 1С: Кадры и т. К пакетам этого класса относятся и программы, реализующие дистанционное обучение, например пакет SunRav_BookOffice для создания и работы с электронным учебником, с помощью которого был разработан данный электронный учебник.
· автоматизации проектирования (или САПР). Используются в работе конструкторов и технологов, связанных с разработкой чертежей, схем, диаграмм;
Эти пакеты используются в работе конструкторов и технологов, связанных с разработкой чертежей, схем, диаграмм, т. с обработкой графических изображений. Реализуют функции:
коллективная работа в сети;
экспорт — импорт файлов различных форматов;
группировка объектов, передвижение, растяжка, поворот, разрезание, изменение размеров, работа со слоями;
использование чертежных инструментов, позволяющих рисовать кривые, эллипсы, линии произвольной формы, многоугольники и т
работа с цветом;
автоматизация отдельных процедур с использованием встроенного макроязыка.
Примерами пакетов этого класса являются: AutoCAD (AutoDesk), DesignCAD, Grafic CAD Professional, DrawBase, Microstation, TurboCAD.
· общего назначения. Поддерживают компьютерные технологии конечных пользователей и включают текстовые и табличные процессоры, графические редакторы, системы управления базами данных (СУБД);
Поддерживают компьютерные технологии конечных пользователей и включают текстовые и табличные процессоры (редакторы), графические редакторы, системы управления базами данных (СУБД), пакеты программ мультимедиа, пакеты демонстрационной графики.
Текстовые процессоры (редакторы) позволяют готовить текстовые документы, которые могут включать и таблицы, и рисунки, и диаграммы. Примером пакетов этого класса являются MS Word, Блокнот, WordPad. Перечень выполняемых функций, например MS Word, очень широк и изучается студентами в лабораторном практикуме по информатике.
Табличные процессоры (типичный пример — MS Excel) позволяют обрабатывать большие объемы числовой информации (не исключая при этом обычную символьную), формируя из данных таблицы. Можно сказать, что это очень мощные калькуляторы, хранящие в своей памяти огромные числовые массивы и позволяющие выполнять над ними различные арифметические и логические операции, формировать диаграммы и делать множество других операций, полезных для решения различных задач пользователя. Аналогично пакету MS Word, табличный процессор MS Excel изучается в лабораторном практикуме по информатике.
Графические редакторы позволяют генерировать различные изобразительные объекты. Они делятся на 2 класса — растровой и векторной графики — в зависимости от того, какое внутреннее представление этих объектов в них поддерживается. Редакторы растровой графики используются для работы с фотографиями. Они кодируют фотоизображения в цифровую форму и позволяют выполнять над ними различные редактирующие операции (выделение фрагментов, перемещение, вырезание, копирование и т. Примерами редакторов этого класса являются: Adobe Photoshop, Aldus Photo Styler, Picture Publisher, Photo Works Plus. Редакторы векторной графики используются для профессиональной работы, связанной с технической и художественной иллюстрацией с последующей цветной печатью. Они занимают промежуточное место между САПР и настольными издательскими системами. Включают инструментарий для создания графического объекта; средства манипулирования объектами; средства обработки текста в части оформления и модификации параграфов, работы со шрифтами; средства вывода на печать и настройки цвета. Примерами графических редакторов этого класса являются Corel Draw, Adobe Illustrator, Aldus Free Hand, Professional Draw.
Системы управления базами данных (СУБД) используются для автоматизации процедур создания, хранения и извлечения электронных данных. Различаются способом организации данных, форматом, языком формирования запросов на операции с данными. типичными примерами являются MS Access, Oracle, Paradox.
Пакеты программ мультимедиа используются для отображения (воспроизведения) и обработки аудио- и видеоинформации. Включают, в частности, пакеты Director for Windows, Multimedia Viewer Kit, NEC MultiSpin.
Пакеты демонстрационной графики — это конструкторы графических образов деловой информации, призванные в наглядной и динамической форме представлять результаты некоторых аналитических исследований. последовательность работы с такими пакетами включает шаги: разработка общего плана представления, выбор шаблона для оформления элементов, формирование и импорт элементов (текст, графика, таблицы, диаграммы, звуковые эффекты, видеоклипы). Примеры таких пакетов: Power Point, Harvard Graphics, WordPerfect Presentations.
· офисные. Обеспечивают организационное управление деятельностью офиса. Включают органайзеры (записные и телефонные книжки, календари, презентации и т. ), средства распознавания текста;
Обеспечивают организационное управление деятельностью офиса. Включают:
Органайзеры используются для автоматизации процедур планирования использования различных ресурсов (времени, денег, материалов) как отдельного человека, так и всей фирмы или ее подразделений. Существуют 2 вида пакетов этого класса:
1) органайзеры для управления проектами. используются для сетевого планирования и управления проектами. Позволяют спланировать проект любой величины и сложности, эффективно распределить людские, финансовые и материальные ресурсы, составить оптимальный график работ и проконтролировать его исполнение. К ним относятся Time Line, MS Project, CА — Super Project;
2) органайзеры для организации деятельности отдельного человека. Это электронные секретари для эффективного управления деловыми контактами. Включают, в частности, Lotus Organizer, ACTI.
Программы для распознавания символов используются для перевода графических изображений букв и цифр в ASCII-коды этих символов. Применяются в сканерах. Примерами таких пакетов являются Fine Reader, Cunie Form, Tiger, Omni Page.
· настольные издательские системы – более функционально мощные текстовые процессоры;
Применяются для профессиональной издательской деятельности. Позволяют осуществлять электронную верстку широкого спектра основных типов документов типа информационного бюллетеня, цветной брошюры, каталога, справочника. Позволяют решать задачи:
компоновать (верстать) текст;
использовать всевозможные шрифты и выполнять полиграфические изображения;
осуществлять редактирование текста на уровне лучших текстовых процессоров;
обрабатывать графические изображения;
выводить документы полиграфического качества;
работать в сетях на разных платформах.
Примерами таких пакетов являются: Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher, Page Plus, Compu Work Publisher.
· системы искусственного интеллекта. Используют в работе некоторые принципы обработки информации, свойственные человеку. Включают информационные системы, поддерживающие диалог на естественном языке; экспертные системы, позволяющие давать рекомендации пользователю в различных ситуациях; интеллектуальные пакеты прикладных программ, позволяющие решать прикладные задачи без программирования.
Этот класс пакетов включает: информационные системы, поддерживающие диалог на естественном языке (естественно-языковый интерфейс); экспертные системы, позволяющие давать рекомендации пользователю в различных ситуациях; интеллектуальные пакеты прикладных программ, позволяющие решать прикладные задачи без программирования.
Естественно-языковый интерфейс был наиболее привлекателен для общения с ЭВМ с момента ее появления. Это позволило бы исключить необходимость обучения конечного пользователя языку команд или другим приемам формулировки своих заданий для решения на компьютере, поскольку естественный язык является наиболее приемлемым средством общения для человека. Поэтому работы по созданию такого рода интерфейса начались с середины 20-го века. Однако, несмотря на весь энтузиазм исследователей и проектировщиков, эта задача не решена и по сей день из-за огромных сложностей, связанных с пониманием предложений естественного языка и связного текста в целом. Некоторые программные продукты, которые появлялись на рынке, носили скорее экспериментальный характер, имели множество ограничений и не решали задачу кардинально. Тем не менее, несмотря на кажущийся застой в этой сфере, данная проблема остается актуальной и по сей день и вошла в состав проблематики, связанной с проектом ЭВМ пятого поколения.
Экспертные системы впервые появились в области медицины. Возникла идея интеграции знаний экспертов в области медицины или ее отдельных разделов в некоторую электронную форму, которая позволила бы начинающему врачу иметь своеобразного электронного советника при принятии решений по тому или иному врачебному случаю. Выбор области медицины объясняется слишком большой ценой ошибок, которые касаются жизни и здоровья людей. Постепенно от области медицины эта технология распространилась и на другие сферы деятельности человека, например, производство. Технология использования экспертных систем предполагает первоначальное «обучение» системы, т. заполнение ее конкретными знаниями из той или иной проблемной области, а потом уже эксплуатацию наполненной знаниями экспертной системы для решения прикладных задач. Эта идеология проявила себя в проекте ЭВМ пятого поколения в части привлечения конечного пользователя к решению своих задач и связана с проблемой автоформализации знаний.
Интеллектуальные пакеты прикладных программ позволяют, аналогично экспертным системам, предварительно создавать базу знаний, включающую совокупность знаний из той или иной области деятельности человека, а затем решать практические задачи с привлечением этих знаний. Различие этих видов пакетов состоит в том, что экспертные системы, в отличие от интеллектуальных ППП, позволяют интегрировать знания из так называемых слабо формализуемых предметных областей, в которых сложно определить входные и выходные параметры задачи, а также невозможно сформировать четкий алгоритм ее решения. Кроме того, экспертные системы не формируют алгоритм решения задачи как в случае интеллектуальных ППП, а лишь выдают «советы» пользователю на основании его запроса.
Инструментарий технологии программирования — это совокупность программ, обеспечивающих технологию разработки, отладки и внедрения программных продуктов.
Инструментарий технологии программирования делится на два больших класса инструментальных средств: для создания отдельных приложений (программ) и для создания информационных систем и технологий.
Средства для создания отдельных приложений включают локальные средства (языки программирования, системы программирования, инструментальные среды пользователя) и интегрированные среды разработки программ, основное назначение которых — повышение производительности труда программистов за счет автоматизации создания кодов программ, обеспечивающих интерфейс пользователя графического типа, а также автоматизации разработки запросов и отчетов (например, Delphi).
В свою очередь языки программирования делятся на следующие виды:
операторные. Используются для кодирования алгоритмов, а потому также называются алгоритмическими. Имеют в составе:
· машинно-зависимые (ассемблер). Применяются для написания программ, явно использующих специфику конкретной аппаратуры. Каждый компьютер имеет такую систему программирования, которая изготавливается и поставляется фирмой-изготовителем вместе с компьютером;
· машинно-ориентированные (язык С). Объединяет идеи ассемблера и алгоритмического языка. Программы компактны и работают очень быстро.
· универсальные (Турбо-Паскаль, Бэйсик). Приближены максимально, насколько это возможно, к естественному английскому языку: название каждой команды – английское слово;
функциональные. Применяются, как правило, для машинного моделирования той или иной проблематики. Имеют в составе:
· проблемно-ориентированные (GPSS). Моделируют систему с помощью последовательности событий. Применяются, в частности, при проектировании вычислительных комплексов;
· объектно-ориентированные (Форт). Имеют встроенные средства для моделирования новых объектов программирования;
· логико-ориентированные (Prolog). Отдельно описываются правила предметной области, по которым затем выводятся новые факты.
Системы программирования включают:
интегрированную среду разработчика программы, состоящую, в частности, из текстового редактора, позволяющего создавать и корректировать исходные тексты программ, средств поддержки интерфейса программиста с системными средствами для выполнения различных сервисных функций (например, сохранения или открытия файла);
транслятор – программу, переводящую исходный текст во внутреннее представление компьютера;
отладчик – программу для трассировки и анализа выполнения прикладных программ. Позволяет отслеживать выполнение программы в пооператорном режиме, идентифицировать место и вид ошибок в программе, наблюдают за изменением значений переменных, выражений и т
компоновщик – программа для подготовки прикладной программы к работе в конкретных адресах основной памяти компьютера;
справочные системы.
Инструментальная среда пользователя – это специальные программные средства, встроенные в ППП:
библиотеки функций, процедур, объектов и методов обработки;
конструкторы экранных форм и отчетов;
языки запросов высокого уровня.
Системное ПО – совокупность программ и программных комплексов для обеспечения работы компьютеров и сетей ЭВМ.
ОСНОВНЫЕ ВИДЫ ПО. ОБЗОР СИСТЕМНОГО ПО
Программа– упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение – совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программный продукт – комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Системное ПО – совокупность программ и программных комплексов для обеспечения работы компьютеров и сетей ЭВМ.
Системное ПО направлено на:
- создание операционной среды функционирования других программ;
- обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
- проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
- выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление и др.).
Системное ПО связано с типом компьютера, ориентировано на квалифицированных пользователей-профессионалов, носит общий характер применения (независимо от предметной области).
Базовое программное обеспечение – минимальный набор программных средств, обеспечивающих работу компьютера.
Сервисное ПО – программы и программные комплексы, которые расширяют возможности базового ПО и организуют более удобную среду работы пользователя.
Операционная система (ОС) предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.
ОС (для ПЭВМ) делятся на:
- одно- и многозадачные (в зависимости от числа параллельно выполняемых прикладных процессов);
- одно- и многопользовательские (в зависимости от числа пользователей, одновременно работающих с ОС);
- переносимые и непереносимые (на другие типы компьютеров);
- несетевые и сетевые, обеспечивающие работу в ЛВС ЭВМ.
ОС MS DOS. (Microsoft).
Появилась в 1981 г. Предназначалась для поставки с компьютерами IBM.
ОС семейства DOS являются однозадачными, но имеют и некоторые элементы многозадачности. В частности, можно организовать фоновую печать на принтере, а также разместить в ОЗУ несколько резидентных программ и активизировать их при необходимости.
Все версии DOS совместимы снизу вверх (т. программа, разработанная для младшей версии, в подавляющем большинстве случаев будет работать и под управлением более старшей версии ОС).
ОС семейства DOS могут работать па всех классах IBM-совместимых ПЭВМ. Однако зги системы позволяют полностью использовать ресурсы только компьютеров класса XT.
На DOS заметное влияние оказали концепции, заложенные в систему UNIX. ОС семейства DOS обладают нижеприведенными характерными чертами и достоинствами:
- возможностью задания в качестве имен файлов образных имен, что позволяет специфицировать при выполнении тех или иных действий множества файлов вместо одного;
- простым пользовательским интерфейсом, а также поддержкой командных файлов, то обеспечивает возможность создания пользовательских макрокоманд,
- поддержкой иерархической (древовидной) файловой структуры;
- возможностью не только последовательного, но и прямого доступа к содержимому файлов;
- трактовкой на логическом уровне устройств ввода-вывода как файлов, что унифицирует средства обмена информацией с любыми ПУ и файлами;
- наличием конвейеров (средств передачи вывода одной программы или команды на вход ругой) и возможностью перенаправления ввода-вывода на уровне командного языка;
- некоторыми средствами поддержки сетей ЭВМ;
- модульностью структуры, упрощающей перенос системы на другие типы ПЭВМ;
- небольшим потребным объемом оперативной памяти для работы (около 60 Кбайт) и вешней памяти для хранения системных файлов;
- возможностью создания в памяти виртуальных дисков, что ускоряет обмен информацией;
- возможностью запуска фоновых задач,
- поддержкой ряда национальных алфавитов и соглашений.
Главным уязвимым местомDOS является работа с оперативной памятью. Дело в том, что в эпоху создания MS DOS оперативная память большинства компьютеров не превышала 256 кбайт. DOS могла работать с 640 Кбайт оперативной памяти. Когда появились программы, которым требовался для работы весь объем оперативной памяти, возникли проблемы. Стандартный сервис DOS не предоставлял возможности работать с большим объемом ОП. Поэтому приходилось использовать специальные программы — менеджеры памяти. Но и они не могли заставить упрямую DOS размещать загружаемые при включении компьютера программы вне «области 640 кбайт». Возникал парадокс: сколько бы оперативной памяти ни имел ваш компьютер, вы не могли запустить программу, если у вас не имелось достаточно свободного пространства в стандартной памяти — той самой области 640 кбайт.
Вторым недостатком DOS была невозможность работы в полноценном графическом режиме, хотя «железо» тогдашних компьютеров уже могло бы обеспечить его поддержку. Дело в том, что DOS практически не позволяла работать с загружаемыми драйверами для различных видеокарт.
Третьим препятствием на пути MS DOS стала однозадачность. Все больше и больше людей желало запускать на своем компьютере сразу несколько программ с возможностями переключения между ними — а DOS этого обеспечить не могла, в отличие от ОС тех же компьютеров Мacintosh. В результате с появлением Windows95 DOS практически сошла со сцены, хотя до сих пор установлена на наших компьютерах в качестве составляющей ядра Windows95 и Windows 98, а в 2000 году IВМ даже выпустила новую версию — DOS 2000.
ОС WINDOWS.
Начиная с Win95, эта ОС – 32-разрядная, многозадачная, многопоточная ОС с графическим интерфейсом. Windows превратилась из графической надстройки для MS DOS в полноценную ОС. Windows 95 могла автоматически распознать большое число комплектующих и обладала значительно более совершенным механизмом настройки и конфигурации.
Недостатки – нестабильность работы (особенно в многозадачном «режиме»).
ОС OS/2. Многозадачная, однопользовательская, высоконадежная ОС (IBM и Microsoft).
Ее достоинства — полноценная многозадачность, обеспечивающая каждой программе возможность работы в отдельной, изолированной «виртуальной машине», высокая надежность, более привлекательный интерфейс, расширенные возможности работы с мультимедиа, многопоточная обработка нескольких задач одного приложения.
Особенность – высокопроизводительная файловая система HPFS.
Главный недостаток: повышенные требования к ресурсам компьютера (для своего времени).
ОСUnix. (Bell Laboratory). Реализует принцип открытых систем и широкие возможности по комплексированию в составе одной вычислительной системы разнородных технических и программных средств.
- переносимость прикладных программ;
- поддержка распределенной обработки данных в сети ЭВМ;
- сочетаемость с процессорами RISC.
ОСLinux. Операционная система Linux, создана в 1991 году и официально выпущена в 1994 г. Линусом Торвальдсом. Linux — единственная популярная ОС, созданная любителем (Торвальдс написал ее в качестве дипломного проекта). Свое происхождение многозадачная многопользовательская 32-разрядная система Linux ведет от класса универсальных ОС UNIX, которые в течение многих лет (еще с 60-х годов!) обслуживали «большие» промышленные компьютеры. Проект UNIX объединяет десятки (!) различных ОС, созданных для своих компьютеров различными фирмами. В создании одной из них — Xenix — принимала на заре своей карьеры участие и Microsoft.
Ядро Linux открыто для изменения, и любой мало-мальски образованный программист (на которых, собственно, и рассчитывалась эта ОС) может легко и быстро <подогнать> ее к любому конкретному компьютеру. Бич Windows — аппаратные конфликты — в Linux явление архиредкое: по стабильности она давно и уверенно занимает первое место.
Недостатки. До недавнего времени для того, чтобы работать с Linux, нужно было как минимум разбираться в программировании. А в идеале — переписывать ядро ОС для своей машины и создавать нужные драйверы. Основное применение этой ОС – сети.
Функции и характеристики сетевых операционных систем (ОС). Различают ОС со встроенными сетевыми функциями и оболочки над локальными ОС. По другому признаку классификации различают сетевые ОС одноранговые и функционально несимметричные (для систем «клиент/сервер»).
Основные функции сетевой ОС:
— управление каталогами и файлами;
— управление ресурсами;
— коммуникационные функции;
— защита от несанкционированного доступа;
— обеспечение отказоустойчивости;
— управление сетью.
Управление каталогами и файлами является одной из первоочередных функций сетевой операционной системы, обслуживаемых специальной сетевой файловой подсистемой. Пользователь получает от этой подсистемы возможность обращаться к файлам, физически расположенным в сервере или в другой станции данных, применяя привычные для локальной работы языковые средства. При обмене файлами должен быть обеспечен необходимый уровень конфиденциальности обмена (секретности данных).
Управление ресурсами включает запросы и предоставление ресурсов.
Коммуникационные функции обеспечивают адресацию, буферизацию, маршрутизацию.
Защита от несанкционированного доступа возможна на любом из следующих уровней: ограничение доступа в определенное время, и (или) для определенных станций, и (или) определенное число раз; ограничение совокупности доступных конкретному пользователю директорий; ограничение для конкретного пользователя списка возможных действий (например, только чтение файлов); пометка файлов символами типа «только чтение», «скрытность при просмотре списка файлов».
Отказоустойчивость определяется наличием в сети автономного источника питания, отображением или дублированием информации в дисковых накопителях. Отображение заключается в хранении двух копий данных на двух дисках, подключенных к одному контроллеру, а дублирование означает подключение каждого из этих двух дисков к разным контроллерам. Сетевая ОС, реализующая дублирование дисков, обеспечивает более высокий уровень отказоустойчивости.
Дальнейшее повышение отказоустойчивости связано с дублированием серверов.
Чем сложнее сеть, тем острее встают вопросы управления сетью. Управляющее ПО представлено менеджерами и агентами. Менеджер — прикладная программа, выдающая сетевые команды. Агенты доводят эти команды до исполнительных устройств и сигнализируют о событиях в состоянии устройств, они следят за трафиком и фиксируют аномалии, помогают восстановлению информации после сбоев, борются с вирусами и т.
В сетевых ОС обычно выделяют ядро, реализующее большинство из перечисленных функций и ряд дополнительных программ (служб), ориентированных на реализацию протоколов верхних уровней, организацию распределенных вычислений и т. К сетевому программному обеспечению относятся также драйверы сетевых плат, различные для разных типов ЛВС. Но и внутри одного типа ЛВС имеется много плат с разными характеристиками интеллектуальности, скорости, объема буферной памяти.
Выбор среди ОС происходит преимущественно между тремя основными системами — UNIX, Windows NT, Novell Netware.
Областью применения ОС UNIX остаются крупные TCP/IP корпоративные сети. Отличительные свойства UNIX — высокая надежность, возможность легкого масштабирования сети.
Windows NT предназначена для работы в сетях «клиент/сервер», ориентируется преимущественно на рабочие группы и средние по своим масштабам сети, популярность этой ОС быстро растет. ОС асимметрична — включает серверную (Windows NT Server) и клиентскую (Windows NT Workstation) части.
Novell Netware пока сохраняет свои позиции в небольших сетях. Состоит из серверной части и оболочек Shell, размещаемых в клиентских узлах. Операционные оболочки.
Операционные оболочки – специальные программы, предназначенные для облегчения работы пользователя с командами ОС. Имеют текстовый и графический интерфейсы конечного пользователя. Эти программы упрощают задание управляющей информации для выполнения команд ОС, уменьшают напряженность и сложность работы конечного пользователя.
ХАРАКТЕРИСТИКА ПРОГРАММНОГО ПРОДУКТА
Все программы по характеру использования и категориям пользователей можно разделить на два класса (рис. 4) – утилитарные программы и программные продукты (изделия).
Рис. Классификация программ по категориям пользователей
Утилитарные программы («программы для себя») предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.
§ freeware – бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
Ряд производителей использует ОЕМ-программы (Original Equipment Manufacturer), т. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.
Путь от «программ для себя» до программных продуктов достаточно долгий, он связан с изменениями технической и программной среды разработки и эксплуатации программ, с появлением и развитием самостоятельной отрасли – информационного бизнеса, для которой характерны разделение труда фирм – разработчиков программ, их дальнейшая специализация, формирование рынка программных средств и информационных услуг.
Программные продукты могут создаваться как:
§ индивидуальная разработка под заказ;
§ разработка для массового распространения среди пользователей.
При индивидуальной разработке фирма-разработчик создает оригинальный программный продукт, учитывающий специфику обработки данных для конкретного заказчика.
При разработке для массового распространения фирма-разработчик, с одной стороны, должна обеспечить универсальность выполняемых функций обработки данных, с другой стороны, гибкость и настраиваемость программного продукта на условия конкретного применения. Отличительной особенностью программных продуктов должна быть их системность — функциональная полнота и законченность реализуемых функций обработки, которые применяются в совокупности.
Программный продукт разрабатывается на основе промышленной технологии выполнения проектных работ с применением современных инструментальных средств программирования. Специфика заключается в уникальности процесса разработки алгоритмов и программ, зависящего от характера обработки информации и используемых инструментальных средств. На создание программных продуктов затрачиваются значительные ресурсы – трудовые, материальные, финансовые; требуется высокая квалификация разработчиков.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами – распространителями программ (дистрибьютерами), реже – фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами – исправление обнаруженных ошибок, создание новых версий программ и т.
Сопровождение программного продукта – поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, так как одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее.
Основными характеристиками программ являются:
§ алгоритмическая сложность (логика алгоритмов обработки информации);
§ состав и глубина проработки реализованных функций обработки;
§ полнота и системность функций обработки;
§ объем файлов программ;
§ требования к операционной системе и техническим средствам обработки со стороны программного средства;
§ объем дисковой памяти;
§ размер оперативной памяти для запуска программ;
§ тип процессора;
§ версия операционной системы;
§ наличие вычислительной сети и др.
Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:
§ насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт;
§ насколько легко эксплуатировать программный продукт;
§ можно ли использовать программный продукт при изменении условия его применения и др.
Дерево характеристик качества программных продуктов представлено на рис.
Рис. Дерево характеристик качества программного продукта
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений.
Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения – требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
Расход вычислительных ресурсов оценивается через объем внешней памяти для размещения программ и объем оперативной памяти для запуска программ.
Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.
В условиях существования рынка программных продуктов важными характеристиками являются:
§ количество продаж;
§ время нахождения на рынке (длительность продаж);
§ известность фирмы-разработчика и программы;
§ наличие программных продуктов аналогичного назначения.
Программные продукты массового распространения продаются по ценам, которые учитывают спрос и конъюнктуру рынка (наличие и цены программ-конкурентов). Большое значение имеет проводимый фирмой маркетинг, который включает:
§ формирование политики цен для завоевания рынка;
§ широкую рекламную кампанию программного продукта;
§ создание торговой сети для реализации программного продукта (так называемые дилерские и дистрибьютерные центры);
§ обеспечение сопровождения и гарантийного обслуживания пользователей программного продукта, создание горячей линии (оперативный ответ на возникающие в процессе эксплуатации программных продуктов вопросы);
§ обучение пользователей программного продукта.
Спецификой программных продуктов (в отличие от большинства промышленных изделий) является также и то, что их эксплуатация должна выполняться на правовой основе – лицензионные соглашения между разработчиком и пользователями с соблюдением авторских прав разработчиков программных продуктов.