1 Диаграммы IDEF0. Тема. Диаграммы idef0
![]()
|
Тема. Диаграммы IDEF0 IDEF0-модели состоят из трех типов документов: графических диаграмм, текста и глоссария. Эти документы имеют перекрестные ссылки друг на друга. Графическая диаграмма – главный компонент IDEF0-модели, содержащий блоки, стрелки, соединения блоков и стрелок и ассоциированные с ними отношения. Блоки представляют основные функции моделируемого объекта. Эти функции могут быть разбиты (декомпозированы) на составные части и представлены в виде более подробных диаграмм; процесс декомпозиции продолжается до тех пор, пока объект не будет описан на уровне детализации, необходимом для достижения целей конкретного проекта. Диаграмма верхнего уровня обеспечивает наиболее общее или абстрактное описание объекта моделирования. За этой диаграммой следует серия дочерних диаграмм, дающих более детальное представление об объекте. Контекстная диаграмма верхнего уровня. Каждая модель должна иметь контекстную диаграмму верхнего уровня, на которой объект моделирования представлен единственным блоком с граничными стрелками. Эта диаграмма называется A-0 (А минус нуль). Стрелки на этой диаграмме отображают связи объекта моделирования с окружающей средой. Поскольку единственный блок представляет весь объект, его имя – общее для всего проекта. Это же справедливо и для всех стрелок диаграммы, поскольку они представляют полный комплект внешних интерфейсов объекта. Диаграмма A-0 устанавливает область моделирования и ее границу. Пример диаграммы A-0 показан на рис.9. ![]() Рис.9. Пример диаграммы А-0 Дочерняя диаграмма. Единственная функция, представленная на контекстной диаграмме верхнего уровня, может быть разложена на основные подфункции посредством создания дочерней диаграммы. В свою очередь, каждая из этих подфункций может быть разложена на составные части посредством создания дочерней диаграммы следующего, более низкого уровня, на которой некоторые или все функции также могут быть разложены на составные части. Каждая дочерняя диаграмма содержит дочерние блоки и стрелки, обеспечивающие дополнительную детализацию родительского блока. Дочерняя диаграмма, создаваемая при декомпозиции, охватывает ту же область, что и родительский блок, но описывает ее более подробно. Таким образом, дочерняя диаграмма как бы вложена в свой родительский блок. Эта структура иллюстрируется рис. 10. Родительская диаграмма. Родительская диаграмма – та, которая содержит один или более родительских блоков. Каждая обычная (не-контекстная) диаграмма является также дочерней диаграммой, поскольку, по определению, она подробно описывает некоторый родительский блок. Таким образом, любая диаграмма может быть, как родительской диаграммой (содержать родительские блоки), так и дочерней (подробно описывать собственный родительский блок). Аналогично, блок может быть, как родительским (подробно описываться дочерней диаграммой) так и дочерним (появляющимся на дочерней диаграмме). Основное иерархическое отношение существует между родительским блоком и дочерней диаграммой, которая его подробно описывает (рис.10). ![]() Рис.10 Иерархическое отношение родительской и дочерней диаграмм То, что блок является дочерним и раскрывает содержание родительского блока на диаграмме предшествующего уровня, указывается специальным ссылочным кодом, написанным ниже правого нижнего угла блока. Этот ссылочный код может формироваться несколькими способами, из которых самый простой заключается в том, что код начинающийся с буквы А (по имени диаграммы А-0), содержит цифры, определяемые номерами родительских блоков. Например, показанные на рис.11 коды означают, что диаграмма является декомпозицией 1-го блока диаграммы, которая, в свою очередь является декомпозицией 6-го блока диаграммы А0, а сами коды образуются присоединением номера блока. ![]() Рис. 11 Таким образом, код формируется так: ![]() Текст и глоссарий Диаграмме может быть поставлен в соответствие структурированный текст, представляющий собой краткий комментарий к содержанию диаграммы. Текст используется для объяснений и уточнений характеристик, потоков, внутриблочных соединений и т.д. Текст не должен использоваться для описания и без того понятных блоков и стрелок на диаграммах. Глоссарий предназначен для определения аббревиатур (акронимов), ключевых слов и фраз, используемых в качестве имен и меток на диаграммах. Глоссарий определяет понятия и термины, которые должны быть одинаково понимаемы всеми участниками разработки и пользователями модели, чтобы правильно интерпретировать ее содержание. Отношения блоков на диаграммах. В методологии IDEF0 существует 6 (шесть) типов отношений между блоками в пределах одной диаграммы: доминирование; управление; выход - вход; обратная связь по управлению; обратная связь по входу; выход – механизм. 1.Первое из перечисленных отношений определяется взаимным расположением блоков на диаграмме. Предполагается, что блоки, расположенные на диаграмме выше и левее, «доминируют» над блоками, расположенными ниже и правее. «Доминирование» понимается как влияние, которое один блок оказывает на другие блоки диаграммы. Остальные пять отношений описывают связи между блоками и изображаются соответствующими стрелками. 2.Отношение управления (рис.14) возникает тогда, когда выход одного блока служит управляющим воздействием на блок с меньшим доминированием. ![]() Рис. 14 3.Отношение выход – вход (рис. 15) возникает при соединении выхода одного блока с входом другого блока с меньшим доминированием. ![]() 4.Обратная связь по управлению (рис. 16) возникает тогда, когда выход некоторого блока создает управляющее воздействие на блок с большим доминированием. ![]() 5.Отношение обратной связи по входу (рис. 17) имеет место тогда, когда выход блока становиться входом другого блока с большим доминированием. ![]() 6.Связи «выход – механизм» (рис. 18) отражают ситуацию, при которой выход одной функции становиться средством достижения цели для другой. Связи «выход – механизм» возникают при отображении в модели процедур пополнения и распределения ресурсов, создания или подготовки средств для выполнения функций системы (например, приобретение или изготовление требуемых инструментов и оборудования, обучение персонала, организация физического пространства, финансирование, закупка материалов и т.д.). ![]() Стрелки, помещенные в «туннель». Туннель - круглые скобки в начале и/или окончании стрелки. Туннельные стрелки означают, что данные, выраженные этими стрелками, не рассматриваются на родительской диаграмме и/или на дочерней диаграмме. ![]() Рис.19 Стрелка, помещенная в туннель там, где она присоединяется к блоку (рис. 19), означает, что данные, выраженные этой стрелкой, не обязательны на следующем уровне декомпозиции. Стрелка, помещаемая в туннель на свободном конце (рис. 20) означает, что выраженные ею данные отсутствуют на родительской диаграмме. ![]() Рис.20 Более детально эта ситуация поясняется рис.21. ![]() Рис.21 Пример. Система учета выдачи книг в библиотеке Описание информационной системы: Администратор данной системы должен вести учет книжного фонда библиотеки. В его функции входит: управление пользователями системы (создание, удаление, редактирование), управление книжным фондом (ввод данных о поступающих книгах), удаление данных о списанных книгах. Каждый пользователь характеризуется: ФИО, пароль доступа. Каждая книга характеризуется: ФИО автора, название, издательство, год издания, количество страниц, месторасположение. Пользователем системы является библиотекарь, который может создавать записи абонементов библиотеки и осуществлять регистрацию выдачи и возврата книг в библиотеку на абонемент. Абонемент характеризуется следующими полями: ФИО, паспортные данные, адрес, контактный телефон. Акт выдачи или возврата книги описывается датой, абонементом, книгой, и пользователем, осуществившим эту запись. Дополнительно система должна предоставлять: отчет о выдаче определенной книги и отчет по определенному абонементу. Доступ администратора и пользователей к системе осуществляется после процедуры аутентификации. Ввод данных о выдаче и возврате книг должен осуществляться с авторизацией. Контекстная диаграмма ![]() Диаграмма А0 ![]() Диаграмма А1 ![]() Диаграмма А2 ![]() Диаграмма А3 ![]() Дерево модели ![]() |