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

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

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

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

В базовое программное обеспечение входят:

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

· операционные оболочки (обычно текстовые и графические);

· сетевая операционная система.

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

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

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

· функциональные возможности вспомогательных программ (утилит) в составе операционной системы;

· наличие компрессии диска;

· возможность архивирования файлов;

· поддержка многозадачного режима работы;

· поддержка сетевого программного обеспечения;

· наличие качественной документации;

· условия и сложность процесса инсталляции;

· мобильность (переносимость), безопасность, надежность и др.

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

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



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

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

· программы диагностики работоспособности компьютера;

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

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

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

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

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

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

12.Средство для созданий приложений.

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

Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.

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

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

§ машинные языки (computer language) – языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

§ машинно-ориентированные языки (computer-oriented language) – языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);

§ алгоритмические языки (algorithmic language) – не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);

§ процедурно-ориентированные языки (procedure-oriented language) – языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);

§ проблемно-ориентированные языки (universal programming language) – языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);

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

Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования, и объектно-ориентированные языки, поддерживающие понятие объектов и их свойств и методов обработки. Более подробно об этом делении см. гл. 18 и 19.

Программа, подготовленная на языке программирования, проходит этап трансляции, когда происходит преобразование исходного кода программы (source code) в объектный код (object code), который далее пригоден к обработке редактором связей. Редактор связей – специальная программа, обеспечивающая построение загрузочного модуля (load module), пригодного к выполнению (рис. 8.12).

Рис. 8.12. Схема процесса создания загрузочного модуля программы

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

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

Системы программирования (programming system) включают:

§ компилятор;

§ интегрированную среду разработчика программ;

§ отладчик;

§ средства оптимизации кода программ;

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

§ редактор связей;

§ сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;

§ справочные системы;

§ документатор исходного кода программы;

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

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

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

§ поддержки версий программы с автоматической разноской изменений;

§ получения статистики о ходе работ проекта.

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

§ библиотека функций, процедур, объектов и методов обработки;

§ макрокоманды;

§ клавишные макросы;

§ языковые макросы;

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

§ конструкторы экранных форм и отчетов;

§ генераторы приложений;

§ языки запросов высокого уровня;

§ языки манипулирования данными;

§ конструкторы меню и многое другое.

Более подробно эти средства рассмотрены в гл. 19.

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

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

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

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

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

Классификация прикладного ПО:

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

№п\п Виды прикладного ПО общего назначения Назначение Примеры программ
Текстовые редакторы для создания и редактирования текста, без какого-либо оформления Notepad или Блокнот (входит в ОС MS Windows),TextPad
Текстовые процессоры для создания и редактирования текста с оформлением (задание шрифта, размера, цвета текста, выравнивания и др.) и с внедрением таблиц, графиков и формул MS Word, WordPad (входит в ОС MS Windows)
Электронные таблицы для обработки данных в табличной форме MS Excel
Графические редакторы: для создания и редактирования изображений
- растровые для работы с растровыми изображениями MS Paint (входит в ОС MS Windows), Adobe Photoshop
-векторные для работы с векотрными изображениями CorelDRAW, Adobe Illustrator
"Просмотрщики" для просмотра файлов универсальных форматов
5.1 "Просмотрщики" изображений для просмотра изображений CDSee, FastStone Image Viewer, FastPictureViewer
5.2 "Просмотрщики" HTML-страниц (браузеры, веб-обозреватели) для просмотра страниц веб-сайтов MS Internet Explorer, Mozila Firefox, Google Chrome, Opera, Safari
5.3 "Просмотрщики"медиа контента (медиаплееры, медиапроигрыватели): для воспроизведения медиа контента
-аудиоплееры для воспроизведения аудиофайлов AIMP, Foobar2000, Spider player,MusicBee, Media Monkey
-мультимедиа-центры для воспроизведения видео- и аудиофайлов Windows Media Player (WMP, входит в ОС MS Windows), QuickTime Player(входит в ОС Mac OS X), Winamp, VLC media player, Media Player Classic
5.4 "Просмотрщики" flash-контента (Flash-плееры) для воспроизведения видео и аудиофайлов на веб-сайтах, для игр он-лайн Adobe Flash Player
5.5 "Просмотрщик" pdf-файлов для просмотра и печати pdf-файлов Adobe Reader
Системы управления базами данных (СУБД) настольные (файл-серверные) для управления созданием и работой с базами данных MS Access, Paradox
Компьютерные игры для развлечения или обучения 3D-шутер,"Кот Леопольд. Учим английский язык"
Переводчики
-электронные словари для перевода отдельных слов ABBYY Lingvo, МультиЛекс
-переводчики текстов для перевода текста ПРОМТ

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

№п\п Виды прикладного ПО специального назначения Назначение Пользователи Примеры программ
Настольные издательские системы для электронной верстки газет, журналов, книг, буклетов (составление страниц определенного размера из текста и иллюстраций для получения печатной формы) работники типографий, редакций журналов и газет, издательств, а также работники рекламных агентств QuarkXPress, Adobe InDesign, Adobe FrameMaker, Corel Ventura, MS Publisher
Электронные энциклопедии, учебники, словари, справочники для получения знаний в определенной сфере школьники, студенты, научные работники, специалисты различных сфер "Энциклопедия современной техники. Сстроительство", "Справочник мастера-строителя", "Музыкальный словарь", интерактивный мультимедиа учебник "Органическая химия"
Системы автоматизированного перевода (CAT-программы) для перевода профессиональных текстов с использованием баз знаний предметных областей профессиональные переводчики Trados, Deja Vu, Star Transit
Серверные СУБД (клиент-серверные) для управления созданием и работой с базами данных информационных систем администраторы баз данных mySQL, MS SQL Server, Sybase Adaptive Server Enteprise, Oracle Database
Редакторы трехмерной (3D) графики для создания и редактирования трехмерной графики художники 3D Autodesk 3ds Max(ранее 3D Studio MAX), Autodesk Maya, Blender, Cinema 4D, ZBrush
Видеоредакторы (системы видеомонтажа): для обработки видеоматериала
-профессиональные для монтажа фильмов, телепередач работники кинематографа и телевидения Adobe Premiere Pro, Grass Valley Ediu, Sony Vegas Pro
-"домашние" для монтажа "домашних" фильмов непрофессионалы Windows Movie Maker (входит в ОС MS Windows), Corel VideoStudio Pro, Pinnacle Studio
Аудиоредакторы (системы аудиомонтажа) для обработки аудиоматериала
-профессиональные для записи музыкальных композиций, подготовки фонограмм для радио, озвучивания фильмов, компьютерных игр, реставрации старых фонограмм звукорежиссеры на радио, звукозаписывающих студиях, в киноиндустрии Adobe Audition, Steinberg WaveLab, Sony Sound Forge. Audacity
-"домашние" для записи любительских музыкальных композиций, для создания собственных рингтонов для мобильных телефонов и др. непрофессионалы CyberPower Audio Editing Lab, Akram Audio Editor
Нотные редакторы для создания и редактирования нотного текста с оформлением, а также для проигрывания набранного текста работники музыкальных издательств, музыкальных учебных заведений, музыкальных театров, филармоний; композиторы, аранжировщики, дирижеры Finale, Encore, Cakewalk Overture, Sibelius,MuseScore
Экспертные системы для решения задач некоторых предметных областей (заменяет специалиста-эксперта) работники, занимающиеся диагностикой, конструированием, планированием, управлением Медицина:MYCIN; военное дело:ACES; электроника:ACE; информатика: CODES, химия: DENDRAL; геология:PROSPECTOR торговля: РЕМОРАМА
Системы автоматизированного проектирования (САПР, CAD/CAM/CAE) для разработки на компьютере чертежей, схем, 3D-моделей, конструкторской и технологической документации инженеры-конструкторы, архитекторы Компас, AutoCAD, ZwCAD, nanoCAD Электро, BtoCAD, Стройэкспертиза BASE
Геоинформационные системы (ГИС):
-универсальные и специализированные для создания, редактирования и анализа электронных географических карт, для поиска информации об объектах карты: городах, дорогах, зданиях, улицах, реках, рельефе, среднегодовой температуре ГИС-специалисты, ГИС - операторы, инженеры-картографы, геологи, геодезисты, гидрологи,метеорологи MapInfo, CREDO_DAT, ArcGIS, Arcview, GeoServer, GRASS, gvSIG, Арго, Полигон, Панорама, ГИС Метео
-информационно-справочные -для просмотра карт города и окрестностей, для поиска организаций, маршрутов транспорта, поиска проезда по городу непрофессионалы 2ГИС
общие системы для различных предприятий и организаций:
-интегрированные системы делопроизводства для поддержки полного цикла документа в организации: создание документов (документирование), организация движения и учёта документов (документооборот), хранение документов (архивное дело) делопроизводители (работники, которые отвечают за ведение документации организации) Дело, LanDocs, Золушка, Гран-Док
-бухгалтерские системы для ведения бухгалтерского и налогового учета бухгалтеры 1С:Бухгалтерия
-финансовые аналитические системы для ведения аналитического учета финансово-хозяйственной деятельности организации (систематизация информации, расчет аналитических показателей и формирование отчетов) финансовые аналитики Альт – Финансы, Audit Expert, ИНЭК – Аналитик, ФинЭкАнализ, модуль для MS Office Excel "Excel Financial Analysis"

14.Процедурное программирование.

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

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

Основные сведения

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

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

Прикладное программирование

Курс лекций

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

Совокупность программ, предназначенная для решения задач на ПК,

называется программным обеспечением. Состав программного обеспечения ПК называют программной конфигурацией.

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

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

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

Прикладное ПО, обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок,

обработка информационных массивов и т.д.

инструментальное ПО (системы программирования),

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


Системное ПО

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

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

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

К системному ПО относятся:

операционные системы (эта программа загружается в ОЗУ при включении компьютера)


Программы – оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander)



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

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

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

утилиты (вспомогательные или служебные программы,

которые представляют пользователю ряд дополнительных услуг)

К утилитам относятся:

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

количество информации на диске за счет ее динамического сжатия)

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

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

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

копирование, антивирусное ПО).

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


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

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

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

составе программных комплексов или пакетов. Прикладное ПО –

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

работ на ПК: редактирование текстовых документов, создание рисунков или

картинок, создание электронных таблиц и т.д.

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

К прикладному ПО, например, относятся:

Комплект офисных приложений MS OFFICE

Бухгалтерские системы

Финансовые аналитические системы

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

CAD – системы (системы автоматизированного проектирования)

Редакторы HTML или Web – редакторы

Браузеры – средства просмотра Web - страниц

Графические редакторы


Инструментальное ПО

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

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

1. Текстовый редактор для создания файла с исходным текстом программы.

2. Компилятор или интерпретатор .Исходный текст с помощью программы-

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

3. Редактор связей или сборщик , который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код.

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

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

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


Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:

Borland Delphi - предназначен для решения практически любых задачи прикладного программирования

Borland C++ Builder – это отличное средство для разработки DOS

и Windows приложений

Microsoft Visual Basic – это популярный инструмент для создания

Windows-программ

Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft

Тема 2. Виды ППО

Прикладное программное обеспечение (специальное программноеобеспечение; application software, special software) - часть программного обеспечения , состоящая из отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей ЭВМ и автоматизированных систем. Набор (комплект)

программ и связанной с ними документации (лицензионное свидетельство,

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

Условно выделяют:

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


2. Дружественное программное обеспечение (дружественный интерфейс; user-friendly software, user-friendly interface) - реализующее требования удобства и/или облегчения общения с программными средствами и ЭВМ для пользователей, в том числе и неопытных.

3. Бесплатное программное обеспечение (public-domain software) - программы без копирайта, которые можно свободно копировать, тиражировать, распространять. Бесплатное ПО не следует путать с условно-бесплатным программным обеспечением, на которое копирайт распространяется.

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

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

6. Free Software (FS, свободный софт) - свободное или свободно распространяемое ПО: термин предложен в 1984 году Ричардом Столлменом, который заявил, что каждый пользователь программы должен иметь четыре степени свободы: право свободно запускать, распространять, изучать и улучшать программу. В 1996 году было сформулировано более подробное определение свободного ПО - FSD (Free Software Definition), поддержанное общественной организацией


программистов - FSF (Free Software Foundation). В концепции

Copyleft программам и программистам предоставляется четыре вида

«права свободы» на выполнение программ для любых целей; изучение и модификацию программ, обеспеченное возможностью доступа к кодам; копирование и передачу копий; улучшение программ и передачу сообществу усовершенствованных версий. Эти права закрепляются в лицензиях, включая GNU General Public License и BSD.

Существует другое определение «свободного ПО» - DFSG (Debian

Free Software Guidelinnes, сформулированное в проекте Debian

примерно в то же время, что и FSD, Брюсом Перенсом (Bruce Perens) с

формально-юридических позиций.

7. Open Source (Открытый источник) - концепция создания свободно распространяемого ПО в открытых исходных кодах (ОИК), выделившаяся в 1998 году из Free Software и сформулированная Брюсом Перенсом в документе OSD (Open Source Definition). Она определяет авторское право на оригинальное ПО, а также права на репродуцирование и редактирование оригинальных разработок. Порожденные на основе этой концепции сообщество разработчиков ПО и так называемая Культура открытого источника (Open Source Culture) пытаются решить проблемы, возникающие между свободой распространения ПО и правом на интеллектуальную собственность. Для уточнения терминологии и снятия противоречий между Free Software и Open Source Европейская комиссия предложила в июне

2001 году термин FLOSS (Free/Libre and Open Source Software). Фирма

Sun Microsystems в декабре 2004 года предложила новую форму лицензии на свою версию ОС OpenSolaris . Она основана на Mozilla Public License и получила название CDDL (Common Development and Distribution License). В соответствии с этой лицензией разработчики, принимающие ее условия, должны дать право владения новыми


кодами программы разработчику исходного кода. Этим разработчику

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

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

9. Бета версия (beta version; b-version) - опытная версия программного обеспечения или прикладной программы, которая предварительно распространяется в ограниченном количестве преимущественно среди пользователей-экспертов или рецензентов для тестирования программного продукта и последующей его доводки перед выпуском

основного тиража программы.

10. Рабочая версия (run-time version) - копия программы с приложением,

которая может работать, но не обеспечивает все функциональные

возможности программы.

Тема 3. Классификация ППО

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


Рис.2. Классификация ППП (по области применения)

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

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

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

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

Процедурные ППП – автоматизируют создание ПО по реализации типовых процедур обработки информации (ввод, хранение, вывод,

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

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


генератор ввода–вывода (ГВВ), генератор экранных форм, генератор документации (FOXDOC) : создание программного документа – текст и описание программы.

Сервисные – ориентированны на поддержку технологических процессов обработки программ, дополнение ОС.

Достоинства ППП.

1) Сокращение затрат на разработку; (до нескольких десятков процентов, в среднем 20–30%)

2) По сравнению с элементарными средствами, более высокая комплексная увязка решений;

3) Более высокое качество документирования ПИ;

4) Более высокая функциональная надежность;

5) Наличие развитой системы сопровождения (набор сервисных услуг,

которыеподдерживают эксплуатацию у пользователя);

6) ППП – средство передачи и обмена опытом между разработчиками

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

Недостатки ППП.

1) Сложность освоения ППП;

2) Большое разнообразие ППП по распространенным задачам затрудняет выбор. На сегодня отсутствуют объективные методы оценки

3) Низкая степень системной увязки существующих ППП (в случае увязки нескольких конкретных программ по входам–выходам);

4) Проблема наращивания и модификации;

5) Малая функциональная полнота.

ППП общего назначения

Данный класс содержит широкий перечень программных продуктов,

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

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

программирования, могут пользоваться и программисты для создания

усложненных программ обработки данных.

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

либо централизованное хранение баз данных на файл-сервере и сетевой

доступ к ним.

В настоящее время наиболее широко представлены реляционные СУБД для персональных компьютеров, осуществляющие:

Работу с базой данных через экранные формы;

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

Генерацию отчётов различной структуры данных с подведением промежуточных и окончательных итогов;

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

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

Пользовательские приложения (прикладные программы),

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


СУБД (например, в СУБД Access 2010) содержатся элементы CASE-

технологии проектирования, в частности:

Визуализирована схема баз данных;

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

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

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

Всё это свидетельствует о расширении функциональных возможностей СУБД как инструментального средства для создания приложений.

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

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

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

Большинство серверов баз данных может использовать одновременно несколько платформ (Windows NT, Unix, OS/2 и др.), поддерживает широкий


спектр протоколов передачи данных (IPX, TCP/IP, X.25 и др.).

Некоторые серверы реализуют распределенное хранение информации в сети, поддерживают интерфейсы на уровне вызова типа:

1. ODBC – Open Data Base Connectivity – для доступа к разнородным базам данных;

2. DAL – Data Access Language – для создания запроса на выборку данных, распределённых в сети;

3. SAG/CLI – SQL Access Group/Call Level Interface – для распределенных запросов и др.

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

2. Генераторы (серверы) отчётов –программные средства,

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

Сервер отчётов подключается к серверу баз данных, используя все уровни передач и драйверы сервера баз данных. Серверы отчётов включают:

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

2. программы управления очередью запросов на формирование отчётов;

3. программы ведения словаря пользователей для разграничения доступа к сформированным отчётам;

4. программы ведения архива отчётов и др.

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


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

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

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

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

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

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

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

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


вычислительной и операционной платформе.


Наиболее распространены интегрированные пакеты, компонентами которых являются:

2. текстовый редактор;

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

4. органайзер;

5. средства поддержки электронной почты;

6. программы создания презентаций;

7. графический редактор.

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

Отличительными особенностями данного класса программных средств являются:

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

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

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

общий сервис для программ интегрированного пакета (например,

словарь и средства орфографии для проверки правописания, построитель диаграмм, конвертер данных и др.);


Легкость обмена и ссылок на объекты, созданные программами интегрированного пакета (применяется два метода: DDE – динамический обмен данными и OLE – динамическая компоновка объектами),

единообразный перенос объектов (метод drag-and-drop);

наличие единой языковой платформы для разбора макрокоманд,

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

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

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

Методо-ориентированные ППП

Методо–ориентированное ППП реализуют тот или иной метод

(математический) обработки информации.

Данный класс включает программные продукты, обеспечивающие,

независимо от предметной области и функции информационных систем,

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

исследования операций.

Методы статистической обработки и анализа данных (описательная статистика, регрессионный анализ, прогнозирование значений технико-

экономических показателей и т. п.) имеют широкое применение. Так,

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


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

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

Офисные ППП

Данный класс программных продуктов включает программы,

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

1. Органайзеры (планировщики) – программное обеспечение для планирования рабочего времени, составления протоколов встреч,

расписаний, ведения записной и телефонной книжки.

В состав программ-органайзеров входят: калькулятор, записная книжка,

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

информации и преобразования в текстовое представление. К ним относятся :


ППП OCR Cunei Form 2.0 – обеспечивает распознавание смешанных русско-английских текстов, в формате RTF сохраняется как текст, так и иллюстрации;

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

ППП Stylus Lingvo Office – реализует весь цикл «от листа до листа» – с помощью сканера осуществляется считывание текстового изображения, находящегося на печатном листе; FineReader осуществляет распознавание оптических образов и запись считанной информации в текстовом виде; Stylus for Windows выполняет перевод на указанный язык;

корректор орфографии Lingvo Corrector и резидентный словарь Lingvo

осуществляет проверку и правку. Результат перевода представляется в формате текстового редактора Word for Windows.

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

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

HTML, использованием цвета при оформлении фона, текста,

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

1. Eudora 2.1.2 (Qualcomm);

2. Pegasys Mail 2.4 (David Haris);


Они различаются платформами, на которых работают (DOS, Windows 3.x, Windows 95, Windows NT, Macintosh), ценой и условиями распространения,

поддерживаемыми транспортными протоколами, интерфейсом с сетями.

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

управление сообщениями по электронной почте (оповещение о новой почте,

организация почтовых ящиков, поиск, цитирование корреспонденции и т. д.).

Краткий обзор некоторых ППП

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

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

Autodesk AutoCAD

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

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

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

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

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


Adobe Flash


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

(ролики), которые можно использовать как отдельно, так и встраивая в различное окружение (в частности, в веб-страницы). Эти возможности обеспечиваются следующими компонентами технологии: языком Action Script, векторным форматом.swf и видеоформатом.flv, всевозможными flash-

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

Пакет MatLab

MatLab (сокращение от англ. «Matrix Laboratory») – пакет прикладных программ для решения задач технических вычислений, и язык программирования, используемый в этом пакете. По данным фирмы-

разработчика, более 1000000 инженерных и научных работников используют этот пакет, который работает на большинстве современных операционных систем, включая GNU/Linux, Mac OS, Solaris и Microsoft Windows.

Разработка ПИ.

Составляющие процесса разработки ПИ:

1) подход – от задачи;

2) подход стандартный ЕСПД.

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

Подход – от задачи

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


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

производителями.

2. Выбор методов реализации задачи. Формирование задания разработки. (Имеется ввиду спецификация ПИ). Внешнее проектирование ПИ.

(составить формулу документа)

Результатом внешнего проектирования является подготовка внешней спецификации.

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

Определение структуры программного комплекса, состава и структуры БД,

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

4. Подготовка (кодирование) программных текстов, параллельно с этим подготовка программной документации.

5. Автономная отладка (отладка в статике), отладка модулей, их связей.

6. Комплексирование компонент и комплексная отладка;

7. Испытание. Проверка работоспособности изделия в реальных условиях эксплуатаци

Тема 3. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

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


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

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

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

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

· на выполнение вспомогательных операций;

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

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

Базовый подкласс ПО включает:

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

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



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

До недавнего времени на большинстве ПК была установлена операци­онная сис­тема MS DOS , которая была создана в 1981 г. фир­мой Microsoft (заметим, что она не была ори­гинальной разработкой самой Microsoft - ком­пания Билла Гейтса лишь дорабо­тала «операци­онку» под названием QDOS, созданную другой компанией ). До появления Windows дисковая операцион­ная система MS DOS была самой популярной и массовой в применении. В ее среде создано целое поколение программного продукта. На основе MS DOS в процессе развития компьютерных технологий появился Windows (с 1996 г. MS DOS включена в состав операционной среды Windows 95 ). Основные компоненты ОС, развитые в среде MS DOS, являются классикой, и орга­нично включены в Windows на новом этапе раз­вития программного обеспе­чения в целом и его сердцевины - операционных систем.

MS DOS 16-разрядная однозадачная операционная сис­тема, обладающая «интер­фейсом ко­манд­ной строки», компактна, предъяв­ляет скром­ные требо­ва­ния к аппаратуре и вы­полняет необ­ходимый мини­мум функций для поль­зователей и программ. Основ­ные недос­татки DOS:

· главным ее уяз­вимым ме­стом является работа с ограниченной оператив­ной памятью (в эпоху созда­ния MS-DOS оперативная па­мять большин­ства компьюте­ров не превышала 256 ки­лобайт. DOS мог­ла работать с 640 ки­лобай­тами ОП, и Билл Гейтс ут­верждал, что никому и никогда не понадо­бится больший объем, но время шло и появились программы, ко­то­рым требовался для работы больший объем опера­тив­ной памяти и при­ходи­лось ис­пользовать специальные про­граммы - ме­неджеры памяти, но и они не ре­шали проблему );

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

· третьим недостат­ком MS-DOS была однозадачность.

Операционные системы се­мейства DOS, несмотря на свою про­стоту и экономичность, мо­рально устарели, и на смену им пришли опе­рацион­ные системы нового поко­ления. К числу таких ОС относятся операционные сис­темы се­мейства Windows , операци­онные системы семейства Unix и др.

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

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

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

· программы архивирования данных (обеспечивают процесс сжатия ин­форма­ции в файлах с целью уменьше­ния объема памяти для ее хранения );

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

· программы диагностики работоспособности компьютера;

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

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

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

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

Локальные средства разработки про­грамм включают языки и системы про­грам­мирования, а также инструментальную среду пользователя. Сущест­вуют ма­шинные языки программирования (воспринимаемые аппаратной ча­стью компью­тера ма­шин­ные коды ), машинно-ориентированные языки (языки программирова­ния, кото­рые отражают структуру конкретного типа компью­тера – ассемб­леры ), алго­ритмические (универсальные ) языки, не зависящие от архитектуры компьютера, напри­мер, Фор­тран (Fortran ), Ко­бол (Cobol ), Алгол (Algol ), Пас­каль (Pascal ), Бейсик (Basic ), Си (C ), Си++ (C++ ) и др.; процедурно-ориентированные языки (где име­ется возмож­ность описания про­граммы как совокупности процедур – подпро­граммы ), про­блемно-ориен­тированные языки (предназначенные для решения задач оп­реде­ленного класса ), интегрирован­ные системы программирования. Заметим, что класси­фикация языков программирования не закреплена ГОСТами (в учебных це­лях обычно проводится их классификация по различным призна­кам ). Про­грамма, подго­товленная на языке программи­рования, проходит этап трансля­ции, отладки и тести­рования.

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

Кроме того, существуют средства для создания сложных информацион­ных сис­тем (CASE – технология ). Проектирование информационных систем представ­ляет собой трудоемкую и дли­тельную работу, требующую высокой ква­лификации участ­вующих в ней специалистов. В недале­ком прошлом про­ектирование нередко выпол­нялось на интуитивном уровне неформализован­ными методами, включаю­щими в себя элементы искусства, практический опыт, экспертные оценки и дорого­стоящие экспериментальные проверки ка­чества функционирования. В начале 70-х гг. в США был отмечен кризис про­граммирования (software crisis ). Это выра­жалось в том, что боль­шие проекты стали выполняться с отставанием от гра­фика или с превышением сметы рас­хо­дов, разработанный продукт не обладал тре­буемыми функцио­нальными возможностями, произ­водительность его была низка, ка­чество получаемого про­граммного обеспечения не устраивало потре­бителей. Потребность кон­тролировать процесс разработки ПО, прогнози­ровать и гаран­тировать стои­мость разработки, сроки и качество ре­зультатов привела к необ­ходимости пере­хода от кус­тарных к индустриальным способам создания ПО и по­явле­нию совокупности инже­нерных методов и средств создания ПО, объеди­нен­ных общим названием «программная инжене­рия» (software engineering ). В основе про­граммной инженерии лежит сле­дующая идея: проектиро­вание ПО является фор­мальным процессом, который можно изучать и совершенство­вать. К концу 80-х гг. было проведено много исследований в области про­грамми­рования (разработка и внедрение языков высокого уровня, мето­дов струк­турного и модульного програм­мирования, языков проектирова­ния и средств их под­держки, формальных и нефор­мальных языков описания сис­темных требований и спецификаций и т. д. ). Термин CASE (Computer Aided Software Engineering ) имеет весьма широкое толкование. Первоначально зна­чение термина CASE ограни­чива­лось вопросами автоматизации раз­работки только лишь программного обеспече­ния, а в на­стоящее вре­мя оно при­обрело новый смысл и охватывает про­цесс разра­ботки сложных инфор­мационных систем в целом. CASE-технология представляет собой совокупность методов про­ектирования информационных сис­тем, а также набор инструментальных средств, позво­ляющих в наглядной форме моделировать предметную об­ласть, ана­лизиро­вать эту модель на всех ста­диях раз­работки и со­провожде­ния, разрабатывать приложения в соответствии с информаци­он­ны­ми потреб­ностями пользователей. Большинство существующих CASE-средств осно­вано на методах структурного или объектно-ори­ентированного анализа и проек­тирования, использую­щих специфи­кации в виде диаграмм или текстов для описания внешних требова­ний, свя­зей между моделями системы, дина­мики поведе­ния сис­темы и архитектуры про­граммных средств.

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

· программы обработки текстов;

· графические редакторы;

· программы обработки фото- и видеоизображений;

· программы подготовки презентаций;

· электронные таблицы;

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

· программы эко­номического и статистического анализа;

· сис­темы автомати­зированного проектирования (САПР);

· информационно-поисковые системы;

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

· игровые программы.

Прикладное программное обеспе­че­ние состоит из пакетов прикладных про­грамм (ППП) и прикладных про­грамм пользователя.

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

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

Наименование параметра Значение
Тема статьи: Тема 2.1. Структура программного обеспечения ПК
Рубрика (тематическая категория) Компьютеры

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

Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, для обработки данных на компьютере крайне важно иметь не только аппаратное обеспечение компьютера, так называемое hardware, но и программное обеспечение, так называемое software .

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

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

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

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

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

Рис.5 Уровни программной конфигурации ПК

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

Системные программы. Системные программы предназначены для работы со всœеми устройствами компьютера. Οʜᴎ принадлежат к промежуточному уровню. Снизу системные программы управляют работой устройств и используют программы нижнего уровня, а сверху отвечают на запросы программ более высоких уровней. Те системные программы, которые непосредственно управляют устройствами, еще называют драйверами устройств. Люди работают с программами этого уровня только в тех сравнительно редких случаях, когда требуется настроить оборудование.

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

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

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

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

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

К системному ПО относятся:

Операционные системы (эта программа загружается в ОЗУ при включении компьютера)

Программы – оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, к примеру, Norton Commander)

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

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

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

2. Прикладное ПО , обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, обработка информационных массивов и т.д.

Пакеты прикладных программ - ϶ᴛᴏ система программ, которые по сфере применения делятся на проблемно – ориентированные, пакеты общего назначения и интегрированные пакеты. Современные интегрированные пакеты содержат до пяти функциональных компонентов: тестовый и табличный процессор, СУБД, графический редактор, телœекоммуникационные средства.

К прикладному ПО, к примеру, относятся:

Комплект офисных приложений MS OFFICE

Бухгалтерские системы

Финансовые аналитические системы

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

CAD – системы (системы автоматизированного проектирования)

Редакторы HTML или Web – редакторы

Браузеры – средства просмотра Web - страниц

Графические редакторы

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

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

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

1. Текстовый редактор для создания файла с исходным текстом программы.

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

3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код .

Исполнимый код - ϶ᴛᴏ законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение.ЕХЕ или.СОМ.

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

Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:

Borland Delphi - предназначен для решения практически любых задачи прикладного программирования

Borland C++ Builder - ϶ᴛᴏ отличное средство для разработки DOS и Windows приложений

Microsoft Visual Basic - ϶ᴛᴏ популярный инструмент для создания Windows-программ

Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows.

Тема 2.1. Структура программного обеспечения ПК - понятие и виды. Классификация и особенности категории "Тема 2.1. Структура программного обеспечения ПК" 2017, 2018.

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

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

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

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

В базовое программное обеспечение входят:

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

§ операционные оболочки (текстовые и графические);

§ сетевая операционная система.

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

В секторе программного обеспечения и операционных систем ведущее положение занимают фирмы IBM, Microsoft, UNISYS, Novell. Доход от продаж операционных систем в среднем превышает 20 млрд. дол. в год. Рассмотрим наиболее распространенные типы операционных систем.

Операционные системы для персональных компьютеров делятся на:

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

§ одно- и многопользовательские (в зависимости от числа пользователей, одновременно работающих с операционной системой);

§ непереносимые и переносимые на другие типы компьютеров;

§ несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети ЭВМ.

Большое значение сегодня имеет применение 32-разрядных операционных систем для персональных компьютеров:

§ OS/2 во всех модификациях (IBM);

§ Windows NT во всех модификациях (Microsoft);

§ Unix во всех модификациях;

§ Next Step 3.2 (Next);

§ SCO Open Desktop 3.0 (Santa Cruz Operation);

§ Solaris 2.1 (SunSoft) – x86;

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

Операционная система MS DOS (фирма Microsoft) появилась в 1981 г. В настоящее время существуют версии 6.22 и 7.0 (в составе Windows 95), а также ее разновидности других фирм-разработчиков (DR DOS, PC DOS). Сегодня эта операционная система установлена на подавляющем большинстве персональных компьютеров. Начиная с 1996 г. MS DOS распространяется в виде Windows 95 – 32-разрядной многозадачной и многопоточной операционной системы с графическим интерфейсом и расширенными сетевыми возможностями.



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

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

§ одновременную обработку нескольких приложений;

§ многопоточную обработку нескольких задач одного приложения;

§ 32-разрядную обработку данных;

§ сжатие данных при записи на магнитные диски;

§ защиту памяти.

Важной особенностью операционной системы OS/2 является высокопроизводительная файловая система HPFS (High Perfomance File System), имеющая преимущества для серверов баз данных (в отличие от MS DOS поддерживаются длинные имена файлов), поддержка мультипроцессорной обработки – до 16 процессоров типа INTEL и PowerPC. Версия OS/2 Warp работает с мультисредой и имеет встроенный доступ в сеть Internet, систему распознавания речи VoiceType, интегрированную версию Lotus Notes Mail для передачи через Internet почты. В OS/2 могут выполняться прикладные программы Windows 3.1 и Win32s, но не могут выполняться приложения, работающие в среде Windows 95 или Windows NT. Спецификация Open 32 позволяет поставщикам программного обеспечения переносить его на новую платформу.

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

Unix обладает наиболее важными качествами, такими, как:

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

§ поддержка распределенной обработки данных в сети ЭВМ;

§ сочетаемость с процессорами RISC.

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

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

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

§ функциональные возможности вспомогательных программ (утилит) в составе операционной системы;

§ наличие компрессии диска;

§ возможность архивирования файлов;

§ поддержка многозадачного режима работы;

§ поддержка сетевого программного обеспечения;

§ наличие качественной документации;

§ условия и сложность процесса инсталляции.

Сетевые операционные системы - комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям различные виды сетевых служб (управление файлами, электронная почта, процессы yправления сетью и др.), поддерживает работу в абонентских системах. Сетевые операционные системы используют архитектуру клиент-сервер или одноранговую архитектуру. Вначале сетевые операционные системы поддерживали лишь локальные вычислительные сети (ЛВС), сейчас эти операционные системы распространяются на ассоциации локальных сетей. Наибольшее распространение имеют LAN Server, NetWare, VINES, Windows NT, Windows 95.

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

Основные характеристики широко распространенной сетевой операционной системы Novell NetWare рассмотрены в гл. 7. Операционная система Windows NT является многозадачной, предназначенной для архитектуры клиент-сервер и использования различных протоколов транспортного уровня сетевой операционной системы, имеет 32-разрядную архитектуру и обеспечивает функции локальной сети:

§ возможность каждой абонентской системы в сети быть сервером или клиентом;

§ совместную работу группы пользователей;

§ адресацию оперативной и внешней памяти большого размера;

§ многозадачность и многопоточность обработки данных;

§ поддержку мультипроцессорной обработки и др.

В табл. 8.2 приведены характеристики некоторых популярных ОС.

Таблица 8.2. Характеристики операционных систем

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

§ IBM Adstar Distributed Storage Manager 1.0 – средство резервного копирования в масштабах предприятия, которое позволяет обслуживать ЭВМ различных классов (мэйнфреймы, мини-ЭВМ, настольные системы), используя при этом один общий интерфейс);

§ Symantec Norton Administrator for Networks 2.0 – обеспечивает администрирование локальной вычислительной сети и управление приложениями для корпоративных сетей (масштаба предприятия);

§ Microsoft NT File and Print Service for NetWare – устраняет барьеры между NetWare и Windows NT, обеспечивает полную эмуляцию для NT возможностей среды NetWare;

§ Armon OnSite Manager – сегментирование сетей, фильтрация и поиск неисправностей в сетях масштаба предприятия и др.

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

Наиболее популярны следующие виды текстовых оболочек операционной системы MS DOS:

§ Norton Commander 5.0 – фирма Symantec (см. гл. 10);

§ XTree Gold 4.0;

§ Norton Navigator и др.

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

Во всем мире имеют огромную популярность такие графические оболочки MS DOS, как Windows 3.1 (см. гл. 12), Windows 3.11 for WorkGroup, которые позволяют изменить среду взаимодействия пользователя с компьютером, расширяют набор основных (диспетчер файлов, графический редактор, текстовый редактор, картотека и т.п.) и сервисных функций, обеспечивающих пользователю интегрированную информационную технологию вплоть до создания одноранговых локальных сетей.