Методология и методы современного проектирования. Конечными продуктами этапа проектирования являются

Методологии проектирования

При применении CASE-средств используются методологии структурного проектирования и объектно-ориентированного проектирования. Структурное проектирование основано на алгоритмической декомпозиции, а объектно-ориентированное проектирование основано на объектно-ориентированной декомпозиции.

Разделение по алгоритмам концентрирует внимание на порядке происходящих событий, а разделение по объектам придает особое внимание объектам или субъектам действия.

CASE-средства, поддерживающие объектно-ориентированное проектирование используют методологию RUP (Rational Unified Process) и нотации языка UML.

RUP – методология разработки ПО, в основе которой лежат 6 принципов:

1. Компонентная архитектура (реализуется и тестируется на ранних стадиях проекта).

2. Работа над проектом в сплоченной команде, ключевая роль в которой принадлежит архитекторам.

3. Ранняя идентификация и непрерывное устранение возможных рисков

4. Концентрация на выполнении требований заказчика.

5. Ожидание изменения в требованиях, проектных решениях и реализации в процессе разработки.

6. Постоянное обеспечение качества на всех этапах разработки проекта.

Представление системы на языке UML.

1. Представление использования – основная часть модели описания системы.

2. Логическое представление – описание функциональных возможностей системы.

3. Компонентное представление – описание структуры и взаимосвязей модулей системы.

4. Представление взаимодействия процессов– описание согласованных действий модулей системы.

5. Представление распределения – описание физической архитектуры системы.

Каждое представление состоит из диаграмм, которые строятся из своих нотаций. Для структурного подхода используется методология SADT (Structured Analysis and Design Technique). Главным разработчиком методологии был Дуглас Росс. Он разработал язык структурного анализа, используемый для описания исследуемого объекта. Этот язык лег в основу стандартов семейства IDEF . В настоящее время семейство IDEF включают следующие стандарты:

IDEF0 – стандарт функционального моделирования

IDEF1Х – стандарт моделирования потоков данных

IDEF2 – стандарт динамического моделирования систем

IDEF3 – стандарт документирования процессов

IDEF4 – стандарт построения объектно-ориентированных систем

IDEF5 – стандарт онтологического (принципиального, структурного) исследования систем.

Лекция 8. Язык UML

Диаграммы UML

Описание языка UML состоит из двух взаимодействующих частей:

1) семантики языка UML (это мета-модели, определяющие синтаксис и семантику понятий объектного моделирования на языке UML);

2) нотаций языка UML (графические нотации для визуального представления семантики языка).

Семантика определяется для двух видов объектной модели:

1) структурных моделей (они же статические модели), которые описывают структуру сущностей или компонентов системы;

2) модели поведения (они же динамические модели), которые описывают поведение или функционирование объектов системы.

В рамках языка UML все представления о модели сложной системы фиксируются в виде специальных графических конструкций, получивших название диаграмм.

В терминах языка UML определены следующие виды диаграмм:

1) диаграмма вариантов использования;

2) диаграмма классов (будет напоминать структуру БД);

3) диаграммы поведения (включают три вида диаграмм – диаграммы состояний, диаграммы деятельности, диаграммы взаимодействия, которые включают два вида диаграмм – диаграмма последовательности, диаграмма коопераций);

4) диаграммы реализации (включают два вида диаграмм – диаграммы компонентов и диаграммы развертывания).

Моделирование проводится как спуск от концептуальной модели к логической, а затем к физической модели программы системы.

Концептуальная модель выражается в виде диаграммы вариантов использования. Концептуальная модель является исходной для построения всех остальных диаграмм.

Диаграмма классов является логической моделью. Диаграмма поведения это также логическая модель, которая отражает динамические аспекты функционирования системы.

Диаграмма реализации – физическая модель.

Диаграмма вариантов использования. Диаграмма вариантов использования описывает функциональное назначение системы или то, что система должна делать. Разработка диаграммы преследует следующие цели:

1) определение общих границ и контекста моделируемой предметной области;

2) формулирование общих требований к функциональному поведению проектируемой системы;

3) разработка концептуальной модели системы для ее последующей реализации в форме логических и физических моделей;

4) подготовка исходной документации для взаимодействия разработчиков системы с ее заказчиками и пользователями.

Суть диаграммы: проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью вариантов использования.

Основные элементы диаграммы:

1) действующее лицо – актер или сущность;

Действующее лицо (актер) представляет собой внешнюю по отношению к моделируемой системе сущность, которая взаимодействует с системой и использует ее функциональные возможности для достижения определенной цели. На данной диаграмме внутренняя структура актера никак не определяется. Действующему лицу ставится в соответствие множество логически связанных ролей, исполняемых при взаимодействии с системой. Под ролью понимается поведение сущности, участвующей в конкретном контексте. Изображение этого элемента на диаграмме - человечек.

Действующие лица взаимодействуют с системой посредством передачи и приема сообщений от вариантов использования. Примеры актеров – клиент, менеджер, автомобиль, станция сотовой связи, таежническое устройство и т. д.

2) вариант использования;

Вариант использования представляет собой внешнюю спецификацию последовательности действий, которые система или другая сущность могут выполнять в процессе взаимодействия с действующими лицами. Варианты использования предназначены для определения функциональных требований к системе. Они служат для описания сервисов, которые система …. Каждый вариант использования определяет конечный набор действий, совершаемых системой при диалоге с актером, а также описывает реакции сущностей системы на получение отдельных сообщений от действующих лиц и восприятие этих сообщений за пределами сущностей. На диаграмме обозначается эллипсом. Примеры: оформить договор, запросить получение услуги и т. д.

3) отношения;

Отношение. Отношение – вариант использования представляет собой внешнюю спецификацию последовательности действий.

Здесь возможны следующие иды отношения: ассоциации, расширения, включение, обобщение.

Отношение ассоциации представляет собой структурное отношением, показывающие, что объекты …

В ассоциации могут связываться два и более объектов. Графическое обозначение – сплошная линия. Ассоциации может быть присвоено имя, ассоциация имеет кратность, характеризующую общее количество конкретных экземпляров данного компонента, которые могут выступать в качестве элементов данной ассоциации.

Отношение расширения (<>) определяет взаимосвязь базового варианты использования с другим вариантом использования, функциональное поведение которого задействуется базовым не всегда, а только при выполнении дополнительных условий. Отношение расширения является отношением зависимости, то есть связью между объектами системы, при которой изменение спецификации одного объекта может повлиять на поведение другого объекта. Зависимость изображается прерывистой линией со стрелкой, направленной к объекту, от которого имеется зависимость.

Отношение включения (<>) также является разновидностью отношения зависимости, оно устанавливается только между двумя вариантами использования и указывает на то, что заданное поведение для одного варианта использования включается в качестве составного фрагмента в последовательность поведения другого варианта использования. Это также пунктирная линия со стрелкой, направления от базового варианта использования к включаемому варианту использования.

Отношение обобщения представляет собой связь между общей сущностью, называемой родителем и более специализированной разновидностью этой сущности называемой потомком. Потомок наследует все свойства и поведение своего родителя, но при этом потомок может иметь собственное поведение и свойства. Графически – сплошная линия со стрелкой.

4) примечания.

Примечание. Предназначено для включение в модель произвольной текстовой информации, имеющей отношение к проекту. Графически обозначаются.

