Добрый день. Вопрос №1 Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте? Вопрос №2 Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже? |
Действия
Разработка архитектуры решения
Хорошая архитектура - это ясная и простая внутренняя структура большинства элементов приложения. Простая архитектура понижает сложность приложения. Архитектура может определять такие структурные элементы, которые позволяют проще модифицировать приложение в случае изменения требований, и благодаря которым участки приложения могут разрабатываться независимо. Кроме того, в хорошей архитектуре используются преимущества от разбиения по уровням для увеличения надежности и уменьшения времени вывода приложения на рынок. Если имеются технологические риски, для их уменьшения можно применять разработку архитектурных моделей, что помогает лучшему пониманию системы. И, наконец, безопасность и производительность - это вопросы архитектуры. Работа над ними должна проводиться с учетом всей системы.
Разделение системы на подсистемы | Выберите архитектурные шаблоны |
---|---|
Определение интерфейсов | Разработайте интерфейсы |
Разработка модели угроз | Создайте обзор приложения |
Разработка модели производительности | Проведите обзор требований к качеству |
Создание архитектурной модели | Изучите риски |
Создание архитектуры инфраструктуры | Разработайте архитектуру инфраструктуры |
Операция: Разделение системы на подсистемы
Приложения, являющиеся частью распределенной системы, содержат логически связанные фрагменты кода и совместно реализуют поведение целой системы. Разделение системы на модули дает массу преимуществ. Оно позволяет снизить общую сложность, инкапсулировать функции, увеличить потенциальные возможности повторного использования подсистем и создать логические единицы для разработки. При этом отпадает необходимость реализовывать всю систему сразу.
Для создания гибкой архитектуры в MSF применяется создание временного прототипа ( shadowing ). Приложение-прототип ( shadow ) позволяет применить принцип нисходящего проектирования в любой итерации. В начале итерации, когда существует лишь проект, прототип опережает рабочий программный код. В этот период проектные конструкции не синхронизованы с кодом. В рамках прототипа выполняются все изменения архитектуры или дизайна, которые необходимы для предохранения основного кода от превращения его в "дымоход", "спагетти-код" и прочих проблем, связанных с плохим проектированием. По мере реализации элементов начального предваряющего прототипа ( leading shadow ), архитектура все больше соответствует рабочему коду. Те части системы, которые были спроектированы, но не были реализованы, теперь становятся действительными. Когда архитектура соответствует рабочему коду, прототип называется завершающим ( trailing shadow ). Это сумма конструкций из всех предыдущих итераций.
Чтобы избежать чрезмерной детализации архитектуры, рекомендуется сконцентрироваться на уровне компонентов и устанавливаемых элементов. Добавьте приложения, необходимые для поддержки функциональных возможностей, предусмотренных в запланированных сценариях, требованиях к качеству и в намеченных для исправления дефектах. В начале итерации добавьте задачи по переработке кода, чтобы он соответствовал измененной архитектуре. Если необходимо, проверьте новую структуру при помощи архитектурных моделе.
Выбор шаблона архитектуры | Если предполагается развертывание системы в рамках существующей инфраструктуры, изучите логическую диаграмму центра обработки данных для того, чтобы понять технологию развертывания. Если такой диаграммы не существует, создайте ее |
---|---|
Создание приложений | В рамках диаграммы приложения создайте предваряющий прототип или его эквивалент для выбранной топологии системы. Создайте диаграмму системы на основе приложений-прототипов и добавьте прокси для всех нереализованных точек входа |
Проверка развертывания | После того как диаграмма приложения стала соответствовать архитектуре в данной итерации и определена целевая инфраструктура, пора проверить развертывание. На диаграмме приложений выберите определенный вариант установки и отобразите новые приложения на соответствующие им логические серверы |
Создание задач, реализующих изменения в архитектуре | Создайте новые задачи, в рамках которых будет реализован предваряющий прототип и выполнены необходимые переработки существующих функциональных возможностей в новое приложение |
Операция: Определение интерфейсов
Разработку системы можно распараллелить, если до начала разработки определены все интерфейсы. Зачастую в начале итерации имеется еще недостаточно деталей, что мешает полному пониманию, необходимому для разработки элементов интерфейса. Поэтому разработку интерфейсов стоит откладывать до того момента, пока она не станет абсолютно необходимой: ведь даже после определения интерфейсов могут происходить изменения в проекте.
Проработка интерфейсов помогает при интеграции систем, а также при изменении подходов в реализации задач разработки. В диаграмме приложений следует отображать внешние интерфейсы системы, а также внутренние интерфейсы высшего уровня.
Проектирование интерфейса | Определите интерфейсы для сценария или требования к качеству. Проверьте требования по взаимодействию с внешними системами |
---|---|
Определение интерфейсов веб-сервисов | Выберите конечную точку веб-сервиса на диаграмме приложения. Определите операцию и снабдите ее необходимой информацией, такой как имя, возвращаемый тип и параметры. Убедитесь, что в свойствах правильно настроены язык и путь к генерируемым файлам. Сгенерируйте заглушку для нового веб-сервиса |
Создание интерфейсов классов | Совместно с разработчиками определите методы классов, которые будут обеспечивать интерфейсы между разработчиками. Применяя диаграмму классов, проверьте согласованность классов и новых методов |
Операция: Разработка модели угроз
В модели угроз документируются известные угрозы безопасности, и описывается, как на них следует реагировать. Моделирование угроз является частью структурного подхода, позволяющего определить опасности, с которыми вероятнее всего столкнется система, а также степень их воздействия. В рамках целостной модели угрозы рассматриваются в порядке убывания представляемой опасности, а также рассматриваются необходимые меры противодействия им. Модель угроз следует создавать как можно раньше, а потом, по мере развития архитектуры, уточнять ее. Совместно с бизнес-аналитиком проведите обзор угроз и разработайте требования к безопасности.
Операция: Разработка модели производительности
Моделирование производительности - это процесс, помогающий определить потенциальные проблемы с производительностью в приложении и найти решение для этих проблем. Моделирование производительности проводится на основе требования к качеству, которое, в свою очередь, разбито на задачи. Каждая задача имеет свой бюджет, предназначенный для решения вопросов производительности во время реализации.
Операция: Создание архитектурной модели
Создание архитектурной модели может значительно снизить имеющиеся риски. Важно как можно раньше обратить внимание на риски в проекте и, тем самым, учесть их при принятии стратегических и архитектурных решений, пока изменения основных компонентов архитектуры еще не требуют больших затрат. Создание ранних прототипов снижает общие риски и неопределенности в проекте. Это, в свою очередь, позволяет более точно выполнять планирование и оценки в последующих итерациях. Модели могут быть временными и отбрасываться, как только они отвечают на поставленные вопросы, или могут быть основой для архитектуры приложения.
Изучение рисков | Определите элементы, которые могут помочь в определении риска или принятии архитектурного решения |
---|---|
Планирование | Определите необходимый вид модели |
Построение и работа модели | Постройте модель. Сосредоточьтесь на решаемой проблеме. Убедитесь, что модель должным образом описывает исследуемый вопрос |
Операция: Создание архитектуры инфраструктуры
Архитектура инфраструктуры определяет окружение, в котором будет работать приложение. Хорошо разработанная архитектура инфраструктуры гарантирует установку приложения в соответствии с требованиями к качеству. Начинайте разработку архитектуры инфраструктуры, как только появляется представление о будущем приложении. При необходимости изменяйте разработку по мере того, как улучшается понимание подсистем в рамках общей архитектуры. Для построения архитектуры инфраструктуры используйте логическую диаграмму центра обработки данных.
Создание архитектуры инфраструктуры | Создайте логическую диаграмму центра обра ботки данных. Работайте с операциями, если они применимы, для лучшего понимания рабочего окружения. В логическом центре обработки данных создайте логические серверы, отражающие физическое окружение. Проверьте получившуюся диаграмму |
---|---|
Сопоставление архитектуры решения | Отобразите участки диаграммы приложения на логическую диаграмму центра обработки данных. Проверьте правильность этого отображения. Проверьте диаграмму приложения при помощи логической диаграммы центра обработки данных |
Корректировка архитектуры решения | По мере определения новых подсистем выявляйте необходимые изменения в архитектуре инфраструктуры |