Выработка концепции. Планирование
2.5.2. Концепция решения
Концепция решения (solution concept) предоставляет общее описание подходов, которые проектная группа предполагает использовать для разрешения проблем и/или удовлетворения потребностей заинтересованных сторон.
Цели и Задачи
Формирование концепции решения начинается с выяснения у заинтересованных сторон, описания и фиксации проектной группой целей проекта. Далее каждая цель разбивается на измеримые компоненты - задачи.
В нашем случае цели системы:
- работать с аэропортами и рейсами;
- подобрать клиенту оптимальный маршрут.
Задачи системы:
- решать однокритериальную задачу поиска кратчайших путей на графах (критерий - цена);
- работать с базой данных аэропорта;
- бронировать билеты;
- …
Предположения и Ограничения
В процессе формирования концепции решения проектная группа постоянно взаимодействует с заинтересованными сторонами, собирая необходимую информацию о требованиях к функциональности будущего решения. Тем не менее, неизбежная неполнота информации приводит к тому, что относительно некоторых функциональных возможностей решения могут потребоваться предположения (assumptions). Помимо функциональных требований заинтересованные стороны могут выдвигать качественные требования, задающие ограничения на создаваемое решение. Также ограничения могут порождаться средой, в которой должно будет функционировать решение после внедрения.
В нашем случае на первую вариант системы накладываются следующие ограничения:
- система не является распределенной;
- нет разграничения прав между менеджерами и пользователями;
- интерфейс системы представлен в одном окне;
- система должна наглядно демонстрировать формы и способы хранения и взаимодействия данных.
Пользователи
Основой формулировки требований является анализ использования, включающий определение пользователей (users) и описание того, как пользователи будут взаимодействовать с решением.
В системе будет две группы пользователей:
- Менеджеры аэропорта
- Покупатели билетов
Сценарии использования
Сценарии использования (usage scenarios) определяют последовательности действий, которые пользователи выполняют при взаимодействии с решением. MSF не специфицирует явным образом способы описания сценариев использования. Один из возможных (и достаточно распространенных) вариантов - язык UML.
Начнем с диаграммы использования.
Затем расшифруем отдельные сценарии.
2.5.3. Рамки
Рамки (scope) определяют пространство параметров, в котором будет создаваться решение, детализируя функциональность, определяя, что останется за рамками решения и указывая критерии, по которым заинтересованные лица будут судить о готовности решения. Рамки создаются на основе единого видения, являются результатом компромисса между сформулированными целями и условиями реальности и отражают приоритезацию заказчиком имеющихся требований к создаваемому решению. Частью процесса определения рамок проекта является вынесение менее важной функциональности из текущего проекта в планы на будущее.
Рамки решения (solution scope) определяют функциональность решения и его возможности (включая те, что не относятся к программному обеспечению). Возможность (функциональность, составляющая, feature) - это требуемый или желаемый аспект программного или аппаратного обеспечения. Например, предварительный просмотр перед печатью может быть возможностью текстового процессора; шифрование почтовых сообщений - возможностью почтовой программы. Сопроводительные руководства пользователей, интерактивные файлы помощи, операционные руководства и обучение также могут быть составляющими решения.
Рамки проекта (project scope) определяют объем работ, который должен быть выполнен проектной группой для поставки заказчику каждого из элементов, определенного рамками решения.
Функциональность решения
- Хранилище находится в оперативной памяти
- Добавление аэропортов по нажатию кнопки
- Проверка корректности введеных данных
- Проверка существования аэропорта с введенным номером
- Создание визуальной формы для отображения аэропорта
- Проверка корректности введеных данных
- Добавление рейсов
- Проверка корректности введены данных
- Проверка существования рейса с введенным номером
- Проверка на существование аэропортов рейса
- Добавление в визуальные формы аэропортов информации о добавленных рейсах
- Удаление аэропортов
- Удаление всех сопутствующих рейсов
- Удаление рейсов
- Поиск минимального по стоимости маршрута
- Заказ билетов на найденные маршруты