
- •Понятие системной инженерии. Назначение и функции системной инженерии
- •Место системной инженерии в процессе разработки и эксплуатации информационных систем.
- •Связь системной инженерии с программной инженерии и управлениями проектами.
- •Процессы управления системной инженерией.
- •Стандарты системной инженерии.
- •Понятие требования к программной системе. Классификация требований к программной системе.
- •Свойства требований к программной системе. Анализ требований требований к программной системе.
- •Декомпозиция, распределение и валидация требований.
- •Структура и архитектура программного обеспечения
- •Архитектурные структуры и точки зрения
- •Архитектурные стили
Декомпозиция, распределение и валидация требований.
Понятие системной архитектуры. Функция, концепция, форма.
Структура и архитектура программного обеспечения
Архитектура программного обеспечения – описание подсистем, компонент программной системы и связей между ними. Архитектура задаёт способ, которым программная система организована.
На сегодняшний день сформировался взгляд на архитектуру, как на приложение общих принципов организации программных компонент, что привело к накоплению множества подходов и созданию различных архитектурных «фреймворков», то есть систематизированных комплексов методов, практик и инструментов, призванных формализовать имеющийся в индустрии опыт.
Фреймворк (англ. framework — каркас, структура) — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. В отличие от библиотек, которые объединяют набор подпрограмм близкой функциональности, фреймворк содержит в себе большое количество разных по назначению библиотек. Употребляется также слово «каркас», а некоторые авторы используют его в качестве основного, в том числе не базируясь вообще на англоязычном аналоге. Можно также говорить о каркасном подходе[3] как о подходе к построению программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть — каркас, не меняющийся от конфигурации к конфигурации и несущий в себе гнезда, в которых размещается вторая, переменная часть — сменные модули (или точки расширения) [википедия].
Примеры такой систематизации в форме фреймворков:
TOGAF [TOGAF81, 2003] – The Open Group Architecture Framework (на момент первичного написания данной главы доступен в версии 8.1, впервые опубликованной в декабре 2003 года; в 2009 году вышла версия TOGAF 9)
Модель Захмана – Zachman Framework [Zachman]
Руководство по архитектуре электронного правительства E-Gov Enterprise Architecture Guidance [E-Gov, 2002]
Архитектурные структуры и точки зрения
Принцип сужения предметной области с использованием точки зрения [пособие по ТССА] широко используется в программной инженерии. Система может рассматриваться с разных точек зрения – поведенческой, структурной, логической, физической и т.п. Следовательно, можно получить множество различных архитектурных представлений. Архитектурное представление может быть определено, как частные аспекты программной архитектуры, рассматривающие специфические свойства программной системы. Дизайн системы – комплекс архитектурных представлений, достаточный для реализации системы и удовлетворения требований, предъявляемых к системе.
Архитектурная структура – применение архитектурной точки зрения и представления к конкретной системе и описания тех деталей, которые необходимы для реализации системы, но отсутствуют в используемом представлении. Таким образом, представление, концентрируясь на заданном подмножестве свойств является составной частью и/или результатом точки зрения, а архитектурная структура – дальнейшей детализацией в отношении проектируемой системы [орлик]. В качестве примера архитектурных точек зрения можно рассматривать модель Захмана [Zachman].