Система Naumen University




 

Система Naumen University — информационно-аналитическая система для организации управления учебным процессом в высших и средних специальных учебных заведениях. Позволяет комплексно подойти к решению задач, стоящих перед современным учебным заведением. Решение Naumen University ориентировано как на коммерческие, так и государственные высшие учебные заведения.

Основные задачи, решаемые с помощью данной системы:

  • Построение единой информационной среды в рамках учебного процесса;
  • Формализация и прозрачное управление организационной структурой вуза;
  • Учет и ведение личных дел студентов, сотрудников, абитуриентов, аспирантов, совместителей;
  • Формирование и утверждение учебных и рабочих планов, справочник ГОСов;
  • Ведение журналов посещаемости студентами учебных мероприятий;
  • Проведение сессии: электронные зачетные книжки, отслеживание академической успеваемости студентов, учет выданных экзаменационных листов, ведение семестровых журналов;
  • Управление оплатами контрактных студентов, мониторинг оплат, оперативный анализ и прогнозирование финансовых потоков;
  • Автоматизированная подготовка типового набора документов, включая договоры, анкеты, ведомости, заявления, расписки, приказы и справки;
  • Возможность удаленного доступа к единому банку данных и получения актуальной информации.

Школьная диагностика v2.42.23

Программа предназначена для ведения базы данных об успеваемости учащихся учебного заведения и анализа данных по одному и нескольким классам. Система ввода данных по классу оптимизирует трудозатраты по ведению базы успеваемости.

  • О каждом классе хранятся следующие сведения: название класса, четверть, год, списки учащихся и предметов, а также таблица оценок.
  • При анализе данных по классу программа рассчитывает по каждому предмету средние степень обученности, качество знаний и успеваемость, а также выводит статистические данные (численно и в процентном отношении) - количество отличников, хорошистов и т.д.
  • Для анализа данных по нескольким классам используется макетная система, которая значительно упрощает сбор и вывод необходимых данных. Программа генерирует отчетный лист, в котором будут содержаться графики по указанным данным.
  • Существенное отличие от остальных продуктов – свободное распространение.

 

 

Как показывают приведенные выше характеристики продуктов, все они более-менее схожи по функциональным возможностям. Все кроме последнего являются платными продуктами.

 

Постановка задачи.

2.1 Общие требования к продукту

К любому программному продукту предъявляется стандартный набор требований.

Ниже приведен данный набор, причем комментарии по каждому из требований позволяют учесть специфику дипломного проекта.

· Переносимость (+ универсальность). Приложение не должно зависеть от какой-либо платформы и программного обеспечения (например, СУБД).

· Сопровождаемость (+ расширяемость). Поскольку приложение ориентировано не на конкретного заказчика, а на самых разных пользователей, всегда должна быть возможность расширить и дополнить его функциональность согласно предъявленным требованиям.

· Эффективность. Приложение предназначено для работы с небольшим объемом данных в отдельный момент времени – это следует учитывать при проектировании.

· Удобство использования. Как и любое приложение, позволяющее непрофессиональным пользователям компьютера работать с данными (вводить, хранить, обрабатывать), данный программный продукт должен предоставлять удобный и понятный графический интерфейс.

· Функциональность. Все требуемые функциональные возможности должны быть реализованы. Соответственно, при составлении и уточнении требований должны быть рассмотрены типичные сценарии работы с подобной системой.

· Надежность. Приложение должно уметь обрабатывать как корректные, так и некорректные входные данные. Должны быть предусмотрены все возможные действия пользователя. Соответственно, должно быть проведено тщательное тестирование, как ручное, так и модульное.

2.2 Базовая функциональность

Приложение должно предоставить следующие функциональные возможности:

· Ввод информации о студенте

o Фамилия (обязательно)

o Имя

o Отчество

o Название группы (обязательно)

o Курс (обязательно)

· Ввод информации о дисциплине

o Название (обязательно)

o Преподаватель, ведущий курс (обязательно)

o Год (семестр) чтения курса

o Краткая аннотация

o Дополнительная информация

§ О лекциях (количество и контроль посещаемости)

§ О практиках (количество и контроль посещаемости)

§ О контрольных (количество и максимально возможный балл)

§ О лабораторных (количество)

§ Сдается ли реферат или курсовая по дисциплине

· Ввод информации о лабораторной (практической) работе

o Название (обязательно)

