Система управления выпускниками (проектирование объектно-ориентированного курса C++)

Общий дизайн системы

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

  1. Реализовать такие операции, как добавление, удаление, запрос и изменение информации о выпускниках;
  2. Реализовать обмен и обновление контактной информации среди выпускников в режиме реального времени;
  3. Поймите, что выпускники просматривают контактную информацию квалифицированных выпускников;
  4. Реализовать функции экспорта и резервного копирования контактной информации;

Блок-схема системных функций

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

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

отношения между категориями

Эта система в основном использует 23 типа:

  • Среди них библиотека классов Qt содержит 13 типов (представленных восьмиугольным прямоугольником): класс главного окна, класс плавающего окна, класс диалогового окна, класс панели инструментов, класс кнопки, класс строки меню, класс таблицы, класс модели реляционной таблицы, класс базы данных. , класс этикетки, класс линейного редактора, класс раскрывающегося списка, класс аранжировщика;

  • Унаследовано от библиотеки классов Qt 7 типов (представлены прямоугольником со скругленными углами): класс главного окна, класс окна подключения, класс окна сведений, класс окна табличных данных, класс окна пользователя, класс окна школы, класс окна компании, класс окна поиска;
    custom Существует 2 типа категорий (представленных прямоугольными прямоугольниками с квадратными углами): категория поля фильтра, категория пользовательского заголовка таблицы;

  • Остальные реализуются объектами вышеуказанных основных классов (представленных шестиугольным прямоугольником).

    имя класса отец Подкласс объект Функция
    главное окно Qвиджет Главное окно никто Используется для оформления главного окна со строкой меню, панелью инструментов, строкой состояния.
    плавающее окно Qвиджет Табличное представление данных никто Окна, которые можно прикрепить к главному окну
    диалоговое окно Qвиджет как показано на картинке никто Диалог отображается в виде окна
    панель инструментов Qвиджет никто панель инструментов Предоставляет панель инструментов для добавления компонентов
    класс кнопки QObject никто как показано на картинке Используется для ответа на события мыши и клавиатуры.
    Строка меню Qвиджет никто Строка меню Предоставляет строку меню, в которую можно добавлять компоненты
    класс формы QAbstractItemView никто Таблица данных для отображения табличных данных
    реляционная табличная модель QSqlTableModel никто модель данных Используется для управления информацией в базе данных.
    база данных никто никто база данных для доступа к базе данных
    класс метки QFrame никто немного Отображение текста или изображений в окне
    редактирование строки Qвиджет никто немного Предоставляет редактор ввода текста
    выпадающий список Qвиджет никто немного Предоставляет редактор ввода с параметрами
    Аранжировщик QLayout никто макет Используется для автоматического размещения компонентов в окне
    Главное окно главное окно никто Выпускники Главное окно после добавления компонентов
    подключить окно диалоговое окно никто немного Windows для подключения к базам данных
    об окнах диалоговое окно никто немного Используется для отображения информации о программном обеспечении
    Табличное представление данных плавающее окно никто немного главное окно с данными
    окно пользователя диалоговое окно никто немного Окно с информацией о пользователе
    школьное окно диалоговое окно никто немного Окно с информацией о школе
    Окно компании диалоговое окно никто немного Окно с информацией о компании
    найти окно диалоговое окно никто немного для поиска строк данных
    коробка фильтра Qвиджет никто коробка фильтра Используется для отображения окна фильтра данных
    настраиваемый заголовок QHeaderView никто настраиваемый заголовок Используется для вставки компонентов блока фильтра в таблицу.

    Ниже приводится иллюстрация взаимосвязи между основными категориями:

детальный дизайн

К основным функциям этой системы относятся: чтение информации, редактирование, сортировка, просмотр, поиск, печать, обслуживание и т.д.

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

