- •Отчет по домашнему заданию
- •Содержание
- •Описание программного продукта
- •Требования к программному продукту
- •Функциональные требования
- •Требования надежности и производительности
- •Требования безопасности и конфиденциальности
- •Требования масштабируемости
- •2.5 Показатели оценки WhatsApp
- •Проведение измерений показателей качества
- •Заключение
- •Выявленные критические изъяны (Flaws)
- •Рекомендации по устранению (Roadmap)
Министерство науки и высшего образования РФ
Федеральное государственное автономное образовательное учреждение высшего образования
«Омский государственный технический университет»
Кафедра «Автоматизированные системы обработки информации и управления»
Отчет по домашнему заданию
на тему «Оценка качества программного продукта»
по дисциплине «Качество и надежность программных систем»
Доцент, к.т.н. В.Н. Цыганенко
Студент Г.А. Шадчнев
Омск 2025
Содержание
Описание программного продукта 3
Общие сведения и назначение 3
Ключевые функциональные возможности 3
Требования к программному продукту 5
Функциональные требования 5
Требования надежности и производительности 5
Показатели оценки 7
Проведение измерений показателей качества 9
Заключение 10
Описание программного продукта
WhatsApp — это централизованная система мгновенного обмена сообщениями и голосовой связи (VoIP) с кросс-платформенной поддержкой, использующая модифицированный протокол Signal для обеспечения сквозного (End-to-End) шифрования.
Архитектура системы:
В отличие от облачных мессенджеров (например, Telegram), WhatsApp использует архитектуру "Store-and-Forward" с гибридным хранением.
Серверная часть: Выступает только маршрутизатором. Сообщения удаляются с серверов компании сразу после доставки получателю.
Клиентская часть (Thin Client / Fat Storage): Вся история переписки, медиафайлы и базы данных контактов хранятся локально на устройстве пользователя (SQLite), что накладывает специфические ограничения на синхронизацию и восстановление данных.
Технологический стек:
Backend: Erlang (виртуальная машина BEAM) на кастомизированной версии FreeBSD. Используется для поддержки миллионов одновременных подключений (high concurrency).
Database (Server-side): Mnesia (распределенная СУБД Erlang) и TAO (The Association Objects — граф социальных связей Meta).
Protocol: XMPP (сильно модифицированный, названный FunXMPP) + Noise Pipes + Signal Protocol (Double Ratchet Algorithm) для шифрования.
Frontend/Mobile: Native (Swift/Objective-C для iOS, Java/Kotlin для Android), Electron (для Desktop версий, переходящий на native технологии Windows UWP/macOS Catalyst).
Требования к программному продукту
Функциональные требования
Основная функциональность:
Обмен текстовыми сообщениями, голосовыми заметками, изображениями, видео и документами.
Аудио- и видеозвонки (P2P и групповые) с адаптивным битрейтом.
Публикация исчезающего контента и вещание на широкую аудиторию (Channels).
Возможность использования аккаунта на 4 дополнительных устройствах независимо от телефона (с ограничениями по синхронизации).
Интеграция с CRM для WhatsApp Business API.
Требования надежности и производительности
Доставка сообщения < 200 мс при стабильном соединении.
Агрессивная компрессия медиафайлов для экономии трафика пользователей в развивающихся странах.
Минимизация wake-locks для сохранения заряда батареи мобильных устройств
Требования безопасности и конфиденциальности
Гарантия, что ключи дешифровки находятся только на устройствах пользователей
Компрометация одного ключа не должна открывать доступ к прошлым сообщениям.