o Описание

· Создание связей между студентами и дисциплинами

o Добавление дисциплины в список изучаемых (изученных) студентом

o Добавление дисциплины в учебный план группы

· Возможность удалить:

o Студента

o Дисциплину

o Практическую работу

o Связь между студентом и дисциплиной

· Ведение статистики успеваемости

o Возможность отметить посещенные студентом

§ Лекции

§ Практики

o Возможность отметить выполненные студентом

§ Практические работы

§ Курсовую

§ Реферат

o Выставление оценок за экзамены и контрольные работы

o Автоматический подсчет по каждому студенту:

§ Количества посещенных практик и лекций

§ Количества выполненных лабораторных

§ Суммарный балл по контрольным

§ Средний балл по всем изученным дисциплинам

· Просмотр и редактирование имеющейся в системе информации

· Сохранение информации в XML документ

· Загрузка данных из выбранного XML документа

 

 

2.3 Расширенная функциональность

Предполагается также некоторое расширение базовой функциональности, направленное как на повышение удобства использования продукта, так и на реализацию новых возможностей.

Удобство использования продукта напрямую зависит от возможностей и понятности графического интерфейса.

Следующая функциональность графического интерфейса призвана облегчить пользователям работу с приложением:

· Основные данные (списки дисциплин и студентов в виде таблиц), а также ключевые команды (в виде кнопок и пунктов меню) на главном фрейме приложения

· Возможность убрать ненужные в текущий момент области главного фрейма (например, сотрудник деканата может работать лишь со списком дисциплин, а преподаватель – со списком студентов).

· Сортировка списков студентов и дисциплин по различным полям; по умолчанию списки автоматически сортируются соответственно по фамилии студента и названию дисциплины

· Фильтрация списка студентов по группе и изученной дисциплине

· Возможность просмотра статистики равно как по выбранному студенту, так и по выбранной дисциплине. Данные должны быть представлены в виде наборов таблиц; количество таблиц в наборе, а также количество строк и столбцов должно варьироваться в зависимости от просматриваемых данных.

· Возможность просматривать структуру папок и файлов при сохранении и загрузке XML-документа, а также фильтрация файлов по заданному расширению (.xml)

 

Новой функциональностью, не планировавшейся изначально, но реализованной в дальнейшем, можно считать репортинг – возможность генерировать отчеты в HTML документ на основе внесенных в систему данных.

 

Средства разработки

3.1 Используемые технологии

 

В проекте использовались следующие технологии:

Технология Область применения
Язык программирования Java 6.0 написание кода
Swing (технология Java) создание графического интерфейса
Унифицированный язык XML 1.0 хранение данных
Язык разметки HTML 4.0 представление отчетов

 

Java – технология, получившая быстрое и широкое распространение в среде разработчиков. Это не в последнюю очередь связано с тем, что она использует специально созданный язык программирования, который так и называется — язык Java. Этот язык создан на базе языков Smalltalk, Pascal, C++ и др., вобрав их лучшие, по мнению создателей, черты и отбросив худшие. На этот счет есть разные мнения, но бесспорно, что язык получился удобным для изучения, написанные на нем программы легко читаются и отлаживаются: первую программу можно написать уже через час после начала изучения языка. Язык Java представляет собой отличный вариант языка обучения объектно-ориентированному программированию, так же, как язык Pascal был языком обучения структурному программированию. На Java уже написано огромное количество программ и библиотек классов.

 

Swing – графическая библиотека, входящая в состав Java SDK. В состав библиотеки входит весь спектр элементов управления, от простой надписи до таких сложных элементов, как таблица и дерево.

Swing предоставляет более гибкие интерфесные компоненты чем более ранняя библиотека Abstract Window Toolkit (AWT). В отличии от AWT, компоненты Swing разработаны для одинаковой кросс-платформенной работы, в то время как компоненты AWT повторяют интерфейс исполняемой платформы без изменений. Swing поддерживает подключаемый Look-And-Feel, благодаря которому возможна адаптация к графическому интерфейсу платформы. Таким образом приложения, использующие Swing, могут выглядеть как родные приложения для данной операционной системы. Основным минусом таких «легковесных» (Lightweight) компоментов является относительно медленная работа. Положительная сторона — универсальность интерфейса созданных приложений на всех платформах.

 

