Стадия предпроектного обследования (Лекция).ppt
- Количество слайдов: 45
ТЕМА 4. Стадия предпроектного обследования Лекция 9. Анализ требований к ИС.
Начальная стадия ЖЦ ИС n Существуют следующие наименования начальной стадии жизненного цикла ИС: n n n Формирование концепции Предпроектная стадия Информационное обследование Анализ предметной области Анализ требований к системе Основная задача обследования – оценка реального объема проекта по созданию ИС, ее целей и задач, состава функциональных подсистем и возможностей реализации проекта. 2
Стадии ЖЦ по ISO/IEC 15288: 2002 n Формирование концепции n Разработка n Реализация n Эксплуатация n Поддержка n Снятие с эксплуатации Проектирование Реализация Внедрение Анализ требований по ГОСТ 34. 601 -90 n Формирование требований к АС n Разработка концепции АС. n Техническое задание. n Эскизный проект. n Технический проект. n Рабочая документация. n Ввод в действие. n Сопровождение АС Эксплуатация 3
Стадия «Формирование концепции» Формирование концепции Сбор материалов для проектирования Анализ материалов и формирование ТЗ Изучение объекта проектирования Детальный анализ автоматизируемых БП Формирование требований пользователей к ИС Разработка и выбор варианта концепции системы Проведение необходимых научно-исследовательских работ Разработка и утверждение технического задания ТЭО необходимости разработки ИС 4
Этап сбора данных Основные участники: n бизнес-аналитики; n руководство предприятия-заказчика; n ключевые пользователи будущей ИС; n эксперты Объекты изучения: n организационная и функциональная структура; n технико-экономические характеристики; n материальные и информационные потоки между подразделениями и внутри них; n методы планирования, учета и управления. 5
Основные работы I этапа Основной результат – ответ на вопрос: «Стоит ли продолжать данный проект? » 6
Понятие требования n n Требования – это исходные данные, на основании которых проектируются и создаются ИС. Требование – условие или особенность, которой должна удовлетворять ИС. n n Функциональность, необходимая заказчику или пользователю для разрешения проблем (или получения прибыли). Функциональность, которая должна быть реализована в системе в соответствии с контрактом, стандартом, спецификацией, инструкцией или другим официальным документом. Ограничение, наложенное заинтересованным лицом (stakeholder). Требование – это: 1) 2) 3) условия или возможности, необходимые пользователю для решения проблем или достижения целей; условия или возможности, которыми должна обладать система или системные компоненты, чтобы выполнить контракт или удовлетворять стандартам, спецификациям или другим формальным документам; документированное представление условий или возможностей для пунктов 1 и 2. 7 IEEE Standard Glossary of Software Engineering Terminology (1990)
n Строжайшее и единственное правило построения систем программного обеспечения (ПО) - решить точно, что же строить. Никакая другая часть концептуальной работы не является такой трудной, как выяснение деталей технических требований, в том числе и взаимодействие с людьми, с механизмами и с иными системами ПО. Никакая другая часть работы так не портит результат, если она выполнена плохо. Ошибки никакого другого этапа работы не исправляются так трудно. Ф. Брукс 8
Классификация требований Требования Нефункциональные требования Объект требований Уровень требований Характер требований Требования к продукту Бизнестребования Внешние интерфейсы Требования к проекту Требования пользователя Атрибуты качества Функциональные требования Системные ограничения 9
Бизнес- требования 1. Назначение: n 2. Где описываются: n 3. Формулировка цели проектирования ИС Концепция системы (границы и содержание проекта) Пример: n система должна сократить срок оборачиваемости обрабатываемых на предприятии заказов в три раза. 10
Требования пользователей 1. Назначение: n 2. Где описываются: n 3. определяют набор пользовательских задач, которые должна решать ИС, а также способы (сценарии) их решения в системе. Диаграммы вариантов использования, сценарии взаимодействия, функциональные модели в различных нотациях Пример: n система должна представлять диалоговые средства для ввода исчерпывающей информации о заказе, последующей фиксации информации в базе данных и маршрутизации информации о заказе к сотруднику, отвечающему за его планирование и исполнение. 11
Функциональные требования 1. Назначение: n 2. Где описываются: n 3. определяют способы реализации ИС. системные спецификации (system requirement specification, SRS) Пример: n заказ может быть создан, отредактирован, удален и перемещен с участка на участок. 12
n Нефункциональные требования – это требования к характеру поведения системы Нефункциональные требования Внешние интерфейсы • Интерфейс пользователя, • Аппаратные интерфейсы, • Программные интерфейсы, • Коммуникационные интерфейсы Атрибуты качества • Удобство использования • Надежность • Производительность • Эксплуатационная пригодность (способность к сопровождению) Системные ограничения Требования, выдвигаемые ИС к среде своего функционирования (объем требуемой памяти, требования к выбору операционной системы) 13
Особенности нефункциональных требований n n Заказчики часто забывают про эти требования и не предоставляют их, пока не будут заданы соответствующие вопросы. Заказчики обычно не в курсе стоимости улучшения определенных возможностей. У нетехнических пользователей часто возникают проблемы с пониманием смысла некоторых технических требований. Некоторые требования являются сложными в измерении, например: «Система должна быть простой для обучения» . 14
Категории нефункциональных требований 1. Основные: 1. 2. 3. 4. 2. Удобство использования Надежность Производительность Эксплуатационная пригодность Дополнительные: 1. 2. 3. 4. 5. 6. Ограничение на дизайн Требования реализации Требования интерфейса Требования аппаратного обеспечения Требования документации Требования лицензий и юридических норм 15
Требование «Удобство использования» Подкатегория Пример Доступность Функциональность бронирования билета на самолет должна быть доступна с домашней страницы. Эстетичность Поля ввода на одной странице должны быть выровнены вертикально. Соответствие интерфейсу пользователя Пользовательский интерфейс должен соответствовать стандарту IBM Эргономичность При открытии диалогового окна курсор должен быть на первом поле ввода Легкость в Среднее время процедуры бронирования использовании должно быть не более двух минут. 16
Требование «Надежность» Подкатегория Пример Работоспособность Система должна быть доступна 99, 93% времени. Прочность На каждый неверный ввод данных пользователем система должна реагировать соответствующим сообщением об ошибке Точность Денежные расчеты должны выполняться и храниться с точностью до двух десятых Восстанавливаемость После восстановления системы из состояния неработоспособности обработка данных должна производиться в том же режиме, что и до сбоя. После выпуска релиза система может иметь не более чем 20 незначительных ошибок. 17 Корректность
Требование «Производительность» Подкатегория Пример Скорость обработки данных Система должна обрабатывать 1000 процедур бронирования билетов в минуту. Время ответа Среднее время отображения списка полетов должно быть не более 10 секунд. Время восстановления Среднее время восстановления должно быть менее часа. Время загрузки /выхода Система должна быть работоспособной в течение одной минуты от момента загрузки. Емкость Система должна обслуживать 5000 пользователей одновременно. Использование ресурсов Система должна хранить в БД не более 1 млн. транзакций. При превышении лимита старые транзакции архивируются. 18
Требование «Эксплуатационная пригодность» n n n n n Тестируемость Приспособляемость Совместимость Способность к обновлению Расширяемость Переносимость Возможность многократного применения Взаимодействие с другими ИС Способность к аудиту Способность к локализации 19
Дополнительные требования Требования реализации Требования интерфейса Требования документации n. Язык n. Пользовательский n. Распечатанная программирования n. Используемая база данных. n. Сторонние компоненты. n. Ограничения на ресурсы: память, дисковое пространство. n. Стандарты кодирования. интерфейс. n. Интерфейс аппаратного обеспечения. n. Интерфейс программного обеспечения. n. Интерфейс коммуникаций. документация. n. Документация, доступная на СD. n. Документация, доступная он-лайн. 20
Источники требований n n n n Федеральное и муниципальное отраслевое законодательство (конституция, законы, распоряжения) Нормативное обеспечение организации (регламенты, положения, уставы, приказы) Текущая организация деятельности объекта автоматизации Модели деятельности (диаграммы бизнеспроцессов) Журналы использования существующих программно-аппаратных систем Конкурирующие программные продукты Заинтересованные лица 21
Заинтересованные лица Активные участники проекта Государственные органы контроля, поставщики стандартов и регламентов Контролирующие организации Лица, вовлеченные в процесс настройки и сопровождения системы (хостинговая компания, справочная служба) Stakeholder Остальные участники проекта бизнес-аналитики, дизайнеры, кодировщики, тестеры, менеджеры проектов, менеджеры по внедрению эксперты Обладатели предметной знаний области, авторы документов, собственники сайтов Руководство 22
Использование требований при разработке ИС Заинтересованное Область использования требований лицо Системный Постановка задачи, определение рамок аналитик проекта Представитель заказчика Постановка задачи, определение рамок проекта, контроль работы исполнителей, приемка результатов работы Проектировщик Разработка архитектуры, проектирование подсистем Программист Разработка программного кода Тестировщик Составление планов тестирования, тестовых сценариев Менеджер проекта Планирование и контроль исполнения работ 23
Свойства требований 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Полнота Ясность (краткость, простота, точность, недвусмысленность) Верифицируемость (тестируемость, возможность проверки) Необходимость и полезность при эксплуатации Осуществимость (выполнимость, правдоподобность, реализуемость) Элементарность и трассируемость (прослеживаемость) Независимость от других требований (атомарность), Независимость от реализации (абстрактность) Корректность (согласованность, непротиворечивость) Постоянство (стабильность). 24
Полнота требования означает, что текст требования не требует дополнительной детализации, то есть, в нем предусмотрены все необходимые нюансы, особенности и детали данного требования. n Различают полноту отдельного требования и полноту системы требований. n 25
n n Ясность – недвусмысленность, – определенность, однозначность спецификаций. Требование обладает свойством ясности, если оно сходным образом воспринимается всеми заинтересованными лицами. 26
Требование 1 (неясное): Система не должна принимать слишком короткие пароли. Требование 1 (ясное): Система не должна принимать пароли менее 8 символов. Если пользователь вводит менее 8 символов при выборе пароля, сообщение об ошибке должно информировать пользователя о необходимом исправлении пароля. 27
Требование 2 (неясное): Иногда пользователь будет вводить Код Аэропорта, который система будет распознавать. Но иногда код можно заменить близлежащим городом, и тогда пользователю не нужно знать код аэропорта, т. к. система будет понимать название города. Требование 2 (ясное): Система должна идентифицировать аэропорт на основании Кода Аэропорта или Названия Города. 28
n Верифицируемость – пригодность к проверке. Тестировщики должны иметь возможность проверить, было ли требование реализовано корректно. Треб. 1: Функция поиска должна позволять пользователю искать заказ на основе Фамилии, Имени, Даты, и т. д. n Треб. 2 Система должна препятствовать одновременному доступу большого числа пользователей. n Треб. 3: Код аэропорта должен быть введен. n 29
n n Необходимым считается требование, невыполнение которого угрожает работоспособности или эффективности ИС. В требовании нет необходимости, если: n Ни одному заинтересованному лицу требование не нужно. n n Удаление требования не повлияет на систему, т. к. оно не предоставляет никакой новой информации: n n Пример. Пользователь должен иметь возможность просмотра карты аэропорта. Пример. Все требования, указанные в документе Концепция, должны быть реализованы и протестированы. Полезность при эксплуатации – требование, выполнение которого повышает эргономические качества продукта. 30
n Осуществимость (выполнимость) Требование должно быть выполнимо в рамках существующих ограничений, таких как время, деньги и доступные ресурсы. n Пример: Система должна иметь интерфейс на естественном языке, который будет понимать команды на русском языке. n Выполнимость требования определяется разумным балансом между степенью необходимости и требуемыми ресурсами. 31
n Требование считается элементарным, если оно содержит только один трассируемый элемент, который дает возможность отследить связь между ним и другими элементами информационной системы. n Пример: Система должна предоставлять возможность бронировать рейс, покупать билет, бронировать номер в гостинице, бронировать машину, а также предоставлять информацию о развлечениях. 32
n Требование является независимым, если для его понимания не нужно знать другие требования. Пример Треб. 1: Список доступных рейсов должен включать номер рейса, время отправления и время прибытия для каждого отрезка пути. Треб. 2: Он должен быть отсортирован по ценам. n n Требования должны быть независимыми от реализации n Пример: Информация должна храниться в текстовом файле. 33
n Корректность – согласованность, непротиворечивость. Требования не должны противоречить требованиям своего уровня иерархии и требованиям "родительского" уровня. Если требование содержит факты, эти факты должны быть достоверны: n Треб. 1: Цена заказа должна включать все соответствующие платежи (включая стоимость пересылки – 200 руб. ) n n Требование считается корректным, если не существует конфликтов между ним и другими требованиями. 34
n Прямые конфликты возникают, когда ожидается различное поведение системы в одной и той же ситуации: n n n Треб. 1(конфл. ): Дата должна отображаться в формате ММ/ДД/ГГ. Треб. 1 (конфл. ): Дата должна отображаться в формате ДД/ММ/ГГ. Косвенный конфликт возникает, когда требования описывают разную функциональность, но выполнить оба этих требования одновременно невозможно: n n Треб. 1: Система должна иметь интерфейс на естественном языке. Треб. 2: Система должна быть разработана в течение трех месяцев. 35
Каких требований не должно быть Спецификация требований не должна содержать деталей проектирования или реализации. n Требования должны отвечать на вопрос: "что должна делать система", абстрагируясь от вопроса "как она это должна делать". n 36
Атрибуты требований n n n n Уникальный идентификатор. Приоритет, важность реализации с точки зрения пользователей. Критичность для построения и успешности системы с точки зрения аналитиков. Осуществимость с точки зрения готовности пользователей к новой функции, имеющихся технологий и стоимости реализации. Риски (высокой стоимости, последствий использования для окружающей среды и пользователей, конфликтов со стандартами и законодательством). Источник (кто предложил это требование). Тип требования. 37
Методы сбора требований Интервью n Анкетирование n Наблюдение n Самостоятельное описание требований n Совместные семинары n Прототипирование n 38
Интервью 1. Подготовка – планирование процесса опроса и выработка стратегии управления этим процессом. n n n 2. 3. выбор нужного собеседника; договоренность о встрече; формирование предварительной программы встречи; изучение сопутствующей информации; согласование плана опроса с группой проектирования. Проведение опроса. Завершение. 39
Интервью 1. 2. 3. Подготовка – планирование процесса опроса и выработка стратегии управления этим процессом. Проведение опроса. Завершение. Опрос нужно завершать, если: n n получен достаточно большой объем информации; поступает большой объем неподходящей информации; информация перестает усваиваться; эксперт начинает уставать; 40
Анкетирование Преимущество: наименее затратный способ извлечения информации. n Недостаток: наименее эффективный способ сбора данных. n В анкетах могут использоваться следующие виды вопросов: n Многоальтернативные вопросы. n Рейтинговые вопросы. n Вопросы с ранжированием. n 41
Наблюдение Применяется для непосредственного сбора сведений о параметрах, признаках и объектах в соответствующей предметной области. n Различают пассивное и активное наблюдение. n Достоинство: сбор информации, которую невозможно получить путем опроса или изучения документации. n Недостаток: наблюдатель «вносит помехи» в результаты измерений. n 42
Самостоятельное описание требований n Используется при наличии: n n хорошо структурированной документации, описывающей устоявшиеся в организации бизнес-процессы; большого опыта разработки ИС в схожих предметных областях. Достоинство: предварительное формирование требований происходит в удобном для аналитика режиме. Недостаток: возможность пропуска важной информации, связанной с выполнением бизнеспроцессов в реальной жизни и не вошедшей в документы. 43
Совместные семинары n n n Групповое обсуждение по методу «мозгового штурма» проводится с целью обобщения и обсуждения важных для решения проблем вопросов. Недостаток: одна из наиболее затратных стратегий сбора данных. Достоинства: быстрота принятия решений, снижение количества ошибок, выработка нетривиальных идей. 44
Прототипирование n n Прототипирование является ключевым компонентом технологии быстрой разработки приложений (RAD – Rapid Application Development). RAD базируется на следующих принципах: n n n эволюционное прототипирование; использование CASE-средств, обладающих возможностями прямого и обратного проектирования и автоматической генерации кода; высококвалифицированные специалисты; совмещение живого общения с разработкой в режиме on-line; жесткие временные рамки. 45
Стадия предпроектного обследования (Лекция).ppt