Архитектура – это совокупность существенных решений относительно:
- организации программной системы;
- выбора структурных элементов, составляющих систему, и их интерфейсов;
- поведения этих элементов, специфицированного в кооперациях с другими элементами;
- составления из этих структурных и поведенческих элементов все более и более крупных подсистем;
- архитектурного стиля, направляющего и определяющего всю организацию системы: статические и динамические элементы, их интерфейсы, кооперации и способ их объединения.
Архитектура программной системы наиболее оптимально может быть описана с помощью пяти взаимосвязанных видов или представлений, каждый из которых является одной из возможных проекций организации и структуры системы и заостряет внимание на определенном аспекте ее функционирования:
1. Вид с точки зрения прецедентов.
В системе можно выделить следующие прецеденты (варианты использования), описывающие поведение системы, наблюдаемое конечным пользователем (актером):
- Отображение списка клиентов и поиск
- Добавление нового клиента
- Редактирование информации о клиенте
- Удаление клиента
- Отображение списка объектов и поиск
- Добавление объекта
- Редактирование информации об объекте
- Удаление объекта
- Просмотр и редактирование
- Добавление вида работ
- Удаление
- Добавление нового документа
- Просмотр и редактирование информации о документе
- Удаление документа
- Формирование отчета
В системе можно выделить следующие функциональные требования:
- Ведение списка клиентов
- Ведение реестра объектов
- Ведение реестра видов работ
- Ведение реестра документов
- Формирование отчетов
2. Вид с точки зрения проектирования.
В системе можно выделить следующие объекты:
- Договор
- Клиент
- Объект
- Вид работ
- Документ
- Отчет
- Список клиентов
- Список объектов
- Список видов работ
- Реестр документов
- Проект
- Проектная документация
а так же следующие классы и интерфейсы:
- Главная форма
- Форма «Добавление нового клиента»
- Форма «Добавление нового объекта»
- Форма «Добавление нового вида работ»
- Форма «Конструктор отчетов»
- Класс «Список клиентов»
- Класс «Реестр объектов»
- Класс «Реестр видов работ»
- Класс «Реестр документов»
3. Вид с точки зрения процессов.
В системе выделяются следующие процессы:
- Получение заказа
- Занесение клиента в список клиентов
- Занесение объекта в список объектов
- Занесение вида работ в список видов работ
- Занесение документов в реестр документов
- Получение необходимых документов от надзорных органов и от заказчика
- Выполнение проекта
- Согласование с заказчиком
- Формирование отчетов
- Подготовка проекта для передачи заказчику
4. Вид с точки зрения реализации.
Для разработки программного модуля используется среда программирования Microsoft Visual Basic. Каждый класс формы реализуется в виде соответствующего компонента. Для связи с базой данных используется компоненты ODBC.
5. Вид с точки зрения развертывания.
Система должна быть развернута следующим образом:
На компьютер сервер устанавливается MySQL, содержащий базы данных.
На компьютер клиента устанавливается разработанный программный модуль.