- •1.1. Информация
- •2. Технические средство реализации информационных процессов
- •3. Информатика
- •4. Информагика
- •3. Системное программное обеспечение
- •5. Информатика
- •Тема 1лпих поставляется вместе с лицензией, разработанной Ричардом Столманом, основателем Фонда бесплатно распространяемых программ.
- •4. Прикладное программное обеспечение
- •7. Информатика
- •8. Информатика
- •5. Модели решения функциональный и Вычислительный
- •9. Информатика _ _ _
- •10. Информатика
- •6. Основы алгоритмизации
- •11Икл с постуслоВием
- •7. Компьютерные сети
- •13. Информатика
- •8. Основы и методы дошиты информации
- •Содержание
- •1. Информация, информатика, информационные технологии 9
- •2. Технические средства реализации информационных процессов .. 62
- •3. Системное программное обеспечение 117
- •4. Прикладное программное обеспечение 182
- •5. Модели решения функциональных и вычислительных задач.... 257
- •8. Основы и методы защиты информации 397
- •344082, Г. Ростов-на-Дону, пер. Халтуринский, 80.
8. Информатика
сылает запрос серверу — программе, управляющей ведением БД, на специальном универсальном языке запросов. Сервер пересылает программе данные, являющиеся результатом поиска в БД по ее запросу. Этот способ удобен тем, что программа — клиент не обязана содержать все функции поддержания и ведения БД, этим занимается сервер. В результате упрощается написание программ — клиентов. Кроме того, к серверу может обращаться любое количество клиентов.
4,4,3, МоЗели Зонным
Для реализации основных функций в ИС используются различные принципы описания данных. Ядром любой БД является модель представления данных. Подробному описанию различных моделей посвящена следующая глава. Пока же рассмотрим реляционную модель данных, ориентированную на организацию данных в виде двумерных таблиц. Реляционная модель данных является наиболее универсальной, к ней могут быть сведены другие модели.
Важнейшим понятием реляционных моделей данных является сущность. Сущность — это объект любой природы, данные о котором хранятся в БД. Данные о сущности хранятся в двумерных таблицах, которые называют реляционными.
Каждая реляционная таблица должна обладать следующими свойствами:
один элемент таблицы — один элемент данных;
все столбцы таблицы содержат однородные по типу данные (це лочисленный, числовой, текстовый, и т.д.);
каждый столбец имеет уникальное имя;
число столбцов задается при создании таблицы;
порядок записей в отношении может быть произвольным;
записи не должны повторяться;
количество записей в отношении не ограничено.
Объекты, их взаимосвязи и отношения представлены в виде таблиц. Формальное построение таблиц связано с фундаментальным понятием отношение (термин реляционная исходит от английского слова геШюп — отношение).
Для заданных произвольных конечных множеств М,, М2, ..., множество всевозможных наборов вида (ц,, |12,..., |1М), где (и^е |12еМ2, ..., |1ыеМ1Ч называют их декартовым произведением
226
М,х
М2х
х
М,
М
2,
В реляционной таблице каждый столбец есть домен (его альтернативное название поле), а совокупность элементов каждой строки — кортеж (или запись).
Строка заголовков называется схемой отношения. Например, схема отношения СТУДЕНТ может быть следующей:
СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА), здесь СТУДЕНТ - отношение, а ФАМИЛИЯ, ИМЯ и т.д. — атрибуты.
В отношении каждый конкретный экземпляр сущности представляется строкой, которая называется кортежем (или записью).
Следующая таблица представляет отношение СТУДЕНТ (рис. 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;
пакет подготовки и демонстрации презентаций М1сго8оГ1 Ро\уегРот1;
организатор и планировщик работы мюгобой Ои11оо1с;
система управления базами данных (СУБД) Мюгозой Ассезз; и д.р.
Перечисленные приложения тесно интегрированы. Это означает, что все программы, входящие в состав Мюгозой ОШсе, имеют удобные возможности обмена данными.
Например, если необходимо подготовить финансовый отчет по результатам некоторого периода, содержащий иллюстрации, то данные можно импортировать из Мюгозой Ассезз, обработать в Мюгозой Ехсе1, построить на их основе графики и диаграммы и затем поместить их в текст документа, который создан в Мюго8ой ДУоп! Пере-
248
мещение диаграммы производится с помощью операций копирования в буфер обмена Мюгозой ^п<1о\У8 и вставки в документ, которые доступны через основное меню приложения, через панели инструментов, через горячие клавиши или через контекстное меню, которое появляется при нажатии на правую кнопку мыши. Наконец иллюстрацию, как и любой другой объект, можно «связать» с документом, просто «захватив» мышью в одном приложении и «перетащив» на подходящее место в другом (режим «Ога§ апй Огор»). Приложения Мюгозой ОШсе допускают обмен любыми данными между любыми приложениями.
При перенесении отдельных объектов из одного приложения в другое помимо обычной операции копирования/вставки возможно использование механизма связывания оригинального объекта и его копии. В этом случае при изменении исходных данных в таблице Ехсе! меняется построенная на их основе диаграмма, а вместе с ней и та копия диаграммы, которая содержится в документе Мюгозой \Уог<1 Это дает возможность эффективной работы с составными документами, в которых используются различные источники. Например, данные можно взять из базы данных Ассезз. Они будут обновляться автоматически, и любой, кто захочет ознакомиться с таким документом, увидит самые последние цифры.
Семейство Мюгозой ОШсе содержит набор инструментов, общих для всех приложений. К ним относятся механизмы проверки правописания и грамматики, средство для рисования, инструмент для создания красочных заголовков, редактор организационных диаграмм, инструмент для редактирования математических формул, редактор фотоизображений, библиотека картинок и т. д. Сюда же относятся и панели инструментов, и даже меню, которые являются стандартными элементами любого приложения Мюгозой ОШсе.
Начиная с версии 97, в Мюгозой ОШсе входит приложение — Мюго8ой ОиИооК. Это приложение представляет собой инструмент для организации и планирования персональной деятельности. Мюгозой Ои11оо1с включает электронную почту, базу по контактам, календарь и т.д. Но, главное, он связывает все приложения, выступая как средство организации работы с ними. С помощью Мюгозой ОиНооК можно назначить встречу, добавив в ее описание сопроводительный документ. Это может быть список вопросов, которые планируется обсудить, в формате Мюгозой \\Ьгс1 или отчет о результатах
249
в формате Мюгозой Ехсе1. Можно переслать составленный документ по электронной почте или в виде факс-сообщения.
Мюгозой ОШсе, начиная с версии для ХЭДпйохуз 95, тесно интегрирован с операционной системой и использует все ее достоинства. Работая в сетевых операционных системах, приложения семейства Мюгозой ОШсе поддерживают совместную групповую работу нескольких человек над общими документами. Существует возможность использования материалов, расположенных не только на локальном диске рабочей станции, но и на соседнем компьютере или на сервере сети.
Электронной таблицей Мхсгозой Ехсе1, или базой данных Мюгозой Ассезз могут одновременно пользоваться несколько человек. Мюгозой \Уог<1 позволяет создать документ, над разными частями которого могут одновременно работать разные люди. Мюгозой Ро\уегРош1 позволяет проводить видеоконференции. При этом презентация показывается одновременно на экранах всех участников конференции.
Кроме того, все приложения Мюгозой ОШсе поддерживают работу с электронной почтой. При работе над документом, требующим корректуры нескольких людей, можно послать этот документ по почте в режиме последовательной рассылки. Как только один участник работы закончит вносить поправки, документ отправляется к следующему. После того, как документ обойдет всех указанных в рассылке людей, он возвращается к тому, кто его посылал. При этом все пометки и исправления будут отражены отдельным цветом для каждого участника совместной работы. Исправления можно просмотреть и решить, какие из них нужно принять, а какие отменить.
При подготовке документа часто возникает потребность в информации, находящейся либо в файле базы данных, либо на сервере баз данных (это может быть, например, Мюгозой 8рЬ Зегуег). Обычно в таких случаях используются специальные приложения-клиенты, поддерживающие механизм ОВВС. Он обеспечивает возможность получения данных любым поддерживающим его приложением-клиентом от любого приложения-сервера. Механизм ООВС является одним из стандартных элементов Мюгозой ОШсе, доступных всем приложениям, входящим в семейство.
Приложения Мюгозой ОШсе имеют широкий набор функций, рассчитанных на самые различные категории пользователей. Одна-
250
ко он не может содержать абсолютно все специфические функции, которые требуются разным пользователям. В Мюгозой ОШсе встроен универсальный язык разработки Мюгозой Угзиа! Вазю. Используя его, квалифицированный пользователь может легко создать собственное приложение, отвечающее требованиям конкретной организации или подразделения. Одна и та же программа на языке У1зиа1 Вазю может использовать объекты и документы из любого приложения Мюгозой ОШсе.
4.7. Унтегриробанные пакеты математическим расчетов
Последнее время ознаменовалось бурным развитием научного направления, стоящего на стыке математики и информатики, — компьютерной математики. Его можно охарактеризовать как совокупность математических, программных, аппаратных средств, обеспечивающих эффективное решение прикладных математических задач, возникающих во многих областях науки. Практическим результатом компьютерной математики явилась разработка большого количества компьютерных математических систем. Многие из них прошли большой путь развития, от громоздких ЭВМ третьего поколения до персональных компьютеров.
Классификация математических систем. В настоящее время компьютерные математические системы по функциональному назначению можно подразделить на семь классов:
Системы для численных расчетов.
Табличные процессоры.
Матричные системы.
Системы для статистических расчетов.
Системы для специальных расчетов.
Системы для аналитических расчетов (компьютерной алгебры).
Универсальные системы.
Весьма условно по уровню сложности их можно разбить на три класса:
начального уровня для школьников и студентов Оепуе,
среднего уровня МиРад, МаШСад;
высший класс МаШетайса, Мар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