Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnitelnaya_zapiska.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
879.32 Кб
Скачать
    1. Описание структуры и основных методов (процедур и функций) приложения.

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

Приложение состоит из 17 модулей, где 4 из них непосредственно связаны с таблицами базы данных в MS Access:

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

  • UConnection – вспомогательный модуль, на этом модуле расположены все не визуальные компоненты для связи с таблицами базы данных, среди которых: TADOConnection, TADOTable и TDataSource, где связь между ними выполняется последовательно. На каждую таблицу базы данных приходится как минимум по одному из двух последних компонентов.

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

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

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

  • URequestTable – основной модуль, где размещена основная таблица «Заявки». Пользователь здесь может просматривать записи таблицы, обновлять таблицу, добавлять новые записи, редактировать их и удалять, для этого на ней размещены следующие компоненты: TDBGrid и 4 TBitBtn. Кроме того, из этого модуля можно перейти другим таблицам, а также посмотреть описание программы – за это отвечает компонент TMainMenu.

  • URequestTableAdd – вспомогательный модуль, появляется при добавлении новой записи в таблицу «Заявки». На этом модуле расположены следующие компоненты: 3 TCombobox, 2 TDateTimePicker и 2 TButton, благодаря которым существует возможность подтвердить добавление или отменить его. TCombobox позволяет выбрать из выпадающего списка нужный элемент, а TDateTimePicker – нужную дату.

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

  • UClientTable – основной модуль, где размещена вспомогательная таблица «Клиенты». Пользователь здесь также может добавлять, удалять и редактировать записи, а также обновлять данные. Однако, пользователь также может осуществить фильтрацию информации в полях записей таблицы базы данных с помощью TLabeledEdit и отсортировать данные по некоторым критериям – компоненты TRadioGroup и 4 TRadioButton. Кроме того, из этого модуля можно вернуться в модуль с основной таблицей «Заявки».

  • UClientTableAdd – вспомогательный модуль, появляется при добавлении новой записи в таблицу «Клиенты». На этом модуле размещены следующие компоненты: 5 TDBEdit, для автоматической связи с полями таблицы, что намного удобнее проявляется при редактировании записи, 2 TButton и компонент TEdit, в который нужно программно вводить и выводить информацию, так как это поле ключевое – необходимо выполнять проверку на наличие аналогичных ключевых полей в таблице.

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

  • UServiceTable – основной модуль, где размещена вспомогательная таблица «Услуги». Пользователь может произвести сортировку по двум параметрам, фильтрацию по ним, добавлять, редактировать и удалять записи этой таблицы, а также вернуться к основной таблице «Заявки».

  • UServiceTableAdd – вспомогательный модуль, появляется при добавлении новой записи в таблицу «Услуги». Здесь представлены следующие компоненты – 3 TDBEdit и 2 TButton.

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

  • UMasterTable – основной модуль, где размещена вспомогательная таблица «Мастера». Здесь пользователь может добавить новую запись в таблицу базы данных, отредактировать ее, либо вообще удалить. Кроме того, он может произвести сортировку записей и фильтрацию определенной записи. Также он может вернуться к основной таблице «Заявки».

  • UMasterTableAdd – вспомогательный модуль, где размещены следующие компоненты: 4 TDBEdit, 2 TButton, TCombobox и TDateTimePicker. Используется при добавлении новой записи в таблицу «Мастера».

  • UMasterTableEdit – вспомогательный модуль, появляется при редактировании выбранной записи. Отличается от модуля добавления тем, что поля выбранной записи автоматически передаются в компоненты и обратно.

Рис. 3: Структура приложения (схема связей).

На рисунке 3 представлена схема связей между модулями в приложении. Модули состоят из формы и программного кода. На форме же размещаются визуальные и не визуальные компоненты:

  1. ULauncher:

  • LoginCaption: TLabel;

  • PasswordCaption: TLabel;

  • LoginText: TEdit;

  • PasswordText: TEdit;

  • Login: TButton;

  • Exit: TButton;

  1. UConnection:

    • MainConnection: TADOConnection;

    • RequestTableConnection: TADOTable;

    • ClientTableConnection: TADOTable;

    • MasterTableConnection: TADOTable;

    • ServiceTableConnection: TADOTable;

    • RequestTableConnectionData: TDataSource;

    • ClientTableConnectionData: TDataSource;

    • MasterTableConnectionData: TDataSource;

    • ServiceTableConnectionData: TDataSource;

    • RequestTableConnectionDSDesigner: TAutoIncField;

    • RequestTableConnectionDSDesigner2: TIntegerField;

    • RequestTableConnectionDSDesigner3: TIntegerField;

    • RequestTableConnectionDSDesigner4: TIntegerField;

    • RequestTableConnectionDSDesigner5: TDateTimeField;

    • RequestTableConnectionDSDesigner6: TDateTimeField;

    • ClientTableConnectionDSDesigner: TIntegerField;

    • ClientTableConnectionDSDesigner2: TWideStringField;

    • ClientTableConnectionDSDesigner3: TWideStringField;

    • ClientTableConnectionDSDesigner4: TWideStringField;

    • ClientTableConnectionDSDesigner6: TWideStringField;

    • MasterTableConnectionDSDesigner: TAutoIncField;

    • MasterTableConnectionDSDesigner2: TWideStringField;

    • MasterTableConnectionDSDesigner3: TWideStringField;

    • MasterTableConnectionDSDesigner4: TWideStringField;

    • MasterTableConnectionDSDesigner5: TWideStringField;

    • MasterTableConnectionDSDesigner6: TDateTimeField;

    • MasterTableConnectionDSDesigner7: TWideStringField;

    • ServiceTableConnectionDSDesigner: TAutoIncField;

    • ServiceTableConnectionDSDesigner2: TWideStringField;

    • ServiceTableConnectionDSDesigner3: TIntegerField;

    • ClientTableChange: TADOTable;

    • MasterTableChange: TADOTable;

    • ServiceTableChange: TADOTable;

    • ClientTableChangeDB: TDataSource;

    • MasterTableChangeDB: TDataSource;

    • ServiceTableChangeDB: TDataSource;

    • ClientTableChangeDSDesigner: TIntegerField;

    • ClientTableChangeDSDesigner2: TWideStringField;

    • ClientTableChangeDSDesigner3: TWideStringField;

    • ClientTableChangeDSDesigner4: TWideStringField;

    • ClientTableChangeDSDesigner6: TWideStringField;

    • MasterTableChangeDSDesigner: TAutoIncField;

    • MasterTableChangeDSDesigner2: TWideStringField;

    • MasterTableChangeDSDesigner3: TWideStringField;

    • MasterTableChangeDSDesigner4: TWideStringField;

    • MasterTableChangeDSDesigner5: TWideStringField;

    • MasterTableChangeDSDesigner6: TDateTimeField;

    • MasterTableChangeDSDesigner7: TWideStringField;

    • ServiceTableChangeDSDesigner: TAutoIncField;

    • ServiceTableChangeDSDesigner2: TWideStringField;

    • ServiceTableChangeDSDesigner3: TIntegerField;

    • ClientTableChangeDSDesigner5: TWideStringField;

    • ServiceTableChangeDSDesigner4: TWideStringField;

    • ServiceTableConnectionDSDesigner4: TWideStringField;

    • ClientTableConnectionDSDesigner5: TWideStringField;

  1. UAbout:

  • AboutClose: TBitBtn;

  • AboutText: TLabel;

  • AboutText2: TLabel;

  • AboutPicture: TImage;

  • AboutText3: TLabel;

  • AboutText4: TLabel;

  • AboutText5: TLabel;

  • AboutText6: TLabel;

  1. UDeleteConfirmation:

  • ButtonYes: TButton;

  • ButtonNo: TButton;

  1. UExitConfirmation:

  • YesButton: TButton;

  • NoButton: TButton;

  1. URequestTable:

  • AddRequestTable: TBitBtn;

  • RemoveRequestTable: TBitBtn;

  • EditRequestTable: TBitBtn;

  • RefreshRequestTable: TBitBtn;

  • ButtonPanel: TPanel;

  • RequestTableDB: TDBGrid;

  • DBGridPanel: TPanel;

  • MRequestTableMenu: TMainMenu;

  • MClientTable: TMenuItem;

  • MMasterTable: TMenuItem;

  • MServiceTable: TMenuItem;

  • ClientTableDB: TDBGrid;

  • ServiceTableDB: TDBGrid;

  • MasterTableDB: TDBGrid;

  • MRequestTable: TMenuItem;

  • MAbout: TMenuItem;

  1. URequestTableAdd:

  • RTBegin: TDateTimePicker;

  • RTEnd: TDateTimePicker;

  • RTAdd: TButton;

  • RTCancel: TButton;

  • RTClient: TComboBox;

  • RTService: TComboBox;

  • RTMaster: TComboBox;

  • RTClientText: TLabel;

  • RTServiceText: TLabel;

  • RTMasterText: TLabel;

  • RTBeginText: TLabel;

  • RTEndText: TLabel;

  1. URequestTableEdit:

  • RTEClient: TComboBox;

  • RTEService: TComboBox;

  • RTEMaster: TComboBox;

  • RTEAdd: TButton;

  • RTECancel: TButton;

  • RTEBegin: TDateTimePicker;

  • RTEEnd: TDateTimePicker;

  • RTEClientText: TLabel;

  • RTEServiceText: TLabel;

  • RTEMasterText: TLabel;

  • RTEBeginText: TLabel;

  • RTEEndText: TLabel;

  1. UClientTable:

  • SearchPanelClient: TPanel;

  • DBGridPanelClient: TPanel;

  • ButtonPanelClient: TPanel;

  • SearchingClient: TLabeledEdit;

  • SortingClient: TRadioGroup;

  • CTLastName: TRadioButton;

  • CTFirstName: TRadioButton;

  • CTMiddleName: TRadioButton;

  • CTNumber: TRadioButton;

  • ExitClientTable: TBitBtn;

  • AddClientTable: TBitBtn;

  • RemoveClientTable: TBitBtn;

  • EditClientTable: TBitBtn;

  • RefreshClientTable: TBitBtn;

  • ClientTableData: TDBGrid;

  1. UClientTableAdd:

  • CTAdd: TButton;

  • CTCancel: TButton;

  • CTClientNumberText: TLabel;

  • CTClientLastNameText: TLabel;

  • CTClientFirstNameText: TLabel;

  • CTClientMiddleNameText: TLabel;

  • CTClientLiveText: TLabel;

  • CTClientNumberPhoneText: TLabel;

  • CTClientLastName: TDBEdit;

  • CTClientFirstName: TDBEdit;

  • CTClientMiddleName: TDBEdit;

  • CTClientLive: TDBEdit;

  • CTClientNumberPhone: TDBEdit;

  • CTClientNumber: TEdit;

  1. UClientTableEdit:

  • CTEAdd: TButton;

  • CTECancel: TButton;

  • CTEClientLastName: TDBEdit;

  • CTEClientFirstName: TDBEdit;

  • CTEClientMiddleName: TDBEdit;

  • CTEClientLive: TDBEdit;

  • CTEClientNumberPhone: TDBEdit;

  • CTEClientFirstNameText: TLabel;

  • CTEClientMiddleNameText: TLabel;

  • CTEClientLiveText: TLabel;

  • CTEClientNumberPhoneText: TLabel;

  • CTEClientLastNameText: TLabel;

  1. UServiceTable:

  • SearchPanelService: TPanel;

  • DBGridPanelService: TPanel;

  • ButtonPanelService: TPanel;

  • ServiceTableData: TDBGrid;

  • SortingService: TRadioGroup;

  • STName: TRadioButton;

  • STPrice: TRadioButton;

  • ExitServiceTable: TBitBtn;

  • AddServiceTable: TBitBtn;

  • DeleteServiceTable: TBitBtn;

  • EditServiceTable: TBitBtn;

  • RefreshServiceTable: TBitBtn;

  • SearchingService: TLabeledEdit;

  1. UServiceTableAdd:

  • STServiceName: TDBEdit;

  • STServicePrice: TDBEdit;

  • STServiceDefinition: TDBEdit;

  • STServiceNameText: TLabel;

  • STServicePriceText: TLabel;

  • STServiceDefinitionText: TLabel;

  • STCancel: TButton;

  • STAdd: TButton;

  1. UServiceTableEdit:

  • STEServiceNameText: TLabel;

  • STEServiceName: TDBEdit;

  • STEServicePrice: TDBEdit;

  • STEServicePriceText: TLabel;

  • STEServiceDefinitionText: TLabel;

  • STEServiceDefinition: TDBEdit;

  • STEAdd: TButton;

  • STECancel: TButton;

  1. UMasterTable:

  • SearchPanelMaster: TPanel;

  • DBGridPanelMaster: TPanel;

  • ButtonPanelMaster: TPanel;

  • MasterTableData: TDBGrid;

  • AddMasterTable: TBitBtn;

  • DeleteMasterTable: TBitBtn;

  • EditMasterTable: TBitBtn;

  • RefreshMasterTable: TBitBtn;

  • SortingMaster: TRadioGroup;

  • MTLastName: TRadioButton;

  • MTFirstName: TRadioButton;

  • MTMiddleName: TRadioButton;

  • MTQualification: TRadioButton;

  • ExitMasterTable: TBitBtn;

  • SearchingMaster: TLabeledEdit;

  1. UMasterTableAdd:

  • MTMasterLastNameText: TLabel;

  • MTMasterFirstNameText: TLabel;

  • MTMasterMiddleNameText: TLabel;

  • MTMasterQualificationText: TLabel;

  • MTMasterWorkText: TLabel;

  • MTMasterNumberText: TLabel;

  • MTMasterQualification: TComboBox;

  • MTMasterWork: TDateTimePicker;

  • MTMasterLastName: TDBEdit;

  • MTMasterFirstName: TDBEdit;

  • MTMasterMiddleName: TDBEdit;

  • MTMasterNumber: TDBEdit;

  • MTAdd: TButton;

  • MTCancel: TButton;

  1. UMasterTableEdit:

  • MTEMasterLastNameText: TLabel;

  • MTEMasterFirstNameText: TLabel;

  • MTEMasterMiddleNameText: TLabel;

  • MTEMasterQualificationText: TLabel;

  • MTEMasterWorkText: TLabel;

  • MTEMasterNumberText: TLabel;

  • MTEMasterLastName: TDBEdit;

  • MTEMasterFirstName: TDBEdit;

  • MTEMasterMiddleName: TDBEdit;

  • MTEMasterNumber: TDBEdit;

  • MTEMasterWork: TDateTimePicker;

  • MTEMasterQualification: TComboBox;

  • MTEAdd: TButton;

  • MTECancel: TButton;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]