Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник информатики соболь.docx
Скачиваний:
32
Добавлен:
03.06.2015
Размер:
12.95 Mб
Скачать

8. Информатика

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

4,4,3, МоЗели Зонным

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

Важнейшим понятием реляционных моделей данных является сущность. Сущность — это объект любой природы, данные о кото­ром хранятся в БД. Данные о сущности хранятся в двумерных таб­лицах, которые называют реляционными.

Каждая реляционная таблица должна обладать следующими свойствами:

  • один элемент таблицы — один элемент данных;

  • все столбцы таблицы содержат однородные по типу данные (це­ лочисленный, числовой, текстовый, и т.д.);

  • каждый столбец имеет уникальное имя;

  • число столбцов задается при создании таблицы;

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

  • записи не должны повторяться;

  • количество записей в отношении не ограничено.

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

Для заданных произвольных конечных множеств М,, М2, ..., множество всевозможных наборов вида (ц,, |12,..., |1М), где (и^е |12еМ2, ..., |1ыеМ называют их декартовым произведением

226

М,х М2х

х

М, М

2,

. Отношением К, определенным на множествах называется подмножество декартова произведения М,х М2х ...> х Мы. При этом множества М,, М2, ..., Мм называются доменами отношения, а элементы декартова произведения — корте­жами отношения. Число N определяет степень отношения, количе­ство кортежей — его мощность.

В реляционной таблице каждый столбец есть домен (его альтер­нативное название поле), а совокупность элементов каждой строки — кортеж (или запись).

Строка заголовков называется схемой отношения. Например, схе­ма отношения СТУДЕНТ может быть следующей:

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА), здесь СТУДЕНТ - отношение, а ФАМИЛИЯ, ИМЯ и т.д. — атрибуты.

В отношении каждый конкретный экземпляр сущности пред­ставляется строкой, которая называется кортежем (или записью).

Следующая таблица представляет отношение СТУДЕНТ (рис. 4.13).

Отношение СТУДЕНТ (вся) таблица

Схема отношения (строка заголовков)

Атрибуты (поля) (отдельные заголовки)

Строка (запись, кортеж)

ФАМИЛИЯ

ИМЯ

ОТЧЕСТВО

ФАКУЛЬТЕТ

КУРС

Андреев

Иван

Иванович

Конструкторский

1

4 Борисов

Пе'гр

Иванович

Конструкторски и

г 2

Яковлев

Иван

Петрович

Технологичес кий

1

Рис. 4.13. Отношение СТУДЕНТ

Первичным ключом отношения называется поле или группа по­лей, однозначно определяющие запись. В отношении СТУДЕНТ пер­вичным ключом может быть поле ФАМИЛИЯ, если во всем списке нет однофамильцев — это будет простой ключ. Если есть однофа­мильцы, то совокупность полей — фамилия, имя, отчество — созда­дут составной первичный ключ. На практике обычно в качестве клю­чевого выбирают поле, в котором совпадения заведомо исключены.

227

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

Свойства первичного ключа:

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

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

  • в состав первичного ключа не должны входить поля типа, ком­ ментарий и графическое.

Чтобы избежать повторяющихся записей, приходят к связыва­нию таблиц. Например, если в отношении СТУДЕНТ надо описать вуз, в котором он обучается, то, на первый взгляд, можно было бы включить в отношение следующие поля СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, НАЗВАНИЕ вуза, АДРЕС). Но при заполнении такой таблицы для каждого сту­дента придется указывать довольно длинное наименование вуза и его адрес, что неудобно. Более того, любая незначительная ошибка во вводе этих полей приведет к нарушению непротиворечивости базы данных. Например, ошибка в адресе вуза приведет к тому, что в БД появятся два вуза с одинаковым наименованием и разными адреса­ми. Поступают в таком случае так: в отношение СТУДЕНТ вводят поле «код вуза» (целое число) и добавляют еще одно отношение ВУЗ (код вуза, название, адрес). СТУДЕНТ и ВУЗ при этом будут связа­ны по полю «код вуза».

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, КОД вуза) I

ВУЗ (КОД вуза, НАЗВАНИЕ, АДРЕС, ТЕЛЕФОН)

При работе с такими таблицами повторяться могут только дан­ные в поле «КОД вуза», а все необходимые сведения о вузе можно взять из отношения ВУЗ. Заметим при этом, что ввод в поле «КОД вуза» целого числа, вместо длинного названия, принесет гораздо меньше ошибок. В отношении ВУЗ поле «КОД вуза» будет первич­ным ключом, а в отношении СТУДЕНТ поле «КОД вуза» будет вне­шним ключом.

Для связи реляционных таблиц необходимо ввести в обе табли­цы одинаковые по типу поля, по которым определится связь между

228

записями обеих таблиц. Связи бывают нескольких типов «один к од­ному», «один ко многим», «многие ко многим». В вышеприведенном примере была установлена связь «один ко многим», т.е. одной записи в таблице ВУЗ соответствуют многие записи в таблице СТУДЕНТ.

4,4,4, Проектирование 603 Зонным

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

  • анализ предметной области;

  • проектирование и непосредственно кодирование (создание зап­ росов и приложений);

  • тестирование и сопровождение.

Онолиз предметной области

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

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

