Во время процесса аттестации
должны быть выполнены различные
типы проверок требований.
- Проверка правильности требований. Пользователь может считать, что система необходима для выполнения некоторых определенных функций. Однако дальнейшие размышления и анализ могут привести к необходимости введения дополнительных или новых функций. Системы предназначены для разных пользователей с различными потребностями, и поэтому набор требований будет представлять собой некоторый компромисс между требованиями пользователей системы.
- Проверка на непротиворечивость. Спецификация требований не должна содержать противоречий. Это означает, что в требованиях не должно быть противоречащих друг другу ограничений или различных описаний одной и той же системной функции.
- Проверка на полноту. Спецификация требований должна содержать требования, которые определяют все системные функции и ограничения, налагаемые на систему.
- Проверка на выполнимость. На основе знания существующих технологий требования должны быть проверены на возможность их реального выполнения. Здесь также проверяются возможности финансирования и график разработки системы.
Существует ряд методов
аттестации требований, которые можно
использовать совместно или каждый
в отдельности.
- Обзор требований. Требования системно анализируются рецензентами.
- Прототипирование. На этом этапе прототип системы демонстрируется конечным пользователям и заказчику. Они могут экспериментировать с этим прототипом, чтобы убедиться, что он отвечает их потребностям.
- Генерация тестовых сценариев. В идеале требования должны быть такими, чтобы их реализацию можно было протестировать. Если тесты для требований разрабатываются как часть процесса аттестации, то часто это позволяет обнаружить проблемы в спецификации. Если такие тесты сложно или невозможно разработать, то обычно это означает, что требования трудно выполнить и поэтому необходимо их пересмотреть.
- Автоматизированный анализ непротиворечивости. Если требования представлены в виде структурных или формальных системных моделей, можно использовать инструментальные CASE-средства для проверки непротиворечивости моделей. Для автоматизированной проверки непротиворечивости необходимо построить базу данных требований и затем проверить все требования в этой базе данных. Анализатор требований готовит отчёт обо всех обнаруженных противоречиях.
Пользовательские
и системные требования
На основании полученных
моделей строятся пользовательские
требования, т.е. как было сказано
в начале описание на естественном языке
функции, выполняемых системой, и ограничений,
накладываемых на неё.
Пользовательские требования
должны описывать внешнее поведение
системы, основные функции и сервисы
предоставляемые системой, её нефункциональные
свойства. Необходимо выделить опорные
точки зрения и сгруппировать требования
в соответствии с ними. Пользовательские
требования можно оформить как простым
перечислением, так и используя нотацию
вариантов использования.
Далее составляются системные
требования. Они включат в себя:
- Требования к архитектуре системы. Например, число и размещение хранилищ и серверов приложений.
- Требования к параметрам оборудования. Например, частота процессоров серверов и клиентов, объём хранилищ, размер оперативной и видео памяти, пропускная способность канала и т.д.
- Требования к параметрам системы. Например, время отклика на действие пользователя, максимальный размер передаваемого файла, максимальная скорость передачи данных, максимальное число одновременно работающих пользователей и т.д.
- Требования к программному интерфейсу.
- Требования к структуре системы. Например, масштабируемость, распределённость, модульность, открытость.
- масштабируемость – возможность распространения системы на большое количество машин, не приводящая к потере работоспособности и эффективности, при этом способность системы наращивать свою мощность должна определяться только мощностью соответствующего аппаратного обеспечения.
- распределённость - система должна поддерживать распределённое хранение данных.
- модульность - система должна состоять из отдельных модулей, интегрированных между собой.
- открытость - наличие открытых интерфейсов для возможной доработки и интеграции с другими системами.
- Требования по взаимодействию и интеграции с другими системами. Например, использование общей базы данных, возможность получения данных из баз данных определённых систем и т.д.
4. Порядок выполнения
работы
- Изучить предлагаемый теоретический материал.
- Построить опорные точки зрения на основании метода VORD для формирования и анализа требований. Результатом должны явиться две диаграммы: диаграмма идентификации точек зрения и диаграмма иерархии точек зрения.
- Составить информационную модель будущей системы, включающую в себя описание основных объектов системы и взаимодействия между ними. На основании полученной информационной модели и диаграмм идентификации точек зрения, диаграмма иерархии точек зрения сформировать требования пользователя и системные требования.
- Провести аттестацию требований, указать какие типы проверок выбрали.
- На основании описания системы (Лабораторная работа №1), информационной модели, пользовательских и системных требований составить техническое задание на создание программного обеспечения. ТЗ должно содержать основные разделы, описанные в ГОСТ 34.602-89.
- Построить отчёт, включающий все полученные уровни модели, описание функциональных блоков, потоков данных, хранилищ и внешних объектов.
5. Содержание отчёта
В отчёте следует указать:
- Цель работы
- Введение
- Программно-аппаратные средства, используемые при выполнении работы.
- Основная часть (описание самой работы), выполненная согласно требованиям к результатам выполнения лабораторного практикума (п.2).
- Заключение (выводы)
- Список используемой литературы
6. Литература
- ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению
- ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы
- Иванова Г.С. Технология программирования: Учебник для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. - 320 с.
- Константайн Л., Локвуд Л. Разработка программного обеспечения. - СПб.: Питер, 2004. - 592 с.
- Соммервиль Иан. Инженерия программного обеспечения, 6-е издание. Пер. с англ. - М.: Вильямс, 2002. - 624 с.
- Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. - СПб.: Питер, 2002. - 496 с.
7. Контрольные вопросы
к лабораторной работе №2
1. Предложите, кто бы мог участвовать
в формировании требований для университетской
системы регистрации студентов. Объясните,
почему почти неизбежно, что требования,
сформулированные разными лицами, будут
противоречивы.
2. Разрабатывается система ПО для автоматизации
библиотечного каталога. Эта система будет
содержать информацию относительно всех
книг в библиотеке и будет полезна библиотечному
персоналу, абонентам и читателям. Система
должна иметь средства просмотра каталога,
средства создания запросов и средства,
позволяющие пользователям резервировать
книги, находящиеся в данный момент на
руках. Определите основные опорные точки
зрения, которые необходимо учесть в спецификации
системы, и покажите их взаимоотношения,
используя диаграмму иерархии точек зрения.
3. Для трех точек зрения, определенных
в системе библиотечного каталога, укажите
сервисы и соответствующие данные, которые
обеспечиваются этими точками зрения,
и события, которые управляют этими сервисами.
4. Кто должен проводить обзор требований?
Нарисуйте модель процесса обзора требований.
5. Ваша компания использует стандартный
метод анализа требований. В процессе
работы вы обнаружили, что этот метод не
учитывает социальные факторы, важные
для системы, которую вы анализируете.
Ваш руководитель дал вам ясно понять,
какому методу анализа нужно следовать.
Обсудите, что вы должны делать в такой
ситуации.