ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.01.2025

Просмотров: 2586

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Содержание

Введение

1.4. Технические требования к программе или программному изделию

3. Выбор языка и среды разработки.

3.1. Выбор компонентной базы для доступа к субд FireBird 2.1

4. Структура базы данных

4.1. Таблица персональных данных пользователя

4.2. Таблица параметров авторизации пользователя на почтовом сервере

5. Архитектура программного обеспечения

6. Структура программного обеспечения

6.1. Подсистема администрирования

6.2. Подсистема просмотра данных

6.3. Подсистема редактирования данных

6.4. Подсистема работы с сообщениями

7. Описание интерфейса программного обеспечения

7.1. Интерфейс – «Галочки»

8. Результаты тестирования

9. Контрольный пример работы программного обеспечения

10. Безопасность и экологичность проектных решений

10.1. Цель и решаемые задачи

10.2. Опасные и вредные факторы при работе с пэвм

10.3. Характеристика объекта исследования

10.4. Мероприятия по безопасности труда и сохранению работоспособности

10.4.3 Создание рационального освещения

10.4.4 Защита от шума

10.4.5 Обеспечение режимов труда и отдыха

10.4.6 Обеспечение электробезопасности

10.4.7 Защита от статического электричества

10.4.8 Обеспечение допустимых уровней электромагнитных полей

10.4.9 Обеспечение пожарной безопасности

10.4.10. Мероприятия и средства по защите окружающей среды

10.5. Расчеты.

11. Организационно-экономическая часть

11.1 Технико-экономическое обоснование объекта проектирования.

Результаты

11.1.2 Состав конструкторской группы и их должностные оклады.

11.1.3 Экономическая часть.

Затраты на страховые взносы.

11.1.3. Вывод.

12. Заключение

13. Список литературы

Приложение 1. Листинг

Приложение 2. Руководство пользователя.

7. Описание интерфейса программного обеспечения

Форма авторизации.

Форма авторизации (рис.4) открывается сразу после входа в программу. На ней указываются имя и пароль пользователя для входа в систему.

Рис.6 Форма авторизации

Нажатие кнопки ОК на форме обрабатывает следующий фрагмент программного кода:

{Обрабатываем нажатие кнопки ОК}

procedure TSecurityForm.BitBtn_okClick(Sender: TObject);

begin

//поиск введенных значений в БД

if not pFIBDataSet.Locate('NAME_USER;password_USER',

VarArrayOf([LabeledEdit_Nick.Text,

LabeledEdit_pass.Text]),

[loCaseInsensitive]) then exit;

DM_Main.NickID:=

pFIBDataSet.FieldByName('ID_User').AsInteger;

DM_Main.NickName:= LabeledEdit_Nick.Text;

SecurityForm.ModalResult:= mrOK;

end;

После нажатия на кнопку ОК происходит открытие панели навигации. Этот процесс обрабатывает следующий фрагмент программного кода:

if (SecurityForm.ShowModal = mrOK) then

begin

// если авторизация успешна, открываем главную форму

MForm.Caption := '...::: '+CPROG_NAME+' ::: ' +

DM_Main.PutBase + ' ::: ' + DM_Main.NickName + '

:::...';

MForm.N1_Abit.Visible := true;

end

else // скрываем пункты меню если авторизация

безуспешна

MForm.N1_Abit.Visible := false;

MForm.N4_Post.Visible := MForm.N1_Abit.Visible;

Панель навигации

Панель навигации (рис.5) служит для удобного перехода между модулями программы. После успешной авторизации открывается с полным набором вкладок: Файл -> Авторизация -> Выход; Абитуриент -> Регистрация -> Просмотр; Почта -> Отправить сообщение -> Просмотреть сообщения; Классификаторы ->Источник.

Рис.7 Панель навигации

Форма выбора мероприятия

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


Рис.8 Форма выбора источника

Для мониторинга открытия формы перед открытием формы регистрации в программе введена глобальная переменная vSource, в которую сохраняетсяIDмероприятия после выбора его на форме и нажатия на кнопку Выбрать:

{Обрабатываем нажатие кнопки ОК}

procedure TFSetSoure.aOKExecute(Sender: TObject);

begin

if cxLookupComboBox_user.EditingValue <> Null then

DM_Main.vSource := cxLookupComboBox_user.EditingValue

За мониторинг отвечает следующий фрагмент кода:

{Открываем форму регистрации возможных абитуриентов}

procedure TMForm.N3Click(Sender: TObject);

begin

// проверяем выбран ли источник данных

if DM_Main.vSource = 0 then

with TFSetSoure.Create(self) do

try

if ShowModal = mrCancel then exit;

finally

free;

end;

Форма регистрации

Форма регистрации возможного абитуриента открывается при выборе на панели навигации вкладки Регистрация. Если это первое открытие формы после запуска программы, то сначала необходимо выбрать источник (мероприятие), от которого будут в дальнейшем зарегистрированы возможные абитуриенты. Повторное открытие формы осуществляется без открытия дополнительных форм. Внешней вид незаполненной формы регистрации показан на рисунке 9.

Рис.9 Форма регистрации

Обязательными для заполнения полями на форме являются поле Фамилия и Имя, они выделены жирным шрифтом. После внесения соответствующих данных в эти поля для осуществления дальнейшей регистрации, в частности внесения интересов возможного абитуриента, необходимо нажать на кнопку регистрации. Рисунок 10 и 11.

Рис.10 Форма регистрации с заполненными обязательными полями

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


Рис.11 Форма регистрации. Ввод интересов абитуриента

Рис.12 Выбор факультета

Рис.13 Выбор специальности

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

В случае, когда возможный абитуриент еще раз приходит на какое-либо мероприятие Университета, в поле IDвносится его уникальный идентификатор, который есть на его Карточке абитуриента, затем нажимается клавишаEnterи все поля формы заполняются данными из БД по этому абитуриенту. И в таблицеFST_PERS_DATAбазы данных значение атрибутаREPEATэтого абитуриента становится равным 1. Кнопка Регистрации становится не активной. Данные можно редактировать, если есть изменения и сохранить, нажав на кнопку Готово. За реализацию описанного функционала отвечает фрагмент программного кода:

{Обрабатываем введение в поле ‘ID’ идентификационный номер возможного абитуриента во время повторного посещения МГОУ}

procedure TFvabit.cxME_ID_AbitKeyUp(Sender: TObject; var

Key: Word;Shift: TShiftState);

begin

if Key = 13 then

begin

cxB_Registr.Visible := false;

pFIBDS_All.Active := false;

pFIBDS_All.ParamByName('ID').AsString :=

cxME_ID_Abit.Text;

pFIBDS_All.Active := true;

pFIBDS_All.Edit;

pFIBDS_All.FieldByName('REPEAT').AsInteger := 1;

end;

end;

Форма просмотра зарегистрированных

На форме просмотра зарегистрированных после ее открытия отображаются параметры информации о возможных абитуриентах, а сами абитуриенты представлены в группах. Используется следующая иерархия групп: по факультетам, по специальностям, по форме оплаты. Справа на панели управления расположены две кнопки для быстрой группировки. На рисунке 14 показана кнопка Сгруппировать и сгруппированные данные после нажатия на эту кнопку. Причем после группировки остается выделенным абитуриент, который был выбран при разгруппированном отображении. Это можно проследить если сравнить формы на рисунках 14 и 15.


Рис.14 Форма просмотра зарегистрированных возможных абитуриентов. Сгруппированные данные

Рис.15 Форма просмотра зарегистрированных возможных абитуриентов. Разгруппированные данные

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

{Обрабатываем нажатие кнопки разгруппировать}

procedure TFView.AagroupExecute(Sender: TObject);

begin

sDBTableView1PAY_FORM_ID.GroupIndex := -1;

sDBTableView1PAY_FORM_ID.Caption := 'Форма оплаты';

sDBTableView1PAY_FORM_ID.Visible := true;

sDBTableView1NAME1.GroupIndex := -1;

sDBTableView1NAME1.Caption := 'Специальность';

sDBTableView1NAME1.Visible := true;

sDBTableView1NAME2.GroupIndex := -1;

sDBTableView1NAME2.Caption := 'Факультет';

sDBTableView1NAME2.Visible := true;

end;

{Обрабатываем нажатие кнопки сгруппировать}

procedure TFView.AGroupExecute(Sender: TObject);

begin

sDBTableView1NAME2.GroupIndex := 0;

sDBTableView1NAME2.Caption := '';

sDBTableView1NAME2.Visible := false;

sDBTableView1NAME1.GroupIndex := 1;

sDBTableView1NAME1.Caption := '';

sDBTableView1NAME1.Visible := false;

sDBTableView1PAY_FORM_ID.GroupIndex := 2;

sDBTableView1PAY_FORM_ID.Caption := '';

sDBTableView1PAY_FORM_ID.Visible := false;

end;

При выборе абитуриента и нажатии на кнопку Редактирование или при двойном щелчке мыши по выбранному абитуриенту открывается форма редактирования возможного абитуриента. Она показана на рисунке 16.

При выборе абитуриента и нажатии на кнопку Создать сообщение открывается форма Сообщение, показанная на рисунке 17.

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

{Обрабатываем нажатие кнопки Печать -> Название отчета}

procedure TFView.APrintExecute(Sender: TObject);


begin

frxReport_View.Clear;

try

if not frxReport_View.LoadFromFile

(ExtractFilePath(Application.ExeName)+'Название

отчета.fr3') then

MessageBox(0, PansiChar('Не удалось загрузить файл

отчета!'+ #13 + #10 + 'Проверьте наличие файла'),

'Внимание!', MB_ICONSTOP or MB_OK or

MB_TASKMODAL);

finally

frxReport_View.ShowReport(true);

end;

end;

Рис.16 Форма редактирования возможного абитуриента

Рис.17 Форма создания сообщения

Форма редактирования

Форма редактирования (рисунок 16) предназначена для редактирования ранее введенной информации по будущему абитуриенту. Она представляет собой форму регистрации с ограниченным функционалом. На форме не отображается уникальный идентификатор абитуриента, так как его нельзя редактировать. Также нет кнопки Регистрация, так как происходит процесс редактирования, а не регистрации. Кнопка Печать ID не нужна потому, что не для кого печатать Карточку абитуриента.

Форма создания и отправки сообщения

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

Кнопки управления в блоке со списком абитуриентов предназначены для выделения всех абитуриентов или снятия всех галочек. Программный код:

{Обрабатываем нажатие кнопки Выделить все или Снять выделение}

procedure TFPost.cxBAllClick(Sender: TObject);

var i:integer;

begin

pFIBDS_Post.DisableControls;

pFIBDS_Post.First;

for i := 0 to cxGrid1DBTableView1.

DataController.RecordCount + 1 do

begin

pFIBDS_Post.Edit;

pFIBDS_Post.FieldByName('CB').AsInteger := {если

выделить}1{снять выделение}0;

pFIBDS_Post.Post;

cxGrid1DBTableView1.DataController.RecNo := i;