Разработка информационных систем (ИС) различных предприятий является одной из наиболее популярных тем ВКР среди выпускников, защищающих диплом по прикладной информатике. Разработка ИС начинается с постановки задачи, с выяснения требований к системе, в результате чего формируется модель вариантов использования. Эта модель становится «отправной точкой» для дальнейших процессов проектирования и реализации. Но одних вариантов использования оказывается недостаточно, чтобы получить работающую систему, необходимо разработать архитектуру ПО.
Современная ИС представляет собой сложный программный комплекс, над которым работает коллектив специалистов. Разработку такой ИС можно сравнить со строительством жилого комплекса. Как и при строительстве жилого комплекса, так и при разработке ИС требуется проектирование архитектуры объекта. Под архитектурой ПО следует понимать единую концепцию системы, с которой все сотрудники (проектировщики, разработчики и другие заинтересованные лица) должны согласиться (или хотя бы смириться), поскольку все свои решения и разработки они должны будут приводить в соответствие с проектом архитектуры ПО.
При написании диплома по прикладной информатике проект архитектуры ПО может включать только наиболее важные элементы моделей, описывающие основу системы, достаточную для ее понимания. Следует помнить, что язык описания архитектуры ПО должен быть понятен и заказчику и будущему пользователю ИС. При написании диплома, как правило, один человек выступает и в роли проектировщика, и в роли разработчика ИС. На практике же эти задачи решаются разными людьми, поэтому описание архитектуры ПО, составленное проектировщиком, должно быть понятно и разработчику системы. Для этого в дипломной работе рекомендуется использовать язык UML.
Разработка архитектуры ПО не выделяется как отдельный этап модели жизненного цикла, поскольку она создается в течение нескольких итераций на фазах анализа, определения требований и проектирования. Можно сказать, что основной целью проектирования является создание архитектуры ПО. Продолжая проводить параллель со строительством жилого комплекса, архитектуру ПО можно назвать фундаментом для «строительства» ИС.
Архитектура ПО включает в себя следующие данные:
•Об организации системы в целом
•О структурных элементах системы и их поведении, об их интерфейсах
•О составе структурных элементов в наиболее крупных подсистемах
•О стиле архитектуры, принятом в конкретной организации
Архитектура ПО является, по сути, совокупностью представлений основных моделей: вариантов использования, анализа и проектирования. Разрабатываемая ИС – эта единая сущность, но архитектор и разработчики рассматривают ее с разных точек зрения, которые и описываются разными представлениями одних и тех же моделей системы. Для дипломника, который совмещает в своем лице и архитектора и разработчика, бывает достаточно сложно «раздвоиться» и увидеть разрабатываемую систему глазами разных специалистов. Чем будет описание архитектуры ПО отличаться от перечисленных моделей? Архитектурное представление каждой модели включает в себя часть этой модели, а именно ту часть, которая значима с точки зрения архитектуры, которая оказывает влияние на архитектуру ПО. Таким образом, в описании архитектуры ПО нет ничего сверхъестественного!
Обратимся еще раз к аналогии с жилым комплексом. При проектировании системы водоснабжения для каждой квартиры указывается (с учетом пожеланий будущих жильцов) где будет установлена раковина, где душевая кабина, на какой высоте расположить полотенцесушитель – это «модель проектирования». Но с точки зрения архитектуры важно только то, где будут проходить водопроводные стояки всего дома, чтобы не проектировать в этом месте шахту лифта.
Итак, для чего нужна разработка архитектуры ПО?
•Она способствует пониманию системы в целом (современные ИС реализуют сложное поведение, обслуживают запросы многих пользователей, имеют высокий уровень технологической сложности).
•Архитектура ПО помогает организовать разработку ИС, даже если она разбита на множество проектов, выполняемых в разное время и в разных местах; позволяет развивать систему в дальнейшем.
•Она дает возможность повторного использования кода, что сокращает затраты на разработку.
При написании пояснительной записки целесообразно не просто выделить архитектурно значимые элементы каждой модели, но и отдельно представить архитектурное описание модели, при этом допускается использование образцов архитектуры и следует учитывать требования стандартов. Если дипломник уделяет особое внимание архитектуре ПО, это значит, что он понимает ее огромное значение.