Методы анализа предметных областей
Покупка
Тематика:
Кибернетика
Издательство:
Российский государственный гуманитарный университет
Год издания: 2019
Кол-во страниц: 203
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7281-2489-4
Артикул: 804991.01.99
Задача настоящего учебного пособия — помочь студентам в процессе теоретического и практического освоения методов анализа предмет ных областей. Автор показывает методологию формирования моделей предметной области в самых разнообразных областях науки, техники, знаний для последующего их использования в различных сферах прикладной информатики. Рассматриваются методы системного анализа и структурный подход к моделированию предметной области. Для студентов, обучающихся по направлениям подготовки бакалавриата «Прикладная математика», «Прикладная информатика», «Программная инженерия»; также может использоваться студентами других специальностей и для самообразования.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Российский государственный гуманитарный университет» Институт информационных наук и технологий безопасности Факультет информационных систем и безопасности А.Д. Козлов, В.А. Лекае, М.С. Шаповалова МЕТОДЫ АНАЛИЗА ПРЕДМЕТНЫХ ОБЛАСТЕЙ Учебное пособие Для бакалавриата по направлениям подготовки 01.03.04 – Прикладная математика 09.03.03 – Прикладная информатика по профилям: Прикладная информатика в информационной сфере, Прикладная информатика в экономике 09.03.04 – Программная инженерия 3-е издание (электронное) Москва 2019
УДК 004.9(075)+519.85(075) ББК 32.81я73 К59 Учебное пособие утверждено на заседании кафедры фундаментальной и прикладной математики 3 апреля 2018 г., протокол № 9, на заседании Совета ИИНТБ 17 мая 2018 г., протокол № 8, пункт 4 Козлов, Александр Дмитриевич. К59 Методы анализа предметных областей [Электронный ресурс] : учебное пособие / А. Д. Козлов, В. А. Лекае, М. С. Шаповалова ; Рос. гос. гуманитарн. ун-т. — 3-е изд. (эл.). — Электрон. текст. дан. (1 файл pdf : 203 с.). — М. : Рос. гос. гуманитарн. ун-т, 2019. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". ISBN 978-5-7281-2489-4 Задача настоящего учебного пособия — помочь студентам в процессе теоретического и практического освоения методов анализа предметных областей. Автор показывает методологию формирования моделей предметной области в самых разнообразных областях науки, техники, знаний для последующего их использования в различных сферах прикладной информатики. Рассматриваются методы системного анализа и структурный подход к моделированию предметной области. Для студентов, обучающихся по направлениям подготовки бакалавриата «Прикладная математика», «Прикладная информатика», «Программная инженерия»; также может использоваться студентами других специальностей и для самообразования. УДК 004.9(075)+519.85(075) ББК 32.81я73 Деривативное электронное издание на основе печатного издания: Методы анализа предметных областей [Текст] : учебное пособие / А. Д. Козлов, В. А. Лекае, М. С. Шаповалова. ; Рос. гос. гуманитарн. ун-т. — 2-е изд., испр. и доп. — М. : РГГУ, 2018. — 201 с. — ISBN 978-5-7281-2065-0. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-7281-2489-4 © Козлов А.Д., Лекае В.А., Шаповалова М.С., 2018 © Российский государственный гуманитарный университет, 2013 © Российский государственный гуманитарный университет, с изменениями, 2018
Содержание Введение . . . . . . . . . . . . . . . . . . . . . 6 1. Введение в системный анализ и моделирование 1.1. Предмет системного анализа . . . . . . . . . . 11 1.2. Многоаспектность строения и функционирования систем . . . . . . . . . . . . . . . . . . . . 11 1.3. Цель, задача, структура, система, системность . . . 12 1.4. Классификация систем. Большие и сложные системы . . . . . . . . . . . . . . . . . . . 26 1.5. Управление в системе и управление системой . . . 29 1.6. Выводы . . . . . . . . . . . . . . . . . . . 31 Вопросы для самоконтроля . . . . . . . . . . . 32 2. Теория графов и программно-целевой метод анализа предметных областей 2.1. Методы теории множеств в информационных классификациях . . . . . . . . . . . . . . . . 33 2.2. Обозначения теории графов . . . . . . . . . . . 37 2.3. Семантические сети . . . . . . . . . . . . . . 40 2.4. Пример использования системного анализа предметной области . . . . . . . . . . . . . . 41 2.5. Программно-целевой подход в системных задачах . 44 2.5.1. Этапы и область применения программно- целевого подхода . . . . . . . . . . . . . 44 2.5.2. Алгоритм декомпозиции . . . . . . . . . 46 2.5.2.1. Стадии анализа и синтеза . . . . . . . 46 2.5.2.2. Метод структурного анализа . . . . . 47 2.5.2.3. Методы декомпозиции . . . . . . . . 48 2.5.2.4. Требования, предъявляемые к декомпозиции . . . . . . . . . . . 51 2.5.2.5. Алгоритм декомпозиции . . . . . . . 51 2.5.3. Агрегирование систем . . . . . . . . . . 52 2.5.3.1. Уровни агрегирования . . . . . . . . 52 2.5.3.2. Типы связей в системе . . . . . . . . 54 2.5.3.3. Виды агрегирования . . . . . . . . . 55 2.6. Выводы . . . . . . . . . . . . . . . . . . . 57 Вопросы для самоконтроля . . . . . . . . . . . 58 3
3. Структурный подход к моделированию предметной области 3.1. Сущность структурного подхода . . . . . . . . . 59 3.2. Методология функционального моделирования SADT 60 3.2.1. Технология структурного анализа и проектирования . . . . . . . . . . . . 60 3.2.2. Функциональная модель и ее состав . . . . 61 3.2.3. Иерархическая структура диаграмм . . . . . 61 3.2.4. Связи между функциями . . . . . . . . . 65 3.3. Моделирование потоков данных . . . . . . . . . 68 3.4. Моделирование данных . . . . . . . . . . . . 73 3.4.1. Case-метод Баркера . . . . . . . . . . . . 73 3.4.2. Методология IDEF1 . . . . . . . . . . . 79 3.5. Образец использования структурного подхода: фильмотека . . . . . . . . . . . . . . . . . . 85 3.5.1. Описание предметной области . . . . . . . 85 3.5.2. Фазы проекта . . . . . . . . . . . . . . 86 3.6. Выводы . . . . . . . . . . . . . . . . . . . 93 Вопросы для самоконтроля . . . . . . . . . . . 95 4. Объектно-ориентированная методология анализа и моделирования предметной области 4.1. Этапы развития UML и используемые методологии проектирования . . . . . . . . . . . . . . . . 96 4.1.1. Основные этапы развития UML . . . . . . 96 4.1.2. Методология объектно-ориентированного программирования . . . . . . . . . . . . 98 4.1.3. Методология ООАП . . . . . . . . . . . 102 4.1.4. Особенности системного анализа и моделирования при проектировании информационных и программных систем . . . . . . . . . . 104 4.2. Базовые элементы языка UML . . . . . . . . . . 105 4.2.1. Общие сведения . . . . . . . . . . . . . 105 4.2.2. Структура языка UML . . . . . . . . . . 107 4.2.3. Пакеты языка UML . . . . . . . . . . . . 109 4.2.4. Основные пакеты метамодели UML . . . . . 110 4.2.4.1. Пакет «Основные элементы» . . . . . 111 4.2.4.2. Пакет «Элементы поведения» . . . . . 114 4.2.4.3. Пакет «Общие механизмы» . . . . . . 116 4
4.2.5. Особенности описания метамодели UML . . 118 4.2.6. Особенности изображения диаграмм UML . . 122 4.2.7. Примеры использования диаграмм . . . . . 125 5. Rational Rose и объектно-ориентированное проектирование 5.1. Функциональные особенности Rational Rose . . . . 132 5.2. Проведение предварительного обследования с использованием объектно-ориентированного метода анализа предметной области . . . . . 142 5.2.1. Модель прецедентов использования . . 142 5.2.1.1. Поведение системы . . . . . . . 143 5.2.1.2. Шаблон модели прецедентов использования . . . . . . . . . 143 5.2.1.3. Акторы . . . . . . . . . . . . 144 5.2.1.4. Прецеденты использования . . . . 144 5.2.1.5. Диаграммы прецедентов использования . . . . . . . . . 146 5.3. Объектно-ориентированная методология анализа предметной области и моделирование бизнес-процессов . . . . . . . . . . . . . . . 148 5.3.1. Средства и методы моделирования бизнес-процессов . . . . . . . . . . . . 148 5.3.2. Пример моделирования предметной области . 154 5.4. Выводы . . . . . . . . . . . . . . . . . . . 163 Вопросы для самоконтроля . . . . . . . . . . . 163 6. Методы анализа предметной области при нечетких условиях выбора решений 6.1. Нечеткая логика – математические основы . . . . 164 6.2. Основы нечеткого управления . . . . . . . . . . 171 6.3. Системы управления с нечеткой логикой . . . . . 175 6.4. Выводы . . . . . . . . . . . . . . . . . . . 186 Вопросы для самоконтроля . . . . . . . . . . . 188 Список источников и литературы . . . . . . . . . . . 189 Приложение . . . . . . . . . . . . . . . . . . . . 193
Введение Пособие предназначено для студентов, обучающихся по направлениям подготовки бакалавриата 01.03.05 – Прикладная математика, 09.03.03 – Прикладная информатика, 09.03.04 – Программная инженерия; также оно может использоваться студентами других специальностей и для самообразования. Данное учебное пособие поможет формированию следующих компетенций: • По прикладной информатике – – способность анализировать и разрабатывать организационнотехнические и экономические процессы с применением методов системного анализа и математического моделирования; – – способность принимать участие в управлении проектами создания информационных систем на стадиях жизненного цикла; – – способность применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности; • По прикладной математике – – способность выявить естественнонаучную сущность проблем, возникающих в ходе профессиональной деятельности, готовность использовать для их решения соответствующий естественнонаучный аппарат; – – готовность применять математический аппарат для решения поставленных задач, способность применить соответствующую процессу математическую модель и проверить ее адекватность, провести анализ результатов моделирования, принять решение на основе полученных результатов; – – готовность применять знания и навыки управления информацией; – – способность самостоятельно изучать новые разделы фундаментальных наук. • По программной инженерии – – способность применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности; – – способность применять в практической деятельности основные концепции, принципы, теории и факты, связанные с информатикой. 6
Цель изучения курса «Методы анализа предметных областей» и подобных ему − теоретическое и практическое освоение методов анализа предметных областей, являющихся основой проектирования современных баз данных, информационных систем и технологий, создаваемых в различных сферах человеческой деятельности. Эти методы используют для классификации объектов предметной области, разработки различных информационных систем управления, систем библиотечного типа, программных систем, баз данных, бизнес-процессов, вычислительных сетей, обработки текстов, систем электронного документооборота, электронной торговли, мультимедиа систем и пр. Объектом изучения является методология формирования моделей предметной области самых разнообразных областей науки, техники, знаний для последующего их использования в различных сферах прикладной информатики. В частности, моделирование предметной области применяют для проектирования таких компонент автоматизированных систем, как программное обеспечение, организационные структуры, функциональные подсистемы, базы данных, лингвистическое обеспечение, а также для информационных технологий, бизнеспроцессов и систем в целом. Соответствующие методы могут использоваться как при использовании разнообразных систем, так и в процессе их модификации. Исторически методология анализа предметных областей возникла и развивалась в процессе разработки и создания первых вычислительных машин и информационных систем (ИС). Поэтому в начале развития ИС для этих целей использовался математический аппарат и методология теории множеств, теории графов и системного анализа, которые развивались в соответствии с развитием вычислительной техники и информационных систем. На этой стадии развития возник программно- целевой подход, использовавший все упомянутые компоненты. Программно-целевой подход – комплекс согласованных научно- исследовательских, экономических, социальных, производственно- технических, организационных мероприятий, направленных на достижение четко поставленной цели. Этот инструмент позволяет решать сложные и разнообразные научно-технические и социальноэкономические проблемы, от управления экономикой до обработки текстов на естественном языке. По мере увеличения мощностей и возможностей программных и аппаратных средств, появления в процессе системного анализа пакетов прикладных программ (в том числе систем управления базами данных) была создана методология структурного анализа предметных областей, широко применяемая для создания моделей баз данных. 7
Технология структурного анализа систем была разработана Россом и является совокупностью правил и процедур для построения функциональной модели объекта предметной области, производимых действий и связей между действиями. Из этих средств моделирования данных наиболее распространены диаграммы «сущность – связь», определяющие объекты (сущности), их свойства (атрибуты) и отношения друг с другом (связи), важные для предметной области. Непосредственно эти диаграммы применяются для проектирования реляционных баз данных; нотация диаграмм введена П. Ченом и развита Баркером. Использование структурного метода анализа предметных областей затруднено при разработке сложных систем, особенно сложных программных комплексов, связанных с формализацией самой программной системы и с распределением работ между исполнителями. Огромная трудоемкость программирования привела к кризису в этой области в 80-е годы, поэтому стала интенсивно развиваться объектноориентированная технология программирования, а проекты систем стали создаваться на основе визуального моделирования компонент. Объектно-ориентированное проектирование включает объектноориентированную декомпозицию и визуальную нотацию для описания разнообразных моделей проектируемой системы. Оно состоит в объектной декомпозиции системы, а для визуального выражения логического (классы и объекты) и физического (модульная и процессорная архитектура) аспектов модели применяют различную нотацию. К середине 1990-х годов наиболее известными были методы: • Гради Буча (Grady Booch) – Booch или Booch'91, Booch Lite (позже – Booch'93); • Джеймса Румбаха (James Rumbaugh) – Object Modeling Technique (ОМТ, ОМТ-2); • Айвара Джекобсона (Ivar Jacobson) – Object-Oriented Software Engineering (OOSE). Метод Booch'93 стал наиболее популярным на этапах проектирования и разработки различных программных систем. Унификация методов Буча и Румбаха для объединения их достоинств и впоследствии интегрирование с ними метода Джекобсона привели к созданию языка UML, обеспечивающего: • моделирование программного обеспечения, других систем и бизнесприложений с использованием объектно-ориентированных понятий; • обеспечение взаимосвязи между базовыми понятиями моделей концептуального и физического уровней; 8
• масштабируемость моделей, что важно для сложных многоцелевых систем; • мультиплатформенность разработки и простоту использования для аналитиков и программистов. Сейчас созданы средства визуального программирования на базе UML, обеспечивающие интеграцию (включая прямую и обратную генерацию кода программ) с такими языками и средами программирования, как MS Visual C++, Java, Object Pascal/Delphi, Power Builder, MS Visual Basic, Forte, Ada, Smalltalk. Язык UML можно расширять без переопределения его ядра. Эта методология позволила создать мощные программные средства моделирования предметных областей, такие как ARIS, Designer 2000, Rational Rose и др. Классические теорию множеств и формальную логику обобщают математическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic), впервые введенные Лотфи Заде (Lotfi Zadeh) в 1965 г., что привело к применению нечетких и приближенных рассуждений при описании процессов и систем. Использование такого формального аппарата позволило в настоящее время разработать основанные на этой логике принципиально новые системы управления производственными процессами, а также применять его в экспертных системах, системах искусственного интеллекта и для обработки текстов естественного языка. Рассмотрению этого разнообразия методов анализа предметных областей, а также их применению и посвящено данное учебное пособие. Дисциплина «Методы анализа предметных областей» и аналогичные ей основываются на учебных курсах, входящих в модули дисциплин «Основы алгебры», «Дискретная математика», «Математическая логика», «Информатика», «Программирование», «Информационные технологии», «Алгоритмы и структуры данных» и служит методологической основой для освоения дисциплин «Проектирование информационных систем», «Информационная безопасность», «Программная инженерия», «Проектный практикум». Изложение материала построено в хронологическом порядке развития данной методологии и соответствует принципу «от простого к сложному». В этих целях сначала излагаются методы анализа, основанные на теории множеств и графов, и в качестве их обобщения – программно-целевой метод анализа предметных областей. Далее описываются методологии структурного анализа и объектно-ориентированный подход, в этом же разделе рассмотрены основные положения языка UML и соответствующие программные средства моделирования Rational Rose, Designer/2000, Paradigm Plus. Завершает изложе9
ние материала описание методологии принятия решений с нечеткой логикой (СНЛ). При работе с пособием рекомендуется отвечать на вопросы для самоконтроля, приводимые в конце глав. Для углубления знаний по отдельным разделам следует обращаться к литературным источникам (список печатных и интернет-публикаций дан в конце пособия). Название курса, а следовательно и его содержание требуют некоторого пояснения. Действительно, широко используемый и пришедший из систем автоматизированного проектирования термин «предметная область» обычно понимается как область предметов (вещей), отображаемых в автоматизированных системах. Однако в автоматизированных системах и базах данных могут описываться не только предметы, а, например, свойства молекул, психики, планет, веществ и др. В России ранее использовалось более широкое понятие «проблемная область». Однако в русском языке слово «предмет» имеет и другое значение. Предмет – это то, на что направлена мысль и что составляет ее содержание или на что направлено действие; например: предмет насмешек, предмет обсуждения, предмет исследований. В этом смысле понятие «предметная область» означает область, на которую направлены мысль и действие – анализ сути, сущностей и содержания подлежащего автоматизации объекта, области науки, техники, знаний и др. В этом и только в этом расширительном смысле корректно использовать термин «предметная область». С учетом изложенного нетрудно видеть, что содержание курса «Методы анализа предметных областей» и аналогичных ему является чрезвычайно широким и может касаться любых областей автоматизации, в частности: всевозможных систем управления; систем автоматизированного проектирования; систем библиотечного типа; порталов и web-сайтов; электронных торгов и других бизнес-процессов; системы выборов; анализа естественного языка, машинного перевода; программных систем – операционных систем, пакетов прикладных программ ввода данных, издательских систем и редактирования данных, лингвистических процессоров, дизайна, мультимедиа и др. Очевидно, что такое разнообразие областей автоматизации требует разнообразного количества методов анализа, что естественно затрудняет их освоение и использование. 10