В широком смысле, проектирование - это составление первичного описания, которое позволяет создавать ещё не существующий объект для определённых заданных условий. С латинского языка слово «projectus» и переводится как «брошенный вперёд». Для описания, которое можно в будущем воплотить в виде реального объекта, используют текстовые записи, расчёты, чертежи таблицы, а для выражения условной последовательности действий применяют алгоритмы. В целом, после проведённой детализации, расчётов, дополнений и оптимизации описание объекта становится основой для воплощения идеи в жизнь.

Работа с объектом, который до его создания ещё не имеет материального выражения (не существует), принципиально отличает проектирование от моделирования. С точки зрения этапности, проектирование может быть как финальной фазой стадии исследования, так и начальной фазой стадии производства (строительства). Но современное проектирование - процесс многообразный и многоплановый, имеющий свою специфику и правила в каждой отдельной отрасли: начиная с проектирования систем управления и заканчивая проектированием в строительстве. И, поскольку развитие отраслей меняет условия рабочих процессов, правила проектной деятельности тоже со временем претерпевают изменения.

Проектирование как основа формирования любой деятельности

Всякое инженерное проектирование берёт начало в выраженной общественной потребности, направленной на необходимость возникновения тех или иных технических объектов. К таким объектам относятся результаты строительной деятельности промышленные изделия, программное обеспечение, процессы и др. И первым этапом любого проектирования становится выражение этой потребности в виде технического задания или разработки технического предложения.

Чаще всего техническое задание фигурирует в виде документа (или документов), представляя собой исходное первичное описание объекта. На выходе авторы получают итоговый комплект документации, в котором содержатся сведения, достаточные для изготовления объекта в тех или иных условиях. В узком смысле слова, такую документацию, представляющую собой окончательное описание, и называют проектом. Поэтому часто современное проектирование и описывают как процесс перехода исходного описания объекта в итоговое путём выполнения комплекса исследовательских, расчётных и конструкторских работ.

Такой процесс преобразования обуславливает возникновение ряда промежуточных описаний, каждое из которых подводит некие итоги решения этапных задач. В некоторых моделях проектирования (например, при итерационных подходах) такие промежуточные итоги зачастую становятся основой при обсуждении вопросов о необходимости продолжения проектирования и о направлениях развития процесса в случае одобрения промежуточных результатов. В других моделях (например, в классической поэтапной модели проектирования в строительстве) промежуточные описания (эскизных проект, инженерные изыскания и др.) становятся обязательной вехой в создании полного пакета документации.

Как часть инженерной деятельности современное проектирование имеет ряд особенностей, которые отражают содержание этого процесса.

По тому, используется или не используется в процессе осуществления проектной деятельности специализированное программное обеспечение и ручной труд, выделяют:

  • автоматизированное проектирование, основанное на взаимодействии ЭВМ и человека,
  • автоматическое проектирование, выполняемое на промежуточных этапах без участия человека,
  • ручное.

Подавляющее большинство проектов пока осуществляется по автоматизированному типу, а автоматическое проектирование применимо к относительно несложным объектам. Но и в этом соотношении доля участия компьютера постоянно растёт.

Подходы к проектированию

Основные принципы и идеи проектирования выражены в системном подходе, для которого характерно рассмотрение частей сложной системы или явления в условиях их взаимодействия. Для этого выявляется структура объектной системы, типизируются связи, определяются атрибуты и анализируется влияние внешней среды. Решение этих задач в рамках воплощения системного подхода выливается в создание дисциплин различного уровня обобщения. Так, «Теория систем», например, исследует проектирование сложных и чаще слабоструктурированных экономических, социальных систем.

В технике сложные технические системы исследуются в рамках дисциплины «Системотехники», которая аналогична теории систем. Помимо процесса создания и эксплуатации технической системы, дисциплина изучает принципы и методы её проектирования. Для этого важно чётко сформулировать системные цели и с этой точки зрения организовать рассмотрение системы. Это позволяет отказаться при проектировании от малозначимых элементов и частей, сосредоточившись на оптимизационных задачах.

Конкретизация и интерпретация исходных идей системного подхода находит своё отражение в других производных подходах к проектированию:

  • Структурный подход . Он предполагает синтез вариантов системы из блоков-компонентов. При частичном переборе компонентов можно предварительно спрогнозировать их характеристики.
  • Блочно-иерархический подход . Сущность такого подхода к проектированию в том, что на первой стадии объект рассматривается как закрытый «чёрный ящик», внутренняя структура которого неизвестна. Затем постепенно, уровень за уровнем, начиная с первого, объект детализируется, устанавливается связь между блоками. Первыми, соответственно, детализируются блоки 1-го уровня, после чего появляются и детализируются блоки уровня № 2 и так – вплоть до получения блоков нижнего уровня с достаточно простой и прозрачной структурой. При таком подходе различные специалисты могут занимать работой над отдельными блоками, но сложность в том, что последующая стыковка решений может создать затруднения (в том числе – и из-за виртуальной природы проектируемых объектов). В целом подход предполагает декомпозицию сложных описаний.
  • Объектно-ориентированный подход . При этом подходе вносится большая структурная определённость, связанная с распределением данных между классами объектов. Кроме того, благодаря иерархии и отношениям наследования уменьшается объём спецификаций и снижается вероятность искажения данных.

В социальном проектировании все подходы к процессу принято разделять по критерию их ориентированности на 3 типа:

  • с ориентацией на объект (объектно-ориентированные),
  • с ориентацией на субъект (субъектно-ориентированные, или тезариусные),
  • с ориентацией на проблему (проблемно-ориентированные).

Необходимость увеличивать скорость реализации проектной стадии работ обуславливает появление новых подходов к проектированию.

Методы проектирования

Для многих областей деятельности трудно адекватно представить проблему проектирования в качестве задачи формального выбора лучшего и наиболее эффективного варианта как однозначного математического выражения оптимальности. Поэтому разнообразные методы проектирования выбираются в зависимости от конкретных условий и дополняют друг друга, приобретая специфические черты в различных областях деятельности.

  • Графический метод .

К нему применимы законы начертательной геометрии, согласно которым объект изображается на плоскости. Все мысли, идеи, образы и сравнения, анализ и изучение задания на проектирование, детальная техническая разработка сопровождаются графическим изложением в виде схем, таблиц, эскизов, чертежей, графиков, текстов. На каждой ступени процесса преобладают свои специфические приёмы.

Достоинства метода в том, что он отвечает условиям процесса проектирования всех элементов различных объектов, не требует сложного инструмента и оборудования, легко справляется с разным масштабом и детализацией, а результаты проектирования графическим методом одинаково понятны любому технически подготовленному грамотному специалисту. Это и сделало данный метод международным языком проектной деятельности. Другие методы тоже не обходятся без графических изображений, поэтому данный метод считается опорным или основным.

В основе метода лежит процедура компоновки объёмных моделей и их элементов непосредственно в пространстве. При наличии набора унифицированных условных модельных элементов, а также моделей оборудования и конструкций можно рассмотреть множество вариантов компоновок, чтобы выбрать лучшую. Применение метода ограничено разнообразием составляющих макетотики, которая есть в распоряжении проектировщика, но в серьёзных проектных организациях разнообразие элементов постоянно растёт, а при наличии 3- принтеров внедрение метода в повсеместную проектную практику – вопрос скорого времени. Практическая ценность и важность этого метода состоит ещё и в том, что идея моделирования как основы научного эксперимента становится при создании модели частью проектирования.

  • Макетно-графический метод .

Как способ сочетания композиционного мышления, графического мастерства и масштабного моделирования объёмов этот комплексный метод в наибольшей степени отвечает существу процесса проектирования, особенно когда речь идёт об архитектурном проектировании промышленных предприятий. В его помощью проектирование осуществляется на всех ступенях, начиная с идеи сооружения и заканчивая созданием рабочих макетов генеральных планов.

Макетно-графический метод и сам активно развивается как универсальный метод, и служит основой для отдельных ответвлений в проектировании – например, фото- и кинопроектирования. С помощью современной техники с многочисленных реальных точек зрения имитируется натурное движение людей в пространстве будущего объекта. При грамотном применении это позволяет создавать наиболее совершенные композиции, что, в свою очередь, снижает вероятность композиционных ошибок, допускаемых при переходе проекта к натуре.

  • Автоматизированный метод (с применением электронной техники) .

Метод позволяет справляться со всем объёмом информации, который нужно безошибочно и быстро переработать во время проектирования. Предыдущие методы, основанные в первую очередь на труде человека, имеют объективные ограничения, которые помогает преодолеть применение автоматизированной и электронной техники.

Проекты, созданные с применение этого метода, отличаются оптимизацией в задаче синтезирования строительных, технических, социальных, эстетических, научных сторон проекта. Пока наиболее проблемным этапом в применении данного метода становится этап поиска идеи как художественно-инженерного и эмоционально-философского высказывания.

При всей технической сложности в обеспечении автоматизированного метода он и макетно-графический метод относятся к двум самым быстроразвивающимся методам проектирования.

Структура проектирования

Проектирование делится на процедуры, этапы и стадии. Проектирование сложных объектов включает стадии:

  • научно-исследовательских работ,
  • опытно-конструкторских работ,
  • технического проекта,
  • рабочего проекта,
  • стадию испытания опытного образца.

Первая стадия зачастую делится на стадии предпроектных исследований, технического предложения и технического задания. Содержание деятельности на этих стадиях сводится к:

  • последовательному изучению потребности общества в новых изделиях с заданным целевым назначением,
  • исследованиям физических, конструктивных, технологических и информационных принципов создания изделий,
  • прогнозированию возможных характеристик объектов и их параметров.

Результатом научно-исследовательских работ становится техническое задание на разработку будущего объекта. На стадии опытно-конструкторских работ создаётся эскизный проект изделия, а также конкретизируются, проверяются и корректируются принципы, установленные на предыдущей стадии. Стадии технического проекта «отвечает» за детальные технические решения. А стадия рабочего проекта – за полный (достаточный для изготовления) комплект конструкторской и технологической документации. На завершающей стадии испытания опытного образца по результатам испытания выявляются ошибки проекта и принимаются меры по устранению недоработок.

Как правило, за проектирование отвечают специализированные проектные организации. Так в строительстве классической считается модель, при которой заказчик обращается к проектной компании и та, после согласования с заказчиком общего концепта и получения технического задания с исходными данными, вступает в многоэтапный проектный процесс.

При некоторых видах договора подряда функцию взаимодействия с проектными организациями берёт на себя генеральный подрядчик. Международные стандарты инжиниринга предусматривают несколько вариантов, среди которых самые распространённые соглашения – это договоры в стандарте EPC (Engineering Procurement Construction) и в стандарте EPCM (+Management). В первом случае контрактор предоставляет заказчику услуги по проектированию (а также по закупке оборудования и строительству) «под ключ». Во втором случае, контрактор занимается менеджментом этих процессов (в том числе, и менеджментом проектирования).

Различают нисходящее проектирование (сверху вниз), при котором задачи более высоких иерархических уровней решаются первыми, и восходящее проектирование (снизу вверх), при котором наблюдается обратная последовательность – от задач нижестоящих в иерархии структур. В сложных системах функциональное проектирование чаще всего носит нисходящий характер, а конструкторское проектирование – восходящий.

Как известно, каждый проект – это уникальное мероприятие, не поддающееся стандартизации. Однако процессы управления проектами поддаются стандартизации и документы, которые формализуют эти процессы, получили название методологий управления проектами. Причем некоторые методологии управления проектами применимы для всех типов проектов в разных областях. Другие же, напротив, подходят только для управления конкретными типами проекта. Так, для сферы дорожного строительства наиболее подходящей будет одна проектная методология, в то время как для проекта по разработке программного обеспечения – другая. Рассмотрим ниже наиболее часто применяемые методологии управления проектами.

Традиционная (Каскадная) методология управления проектами

Традиционная методология управления проектами может быть использована во всех отраслях, но наиболее распространена в строительстве. Она также носит название каскадной или водопадной модели, вследствие того, что предлагаемая ею последовательность фаз напоминает поток. Методология выделяет семь последовательных этапов проектного управления:

  1. Определение требований
  2. Проектирование
  3. Реализация (строительство, производство…)
  4. Внедрение
  5. Тестирование и отладка
  6. Установка
  7. Эксплуатация и сопровождение

Переход к следующей фазе проекта возможен только в том случае, если предыдущий этап завершён и принят заказчиком. Применение данной методологии наиболее предпочтительно в проектах, результатом выполнения которых является материальный продукт (например, строительные проекты, установка оборудования и пр.) и для реализации которых требуется конкретная последовательность действий. Кроме того, разработанные планы возможно использовать повторно для аналогичных проектов в будущем.

Однако с другой стороны, каскадная модель управления проектом требует инвестиций в планирование. Обычно первые две фазы занимают от 20 до 40% от всего времени выполнения проекта по данной методологии. Вследствие структурированного подхода, внесение изменений в содержание работ происходит медленно, что делает методологию не гибкой и не подходящей в случаях, если клиент не уверен, какой результат он хочет получить.

Методология управления проектами PRINCE 2

PRINCE2 (Projects in Controlled Environments) так же является структурированной методологией к проектному управлению. Это одна из самых популярных методологий управления проектами, широко используемая в Великобритании в управлении как в бизнесе, так в органах власти. PRINCE2 – это процессно-ориентированная проектная методология, которая фокусируется на процессах верхнего уровня (управление, организация, контроль), а не на низших задачах (декомпозиция работ, разработка графиков). Методология PRINCE2 базируется на семи принципах, семи темах и семи процессах. Принципы являются центральным элементом методологии: если хотя бы один из них не выполняется, то нельзя говорить о том, что проект выполняется в рамках PRINCE2.

Принципы методологии PRINCE2:

  1. Постоянная оценка экономической необходимости — остается ли неизменной экономическая выгода от проекта на протяжении всего жизненного цикла проекта
  2. Обучение на опыте – команда проекта должна постоянно искать и изучать опыт предыдущих проектов
  3. Определение ролевой модели – команда проекта должна иметь ясную организационную структуру и вовлекать подходящих людей для решения нужных задач
  4. Управление по этапам – необходимо, чтобы проекты были спланированы, а также подвергались мониторингу и контролю на каждом этапе выполнения;
  5. Управление по отклонениям – следует четко обозначить допустимые границы отклонений в проекте, чтобы установить границы ответственности
  6. Фокус на продуктах – необходимо концентрироваться на определении и достижении качества продуктов (результатах проекта)
  7. Адаптация к проектной среде – следует адаптировать процессы и инструменты управления проектом к требованиям проектной среды, а также к масштабу работ, их сложности, важности, квалификационным требованиям и степени риска

