Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программная инженерия. Учебное пособие для магистрантов направления подготовки 09.04.02 – Информационные системы и технологии

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Термины «архитектура» и «архитектурное проектирование» уже используются в течение приблизительно 30 лет, особенно интенсивно в программной инженерии и таких проблемных областях как ракетно-космическая отрасль.

Для более подробного описания принципов построения архитектуры стандарт ISO/IEC/IEEE 42010-2011 вводит следующие понятия.

Архитектурная группа описаний (англ. architectural view) – представление системы в целом с точки зрения связанного набора интересов. Каждая группа описаний относится к одному или более стейкхолдеру. Термин «группа описаний» употребляется для выражения архитектуры системы при некотором методе описания.

Архитектурное описание (англ. architectural description) – рабочий продукт,

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

Архитектурный подход (англ. architectural framework) – соглашения, прин-

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

Архитектурный метод описания (англ. architectural viewpoint) – специфика-

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

Вид модели (англ. model kind) – соглашения по средствам моделирования (например, сети Петри, диаграммы классов, организационные диаграммы и т. д.).

Свод знаний по системной инженерии (SEBoK) делит архитектуру на логическую и физическую.

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

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

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

11

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

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

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

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

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

Концептуальная схема архитектурного описания

Архитектура может быть зафиксирована с помощью полного архитектурного описания (АО) (см. рис. 1.1). Стандарт ISO/IEC/IEEE 42010-2011 предписывает различать концептуальную архитектуру системы и одно из описаний данной ар-

хитектуры, являющееся конкретным продуктом или артефактом.

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

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

12

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

Рисунок 1.1 – Концептуальная схема архитектурного описания

(ISO/IEC 42010)

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

На рисунке прямоугольники изображают классы сущностей.

Линии, соединяющие прямоугольники, изображают связи между сущностями. Связь включает две роли (по одной в каждом направлении). Каждая роль может по желанию быть именована меткой. Роль, направленная от A к B, [помечена] ближе к B, и наоборот. Например, роли между «системой» и «средой» могут читаться: «„система“ живёт в „среде“» и «„среда“ влияет на „систему“». На рисунке роли обладают арностью 1:1, если не указано иное. Роль может обладать множественной арностью, например, роль, обозначенная как «1..*», применяется

13

для обозначения многих, как в связях «один ко многим» или «многие к одному». Ромб (на конце линии связи) обозначает отношение части целого. Например, «группы описаний» являются частью «архитектурного описания». Эта нотация заимствована из UML.

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

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

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

Любая система существует для реализации в своей среде одной или более миссий.

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

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

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

Типы групп описаний архитектуры Существует три типа группы описаний: функциональные, логические и фи-

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

Функциональная группа описаний

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

14

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

Логическая группа описаний

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

Физическая группа описаний

Данная группа обеспечивает представление с точки зрения проектировщиков. Включает в себя:

–продукты, которые определяют физические границы системы;

–физические компоненты системы и то, как они взаимодействуют и влияют друг на друга;

–внутренние базы данных и структуры данных;

–инфраструктуру информационных технологий (ИТ) системы;

–внешнюю ИТ-инфраструктуру, с которой система взаимодействует;

–требования, необходимые для развития системы.

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

Применение архитектурных описаний

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

анализ альтернативных архитектур

деловое планирование перехода от унаследованной архитектуры к новой;

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

коммуникация между заказчиками и разработчиками как часть подготовки соглашения;

критерии для сертификации соответствия реализации данной архитектуре;

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

исходные данные для последующих мероприятий по системному проектированию и разработке;

исходные материалы для инструментов создания и анализа системы;

15

эксплуатационная и инфраструктурная поддержка; управление конфигурацией и ремонт; перепроектирование и обслуживание систем, подсистем и компонентов;

поддержка планирования и финансирования.

Контрольные вопросы:

1.Уточните основные особенности программной инженерии как дисциплины

инауки

2.Обоснуйте основные принципы системной инженерии и основные ИТстандарты

3.Чем характеризуется архитектурное построение системы программного обеспечения?

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

Литература:

Основная:

1.Лаврищева Е.М. Технология программирования и программная инженерия. Учебник для вузов. – М.: Ось-М, 2019. – 287 с.

2.Лешек А.М. Практическая программная инженерия на основе учебного примера. – Новосибирск: ЦРНС, 2018. – 254 с.

3.Черткова Е.А. Программная инженерия. Визуальное моделирование программных систем. М.: Академкнига, 2019. – 356 с.

Дополнительная:

1.Беркун С. Искусство управления IT-проектами. – СПб.: Питер, 2018. – 186

с.

2.Гайдышев И.Н. Решение научных и инженерных задач средствами Excel,

VBA и C/C++. – М.: Инфра-М, 2019. – 288 с.

1.2. Жизненный цикл информационной системы в архитектуре программной инженерии

Жизненный цикл ИТ-системы

Жизненный цикл ИТ-системы – это стадии процесса, охватывающие различные состояния ИТ-системы, начиная с момента возникновения необходимости в такой системе и заканчивая её полным выводом из эксплуатации; конечный набор общих фаз и этапов, через которые система может проходить в течение своей истории жизни.

Жизненный цикл – это не временной период существования, а процесс последовательного изменения состояния, обусловленный видом производимых воз-

действий (Р 50-605-80-93).

16

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

Встандартах системной инженерии описаны четыре основных принципа моделирования жизненного цикла, а именно:

– В течение своей жизни система развивается, проходя через определенные стадии.

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

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

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

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

История концепции жизненного цикла

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

Типовые модели жизненного цикла системы

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

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

Некоторые специалисты по системной инженерии предлагают рассматривать модель жизненного цикла системы, на основе следующих трех источников: модель управления материально-техническим обеспечением Министерства Обороны США (МО США) (DoD 5000.2), модель стандарта ISO/IEC 15288 и модель Национального общества профессиональных инженеров (NSPE).

17

Типовая модель жизненного цикла по стандарту ISO/IEC 15288

В2002 году Международная организация по стандартизации и Международная электротехническая комиссия выпустили результат многолетней работы – стандарт ISO/IEC 15288:2002 (см. русскоязычный аналог ГОСТ Р ИСО МЭК

15288-2005).

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

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

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

1. Замысел.

2. Разработка.

3. Производство.

4. Применение.

5. Поддержка применения.

6. Прекращение применения и списание.

Вверсии стандарта от 2008 года (ISO/IEC 15288:2008) примеры стадий жизненного цикла отсутствуют.

Типовая модель жизненного цикла по версии Министерства обороны США. Для управления рисками в области применения передовых технологий, и сведения к минимуму дорогостоящих технических или управленческих ошибок, МО США разработало руководство, содержащее все необходимые принципы разработки систем. Эти принципы вошли в специальный перечень директив –

DoD 5000.

Модель жизненного цикла системы управления материально-техническим обеспечением по версии МО США состоит из пяти стадий:

1. Анализ.

2. Разработка технологии.

3. Инженерная и производственная разработка.

4. Производство и развертывание.

5. Функционирование и поддержка.

Типовая модель жизненного цикла системы Национального общества профессиональных инженеров (NSPE)

Данная модель адаптирована для развития коммерческих систем. Данная модель в основном направлена на развитие новых продуктов, обычно являющихся результатом технического прогресса. Модель NSPE представляет собой альтернативный взгляд на модель версии МО США. Жизненный цикл по модели NSPE разбивается на шесть стадий:

1. Концепция.

18

2.Техническая реализация.

3.Разработка.

4.Коммерческая валидация и подготовка производства.

5.Полномасштабное производство.

6.Поддержка конечного продукта.

Типовая модель жизненного цикла продукции по Р 50-605-80-93

Вруководящем документе Р 50-605-80-93 тщательно проработан жизненный цикл промышленного изделия, в том числе – военной техники.

Для промышленной продукции гражданского назначения предложены следующие стадии:

1. Исследование и проектирование.

2. Изготовление.

3. Обращение и реализация.

4. Эксплуатация или потребление.

Врамках жизненного цикла промышленной продукции гражданского назна-

чения предложено рассматривать 73 вида работ и 23 типа стейкхолдеров («участников работ» по терминологии документа).

Для промышленной продукции военного назначения предложены следующие стадии:

1.Исследование и обоснование разработки.

2.Разработка.

3.Производство.

4.Эксплуатация.

5.Капитальный ремонт.

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

Типовая модель жизненного цикла программного обеспечения

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

Основные стадии жизненного цикла системы (Kossiakoff, Sweet, Seymour,

Biemer)

Как показано на рисунке «Модель жизненного цикла системы», модель жизненного цикла системы содержит 3 стадии. Первые 2 стадии приходятся на разработку, а третья стадия охватывает пост-разработку. Эти стадии показывают

19

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

стадию разработки концепции;

стадию технической разработки;

стадию пост-разработки.

Стадия разработки концепции

Целью стадии разработки концепции являются оценки новых возможностей

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

Модель жизненного цикла системы Основные цели стадии разработки концепции:

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

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

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

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

Стадия технической разработки

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

Основными целями стадии технической разработки являются:

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

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]