XML (англ. e X tensible M arkup L anguage — расширяемый язык разметки; произносится [ экс-эм-э́л ]) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка SGML.

 

HTML (от англ. Hypertext Markup Language — «язык разметки гипертекста») — это стандартный язык разметки документов во Всемирной паутине. Все веб-страницы создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, удобном для человека.

3.2 Инструментарий разработки

Продукт Описание
JDK 6.0 Набор разработчика Java (включает компилятор, интерпретатор, набор библиотек языка Java и др.)
NetBeans 5.0, 6.0 Интегрированная среда разработки (IDE)
Internet Explorer, Opera, Mozilla FireFox Браузеры для просмотра HTML и XML файлов

 

Java Development Kit, сокращенно JDK — бесплатно распространяемый фирмой Sun комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java (IDE), поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки

 

NetBeans IDE — свободная интегрированная среда разработки приложений (IDE) на языке программирования Java, Ruby и ряде других. По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода и др.

В версии NetBeans IDE 6.0 включена поддержка UML, SOA, языка программирования Ruby (включая поддержку Ruby on Rails), а также средства для создания приложений на J2ME для мобильных телефонов.

NetBeans IDE поддерживает плагины, позволяя разработчикам расширять возможности среды.

3.3 Альтернативные способы решения задачи

 

Альтернативный язык программирования Преимущества Недостатки
C++ Потенциальный выигрыш в производительности работы приложения. · Меньше готовых библиотек классов – необходимость реализовывать собственные. · Сложный язык, требующий большей квалификации.
C# Высокая интегрируемость с продуктами Microsoft. Привязанность к ОС Windows.
Delphi Множество готовых модулей, простота разработки. Сложно реализовать функциональность, не предусмотренную в стандартных модулях.
PHP · Легкое создание распределенного Интернет-приложения. · Простота разработки, сокращение количества кода. · Не предусмотрено создание настольных приложений. · Легко допустить ошибку и сложно ее найти. · Нет полнофункциональной среды разработки.  
VBA «Заточенность» под создание настольных графических приложений. · Привязанность к ОС Windows. · Функциональные возможности языка и библиотек классов ограничены.

 

Альтернативный способ хранения данных   Преимущества Недостатки
1. База данных SQL Общие характеристики Высокая скорость работы, особенно при больших объемах данных Зависимость от конкретного ПО (СУБД).  
СУБД: MySQL «Легковесная» СУБД. Ограниченные функциональные возможности.
СУБД: MS SQL Server Полноценный продукт. 2. Платная и «тяжеловесная» СУБД
СУБД: Oracle
Текстовый формат Простота записи данных. Велика вероятность ошибки при чтении данных. Сложно просмотреть данные вне приложения.
Бинарная сериализация Простота реализации. Невозможно просмотреть данные вне приложения.

 

 

Программная реализация

4.1 Объектная модель

 

В объектную модель приложения входят 9 классов, представленных на рисунке 1. Объект класса DataBase включает в себя экземпляры всех остальных классов и хранит всю информацию системы. При этом DataBase расширяет библиотечный класс Observable. Использование пары Observer-Observable позволяет легко реализовать паттерн проектирования Model-View-Controller (MVC); в терминах данного паттерна DataBase является моделью.

 

Рисунок 1 Диаграмма классов объектной модели

 

Классы объектной модели распределены по трем пакетам.

  • main: DataBase,
  • disc: Discipline, DiscList, PractWork, PWList
  • stud: Student, StudList, StudMarks, StudMarksList

 

Между классами пакетов stud и disc нет прямых объектных ссылок – связь между студентами и дисциплинами осуществляется по уникальному идентификатору (что в некоторой степени напоминает отношения в реляционной базе данных).

 