Аспекты представляют собой направления проектного управления, на которые следует обращать внимание в течение длительности всего проекта.

Аспекты методологии управления проектами PRINCE2 :

  1. Обоснование проекта: какую ценность проект принесёт организации?
  2. Организация : каким образом необходимо распределить роли и ответственность между членами проектной команды для того, чтобы эффективно управлять проектом
  3. Качество : какие имеются требования и критерии к качеству и каким образом можно их обеспечить
  4. Планы : шаги, требуемые для разработки плана, и инструменты PRINCE2, необходимые к использованию
  5. Риски : каким образом менеджмент проекта будет разрешать проблему наличия неопределённостей в плане проекта и во внешней среде
  6. Изменение : как руководство проекта будет оценивать влияние непредвиденных задач и изменений и реагировать на них
  7. Прогресс : реализуемость проекта, выполнение планов и дальнейшее развитие проекта

Наконец, семь процессов разбивают жизненный цикл проекта на различные фазы, для каждой из которой имеются свои рекомендуемые к принятию действия, получаемые продукты и зоны ответственности.

PRINCE2 подразумевает следующие процессы управления проектом:

  1. запуск проекта
  2. руководство проектом
  3. инициация проекта
  4. контроль этапов
  5. управление созданием продукта
  6. управление границами этапов
  7. закрытие проекта

PRINCE2 позволяет стандартизировать процедуры управления проектами, улучшить координацию деятельности, а также помогает понять, каким образом следует планировать проект и осуществлять мониторинг его выполнения, что следует делать, если план проекта не выполняется. Однако методология PRINCE2 не является лучшим выбором для проектов небольшого масштаба или для проектов с большей степенью вероятности изменений объема работ и требований к ним.

Гибкая методология управления проектом (Agile Project Management)

Гибкое управление проектом представляет собой поступательную и итеративную проектную методологию. Ее главной особенностью является то, что в начале выполнения проекта точно неизвестно, каким должен быть конечный продукт и каким будет жизненный цикл проекта. Вместо этого, проектная деятельность разбивается на несколько итеративных фаз, называемых «спринтами». Каждый спринт состоит из множества задач и имеет свой конечный продукт и результат. Методология Agile позволяет менеджерам проектов постоянно получать обратную связь и улучшать продукт после каждой итерации.

В соответствии с данной методологией управления проектами, ответственность за результат делится между тремя ролями:

  • Владелец продукта – определяет проектные цели, разрабатывает оптимальный график при заданных проектных параметрах, адаптирует процесс выполнения проекта к изменившимся требованиям и устанавливает приоритеты в характеристиках продукта
  • Scrum мастер – устанавливает приоритеты в выполнении задач командой проекта и устраняет возникающие затруднения, препятствующие этому
  • Члены команды – выполняют большинство поставленных задач, осуществляют ежедневный менеджмент, создают отчеты о ходе выполнения проекта, контролируют качество продукта

Методология Agile является гибкой и позволяет легко изменить параметры проекта, что является значимым для таких сервисно-ориентированных проектов, как разработка программного обеспечения или графический дизайн. Но это методология не подходит для проектов со строго заданными параметрами и требованиями.

Методология быстрой разработки приложений (Rapid Application Development — RAD)

Быстрая разработка приложений (RAD) – это проектная методология, чаще всего используемая в проектах по разработке ПО, основной целью которых является быстрое и качественное создание приложения. Данная методология управления проектами выделяет 4 стадии проекта:

  • Планирование
  • Пользовательское проектирование
  • Быстрое конструирование
  • Переключение

Методология быстрой разработки приложений, с одной стороны, помогает улучшить показатели результативности проекта и повысить качество риск-менеджмента. Но с другой стороны, данная метрология не подходит для масштабных IT проектов, может привести к низкому качеству кода и требует постоянного вовлечение клиента в процесс исполнения всего проекта

  • Не существует универсальной «наилучшей» методологии управления проектом – выбор определяется типом проекта и спецификой окружающей среды
  • Если вы работаете над проектом с возможными небольшими изменениями содержания работ, например, в области строительства, выбирайте каскадную модель
  • Для разработки программного обеспечения, графического дизайна и других сервисно-ориентированных проектов выбирайте Agile методологию
  • Используйте методологию быстрой разработки приложений для небольших IT проектов с сжатыми сроками
  • Если вам необходимо минимизировать риски и требуются структурированный подход в исполнении крупного или среднего масштаба проекта, выбирайте PRINCE2
  • Не бойтесь использовать другие, менее популярные методологии, если они в большей степени подходят к вашему проекту

    Методология проектирования объектов капитального строительства - 1. Совокупность принципов, методов проектирования, правил и процедур, применяемых при создании проектов для капитального строительства. Относится к специальной методологии (см. «Методология») и непосредственно соотносится с методикой и техникой… …

    - (от метод игреч. слово, понятие, учение), система принципов и способов организации и построения теоретич. и практич. деятельности, а также учение об этой системе. Первоначально М. была неявно представлена в практич. формах взаимоотношений … Философская энциклопедия

    методология - 3.14 методология: Набор инструкций (представленных в виде текста, компьютерных программ, инструментов и т.д.), являющихся поэтапной помощью для пользователя. Примечание При выполнении необходимых аспектов жизненного цикла проекта интеграции… … Словарь-справочник терминов нормативно-технической документации

    - (сокр. от англ. Architecture of Integrated Information Systems) методология для моделирования бизнес процессов компании представляет собой множество различных методологий, интегрированных в рамках системного подхода. Это позволяет говорить о… … Политология. Словарь.

    методология SADT - Разработанная в 70 х годах Дугласом Россом (D. Ross) и развиваемая его последователями методология структурного анализа и проектирования сложных программных и информационных систем. Результатом ее применения является функциональная модель… … Справочник технического переводчика

    История Философии: Энциклопедия

    Учение о способах организации и построения теоретической и практической деятельности человека. Философия выявляет общественно историческую зависимость репертуаров и средств деятельности людей от уровня их развития и от характера разрешаемых ими… … Новейший философский словарь

    методология - МЕТОДОЛОГИЯ тип рационально рефлексивного сознания, направленный на изучение, совершенствование и конструирование методов (см. Метод) в различных сферах духовной и практической деятельности. Существуют методологические представления и… … Энциклопедия эпистемологии и философии науки

    Методология - (Methodology) Структура методологии, методология исследования, типы методологии Научная методология, методология истории, методология анализа, методология управления, социальная методология, проблемы методологии Содержание Содержание Раздел 1.… … Энциклопедия инвестора

    МЕТОДОЛОГИЯ НАУКИ - учение о методах, средствах и процедурах научной деятельности, раздел общей методологии познания, а также часть теории научного познания. Любая методология науки исходит, прежде всего, из определенной классификации методов научного познания. Как… … Философия науки: Словарь основных терминов

    МЕТОДОЛОГИЯ ИНЖЕНЕРНОЙ ПСИХОЛОГИИ - (от греч. methodos путь исследования, познания, logos учение) это те позиции, которые определяют назначение, направление и содержание всех ее исследований. Разработка М. и. п. позволяет определить объект и предмет исследования, цель и методы их… … Энциклопедический словарь по психологии и педагогике

Книги

  • , Лимаренко Г.Н.. В монографии освещены вопросы проектирования, теоретического, экспериментального и&160;опытно-производственного исследования реечных преобразователей движения и&160;поступательных приводов…
  • Методология проектирования реечных передач для машин с автоматизированным приводом. Монография , Лимаренко Г.Н.. В монографии освещены вопросы проектирования, теоретического, экспериментального и 160;опытно-производственного исследования реечных преобразователей движения и 160;поступательных…
В основе RUP лежат следующие принципы:

  • Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.

  • Концентрация на выполнении требований заказчиков к исполняемой программе (анализ и построение модели прецедентов (вариантов использования)).

  • Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.

  • Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.

  • Постоянное обеспечение качества на всех этапах разработки проекта (продукта).

  • Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам.

Жизненный цикл разработки

RUP использует итеративную модель разработки. В конце каждой итерации (в идеале продолжающейся от 2 до 6 недель) проектная команда должна достичь запланированных на данную итерацию целей, создать или доработать проектные артефакты и получить промежуточную, но функциональную версию конечного продукта. Итеративная разработка позволяет быстро реагировать на меняющиеся требования, обнаруживать и устранять риски на ранних стадиях проекта, а также эффективно контролировать качество создаваемого продукта.

Полный жизненный цикл разработки продукта состоит из четырех фаз, каждая из которых включает в себя одну или несколько итераций:

Графическое представление процесса разработки по RUP


  1. Анализ объекта автоматизации. Методологии анализа. ARIS.
ARIS (акроним от англ. Architecture of Integrated Information Systems ) - методология и тиражируемый программный продукт для моделирования бизнес-процессов организаций. Продукт и методология принадлежат немецкой компании Software AG как результат поглощения компании IDS Scheer автора методологии Августа-Вильгельма Шеера (нем. August-Wilhelm Scheer ).

Методология

Среди большого количества возможных методов описания можно выделить следующие:

  1. eEPC (англ. extended event-driven process chain ) - метод описания процессов;

  2. ERM (англ. entity - relationship model ) - модель «сущность-связь» для описания структуры данных;

  3. UML (англ. unified modeling language ) - объектно-ориентированный язык моделирования.
Технология ARIS Script позволяет в автоматическом режиме производить:

  1. Формирование нормативных документов на основании моделей ARIS (например, паспорт процесса, регламент процесса).

  2. Формирование аналитических отчётов на основании моделей ARIS.

  3. Интеграцию ARIS Toolset с другими приложениями и базами данных.

  4. Формирование базы моделей ARIS на основании готовых спецификаций.

Концепция архитектуры ARIS.

Архитектура ARIS создает основу для разработки и оптимизации интегрированных информационных систем, а также для описания их реализации. Выбор уровней и типов описаний формирует архитектуру ARIS, которая используется в качестве модели для построения процессов, связанных с управлением бизнесом, их анализа и оценки.

Типы моделей.

В ARIS представлены более 100 видов моделей. Как выбрать наиболее подходящие с точки зрения подхода к описанию деятельности предприятия?

Как правило, в основе описания бизнес-процессов лежат цепочки процессов. Цепочки могут описаны как диаграммой VAD, которая рассматривает процесс со стратегических точек зрения и детальные диаграммы eEPC (от Extended Process Chain - расширенная цепочка процесса). eEPC-диаграммы являются стержнем, который описывает ход каждого процесса на предприятии (конечно когда рассматривается процессный аспект деятельности).

Потребности в моделировании организационно-штатных структур покрывают различные диаграммы, в том числе диаграмма Organization Chart - модель орг. структуры предприятия.

Потребности в моделировании данных и информационных хранилищ могут быть обеспечены при использовании всевозможных ERM- и UML-диаграмм. Эти диаграммы дают полное представление о структуре данных и составе информационных средств предприятия.

Функциональные модели предназначены для моделирования функциональной структуры, когда процессный подход не применим или недостаточно укрепил позиции в организации.

Существуют модели выходов/управления, которые не рассматриваются в программных средствах ARIS, но занимают не менее важное место в процессе моделирования. Эти диаграммы содержатся в других разделах и в каждой части здания ARIS есть свои диаграммы выходов и управления.

Некоторые диаграммы невозможно отнести к тому или иному признаку, т.к. их характеристики подпадают под многие параметры. В этом случае в ARIS активно практикуется метод "свободного" моделирования, когда используются те диаграммы, которые интуитивно понятны, как специалистам в области консалтинга, так и руководству и программистам, реализующим отдельные программные модули.

Таким образом, мы зафиксировали в архитектуре ARIS набор типов моделей, каждая из которых «расписывается » по уровням. Вместе с описанием проблем бизнеса, которое служит стартовой точкой для анализа, они составляют тринадцать компонент архитектуры ARIS. Теперь необходимо выбрать и представить методы описания каждой компоненты архитектуры.

Критерии для выбора этих методов следующие:


  • простота и выразительность средств изображения,

  • поддержка смыслового содержания, для отображения специфики предмета,

  • возможность использования полного набора методов для различных типов приложений,

  • степень знакомства с методами и наличие необходимой литературы,

  • определенная степень независимости методов от технической реализации в информационных и коммуникационных системах.
Всем этим характеристикам удовлетворяет программное обеспечение ARIS компании IDs Sheer.

ARIS - это одновременно и нотация, и методология, и программный продукт, и архитектура. Когда говорят ARIS, то человек, прочитавший данную статью и другие книги, например, выпущенные компаниями "Весть-Мета Технология" и "Логика Бизнеса", всегда уточнит, о чем идет речь.

20 . Процессы проектирования. Проектирование системной архитектуры.

Проектирование - процесс разработки проекта , то есть комплекта документации, предназначенной для создания определённого объекта, его эксплуатации, ремонта и ликвидации, а также для проверки или воспроизведения промежуточных и конечных решений, на основе которых был разработан данный объект. Проектирование - длительный процесс и включает этапы от подготовки технического задания до испытания опытных образцов.

Проектирование, независимо от его содержания, это составная часть планирования.

Объектом проектирования может быть материальный предмет, выполнение работы, оказание услуги.

Проектирование обладает своей методологией , которая включает структуру деятельности, принципы и нормы деятельности, субъектов , объект и его модели , методы и др.

Системное проектирование комплексно решает поставленные задачи, принимает во внимание взаимодействие и взаимосвязь отдельных объектов-систем и их частей как между собой, так и с внешней средой, учитывает социально-экономические и экологические последствия их функционирования. Системное проектирование основывается на тщательном совместном рассмотрении объекта(модели, элементная база) проектирования и процесса(структура, принципы,законы,методы) проектирования, которые в свою очередь включают ещё ряд важных частей,

21. ПП. Методики описания системной архитектуры.

Системное проектирование должно базироваться на системном подходе. На сегодняшний день нельзя утверждать, что известен его полный состав и содержание применительно к проектной деятельности, однако можно сформулировать наиболее важные из них:


  • Практическая полезность:

    • деятельность должна быть целенаправленной , устремленной на удовлетворение действительных потребностей реального потребителя или определенной социальной, возрастной или иной групп людей;

    • деятельность должна быть целесообразной . Важно вскрыть причины, препятствующие использованию существующих объектов для удовлетворения новых потребностей, выявить вызывающие их ключевые противоречия и сконцентрировать усилия на решении главных задач;

    • деятельность должна быть обоснованной и эффективной . Разумным будет использование не любого решения задачи, а поиск оптимального варианта ;

  • Единство составных частей:

    • целесообразно любой объект, сложный ли он или простой, рассматривать как систему , внутри которой можно выделить логически связанные более простые части - подсистемы , единство частных свойств которых и образует качественно новые свойства объекта-системы;

    • разрабатываемые объекты предназначены для людей, ими создаются и эксплуатируются. Поэтому человек также обязан рассматриваться в качестве одной из взаимодействующих систем. При этом должно приниматься во внимание не только физическое взаимодействие, но и духовно-эстетическое воздействие;

    • внешняя, или как её ещё называют - жизненная среда , также должна рассматриваться в качестве системы, взаимосвязанной с проектируемым объектом;

  • Изменяемость во времени:

    • учёт этапов жизненного цикла объекта;

    • учёт истории и перспектив развития и применения разрабатываемого объекта, а также областей науки и техники, на достижениях которых базируются соответствующие разработки.

22. ПП. Архитектурные стили и шаблоны проектирования.

Шаблон (нем. Schablone) - в строительстве приспособление или инструмент для вытягивания профильного карниза.

Шаблоны проектирования (паттерн, англ. design pattern) - это многократно применяемая архитектурная конструкция, предоставляющая решение общей проблемы проектирования в рамках конкретного контекста и описывающая значимость этого решения. Паттерн не является законченным образцом проекта, который может быть прямо преобразован в код, скорее это описание или образец для того, как решить задачу, таким образом, чтобы это можно было использовать в различных ситуациях. Объектно-ориентированные шаблоны зачастую показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. Алгоритмы не рассматриваются как шаблоны, так как они решают задачи вычисления, а не проектирования.

В 70-х годах двадцатого века архитектор Кристофер Александер (Christopher Alexander) составил набор шаблонов проектирования. В области архитектуры эта идея не получила такого развития, как позже в области программной разработки.
Архитектурный стиль, иногда называемый архитектурным шаблоном – это набор принципов, высокоуровневая схема, обеспечивающая абстрактную инфраструктуру для семейства систем. Архитектурный стиль улучшает секционирование и способствует повторному использованию дизайна благодаря обеспечению решений часто встречающихся проблем. Архитектурные стили и шаблоны можно рассматривать как набор принципов, формирующих приложение.
К ним относят такие шаблоны как клиент/сервер, многоуровневая архитектура, компонентная архитектура, архитектура, основанная на шине сообщений, и сервисно-ориентированная
В следующей таблице перечислены основные фокусные области и соответствующие архитектурные стили.
архитектура

23. ПП. Проектирование информационной архитектуры.

Информационная архитектура – систематизация информационного содержимого сайта и навигации по нему.

Цель информационной архитектуры – упрощение поиска нужной информации при помощи грамотно размещенных гиперссылок и организация комфортного пребывания посетителя на сайте.

Проектирование информационной архитектуры состоит из анализа содержимого ресурса и процесса разработки его структуры, которая будет помогать пользователю, находить необходимую информацию (например, поиск нужного товара, получение ответа на вопрос и др.).

Сайт, имеющий правильно спроектированную информационную архитектуру, имеет следующие достоинства:


  • высокое положение в индексе поисковых систем: информационная архитектура выделяет ключевые элементы, используемые поисковыми системами для вычисления релевантности страниц (например, названия страниц, ключевые слова и фразы, названия каталогов, файлов и др.);

  • улучшение Usability: информационная архитектура упрощает работу с ресурсом (оптимальное расположение ключевых элементов навигации);

  • файлы удобно размещены и разбиты по категориям, как следствие, меньше затрачивается времени на их поиск;

  • пропадает необходимость полного обновления сайта при добавлении новых материалов.
24. ПП. Построение ER модели. Виды нотаций.

Модель сущность-связь (ER -модель) (англ. entity - relationship model , ERM) - модель данных , позволяющая описывать концептуальные схемы предметной области .

ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных . С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.

ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма сущность-связь (ER -диаграмма)

Нотация Питера Чена

Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.

Процесс формирования логической модели включает в себя следующие работы:


  • определение атрибутов (Attributes);

  • уточнение состава сущностей области хранения детальных данных (System of Records);

  • сопоставление данных систем-источников атрибутам сущностей логической модели данных;

  • определение иерархий (Hierarchy);

  • определение состава и типов медленно меняющихся измерений (SCD);

  • определение основных бизнес-запросов (Business Queries) - групп запросов пользователей к определенному набору данных;

  • проведение GAP-анализа:

    • анализ логической модели (с учетом имеющихся данных в системах-источниках) на предмет выявления требований, которые не могут быть удовлетворены;

    • принятие решений по требованиям, которые не могут быть удовлетворены;

  • определение состава и структуры агрегатов (Summary Area), витрин данных (Data Marts);

  • определение состава значений (Domains) для измерений и иерархий;

  • формирование рабочего документа с описанием логической модели;

  • проведение внешнего аудита модели - сопоставление логической модели и требований на уровне показателей;

  • согласование логической модели с функциональными специалистами Заказчика.
26. ПП. Построение физической модели данных.

Физическое проектирование - создание схемы базы данных для конкретной СУБД . Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным), создание индексов и т.д.

Процесс формирования физической модели заключается в:


  • определении правил наименования объектов базы данных;

  • разработке объектов хранения (таблиц, материализованных представлений, кубов и т.п.);

  • определении состава полей (Columns) и их типов данных (Data Types);

  • формирование первичных (Primary Keys) и внешних ключей (Foreign Keys);

  • уточнении состава значений (Domains) для измерений и иерархий;

  • проектирование состава и структуры разделов (Partitions), индексов (Indexes), последовательностей (Sequences) и т.д.

  • формирование рабочего документа с описанием физической модели;

  • согласование физической модели с техническими специалистами Заказчика.
27. ПП. Шаблоны информационной архитектуры.
Мы уже отмечали выше актуальность интеграции приложений и использования общих компонент информационных систем (сервисов). Отражением этого факта является существующая тенденция выделения данных аспектов в отдельные области архитектуры предприятия. Существенную роль при реализации этих областей играют стандартизованные элементы.

Подобно тому, как проект здания может включать в себя элементы ранее созданных конструкций, так и реализация поддержки бизнес-процесса в информационной системе может использовать уже известные фрагменты программного кода и/или типовые конфигурации оборудования. Это позволяет, с одной стороны, значительно сократить сроки выполнения решения, с другой – уменьшить риски за счет использования фрагментов, проверенных на практике. Фактически речь идет о выборе и использовании подходящих шаблонов (patterns). Английский термин "pattern" имеет различные варианты перевода, в том числе "образец", "шаблон" и т.п. В данном случае мы будем использовать русский термин "шаблон", оставляя кальку "паттерн" для обозначения аналогичных объектов в области программной архитектуры. Шаблоны являются как бы проверенными способами построения какой-то части системы.

Одним из удачных определений шаблонов является следующее: "Шаблон – это общее решение некоторой повторяющейся проблемы в определенном контексте" .


Рис. 7.7. Шаблон – решение проблемы в контексте

То есть важным аспектом, связанным с шаблонами, является то, что они сопровождаются определенными обоснованиями того, почему данное решение является хорошим в условиях заданного контекста. Шаблоны являются следующим шагом в понимании и применении моделей. Шаблон показывает, что делает некоторую модель хорошим решением и как создать некоторое решение для определенной проблемы.

Осознание важности шаблонов привело к тому, что, например, методика описания архитектуры Gartner выделяет шаблоны в качестве отдельного "слоя" архитектуры.