класс окна ссылки

  • Основная функция: подключение к базе данных

  • Конкретный процесс реализации:

    Кнопка подключения в главном окне вызывает всплывающее окно подключения

    Установите и упорядочите информационные элементы редактирования, связанные с подключением к базе данных.

    Пользователь вводит соответствующую информацию о подключении и нажимает «Подключиться».

    Верните сообщение об ошибке или получите указатель базы данных и войдите в интерфейс окна табличных данных.

  • Основные определения:

    • Переменные-члены: layout, kindBox, hostLine, dataLine, userLine, portLine, passwordLine, connectLine, btn, db.

    • Функции-члены: ссылка, getDB.

    • Основная функция ссылки на функцию-член — подключение к базе данных.Метод реализации: как слот-функция, она привязана к кнопке btn, и когда кнопка нажата и срабатывает, она считывает содержимое переменной-члена. Box и каждую строку, и использует класс базы данных db для связи.
    • Основной функцией функции-члена getDB является получение указателя базы данных.Метод реализации: в качестве общей функции-члена после успешного подключения к базе данных информация базы данных передается в окно данных таблицы.

Табличный класс DataWindow

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

  • Конкретный процесс реализации:

    Окно подключения расширяет окно табличных данных после успешного подключения к базе данных

    Установите контекстное меню, таблицу, модель данных, информацию заголовка и т. д.

    Меню правой кнопки мыши для обновления данных, переключения таблиц данных, добавления информации, поиска информации

    Щелкните заголовок таблицы и отфильтруйте элементы для сортировки и фильтрации.

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

  • Основные определения:

    • 成员变量:db, Parent, tableview, меню, RefreshAction, AddAction, FindAction, PeopleAction, SchoolAction, CompanyAction, showFilter, model, Filter, findwidget.

    • Функции-члены: dataClick, Menu, refresh, add, find, showPeople, showSchool, showCompany, onDelete, onFilterClicked, onHeaderDataChanged, onFilterHide.

    • Основная функция функции-члена dataClick — открыть интерфейс окна подробных данных.Метод реализации: как функция слота, она привязана к AddAction в меню, запускает сигнал функции при нажатии кнопки строки меню, обнаруживает имя текущей таблицы данных модели, и всплывает соответствующее окно подробных данных.
    • Основная функция обновления функции-члена - чтение информации о данных Метод реализации: как функция слота, она привязана к RefreshAction в меню, запускает сигнал функции при нажатии кнопки строки меню, обновляет информацию о данных в модели и обновляет информацию о фильтре в showFilter .
    • Основной функцией функции-члена add является добавление информации.Метод реализации: как функция слота, она привязана к AddAction в меню, запускает сигнал функции при нажатии кнопки строки меню, добавляет пустую строку данные и вызывает окно подробных данных для редактирования.
    • Основной функцией функции-члена find является поиск информации.Метод реализации: как функция слота, она привязана к FindAction в меню, и сигнал функции срабатывает при нажатии кнопки строки меню, а findwidget вызывается окно для поиска данных.
    • Основная функция функций-членов showPeople, showSchool и showCompany заключается в переключении таблицы данных.Метод реализации: как функция слота, она привязана к соответствующему действию в меню, и при нажатии кнопки строки меню, сигнал функции запускается, данные таблицы инициализируются, и таблица данных переключается.
    • Основные функции функций-членов onDelete, onFilterClicked, onHeaderDataChanged и onFilterHide заключаются в обработке событий поля фильтра.Метод реализации: как функция слота, она привязана к функции триггера сигнала в showFilter, и запускается соответствующий сигнал функции. когда поле фильтра редактируется для реализации функции фильтрации данных.

Детальный класс окна данных

  • Основная функция: отображение и редактирование подробной информации о фрагменте данных.

  • Конкретный процесс реализации:

    Дважды щелкните фрагмент данных или активируйте addAction.

    Установите и упорядочите информационные элементы редактирования, связанные с данными

    Данные таблицы ссылок информационных элементов

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

    Отправьте информацию и сохраните ее, и проверьте, успешно ли отправлена

    Вернуться к представлению данных формы

  • Основные определения:

    • Переменные-члены: layout, mapper, btn, model, Row, несколько Edits, несколько Boxes

    • Функции участника: сохранить, удалить, отменить

    • Основная функция сохранения функции-члена заключается в сохранении данных.Метод реализации: как слот-функция, она привязана к кнопке btn, и когда кнопка нажата и срабатывает, она считывает содержимое переменной-члена Box и каждую строку и использует сопоставление данных картографа для реализации сохранения данных.
    • Основная функция функции-члена remove — удаление данных.Метод реализации: как слот-функция, она привязана к кнопке btn, и когда кнопка нажата и срабатывает, вызывается функция-член модели removeRow для удалить ряд данных.
    • Основная функция отмены функции-члена состоит в том, чтобы отменить операцию.Метод реализации: как функция слота, привязанная к кнопке btn, когда кнопка нажата и срабатывает, функция-член close класса окна вызывается, чтобы закрыть окно. подробное окно данных и вернуться в родительское окно.

Тест системы

Методы испытаний

Общие методы тестирования программного обеспечения: тестирование белого ящика, тестирование черного ящика, тестирование серого ящика.

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

Тестирование «черного ящика» означает: относиться к программе как к черному ящику, который нельзя открыть, и тестировать интерфейс программы, не принимая во внимание внутреннюю структуру и характеристики программы, а только проверяя, соответствует ли функция программы норме в соответствии со спецификацией требований. Используйте, может ли программа правильно принимать входные данные и выдавать правильную выходную информацию.

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

Система тестируется методом черного ящика.

прецедент

Система использует MySQL для хранения данных и Navicat для тестирования управления данными.Используемые таблицы данных включают: люди, компания, школа, работа, специальность, масштаб, торговля, работа, свойстваc, свойства. Среди них работа, специальность, масштаб, торговля, работа, свойства и свойства являются предустановленными данными, которые нельзя редактировать в этой системе.

  • Существует 6 групп данных школьных тестов:

    я Идентификатор Имя Адрес Характеристики Список
    1 1 школа1 адрес_школа_1 211 инженерных школ
    2 2 школа2 address_school_2 985 инженерных колледжей
    3 3 с другой
    4 4444444 адрес_четыре Провинциальные колледжи бакалавриата
    45 23 Ланьчжоуский технологический университет Кампус Китай-Ганьсу-Ланьчжоу-1 Начальная школа
    54 32 Ланьчжоуский технологический университет Кампус Китай-Ганьсу-Ланьчжоу-2 985 инженерных колледжей
  • Существует 10 групп тестовых данных компании:

    я Имя Адрес Торговля Характеристики Шкала Список
    1 компания1 address_one другой другой другой
    2 компания2 индустрия передачи информации Коллективные предприятия другой
    3 компания4 адрес_четыреррр…… другой другой Очень крупное предприятие
    4 компания333…… адрес_пять Транспортная отрасль Предприятия с иностранным капиталом небольшие компании
    5 Тенсент Шэньчжэнь, Китай Индустрия услуг программного обеспечения и информационных технологий Предприятия с иностранным капиталом Очень крупное предприятие
    6 сеть Гуанчжоу, Китай Индустрия услуг программного обеспечения и информационных технологий Предприятия с иностранным капиталом Очень крупное предприятие
    7 другой другой другой
    9 1 1 другой Государственные предприятия другой
    80 один один другой другой Малые и средние предприятия
    1000 ???? ??? Кейтеринг другой другой
  • Существует 10 групп данных тестирования людей:

    я Идентификатор Имя Телефон Главный Работа Работа Время Адрес Школа Компания Список
    1 1 один 1373333 其他 其他 其他 1 oooo 1 1
    2 2 two 1372222222 中医临床基础 仓储保管 其他 22 wwww 2 1
    3 3 ? ??? 光学 其他 其他 0 ??? 4 1000
    4 4 其他 仓储保管 其他
    5 5 张三 13712345678 公共管理 体育用品制作 假肢制作装配工人 2 中国-北京 4 80
    6 6 李四 0 免疫学 其他 修理工 5 中国天津 45 1000
    8 44 -1 -1 其他 其他 其他 0 -1 4 7
    9 23 王五 111111…… 儿科学 仓储保管 修理工 9999999 1111111…… 4 4
    10 1111 同学1号 7777 其他 其他 其他 1 address 地址 1 3 9
    1 1 one 1373333 其他 其他 其他 1 oooo 1 1

Supongo que te gusta

Origin blog.csdn.net/newlw/article/details/130718564
Recomendado
Clasificación