Классы, объекты которых представляют собой списки (StudList, DiscList, PWList, StudMarksList) содержат в себе параметризованную коллекцию (соответственно, ArrayList<Student>, ArrayList<Discipline>, ArrayList<PractWork> ArrayList<StudMarks>.

 

Ниже представлены класс-диаграммы пакетов и краткие описания каждого класса. Класс-диаграммы были получены в среде разработки NetBeans 6.0, на основе существующего кода (Reverse Engineering). Таблицы описаний классов взяты из HTML-файлов документации, сгенерированной при помощи утилиты javadoc.

 

 

Рисунок 2. Диаграмма классов пакета disc

 

 

 

Рисунок 3. Диаграмма классов пакета stud.

4.2 Хранение данных

 

Информация хранится в XML формате; данные о текущей системе целиком записываются в один файл и считываются из него.

Существует множество технологий, позволяющих легко работать с XML-форматом на Java. Прикладные программные интерфейсы (API), ориентированные на прямую работу с документами можно разделить на 2 большие группы:

· Java TM API for XML Processing (JAXP) – обрабатывает XML документы, используя различные синтаксические анализаторы

· Java TM Architecture for XML Binding (JAXB) – преобразовывает элементы XML в классы языка программирования Java

Был выбран второй вариант (JAXB), так как он хорошо подходит, если нужно:

· Обращаться к данным в памяти, но не нужна возможность обработки деревьев

· Обрабатывать только верные данные

· Преобразовывать данные к различным типам

· Создавать объектные представления данных XML

 

При этом была использована простейшая реализация данной технологии, по сути XML-сериализация. При данном подходе специальный класс, XMLEncoder, необходим для того чтобы сериализовать объект в файл, а класс XMLDecoder – для обратной десериализации объекта. В роли сериализуемого объекта выступает объект класса DataBase, содержащий всю текущую информацию о системе. Как сам объект DataBase, так и все включенные в него объекты должны удовлетворять ряду критериев для того чтобы сериализация прошла успешно.

Разумеется, такой подход накладывает ряд ограничений. Вот лишь некоторые из них:

  • Ограничение на объем информации. Данный вариант годится лишь для небольших систем.
  • Ограничение на формат файла. Программа может прочитать лишь те файлы, которые записала сама.
  • Невозможно считывание и запись нужного кусочка информации – обязательно нужно читать и записывать все целиком.

Однако для данной маленькой системы, призванной работать лишь с собственным форматом файлов, подход вполне уместен.

Ниже представлены примеры представления экземпляров различных классов в XML-формате:

 

 

Рисунок 4. Общий вид сохраненного XML-файла

 

Рисунок 5. Представление данных о дисциплине

 

Рисунок 6. Представление данных о практической работе

 

Рисунок 7. Представление данных о студенте

 

 

4.3 Графический интерфейс пользователя

 

Графический интерфейс приложения построен на базе технологии Swing при помощи дизайнера Matisse (входящего в среду разработки NetBeans).

Использование данного дизайнера существенно облегчает процесс разработки. Все доступные элементы управления можно выбрать в палитре и код для выбранных элементов генерируется автоматически. Параметрами компонентов можно управлять через окно свойств.

Важной частью создания графического интерфейса является обработка событий – таких как нажатие кнопки, выбор пункта меню и т.п.

 

Ниже перечислены используемые в графическом интерфейсе элементы управления, названия соответствующих классов в библиотеке Swing, краткие характеристики и описание использования каждого компонента в проекте.

 

 

Окна.
JFrame Главное окно Графическая форма, отображаемая при загрузке приложения. Содержит:
  • Список студентов,
  • Список дисциплин,
  • Панель управления,
  • Меню.
JOptionPane Стандартный диалог · Окно сообщений, появляющееся в ответ на определенные действия пользователя. · Информирует его тем или иным образом (например, о том, что прежде чем удалить дисциплину, нужно выделить ее в списке).
JDialog Диалоговое окно. · Позволяет «разгрузить» основное окно. · В данном приложении на один фрейм приходится 11 диалоговых окон. Большинство из них модальны и расположены поверх всех окон. · Каждому диалогу задан заголовок и размер, соответствующие его содержимому.
JFileChooser Диалог выбора файла · Предоставляет графический интерфейс выбора файла (для открытия, сохранения и т.п.) · Используется при записи/считывании данных системы (XML-файл) и сохранении сгенерированного отчета (HTML-файл)
Контейнеры.
JPanel Панель · Основной контейнер для элементов управления. · Удобен для логической группировки компонентов · Используется для совершения действия с группой элементов управления (спрятать, показать и т.п.)
JTabbedPane Панель с вкладками · Позволяет нескольким панелям располагаться в одной области экрана. · Используется в диалоговом окне статистики по дисциплинам. · Если соответствующая информация недоступна, вкладка неактивна.
JSplitPane   Панель с разделителем   · Разделитель позволяет пользователю динамически перераспределять пространство окна между несколькими панелями. · Используется на главном фрейме приложения – три разделителя делят окно на четыре части.
Элементы управления.
JLabel Надпись · Используется повсеместно – для подписывания других элементов управления (текстовых полей, выпадающих списков и т.д.)
JButton Кнопка · Предоставляет пользователю возможность управлять приложением. · Возможные действия: открытие другого окна, подтверждение изменений и т.д.  
JRadioButton, RadioGroup Кнопки выбора · Позволяют совершить выбор из нескольких пунктов, объединенных в группу. · Используется для фильтрации списка студентов.
JCheckBox Кнопка-флажок · Позволяет отметить логическое значение (например, предусмотрены ли для данной дисциплины реферат или курсовая).
JTextField Текстовое поле · Поле для ввода небольшого количества данных. · Используется для получения информации от пользователя (повсеместно).
JTextArea Многострочное текстовое поле · Позволяет ввести большой объем данных. Снабжено полосами прокрутки. · Используется для ввода аннотации по дисциплине и описания практической работы.
JTable Таблица · Является одновременно контроллером и представлением. · Используется на большинстве форм для представления и изменения результатов. · В некоторых таблицах приложения в качестве ячеек таблицы выступают кнопки-флажки и выпадающие списки.
JComboBox Выпадающий список · Позволяет пользователю выбрать один или несколько элементов списка, экономя место на форме. · Используется для сортировки таблиц по различным столбцам, выбора дисциплины или группы из списка существующих и т.п.

 

 

Наиболее сложными элементами управления оказались таблицы, являющиеся одновременно представлениями и контроллерами в понятиях паттерна Модель-Вид-Представление. Для каждой таблицы необходимо было реализовать свой собственный класс модели, описывающий данные, отображаемые в каждый момент времени, и логику поведения. Собственные модели были также реализованы для некоторых выпадающих списков, содержимое которых также должно меняться динамически.

 

На следующих двух рисунках (8 и 9) представлены диаграммы классов моделей таблиц. На первой диаграмме представлены модели таблиц, реализующие интерфейс Observer и, соответственно, «наблюдающие» за общей моделью системы. Модель системы (класс DataBase) в свою очередь наследует от класса Observable – это позволяет ей нотифицировать объекты классов-наблюдателей о происходящих в ней изменениях.

Рисунок 8. Модели таблиц

Рисунок 8. Модели таблиц (статистика по дисциплине)

4.4 Недостатки программной реализации

 

У текущей реализации есть ряд недостатков и ограничений:

· Размер главного класса.

Весь код графического интерфейса (элементов управления, диалоговых окон, обработки событий и т.п.), а также ряд вспомогательных функций расположен в одном классе, одновременно являющимся точкой входа в систему. Данный класс отличается большими размерами и слабосвязностью отдельных частей, соответственно с ним сложно работать. Требуется провести рефакторинг: разбить класс на несколько более связных классов.

 

· Генерация отчета.

При создании HTML-отчета генерируется файл, в котором данные системы перемежаются с тегами HTML в заданном порядке. Данный подход затрудняет изменение шаблона отчета. Возможно, более правильным было бы применение XSLT-преобразования к XML-файлу, хранящему данные системы.

 

· Работа с данными.

Данные сохраняются/загружаются при помощи XML сериализации/десериализации, размеры системы ограничены свободным объемом оперативной памяти компьютера. Для того чтобы реализовать возможность получать необходимые данные из хранилища (XML документа), храня в памяти лишь информацию, необходимую в данный момент времени, следует использовать другую технологию (например XML-парсер Saxon).

 

· Модульное тестирование.

Функциональность системы не протестирована модульными тестами, что усложняет последующий рефакторинг и не дает возможности проводить регрессивное тестирование при расширении функциональности.

 

· Комментарии в коде.

Большинство комментариев в коде не удовлетворяют формальной спецификации – из-за этого их «не видит» javadoc (утилита, генерирующая документацию).

 

· Проверка вводимых данных.

Для ряда элементов управления (текстовых полей, таблиц) не проводится поверка вводимых данных. Так, например, в поле «число лекций» можно ввести отрицательное число. Программа интерпретирует это как 0 (отсутствие лекций по предмету) – но это вовсе не очевидно для пользователя. Подобные допущения могут привести к нестабильному поведению системы.

 

· Журнализация.

Не налажена система журнализации. Поскольку приложение настольное и рассчитано в основном на непрофессиональных пользователей компьютера, ведение журнала крайне важно для того, чтобы быстро выявить причины некорректной работы системы и обеспечить хорошую техническую поддержку.

 

 

Применение продукта

5.1 Системные требования

Для работы программы необходимо минимальное количество оперативной и системной памяти.

Должен быть установлен интерпретатор языка Java – JRE 6.0.

Для просмотра сгенерированных отчетов нужен браузер.

Дополнительное программное обеспечение (СУБД) не требуется.

5.2 Инструкции по применению

 

В данном разделе описаны ключевые сценарии работы с приложением. Упомянутые рисунки (скриншоты программы) расположены в приложении №1

 

· Добавление новой дисциплины:

1. Нажмите кнопку «Добавить» в нижней части главного фрейма (скриншот №1).

2. В появившемся диалоговом окне (скриншот №4) заполните поля формы (обязательно заполнение полей, отмеченных звездочкой).

3. Нажмите кнопку ОК.

· Редактирование существующей дисциплины:

1. Выберите дисциплину в нижнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Редактировать» в нижней части главного фрейма (скриншот №1).

3. В появившемся диалоговом окне (скриншот №4) измените значения полей.

4. Нажмите кнопку ОК.

· Добавление новой практической работы:

1. Выберите дисциплину в нижнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Список лабораторных» в нижней части главного фрейма (скриншот 1).

3. В появившемся диалоговом окне (скриншот №5) нажмите кнопку «Добавить».

4. В новом диалоговом окне заполните поля формы и нажмите кнопку ОК.

· Редактирование существующей практической работы:

1. Выберите дисциплину в нижнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Список лабораторных» в нижней части главного фрейма (скриншот №1).

3. В появившемся диалоговом окне (скриншот №5) выберите лабораторную и выделите соответствующую строку в таблице.

4. Нажмите кнопку «Редактировать».

5. В новом диалоговом окне измените значения полей и нажмите кнопку ОК.

· Добавление нового студента:

1. Нажмите кнопку «Добавить» в нижней части главного фрейма (скриншот №1).

2. В появившемся диалоговом окне (скриншот №3) заполните поля формы (обязательно заполнение полей, отмеченных звездочкой).

3. Нажмите кнопку ОК.

· Редактирование существующего студента:

1. Выберите студента в верхнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Редактировать» в нижней части главного фрейма (скриншот №1).

3. В появившемся диалоговом окне (скриншот №3) измените значения полей.

4. Нажмите кнопку ОК.

· Установка связи между дисциплиной и группой студентов:

1. Выберите дисциплину в нижнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Статистика по дисциплине» в нижней части главного фрейма (скриншот №1).

3. В появившемся диалоговом окне (скриншот №6) выберите группу из выпадающего списка в нижней части окна.

4. Нажмите кнопку «Добавить».

· Установка связи между студентом и дисциплиной:

1. Выберите студента в верхнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Подробнее..» в верхней части главного фрейма (скриншот №1).

3. В появившемся диалоговом окне (скриншот №8) выберите дисциплину из выпадающего списка в верхней части окна.

4. Нажмите кнопку «Добавить».

· Выставление оценок и посещаемости по студенту:

1. Выберите студента в верхнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Подробнее..» в верхней части главного фрейма (скриншот №1).

3. В появившемся диалоговом окне (скриншот №8) выберите дисциплину из списка изученных дисциплин в верхней части окна. Появится информация по данной дисциплине.

4. Отметьте посещаемость студентом практик и лекций.

5. Отметьте выполненные студентом лабораторные.

6. Проставьте оценки (баллы) по контрольным, а также общую оценку по курсу.

7. Нажмите кнопку «Подтвердить изменения».

· Выставление оценок и посещаемости по дисциплине:

1. Выберите дисциплину в нижнем списке и выделите соответствующую строку в таблице (скриншот №1).

2. Нажмите кнопку «Статистика по дисциплине» в нижней части главного фрейма (скриншот №1).

3. В появившемся диалоговом окне (скриншот №6) выберите закладку в верхней части окна. Возможные варианты: лекции, практики, контрольные, лабораторные, итог. Если выбор закладки невозможен, соответствующая форма отчетности по курсу не предусмотрена.

4. Выберите фильтр по группе в нижней части окна. Можно также просматривать вех студентов, изучавших данную дисциплину

5. Отметьте статистику по каждому из показателей.

6. Нажмите кнопку «Подтвердить изменения».

· Удаление записи о студенте или дисциплине:

1. Выберите дисциплину или студента на главном фрейме (скриншот №1).

2. Нажмите кнопку «Удалить» на панели управления (в правой части фрейма).

· Сохранение данных в файл:

1. Выберите пункт «Сохранить» из меню «Файл» (скриншот1).

2. В появившемся диалоговом окне (скриншот №10) выберете и откройте каталог для сохранения.

3. Выберите существующий файл или введите имя файла. Сохранение возможно лишь в файлы формата XML.

4. Нажмите кнопку «Save».

· Загрузка данных из файла:

1. Выберите пункт «Открыть» из меню «Файл» (скриншот №1).

2. В появившемся диалоговом окне (скриншот №10) выберете и откройте каталог для сохранения.

3. Выберите нужный файл. Отображаются лишь файлы формата XML.

4. Нажмите кнопку «Open».

· Генерация HTML-отчета:

1. Выберите пункт «Экспорт в HTML» из меню «Файл» (скриншот №1).

2. В появившемся диалоговом окне тип отчета (по всем дисциплинам или по выбранной).

3. Если вы хотите получить отчет по одной дисциплине, выберите ее из выпадающего списка.

4. Нажмите кнопку «ОК».

5. Выберите существующий файл или введите имя файла. Сохранение возможно лишь в файлы формата HTM и HTML.

6. Нажмите кнопку «Save».

 

 

Анализ результатов

6.1 Реализованная функциональность

Было реализовано все, перечисленное в списке требований (2.1) и техническом задании (2.2, 2.3).

 

Общее требование Выполнение требования
Переносимость (+ универсальность) · Поскольку приложение написано на кроссплатформенном языка Java, оно может работать на любой платформе, и не требует установки дополнительного программного обеспечения. Единственное требование – наличие виртуальной машины Java (JRE 6.0). · Тестирование проводилось на разных машинах, с системными различными характеристиками и набором программного обеспечения.  
Сопровождаемость (+ расширяемость). · Объектная модель приложения соответствует предметной области и при этом достаточно гибка и расширяема. · Графический интерфейс реализован на базе технологии Swing и для дальнейшего расширения можно использовать все возможности, предоставляемые данной технологией (например, локализацию, заставку и т.д.). · По возможности соблюден единый кодирования, методы и поля снабжены комментариями. · К сожалению, лишь в ряде классов было использовано документирование в стиле JavaDoc.
Эффективность · Обращение к хранилищу данных идет лишь в моменты сохранения и загрузки системы. Соответственно, вся необходимая информация о текущей системе хранится в оперативной памяти компьютера. · Данный подход приемлем при небольших объемах данных, и позволяет ускорить работу приложения.
Удобство использования   · Большое внимание уделено пользовательскому интерфейсу системы. · Использование полностью настраиваемых элементов управления (радиогруппы, таблицы, выпадающие списки, диалоговые окна загрузки/сохранения и т.п.), а также других функциональных возможностей технологии Swing призвано максимально упростить работу с приложением.
Функциональность · Приложение обладает всеми базовыми функциональными возможностями. · Пользователю доступно несколько форм и диалогов с самыми разными элементами управления. · Также реализована некоторая расширенная функциональность; к сожалению не вся – из-за недостатка времени и знаний дипломанта.
Надежность · Были протестированы все основные сценарии работы приложения, а также некоторые нетипичные ситуации. Кроме разработчика в тестировании принимало участие несколько людей, не имеющих отношения к разработке данного продукта. · Все найденные в ходе тестирования ошибки были воспроизведены и исправлены. · Однако направленно не проводилось тестирование на граничные условия и стресс-тестирование приложения. Возможно, это допустимо, поскольку приложение настольное и используется преимущественно одним клиентом. · Модульное тестирование не выполнялось, поскольку на момент выполнения дипломного проекта дипломант не обладал достаточной теоретической и практической базой в этой области.

 

Согласно базовой части технического задания, представленной в разделе 2.2, приложение предоставляет возможность:

• Вводить информацию о:

• студенте

• дисциплине

• лабораторной (практической) работе

• Создавать связи между студентами и дисциплинами

• Удалять записи и связи

• Вести статистику успеваемости

• Просматривать и редактировать имеющеюся в системе информации



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: