Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель: Утяшева И.А. Научный руководитель: к.ф.-м.н. Винокур В.В. Тема магистерской диссертации:
Задача Предоставлена библиотека SomeToCM, осуществляющая модификацию и конвертацию документации форматов CHM и HTML в формат CHM. Разработать: 1.Графический интерфейс для данной библиотеки. 2.Формат файлов проекта.
Проектирование интерфейса 1 этап: Описаны сценарии работы пользователей с приложением. Одно из достоинств использования их: проблема юзабилити на ранней стадии изучена. 2 этап: Построены прототипы интерфейса приложения: бумажные протипы и прототипы, построенные с помощью Microsoft Expression Blend + SketchFlow.
Реализация графического интерфейса Выбран способ организации графического интерфейса приложений в отдельных окнах (Single document interface) в силу простоты реализации его и подходящей модели поведении. Графический интерфейс построен на очень простом и одновременно очень мощном паттерне проектирования клиентских приложений DataModel-View-ViewModel.
Реализация графического интерфейса Средства реализации: Windows Presentation Foundation (WPF) графическая (презентационная) подсистема в составе.NET Framework(начиная с версии 3.0), имеющая прямое отношение к XAML. XAML (eXtensible Application Markup Language) основанный на XML язык разметки для декларативного программирования приложений, разработанный Microsoft. Microsoft Expression Blend программа от компании Microsoft, предназначенная для разработки дизайна web интерфейсов и графических настольных приложений.
DataModel-View-ViewModel В данной работе графический интерфейс построен на очень простом и одновременно очень мощном паттерне проектирования клиентских приложений DataModel-View-ViewModel (DM-V-VM), для реализации которого реализован набор библиотек.
Model View ViewModel (MVVM) Модель (Model) отвечает за бизнес-логику и управление состоянием объекта. Представление (View) отвечает только за отображение элементов графического интерфейса. ViewModel не содержит ссылок на вид! Cвязывания между View и ViewModel становятся возможными потому, что экземпляр ViewModel задается в View как DataContext.
Базовый класс для представлений Все наследуемые классы представляют собой отдельные представления. Благодаря наследуемому интерфейсу INotifyPropertyChanged представления оповещают модели данных об изменениях и событиях. IActivable позволяет представлению задавать поведение при добавлении и удалении из визуального дерева.
Каналы связи представлений С помощью интерфейса IMessageBroker и его реализацией представления могут обмениваться сообщениями между собой. Метод GetChannel () – установка канала связи. Подписка на канал связи: метод Subscribe() объекта канала. Для передачи информации в канал: вызывать метод OnNext(value).
Каналы связи представлений Канал связи это класс, который наследуется от класса Subject, где Subject – это класс из библиотеки реактивных расширений Rx Framework. Rx Framework – набор библиотек для работы с коллекциями данных.
Представления В результате работы разработаны Представления: AdditionDirectoriesView; AdditionFilesView; CommonSettingsView; ContentsModifiersView ; Table Of Contents Tags; ImportFromChm, ImportFromHTML; TopicFilters; Templates ; Index And Toc Files;
Формат файлов проекта Если процедуру сборки документации необходимо проводить неоднократно, тогда её целесообразно автоматизировать. Для этой цели разработан файл проекта. В качестве формата описания файлов проекта был выбран XML.
Формат файлов проекта