Проектирование баз данных осуществляется на двух уровнях — физическом и логическом. На физическом уровне решаются вопросы размещения данных на внешних носителях. Во многом эта работа выполняется СУБД автоматически без участия разработчика.

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

229

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

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

Первая нормальная форма. Отношение называется приведенным к первой нормальной форме, если все его атрибуты неделимы. На­пример, отношение, содержащее поле ФИО, не приведено к первой нормальной форме, если в запросах БД требуется выделить отдель­но фамилию или имя. Разработчики БД изначально строят так исход­ное отношение, чтобы оно было в первой нормальной форме.

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

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

Например, в отношении СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕ­СТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА) первичным ключом являет­ся совокупность полей ФАМИЛИЯ + ИМЯ + ОТЧЕСТВО. Поля ФАКУЛЬТЕТ, КУРС, ГРУППА функционально полно зависят от со­ставного ключа.

Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и каждое не ключевое поле функционально полно зависит от составного ключа. Например, в отношении УСПЕВАЕМОСТЬ (НОМЕР ЗАЧЕТКИ, ФАМИЛИЯ, ДИСЦИПЛИНА, ОЦЕНКА) составным ключом является совокуп­ность НОМЕР ЗАЧЕТКИ + ДИСЦИПЛИНА. Это отношение нахо­дится в первой нормальной форме, но оно не находится во второй нормальной форме, так как поле ФАМИЛИЯ не имеет полной фун-

230

кциональной зависимости от составного ключа. Для перевода этого отношения во вторую нормальную форму необходимо исключить из него поле ФАМИЛИЯ, так как оно функционально зависит от НО­МЕРА ЗАЧЕТКИ. Т.е. исходное отношение необходимо разбить на два связанных отношения УСПЕВАЕМОСТЬ (НОМЕР ЗАЧЕТКИ, ДИСЦИПЛИНА, ОЦЕНКА) и СПИСОК (НОМЕР ЗАЧЕТКИ, ФА­МИЛИЯ). Связь здесь осуществляется по полю НОМЕР ЗАЧЕТКИ.

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

Например, в отношении СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ, НАЗВАНИЕ вуза, АДРЕС) поле АДРЕС транзитивно (через поле НАЗВАНИЕ вуза) зависит от ключа ФАМИЛИЯ. При заполнении экземплярами такого отношения поле Адрес будет многократно по­вторяться. Для устранения транзитивной зависимости в классе ис­пользуется расщепление отношения на несколько. Например, отно­шение СТУДЕНТ расщепляется на два:

СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ, НАЗВАНИЕ вуза),

ВУЗ (НАЗВАНИЕ вуза, АДРЕС) связь по полю НАЗВАНИЕ вуза.

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

Проектирование

Дальнейшая работа над проектом связана с конкретной СУБД, поэтому, предварительно учитывая требования заказчика и намечен­ную архитектуру ИС, выбирают СУБД. Мы рассмотрим эту часть на примере СУБД М5 Ассе§8 (разработка Мюгозой).

СУБД Ассезз является системой управления базами данных ре­ляционного типа. Всю базу данных по умолчанию Ассезз хранит на диске в виде одного файла с расширением *.тс!Ъ, а вообще Ассезз поддерживает ряд стандартов БД (сШазе, Рагайох и др). Данные хра­нятся в виде таблиц, строки которых состоят из наборов полей оп­ределенных типов. С каждой таблицей могут быть связаны индексы

231

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

Типичными операциями над базами данных являются:

  • работа с таблицами (создание, модификация, удаление таблиц, создание и модификация схем взаимосвязи существующих таб­ лиц);

  • ввод данных в таблицы непосредственно или с помощью фор­ мы, проверку вводимых данных;

  • поиск данных в таблицах по определенным критериям (выпол­ нение запросов);

  • создание отчетов о содержимом базы данных.

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

Создание таблицы с помощью мастера Создание таблицы путем ввода данных

Рис. 4.14. Вид рабочего окна М5Ассе§8

232

Открытие окна сопровождается записью на диске файла базы дан­ных. Затем в рабочем окне Ассе§8 появляется окно вновь созданной базы данных. Изучая окно базы данных, заметим, что все основные объекты Ассезз (таблицы, запросы, отчеты, формы) могут создавать­ся в режиме конструктора и в режиме мастера.

Создание таблиц предпочтительней в режиме конструктора (рис. 4.15). Здесь задаются имена полей и свойства, ниже находится редак-

К МюгозоЙ Ассезз - [СТУДЕНТ таблица]

Фамилия Имя

Текстовый Текстовый Текстовый Текстовый

отчество

факульт

курс

группа код ВУЗ"

Тестовый Числовой

Длинное целое

скаются совпадения

Рис. 4.15. Создание таблиц в режиме конструктора

тор свойств полей, где указываются свойства (если поле текстовое — его длина, числовое - тип целый или вещественный). Редактор свойств полей имеет скрытые элементы управления. Например, щел­чок по полю ввода «размер поля» приведет к появлению элемента

списка

, в результате нажатия на который появляется раскрываю-

щийся список выбора свойств. В завершении создания таблицы при

233

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

чего открывается окно «Схема данных» нажатием кнопки Д"1 в окне

Ассе88. В окне «Добавление таблицы» выбираем таблицы, которые следует связать. Затем методом перетаскивания указываем связывае­мые поля, после чего появляется окно «Изменение связей» (рис. 4.16.), в котором указываем тип обеспечения целостности. Заверша­ется этот этап нажатием кнопки «Создать».

Изменение связей

эс:; Связаннадтабл^а/зшрос'; ?

' •"" * I •" • ' /"**,''. *'-\-~*~:''. '. • \

код ВУЗа

мод ВУЗ

# я ж. ".а *

"Г **»Л *.'..

-.'•'\.•.>:.:,:-'

• • ч чишиищщци

Отмена

| « ,'Ь" > ; ..-..••

.- .--щи Иг т--:-—т- _____ .1..!.-..- I- ..л..уд глпп у.-.- - -:.^...-..11..1.-.--|.-.т1Г11ГКт-л^;.)..;ц.а :.-Ц -....т_..И'Г<Пп1 - 1 . * . " ' * * » « Ч'- • . ' ' I

м *' л'.«# ^я*-1^ >л I 1му«14М4шъ * "* " -'

" ».»»«.и.»...«»..».*«^*»**.»<'*»»**»«>«»»»».»»»»»»»»»*«»»»».»М*."Л»|**|И«**И»«МН»»»М»»*Р»(*»^*^^ ^" **^ч*«ж v > * * 1*^1 ||*"{§ |Р^| ^ -|

^:.рР Рбеспеменив целостности -даннмМЩ^й^^!' .'г'Ч^" У^ .-." .'^ьХ

* . ;(«* »**»**^*1»»*«1РмЬ*»»М»***«<»**Мя**^4»**М**»»М**"+#»»»*М***»*»**ИМ**+»»*"***Г**>****ММ***1'Л* 'мс •О а'^ к "" * * в'" * ^>

•^

- .* .-...V

' ;. "•}:

' » :

vi [чацкадное ооновление ч.^^!^^* н^^д^-^гч^^,,^».^.^^. ^Г* каскадное удаление связанных запШви^^.

^* *»С* *^ / * " " *^ * * »*к »^ - 5 з>'л х ч 1*

Л. *

'Ч- •?/•'.*'• /", • У» ••« ,"

* " " « *, I

- ,•• * * * , ' ^ *"'-,,

'^'.

,...'.,*"

.

=--^'.;- Ж ч1' «:- -

.

•;.'ТИ1П Отношения: . один-ко-многим"%;5й'й5б--- -" - >• •

,-"'»'^^2^^*-|у.й?--'«•:-»• v •,' '' 'а »"' ."Г-ё^йМц^!* * •• * "' ** 'г1 •• ** « •>

Рис. 4.16. Окно «Изменение связей»

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

234

естественным режимом их создания является режим визуального кон­струирования. Выбор команды «Форма» в меню «Вставка» выводит на экран окно «Новая форма», позволяющее задать таблицу или зап­рос, для которых создается новая форма, и указать режим ее созда­ния. Создание формы можно автоматизировать, используя «Мастер форм».

Для создания формы с помощью Мастера форм предполагается следующая последовательность действий: меню Формы / Создать. На экране появится окно диалога «Новая форма», в котором необходи­мо выбрать метод построения формы и исходный объект для пост­роения формы. В качестве такого объекта могут быть выбраны таб­лица или запрос.

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

В режиме конструктора можно создать специальные формы с листами данных, диаграммами и сводными таблицами в формате Ехсе1. На форме можно расположить элементы управления в виде графических примитивов, надписей, рисунков и др. Элементы управ­ления могут использоваться для ввода и отображения дат, а также для выполнения вычислений и вывода результата. Элементами управле­ния являются кнопки команд, которые активизируют исполнение различных операций; объекты типа «подчиненные формы» (бланк таблицы, дочерней по отношению к форме); объекты, облегчающие восприятие данных, такие как календарь или счетчик, а также эле­менты пользователя.

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

235

тором выберем таблицы, на основе которых строится запрос (допус­тим, ВУЗ и СТУДЕНТ). В результате откроется окно (рис. 4.17), на­зываемое бланком запроса по образцу, где в верхней части указан­ные таблицы предстанут вместе со схемой данных. Двойным щелчком укажем на те поля, которые будут участвовать в запросе. Пусть это будут поля из таблицы СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ) и из таблицы ВУЗ (НАЗВАНИЕ вуза). Указанные поля появятся в ниж­ней части бланка запроса по образцу. Таким образом, нами был со­здан простейший запрос, который называется запрос на выборку на языке запросов по образцу (ОБЕ — Оиегу Ву Ехатр1е). При его ак­тивации кнопкой | будет построена таблица с указанием фами­лии, факультета и вуза, в котором обучается студент. Закрытие зап­роса сопровождается присвоением ему имени. Заметим, что запрос на выборку создает не физическую таблицу на диске, а виртуальную

12 М|сгазоН Асеева ~ [Запрос! : запрос на выборку]

крд ВУЗа

наименование Вуз,

наименование Вуза

СТУДЕНТ

по возрастанию

Рис. 4.17. Бланк запроса

236

в оперативной памяти, которая существует, пока мы пользуемся зап­росом.

Запрос на выборку может создавать большие таблицы, работать с которыми неудобно, поэтому более целесообразно результаты зап­роса сортировать. Сортировки возможны по возрастанию и по убы­ванию. Направление это указывается в строке «Сортировка бланка запроса по образцу». Если сортировка указана по нескольким полям, то сначала будет произведена сортировка по первому полю; при об­наружении повторяющихся записей, сортировка будет по второму полю и т.д.

Бланк запроса по образцу допускает отбор данных по условию. Для этого в строке «Условие отбора» можно поставить, например, в поле «Фамилия» = Иванов, и будут отобраны все студенты с фами­лией Иванов.

Возможности языка РВЕ весьма широки, но все же ограниче­ны. Если требуется нечто большее, то меню окна ЗАПРОС ^ВИД ^ РЕЖИМ 8С)Ь позволяет построить запрос на языке ЗрЬ, более уни­версальном, но требующем специальных знаний.

Отчеты. Отчет похож на запрос, но служит для форматирован­ного вывода данных на бумагу. Для создания отчетов рационально воспользоваться Мастером отчетов (база данных СОЗДАТЬ ^ НО­ВЫЙ ОТЧЕТ), который похож на Мастера форм. Выполняется от­чет за ряд шагов, в процессе которых:

  • выясняются таблицы и запросы, на основе которых строится отчет;

  • поля, по которым производится сортировка, фильтрация;

  • стиль оформления печатного документа.

Редактировать отчет, созданный Мастером, можно с помощью конструктора.

4,4,5. СП/Е-системы Зло разработки инсрормаиионнын систем

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

237

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

В начале 70-х гг. в США был отмечен кризис программирования (зо/Рмаге сашу). Это выражалось в том, что большие проекты стали выполняться с отставанием от графика или с превышением сметы расходов, разработанный продукт не обладал требуемыми функцио­нальными возможностями, производительность его была низка, ка­чество получаемого программного обеспечения не устраивало потре­бителей.

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

Потребность контролировать процесс разработки ПО, прогнози­ровать и гарантировать стоимость разработки, сроки и качество ре­зультатов привела в конце 70-х гг. к необходимости перехода от кус­тарных к индустриальным способам создания ПО и появлению совокупности инженерных методов и средств создания ПО, объеди­ненных общим названием «программная инженерия» (80/1\\?аге еп&пеепп%). Впервые этот термин был использован как тема конфе­ренции, проводившейся под эгидой НАТО в 1968 г. В основе про­граммной инженерии лежит одна фундаментальная идея: проектиро­вание ПО является формальным процессом, который можно изучать и совершенствовать. Освоение и правильное применение методов и средств создания ПО позволяет повысить качество ИС, обеспечить управляемость процесса проектирования ИС и увеличить срок ее жизни.

Тенденции развития современных информационных технологий определяют постоянное возрастание сложности ПО ИС, что вызва­ло потребность в программно-технологических средствах специаль­ного класса — СА5Е-средствах, реализующих СА5Е-технологию со­здания и сопровождения ИС. Термин САЗЕ (СотрШег АШес1

238

Еп§теепп§) имеет весьма широкое толкование. Первоначально зна­чение термина САЗЕ ограничивалось вопросами автоматизации раз­работки только лишь программного обеспечения, а в настоящее вре­мя оно приобрело новый смысл и охватывает процесс разработки сложных ИС в целом.

Таким образом, к концу 80-х гг. назрела необходимость в СА8Е-технологиях и СА5Е-средствах и возникли предпосылки для их по­явления: было проведено много исследований в области программи­рования (разработка и внедрение языков высокого уровня, методов структурного и модульного программирования, языков проектирова­ния и средств их поддержки, формальных и неформальных языков описания системных требований и спецификаций и т. д.).

СА5Е-технология представляет собой совокупность методов про­ектирования ИС, а также набор инструментальных средств, позво­ляющих в наглядной форме моделировать предметную область, ана­лизировать эту модель на всех стадиях разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационны­ми потребностями пользователей. Большинство существующих САЗЕ-средств основано на методах структурного или объектно-ори­ентированного анализа и проектирования, использующих специфи­кации в виде диаграмм или текстов для описания внешних требова­ний, связей между моделями системы, динамики поведения системы и архитектуры программных средств.

Были созданы СА5Е-системы:

  • ориентированные на этапы жизненного цикла ПО, Оез^п/ШЕР (Ме*а ЗоИдуаге), ВРДУш (Ьорю\УогКз)};

  • функционально полные, т.е. используемые на всех этапах жиз­ ненного цикла Оезщпег (Огас1е) Оеуе1орег/2000 (Огас1е);

  • независимые от СУБД ООВС 5с1е8щпег (5РО), ЕЯМп (Ьо§1с- \Уог1«), ЗНуегшп (ЗПуегшп ТесЬпо1о§1е8).

4.5. Системы компьютерной графики

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

239

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

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

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

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

В настоящее время распространены следующие форматы растро­вой графики .Ьтр, .рсх, .§1Г, Ж, лр§, .рп§ и др.

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

240

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

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

Таким образом, выбор растрового или векторного формата за­висит от целей и задач работы с изображением. Если нужна фото­графическая точность цветопередачи, то предпочтительнее растр. Логотипы, схемы, элементы оформления удобнее представлять в век­торном формате. Понятно, что и в растровом и в векторном пред­ставлении графика (как и текст) выводятся на экран монитора или печатное устройство в виде совокупности точек. В Интернете графика представляется в одном из растровых форматов, понимаемых брау­зерами без установки дополнительных модулей — С1Р, 1РО, РМС.

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

241

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

С некоторыми особенностями работы с простым векторным ре­дактором Мюго8оГ1 Ога\у мы познакомились в разделе 4.2.3 «Созда­ние рисунка». Этот редактор встроен в офисный интегрированный пакет программ М8 ОШсе.

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

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

4,5.1. Растровый реЭактор РснпЬ

РаШ — простейший графический редактор (разработчик Мюго-8ой), предназначенный для создания и редактирования растровых графических изображений в основном формате ^1пйо\У8 (ВМР) и форматах Интернета (С1Р и 1РЕС). Он приемлем для создания про­стейших графических иллюстраций, в основном схем, диаграмм и графиков, которые можно встраивать в текстовые документы. В Раш! можно создавать рекламу, буклеты, объявления, приглашения, по­здравления и др.

242

Основные возможности Рат1:

  • Проведение прямых и кривых линий различной толщины и цвета.

  • Использование кистей различной формы, ширины и цвета.

  • Построение различных фигур — прямоугольников, многоуголь­ ников, овалов, эллипсов — закрашенных и незакрашенных.

  • Помещение текста на рисунок.

  • Использование преобразований — поворотов, отражений, растя­ жений и наклона.

Начало работы с Ратг. Графический редактор Раш! встроен в операционную систему \Утс1о\У8. Для запуска его применяется сле­дующий способ: кнопка ПУСК ^ ПРОГРАММЫ ^ СТАНДАРТНЫЕ ^ РА1МТ. Для окончания работы с Рат1 можно использовать пунк­ты меню ФАЙЛ, и далее ВЫХОД.

Окно графического редактора Рат1 имеет стандартный вид (рис. 4.18). В меню редактора входят команды ФАЙЛ, ПРАВКА, ВИД, РИ­СУНОК, ПАЛИТРА.

В палитру инструментов входит ряд кнопок: «Выделение произ­вольной области», «Выделение», «Ластик», «Заливка», «Выбор цве­тов», «Масштаб», «Карандаш», «Кисть», «Распылитель», «Надпись», «Линия», «Кривая», «Прямоугольник», «Многоугольник», «Эллипс», «Скругленный прямоугольник». В левом нижнем углу расположена Панель цветов. Управлять работой в Рат{ можно посредством меню и панели инструментов. Существуют команды, вызываемые или толь­ко через меню, или только через панель инструментов.

Задание размеров рисунка производится посредством выбора из меню РИСУНОК пункта АТРИБУТЫ и вводом в поля ШИРИНА и ВЫСОТА нужных значений. Таким образом, размеры текущего ри­сунка изменяются. Следует отметить, что если текущие размеры ри­сунка превышают новые размеры, то рисунок обрезается по право­му и нижнему краю. Если новые размеры больше текущих размеров, то добавленная область получает текущий фоновый цвет. Отменить последнее изменение можно командой ОТМЕНИТЬ в меню ПРАВ­КА. Также есть возможность выбрать единицы измерения и тип цве­товой палитры (цветная или черно-белая).

Создание нового рисунка. Для создания нового рисунка применя­ют пункты меню ФАЙЛ ^ СОЗДАТЬ. После этого в рабочей облас­ти окна появится белый прямоугольник, на фоне которого и рабо-

243

я ж9

| Безымянный - Раш!

Рис. 4. 1 8. Окно графического редактора Рат1

тают. Сохраняется рисунок одним из ранее известных способов: че­рез меню ФАЙЛ или при закрытии окна. Сохранение, как было от­мечено раньше, можно произвести в одном из форматов: .Ьтр, .&1Г,

ОРё-

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

инструментов графического редактора Рат1 (рис. 4.19).

Карандаш — при нажатой левой кнопки мыши за курсором мыши рисуется его след выбранного цвета толщиной 1 пиксел. При отпу­щенной левой кнопке след не рисуется.

Кисть — действие похоже на карандаш, но можно менять фор­му кисти — кружок, квадратик, линия и др.

Распылитель — рисование с эффектом распыления краски.

244

Панель

!••••* ? -1

9

Д

А

п

о

о

Рис. 4.19 Панель инструментов Рат1

Ластик — для стирания части рисунка. Можно менять размер ластика. Удаленный участок будет закрашен цветом фона.

Заливка — позволит закрасить выбранным цветом внутреннюю часть произвольной замкнутой области. Для этого требуется выпол­нить щелчок в любой точке внутри области. Если область не являет­ся замкнутой, то закрасится вся рабочая область.

Линия — предназначена для рисования прямой линии (отрезка) выбранного цвета и толщины. Концы отрезка — места, где была на­жата и отпущена левая кнопка мыши.

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

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

245

левую кнопку мыши, перенести курсор в иную точку и отпустить кнопку. Возможные режимы — «только рамка», «рамка и заполнение», «только заполнение».

Многоугольник — рисование многоугольников. Для рисования первой стороны требуется перетащить курсор при нажатой кнопке. Для построения следующих сторон можно щелкать мышкой в вер­шинах многоугольника.

Эллипс — рисование эллипса, вписанного в намеченный прямо­угольник. Можно выбрать режим (см. прямоугольник).

Округленный прямоугольник — рисование прямоугольника с округ­ленными вершинами.

Выбор цвета. Для выбора цвета можно использовать два спосо­ба. Во-первых, существует палитра цветов с 28 предлагаемыми цве­тами (рис. 4.20).

Рис. 4.20. Цветовая палитра Рат1

Для выбора цвета линии и закраски следует щелкнуть левой кнопкой мыши над нужным цветом. Для выбора цвета фона щелка­ют правой кнопкой. Используемые по умолчанию основной и фо­новый цвета отображаются в левом нижнем углу окна Рат{. Во-вто­рых, можно выбрать инструмент «Выбор цвета» и щелкнуть им в том месте экрана, который закрашен нужным цветом. Можно также щел­кать левой или правой кнопкой мыши.

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

246

Редактирование рисунка. Инструмент «Выделение произвольной области» позволяет выделить фрагмент — произвольную область ри­сунка, ограниченную построенной линией. Для этого требуется ак­тивизировать инструмент, а затем при нажатой левой кнопке на­рисовать замкнутую область произвольной формы. Инструмент «выделение» позволяет выделить произвольную прямоугольную об­ласть.

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

Выделенную область можно перетащить на другое место. Для это­го нажимают левую кнопку на области, затем, не отпуская ее, пере­таскивают мышь на другое место. Если при этом удерживать нажатой клавишу ОН, то будет перенесена копия фрагмента. Выделенную об­ласть можно поместить в буфер через меню ПРАВКА ^ КОПИРО­ВАТЬ (ВЫРЕЗАТЬ). Над фрагментом рисунка можно производить и другие операции — изменять размеры, растягивать, поворачивать, на­клонять и отражать с помощью команд меню РИСУНОК. Вставка в рисунок готовых фрагментов из буфера или из файла ПРАВКА ^ ВСТАВИТЬ. При этом вставленный фрагмент первоначально распо­лагается в верхнем левом углу экрана и его требуется перетащить на нужное место мышкой при нажатой левой кнопке.

Отмена выполненной операции в Рат1. Во время редактирования рисунков нельзя изменять уже законченные элементы графического изображения — можно только их удалять, или переносить, или ри­совать поверх них. Если рисунок случайно испорчен, можно отме­нить три последних сделанных изменения рисунка. Для этого ис­пользуют меню ПРАВКА ^ ОТМЕНИТЬ. Или можно нажать на комбинацию клавиш С1г1 + 2. Если операцию отменили по ошибке, то ее можно восстановить нажатием на клавишу Р4.

Преобразование рисунка. С помощью команд подменю РИСУНОК можно отражать, растягивать, сжимать, увеличивать или наклонять выделенные фрагменты рисунка. С помощью команды ОТРАЗИТЬ/ ПОВЕРНУТЬ можно отразить выделенный фрагмент относительно вертикальной или горизонтальной оси. Для этого в диалоговом окне есть переключатели «Отразить слева направо», «Отразить сверху вниз» и «Повернуть на угол 90, 180 и 270 градусов».

С помощью команды РАСТЯНУТЬ/НАКЛОНИТЬ можно растя­нуть или наклонить выделенный фрагмент по вертикали или по го-

247

ризонтали. Для этого в диалоговом окне есть соответствующие пе­реключатели и поля ввода.

Предварительный просмотр, печать. Полученный рисунок мож­но напечатать на принтере через подменю ФАЙЛ ^ ПЕЧАТЬ. Из-за различий между разрешающей способностью экрана и принтера, один и тот же рисунок на экране и на бумаге может выглядеть по-разному. Чтобы заранее проверить, как будет выглядеть рисунок в отпечатанном виде, используют подменю ФАЙЛ ^ ПРЕДВАРИ­ТЕЛЬНЫЙ ПРОСМОТР. Далее с помощью кнопок «Крупнее» и «Мельче» можно подобрать подходящий масштаб изображения. Ис­пользуя подменю ФАЙЛ ^ МАКЕТ СТРАНИЦЫ, можно изменить размер страницы рисунка и используемый принтер.

4,6, Офисные интегрированные программные среЗстВа

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

  1. текстовый процессор Мюгозой \\Ъгс1;

  2. электронные таблицы Мюгозой Ехсе1;

  3. пакет подготовки и демонстрации презентаций М1сго8оГ1 Ро\уегРот1;

  4. организатор и планировщик работы мюгобой Ои11оо1с;

  5. система управления базами данных (СУБД) Мюгозой Ассезз; и д.р.

Перечисленные приложения тесно интегрированы. Это означа­ет, что все программы, входящие в состав Мюгозой ОШсе, имеют удобные возможности обмена данными.

Например, если необходимо подготовить финансовый отчет по результатам некоторого периода, содержащий иллюстрации, то дан­ные можно импортировать из Мюгозой Ассезз, обработать в Мюгозой Ехсе1, построить на их основе графики и диаграммы и затем помес­тить их в текст документа, который создан в Мюго8ой ДУоп! Пере-

248

мещение диаграммы производится с помощью операций копирова­ния в буфер обмена Мюгозой ^п<1о\У8 и вставки в документ, кото­рые доступны через основное меню приложения, через панели ин­струментов, через горячие клавиши или через контекстное меню, которое появляется при нажатии на правую кнопку мыши. Наконец иллюстрацию, как и любой другой объект, можно «связать» с доку­ментом, просто «захватив» мышью в одном приложении и «перета­щив» на подходящее место в другом (режим «Ога§ апй Огор»). При­ложения Мюгозой ОШсе допускают обмен любыми данными между любыми приложениями.

При перенесении отдельных объектов из одного приложения в другое помимо обычной операции копирования/вставки возможно использование механизма связывания оригинального объекта и его копии. В этом случае при изменении исходных данных в таблице Ехсе! меняется построенная на их основе диаграмма, а вместе с ней и та копия диаграммы, которая содержится в документе Мюгозой \Уог<1 Это дает возможность эффективной работы с составными до­кументами, в которых используются различные источники. Напри­мер, данные можно взять из базы данных Ассезз. Они будут обнов­ляться автоматически, и любой, кто захочет ознакомиться с таким документом, увидит самые последние цифры.

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

Начиная с версии 97, в Мюгозой ОШсе входит приложение — Мюго8ой ОиИооК. Это приложение представляет собой инструмент для организации и планирования персональной деятельности. Мюгозой Ои11оо1с включает электронную почту, базу по контактам, календарь и т.д. Но, главное, он связывает все приложения, высту­пая как средство организации работы с ними. С помощью Мюгозой ОиНооК можно назначить встречу, добавив в ее описание сопрово­дительный документ. Это может быть список вопросов, которые пла­нируется обсудить, в формате Мюгозой \\Ьгс1 или отчет о результатах

249

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

Мюгозой ОШсе, начиная с версии для ХЭДпйохуз 95, тесно интег­рирован с операционной системой и использует все ее достоинства. Работая в сетевых операционных системах, приложения семейства Мюгозой ОШсе поддерживают совместную групповую работу не­скольких человек над общими документами. Существует возможность использования материалов, расположенных не только на локальном диске рабочей станции, но и на соседнем компьютере или на серве­ре сети.

Электронной таблицей Мхсгозой Ехсе1, или базой данных Мюгозой Ассезз могут одновременно пользоваться несколько чело­век. Мюгозой \Уог<1 позволяет создать документ, над разными частя­ми которого могут одновременно работать разные люди. Мюгозой Ро\уегРош1 позволяет проводить видеоконференции. При этом пре­зентация показывается одновременно на экранах всех участников конференции.

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

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

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

250

ко он не может содержать абсолютно все специфические функции, которые требуются разным пользователям. В Мюгозой ОШсе встро­ен универсальный язык разработки Мюгозой Угзиа! Вазю. Используя его, квалифицированный пользователь может легко создать собствен­ное приложение, отвечающее требованиям конкретной организации или подразделения. Одна и та же программа на языке У1зиа1 Вазю может использовать объекты и документы из любого приложения Мюгозой ОШсе.

4.7. Унтегриробанные пакеты математическим расчетов

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

Классификация математических систем. В настоящее время ком­пьютерные математические системы по функциональному назначе­нию можно подразделить на семь классов:

  1. Системы для численных расчетов.

  2. Табличные процессоры.

  3. Матричные системы.

  4. Системы для статистических расчетов.

  5. Системы для специальных расчетов.

  6. Системы для аналитических расчетов (компьютерной алгебры).

  7. Универсальные системы.

Весьма условно по уровню сложности их можно разбить на три класса:

  1. начального уровня для школьников и студентов Оепуе,

  2. среднего уровня МиРад, МаШСад;

  3. высший класс МаШетайса, Мар1е, Ма1ЬаЬ.

251

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

Библиотеки

7

Ядро

Интерфейс

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

Пакеты расширения

Рис. 4.21. Структура систем компьютерной математики

Ядро представляет совокупность процедур, обеспечивающих на­бор встроенных операторов системы. Вмешательство пользователя в ядро исключено. Интерфейс дает возможность пользователю обра­щаться к ядру с запросами и выдает решения на экране монитора. Программы, работающие в ядре, выполняются быстро, вызываются очень часто, и потому их ограниченное количество. Большое коли­чество программ, используемых относительно редко, собраны в биб­лиотеки. Расширение возможностей системы достигается за счет па­кетов расширения. Эти пакеты пишутся на собственном языке расширения и могут создаваться самими пользователями. Справочная система обеспечивает получение оперативной информации по сис­теме.

Системы компьютерной математики для численных расчетов способны выполнять арифметические, алгебраические, логические операторы и функции, векторные и матричные операторы и функ­ции, средства решения уравнений, систем линейных и нелинейных уравнений, средства решения систем дифференциальных уравнений, средства оптимизации и линейного программирования, средства со­здания графиков и средства программирования. К такому классу па­кетов относятся ЕигеКа и Мегсигу, разработанные фирмой Вог1ап<1. Программы управлялись операционной системой М8-ОО8, отлича­лись простотой и были по сути первыми массовыми программными

252

продуктами компьютерной математики. Интересными являются па­кеты Ма1ЬСас1 (Ма1Ь5оП 1пс.) ранних версий, так как они имели пользовательский интерфейс и входной язык, позволяющий созда­вать документы в форме протокола расчета. Сейчас математическая система Ма1Ьса<1 признана во всем мире одной из лучших вычисли­тельных систем для научно-технических расчетов. Со времени свое­го создания претерпела множество изменений и дополнений, нашед­ших отражение в различных ее версиях.

Возможности МаШсас! очень велики, от простых расчетов до ре­шения сложнейших систем дифференциальных уравнений, выполне­ния символьных вычислений или конструирования электрических схем.

Система МаЛсас! чрезвычайно проста в использовании и требу­ет немного времени для ее освоения. Большинство действий, необ­ходимых при работе с системой, являются интуитивно прозрачны­ми, пользователю, знакомому со средой ^т<1о\У8, не потребуется много времени для ее освоения.

Система использует 32-разрядную модель памяти, что обеспечи­вает повышенную точность и быстродействие вычислений.

Ма1Ьса<1 может выполнять вычисления любой сложности, по своему объему допустимые на персональном компьютере. Кроме обычных численных расчетов, система способна решать задачи в символьном (аналитическом) виде.

00

Например, такие как

Ма1Ьса<1 имеет развитые средства для численного решения диф­ференциальных уравнений и их систем. В то же время отметим, что в отличие от более продвинутых математических систем, таких как МаШетайса 2 и 3 или Мар1е V К4 или К5, МаШсасЗ не имеет средств аналитического решения дифференциальных уравнений. Тем не ме­нее, опытный пользователь может воспользоваться известными сред­ствами решения таких уравнений, например, применить прямое и обратное преобразования Лапласа.

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

253

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

Система МаШсас! полностью поддерживает технологии ОЬЕ (ОЬ)ес1 ЫпЫпё ап<1 ЕтЪесШт^ — связывание и внедрение объекта) и ВОЕ (Оупагшс ^а^а ЕхсЪап&е — динамический обмен данных). ОЬЕ и ООЕ предоставляют Ма1Ьсас1 возможность работать внутри других приложений ^т<1оте или осуществлять с ними обмен данными.

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

Начиная с версии 7.0, в составе Ма1Ьса<1 содержится системный интегратор Ма1ЬСоппех, который выполняет функции интеграции различных приложений с системой и обеспечивает их совместную работу. Благодаря этому возможно простое и наглядное установление сложных взаимосвязей с матричной системой Ма1ЬАВ, с графичес­кой системой Ахит и др. Выполняет функции имитационного мо­делирования систем, представленные типовыми блоками в виде фун­кциональной схемы. В частности, он позволяет создать виртуальные физические лаборатории, содержащие сложные и дорогостоящие приборы.

Пользователи, знакомые с программированием в МаШсас!, мо­гут создать библиотеку динамической компоновки (ВЬЬ), содержа­щую собственные внешние функции, которые будут выглядеть и ра­ботать так же, как «фирменные» функции.

Матричные системы. Ранние версии МсйЬаЪ являлись чисто мат­ричными системами, даже простое число интерпретировалось как матрицы размера 1x1. Практически все функции системы определя­лись как матричные, т.е. способные выполнять действия над масси­вами. Интенсивное развитие этой системы привело к тому, что сей­час это универсальная система. Современная двенадцатая версия Ма1ЬаЬ имеет не только самое большое число матричных операто­ров и функций, но и самую простую адаптацию к решению задач пользователя. Любое новое определение системы задается в виде не­которого М-файла и в дальнейшем оно может быть использовано наряду со встроенными функциями. Для Ма1ЬаЬ создано большое

254

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

Системы статистических расчетов. К ним относятся 51аЮгарЫсз Р1из, 51а1151юа, 5Р85. Ввод обрабатываемых данных про­изводится в таблицу или таблица загружается с диска, потому интер­фейс систем напоминает табличный процессор Ехсе1. Правила рабо­ты с пакетом также аналогичны Ехсе1, т.е. вводятся в таблицу данные, выделяются данные для расчета, затем вызывается функция. В от­личие от Ехсе! программы статистических расчетов снабжены боль­шим числом встроенных специальных функций по статистической обработке данных.

Системы для специальных расчетов. Часть математических паке­тов ориентирована на некоторый узко специальный круг задач. На­пример, систем нелинейных уравнений ТК 5о1уег, систем дифферен­циальных уравнений Вупагшс 5о1уег, построения графиков Ахит и т.д. Эти программы сейчас все чаще заменяются универсальными пакетами программ. К особому классу систем специальных расчетов относятся системы математического моделирования. Например, для блочно заданных систем с успехом применяется приложение 81тиНп1с, входящее в последние версии Ма1ЬаЬ, для проектирования и моделирования электронных схем применяются ОгСАО, ОезщпЬаЬ и др.

Системы аналитических расчетов. Дают возможность произво­дить вычисления в аналитическом виде. Одной из таких систем сим­вольной математики (компьютерной алгебры) является Мар1е.

Система Мар1е разработана в университете Ватерлоо (Канада), вместе с развитием программных средств, она успешно развивается и модифицируется. Версии системы называют реализациями. Одной из самых известных ранних реализаций является версия Мар1е V К5. В нее были введены возможности работы с электронными таблица­ми, появилась возможность записи файлов в формате НТМЬ и вве­ден обмен данными между документами методом перетаскивания. Современная версия системы Мар1е 8 — одна из самых надежных систем компьютерной математики. Перечислим некоторые возмож­ности этой версии.

255

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

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

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

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

Ускоренные алгоритмы вычислений.

Обучающий курс изег'з Тоиг, встроенный в справку.

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

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

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

256