2 Формирование требований к программному обеспечению
2.1 Анализ и структурирование требований заказчика
Общие сведения: формулировка задания, цели, достигаемые разработкой, основание для проведения работ.
Необходимо выявить всех заинтересованных лиц (стейкхолдеров), которые будут пользоваться программой, поскольку при ее создании необходимо учесть требования всех заинтересованных лиц.
2.2 Моделирование предметной области
Описание предметной области.
Требования к системе обычно выглядят как фразы, построенные в виде утверждений: система должна делать то и не должна делать это. Для построения модели предметной области эти требования просматриваются, из них выделяются существительные и характеризующие их прилагательные. По ним строится словарь предметной области, выделяются сущности предметной области.
Пример:
Интернет - магазин по продаже книг. Построение модели предметной области в первом приближении на основе требований.
1) Интернет-магазин должен иметь веб-интерфейс, но он должен иметь возможность подключения через другие интерфейсы (веб-сервисы и т.п.)
2) Интернет-магазин предназначен для продажи книг, с оплатой заказов через интернет.
3) Пользователь должен иметь возможность добавить книги в онлайн корзину, после чего произвести оплату.
а) Пользователь может убрать предметы из корзины.
4) Пользователь должен иметь возможность вести списки желаемых покупок, т.е. книг, которые он хочет купить позже.
5) Пользователь должен иметь возможность отменить заказ до того, как он отправлен по почте.
6) Пользователь должен иметь возможность оплатить заказ кредитной картой или по счету на оплату.
7) Должна быть возможность вернуть книги.
8) Интернет-магазин должен встраиваться на сайты партнеров в виде мини-каталога, который составляется по основному каталогу, хранящемуся в центральной базе данных.
а) Мини-каталог должен быть построен на основе XML для того, чтобы была возможность передавать его между системами.
б) Система доставки по почте должна работать через почтового оператора.
9) Пользователь должен иметь возможность создать учетную запись клиента, чтобы система запоминала данные пользователя (имя, адрес, данные банковской карты и т.д.) и восстанавливала их при входе.
а) Система должна вести основной список учетных записей в центральной базе данных.
б) При входе пользователя его пароль должен сверяться с паролем в основном списке паролей, сохраненным в базе данных.
10) Пользователь должен иметь возможность искать книги различными способами поиска – по заголовку, по автору, ключевому слову или категории и после поиска просматривать детальное описание книги.
11) Пользователь должен иметь возможность оставлять отзывы на понравившиеся книги. Оставленные отзывы должны появляться в детальном описании книги. Отзыв должен включать выставленный клиентом рейтинг (1-5), который должен показываться вместе с заголовком книги в списке книг.
а) Отзывы на книгу должны модерироваться, т.е. им должен присваиваться статус Ok кем-то из администраторов прежде, чем они появятся на сайте.
б) Длинные отзывы должны обрезаться при выводе детального описания книги. Клиент может щелкнуть по отзыву, чтобы просмотреть полный отзыв на отдельной странице.
12) Должна быть возможность размещения администраторами редакторских отзывов. Они также должны появляться на странице с детальным описанием книги.
13) Интернет-магазин должен позволять сторонним продавцам (например, магазинам подержанных книг) добавлять свои каталоги книг в основной каталог книг, так чтобы книги этих продавцов присутствовали в результатах поиска.
14) Интернет-магазин должен быть масштабируем со следующими требованиями:
а) Должна быть возможность управлять до 100 тыс. учетных записей пользователей за первые шесть месяцев работы и затем до одного миллиона пользователей.
б) Должна быть возможность обслуживать одновременно 1000 посетителей (до 10000 тысяч после шести месяцев)
в) Система должна обслуживать 100 поисковых запросов в минуту (1 тыс./мин. после шести месяцев)
г) Система должна обслуживать 100 покупок в час (1 тыс./час после шести месяцев)
2.3 Методы проведения обследования предметной области
Оформление спецификации требований программного обеспечения (Техническое задание на разработку).
Требования к разработке: информационная модель, функциональные требования, требования к информационному обеспечению, требования к интерфейсу, требования к алгоритмам и языку программирования, требования к аппаратной и программной конфигурации.
Порядок контроля и обеспечение качества: экспертиза, тестирование, опытная эксплуатация.
Требования к документированию.
2.4 Конструирование прототипа согласно спецификации заказчика
Дать ответы на следующие вопросы
Прототип фиксирует решения:
1) Какие экраны будут у системы?
2) Как будут взаимосвязаны экраны?
3) Какие блоки будут на каждом экране?
4) Каково будет взаиморасположение (компоновка) блоков на экране?
5) Каковы будут относительные пропорции блоков и элементов?
6) Каково будет поведение блоков и элементов (если прототип динамический)?