- •Отчет по домашнему заданию
- •Содержание
- •Описание программного продукта
- •Требования к программному продукту
- •Функциональные требования
- •Требования надежности и производительности
- •Требования безопасности и конфиденциальности
- •Требования масштабируемости
- •2.5 Показатели оценки WhatsApp
- •Проведение измерений показателей качества
- •Заключение
- •Выявленные критические изъяны (Flaws)
- •Рекомендации по устранению (Roadmap)
Требования масштабируемости
Горизонтальное масштабирование микросервисов
Асинхронная обработка через Kafka
Кэширование с Redis
Эти требования отражают приоритеты разработки, эксплуатации и поддержки Link Tracker интеллектуальной системы мониторинга ссылок.
2.5 Показатели оценки WhatsApp
Для оценки выбран расширенный набор показателей ISO/IEC 25010. Особое внимание уделено характеристикам «Сопровождаемость» (в контексте миграции данных) и «Эффективность» (использование ресурсов памяти), так как это наиболее уязвимые места архитектуры WhatsApp.
Обоснование выбора метрик:
WhatsApp является самым популярным мессенджером в мире (>2 млрд пользователей), поэтому требования к надежности экстремально высоки.
Архитектура локального хранения создает уникальные проблемы с переносимостью (Portability) и использованием ресурсов (Storage bloat), которые необходимо выявить.
Проведение измерений показателей качества
Ниже приведены типовые значения, которые могут быть собраны на основе тестирования, логов, пользовательских опросов и аудита безопасности. Данные — условные, для учебной работы:
Таблица 1 – Характеристики, сущности атрибутов и метрики
Атрибут качества |
Сущность атрибута |
Метрика |
Вес |
Оценка |
(оценочный элемент) |
||||
Показатель «Надежность» |
||||
Стабильность |
Частота отказов при ошибках в ПО |
1. Устойчивость сессий при смене сети (Wi-Fi <-> LTE) |
0,6 |
0,95 |
2. Глобальная доступность серверов (Downtime) |
0,4 |
0,8 |
||
Итого по атрибуту |
0,4 |
0,89 |
||
|
||||
Устойчивость к дефектам |
Способность поддерживать определенный уровень качества функционирования в случаях программных ошибок или нарушения определенного интерфейса |
1. Возможность обработки ошибочных ситуаций |
0,7 |
0,7 |
2. Наличие возможности автоматически обходить ошибочные ситуации |
0,3 |
0,5 |
||
Итого по атрибуту |
0,3 |
0,6 |
||
|
||||
Восстанавливаемость |
Возможность восстанавливать уровень качества функционирования и данные, непосредственно поврежденные в случае отказа, а также наличие требований к времени и усилиям, необходимым для этого |
1. Резервное копирование (Backup) |
0,5 |
0,6 |
2. Восстановление истории при переустановке |
0,5 |
0,7 |
||
Итого по атрибуту |
0,3 |
0,65 |
||
|
||||
Итого по показателю |
0,2 |
0,731 |
||
Показатель «Сопровождаемость» |
||||
Анализируемость |
Способность к диагностике недостатков либо случаев отказов или к определению составных частей для модификации |
1. Доступность логов сбоев для пользователя |
0,3 |
0,3 |
2. Прозрачность использования памяти |
0,7 |
0,8 |
||
Итого по атрибуту |
0,1 |
0,65 |
||
Изменяемость |
Возможность модификации, устранения отказа или изменения условий эксплуатации |
1. Простота архитектуры проекта |
0,3 |
0,8 |
1. Перенос чатов между ОС (Android -> iOS) |
0,7 |
0,3 |
||
Итого по атрибуту |
0,2 |
0,45 |
||
Стабильность |
Частота отказов при ошибках в ПО |
Соблюдение правила нисходящего программирования |
1 |
0,6 |
Итого по атрибуту |
0,4 |
0,6 |
||
Тестируемость |
Усилия, необходимые для проверки модифицированного ПО |
1. Простота кодирования |
0,8 |
0,5 |
2. Комментарии логики программ |
0,2 |
0,5 |
||
Итого по атрибуту |
0,3 |
0.76 |
||
Итого по показателю |
0,1 |
0,623 |
||
Показатель «Практичность» |
||||
Понятность |
Понимание общей логической концепции и ее применимости |
1. Интуитивность интерфейса |
0,6 |
0,95 |
2. Понятность пользовательской настройки |
0,4 |
0,6 |
||
Итого по атрибуту |
0,6 |
0,81 |
||
Простота использования |
Усилия пользователя по эксплуатации и оперативному управлению |
1. Поиск по сообщениям |
0,6 |
0,8 |
2. Управление мульти-аккаунтами |
0,4 |
0,6 |
||
Итого по атрибуту |
0,4 |
0,64 |
||
Итого по показателю |
0,2 |
0,742 |
||
Показатель «Эффективность» |
||||
Временная эффективность |
Время отклика и обработки и наличие требований к скоростям выполнения ее функций |
1. Скорость 'холодного' старта |
0,3 |
0,9 |
2. Синхронизация Linked Devices |
0,7 |
0,5 |
||
Итого по атрибуту |
0,5 |
0,62 |
||
Использование ресурсов |
Объем используемых ресурсов и продолжительность такого использования при выполнении функций |
1. Объем занимаемого дискового пространстваы |
0,6 |
0,4 |
2. Энергопотребление (Background) |
0,4 |
0,7 |
||
Итого по атрибуту |
0,5 |
0,52 |
||
Итого по показателю |
0,1 |
0,57 |
||
Показатель «Функциональность» |
||||
Безопасность |
Способность защитить пользовательские данные от злоумышленников |
1. Защита метаданных |
0,7 |
0,5 |
2. Защита от спама/фишинга |
0,3 |
0,8 |
||
Итого по атрибуту |
0,4 |
0,59 |
||
Пригодность для применения |
Наличие и соответствие набора функций конкретным задачам |
1. Требуемый объем внутренней памяти |
0,6 |
0,7 |
2. Минимальные системные требования |
0,4 |
0,9 |
||
Итого по атрибуту |
0,3 |
0,78 |
||
Способность к взаимодействию |
Способность взаимодействовать с конкретными системами |
1. Связь с другими мессенджерами |
0,2 |
0,2 |
2. Единообразие способов сохранения информации для возврата |
0,8 |
0,9 |
||
Итого по атрибуту |
0,3 |
0,76 |
||
Итого по показателю |
0,2 |
0,698 |
||
Показатель «Мобильность» |
||||
Адаптируемость |
Степень адаптации к различным конкретным условиям эксплуатации, без применения других действий или способов, кроме тех, что предназначены для этого в рассматриваемом ПО |
1. Работа на устаревших ОС |
0,8 |
0,9 |
2. Простота архитектуры проекта |
0,2 |
0,8 |
||
Итого по атрибуту |
0,5 |
0,88 |
||
Простота эксплуатации |
Усилия, необходимые для запуска ПО |
1. Легкость развертывания |
1 |
0,9 |
Итого по атрибуту |
0,3 |
0,9 |
||
Взаимозаменяемость |
Простота и трудоемкость применения данного программного средства вместо другого конкретного программного средства в среде этого средства |
Возможность использовать ПС вместо другого ПО |
1 |
0,9 |
Итого по атрибуту |
0,2 |
0,9 |
||
Итого по показателю |
0,2 |
0,89 |
||
ИТОГО = 0,2 ⋅ 0,731 + 0,1 ⋅ 0,623 + 0,2 ⋅ 0,742 + 0,1 ⋅ 0,57 + 0,2 * 0,698 + 0,2 * 0,89 = 0,7315 |
||||
