- •Оглавление
- •Введение
- •Описание платформы Java
- •Платформа Java
- •Виртуальная машина Java
- •Особенности языка Java
- •Классификация платформ Java
- •Практическая часть
- •Назначение приложения
- •Общие сведения о работе приложения
- •Структура таблиц базы данных приложения
- •Описание разработки приложения
- •Тестирование и отладка
- •Заключение
- •Список литературы
- •Приложение а
- •Класс работы с файлом настроек приложение б.1
- •Приложение б.2
-
Структура таблиц базы данных приложения
Структура базы данных приложения состоит из 4 файлов:
-
base_GB – основная сверочная база, состоящая из 80 тысяч слов британского английского;
-
base_names – база имен собственных;
-
base_irregular_verbs – база неправильных глаголов;
-
word_base.wdb – пользовательская база известных слов.
-
Описание разработки приложения
-
-
-
-
-
-
Описание разработки приложения
-
Программа разработана на языке Java для платформы Java Standard Edition 6 с использованием IDE Eclipse.
Для создания графического пользовательского интерфейса выбрана библиотека с открытым исходным кодом SWT (Standard Widget Toolkit), доступная для Windows, Mac OS, Linux и Solaris.
В отличие от стандартного интерфейса Swing данное решение позволяет выглядеть Java приложениям как родное для каждой отдельной ОС, используя ее ресурсы. Однако в связи с особенностями GUI каждой операционной системы, при проектировании интерфейса было решено использовать переменные, зависящие от типа ОС.
Скомпилированная программа представляет собой jar-архив, запускающийся двойным кликом и файлы ресурсов.
В процессе разработки были созданы следующие классы:
-
Word_Extractor – главный класс, содержащий метод main();
-
Loader – класс выполняющий загрузку всех баз при запуске программы;
-
Options – класс окна настроек фильтров;
-
Settings – класс оперирующий файлом пользовательских настроек, основа для работы класса Options;
-
Statistics – класс статистики;
-
Progress – класс прогрессбара, внутри запускается новый поток, дочерний от главного.
В процессе разработки приложение приобрело следующую структуру:
-
Исполняемый Jar-архив – основная часть программы, содержащая все классы и библиотеку SWT;
-
Каталог resources – ресурсы приложения, словарные базы.
-
base_GB
-
base_names
-
base_irregular_verbs
-
-
Каталог usr – пользовательские ресурсы
-
word_base.wdb – личный словарь пользователя
-
settings.ini – пользовательские настройки
-
base_backup – резервная копия личного словаря, обновляется при каждой ревизии.
-
Основной объем работы пришелся на разработку функции фильтрации, часть кода которой представлена в приложении Б.1.
В процессе разработки были учтены особенности каждой ОС, для которой предназначено приложение, в то же время, код приведен к максимально общему виду, придерживаясь идеологии Java «скомпилировано однажды, запускается везде».
-
Тестирование и отладка
Тест № 1. Сохранение и считывание пользовательских настроек.
Тестовые исходные данные: файл settings.ini со следующими параметрами:
#FILTERS
#Sun Dec 18 13:18:04 MSK 2011
F_ness=false
F_s=true
F_er=true
F_ed=true
F_ing=false
F_ly=false
Выполнение тестирования: запущена программа, включено окно настроек фильтров, выбраны невыделенные пункты (-ing, -ly).
Результат: файл settings.ini обновлен и имеет следующий вид:
#FILTERS
#Sun Dec 18 13:18:04 MSK 2011
F_ness=false
F_s=true
F_er=true
F_ed=true
F_ing=true
F_ly=true
Можно заметить, что параметры, ранее имевшие значение false, теперь имеют значение true.
Тест № 2. Фильтрация.
Тестовые исходные данные: файл .srt с субтитрами и тестовыми словами в разных формах, пользовательская база из 20 слов. Все фильтры включены.
Выполнение тестирования: нажата кнопка Select, выбран данный файл.
Результат: сформирован список без повторов, представлены только начальные формы слов, отсутствуют слова, содержащиеся в пользовательской базе.
Тест № 3. Экспортирование списка.
Тестовые исходные данные: список, сформированный в ходе теста № 2.
Выполнение тестирования: заполнены поля перевода, нажата кнопка Export words for learning, введено имя файла, тип и указан путь.
Результат: создан новый файл, содержащий список слов и переводов, которые разделены табуляциями.
Тест № 4. Удаление и восстановление элементов списка.
Тестовые исходные данные: список, сформированный в ходе теста № 2.
Выполнение тестирования: заполнены поля перевода, удалено 5 элементов, восстановлено 4.
Результат: в пользовательскую базу записано одно слово, в список возвращено 4 слова с переводами и данными о частоте встречаемости в тексте.