WWW.DISUS.RU

БЕСПЛАТНАЯ НАУЧНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 

Pages:     | 1 || 3 | 4 |

« Международный институт экономики и права INTERNATIONAL INSTITUTE OF ECONOMICS AND LAW Г.А. Цыганов ...»

-- [ Страница 2 ] --

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

В последнее время большое внимание уделяется созданию и внедрению корпоративных (комплексных) информационных систем, практически все сайты Интернет, посвященные созданию АИС, предлагают свои услуги
в этом направлении. «Галактика», «Флагман», «Сфера», «Лагуна», «Парус» – это небольшой перечень широко известных КИС.

Подробнее см.: 1, 2, 4, 6–8.

Тема 4. Информационное моделирование и информационные модели

Основные вопросы темы

1. Понятие информационной модели. Особенности информационного моделирования.

2. Этапы построения информационных моделей.

3. Понятие формализации. Инструментарий информационного моделирования.

4. Понятие эргономики.

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

Информационная модель – это модель, построенная с использованием данных и информации с применением средств информатики (информационно-вычислительной техники, алгоритмов и программ).

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

2. Построение информационной модели включает следующие этапы:

    • постановка задачи;
    • структуризация и параметризация объекта моделирования (декомпозиция);
    • синтез модели;
    • опробование модели;
    • функционирование модели.

Постановка задачи – это точная формулировка решения задачи
на компьютере с описанием входной и выходной информации.

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

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

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

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

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

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

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

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

Достижение цели информационного моделирования оценивается
на этапе опробования модели. На этом этапе оценивается адекватность информационной модели моделируемому объекту. Под адекватностью
понимается степень соответствия построенной информационной модели моделируемому объекту или процессу.

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

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

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

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

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

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

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

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

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

Требования эргономики состоят:

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

Подробнее см.: 3, 5, 7.

Тема 5. Алгоритмизация и программирование – инструментарий
информатики

Основные вопросы темы

1. Алгоритмизация и программирование – основа информатики.

2. Классификация программных продуктов.

3. Инструментарий и методы программирования.

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

1. Алгоритмизация является одним из основных инструментариев
информационной технологии. Существуют Государственные стандарты
по алгоритмизации и среди них – стандарт по описанию алгоритма. Они позволяют составлять унифицированные алгоритмы и применять элементы автоматизации процессов алгоритмизации и программирования, используя соответствующие формализованные языки и готовые алгоритмы.

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

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

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

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

Алгоритм – это точное предписание выполнения вычислительного процесса от варьируемых исходных данных к искомому результату.

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

Алгоритм решения задачи имеет ряд обязательных свойств:

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

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

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

Процесс создания алгоритмов называется алгоритмизацией.

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

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

Следующее достоинство структурированной записи – это простота внесения исправлений и изменений с использованием даже простейших редакторов текстов.

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

Программа – это непрерывная последовательность кодов, которые воспринимаются процессором как команды и выполняются.

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

    • аппаратная часть автономных компьютеров и сетей ЭВМ;
    • функциональные задачи различных предметных областей;
    • технология разработки программ.

В соответствии с этим выделяются три класса программных продуктов:

    • системное программное обеспечение;
    • пакеты прикладных программ;
    • инструментарий технологии программирования.

Системное программное обеспечение направлено:

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

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

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

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

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

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

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

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

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

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

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

Операционная система предназначена для:

    • начального запуска компьютера;
    • контроля и диагностики всех основных частей и ресурсов компьютера;
    • управления вычислительным процессом и ресурсами ЭВМ;
    • обеспечения общения пользователя с компьютером посредством набора пользовательских команд.

Операционная система – это главная программа, управляющая работой компьютера в целом. На персональных компьютерах типа IBM PC используются в основном операционные системы MS DOS и Windows, UNIX, LINUX. В персональных компьютерах Macintosh применяется операционная система OS/7.

Операционная система Windows – это наиболее современная и удобная операционная система для старших моделей персональных компьютеров IBM PC с оперативной памятью более 2 Мбайт и памятью на жестких дисках не менее 80 Мбайт.

На персональных компьютерах IBM PC используется несколько версий операционной системы Windows, как то: Windows 3.1, Windows 95, Windows 98, Windows NT, Windows 2000 и Windows XP, отличающихся своими функциями и возможностями.



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

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

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

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

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

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

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

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

Эти программы часто называются утилитами.

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

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

