Введение
1 Анализ задания и выбор технологии, языка и среды разработки
2 Определение структуры программного продукта
2.1 Выбор методов решения задачи
2.1.1 Общие принципы алгоритма LZ77
2.1.2. Пример реализации алгоритма
2.2 Анализ процесса обработки информации и выбор структур данных для ее хранения
2.2.1 Выбор параметров алгоритма
2.2.2 Выбор структур данных
2.3.1 Алгоритм сжатия файлов
2.4 Построение структурной схемы программного продукта
3 Разработка интерфейса пользователя
3.1 Построение диаграммы переходов состояний интерфейса
3.2 Разработка форм ввода-вывода информации
4 Разработка диаграммы (иерархии) классов программы
4.1 Словарь
4.2 Диаграмма классов
4.3 Диаграмма вариантов использования
4.5 Диаграмма последовательности вариантов использования
4.6 Концептуальная диаграмма
5 Выбор стратегии тестирования и разработка тестов
Заключение
Список использованных источников
Приложение А. Исходный код программы
Приложение Б. Руководство пользователя