Какие ас должны быть отображены на карте приложений блока
Каждый из этих продуктов вы можете использовать бесплатно, либо на платной основе. Для бесплатного использования необходимо соблюдать ряд условий, которые перечислены ниже.
Если ваш проект предполагает нарушение хотя бы одного из условий или большое количество запросов, следует приобрести коммерческую версию API.
1. API должен использоваться только в проектах с открытым доступом
Бесплатная версия API предназначена только для сайтов или приложений, доступ к которым может получить любой пользователь интернета. Если есть регистрация, она должна быть доступной всем желающим.
Бесплатная версия API не предназначена для проектов с ограниченным доступом, например, когда он раздается по приглашениям или открыт только для сотрудников внутри компании.
Бесплатная версия API предназначена только для сайтов или приложений, доступ к которым может получить любой пользователь интернета. Если есть регистрация, она должна быть доступной всем желающим.
Бесплатная версия API не предназначена для проектов с ограниченным доступом, например, когда он раздается по приглашениям или открыт только для сотрудников внутри компании.
2. Нельзя использовать API в коммерческих проектах
Бесплатная версия API не подходит для проектов, которые требуют платы за регистрацию или приобретения лицензии.
Бесплатная версия API не подходит для проектов, которые требуют платы за регистрацию или приобретения лицензии.
3. Данные, полученные средствами API, должны быть показаны на карте Яндекса
Результаты всех запросов к API должны быть отображены на карте Яндекса. Например, это данные, полученные с помощью сервиса геокодирования или маршрутизации.
Результаты всех запросов к API должны быть отображены на карте Яндекса. Например, это данные, полученные с помощью сервиса геокодирования или маршрутизации.
4. Запрещается сохранять или изменять данные, полученные средствами API
Данные, полученные средствами API, нельзя сохранять. Например, нельзя один раз получить данные геокодера и затем сохранить их для дальнейшего использования. Обратите внимание, что разрешается кэшировать ответ геокодера и маршрутизатора на срок до 30 дней.
Данные, полученные через API, также нельзя изменять. Например, запрещено изменять ранжирование результатов поиска.
Данные, полученные средствами API, нельзя сохранять. Например, нельзя один раз получить данные геокодера и затем сохранить их для дальнейшего использования. Обратите внимание, что разрешается кэшировать ответ геокодера и маршрутизатора на срок до 30 дней.
Данные, полученные через API, также нельзя изменять. Например, запрещено изменять ранжирование результатов поиска.
5. Запрещается скрывать и видоизменять копирайты и логотип Яндекса на карте
Копирайты и логотип Яндекса должны быть всегда видны на карте: их нельзя двигать, перекрывать другими элементами, скрывать или видоизменять. Это касается как интерактивных, так и статических карт. По этой причине запрещено размещение скриншотов карт. Для получения статического изображения карты вы можете воспользоваться Конструктором или Static API.
Копирайты и логотип Яндекса должны быть всегда видны на карте: их нельзя двигать, перекрывать другими элементами, скрывать или видоизменять. Это касается как интерактивных, так и статических карт. По этой причине запрещено размещение скриншотов карт. Для получения статического изображения карты вы можете воспользоваться Конструктором или Static API.
6. Нельзя использовать API для мониторинга и диспетчеризации
Руководящий документ устанавливает требования к организационно-технической деятельности при подготовке и выводе из эксплуатации блоков атомных станций ОАО "Концерн Росэнергоатом".
Открытое акционерное общество
«Российский концерн по производству электрической
и тепловой энергии на атомных станциях»
(ОАО «Концерн Росэнергоатом»)
О введении в действие
РД ЭО 1.1.2.01.0013-2014
В рамках выполнения работ, направленных на совершенствование системы подготовки и вывода из эксплуатации энергоблоков ОАО «Концерн Росэнергоатом»,
1. Ввести в действие с 09.02.2015 руководящий документ эксплуатирующей организации РД ЭО 1.1.2.01.0013-2014 «Подготовка и вывод из эксплуатации блока атомной станции» (далее - РД ЭО 1.1.2.01.0013-2014, приложение).
2. Заместителю Генерального директора - директору по производству и эксплуатации АЭС Шутикову А.В., заместителю Генерального директора - директору по внешнеэкономической деятельности и развитию бизнеса Антипову С.И., заместителям Генерального директора - директорам филиалов ОАО «Концерн Росэнергоатом» - действующих атомных станций, директору филиала ОАО «Концерн Росэнергоатом» «Опытно-демонстрационный инженерный центр по выводу из эксплуатации АЭС» Щукину А.П. и руководителям структурных подразделений центрального аппарата ОАО «Концерн Росэнергоатом» принять РД ЭО 1.1.2.01.0013-2014 к руководству и исполнению.
3. Департаменту планирования производства, модернизации и продления срока эксплуатации (Дементьев А.А.) внести в установленном порядке РД ЭО 1.1.2.01.0013-2014 в подраздел 1 части IV Указателя технических документов, регламентирующих обеспечение безопасной эксплуатации энергоблоков АС (обязательных и рекомендуемых к использованию).
4. Департаменту инженерной поддержки (Тетерин Ю.П.) обеспечить координацию работ по внедрению РД ЭО 1.1.2.01.0013-2014.
5. Признать утратившим силу с 09.02.2015 приказ концерна «Росэнергоатом» от 16.09.1994 № 114 «О введении в действие руководящего документа».
6. Контроль за исполнением настоящего приказа возложить на первого заместителя Генерального директора Асмолова В.Г.
Приложение к приказу
ОАО «Концерн Росэнергоатом»
от 17.12.2014 № 9/1372-П
Открытое акционерное общество
«Российский концерн по производству электрической
и тепловой энергии на атомных станциях»
(ОАО «Концерн Росэнергоатом»)
Заместитель Генерального директора -
директор по производству и
эксплуатации АЭС
___________ А.В. Шутиков
«__» ____________ 2014
Руководящий документ
РД ЭО 1.1.2.01.0013-2014
ПОДГОТОВКА И ВЫВОД ИЗ ЭКСПЛУАТАЦИИ
БЛОКА АТОМНОЙ СТАНЦИИ
Основные положения
Лист визирования
РД ЭО 1.1.2.01.0013-2014 Подготовка и вывод из эксплуатации
блока атомной станции. Основные положения
Директор Технологического филиала
Начальник отдела ВЭОЯТ
Главный эксперт отдела ВЭОЯТ
Лист согласования
РД ЭО 1.1.2.01.0013-2014 «Подготовка и вывод из эксплуатации
блока атомной станции. Основные положения»
Заместитель Генерального директора - директор по внешнеэкономической деятельности и развитию бизнеса
Первый заместитель директора по производству и эксплуатации АЭС
Заместитель директора по производству и эксплуатации АЭС - Директор Департамента инженерной поддержки
Директор опытно-демонстрационного инженерного центра по выводу из эксплуатации
Предисловие
1 РАЗРАБОТАН Технологическим филиалом и Департаментом инженерной поддержки
2 ВНЕСЕН Департаментом инженерной поддержки
3 ВВЕДЕН В ДЕЙСТВИЕ приказом ОАО «Концерн Росэнергоатом» от 17.12.2014
4 ВЗАМЕН РД ЭО 0013-93 Основные положения по снятию с эксплуатации блоков АС, отработавших проектный срок службы
Руководящий документ эксплуатирующей организации
ПОДГОТОВКА И ВЫВОД ИЗ ЭКСПЛУАТАЦИИ
БЛОКА АТОМНОЙ СТАНЦИИ
Основные положения
Дата введения - 09.02.2015
1.1 Настоящий руководящий документ (РД) устанавливает требования к организационно-технической деятельности при подготовке и выводе из эксплуатации (ВЭ) блоков атомных станций (АС) ОАО «Концерн Росэнергоатом».
1.2 Требования руководящего документа обязательны для подразделений и филиалов ОАО «Концерн Росэнергоатом», а также организаций, принимающих участие в работах по подготовке и выводу из эксплуатации блоков АС ОАО «Концерн Росэнергоатом».
В настоящем руководящем документе использованы ссылки на следующие нормативные документы:
НП-001-97 Общие положения обеспечения безопасности атомных станций (ОПБ-88/97)
НП-012-99 Правила обеспечения безопасности при выводе из эксплуатации блока атомной станции
НП-017-2000 Основные требования к продлению срока эксплуатации блока атомной станции
НП-091-14 Обеспечение безопасности при выводе из эксплуатации объектов использования атомной энергии. Общие положения
Административный регламент исполнения Федеральной службой по экологическому, технологическому и атомному надзору государственной функции по лицензированию деятельности в области использования атомной энергии (приложение к приказу Министерства природных ресурсов и экологии от 16.10.2008 № 262)
РБ-013-2000 Требования к содержанию программы вывода из эксплуатации блока атомной станции
РБ-031-04 Состав и содержание отчета по обоснованию безопасности при выводе из эксплуатации блока атомной станции
РД ЭО 1.1.2.01.0827-2010 Положение о порядке выполнения периодической оценки безопасности энергоблоков атомных станций
РД ЭО 1.1.2.25.0582-2011 База данных по выводу из эксплуатации блоков атомных станций. Общие требования
РД ЭО 1.1.2.01.0740-2012 Техническая документация. Положение о порядке разработки, регистрации и учета решений (технических решений)
РД ЭО 1.1.2.25.0962-2014 Комплексное обследование блока атомной станции для подготовки и вывода из эксплуатации. Общие требования
СТО 1.1.1.01.007.0281-2010 Управление ресурсными характеристиками элементов энергоблоков атомных станций
СТО 1.1.1.03.004.0179-2013 Положение о лицензионной деятельности СТО 1.1.1.01.006.0327-2008 Продление срока эксплуатации блока атомной станции
МУ 1.5.2.10.0156-2013 Методические указания. Разработка проекта вывода энергоблоков атомных станций из эксплуатации
Концепция вывода из эксплуатации ядерных установок, радиационных источников и пунктов хранения (приложение к приказу Госкорпорации «Росатом» от 15.07.2014 № 1/645-П)
В настоящем руководящем документе применены термины с соответствующими определениями:
3.1 база данных по выводу из эксплуатации блока АС: Совокупность документально подтвержденных и упорядоченных сведений об эксплуатации блока АС, инженерных и радиационных обследованиях, результатах расчетных исследований, проектных данных, необходимых для планирования и проведения работ по выводу из эксплуатации блока АС, а также о результатах выполнения работ на всех этапах вывода из эксплуатации блока АС ( НП-012 ).
3.2 вариант вывода из эксплуатации блока АС: Один из способов поэтапного достижения заданного конечного состояния блока АС при выводе его из эксплуатации ( НП-012 ).
3.3 вывод из эксплуатации блока АС: Деятельность, осуществляемая после удаления ядерного топлива и ядерных материалов с блока АС, направленная на достижение заданного конечного состояния блока АС, исключающая использование блока в качестве источника энергии и обеспечивающая безопасность работников (персонала), населения и окружающей среды ( НП-012 ).
3.4 дополнительный срок эксплуатации: Календарная продолжительность (период) эксплуатации блока АС на мощности сверх назначенного срока службы ( НП-017 ).
3.5 конечное состояние блока АС после вывода из эксплуатации: Заданное программой и проектной документацией вывода из эксплуатации блока АС состояние блока АС после завершения всех работ по его выводу из эксплуатации ( НП-012 ).
3.6 ликвидация блока АС: Вариант вывода из эксплуатации, предусматривающий дезактивацию зданий, сооружений, систем и оборудования, до приемлемого, в соответствии с действующими нормами радиационной безопасности, уровня и/или демонтаж оборудования, систем, зданий и сооружений, загрязненных радиоактивными вещества, обращение с образующимися РАО и другими опасными отходами, включая их удаление с площадки АС, а также подготовку площадки для дальнейшего ограниченного или неограниченного использования ( НП-012 ).
Ликвидация блока АС может быть реализована способами:
- немедленная ликвидация блока АС, при котором работы по демонтажу или дезактивации зданий, сооружений, систем и оборудования блока начинаются непосредственно после получения лицензии на вывод из эксплуатации блока АС;
- отложенная ликвидация блока АС, при котором работы по демонтажу или дезактивации зданий, сооружений, систем и оборудования блока начинаются после этапа сохранения под наблюдением блока АС.
3.7 назначенный срок эксплуатации (службы): Календарное время эксплуатации АС, установленное проектом, по истечении которого дальнейшая эксплуатация АС может быть продолжена только после специального решения, принимаемого на основе исследований ее безопасности и экономической эффективности (СТО 1.1.1.01.006.0327).
3.8 окончательный останов блока АС: Комплекс организационно-технических мероприятий по прекращению эксплуатации блока АС, исключающих возможность его использования по проектному назначению, осуществляемых в соответствии с требованиями НД (Концепция вывода из эксплуатации ядерных установок, радиационных источников и пунктов хранения).
3.9 площадка выводимого из эксплуатации блока АС: Часть площадки АС с находящимися на ней зданиями и сооружениями, границы которой определены проектом выводимого из эксплуатации блока АС. Общие с другими (действующими) блоками АС здания, сооружения, системы и т.п. не считаются относящимися к площадке выводимого из эксплуатации блока АС ( НП-012 ).
3.10 подготовка к выводу из эксплуатации блока АС: Деятельность по проведению комплекса организационных и технических мероприятий как до, так и после окончательного останова блока АС, предшествующих выводу из эксплуатации блока АС и осуществляемых в рамках лицензии на эксплуатацию блока АС ( НП-012 ).
3.11 эксплуатирующая организация: Организация, созданная в соответствии с законодательством Российской Федерации и признанная соответствующим органом управления использованием атомной энергии пригодной эксплуатировать АС и осуществлять собственными силами с привлечением других организаций деятельность по размещению, проектированию, сооружению , эксплуатации и выводу из эксплуатации, а также деятельность по обращению с ядерными материалами и радиоактивными веществами ( НП-001 ).
Комплекс стандартов на автоматизированные системы
Information technology. Set of standards for automated systems. Automated systems. Stages of development
МКС 35.080
ОКСТУ 0034
Дата введения 1992-01-01
1. РАЗРАБОТАН И ВНЕСЕН Государственным комитетом СССР по управлению качеством продукции и стандартам
2. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по управлению качеством продукции и стандартам от 29.12.90 N 3469
4. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
Обозначение НТД, на который дана ссылка
Номер пункта, приложения
6*. ПЕРЕИЗДАНИЕ. Июль 2009 г.
* Нумерация соответствует оригиналу. - Примечание изготовителя базы данных.
Настоящий стандарт распространяется на автоматизированные системы (АС), используемые в различных видах деятельности (исследование, проектирование, управление и т.п.), включая их сочетания, создаваемые в организациях, объединениях и на предприятиях (далее - организациях).
Стандарт устанавливает стадии и этапы создания АС.
В приложении 1 приведено содержание работ на каждом этапе.
1. ОБЩИЕ ПОЛОЖЕНИЯ
1.1. Процесс создания АС представляет собой совокупность упорядоченных во времени, взаимосвязанных, объединенных в стадии и этапы работ, выполнение которых необходимо и достаточно для создания АС, соответствующей заданным требованиям.
1.2. Стадии и этапы создания АС выделяются как части процесса создания по соображениям рационального планирования и организации работ, заканчивающихся заданным результатом.
1.3. Работы по развитию АС осуществляют по стадиям и этапам, применяемым для создания АС.
1.4. Состав и правила выполнения работ на установленных настоящим стандартом стадиях и этапах определяют в соответствующей документации организаций, участвующих в создании конкретных видов АС.
Перечень организаций, участвующих в работах по созданию АС, приведен в приложении 2.
2. СТАДИИ И ЭТАПЫ СОЗДАНИЯ АС
2.1. Стадии и этапы создания АС в общем случае приведены в таблице.
1. Формирование требований к АС
1.1. Обследование объекта и обоснование необходимости создания АС
1.2. Формирование требований пользователя к АС
1.3. Оформление отчета о выполненной работе и заявки на разработку АС (тактико-технического задания)
2. Разработка концепции АС
2.1. Изучение объекта
2.2. Проведение необходимых научно-исследовательских работ
2.3. Разработка вариантов концепции АС и выбор варианта концепции АС, удовлетворяющего требованиям пользователя
2.4. Оформление отчета о выполненной работе
3. Техническое задание
3.1. Разработка и утверждение технического задания на создание АС
4. Эскизный проект
4.1. Разработка предварительных проектных решений по системе и ее частям
4.2. Разработка документации на АС и ее части
5. Технический проект
5.1. Разработка проектных решений по системе и ее частям
5.2. Разработка документации на АС и ее части
5.3. Разработка и оформление документации на поставку изделий для комплектования АС и (или) технических требований (технических заданий) на их разработку
5.4. Разработка заданий на проектирование в смежных частях проекта объекта автоматизации
6. Рабочая документация
6.1. Разработка рабочей документации на систему и ее части
6.2. Разработка или адаптация программ
7. Ввод в действие
7.1. Подготовка объекта автоматизации к вводу АС в действие
7.2. Подготовка персонала
7.3. Комплектация АС поставляемая изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями)
7.4. Строительно-монтажные работы
7.5. Пусконаладочные работы
7.6. Проведение предварительных испытаний
7.7. Проведение опытной эксплуатации
7.8. Проведение приемочных испытаний
8. Сопровождение АС
8.1. Выполнение работ в соответствии с гарантийными обязательствами
8.2. Послегарантийное обслуживание
2.2. Стадии и этапы, выполняемые организациями - участниками работ по созданию АС, устанавливаются в договорах и техническом задании на основе настоящего стандарта.
Допускается исключать стадию "Эскизный проект" и отдельные этапы работ на всех стадиях, объединять стадии "Технический проект" и "Рабочая документация" в одну стадию "Технорабочий проект". В зависимости от специфики создаваемых АС и условий их создания допускается выполнять отдельные этапы работ до завершения предшествующих стадий, параллельное во времени выполнение этапов работ, включение новых этапов работ.
ПРИЛОЖЕНИЕ 1
Справочное
1. На этапе 1.1 "Обследование объекта и обоснование необходимости создания АС" в общем случае проводят:
- сбор данных об объекте автоматизации и осуществляемых видах деятельности;
- оценку качества функционирования объекта и осуществляемых видов деятельности, выявление проблем, решение которых возможно средствами автоматизации;
- оценку (технико-экономической, социальной и т.п.) целесообразности создания АС.
2. На этапе 1.2 "Формирование требований пользователя к АС" проводят:
- подготовку исходных данных для формирования требований к АС (характеристика объекта автоматизации, описание требований к системе, ограничения допустимых затрат на разработку, ввод в действие и эксплуатацию, эффект, ожидаемый от системы, условия создания и функционирования системы);
- формулировку и оформление требований пользователя к АС.
3. На этапе 1.3 "Оформление отчета о выполненной работе и заявки на разработку АС (тактико-технического задания)" проводят оформление отчета о выполненных работах на данной стадии и оформление заявки на разработку АС (тактико-технического задания) или другого заменяющего ее документа с аналогичным содержанием.
4. На этапах 2.1 "Изучение объекта" и 2.2 "Проведение необходимых научно-исследовательских работ" организация-разработчик проводит детальное изучение объекта автоматизации и необходимые научно-исследовательские работы (НИР), связанные с поиском путей и оценкой возможности реализации требований пользователя, оформляют и утверждают отчеты о НИР.
5. На этапе 2.3 "Разработка вариантов концепции АС и выбор варианта концепции АС, удовлетворяющего требованиям пользователя" в общем случае проводят разработку альтернативных вариантов концепции создаваемой АС и планов их реализации; оценку необходимых ресурсов на их реализацию и обеспечение функционирования; оценку преимуществ и недостатков каждого варианта; сопоставление требований пользователя и характеристик предлагаемой системы и выбор оптимального варианта; определение порядка оценки качества и условий приемки системы; оценку эффектов, получаемых от системы.
6. На этапе 2.4 "Оформление отчета о выполненной работе" подготавливают и оформляют отчет, содержащий описание выполненных работ на стадии, описание и обоснование предлагаемого варианта концепции системы.
7. На этапе 3.1 "Разработка и утверждение технического задания на создание АС" проводят разработку, оформление, согласование и утверждение технического задания на АС и, при необходимости, технических заданий на части АС.
8. На этапе 4.1 "Разработка предварительных проектных решений по системе и ее частям" определяются: функции АС; функции подсистем, их цели и эффекты; состав комплексов задач и отдельных задач; концепции информационной базы, ее укрупненная структура; функции системы управления базой данных; состав вычислительной системы; функции и параметры основных программных средств.
9. На этапе 5.1 "Разработка проектных решений по системе и ее частям" обеспечивают разработку общих решений по системе и ее частям, функционально-алгоритмической структуре системы, по функциям персонала и организационной структуре, по структуре технических средств, по алгоритмам решений задач и применяемым языкам, по организации и ведению информационной базы, системе классификации и кодирования информации, по программному обеспечению.
10. На этапах 4.2 и 5.2 "Разработка документации на АС и ее части" проводят разработку, оформление, согласование и утверждение документации в объеме, необходимом для описания полной совокупности принятых проектных решений и достаточном для дальнейшего выполнения работ по созданию АС. Виды документов - по ГОСТ 34.201.
11. На этапе 5.3 "Разработка и оформление документации на поставку изделий для комплектования АС и (или) технических требований (технических заданий) на их разработку" проводят: подготовку и оформление документации на поставку изделий для комплектования АС; определение технических требований и составление ТЗ на разработку изделий, не изготавливаемых серийно.
12. На этапе 5.4 "Разработка заданий на проектирование в смежных частях проекта объекта автоматизации" осуществляют разработку, оформление, согласование и утверждение заданий на проектирование в смежных частях проекта объекта автоматизации для проведения строительных, электротехнических, санитарно-технических и других подготовительных работ, связанных с созданием АС.
13. На этапе 6.1 "Разработка рабочей документации на систему и ее части" осуществляют разработку рабочей документации, содержащей все необходимые и достаточные сведения для обеспечения выполнения работ по вводу АС в действие и ее эксплуатации, а также для поддерживания уровня эксплуатационных характеристик (качества) системы в соответствии с принятыми проектными решениями, ее оформление, согласование и утверждение. Виды документов - по ГОСТ 34.201.
14. На этапе 6.2 "Разработка или адаптация программ" проводят разработку программ и программных средств системы, выбор, адаптацию и (или) привязку приобретаемых программных средств, разработку программной документации в соответствии с ГОСТ 19.101.
15. На этапе 7.1 "Подготовка объекта автоматизации к вводу АС в действие" проводят работы по организационной подготовке объекта автоматизации к вводу АС в действие, в том числе: реализацию проектных решений по организационной структуре АС; обеспечение подразделений объекта управления инструктивно-методическими материалами; внедрение классификаторов информации.
16. На этапе 7.2 "Подготовка персонала" проводят обучение персонала и проверку его способности обеспечить функционирование АС.
17. На этапе "Комплектация АС поставляемыми изделиями" обеспечивают получение комплектующих изделий серийного и единичного производства, материалов и монтажных изделий. Проводят входной контроль их качества.
18. На этапе 7.4 "Строительно-монтажные работы" проводят: выполнение работ по строительству специализированных зданий (помещений) для размещения технических средств и персонала АС; сооружение кабельных каналов; выполнение работ по монтажу технических средств и линий связи; испытание смонтированных технических средств; сдачу технических средств для проведения пусконаладочных работ.
19. На этапе 7.5 "Пусконаладочные работы" проводят автономную наладку технических и программных средств, загрузку информации в базу данных и проверку системы ее ведения; комплексную наладку всех средств системы.
20. На этапе 7.6 "Проведение предварительных испытаний" осуществляют:
Однако, когда нам нужно объяснить кому-то (новому разработчику, владельцу продукта, инвестору,…), как работает приложение, нам нужно нечто большее… нам нужна документация.
Но какие у нас есть варианты документации, которые могут выразить целые строительные блоки приложения и как это работает ?!
В этом посте я собираюсь написать о:
- UML
- 4 + 1 Архитектурный вид модели
- Отчеты о решениях по архитектуре
- Модель C4
- Диаграммы зависимостей
- Карта приложения
Есть несколько диаграмм, которые мы можем создать с помощью UML, и мы можем разделить их на две категории:
Поведенческая UML-диаграмма
Структурная диаграмма UML
Я не б у ду вдаваться в подробности каждого типа диаграмм, потому что это будет слишком много для освещения в этом посте. К каждому типу диаграммы я привел ссылку для ознакомления.
В целом, UML — это хороший вариант для быстрого прототипирования идей и обсуждения их с коллегами.
Однако для документирования всей архитектуры приложения с использованием UML нам необходимо будет использовать несколько типов диаграмм. Кроме того, если мы пытаемся использовать одну единственную диаграмму классов для отображения всего приложения, у нас ничего не получится.
Примером правильного использования диаграммы классов UML является документирование шаблонов проектирования:
Выглядит замечательно! Он может выражать классы, интерфейсы, юзабилити и отношения наследования, данные и поведение. Он также лаконичен и удобен для чтения, а также потому, что он маленький, его также можно быстро нарисовать.
Однако приведенный ниже пример не очень полезен … Он очень большой, поэтому становится запутанным и трудным для понимания. Более того, на его создание уйдет так много времени, что когда мы закончим, он, вероятно, уже устареет, потому что кто-то в это время внес изменения в код.
Таким образом, мы можем и должны использовать UML, но он подходит только для конкретных ситуаций: для подробного описания шаблонов, небольших частей приложения или представлений приложения на довольно высоком уровне.
Но тогда остается вопрос: как нам оформить полную картину ?!
Модель представления архитектуры 4+1 была создана Филиппом Крухтеном и опубликована в 1995 г. в его статье « Architectural Blueprints — The “4+1” View Model of Software Architecture».
Этот способ визуализации архитектуры программного приложения основан на 5 представлениях / ракурсах приложения, сообщающих нам, какие диаграммы можно использовать для документирования каждого из этих представлений.
- Логическое / Структурное устройство (Logical/Structural view)
Отображает функциональность, предоставляемую системой, и то, как код разработан для обеспечения такой функциональности; - Реализация (Implementation/Developer view)
Отображает статическую организацию кода, компонентов, модулей и пакетов; - Поведение (Process/Behaviour view)
Фокусируется на поведении системы во время выполнения, на том, как системные процессы взаимодействуют, параллелизме, синхронизации, производительности и т. д.; - Физическое устройство (Deployment/Physical view)
Иллюстрирует физическую организацию приложения сточки зрения того, «какой код работает на каком оборудовании»; - Сценарии использования (Use Case/Scenario view)
Архитектура в целом объясняется с помощью нескольких вариантов использования, которые представляют собой просто последовательность действий. Часть архитектуры развивается из таких вариантов использования.
Важно отметить, что “4+1" не требует, чтобы мы использовали все упомянутые диаграммы и даже не все типы диаграмм. Мы всегда должны выбирать инструменты по задаче, а не наоборот.
Решение Архитектура записей (ADR) это не описание текущего или будущего состояния архитектуры, это скорее набор записей с описанием того, почему оно привело к такому состоянию. Это довольно важная диаграмма, которая показывает почему архитектура такая, какая она есть. .
ADR — это запись в журнале о принятии решения в архитектуре проекта , которые были приняты и которые приводят к состоянию архитектуры в том виде, в каком она есть сейчас, или в том виде, в котором она должна быть в будущем. Эти записи отвечают на вопрос Почему в диаграммах, которые описывают архитектуру.
Для начала, есть несколько моментов, которые нам нужно знать:
- Архитектурно-значимое требование (Architecturally-Significant Requirement (ASR)) : требование, которое оказывает ощутимое влияние на архитектуру программной системы;
- Архитектурное решение (Architecture Decision (AD)) : выбор архитектуры программного обеспечения, который отвечает требованиям;
- Журнал принятия решения об архитектуре (Architecture Decision Record (ADR) ) : документ, который фиксирует важное архитектурное решение, принятое вместе с его контекстом и последствиями;
- Журнал принятия решений об архитектуре (Architecture Decision Log (ADL)) : коллекция всех ADR, созданных и поддерживаемых для конкретного проекта (или организации);
- Архитектура управления знаниями (Architecture Knowledge Management (AKM)) : высшая сфера всех предыдущих концепций.
Я видел несколько шаблонов для создания ADR. На основе этого опыта я создал свой собственный шаблон. Вы можете создать свой, который имеет смысл в вашем проекте и команде.
Для меня самое важное для шаблона — это простота. В нем есть некоторая документация, чтобы помочь заполнить его и даже помочь принять прагматичные и объективные решения.
Лучший способ использовать ADR — это не просто документ, написанный после обсуждения и принятия решения. Лучше всего использовать его в качестве отправной точки для обсуждения, в качестве RFC (Request For Comments), который представляет собой идею / предложение, которое мы представляем другим членам команды / отдела, запрашивая их мнение / одобрение. Намерение действительно состоит в том, чтобы использовать его, чтобы начать обсуждение, провести мозговой штурм, принять наилучшее возможное решение и использовать сам документ предложения в качестве записи в журнале решений (ADR). Тот факт, что ADR написан заранее, не означает, что он является неизменным, его необходимо обновлять / улучшать по мере развития обсуждения. Я считаю особенно важным, чтобы все рассматриваемые варианты были записаны с указанием их плюсов и минусов, чтобы спровоцировать дискуссию и принять четкое решение.
Итак, вот шаблон, который я придумал:
Если вы хотите больше изучить эту тему, я рекомендую вам посетить репозиторий Джоэл Паркер Хендерсон, посвященный ADR.
Модель C4 была представлена Саймоном Брауном, и это лучшая идея в документации по архитектуре программного обеспечения, с которой я когда-либо сталкивался. Я быстро объясню основную идею своими словами, хотя использую собственные примеры диаграмм.
Идея состоит в том, чтобы использовать 4 различных уровня гранулярности (или масштабирования) для документирования архитектуры программного обеспечения:
- Уровень 1: Диаграмма контекста системы (System Context diagram)
- Уровень 2: Контейнерная диаграмма (Container diagram)
- Уровень 3: Диаграмма компонентов (Component diagram)
- Уровень 4: Кодовая диаграмма (Code diagram)
Это самая высокая гранулярность диаграммы. В нем мало деталей, но его главная цель — описать контекст, в котором находится приложение . Таким образом, он будет состоять из одного единого блока для всего приложения, и он будет окружен другими блоками, которые относятся к внешним системам и пользователям, с которыми приложение взаимодействует .
На этом уровне детализации мы увидим контейнеры приложения , где контейнер — это любая независимая техническая часть приложения, например, мобильное приложение, API или база данных. Он также документирует основные используемые технологии и способ взаимодействия контейнеров .
Диаграмма компонентов показывает нам компоненты внутри одного контейнера. В этом контексте каждый компонент является модулем приложения, не ограниченным доменными модулями (т. е. Биллинг, пользователи,…), но также включающим в себя чисто функциональные модули (т. е. Электронная почта, смс,…). Итак, эта диаграмма показывает нам основные шестеренки контейнера и отношения между этими шестернями .
Наиболее точная диаграмма, предназначенная для описания структуры кода внутри компонента . Для этого уровня мы используем диаграмму UML с элементами уровня класса.
Чтобы узнать больше об этом, вы можете прочитать собственные объяснения Саймона Брауна об этом здесь и здесь , или даже посмотреть, как он говорит об этом здесь .
Я думаю, что модель C4 — это отличный способ документировать архитектуру приложений, здорово понять архитектуру до определенного уровня, но я все еще нахожу ее недостаточной, хотя мне потребовалось некоторое время, чтобы разобраться в том, чего не хватает.
На этих диаграммах я вижу три ограничения:
- За исключением некоторых исключений, таких как structurizr Саймона Брауна , их нужно создавать вручную, а не автоматически или извлекать непосредственно из кода, что означает, что они могут отражать не реальный код, а наше текущее представление этого кода;
- Они совсем не помогают нам увидеть проблемы в нашем коде приложения, с точки зрения разнородных отношений кода и плохой архитектуры, которая влияет на модульность и инкапсуляцию, довольно важную для разработки любого продукта;
- Они не помогают нам понять наш код в целом. Как между собой взаимодействуют шестеренки.
Я нашел две категории диаграмм, которые могут помочь нам в этом.
Диаграммы зависимостей полезны для того, чтобы рассказать нам о зависимостях, которые существуют в различных типах кода в нашем коде.
Здесь крайне важно, чтобы эти диаграммы автоматически генерировались непосредственно из кода, в противном случае диаграмма будет отражать только то, как мы думаем, как выглядит код, и если бы это было точно, нам бы не понадобилась документация этого типа.
Кроме того, возможно, более важным, чем сами диаграммы, является возможность использовать анализ этих зависимостей, чтобы остановить сборку в случае нарушения наших предопределенных правил зависимостей. Таким образом, инструмент, используемый для генерации этих диаграмм, должен также использоваться в качестве инструмента тестирования и включаться в наш конвейер CI, как и модульные тесты, предотвращая нежелательные зависимости для производства, что поддерживает и обеспечивает модульность, что, в свою очередь, помогает достичь высокой изменчивости скорость и, следовательно, высокая скорость развития функции.
В этой категории диаграмм я считаю полезным иметь три разных типа диаграмм, чтобы утверждать о разных типах зависимостей.
В приведенных ниже примерах все они были сгенерированы deptrac для моего любимого проекта (явная архитектура-php) , которую я использую для экспериментов. Вы можете найти конфигурацию, используемую для их генерации, в корне хранилища.
Заметьте, однако, что я сам добавил цвета, чтобы их было легче читать в этом посте. Цвета представляют разные слои в приложении в соответствии со слоями, о которых я писал в предыдущих постах блога:
Читайте также: