Основная задача
Написать программу, реализующую все микрозадачи, которые мы сделали во время работы над проектом.
Подробнее
- Пользователь взаимодействует с программой по средствам экспериментов.
- Эксперимент — это и есть микрозадача, в которой должны задаваться параметры, при чём по разному(мы можем задавать те или иные параметры и получать из них тот или иной результат).
- Пользователь также может проводить серию экспериментов и видеть статистику для каждого.
- Пользователь может проводить несколько экспериментов параллельно(различные типы экспериментов) и видеть возможную связь между ними.
С точки зрения интерфейса
- Окно будет реализовано в обычном Windows-стиле, без особых эффектов.
- Эксперименты будут в различных вкладках(TabView).
- Для создания эксперимента будет сделан собственных диалог(wizard).
- Редактирование параметров эксперимента будет выделено в отдельный диалог, который будет принимать объект списка параметров(см. "С точки зрения программирования").
Скриншот интерфейса стадии альфа:
С точки зрения программирования
- Во время до практики для визуализации была разработана небольшая иерархия классов для визуализации и дальнейшей интеграции. Во главе иерархии лежит абстрактный класс GraphicsPrimitive, классы для визуализации наследуются от него и имеют некоторую общую логику построения.
- В связи с текущей задачей было принято решение о доработке предыдущей иерархии.
Иерархия классов:
Подробно снизу-вверх:
- ParameterList - класс, реализующий список элементов ParameterListUnit, в нём хранятся все параметры для данного эксперимента.
- SomeVisualization - несуществующий класс, приведенный в роли примера класса, наследованного от GraphicsPrimitive
- Expirement - класс, реализующий связь между параметрами эксперимента и его визуализацией, именно объекты этого класса будут сохранятся в файлы и передаваться куда-либо.
- ExpirementControl - класс, реазуализующий "User Control", для прорисовки в табах.
- Ну и верхняя связь подрузумевает что класс главной формы должен хранить в себе все объекты ExpirementControl
В разработке
- Разработка иерархии
- Внедрение готовых микрозадач в программу
- Воможно: внедрение MVC(разделение GraphicsPrimitive на вычисление и рисование).
- Возможно: вынос типов проектов в dll-файлы(плагины).
Ждём результата...
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалить