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