Скачать 3.64 Mb.
|
1.5Понятие требования. Классификации требований1.5.1Определение понятия требованияЛ.Новиков в русской редакции нотации RUP [2.9] приводит следующее определение: "Требование - это условие или возможность, которой должна соответствовать система". В IEEE Standard Glossary of Software Engineering Terminology (1990) [2.1] данное понятие трактуется шире. Требование - это:
Введем еще одно определение. Требования - это исходные данные, на основании которых проектируются и создаются автоматизированные информационные системы. Первичные данные поступают из различных источников, характеризуются противоречивостью, неполнотой, нечеткостью, изменчивостью. Требования нужны в частности для того, чтобы Разработчик мог определить и согласовать с Заказчиком временные и финансовые перспективы проекта автоматизации. Поэтому значительная часть требований должна быть собрана и обработана на ранних этапах создания АИС. Однако собрать на ранних стадиях все данные, необходимые для реализации АИС, удается только в исключительных случаях. На практике процесс сбора, анализа и обработки растянут во времени на протяжении всего жизненного цикла АИС, зачастую нетривиален и содержит множество подводных камней; подробнее о процессе - в лекциях 4 - 8. 1.5.2Классификация требованийСуществует значительное количество различных методов классификации требований [2.2-2.7], наиболее существенные из которых будут рассмотрены в лекции. Требования к продукту и процессуТребования к продукту. В своей основе требования - это то, что формулирует заказчик. Цель, которую он преследует - получить хороший конечный продукт: функциональный и удобный в использовании. Поэтому требования к продукту являются основополагающим классом требований. Более подробно требования к продукту детализируются в следующих ниже классификациях. Требования к проекту. Вопросы формулирования требований к проекту, т.е. к тому, как Разработчик будет выполнять работы по созданию целевой системы, казалось бы, не лежат в компетенции Заказчика. Без регламентации процесса Заказчиком легко можно было бы обойтись, если бы все проекты всегда выполнялись точно и в срок. Однако, к сожалению, мировая статистика результатов программных проектов говорит об обратном. Заказчик, вступая в договорные отношения с Разработчиком, несет различные риски, главными из которых является риск получить продукт с опозданием, либо ненадлежащего качества. Основные мероприятия по контролю и снижению риска - регламентация процесса создания программного обеспечения и его аудит. Насколько подробно Заказчику следует регламентировать требования к проекту - вопрос риторический. Ответ на него зависит от множества факторов, таких, как ценность конечного продукта для Заказчика, степень доверия Заказчика к Разработчику, сумма подписанного контракта, увязка срока сдачи продукта в эксплуатацию с бизнес-планами Заказчика и т.д. Однако, со всей определенностью можно сказать следующее:
В качестве требований к проекту могут быть внесен регламент отчетов Разработчика, совместных семинаров по оценке промежуточных результатов, определены характеристики компетенций участников рабочей группы, исполняющих проект, их количество, указана методология управления проектом. Ниже сформулирован пример формулировки требования к оффшорному проекту (Заказчик и Разработчик физически находятся в разных государствах) - в этой ситуации Заказчику требуется жесткий контроль над Разработчиком.
Уровни требованийВнедрение ИС на предприятии всегда преследует конкретные бизнес-цели - такие, как, например, повышение прозрачности бизнеса, сокращение сроков обработки информации, экономия накладных расходов и т.д. Современные информационные системы - это крупные программные системы, содержащие в себе множество модулей, функциональных, интерфейсных элементов, отчетов и т.д. Как охватить единым взором такие разнородные вещи, как цели, преследуемые топ-менеджером предприятия Заказчика, описание интерфейса пользователя и характеристики модуля, осуществляющего расчет себестоимости изделия? К счастью, человечество уже давно изобрело приемы борьбы со сложностью, широко применяемые в моделировании сложных объектов - абстракцию и декомпозицию. Применительно к дисциплине анализа требований к программным системам эти принципы работают следующим образом. Требования разделяются по уровням. Уровни требований связаны, с одной стороны, с уровнем абстракции системы, с другой - с уровнем управления на предприятии. Обычно выделяют три уровня требований.
Существуют объективные противоречия между требованиями различных уровней. Так, очевидным бизнес-требованием является требование о полноте информации, собираемой на рабочих местах пользователей в единую базу данных. Чем полнее информация - тем глубже база для анализа деятельности и принятия решений. С другой стороны, конкретному пользователю системы вполне может быть достаточно использования только той части информации, которая влияет на выполнение его основных функций. Важные правила внедрения и использования АИС на предприятии - "Одна точка сбора", "Данные собираются там, где они появляются". Использование этих правил позволяет избежать затрат на необоснованное дублирование информации и, что важнее - потерь от ошибок учета, неизбежно возникающих при дублировании точек ввода. Внедрение АИС на предприятии приводит к необходимости оснащения всех точек ввода информации автоматизированными рабочими местами (АРМ), обучению персонала и, зачастую, оптимизации и повышению уровня формализации рабочих процессов, выполняемых персоналом. Поэтому внедрение АИС - непростой процесс, часто требующий "перекройки человеческого материала" и встречающий сопротивление со стороны пользователей, которые не готовы, либо не хотят работать по-новому. Системные требования и требования к программному обеспечениюСуществуют различные трактовки понятия "Системные требования" (system requirements). К. Вигерс формулирует данный термин, как "высокоуровневые требования к продукту, которые содержат многие подсистемы, то есть системе" [2.2]. При этом под системой понимается программная, программно-аппаратная, либо человеко-машинная система. Данная система является сложной, структурированной системой и системные требования являются подмножеством функциональных требований к продукту. В данное подмножество целесообразно относить наиболее важные, существенные требования, которые относятся в целом к системе и не содержат избыточной детализации. INCOSE (International Council on Systems Engineering) дает более детальное определение системы: "комбинация взаимодействующих элементов, созданная для достижения определенных целей; может включать аппаратные средства, программное обеспечение, встроенное ПО, другие средства, людей, информацию, техники (подходы), службы и другие поддерживающие элементы". Таким образом, происходит разделение между системными требованиями, как обобщающему понятию и требованиями к программному обеспечению, как выделенному подмножеству системных требований, направленных исключительно на программные компоненты системы. Этот же подход прослеживается в стандарте ГОСТ Р ИСО/МЭК 12207/99 [2.8]: работы, связанные с системой в целом и с программным обеспечением выделяются в отдельные группы в целях удобства оперирования. В практике компьютерной инженерии бытует другой, более узкий контекст использования данного понятия: под системными требованиями в узком смысле понимается требования, выдвигаемые прикладной программной системой (в частности - информационной) к среде своего функционирования (системной, аппаратной). Пример таких требований - тактовая частота процессора, объем памяти, требования к выбору операционной системы. Функциональные, нефункциональные требования и характеристики продуктаФункциональные требования регламентируют функционирование или поведение системы (behavioral requirements). Функциональные требования отвечают на вопрос "что должна делать система" в тех или иных ситуациях. Функциональные требования определяют основной "фронт работ" Разработчика, и устанавливают цели, задачи и сервисы, предоставляемые системой Заказчику. Функциональные требования записываются, как правило, при посредстве предписывающих правил: "система должна позволять кладовщику формировать приходные и расходные накладные". Другим способом являются так называемые варианты использования (uses cases) - популярный и весьма продуктивный способ представления требований. Это - основной, определяющий вид требований, который будет рассматриваться на протяжении всего лекционного курса. Нефункциональные требования, соответственно, регламентируют внутренние и внешние условия или атрибуты функционирования системы. К. Вигерс [2.2] выделяет следующие основные группы нефункциональных требований:
Среди внешних интерфейсов в большинстве современных АИС наиболее важным является интерфейс пользователя (User Interface, UI). Кроме того, выделяются интерфейсы с внешними устройствами (аппаратные интерфейсы), программные интерфейсы и интерфейсы передачи информации (коммуникационные интерфейсы). Основные атрибуты качества:
достаточно хорошо раскрыты в модели FURPS (см. ниже). Ограничения [2.2] - формулировки условий, модифицирующих требования или наборы требований, сужая выбор возможных решений по их реализации. Выбор платформы реализации и/или развертывания (протоколы, серверы приложений, баз данных, ...), которые, в свою очередь, могут относиться, например, к внешним интерфейсам (конец цитаты). Характеристики продукта. К.Вигерс [2.2] формулирует характеристику, "фичу" (feature), как набор логически связанных функциональных требований, которые обеспечивают возможности пользователя и удовлетворяют бизнес-цели. Существует и более общий взгляд на данное понятие [2.9]: "features могут быть как относящимся к функциональным, так и к нефункциональным требованиям и могут изменяться от версии к версии продукта". С.Орлик в [2.6] отмечает, что "с точки зрения инженерии требований, features являются самостоятельным артефактом, который может быть соотнесен как с функциональными требованиями, так и с нефункциональными". Роль характеристик проявляется в первую очередь в области маркетинга: не всякий потенциальный потребитель продукта станет читать его функциональные описания, а набор ключевых характеристик, характеризующих конкурентные преимущества, можно сделать лаконичным и уместить на одной странице рекламной листовки, либо напечатать на компакт-диске. Классификация RUPВ спецификациях Rational Unified Process при классификации требований используется модель FURPS+ со ссылкой на стандарт IEEE Std 610.12.1990 [2.1]. Акроним FURPS обозначает следующие категории требований:
Символ "+" расширяет FURPS-модель, добавляя к ней:
часть из которых уже была рассмотрена выше. Кроме того, в спецификациях RUP выделяются такие категории требований, как
1.5.3Методологии и стандарты, регламентирующие работу с требованиямиСреди основополагающих нормативных документов в области работы с требованиями можно выделить следующие. 1. Разработки IEEE:
2. Отечественные ГОСТ:
|
Кодекс этики и профессиональной деятельности в области программной инженерии (версия 2) |
Рассказ о почве воспитателя Динозаврик отличается от слона тем, что у него длинная шея, короткие ноги, длинный и толстый хвост, а ещё он зелёного цвета |
||
Содержание ПО. По данным Института программной инженерии (Software Engineering Institute, sei) в последние годы до 80% всего эксплуатируемого... |
Национальный исследовательский университет «высшая школа экономики»... Библиотека распространяется как проект на C#. Для ее использования необходимо добавить этот проект в существующее решение |
||
Эрнест Цветков Ловушка для человека, или Путеводитель по внутренним... В последнее время как-то сама собой стерлась грань | между тем, что я пишу, тем, что я говорю и тем, что я делаю |
1. Спецификация метамодели программной и системной инженерии процессов, версия 0 (spem 0) В данном сокращенном переводе приведены те фрагменты текста, которые соответстсвуют понятийной части метамодели и не затрагивают... |
||
Что это такое рпд? В роторном же двигателе каждый процесс выполняется в отдельном отсеке камеры. Эффект мало чем отличается от разделения цилиндра на... |
Законодательство об охране труда Мы осуществляем печать учебных плакатов различной тематики, а также изготовление стендов. Наша продукция отличается высоким качеством... |
||
Инструкция по применению и техническому обслуживанию порошковых огнетушителей... Огнетушители порошковые ручные опу-5, 10; опг- 5, 7; оп-5Ф, 7Ф, 10Ф предназначены для тушения загораний различных веществ, горение... |
Илии Шугаева "Один раз на всю жизнь" В книге рассматриваются основы семейной жизни и решается целый ряд вопросов: чем отличается любовь от влюбленности, что такое первая... |
||
Программа психологического сопровождения и подготовки выпускников... Егэ как форма экзамена появился сравнительно недавно и ввиду внедрения каждый год меняются требования к проведению экзамена, и с... |
“Бизнес и Евангелие” с незамысловатой идеей о том, что только истинно-евангельская... От того, кто призывает к жизненной серьезности, слушатель требует не менее дотошного обоснования выводов, чем требуется от соискателя... |
||
Рцмо в 2014/15 учебном году предлагает проведение мониторингов Данный мониторинг отличается от предыдущих тем, что третий этап (итоговый) проводится по аналогии с гиа и егэ (индивидуальные пакеты,... |
Законы. 100 Каково же христианское понимание брака? Чем оно отличается от других религий и верований? Как совмещаются идеалы девства и супружества?... |
||
Мы благодарим Вас за поддержку! Сделав выбор в пользу нашего оборудования,... Олее важным качеством данной машины является то, что она может использоваться для упаковывания в вакууме или при подкачке азота при... |
2. Инструкции по технике безопасности Генератор может использоваться во многих областях и является превосходной поддержкой для работы осветительного оборудования |
Поиск |