Типовые представители прикладного программного обеспечения
в области экономики представлены проблемно-ориентированными ППП – это самый представительный класс программных продуктов, в него входят:

    • ППП:

а) автоматизированного бухгалтерского учета;

б) финансовой деятельности;

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

г) управления материальными запасами;

д) управления производством;

    • банковские информационные системы;
    • корпоративные информационные системы;
    • системы поддержки принятия решения;
    • экспертные системы.

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

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

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

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

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

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

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

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

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

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

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

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

В связи с ростом потребности в разнообразных программах обработки данных весьма актуален вопрос применения эффективных технологий программирования и их перевода на промышленную основу. Это означает:

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

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

В рамках этих направлений сформировались следующие группы программных продуктов:

    • средства для создания приложений, включающие: локальные средства, обеспечивающие выполнение отдельных работ по созданию программ, и интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
    • СASE-технология (Computer-Aided System Engineering), представляющая методы анализа, проектирования и создания программных систем и предназначенная дли автоматизации процессов разработки и реализации информационных систем.

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

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

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

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

    • машинные языки – языки программирования, воспринимаемые
      аппаратной частью компьютера (машинные коды);
    • машинно-ориентированные языки – языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
    • алгоритмические языки – не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);
    • процедурно-ориентированные языки – языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);
    • проблемно-ориентированные языки – языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);
    • интегрированные системы программирования.

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

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

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

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

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

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

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

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

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

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

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

CASE-технология создания информационных систем. Средства CASE-технологии – сформировавшееся на рубеже 80-х гг. направление. Массовое применение затруднено крайне высокой стоимостью и предъявляемыми требованиями к оборудованию рабочего места разработчика.

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

Средства CASE-технологий делятся на две группы:

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

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

Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляют специальные графические средства для изображения различного вида моделей:

    • диаграмму потоков данных (DFD – data flow diagrams) совместно со словарями данных и спецификациями процессов;
    • диаграмму «сущность-связь» (ERD – entity relationship diagrams), являющуюся инфологической моделью предметной области
      (см. гл. 15);
    • диаграмму переходов состояний (STD – state transition diagrams), учитывающую события и реакцию на них системы обработки данных.

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

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

Выполняются автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ)
и ведение словаря данных.

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

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

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

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

Большинство CASE-технологий использует также метод «прототипов» для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически – до 85–90% объектных кодов и текстов на языках высокого уровня.

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

Макроассемблер MASM, обеспечивающий создание программ, быстро манипулирующих с данными большой размерности, поддерживающих различные форматы объектных файлов. Кроме того, можно создавать динамические библиотеки (DLL, VBX) для Microsoft Visual Basic, генерировать DOS-, Windows-приложения. Средства данного языка наиболее часто используются для разработки драйверов – специальных программ для эмуляции нестандартных устройств, подключаемых к компьютеру, различных преобразований форматов данных, поддержания интерфейсов доступа к данным в разнородных программных системах.

