1. Информатизация общества Понятие информации
Скачать 0.92 Mb.
|
12.5.Классификация программного обеспечения (ПО)По сфере применения выделяется три класса ПО (рис 12.3):
Р ис 12.3. Классы ПО 12.5.1.Прикладное ПОПрикладное ПО предназначено для решения функциональных задач конкретной предметной области. Содержание этого программного обеспечения сильно зависит от предметной области: офис, графика, бухгалтерия, расчеты и т.д. Оно является самым многочисленным классом ПО. Без прикладного ПО использование компьютера в большинстве случаев бессмысленно. Примерная классификация прикладного ПО представлена на рис 12.4. Р ис 12.4. Виды прикладного ПО 12.5.1.1Проблемно-ориентированное ПОЭто самый представительный класс прикладного ПО. Внутри него проводится классификация по:
Для некоторых предметных областей проведена типизация функций управления, определена структура данных, созданы алгоритмы обработки. Это вызвало разработку значительного ПО одинакового функционального назначения и, таким образом, создало рынок программных продуктов:
Основные тенденции в области развития проблемно-ориентированных программ:
Наиболее важно для данного класса программных продуктов создание дружественного интерфейса для конечных пользователей. Данный класс программных продуктов весьма динамичен как по составу реализуемых функций, так и по используемому для их создания инструментарию разработчика. 12.5.1.2Методо-ориентированное ПОДанный класс включает программные продукты, обеспечивающие математические, статистические и другие методы решения задач независимо от предметной области и функций информационных систем. Наиболее распространены методы математического программирования (оптимизации), решения дифференциальных уравнений, имитационного моделирования, исследования операций, методы статистической обработки и анализа данных. На базе методов сетевого планирования с экономическими показателями оформилось направление программных средств - управление проектами. Пользователями этих программ являются менеджеры проектов. 12.5.1.3Прикладное ПО общего назначенияДанный класс ПО предназначен для широкого круга пользователей, которые используют в своей работе информационные технологии. Представители данного класса программных продуктов:
Обеспечивают организацию и хранение локальных баз данных на автономных компьютерах либо централизованное хранение баз данных на файл-сервере. Примеры программ: Access, Foxpro, Clarion, Oracle, Paradox, Informix Client. Выполняют следующие функции:
Предназначены для создания и использования интегрированных баз данных при работе в сети в архитектуре клиент-сервер. Примеры программ: MS SQL Server, Interbase, Sybase, Oracle, Pervasive, Informix SQL, Alligator SQL, MySQL. Серверы баз данных всю обработку (хранение, поиск, извлечение данных клиенту) данных выполняют самостоятельно, обеспечивая большое число пользователей сети. Общим для серверов баз данных является использование языка структурированных запросов SQL. Самой большой проблемой применения серверов баз данных являются обеспечение целостности (непротиворечивости) баз данных, решение вопроса, связанного с тиражированием данных по узлам сети и их синхронным обновлением.
Формируют экранные и печатные отчеты по базе данных в условиях сети с архитектурой клиент-сервер. Примеры программ: Crystal Reports, StimulReport.Net, FastReport, ReportSmith. Генератор отчетов подключается к серверу баз данных, используя все уровни передач и драйверы сервера баз данных. Генераторы отчетов включают:
Подготовленные отчеты рассылаются клиентам по электронной почте или с помощью другого транспортного агента.
Подготовка текстовых документов, их автоматическое форматирование, вставка графики, составление оглавлений и указателей, проверка орфографии, подготовка шаблонов документов. Примеры программ: Word, TeX. Развитием данного направления являются издательские системы
Подготовка электронных таблиц, деловая графика, встроенные функции. Примеры программ: Excel, Quattro Pro, Lotus.
Предназначены для создания изображений и их показа на экране с помощью слайд-фильмов, мультфильмов, видеофильмов, их редактирования. Примеры программ: Power Point.
Подготовка растровых и векторных графических изображений. Примеры программ: Corel Draw, Adobe Photoshop.
Набор нескольких программных продуктов, функционально дополняющих друг друга, поддерживающих единые информационные технологии. Примеры пакетов: MS Office фирмы Microsoft, OpenOffice и StarOffice фирмы Sun, WordPerfect Office фирмы Corel. Компонентами интегрированного пакета являются:
Отличительными особенностями данного класса программных средств являются:
12.5.1.4Офисное ПОДанный класс программных продуктов обеспечивает деятельность офиса:
Планирование рабочего времени, составление протоколов встреч, расписаний, ведения записной и телефонной книжки.
К ним относятся: CuneiForm, Lingvo, Magic Goody, Promt, FineReader.
Предназначены для организации взаимодействия пользователя с удаленными абонентами или информационными ресурсами сети - организация видеоконференций, обслуживание факса и телефона, браузеры, электронная почта. 12.5.1.5Автоматизированное проектированиеПрограммы этого класса предназначены для поддержания работы конструкторов и технологов, связанных с разработкой чертежей, схем, диаграмм, графическим моделированием и конструированием, созданием библиотеки стандартных элементов (темплетов) чертежей и их многократным использованием, созданием демонстрационных иллюстраций и мультфильмов, расчетами физических параметров конструкций. Наличие станков с программным управлением и роботизированной техники позволяет передавать проект сразу в производство. Отличительной особенностью автоматизированного проектирования являются высокие требования к технической части системы обработки данных, наличие библиотек встроенных функций ,объектов, интерфейсов с графическими системами и базами данных. 12.5.2.Системное ПОСистемное ПО – совокупность программ для обеспечения работы компьютера и компьютерной сети и для создания среды выполнения функциональных задач. Без системного ПО аппаратура компьютера и компьютерной сети не сможет работать. Системное ПО состоит из базового и сервисного системного ПО (рис 12.5). Базовое ПО поставляется вместе с компьютером. Сервисное ПО приобретается дополнительно. Рис 12.5. Виды системного ПО Платформа – сочетание аппаратуры компьютера и операционной системы. 12.5.2.1Базовое системное ПОВ базовое ПО входят:
Операционная система предназначена для управления аппаратурой компьютера, для создания среды работы пользователя, для запуска программ, для организации хранения информации. Ведущее положение на ПК занимает ОС Windows разных версий фирмы Microsoft. На ПК Macintosh используется ОС MacOS. Фирма IBM разработала ОС OS/2, которая сейчас на ПК не используется. ОС Unix разработала и поддерживает фирма Bell Laboratory. Развивается ОС Linux. Все ОС сейчас являются:
Имеются многопроцессорные ОС, которые способны управлять десятками и сотнями процессоров. Различают два вида многопроцессорности: асимметричную и симметричную. При асимметричной обработке один или несколько процессоров обслуживают только ОС. При симметричной обработке любой поток или задача могут быть поручены любому свободному процессору. Разрабатываются средства кластерных вычислений, в которых выполнение одной задачи производится сразу на нескольких компьютерах в сети. Сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:
Операционные оболочки - специальные программы, предназначенные для облегчения общения пользователя с командами операционной системы. Операционные оболочки имеют текстовый и графический варианты интерфейса пользователя. Эти программы существенно упрощают задание управляющей информации для выполнения команд операционной системы, уменьшают напряженность и сложность работы конечного пользователя. Наиболее популярны следующие виды текстовых оболочек операционной системы: Проводник, Total Commander. Сетевые средства - комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям сетевые службы: паролирование, управление файлами, электронная почта, процессы управления сетью и др., поддерживает работу в абонентских системах. Сетевые операционные системы используют архитектуру с выделенным сервером или одноранговую архитектуру. Вначале сетевые операционные системы поддерживали лишь локальные вычислительные сети, сейчас они распространяются на ассоциации локальных сетей. Наибольшее распространение имеют LAN Server, Novell NetWare, Windows Server, Unix. 12.5.2.2Сервисное системное ПОРасширением базового программного обеспечения компьютера является набор сервиcных, дополнительно устанавливаемых программ, которые можно классифицировать по функциональному признаку следующим образом:
Эти программы часто называют утилитами. Утилита – служебная программа, предоставляющая пользователю какие-то услуги. Они расширяют возможности операционной системы. Примеры комплектов утилит: Norton Utilities фирмs Symantec, Checkit PRO Deliuxe фирмs Touch Stone, Dr Hardware. Наиболее известные антивирусные программы: AVP лаборатории Касперского, DrWeb компании Доктор Веб, Norton Antivirus фирмы Symantec, NOD32 фирмы Eset Software, Panda фирмы Panda Software, McAfee VirusScan, Ad-Aware. 12.5.3.Инструментарий программированияИнструментарий программирования - совокупность программ для разработки, проверки, модификации и внедрения новых программ. Без инструментария не смогут появляться новые программные продукты и их версии. Сформировались следующие группы инструментария программирования:
12.5.3.1Локальные средства разработки программЯзык программирования - формализованный язык для описания алгоритма решения задачи на компьютере. Языки программирования можно исторически разделить на классы:
Последние, в свою очередь, подразделяются на поколения:
П рограмма, подготовленная на алгоритмическом языке, проходит несколько этапов, реализуемых несколькими локальными средствами (рис 12.6). Рис 12.6. Этапы преобразования программы Исходный код – текст отдельной программы на алгоритмическом языке. Объектный код - текст отдельной программы на машинном языке или на языке ассемблера. Загрузочный модуль – объединение программ на машинном языке, пригодное для выполнения на компьютере. На этапе трансляции происходит преобразование исходного кода программы в объектный код. Трансляцию выполняет специальная программа под названием транслятор или компилятор. На этапе сборки объектные коды нескольких программ в том числе стандартных объединяются в один загрузочный модуль. Сборку проводит специальная программа под названием редактор связей. Некоторые языки программирования допускают режим интерпретации программ – режим, при котором программа транслируется по операторам языка и сразу выполняется. Необходимые программы подключаются динамически во время выполнения. Сборка загрузочного модуля не производится. Специальные программы отладчики предназначены для наблюдения за ходом выполнения других программ. Они способны проводить трассировку - следить за операторами исходного кода, останавливать и возобновлять ход выполнения программы в контрольных точках, наблюдать за изменением значений переменных и выражений, идентифицировать место и вид ошибок. Средства поддержки проектов предназначены для:
12.5.3.2Интегрированные средыСистемы программирования включают в себя:
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими, как:
Интегрированные среды разработки программ объединяют вышеназванные наборы средств для комплексного их применения на всех технологических этапах создания программ. К интегрированным средам относятся: С++ Builder и Visual Basic фирмы Microsoft, Delphi фирмы Borland, Oracle одноименной фирмы. Тенденции развития инструментария программирования показывают, что разработчики предпочитают интегрированные среды, несмотря на их дороговизну. 12.5.3.3САSЕ-технологияСАSЕ - технология сформировалась в 80-х годах ХХ века. САSЕ расшифровывается как Computer-Aided System Engineering – проектирование систем с помощью компьютера. CASE - технология представляет собой совокупность методов анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения (ПО), поддержанную комплексом средств автоматизации. CASE - это инструментарий для системных аналитиков, разработчиков и программистов, заменяющий им бумагу и карандаш на компьютер для автоматизации процесса проектирования и разработки ПО. Большинство CASE-средств основано на совокупности понятий (парадигме) методология/метод/нотация/средство. Методология определяет руководящие указания для оценки и выбора проекта разрабатываемого ПО, шаги работы и их последовательность, а также правила распределения и назначения методов. Метод - это систематическая процедура или техника генерации описаний компонент ПО (например, проектирование потоков и структур данных). Нотации предназначены для описания структуры системы, элементов данных, этапов обработки и включают графы, диаграммы, таблицы, блок-схемы, формальные и естественные языки. Средства - инструментарий для поддержки и усиления методов. Эти инструменты поддерживают работу пользователей при создании и редактировании графического проекта в интерактивном режиме, они способствуют организации проекта в виде иерархии уровней абстракции, выполняют проверки соответствия компонентов. Основными покупателями CASE-пакетов за рубежом являются военные организации, центры обработки данных и коммерческие фирмы по разработке ПО. Практически ни один серьезный зарубежный программный проект не осуществляется без использования CASE-средств. Основное достоинство CASE-технологии - поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта - импоpтa любых фрагментов проекта, организационного управления проектом. Основная цель CASE состоит в том, чтобы отделить проектирование ПО от его кодирования и последующих этапов разработки, а также скрыть от разработчиков все детали среды разработки и функционирования ПО. Чем больше деятельности будет вынесено в проектирование из кодирования, тем лучше. наибольшие изменения касаются этапов анализа и проектирования. Устойчивое положение они занимают в следующих областях:
Некоторые САSЕ-средства ориентированы только на системных проектировщиков и предоставляют специальные графические инструменты для изображения различного вида моделей:
Диаграмма DFD устанавливает связь источников информации с потребителями, выделяет логические функции (процессы) преобразования информации, определяет группы элементов данных и их хранилища (базы данных). Описание структуры потоков данных, определение их компонентов хранятся в актуальном состоянии в словаре данных, который выступает как база данных проекта. Каждая логическая функция может детализироваться с помощью DFD нижнего уровня согласно методам нисходящего проектирования. Выполняются автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ) и ведение словаря данных. Другой класс САSЕ-технологий поддерживает только разработку программ, включая:
В рамках САSЕ-технологий проект сопровождается целиком, а не только его программные коды. Проектные материалы служат заданием программистам, а само программирование скорее сводится к переводу на определенный язык структур данных и методов их обработки, если не предусмотрена автоматическая кодогенерация. Большинство САSЕ-технологий использует также метод "прототипов" для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически - до 85 - 90% текстов на языках высокого уровня. К CASE – средствам, например, относятся BPWin, ERWin, Rational Rose, Embarcadero, xCase. Классификация по типам отражает функциональную ориентацию CASE-средств в технологическом процессе создания информационной системы. 1) АНАЛИЗ И ПРОЕКТИРОВАНИЕ. Средства данной группы используются для создания спецификаций системы и для ее проектирования. Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. На выходе продуцируются спецификации компонент системы и интерфейсов, связывающих эти компоненты, а также "калька" архитектуры системы и детальная "калька" проекта, включающая алгоритмы и определения структур данных. К таким средствам относятся: CASE.Аналитик (Эйтэкс), The Developer (ASYST Technologies), POSE (Computer Systems Advisers), ProKit*Workbench (McDonnell Douglas), Excelerator (Index Technology), Design-Aid (Nastec), Design Machine (Optima), MicroStep (Meta Systems), vsDesigner (Visual Software), Analist/Designer (Yourdon), Design/IDEF (Meta Software), BPWin (Logic Works), SELECT (Select Software Tools), System Architect (Popkin Software & Systems), Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies), CASE/4/0 (microTOOL GmbH). 2) ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ И ФАЙЛОВ. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в Третью Нормальную Форму, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода: ERWin (Logic Works), Chen Toolkit (Chen & Asssociates), S-Designor (SDP), Designer2000 (Oracle), Silverrun (Computer Systems Advisers). 3) ПРОГРАММИРОВАНИЕ. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу: COBOL 2/Workbench (Mikro Focus), DECASE (DEC), NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов, генераторы наборов тестов, анализаторы покрытия тестами, отладчики. 4) СОПРОВОЖДЕНИЕ И РЕИНЖИНИРИНГ. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL u Superstructure (Computer Data Systems), Jnspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы. Средства позволяют осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов; контролировать покрытие тестами для оценки полноты тестируемости; управлять функционированием системы и т.п. Особый интерес представляют средства обеспечения мобильности и реинжиниринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в новое операционное или аппаратурное окружение. Средства реинжиниринга включают:
5) ОКРУЖЕНИЕ. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам: Multi/Cam (AGS Management Systems), Design/OA (Meta Software). 6) УПРАВЛЕНИЕ ПРОЕКТОМ. Средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology). |