Анализ требований в IoT/Embedded проектах
Transcript of Анализ требований в IoT/Embedded проектах
![Page 1: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/1.jpg)
Анализ требований в IoT/Embedded проектахЮлия СелявкоHiQo Solutions, Минск
![Page 2: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/2.jpg)
Терминология• Embedded (встроенная) система - продукт из множества
программных и аппаратных подсистем
• IoT (интернет вещей) - сеть объектов, измеряющих параметры состояния (собственного или окружающей среды), использующих и передающих эту информацию
![Page 3: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/3.jpg)
Актуальность
![Page 4: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/4.jpg)
План докладаВ кадре:• Особенности IoT/Embedded проектов с точки зрения
аналитика• Примеры полезных техник моделирования
За кадром:• Анализ данных• Системы, от которых зависят жизни людей
![Page 5: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/5.jpg)
Проект: система открытия дверей гаража
![Page 6: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/6.jpg)
Особенность 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.
![Page 7: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/7.jpg)
Особенность 1: терминологияРасшифровки сокращений/терминов из примера:• BLE - Bluetooth 4.0 низкого энергопотребления• PCB - печатная плата• GO - Garage Opener, название проекта (жаргон проекта)• RTC - часы реального времени, компонента• Bond - сертификаты, хранящиеся на устройстве для
соединения с другим известным устройством по BLE (жаргон проекта)
![Page 8: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/8.jpg)
Особенность 2: взаимодействие между разработчиками различных специализацийКоманда проекта:
• Руководитель проекта• Бизнес-аналитик• Инженер-схемотехник• Разработчик встроенных систем• Тестировщик• Дизайнер интерфейсов• iOS-разработчик
![Page 9: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/9.jpg)
Особенность 3: цена изменений• Изменять встроенное ПО – сложно
• Изменять оборудование – еще сложнее
![Page 10: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/10.jpg)
Особенность 4: особые ограничения• Физические: размер, форма, вес, материалы,
устойчивость к химикатам, ударопрочность• Производственные ограничения: сроки, стоимость,
стандарты производителя• Уже выбранные компоненты, технологии• Протоколы передачи данных
![Page 11: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/11.jpg)
Особенность 5: нефункциональные требования• Производительность• Эффективность• Надежность и доступность• Устойчивость• Компьютерная безопасность• Безопасность эксплуатации• Удобство использования• Стандарты и сертификация
![Page 12: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/12.jpg)
Устойчивость - пример
«При отказе встроенных в печатную плату модулей (память, BLE) система должна сообщать о сбое пользователю путем световой индикации, сохраняя при этом основные функции»
![Page 13: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/13.jpg)
Компьютерная безопасность - пример
«Система не должна подключаться к сети интернет; все данные должны храниться только на панели управления дверями гаража и на смартфоне»
![Page 14: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/14.jpg)
Безопасность эксплуатации - пример• «Если согласно показаниям ИК-датчиков под дверью есть
препятствие, система не должна позволять двери двигаться вниз»
• «Система должна предоставлять возможность открыть дверь гаража изнутри вне зависимости от состояния устройства»
![Page 15: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/15.jpg)
Техника 1: архитектурные диаграммы
![Page 16: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/16.jpg)
Техника 1: архитектурные диаграммы
![Page 17: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/17.jpg)
Техника 1: архитектурные диаграммы
![Page 18: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/18.jpg)
Техника 1: архитектурные диаграммыПомогают:• Проверить совпадение общего понимания системы у
команды• Обозначить границы проекта• Наиболее верно назначить функции компонентам системы • Обнаружить и уточнить пропущенные требования
![Page 19: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/19.jpg)
Техника 2: диаграммы состоянийПомогают:
• Емко описывать сложное поведение системы• Обнаружить и уточнить пропущенные требования
![Page 20: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/20.jpg)
Техника 2: диаграмма состояний
*упрощенная нотация (не UML State Machine)
![Page 21: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/21.jpg)
Другие техники• Блок-схемы• Use cases• Глоссарий• Словарь данных (data dictionary)• Прототипы пользовательского интерфейса• Бизнес-правила• …
Все стандартные аналитические подходы применимы!
![Page 22: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/22.jpg)
Итоги• Аналитики на IoT/embedded проектах нужны• У этих проектов есть свои особенности
• Терминология• Новые роли в команде• Цена изменений• Ограничения• Нефункциональные требования
• Можно и нужно применять стандартные техники
![Page 23: Анализ требований в IoT/Embedded проектах](https://reader035.fdocument.pub/reader035/viewer/2022062522/587b4df91a28abff1a8b5443/html5/thumbnails/23.jpg)
Рекомендуемая литература• 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)