АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Информатика _ _ _

Читайте также:
  1. Значение изучения теоретической информатики в подготовке социолога информатика
  2. Информатика
  3. ИНФОРМАТИКА
  4. Информатика
  5. Информатика
  6. Информатика
  7. Информатика
  8. Информатика
  9. ИНФОРМАТИКА
  10. Информатика
  11. Информатика как наука и учебная дисциплина

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

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

 

 

 

 

 

 

 

 

г Реальный объект   Модель _^_-|1». Алгоритм   Программа •~! Результат  
       

Рис. 5.1. Этапы решения задачи

В этом ряду каждый элемент играет свою особую роль.

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

Деятельность человека обычно идет по двум направлениям: ис­следование свойств объекта с целью их использования (или нейтра­лизации); создание новых объектов, имеющих полезные свойства. Первое направление относится к научным исследованиям и большую роль при их проведении имеет гипотеза, т.е. предсказание свойств объекта при недостаточной его изученности. Второе направление относится к инженерному проектированию. При этом важную роль играет понятие аналогии — суждении о каком-либо сходстве извест­ного и проектируемого объекта. Аналогия может быть полной или частичной. Это понятие относительно и определяется уровнем абст­рагирования и целью построения аналогии. Любой аналог (образ) какого-либо объекта, процесса или явления, используемый в каче­стве заменителя (представителя) оригинала, называется моделью (от лат. гпо<1и1и8 — образец).

Исследование объектов, процессов или явлений путем построе-


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

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

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

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


5,2. Системный поЭноЗ В моделировании систем

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

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

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

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

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


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

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

5.3. Классисрикашй ВиЗоВ моделирований

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

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

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


Классисрикаиии ВиЭоВ моЭелей


По цели ис­пользования


По наличию

воздействий

на систему


По

отношению ко времени


По

возможности реализации


По области применения


 


Научный эксперимент.

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

Оптимизаци­онные моде­ли


Детермини­рованные.

Стохастиче­ские


Статические.

Динамиче­ские (дис­кретные, не­прерывные)


Мысленные (наглядные, символиче­ские, матема­тические).

Реальные

(натурные,

физические).

Информаци­онные


Универсаль­ные.

Специализи­рованные


ки параметров системы: в детерминированных системах параметры модели оцениваются одним показателем для конкретных значений их исходных данных; в стохастических системах наличие вероятно­стных характеристик исходных данных позволяет оценивать парамет­ры системы несколькими показателями.

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

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


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

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

5.4, Математические моЗели

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

5,4.1, Построение математической моЭели системы

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

подмножество входных воздействий:

X: С Л. у I — 1, /и, ••>, •* v

(или вектор входящих воздействий х = [9х29...9 хп }); подмножество воздействий внешней среды:

у,е V, / = 1,2,...,ик


(или вектор воздействия внешней среды v = ^12>-»,^ }); подмножество собственных параметров системы:

(или вектор внутренних параметров И — {й,,/г2,...,Ал// });

подмножество выходных характеристик системы: У; е У, у =1,2,..., л у

(или вектор выходных характеристик у = {у\>У29—>УПу})-

Подмножества А", Ун Я являются независимыми (экзогенными), У является зависимым (эндогенным) подмножеством. Процесс функци­онирования системы описывается во времени оператором Ру9 кото­рый преобразует экзогенные переменные в эндогенные в соответ-

ствии с соотношением у(1) = Р5(х, v, Я, /).(*)

Эта зависимость называется законом функционирования систе­мы 5. Закон функционирования Р может быть задан в виде функ-

о

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

называется выходной траекторией у(1). Соотношение (*) является

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

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

между подмножеством у и подмножествами Зс, v, Л и записывается

как у = Р5(х, v, Л).

Если в динамической модели дискретизировать время, то в каж­дый момент времени можно определить состояние системы

гр е 2, р - 1,2,...,иг. Множество 2 всех возможных состояний сис­темы называется пространством состояний системы. Процесс функ-


ционирования системы, изменяющей свое состояние в фиксирован ные моменты времени, можно описать векторными уравнениями:

•-0 ~ _ Г

Первое уравнение по начальному состоянию 1 и экзогенным переменным определяет следующее состояние, а второе по значению состояния % определяет эндогенные переменные на выходе системы.

5.4.2. Примеры построения Эиномическин ллоЭеяеи

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

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

а

где >5 = (>>!, у2,...,>Ои/ = (/1>/2>---> Л) - «-мерные векторы и

/ — непрерывна.

Например, процесс малых колебаний маятника описывается обыкновенным дифференциальным уравнением

= о

Процесс в электрическом колебательном контуре


Очевидно, что если положить

1 А0 = /^ = /,Л, А, = # = —, 7(7) = $(/) = д(1), получим уравнение,

описывающее состояние во времени обеих систем

Л

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

Рассмотрим пример построения дифференциальной модели объекта.

Имеется сосуд, площадь горизонтального сечения которого яв­ляется функцией расстояния сечения от дна сосуда. В начальный момент времени 7 = 0 высота уровня жидкости равна А метров. Пло­щадь сечения сосуда на высоте х равна 8(х). В дне сосуда имеется отверстие площадью 5. Определить зависимость уровня воды в сосу­де от времени х(1).

Из физики известно, что скорость истечения жидкости v в тот момент, когда высота ее уровня равна х, определяется равенством


где А: — коэффициент скорости истечения жидкости из

отверстия. На бесконечно малом промежутке времени Л истечение жидкости можно считать равномерным, а поэтому за время Л вы­течет столбик жидкости, высота которого v Л и площадь сечения 5, что, в свою очередь, вызовет понижение уровня жидкости в сосуде на — с1х. Приравнивая объем жидкости, вытекшей из отверстия и из

сосуда, получим з!с^2%х Ж = -5(х) Ах.

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


Площадь поперечного сечения сосуда постоянна и не зависит от х: 8(х) = пК2, площадь отверстия в дне 5 = пг2. Для воды коэффици­ент А: = 0,6. Подставив эти значения в уравнение, получим



0,6 пг


= -я/?


Это уравнение может быть решено аналитически или одним из численных методов.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  XI ^/О\ А'; ^   V ь",. 1 > V? г 1 V,, г 1 г 21    
Задатчик входных воздействий Управляю- Объект управления  
^-~^^\г Х2 а Г^(О\ А^г ^ *"• 1 _л_    
х„ 1 У* г щая система • " • • • • > 1 > ^      
           
       
   
   

Рис. 5.2. Структура многомерной системы автоматического управления

Эндогенные переменные: х(1) и у(^) - вектора входных и воз­мущающих воздействий, а также /Г(ОиЯ (/)— вектора ошибок и управляющих воздействий, соответственно. Экзогенные переменные: — вектор состояния системы, который обычно совпадает с век-


тором выходных переменных, т.е.?(*) = у(1). (Более подробно о мо­делировании САУ см.: «Теория автоматического управления»: Учеб­ник для машиностроит. спец. вузов/ Под ред. Ю.М. Соломенцева. М: Высшая школа, 1999.)

5,5. информационные моЭели

5,5,1, информационные объекты и сВязи

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

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

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

Отношения, существующие между реальными объектами, опре-


деляются в информационных моделях как связи. Существует три вида связей: один к одному (\:\), один ко многим (1:°°) и многие ко мно­гим (°°:°о).

Связь один к одному определяет соответствие одному экземпля­ру информационного объекта X не более одного экземпляра инфор­мационного объекта У, и наоборот.

Пример. Информационные объекты СТУДЕНТ и ЛИЧНОЕ ДЕЛО будут связаны отношением один к одному. Каждый студент имеет определенные уникальные данные в личном деле.

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

Пример. Между информационными объектами МЕСТО ОБУЧЕ­НИЯ и СТУДЕНТ необходимо установить связь один ко многим. Одно и то же место обучения может многократно повторяться для различ­ных студентов.

Связь многие ко многим предполагает соответствие одному экзем­пляру информационного объекта X любое количество экземпляров объекта У, и наоборот.

Пример. Информационные объекты СТУДЕНТ и ПРЕПОДАВА­ТЕЛЬ имеют связь многие ко многим. Каждый студент обучается у множества преподавателей, а каждый преподаватель учит множество студентов.

5.5.2. Примеры информаиионнын моЗелей

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

Рассмотрим некоторые универсальные модели.


Базы Эаннын

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

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

Ядром любой БД является модель представления данных. Модель данных представляет множество структур данных и взаимосвязи меж­ду ними.

Различают иерархическую, сетевую и реляционную модели данных.

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

К основным понятиям иерархической модели относятся:

узел — набор атрибутов данных, описывающих объект;

связь — линия, связывающая узлы нижнего уровня с одним уз­
лом вышележащего уровня. При этом узел вышележащего
уровня называют предком для соответствующих ему узлов ниж­
него уровня, в свою очередь, узлы нижнего уровня называют
потомками связанного с ними вышележащего узла (например,
на рис. 5.3. узел В1 — предок для узлов С1, С2, а узлы С1,
С2 — потомки узла В1);

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


Уровень 1

Уровень 2

Уровень 3


С1 С2


СЗ С4 С5


С6


С7 С8


Рис. 5.3. Иерархическая модель данных

Количество деревьев в БД определяется числом корневых записей. К каждому узлу существует единственный путь от корня.


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

Рис. 5.4. Сетевая модель данных

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

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

искусственный интеллект

Идеи моделирования человеческого разума известны с древней­ших времен. Впервые об этом упоминается в сочинении философа и теолога Раймунда Луллия (ок.1235 — ок.1315) «Великое искусство», который не только высказал идею логической машины для решения разнообразных задач, исходя из всеобщей классификации понятий (XIV в.), но и попытался ее реализовать. Рене Декарт (1596—1650) и Готфрид Вильгельм Лейбниц (1646-1716) независимо друг от друга раз­вивали учение о прирожденной способности ума к познанию и все­общих и необходимых истин логики и математики, работали над созданием универсального языка классификации всех знаний. Имен­но на этих идеях базируются теоретические основы создания искус­ственного интеллекта. Толчком к дальнейшему развитию модели чело-


веческого мышления стало появление в 40-х гг. XX в. ЭВМ. В 1948 г. американский ученый Норберт Винер (1894-1964) сформулировал основные положения новой науки — кибернетики. В 1956 г. в Стен-фордском университете (США) на семинаре под названием «Аг!Шс1а1 т1е!1щепсе» (искусственный интеллект), посвященном решению ло­гических задач, признано новое научное направление, связанное с машинным моделированием человеческих интеллектуальных функ­ций и названное искусственный интеллект. Вскоре эта отрасль раз­делилась на два основных направления: нейрокибернетику и кибер­нетику «черного ящика».

Нейрокибернетика обратилась к структуре человеческого мозга как единственно мыслящему объекту и занялась его аппаратным моделированием. Физиологи давно выявили нейроны — связанные друг с другом нервные клетки как основу мозга. Нейрокибернетика занимается созданием элементов, аналогичных нейронам, и их объе­динением в функционирующие системы, эти системы называют ней-росетями. В середине 80-х гг. XX в. в Японии был создан первый нейрокомпьютер, моделирующий структуру человеческого мозга. Его основная область применения — распознавание образов.

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

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

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

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


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

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

Приведем некоторые из определений:

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

Знания — хорошо структурированные данные, или данные о дан­ных, или метаданные.

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

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

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

Кроме того, знания делят на процедурные и декларативные. Ис­торически первыми появились процедурные знания, «рассыпанные» в алгоритмах. Они управляли данными. Для их изменения требова­лось вносить изменения в программы. С развитием искусственного


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

Декларативные знания — это совокупность сведений о характе­ристиках свойств конкретных объектов, явлений или процессов, представленных в виде фактов и эвристик. Исторически такие зна­ния накапливались в виде разнообразных справочников, с появле­нием ЭВМ приобрели форму баз данных. Декларативные знания часто называют просто данными, они хранятся в памяти информа­ционной системы (ИС) так, что имеют непосредственный доступ для использования.

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

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

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


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

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

Пример. Имеется фрагмент базы знаний, состоящий из двух пра­вил:

Пр. 1: ЕСЛИ «ведение бизнеса» и «знакомство с Интернет»,

ТО «электронная коммерция». Пр. 2: ЕСЛИ «владеет компьютером»,

ТО «знакомство с Интернет».

В систему поступили данные: «ведение бизнеса» и «владе­ет компьютером».

ПРЯМОЙ ВЫВОД: На основе имеющихся данных получить заклю­чение.

1-й проход:

Шаг 1. Проверяем Пр. 1, не работает — не хватает данных «знаком­ство с Интернет».

Шаг 2. Проверяем Пр. 2, работает, база дополняется фактом «зна­комство с Интернет».

2-й проход

Шаг 3. Проверяем Пр. 1, работает, система дает заключение «элек­тронная коммерция».


ОБРАТНЫЙ ВЫВОД: Подтвердить выбранную цель с помощью

имеющихся правил и данных. 1-й проход: Шаг 1. Цель - «электронная коммерция»:

Проверяем Пр. 1, данных «знакомство с Интернет» нет, они становятся новой целью, и есть правило, где она в правой части. Шаг 2. Цель — «знакомство с Интернет»:

Пр. 2 подтверждает цель и активизирует ее. 2-й проход: Шаг 3. Пр. 1 подтверждает искомую цель.

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

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


Студент


учится


Технический университет


 


например


имеет частью


 

 

 

 

 

 

Попов 1 а учится Кафедра Моделирование И С имеет ^ - -.................... - Факультет информатики . л  
^ велст 44 частью  
  изучает        
               

ОТО
Программирование

Учебная дисциплина

Рис. 5.5. Семантическая сеть

Достоинствами сетевых моделей являются: большие выразитель-


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

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

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

о

{ИМЯ ФРЕЙМА: (имя 1-го слота: значение 1-го слота);

(имя 2-го слота: значение 2-го слота);

(имя М-го слота: значение Ы-го слота)}.

Важным свойством фреймов является наследование свойств, за­имствованное из теории семантических сетей. Наследование проис­ходит по АКО-связям (от А Ктс! ОТ, что означает «эт.е.»). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно


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



Человек

 

 

 

 
АКО млекопитающее
Умеет  
1 мыслить
 

Инженер

 

 

 

 

 

   
АКО человек
Возрас Имеет  
т | от 22 лет
 
высшее техническое образование
 

Конструктор

 

 

 

 

 

АКО Умеет  
инженер
 
создавать конструкции сооружений или механизмов
 

Рис. 5.6. Сеть фреймов

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

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

фреймы-роли (студент, преподаватель, декан);

фреймы-сценарии (сдача экзамена, празднование именин, полу­
чение стипендии);

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

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

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

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

• Наиболее мощными являются смешанные модели представления
знаний.


Экспертные системы

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

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

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

Современные экспертные системы способны:

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

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

— распознавать речь, на данном этапе в ограниченной области при­
менения;

— распознавать человеческие лица, отпечатки пальцев и др.

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


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


Интерфейс пользователя

Пользователь


Решатель

База знаний

Подсистема разъяснений


Интеллектуальный

редактор базы знаний


Инженер по знаниям

Эксперт


Рис. 5.7. Структура модели экспертной системы

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

Система управления

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

планирование (стратегическое, тактическое, оперативное);

учет — отображает состояние объекта управления в результате
выполнения производственных процессов;

контроль — определяет отклонение учетных данных от плановых
целей и нормативов;


оперативное управление — осуществляет регулирование всех про­
цессов с целью исключения возникающих отклонений от пла­
новых и учетных данных;

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

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

5.6. Моделирование информаиионнын проиессоВ

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

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


тодик. Любое ПО имеет свой жизненный цикл — период от начала проектирования и до его модернизации или замены более современ­ной версией. В конце 60-х гг. появился термин зо/^аге еп&пеепщ (ин­женерное проектирования программ), которым обозначали совокуп­ность административных и технических методов, процедур и инструментальных средств, необходимых для эффективного написа­ния крупных программных систем. Были разработаны разные под­ходы для проектирования алгоритмов и программ, которые появля­лись и развивались под влиянием увеличивающейся потребности в скорости и качестве разработки ПО.

5,6,1, МоЗели разработки программного обеспечения

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

Анализ

Требования

Спецификация

Архитектурное проектирование

Детальное проектирование

Кодирование

Тестирование

Рис. 5.8. Моделирование методом «водопада»


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




Анализ

Требования

Спецификация

Создание временных прототипов


Архитектурное проектирование

Детальное проектирование

Кодирование

Тестирование


Рис. 5.9. Метод «водопада» с введением временных прототипов

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


 

4. Планирование следующего цикла

I. Определение целей, альтернатив и ограничений


 

3. Разработка и верификация

2. Анализ риска


Рис. 5.10. Спиральная модель

5,6,2, МетоЭы проектирования программного обеспечения

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

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

• один входной и один выходной поток данных;

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

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


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

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

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

Для любого метода проектирования ПО очень важным являют­ся документирование и нотация, т.е. запись операций условным стан­дартизованным способом. Для структурного проектирования наибо­лее часто использовалась нотация схем алгоритмов. Для ООП в настоящее время используется нотация 1ШЬ (УпШес! МойеНп§ Ьап&иа&е) — унифицированный язык моделирования, используя ко­торый в качестве нотации, мы будем моделировать информационные системы с помощью современных средств автоматизации програм­мирования.

5,7, УнифииироВанный моЭелироВания

В начале 90-х гг. из всего множества языков объектно-ориенти­рованного анализа и проектирования выделились три, наиболее ча­сто используемых при разработке систем: ВоосН, созданный Грейди Бучем, ОО5Е (ОЬ)ес1-Опеп1ес1 ЗоЯшаге Еп§теепп&), разработанный Айваром Джекобсоном, и ОМТ (ОЬ)ес1 МойеПп§ ТесЬшяие), автором


которого является Джеймс Рамбо. Каждый из этих методов является вполне законченным языком ООП, однако метод ВООСН особенно удобен на этапах проектирования модели, ОО5Е — на этапе анализа и формулирования требований, а ОМТ — удобен при проектирова­нии СУБД. Создание языка, объединяющего достоинства этих трех методов, началось в начале 1995 г., когда эти три автора объединили свои методы для создания унифицированного языка для фирмы Каиопа! 5о/№аге. В 1997 г. была принята версия 11МЬ 1.1, взятая на вооружение всеми компаниями — производителями систем автома­тизированного проектирования. В 2001 г. появилась версия 2.0. В настоящее время идет утверждение УМЬ в качестве стандарта 15О.

5.7,1, Кониептуольноя модель 11ГШ.

Словарь 1ЛМЬ включает три основных блока:

сущности;

отношения;

диаграммы.

Сущность - это основные структурные блоки языка. 11МЬ име­ет четыре типа сущностей:

структурные;

поведенческие;

группирующие;

аннотационные.

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

Класс — описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой.

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

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


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

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

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

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

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

Для вышеперечисленных сущностей существуют разновидности:

• классы — актеры, сигналы, утилиты;

• компоненты — приложения, документы, файлы, страницы, таб­
лицы.

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

Взаимодействие — поведение, заключающееся в обмене сообще­ниями.

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

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

Пакет: его основное назначение — сгруппировать на этапе про­ектирования сущности так, чтобы яснее была видна концептуальная


схема системы. В УМЬ существуют также разновидности пакетов: каркасы, модели и подсистемы.

Аннотационные сущности используются для дополнительного описания или замечания к любому элементу.

5.7.2, Отношения В 11ГП1

В иМЬ определены четыре типа отношений:

зависимость;

ассоциация;

обобщения;

реализация.

Отношения являются связующими элементами для объединения сущностей.

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

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

Обобщение — это отношение «родитель — потомок».

Реализация — это семантическое отношение между интерфейса­ми и реализующими их классами или между прецедентами и реали­зующими их кооперациями.

5.7.3. йиогроллмы

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

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

Диаграмма объектов — представляет объекты и отношения меж-


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

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

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

Диаграмма коопераций — представляет структурную организацию объектов, обменивающихся сообщениями.

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

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

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

Диаграмма развертывания — представляет конфигурацию обраба­тывающих узлов системы и размещенных в них компонентов. Отно­сится к статическому виду системы.

5,7,4, инструментарий проектирования программного обеспечения


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.098 сек.)