Post on 15-Jan-2017
Анализ требований в IoT/Embedded проектахЮлия СелявкоHiQo Solutions, Минск
Терминология• Embedded (встроенная) система - продукт из множества
программных и аппаратных подсистем
• IoT (интернет вещей) - сеть объектов, измеряющих параметры состояния (собственного или окружающей среды), использующих и передающих эту информацию
Актуальность
План докладаВ кадре:• Особенности IoT/Embedded проектов с точки зрения
аналитика• Примеры полезных техник моделирования
За кадром:• Анализ данных• Системы, от которых зависят жизни людей
Проект: система открытия дверей гаража
Особенность 1: терминологияКраткое описание проекта:
Develop a BLE-enabled PCB to be installed inside an MVP GO console. iOS app to support general functions, as well as bond and RTC management for admins.
Особенность 1: терминологияРасшифровки сокращений/терминов из примера:• BLE - Bluetooth 4.0 низкого энергопотребления• PCB - печатная плата• GO - Garage Opener, название проекта (жаргон проекта)• RTC - часы реального времени, компонента• Bond - сертификаты, хранящиеся на устройстве для
соединения с другим известным устройством по BLE (жаргон проекта)
Особенность 2: взаимодействие между разработчиками различных специализацийКоманда проекта:
• Руководитель проекта• Бизнес-аналитик• Инженер-схемотехник• Разработчик встроенных систем• Тестировщик• Дизайнер интерфейсов• iOS-разработчик
Особенность 3: цена изменений• Изменять встроенное ПО – сложно
• Изменять оборудование – еще сложнее
Особенность 4: особые ограничения• Физические: размер, форма, вес, материалы,
устойчивость к химикатам, ударопрочность• Производственные ограничения: сроки, стоимость,
стандарты производителя• Уже выбранные компоненты, технологии• Протоколы передачи данных
Особенность 5: нефункциональные требования• Производительность• Эффективность• Надежность и доступность• Устойчивость• Компьютерная безопасность• Безопасность эксплуатации• Удобство использования• Стандарты и сертификация
Устойчивость - пример
«При отказе встроенных в печатную плату модулей (память, BLE) система должна сообщать о сбое пользователю путем световой индикации, сохраняя при этом основные функции»
Компьютерная безопасность - пример
«Система не должна подключаться к сети интернет; все данные должны храниться только на панели управления дверями гаража и на смартфоне»
Безопасность эксплуатации - пример• «Если согласно показаниям ИК-датчиков под дверью есть
препятствие, система не должна позволять двери двигаться вниз»
• «Система должна предоставлять возможность открыть дверь гаража изнутри вне зависимости от состояния устройства»
Техника 1: архитектурные диаграммы
Техника 1: архитектурные диаграммы
Техника 1: архитектурные диаграммы
Техника 1: архитектурные диаграммыПомогают:• Проверить совпадение общего понимания системы у
команды• Обозначить границы проекта• Наиболее верно назначить функции компонентам системы • Обнаружить и уточнить пропущенные требования
Техника 2: диаграммы состоянийПомогают:
• Емко описывать сложное поведение системы• Обнаружить и уточнить пропущенные требования
Техника 2: диаграмма состояний
*упрощенная нотация (не UML State Machine)
Другие техники• Блок-схемы• Use cases• Глоссарий• Словарь данных (data dictionary)• Прототипы пользовательского интерфейса• Бизнес-правила• …
Все стандартные аналитические подходы применимы!
Итоги• Аналитики на IoT/embedded проектах нужны• У этих проектов есть свои особенности
• Терминология• Новые роли в команде• Цена изменений• Ограничения• Нефункциональные требования
• Можно и нужно применять стандартные техники
Рекомендуемая литература• Karl Wiegers - Software requirements (3rd edition, Ch. 26)
• Phillip Koopman - Better embedded systems software
• IEEE 1233-1998 (IEEE Guide for Developing System Requirements Specifications - SyRS)
Спасибо за внимание!
Вопросы?
Юлия СелявкоHiQo Solutionsjulia.seliavko@hiqo-solutions.com