Использование шаблонов имеет явные корни в строительной архитектуре. Определяющий вклад в формирование исходного понятия "pattern" принадлежит известному архитектору Кристоферу Александеру. В своей фундаментальной работе 1987 года он выделил более 250 типовых архитектурных решений, таких как лестницы, альковы, связи между офисами и др. Согласно Александеру, каждый такой прототип фактически определяет рекомендуемое решение отдельной проблемы в фиксированном контексте. В оригинале Александер выделяет контекст, воздействующие силы и особенности применения данного шаблона. В соответствии с аллегорическим комментарием Коупа, описание шаблона – это пьеса. Контекст задает место действия и определяет актеров, силы плетут заговор, найденное решение обеспечивает Катарсис.

Исходной целью этих работ Александера была не разработка каких-то новых идей, а, напротив, анализ накопленного опыта строительства – как отдельных зданий, так и целых городов – с целью выявления удачных архитектурных решений и способствовавших этому факторов. Конечно, критерии определения удачности в данной области во многом субъективны, так как зависят от общества, использующего данные постройки. В области информационных технологий такими критериями могут быть полнота выполнения требований, долговечность, эффективность реализации, а также, в соответствии с , ориентация, прежде всего, на расширение, а не на ограничение возможностей организации. Еще одним важным понятием из строительной архитектуры, которое нашло свое отражение в сфере информационных технологий, стал язык шаблонов (Pattern Language). В соответствии с определением Коупа, он является коллекцией взаимодействующих между собой шаблонов, образующих систему.

В приведенном выше определении шаблона имеется три ключевых словосочетания:


  • Общее решение. Это означает, что шаблон не дает полного законченного решения. Он, скорее, определяет класс проблемы и то, как эта проблема может быть решена с использованием определенного подхода, с демонстрацией аргументов в пользу этого подхода. Сила шаблона состоит в том, что он сформулирован на достаточно высоком уровне абстракции, чтобы быть использованным в большом количестве ситуаций;

  • Повторяющаяся проблема. Это означает, что шаблоны используются в тех случаях, когда проблема не является уникальной, и они наиболее полезны для решения часто встречающихся проблем;

  • Определенный контекст. Это означает, что шаблон обеспечивает решение проблемы, границы которой в общих чертах определены. Понимая условия, в которых предлагаемое решение в форме шаблона является хорошим, вы далее строите свое собственное решение на основе этого шаблона.
В области информационных технологий первоначально шаблоны получили признание в области программной архитектуры. В широко известной работе группы авторов (которых в англоязычной литературе по числу авторов книги часто называют "бандой четырех") описаны типовые конструкции для объектно-ориентированных языков программирования, таких как C++. Большое количество ссылок по данной тематике и примеров приведены на http://www.patterns.com. Но оказывается, что понятие шаблона оказывается весьма эффективно и в области архитектуры предприятия в целом!

В отношении информационных технологий можно сказать, что шаблоны являются логическими моделями технологий: это проектировочные идеи, которые могут быть многократно использованы в рамках предприятия в целом . Как правило, эти решения служат, в каком-то смысле, индустриальными стандартами и обычно существуют продолжительное время. Их можно рассматривать как некоторые схемы, которые определяют компоненты решения, т.е. логический уровень проектирования (например, сервер данных или сервер приложений), и которые показывают роли, взаимодействия и связи компонент на этом уровне абстракции.

Когда мы говорим о шаблонах, то речь не идет о конкретных моделях аппаратного или программного обеспечения. Как проиллюстрировано рисунком 7.8, интерес представляет другое: как серверы взаимодействуют между собой и как они совместно обеспечивают работу с системой клиента, использующего персональный компьютер? Какие роли играет каждый компонент? Какие типы коммуникаций необходимы между ними?


Рис. 7.8. Шаблон показывает взаимодействие компонент системы между собой

Важность шаблонов для архитектуры предприятия в целом обусловлена следующими причинами:


  • если используются корректные шаблоны, то вероятность получения адекватно работающей физической реализации архитектуры возрастает;

  • разработка и использование шаблонов в рамках предприятия в целом обеспечивает преимущества, связанные с их многократным использованием для решения различных проблем. Это дает архитекторам возможности по использованию опыта и стандартизации решений при создании новых систем;

  • использование шаблонов отделяет логический уровень от физического уровня архитектуры. Это позволяет создать долговременно работающие решения и придает гибкость, поскольку на последующем этапе эти достаточно постоянные конструкции могут быть связаны с конкретными технологическими решениями.
Можно сказать, что архитектурные концепции (методики) и шаблоны являются двумя инструментами для успешного, быстрого, эффективного с точки зрения затрат создания моделей и реализации систем с минимальными рисками. Принято идентифицировать шаблоны, которые относятся к различным доменам архитектуры (бизнес-шаблоны, шаблоны инфраструктуры и т.д.) и различным уровням абстракции архитектуры.


Рис. 7.9. Архитектура, шаблоны и модели

В рамках предприятия целесообразно создать репозиторий шаблонов. Характерное для предприятия число различных шаблонов составляет порядка 30. Это включает шаблоны использования унаследованных и старых клиент/серверных систем, модели для будущей архитектуры (например, сервис-ориентированной) и т.д.

Описание шаблонов может выполняться с различной степенью детализации и соответствия реальным условиям. В зависимости от этого уровня можно рассматривать элементы языка шаблонов различной степени абстракции – идиомы, шаблоны дизайна (design patterns) и рамочные модели (frameworks). При этом идиомы представляют собой шаблоны самого "низкого уровня", которые зависят от конкретной технологии. Шаблоны дизайна обладают определенной независимостью, но в то же время не могут рассматриваться как система в целом. Хорошим примером являются шаблоны стандартных классов. Например, понятие "Фабрики Объектов" в объектно-ориентированных приложениях, вообще говоря, не зависит от выбора конкретного языка программирования и может быть реализовано схожим образом и на С++, и на Java. Наконец, рамочные модели представляют собой "частично законченные" системы, которые либо демонстрируют наиболее принципиальные элементы реализации, либо являются полностью работоспособными системами для определенных упрощенных, ограниченных или идеализированных внешних условий. Эти модели могут быть использованы как основа для специализированных доработок, а также для быстрого создания модели системы в целом на основе таких отдельных компонент.

Далее концепция шаблонов была расширена и в область инфраструктуры, так что теперь можно вести речь о соответствующих комплексных программно-аппаратных решениях. Для нашего рассмотрения наибольший интерес представляют шаблоны достаточно высокого уровня. Применение таких решений значительно облегчает задачу реализации новых элементов информационных систем. Каждый такой шаблон может объединять конкретное прикладное ПО, операционную систему, сервер СУБД, аппаратную платформу или несколько распределенных платформ, интерфейсы, метаданные и т.п. Типичными примерами являются шаблон B2B (Business-to-Business) для взаимодействия с Клиентами/Поставщиками или B2E (Business-to-Employee), описывающий взаимодействие между информационной системой и сотрудниками.

Инфраструктурные шаблоны можно определить как стандартизированный набор требований, компонент и сервисов, которые в совокупности формируют необходимую адекватную инфраструктуру для данной прикладной системы и реализации логики бизнес-процессов . Рисунок 7.10 иллюстрирует общее определение инфраструктурного шаблона в форме многоуровневой классификации функций и примерного списка технологических компонент на каждом уровне.


