С.Ковалёв -- теория категорий как математическое основание MBSEAnatoly Levenchuk
Доклад Сергея Ковалёва (ИПУ РАН) "Теория категорий как математическое основание моделеориентированной системной инженерии" на 96 заседании Русского отделения INCOSE, 12 ноября 2014г.
Доклад Анатолия Левенчука "Системный подход, данный нам в стандартах ISO 42010, ISO 81346, ISO 15926, OMG Essence" на 82 заседании Русского отделения incose, 23 октября 2013
С.Ковалёв -- теория категорий как математическое основание MBSEAnatoly Levenchuk
Доклад Сергея Ковалёва (ИПУ РАН) "Теория категорий как математическое основание моделеориентированной системной инженерии" на 96 заседании Русского отделения INCOSE, 12 ноября 2014г.
Доклад Анатолия Левенчука "Системный подход, данный нам в стандартах ISO 42010, ISO 81346, ISO 15926, OMG Essence" на 82 заседании Русского отделения incose, 23 октября 2013
Как PR-технологии могут привлечь инвесторов и клиентов к стартапу. Мария Лапук расскажет, нужен ли вам PR и как правильно им заниматься.
Вы узнаете:
— что ждут от вас клиенты и инвесторы,
— как выстраивать коммуникацию с потребителем,
— как получить преимущество над конкурентами.
Хорошие сотрудники не встречаются на каждом шагу — иногда их приходится искать месяцами. Как сократить этот срок, избежать типичных ошибок рекрутинга и найти идеальных кандидатов?
Вы узнаете:
— что рассказывать о проекте, чтобы к вам пришли соискатели;
— как составить текст вакансий;
— где размещать вакансии и информацию о проекте.
Lee Rainie, director of internet, science and technology research at Pew Research Center, gave this speech at Flagler College in St. Augustine, Florida on Feb. 16, 2017, about the new age of politics and media. He described what Donald Trump's campaign and the dawn of the Trump presidency have taught us about the historic shifts in politics and media that have occurred in the last generation.
The 50 Most Influential Education Brands on LinkedInLinkedIn
Education sector marketers have flocked to LinkedIn to reach the professional networking
platform’s audience of professionals, who are keen to boost their careers and earning power
with further education. In particular, education brands are leveraging LinkedIn for content
marketing. Below are the top 50 global education brands based on their LinkedIn Content
Marketing Scores, which are calculated by measuring the ratio between the total target
audience and the unique users that engaged with the content.
10 Ways Your Boss Kills Employee MotivationOfficevibe
It’s so hard to have engaged employees. It’s such a delicate thing to try and get right because employees can be fragile.
As a manager, you have to do everything in your power to make sure employees are happy and engaged at all times.
Usually, the problem is the boss, and not things like the company, mission statement, or co-workers.
If you know that your boss is the biggest problem, there are ten things that they do to kill motivation. If you’re a manager and you’re reading this, make sure you avoid these mistakes to ensure that your employees are engaged during work.
The secret to good leadership is to be authentic. Be honest with your staff.
Read more on Officevibe blog:
https://www.officevibe.com/blog/10-kill-employee-motivation
like us on Facebook!:
www.facebook.com/officevibe
Практический анализ и визуальное моделирование на UMLNikolai Kireev
Презентация курса online-тренингов, проводимых совместно Школой Системного Анализа г. Москва и IT-Студией WebMax.BY г. Минск.
Запись на курс по ссылке: http://school.system-analysis.ru/uml-online/
Интеграция высокоуровневых технико-экономических моделей системы, её окружения и жизненного цикла для "типового проекта"Стадии инженерии требований и определения архитектурных развилок
Стадии инженерии требований и определения архитектурных развилок
Виктор Агроскин
ТехИнвестЛаб.ру
RuSEC 2010
Как PR-технологии могут привлечь инвесторов и клиентов к стартапу. Мария Лапук расскажет, нужен ли вам PR и как правильно им заниматься.
Вы узнаете:
— что ждут от вас клиенты и инвесторы,
— как выстраивать коммуникацию с потребителем,
— как получить преимущество над конкурентами.
Хорошие сотрудники не встречаются на каждом шагу — иногда их приходится искать месяцами. Как сократить этот срок, избежать типичных ошибок рекрутинга и найти идеальных кандидатов?
Вы узнаете:
— что рассказывать о проекте, чтобы к вам пришли соискатели;
— как составить текст вакансий;
— где размещать вакансии и информацию о проекте.
Lee Rainie, director of internet, science and technology research at Pew Research Center, gave this speech at Flagler College in St. Augustine, Florida on Feb. 16, 2017, about the new age of politics and media. He described what Donald Trump's campaign and the dawn of the Trump presidency have taught us about the historic shifts in politics and media that have occurred in the last generation.
The 50 Most Influential Education Brands on LinkedInLinkedIn
Education sector marketers have flocked to LinkedIn to reach the professional networking
platform’s audience of professionals, who are keen to boost their careers and earning power
with further education. In particular, education brands are leveraging LinkedIn for content
marketing. Below are the top 50 global education brands based on their LinkedIn Content
Marketing Scores, which are calculated by measuring the ratio between the total target
audience and the unique users that engaged with the content.
10 Ways Your Boss Kills Employee MotivationOfficevibe
It’s so hard to have engaged employees. It’s such a delicate thing to try and get right because employees can be fragile.
As a manager, you have to do everything in your power to make sure employees are happy and engaged at all times.
Usually, the problem is the boss, and not things like the company, mission statement, or co-workers.
If you know that your boss is the biggest problem, there are ten things that they do to kill motivation. If you’re a manager and you’re reading this, make sure you avoid these mistakes to ensure that your employees are engaged during work.
The secret to good leadership is to be authentic. Be honest with your staff.
Read more on Officevibe blog:
https://www.officevibe.com/blog/10-kill-employee-motivation
like us on Facebook!:
www.facebook.com/officevibe
Практический анализ и визуальное моделирование на UMLNikolai Kireev
Презентация курса online-тренингов, проводимых совместно Школой Системного Анализа г. Москва и IT-Студией WebMax.BY г. Минск.
Запись на курс по ссылке: http://school.system-analysis.ru/uml-online/
Интеграция высокоуровневых технико-экономических моделей системы, её окружения и жизненного цикла для "типового проекта"Стадии инженерии требований и определения архитектурных развилок
Стадии инженерии требований и определения архитектурных развилок
Виктор Агроскин
ТехИнвестЛаб.ру
RuSEC 2010
Доклад А.Левенчука "SysArchi -- системное моделирование в ArchiMate 3.0" на семинаре "Дни инженерии организаций" факультета информатики, математики и компьютерных наук НИУ ВШЭ. Москва-Нижний Новгород, 11 сентября 2018
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]Alex V. Petrov
Прошедший в «Академии информационных систем» (г. Москва) семинар «Как измерить архитектуру ПО?» ответил на вопрос о том, реально ли оценить архитектуру программной системы и сказать, насколько она полна, качественна, подвержена тем или иным недостаткам. В ходе семинара слушатели узнали, какие архитектурные метрики существуют, какие из них — признаны отраслью, в чем состоит их польза и как подходить к их применению в условиях производства.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 3. Распределённая файловая система HDFSTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 1. Введение в Big Data и MapReduceTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №9 "Безопасность баз данных". Лектор - Павел Щербинин.
Открывается лекция рассказом о резервном копировании (о логических и физических резервных копиях, о выборе данных для копирования). Затем определяется терминология для обсуждения дальнейших вопросов. После этого рассматриваются основы учётных записей: таблицы доступа, привилегии, виды записей. Обсуждаются SQL-injection, список смежных вершин (Adjacency Set), вложенное множество (Nested Set), материализованный путь (Materialized Path) и комбинированный подход.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №8 "Конфигурирование базы данных". Лектор - Павел Щербинин.
Сначала объясняются основы конфигурирования и общие принципы настройки. Далее рассказывается об области видимости, о настройке использования памяти, обсуждается размер блока ключей key_cache_block_size. Рассматривается устройство и использование кэша InnoDB, а также кэшей потоков и таблиц. Затем говорится об особенностях ввода/вывода в InnoDB. Далее рассказывается о табличном пространстве, оптимизации файловой сортировки, переменных состояния. Финальная часть лекции посвящена репликации: настройка, синхронизация, топология, планирование пропускной способности, администрирование и обслуживание, проблемы и их решения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №7 "Оптимизация запросов и индексирование". Лектор - Павел Щербинин.
Вначале рассказывается об оптимизации доступа к данным, о декомпозиции соединения и состоянии запроса. Далее идёт большой блок, посвящённый оптимизатору запросов (изменение порядка соединения, применение алгебраических правил эквивалентности, оптимизации COUNT(), MIN(), MAX(), вычисление и свертка константных выражений, покрывающие индексы, оптимизация подзапросов, раннее завершение, сравнение по списку IN() и распространение равенства). Затем последовательно рассматриваются такие вещи, как соединение (JOIN) в MySQL, оптимизатор сортировки, коррелированные подзапросы, слияние и непоследовательный просмотр индексов, функции SELECT & UPDATE, COUNT(). После этого рассказывается об оптимизации запросов с помощью JOIN, GROUP BY, DISTINCT и LIMIT со смещением. В конце лекции даётся информация о кэшировании запросов, объединённых таблицах и секционировании.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №5 "Определение узких мест". Лектор - Павел Щербинин.
Вначале рассказывается о подсистемах хранения: MyISAM, InnoDB, Memory, о критериях выбора подсистем хранения, приводятся практические примеры. Затем обсуждается тема индексирования (B-tree, хеш-индексы) и EXPLAIN (столбцы id, table, possible_keys, key, key_len).
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-запросы". Лектор - Павел Щербинин.
Лекция открывается рассказом о том, что такое профилирование запроса, каковы его этапы выполнения в MySQL. Рассказывается о том, как планировать запрос, как осуществляется протоколирование запросов, как собирается статистика. Объясняются основы индексирования, подробно обсуждаются стратегии индексирования для достижения высокой производительности: изоляция столбца, кластерные индексы (преимущества и недостатки), размещение данных в MyISAM и InnoDB, покрывающие индексы. Далее затрагивается тема нормализации и денормализации, а также таблиц счётчиков. В завершении рассказывается о версионировании схемы БД: о методах инкрементных изменений, идемпотентных изменений, уподобления структуры БД исходному коду.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
3. • Моделирование — исследование объектов
познания на их моделях; построение и
изучение моделей реально существующих
предметов, процессов или явлений с целью
получения объяснений этих явлений, а также
для предсказания явлений, интересующих
исследователя.
4. • Субъект (исследователь),
• Объект исследования,
• Цель моделирования
• Перспектива или точка зрения,
• Метамодель (Правила моделирования),
• Модель.
9. 9
1997
UML 1.1
2001
UML 1.4
1999
UML 1.3
2003
UML 1.5 UML 2.0
Инструментальная поддержка
Самодеятельность
III поколение
II поколение
I поколение
finalization
2005
MDA
1 3
33
10. • В описании UML используются три
языковых уровня:
• Мета-метамодель - описание языка, на
котором описана метамодель - описание
используемого формализма
• Метамодель - описание языка, на котором
описываются модели - собственно
описание языка (элементов моделирования
• Модель - описание самой моделируемой
предметной области - естественный язык
10
12. • Абстрактный синтаксис =
– Структура +
– Ограничения
• В UML определен
– Диаграммами классов +
– Ограничениями на OCL
• Графическая нотация =
– Отображение структуры на графические
картинки
• Семантика первична, нотация
вторична
12
Classifier
Feature
Structural Feature Behaviour Feature
1
*
-name
Model Element
+Operation Name()
+Attribute Name
Class Name
13. • (от лат. structūra — строение)
• В своём основном значении, структура есть внутреннее
устройство чего-либо. Внутреннее устройство связано
с категориями целого и его частей. Выявление связей,
изучение взаимодействия и соподчиненности составных
частей различных по своей природе объектов позволяет
выявить аналогии в их организации и изучать структуры
абстрактно без связи с реальными объектами.
14. • Моделирование системы включает в себя
идентификацию объектов, которые
формируют словарь моделируемой
системы.
• Модель структуры: это представление
системы, которое подчеркивает структуру
объектов, включая их классификацию
(таксономию), взаимосвязи, атрибуты и
операции.
15. • Классификатор (classifier) - конструкция,
которая обобщает класс, с помощью
которого задаются элементы в модели,
которые могут иметь экземпляры, а также
операции и атрибуты.
• Например, экземпляры класса - это
объекты.
16. • Показывают граф классификаторов
соединенных постоянными связями.
• Виды
– Диаграмма классов - (class diagram): classifier
view
– Диаграмма объектов (object diagram): instance
view
– И т.д.
23. • Диаграммы
размещения
обычно
используются для:
– Моделирования
встроенных систем
– Моделирования
client/server систем
– Моделирования
полностью
распределенных
систем
Сервер
WebServer
Auth Service
Региональный
сервер : Серве
Региональный
сервер : Сервер
1
1
1
1
Persistent storage
1
*
Национальный
север : Серве
26. • Adopt an opportunistic top-down+bottom-up approach to
modeling structure
– Specify the top-level structure using “architecturally significant”
classifiers and model management constructs (packages, models,
subsystems; see Tutorial 3)
– Specify lower-level structure as you discover detail re classifiers and
relationships
• If you understand your domain well you can frequently start
with structural modeling; otherwise
– If you start with use case modeling (as with a use-case driven
method) make sure that your structural model is consistent with
your use cases
– If you start with role modeling (as with a collaboration-driven
method) make sure that your structural model is consistent with
your collaborations
27. • Define a “skeleton” (or “backbone”) that can be extended
and refined as you learn more about your domain.
• Focus on using basic constructs well; add advanced
constructs and/or notation only as required.
• Defer implementation concerns until late in the modeling
process.
• Structural diagrams should
– emphasize a particular aspect of the structural model
– contain classifiers at the same level of abstraction
• Large numbers of classifiers should be organized into
packages
29. • Структурная модель: представление
системы, которая подчеркивает
структуру объектов, включая их
классификаторы, отношения,
признаки и операции.
30. Package
Name
Class Name
Interface Name
<<Interface>>
Диаграмма классов
• Это представление статической структуры
системы
• Модель содержит множество диаграмм классов
• Диаграмма классов содержит:
– Пакеты (Packages), Классы (classes),
Интерфейсы (interfaces), и связи (relationships)
• Нотация:
31. Связи (Relationships)
• Диаграмма классов может содержать
следующие типы связей :
– Ассоциации (Association), Агрегации
(aggregation), зависимости (dependency),
реализации (realize), и наследования (inheritance)
• Нотация:
Association Aggregation Dependency
Inheritance Realize
32. • Основана на Объекно ориентированный
дизайн и программирование (OOD, OOP).
• Диаграмма классов разделяет систему на
области ответственности/responsibility
(classes), и показывает “ассоциации”
(зависимости ) между ними.
• Атрибуты(data), операции(methods),
ограничения , отношения часть
целое(aggregation) and kind-of (inheritance)
связи , доступ , и кардинальность(1 или
33. • Диаграммы классов как правило
используются на следующих уровня
абстракции:
▫ Концептуальные (Conceptual/domain): диаграмма
представляет концепции в домене предметной области.
Это моделирование соответствующих ролей и зон
ответственности предметной области.
▫ Спецификации(design): показывают интерфейсы между
компонентами в ПО. Интерфейсы не зависят от
реализации.
▫ Реализации (Implementation): показывают классы
которые соответствуют непосредственно коду (often Java
or C++ classes). Служат в качестве проекта (blueprint) для
реализации ПО. Этого уровня диаграммы дает Reverse-
engineering.
37. Zero or more0..*
One or more1..*
Zero or one0..1
Specified range2..7
Exactly one
1
Множественность
• Каждый конец ассоциации содержит
индикатор множественности
– Показывает кол-во объектов участвующих в
отношениях
40. • writings of architect Christopher Alexander
(coined this use of the term "pattern" ca. 1977-1979)
• Kent Beck and Ward Cunningham, Textronix, OOPSLA'87
(used Alexander's "pattern" ideas for Smalltalk GUI design)
• Erich Gamma, Ph. D. thesis, 1988-1991
• Gamma, Helm, Johnson, Vlissides ("Gang of Four“ - GoF)
Design Patterns: Elements of Reusable Object-Oriented Software, 1991-
1994
• PLoP Conferences and books, 1994-present
• Buschmann, Meunier, Rohnert, Sommerland, Stal, Pattern-Oriented
Software Architecture: A System of Patterns (“POSA book”)
• Patterns of Enterprise Application ArchitectureBy Martin Fowler, David
Rice, .. (2002)
• ….
41. • A design pattern captures design expertise
–patterns are not created from thin air, but
abstracted from existing design examples
• Using design patterns is reuse of design
expertise
• Studying design patterns is a way of
studying how the “experts” do design
• Design patterns provide a vocabulary for
talking about design
42. • … a fully realized form, original, or model accepted or proposed for
imitation…[dictionary]
• ... describes a problem which occurs over and over again in our
environment, and then describes the core of the solution to that problem,
in such a way that you can use this solution a million times over, without
ever doing it the same way twice [Alexander]
• … the abstraction from a concrete form which keeps recurring in specific
non-arbitrary contexts [Riehle]
• ...a literary format for capturing the wisdom and experience of expert
designers, and communicating it to novices
44. Global architecture
Enterprise architecture
System architecture
Application architecture
Macro-architecture
Micro-architecture
Objects
* Mowbray and Malve
ORB
OO architecture
Frameworks
Subsystem
Design patterns
OO programming
45. • A solution to a problem that occurs repeatedly in a variety of
contexts.
• Each pattern has a name.
• Use of each pattern has consequences.
46. • Generally at a “higher level” of abstraction.
• Not about designs such as linked lists or hash tables.
• Generally descriptions of communicating objects and classes.
47. • Name
• Intent
• Motivation
• Applicability
• Structure
• Consequences
• Implementation
• Known Uses
• Related Patterns
Problem
Solution
Benefits
Related Patterns
Consequences
Forces
49. Концептуальная модель
Conceptual Model
• Концептуальная модель представляет собой
определенный набор понятий и отношений между ними,
который представляет собой концептуальную структуру
описываемой предметной области
• Любые вопросы связанные с реализацией программного
продукта считаются выходящими за пределы
концептуальной модели
• Концептуальная модель также называется аналитической
моделью
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
50. • Домен является частью реального мира,
что необходимой или имеющей
непосредственное отношение к работе
программы.
– Другими словами, Домен включает в себя
только те объекты и связи между ними,
которые необходимы для описания требований
и условий для решения конкретной задачи.
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
51. Аналитические
Analysis Patterns
• Аналитические паттерны используются для
анализа организационной структуры, процессов и
предметной области для дальнейшего
моделирования и реализации в программном
продукте (Martin Fowler, 1997).
• Некоторые Аналитические паттерны специфичны
для конкретных доменов, но большинство из них
имеют более широкое применение.
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
52. • По решаемым задачам
– Структура объектов (Referring to Objects) -
методы идентификации объектов
– Объекты, которые меняются с течением
времени - методы, чтобы показать изменения
состояния объекта во времени
(M. Fowler)
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
53. Referring to Objects (Problem)
• Большинство понятий являются
уникальными
• Концептуальная модель должна обеспечить
– Способы идентификации уникального объекта
– Способы объединения двух объектов,
представляющих тот же объект предметной
области
– Способы подтверждения идентичности двух
объектов
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
54. • Идентификатор
• Схема определения
• Вытеснение объектов
• Сущность объекта
• Эквивалентность
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
55. • Назначение :
– Дает способ идентифицировать объект пригодный для
использования в очередях
• Проблема
– Сложные системы могут иметь несколько идентификаторов
представляющих объект
– В разных контекстах могут быть использованы разные
идентификаторы
• Пример:
– данные паспорта идентифицируют гражданина России
– В туристической поездке вам нужен иностранный паспорт
– В библиотеке и Вас идентифицируют с помощью номера карты
библиотеки
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
56. • Ограничения
– Идентификатор строки должен быть уникальным для
каждой схемы идентификации
– Идентификатор String должен быть неизменным
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
57. • Объекты меняются
• Если вам нужно ответить на запросы,
связанные с предыдущим состоянием
объекта, вы должны записать его
изменения
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
58. • Журнал (Audit Log)
– простой журнал аудита, где записи могут быть
легко добавлены
• Время действия (Effectivity)
– Добавление к объекту времени его действия
• Временные свойства
– Свойства изменяющиеся со временем
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
59. • Snapshot
– Представление объекта в определенное время
• Временный объект (Temporal object)
– На время изменения создается временный
объект
• Отметки времени (Time Point)
– Создавать отметки времени для каждого
действия
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›
60. • Отчетность (Accountability) - описание отношений между
элементами структуры (например, организации).
• Наблюдение и измерение - используется для записи
информация о реальных процессах.
• Бухгалтерский учет - используется в системах учета.
• Планирование - системы планирования и распределения
ресурсов.
• Trading - используется в системах для торговли, анализ
деятельности.
• Производные контракты
ЛЕКЦИЯ №5 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ‹#›