Автор работы: Пользователь скрыл имя, 07 Июля 2013 в 14:13, курсовая работа
Проблемы, которые приходится решать специалистам в процессе создания программного обеспечения, обычно очень сложны. Природа этих проблем не всегда ясна, особенно если разрабатываемая программная система инновационная. В частности, трудно четко описать те действия, которые должна выполнять система. Описание функциональных возможностей и ограничений, накладываемых на программную систему, называется требованиями к этой системе, а сам процесс формирования, анализа, документирования и проверки этих функциональных возможностей и ограничений — разработкой требований (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
Разработчики несут профессиональную ответственность, что может основательно влиять на требования. Предположим, например, что разработчиков попросили создать программное обеспечение для медицинского устройства, причем бюджет разработки фиксирован, однако разработчики установили, что требуемые характеристики невозможно в достаточной мере протестировать, не выходя за пределы бюджета. Если бюджет не будет изменен, им придется поступиться требованиями. Даже если от этого не будет зависеть человеческая жизнь, разработчики в любом случае несут социальную ответственность за производство продуктов, в точности соответствующих предъявляемым к ним требованиям. Это в большой мере затрагивает управление требованиями проекта, с тем чтобы сформулированные требования можно было выполнить в пределах бюджетных или временных ограничений.
Хороший руководитель проекта умеет преодолевать эти трудности — это процесс, требующий организаторских, личных, деловых и политических навыков.
Большая часть
анализа требований является коммуникационной
деятельностью, тщательно организованной
для получения наилучших
Поскольку обычно имеется несколько финансово заинтересованных лиц, желающих сделать свой вклад в общее дело, первый вопрос — решить, кого опрашивать. Вместо того чтобы пытаться предоставить каждому одинаковое количество времени, что может привести к противоречивым требованиям и зря потраченным усилиям, рекомендуется выбрать одно или, возможно, два основных заинтересованных лица, опросить их, а затем уже собрать комментарии у остальных основных финансово заинтересованных лиц. Процесс опроса мнений заказчиков обычно дорогостоящий, требующий значительных временных затрат более чем одного человека. По этой причине его следует точно спланировать. Предпочтительнее иметь двух интервьюеров на каждом собрании, поскольку считается, что один интервьюер имеет тенденцию пропускать некоторые важные вопросы. Может также оказаться полезным записать собеседование на пленку, но не забудьте заранее спросить разрешения у всех участников.
Хотя очень
важно внимательно слушать
Мы придаем особое значение использованию примеров как эффективному способу получить и сформулировать требования для широкого спектра приложений. Для некоторых требований необходимо составить диаграммы;. Для утверждения требований в письменной форме интервьюеры подготавливают и посылают по электронной почте список требований, при необходимости устраивая повторное собрание. Не забывайте также, что еще придется формулировать D-требования, что также потребует времени на проведение собраний.
После собрания делается черновик С-требований, например, в формате стандарта IEEE или по ГОСТ Р ИСО/МЭК 12207. Затем этот черновик посылается по электронной почте заказчикам для комментариев. Повторные опросы проводятся до полной удовлетворенности заказчиков С-требованиями.
Данный метод
заключается в составлении
Метод заключается
в обсуждении требований и записи
всего, что придет в голову с последующей
сортировкой и обработкой полученных
требований и установкой приоритетов.
Метод удобен, когда обсуждаются
нестандартные решения
Метод заключается
в создании легко модифицируемого
схематичного сценария работы системы
(не прототипа), который обсуждается
с пользователем. Метод направлен
на поиск актеров, участвующих в
работе системы и получения от
будущих пользователей обратной
связи, например по вопросам интерфейса
или по вопросам «что будет если...».
Для ролевых игр могут
Метод заключается
в создании скелета системы –
прототипа, который позволяет предметно
обсуждать с пользователем
Метод заключается в том, чтобы собрать всех заинтересованных лиц в одной комнате на день-два для интенсивной работы по идентификации требований их документированием и назначением приоритетов. Метод позволяет значительно сократить время опроса пользователей по отдельности, но требует высокой квалификации того, кто ведет JAD-совещание. Ведущий должен быть политически нейтральным, достаточно хорошо знакомым с областью деятельности, на которую рассчитан проект. Успех во многом зависит от позиции заинтересованных сторон и тех, кто принимает решения и их готовности к сотрудничеству. Этот метод хорошо сочетается с моделированием и, с некоторыми ограничениями, – созданием прототипов.
Метод заключается
в создании и обсуждении моделей автоматизир
Стартовой точкой многих проектов является похожая или существующая система. Иногда сопоставимые продукты и системы содержат рабочие версии хороших идей для решения проблем пользователей. Вы можете сберечь время на изобретение велосипеда, изучая системы, которые уже представлены на рынке, либо системы, установленные на рабочем месте пользователя, или продукты, сделанные конкурирующими организациями. Даже, если они пытаются решать несколько иные задачи, они часто дают ценные сведения о том, что вам необходимо сделать.
Внимательно слушайте, когда клиент спрашивает о том, что продукт не может сделать что-то, что необходимо клиенту, составьте список этих предложений. Позже используйте его, чтобы начать обсуждение с другими пользователями. Вы должны суметь получить некоторые требования непосредственно этим способом. Если не получится, включите и сохраните эти предложения для будущего использования.
Вы можете
описать пользователям
Такой процесс может включать такие виды деятельности:
Чтение документа от начала до конца (несколько раз) для того, чтобы понять, что клиент (заказчик) хочет и что действительно написано.
Классификация всех типов информации в этом документе. (пользователь, системное требование, элементы решения, планы, базовые материалы, не относящиеся к делу подробности)
Пометки в оригинальном тексте, чтобы выделить такие требования.
Поиск хорошей структуры для каждого из различных типов информации:
-сценарий для пользовательских требования,
-функциональный анализ (декомпозиция) для системных требований
-архитектурный стиль для проектирования.
Необходимо помнить, что формирование и анализ требований процесс цикличный, и в ходе проектирования проекта придется не раз вносить изменения. Для того, чтобы правильно и грамотно описать требования необходимо разобраться в языках записи спецификаций требований, что позволит в дальнейшем с минимальными проблемами и затратами вносить изменения.
Как мы уже говорили выше, результатом анализа требований является документ, который называют спецификацией требований к программному обеспечению. Все требования в SRS должны быть написаны так, чтобы они были понятны даже пользователю, не имеющему специальных технических знаний. Их желательно описывать естественным языком, но тогда могут возникнуть некоторые проблемы:
Отсутствие четкости изложения. Иногда нелегко изложить какую-либо мысль естественным языком четко и недвусмысленно, не сделав при этом текст многослойным и трудночитаемым.
Смешение требований. В пользовательских требованиях отсутствует четкое разделении требований.
Объединение требований. Несколько различных требований могут описываться как единое пользовательское требование.
Во избежание
этих проблем рекомендуется