Рис. 7.10. Пример инфраструктурного шаблона

Организация инфраструктуры с помощью набора шаблонов позволяет единообразно определять компоненты и функциональные возможности, в результате чего эта часть ИТ-инфраструктуры может многократно использоваться для различных типов прикладных систем, имеющих общие требования к инфраструктуре. Это соответствует тому принципу, который мы сформулировали в лекции 6 , когда говорили о том, что различные стили и типы прикладных систем и бизнес-процессов предъявляют различные требования к инфраструктуре. Таким образом, вместо того, чтобы строить инфраструктуру для каждого приложения, ее разрабатывают как набор нескольких шаблонов, каждый из которых оптимально предназначен для определенной группы прикладных систем так, как показано на рис. 7.11.


Рис. 7.11. От традиционной архитектуры – к архитектуре, использующей инфраструктурные шаблоны

Большой интерес при создании бизнес-архитектуры предприятия представляют бизнес-шаблоны. В соответствии с описание бизнес-шаблона включает:


  • описание поддерживаемой бизнес-функции;

  • данные, которые требуются для выполнения описанной бизнес-функции;

  • бизнес-компоненты, которые являются представлением данных и функций бизнеса на языке информационных технологий;

  • возможно, описание инфраструктуры, которая необходима для поддержки функций, данных и компонент.
Заинтересованным в этом вопросе читателям мы рекомендуем статью , которая опубликована в журнале Microsoft, посвященном вопросам архитектуры; в электронном виде публикацию можно найти по адресу http://msdn.microsoft.com/architecture/journ/.

В качестве другого примера рассмотрим возможности предложенных компанией IBM "шаблонов для электронного бизнеса" .

Так как практически все приложения для электронного бизнеса сталкиваются с необходимостью решения таких вопросов, как масштабируемость, надежность, доступность, безопасность, то представляется, что использование относительно небольшого числа стандартизованных решений может оказаться полезным. Эти решения можно, в свою очередь, подразделить в зависимости от уровня абстракции – соответственно на бизнес-шаблоны, архитектурные шаблоны, шаблоны уровня приложений и т.п. При этом:


  • бизнес-шаблоны (Business pattern) предназначены для описания взаимодействия между участниками процесса;

  • шаблоны дизайна (Design pattern) отражают внутреннюю компонентную структуру системы;

  • шаблоны уровня приложений (Application pattern) определяют различные варианты взаимодействия между пользователями, приложениями и данными в системе, а также соответствующий прототип уровня выполнения;

  • шаблоны уровня выполнения (Runtime pattern) описывают привязку компонент системы к физическим узлам и определяют конкретные возможные продукты и их комбинации.
В соответствии с предлагаемой схемой выделяются 4 основных бизнес-шаблона (см. табл. 7.1).

Кроме этого, выделяют также два служебных шаблона: соответственно интеграции доступа и интеграции приложений.

Эти шаблоны предназначены для описания таких типовых областей, как:


  • интерактивная – взаимодействие пользователя с предприятием (например, продажа товаров и услуг не по каталогам) – U2B;

  • программное взаимодействие между приложениями различных предприятий (B2B);

  • коллективная работа пользователей, включая электронную почту, обмен мгновенными сообщениями, общие форумы и т.п. – U2U;

  • поиск информации в каталогах и базах данных, анализ данных, подписки – U2D;

  • взаимодействие между приложениями "в рамках предприятия", в том числе и не обязательно с использованием web-интерфейсов;

  • централизованный доступ к системе на уровне выбранного интерфейса (портал) или на более общем уровне (Web, речевая телефония, мобильные устройства и т.п.);

  • обеспечение безопасности.
Шаблоны могут быть использованы по отдельности или в комбинации при реализации более сложных комплексных решений. Для идентификации классов этих решений общеупотребительным стали аббревиатуры, использующие сходное звучание в английском языке цифры 2 и отношения между двумя сторонами – системы типа B2B, B2C и т.д. Например, традиционный электронный магазин (B2C) может включать элементы прототипов U2D (User-to-Data – работа пользователя с каталогом товаров), U2B (User-to-Business – оформление заказа), U2U (User-to-User – консультация у продавца или обращение в службу поддержки).

Для реализации на практике единой архитектуры предприятия особое значение приобретают шаблоны интеграции приложений. Прежде всего, стоит выделить две категории, связанные с уровнем реализации взаимодействия, – интеграция на уровне процессов и интеграция на уровне данных. Первая категория используется, если данные из одного процесса непосредственно используются в другом процессе, связанном с первым. Примером может служить использование средств обмена сообщениями для гарантированной доставки данных из филиала банка в центральное отделение. Другая категория связана с синхронизацией данных между несвязанными непосредственно между собой процессами (например, загрузка агрегированных данных из системы биллинга клиентов в систему управления маркетингом).

Собственно шаблоны строятся на основе набора предварительно определяемых общих служб, которые могут входить в шаблон в необходимой комбинации. Примерами таких общих служб могут являться:


  • преобразование данных (в частности, объединение/разделение, подстановки, округления, перевод c языка на язык, использование XSL для преобразования XML->XML и т п);

  • маршрутизация сообщений (в том числе оптимизация маршрута, мультипликация/демультипликация для доставки один-ко-многим, динамическая маршрутизация в зависимости от содержания и т.п.);

  • гарантированная доставка;

  • репозиторий сообщений и метаданных;

  • управление транзакциями, в том числе распределенными;

  • планирование задач и активностей;

  • журналирование и аудит;

  • управление нагрузкой (в том числе поддержка кластеров, динамическая балансировка, горячая замена и т.п.);

  • управление системами, в том числе обнаружение ошибок, мониторинг параметров;

  • служба каталогов;

  • безопасность, включая шифрование данных.
Аналогичные архитектурные шаблоны в терминологии Microsoft представляют собой Решения уровня предприятия . Они группируются в виде специальной модели в соответствии с уровнем абстракции и архитектурным доменом (см. рис. 7.12).


Рис. 7.12. Категоризация архитектурных шаблонов Microsoft

При этом область шаблонов как бы "ограничена сверху" за счет включения в рассмотрение только реляционных баз данных, многоуровневой (layered) архитектуры объектно-ориентированных приложений и N-звенных систем. За счет такого ограничения (в частности, из рассмотрения исключены OLAP-системы и монолитные или исполняемые на одной платформе приложения) удается достичь существенной глубины проработки. В состав набора входят шаблоны для представления информации через Web, поддержки распределенных систем, предоставления сервисов, обеспечения производительности и надежности систем.
28. ПП. Проектирование программной архитектуры.

Архитектура программного обеспечения (заинтересованными лицами (англ. stakeholders ), позволяет зафиксировать принятые на ранних этапах проектирования решения о высокоуровневом дизайне системы и позволяет использовать компоненты этого дизайна и шаблоны повторно в других проектах.

Языки описания архитектуры

Языки описания архитектуры (ADLS) используются для описания архитектуры программного обеспечения. Различными организациями было разработано несколько различных ADLS, в том числе AADL (стандарт SAE), Wright (разработан в университете Carnegie Mellon), Acme (разработан в университете Carnegie Mellon), xADL (разработан в UCI), Darwin (разработан в Imperial College в Лондоне), DAOP-ADL (разработан в Университете Малаги), а также ByADL (Университет L’Aquila, Италия). Общими элементами для всех этих языков являются понятия компонента, коннектора и конфигурации.