Требования к ПО

Программные проекты можно разбить на три группы: управляемые пользователем, контролируемые пользователем и независимые от пользо­вателя [2]. Последние в данном учебном пособии рассматриваться не бу­дут. Наиболее оптимален проект, контролируемый пользователем. Но, без­условно, желательно и участие в этом процессе организации-разработчика ПО. Если в управляемом пользователем проекте разработчик ПО не при­влечен к определению требований, это увеличивает его шансы непра­вильно понять или неправильно интерпретировать требования. И управ­ляемые пользователем, и не зависимые от пользователя проекты должны планироваться таким образом, чтобы обеспечить участие обеих сторон.

Требования к системе должны разрабатываться небольшой группой. Один участник этой группы должен быть основным представителем орга­низации-пользователя, наделенным достаточными полномочиями, чтобы принять решения. Отметим, однако, что он обычно не является настоящим пользователем системы. Поэтому вторым членом группы должен быть че­ловек, который действительно будет пользоваться системой. Например, при разработке требований к системе резервирования авиабилетов им должен быть опытный кассир. Организация-разработчик также должна быть представлена в этой группе. Одним из ее представителей должен быть человек, который, в конечном счете, будет играть главную роль в процессе внешнего проектирования. Другим членом группы должен быть тот, кто будет играть ключевую роль в одном из процессов внутреннего проектирования. Что касается надежности, здесь ставится цель обеспечить максимально возможную аккуратность и точность в определении требова­ний пользователя, чтобы организация-разработчик ПО могла транслиро­вать эти требования в проект с минимальным числом ошибок.

О методах проверки правильности требований можно сказать, что пользователь несет ответственность за проверку требований на полноту и точность, а разработчик – на проверку осуществимости и понятности. В процессе проверки требований желательно установить приоритеты для ка­ждого из них, чтобы помочь разработчику ПО принимать компромисс­ные решения на следующих этапах проектирования.

Разработка лабораторной работы, описанной в подразд. 3.2., отно­сится к проектам, контролируемым пользователем, причем в качестве пользователя выступают преподаватели, которые будут использовать дан­ную лабораторную работу в своих курсах.