Методы первичного сбора требований. Модели системы. Языки специфики требований. Оценка требований
Курсовая работа, 07 Июля 2013, автор: пользователь скрыл имя
Описание работы
Проблемы, которые приходится решать специалистам в процессе создания программного обеспечения, обычно очень сложны. Природа этих проблем не всегда ясна, особенно если разрабатываемая программная система инновационная. В частности, трудно четко описать те действия, которые должна выполнять система. Описание функциональных возможностей и ограничений, накладываемых на программную систему, называется требованиями к этой системе, а сам процесс формирования, анализа, документирования и проверки этих функциональных возможностей и ограничений — разработкой требований (requirements engineering). Здесь внимание концентрируется на самих требованиях и способах их описания, языках спецификации требований и основных моделях системы.
Содержание работы
ВВЕДЕНИЕ 2
МЕТОДЫ ПЕРВИЧНОГО СБОРА ТРЕБОВАНИЙ. 3
Формирование и анализ требований. 3
С-требования и D-требования 3
Причины написания требований. 3
Типичная схема процесса анализа требований 4
Преимущества анализа требований и проблемы, связанные с ним. 5
Взаимодействие с заказчиком 6
Методы сбора требований 7
ЯЗЫКИ СПЕЦИФИКАЦИИ ТРЕБОВНИЙ (СЦЕНАРИИ, PDL, ПОТОКОВЫЕ ДИАГРАММЫ) 11
Структурированный язык спецификаций. 11
Создание спецификаций с помощью PDL 12
Сценарии. 13
Сценарии событий 14
Варианты использования 14
Диаграммы потоков данных 14
Диаграммы переходов состояний 15
МОДЕЛИ СИСТЕМ 16
Назначение, недостатки, типы. 16
Модели системного окружения. 17
Поведенческие модели 19
Модели данных 21
Объектные модели 23
Инструментальные CASE-средства 26
ОЦЕНКА ТРЕБОВАНИЙ (ГОСТ Р ИСО/МЭК 12207) 28
Список литературы: 36
Файлы: 1 файл
Курсач.docx
— 335.01 Кб (Скачать файл)Разработчики несут профессиональную ответственность, что может основательно влиять на требования. Предположим, например, что разработчиков попросили создать программное обеспечение для медицинского устройства, причем бюджет разработки фиксирован, однако разработчики установили, что требуемые характеристики невозможно в достаточной мере протестировать, не выходя за пределы бюджета. Если бюджет не будет изменен, им придется поступиться требованиями. Даже если от этого не будет зависеть человеческая жизнь, разработчики в любом случае несут социальную ответственность за производство продуктов, в точности соответствующих предъявляемым к ним требованиям. Это в большой мере затрагивает управление требованиями проекта, с тем чтобы сформулированные требования можно было выполнить в пределах бюджетных или временных ограничений.
Хороший руководитель проекта умеет преодолевать эти трудности — это процесс, требующий организаторских, личных, деловых и политических навыков.
Методы сбора требований
Проведение опроса и документирование (интервьюирование).
Большая часть
анализа требований является коммуникационной
деятельностью, тщательно организованной
для получения наилучших
Поскольку обычно имеется несколько финансово заинтересованных лиц, желающих сделать свой вклад в общее дело, первый вопрос — решить, кого опрашивать. Вместо того чтобы пытаться предоставить каждому одинаковое количество времени, что может привести к противоречивым требованиям и зря потраченным усилиям, рекомендуется выбрать одно или, возможно, два основных заинтересованных лица, опросить их, а затем уже собрать комментарии у остальных основных финансово заинтересованных лиц. Процесс опроса мнений заказчиков обычно дорогостоящий, требующий значительных временных затрат более чем одного человека. По этой причине его следует точно спланировать. Предпочтительнее иметь двух интервьюеров на каждом собрании, поскольку считается, что один интервьюер имеет тенденцию пропускать некоторые важные вопросы. Может также оказаться полезным записать собеседование на пленку, но не забудьте заранее спросить разрешения у всех участников.
Хотя очень
важно внимательно слушать
Мы придаем особое значение использованию примеров как эффективному способу получить и сформулировать требования для широкого спектра приложений. Для некоторых требований необходимо составить диаграммы;. Для утверждения требований в письменной форме интервьюеры подготавливают и посылают по электронной почте список требований, при необходимости устраивая повторное собрание. Не забывайте также, что еще придется формулировать D-требования, что также потребует времени на проведение собраний.
После собрания делается черновик С-требований, например, в формате стандарта IEEE или по ГОСТ Р ИСО/МЭК 12207. Затем этот черновик посылается по электронной почте заказчикам для комментариев. Повторные опросы проводятся до полной удовлетворенности заказчиков С-требованиями.
Анкетирование.
Данный метод
заключается в составлении
«Мозговой штурм»
Метод заключается
в обсуждении требований и записи
всего, что придет в голову с последующей
сортировкой и обработкой полученных
требований и установкой приоритетов.
Метод удобен, когда обсуждаются
нестандартные решения
Сценарии и ролевые игры.
Метод заключается
в создании легко модифицируемого
схематичного сценария работы системы
(не прототипа), который обсуждается
с пользователем. Метод направлен
на поиск актеров, участвующих в
работе системы и получения от
будущих пользователей обратной
связи, например по вопросам интерфейса
или по вопросам «что будет если...».
Для ролевых игр могут
Создание прототипов.
Метод заключается
в создании скелета системы –
прототипа, который позволяет предметно
обсуждать с пользователем
Совместная разработка приложений .
Метод заключается в том, чтобы собрать всех заинтересованных лиц в одной комнате на день-два для интенсивной работы по идентификации требований их документированием и назначением приоритетов. Метод позволяет значительно сократить время опроса пользователей по отдельности, но требует высокой квалификации того, кто ведет JAD-совещание. Ведущий должен быть политически нейтральным, достаточно хорошо знакомым с областью деятельности, на которую рассчитан проект. Успех во многом зависит от позиции заинтересованных сторон и тех, кто принимает решения и их готовности к сотрудничеству. Этот метод хорошо сочетается с моделированием и, с некоторыми ограничениями, – созданием прототипов.
Моделирование.
Метод заключается
в создании и обсуждении моделей автоматизир
Изучить аналогичные системы
Стартовой точкой многих проектов является похожая или существующая система. Иногда сопоставимые продукты и системы содержат рабочие версии хороших идей для решения проблем пользователей. Вы можете сберечь время на изобретение велосипеда, изучая системы, которые уже представлены на рынке, либо системы, установленные на рабочем месте пользователя, или продукты, сделанные конкурирующими организациями. Даже, если они пытаются решать несколько иные задачи, они часто дают ценные сведения о том, что вам необходимо сделать.
Внимательно слушайте, когда клиент спрашивает о том, что продукт не может сделать что-то, что необходимо клиенту, составьте список этих предложений. Позже используйте его, чтобы начать обсуждение с другими пользователями. Вы должны суметь получить некоторые требования непосредственно этим способом. Если не получится, включите и сохраните эти предложения для будущего использования.
Вы можете
описать пользователям
Такой процесс может включать такие виды деятельности:
Чтение документа от начала до конца (несколько раз) для того, чтобы понять, что клиент (заказчик) хочет и что действительно написано.
Классификация всех типов информации в этом документе. (пользователь, системное требование, элементы решения, планы, базовые материалы, не относящиеся к делу подробности)
Пометки в оригинальном тексте, чтобы выделить такие требования.
Поиск хорошей структуры для каждого из различных типов информации:
-сценарий для пользовательских требования,
-функциональный анализ (декомпозиция) для системных требований
-архитектурный стиль для проектирования.
- Организация информации, чтобы показать пробелы и наложения.
- Создание связи трассировки между этими информационными элементами, чтобы точно показать проектировщикам, чего хотят пользователи.
- Согласование с заказчиком о принятии новой информацию как основы для соглашения (контракта).
Необходимо помнить, что формирование и анализ требований процесс цикличный, и в ходе проектирования проекта придется не раз вносить изменения. Для того, чтобы правильно и грамотно описать требования необходимо разобраться в языках записи спецификаций требований, что позволит в дальнейшем с минимальными проблемами и затратами вносить изменения.
ЯЗЫКИ СПЕЦИФИКАЦИИ ТРЕБОВНИЙ (СЦЕНАРИИ, PDL, ПОТОКОВЫЕ ДИАГРАММЫ)
Как мы уже говорили выше, результатом анализа требований является документ, который называют спецификацией требований к программному обеспечению. Все требования в SRS должны быть написаны так, чтобы они были понятны даже пользователю, не имеющему специальных технических знаний. Их желательно описывать естественным языком, но тогда могут возникнуть некоторые проблемы:
Отсутствие четкости изложения. Иногда нелегко изложить какую-либо мысль естественным языком четко и недвусмысленно, не сделав при этом текст многослойным и трудночитаемым.
Смешение требований. В пользовательских требованиях отсутствует четкое разделении требований.
Объединение требований. Несколько различных требований могут описываться как единое пользовательское требование.
Во избежание
этих проблем рекомендуется
- Структурированный естественный язык. Использование стандартных форм и шаблонов для написания спецификации
- Языки описания программ. Использование специальных структурированных языков, подобных языкам программирования, где спецификация требований строится на основе выбранной операционной модели системы.
- Графический язык. Графический язык, использующий для описания функциональных требований диаграммы и блок-схемы, дополненные текстовыми пояснениями. Наиболее известный пример такого графического языка—диаграммы структурного анализа и проектирования ПО.
- Математическое описание. Это системы нотаций, основанные на математических концепциях, таких, как теория конечных автоматов или теория множеств. Это формализованная однозначная и лишенная двусмысленности запись системных требований. Однако многие заказчики ПО не понимают формальных спецификаций, вследствие чего возникают определенные проблемы при заключении контрактов на разработку программных продуктов.