Компилятор Visual C++ for Windows Professional Edition 1.5 является системой программирования объектно-ориентированного типа, обеспечивающей просмотр иерархии классов объектов приложения (Source Browser), работу отладчика (Debugger), компилятора и др. В состав пакета входит библиотека классов MFC (Microsoft Foundation >к данным в различных форматах, хранимых как в локальной базе данных, так и на сервере баз данных.

Visual Basic for Windows 4.0 – система программирования объектно-ориентированного типа, транслирующая команды по мере их ввода, позволяющая создавать и управлять множеством объектов (кнопками, флажками, комбинированными списками, окнами ввода, переключателями, линейками и т.п.), обеспечивающая поддержку объектов OLE 2.0. Данный язык является языковой платформой приложений Microsoft Office и имеет диалект Microsoft Basic for Application.

Microsoft IMSL Mathematical and Statistical Library – математическая
и статистическая библиотеки набора функций и примеров их использования (более 1000), которые можно вызвать из программ, написанных
на языке C++.

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

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

OLE (Object Linking and Embedding) – позволяющий создавать приложения, включающие в свой состав объекты, полученные из других приложений.

Объект имеет две составляющие:

    • внешнее представление объекта;
    • способ редактирования объекта.

Любой объект может либо внедряться, либо связываться с приложением.

Технология OLE 2.0 обеспечивает:

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

ODBC (Open DataBase Connectivity) – создание единого интерфейса доступа к различным базам данных на различных платформах.

Программа выступает в качестве клиента, а база данных – в качестве сервера, доступ реализуется с помощью драйвера. Разработчики новых СУБД обеспечивают создание соответствующих их форматам драйверов. Для создания прикладных программ, использующих стандарт ODBC,
используется инструментарий ODBC Sowtware Development Kit (SDK).

MAPI (Messaging Application Program Interface) – обеспечение независимости приложений от систем связи в режиме телекоммуникаций, который также работает по принципу драйвера.

MAPI поддерживает стандарт Х.400 Association's Common Messaging Calls (CMC), a также ряд других интерфейсов (API, SDK, DDK).

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

    • Delphi 2.0;
    • Clarion for Windows 1.5 и др.

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

Различают такие методы программирования, как:

    • метод нисходящего проектирования, который предполагает последовательное разложение общей функции обработки данных
      на простые функциональные элементы («сверху вниз»). В результате строится иерархическая схема, отражающая состав и взаимоподчиненность отдельных функций, носящих название «функциональная структура алгоритма (ФСА) приложения». На основе этой структуры разрабатывается программный продукт;
    • модульное программирование, основанное на понятии модуля – логически взаимосвязанной совокупности функциональных элементов, оформленных в виде отдельных программных модулей. Модуль характеризуют:

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

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

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

г) слабые информационные связи с другими программными модулями – обмен информацией между модулями должен быть по возможности минимизирован;

д) обозримый по размеру и сложности программный элемент;

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

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

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

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

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

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

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

Программные продукты должны обладать следующими свойствами:

    • мобильностью, что означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений;
    • надежностью работы, которая определяется бесперебойностью
      и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок;
    • эффективностью, которая оценивается как с позиций прямого его назначения – требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для эксплуатации программных продуктов. Расход вычислительных ресурсов оценивается через объем внешней памяти для размещения программ
      и объем оперативной памяти для запуска программ;
    • учетом человеческого фактора, что означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.;
    • модифицируемостью, что означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.;
    • коммуникативностью, которая основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).

В условиях существования рынка программных продуктов важными характеристиками являются:

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

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

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

Подробнее см.: 1, 7, 12.

Тема 6. Базы данных и знаний в экономике

Основные вопросы темы

1. Базы данных и базы знаний – важное звено современной информационной технологии.

2. Понятие базы данных и системы управления базами данных.

3. Понятие базы знаний и экспертной системы.

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

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

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

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

Кардинальные изменения затрагивают не только вычислительную инфраструктуру; подобную же революцию претерпевает сегодня и сообщество пользователей. Едва ли не любое предприятие имеет в качестве своей органической составной части систему компьютерной обработки информации. Мир пронизан «нервными волокнами» разного рода электронных информационных коммуникаций – от свободно структурированной Всемирной паутины (WWW – World Wide Web) до поистине астрономической по своим масштабам Системы наблюдения Земли.

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

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

Наряду с базами данных и СУБД разрабатываются, создаются и используются базы знаний и экспертные системы.

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

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

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

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

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

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

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

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

Структурирование – это введение соглашений о способах представления данных.

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

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

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

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

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

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

Файл (таблица) – это совокупность экземпляров записей одной структуры.

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

Модель данных – совокупность структур данных и операций их обработки, осуществляемых СУБД.

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

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

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

К каждой записи базы данных существует только один (иерархический) путь от корневой записи.

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

Понятие реляционной структуры (англ. relation – отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.

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

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

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

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

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

По технологии обработки данных базы данных подразделяются
на централизованные и распределенные.

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

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

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

Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:

    • файл-сервер;
    • клиент-сервер.

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

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

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

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

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

По степени универсальности различают два класса СУБД:

    • системы общего назначения;
    • специализированные системы.

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

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

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

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

    • dBASE, компании Borland International;
    • Microsoft Access;
    • Microsoft FoxPro;
    • Paradox, компании Borland.

Языковые средства СУБД используются для выполнения двух основных функций:

    • описания представления базы данных;
    • выполнения операций манипулирования данными.

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

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

Язык манипулирования данными (ЯМД) позволяет запрашивать предусмотренные в системе операции над данными из базы данных.

Имеются многочисленные примеры языков СУБД, объединяющих возможности описания данных и манипулирования данными в единых синтаксических рамках. Популярным языком такого рода является реляционный язык SQL. Язык запросов SQL (Structured Query Language) реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования он является международным стандартом языка запросов. Язык SQL предоставляет развитые возможности как конечным пользователям, так и специалистам в области обработки данных.

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

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

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

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

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

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

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

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

Начиная с середины 80-х гг. происходит коммерциализация искусственного интеллекта. Растут ежегодные капиталовложения, создаются промышленные экспертные системы.

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

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

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

Знания в информатике – это выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой
области. С определенной степенью точности можно сказать, что знания – это зафиксированный результат мыслительной деятельности (правил, законо-
мерностей, соотношений, связей и т.п.) с определенными наборами данных. Следовательно, ставя задачу формирования и обработки знаний с использованием ЭВМ, необходимо найти в современной компьютерной технологии такой объект, который мог бы отображать прежде всего действие,
а затем уже зафиксированный результат этого действия. Единственно возможным видом такого объекта в компьютерных технологиях являются
алгоритмы и программы. Таким образом, компьютерными аналогами знаний являются программы и запрограммированные алгоритмы, т.е. программы с отложенным действием. Как только в запрограммированные
алгоритмы вставляются необходимые параметры, они автоматически превращаются в исполняемые программы. В этом заключается существенное различие баз данных и баз знаний.

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

При построении баз знаний важное значение имеет модель представления знаний.

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

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

Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: «Если (условие), то (действие)».

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

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

Термин «семантическая» означает смысловая, а семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают.

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

Понятиями обычно выступают абстрактные или конкретные объекты, а отношения – это связи типа: «это», «имеет частью», «принадлежит», «любит». Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:

    • класс – элемент класса;
    • свойство – значение;
    • пример элемента класса.

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

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

Под фреймом понимается абстрактный образ или ситуация.

Например, слово «комната» вызывает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью». Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нем есть «дырки», или «слоты», – это незаполненные значения некоторых атрибутов – количество окон, цвет стен, высота потолка, покрытие пола и др.

В теории фреймов такой образ называется фреймом. Фреймом называется также и формализованная модель для отображения образа.

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

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

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

База знаний является ядром экспертных систем.

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

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

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

Современные экспертные системы широко используются для тиражирования знаний ведущих специалистов практически во всех сферах экономики. Традиционно знания существуют в двух видах – коллективный опыт и личный опыт.

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

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

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

Основными элементами экспертной системы могут быть:

    • база знаний;
    • решатель (механизм вывода);
    • механизм объяснений;
    • интерфейс пользователя;
    • механизм пополнения знаний.

База знаний (БЗ) – ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному).
Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении.

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

Механизм объяснений – программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» – это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т.е. всех шагов цепи умозаключений. Ответ на вопрос «почему» – ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад.

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

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

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

В коллектив разработчиков ЭС входят как минимум четыре человека:

    • эксперт;
    • инженер по знаниям;
    • программист;
    • пользователь.

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

В зависимости от типа решаемых задач ЭС могут быть:

    • ЭС по интерпретации данных. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных;
    • ЭС по решению задач диагностики. Под диагностикой понимается обнаружение неисправности в некоторой системе. Неисправность – это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов,
      и всевозможные аномалии в экономических системах и процессах. Важной спецификой является необходимость понимания функциональной структуры («анатомии») диагностирующей системы;
    • мониторинговые ЭС. Основная задача мониторинга – непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы – «пропуск» тревожной ситуации и инверсная задача «ложного» срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимости учета временного контекста;
    • ЭС по решению задач проектирования. Проектирование состоит
      в подготовке спецификаций на создание «объектов» с заранее
      определенными свойствами. Под спецификацией понимается весь набор необходимых документов: чертеж, пояснительная записка и т.д. Основные проблемы здесь – получение четкого структурного описания знаний об объекте и проблема «следа». Для организации
      эффективного проектирования и, в еще большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения
      и процесс объяснения;
    • ЭС по решению задач прогнозирования. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций.
      В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров «подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками;
    • советующие ЭС. Данный тип систем использует знания высококвалифицированных специалистов в качестве выработки альтернативных вариантов ответов на поставленные вопросы с объяснением каждого варианта. Советующие ЭС широко используются в области экономики.

При построении ЭС широко используются следующие инструментальные средства:



Pages:     | 1 || 3 | 4 |
 



<
 
2013 www.disus.ru - «Бесплатная научная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.