Проектирование приложения базы данных «Методичка», страница 6

Интерфейс модуля рекомендаций по  лаб.раб. обеспечивается объектом RecommendTable класса  TRecommendTable. В его состав входят следующие методы:

1. Constructor InitRecommend (TTable) //получение экземпляра класса TRecommendTable.

2. Distructor Destroy () // уничтожение  экземпляра класса  TRecommendTable.

3. Procedure SetRole (Byte) // устанавливает статус текущего пользователя

4. Function Insert (TUseSpravInfo; StructForParams): boolean // добавление новой записи.

7. Function Edit (TUseSpravInfo; StructForParams): boolean // редактирование  текущей записи.

8. Function Delete (): boolean // удаление  текущей записи.

5.2. Интерфейс процессов

Нет.

6. Детальное проектирование

6.1. Детальное проектирование модулей

6.1.1.  Модуль доступа к данным

Модуль доступа к данным включает в себя класс TACLTable.

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

Атрибуты:

private UserRole: integer – статус текущего пользователя.

private UserName: String – имя текущего пользователя.

Методы:

1. Constructor InitACL (var dbTable:TTable) //получение экземпляра класса  TACLTable. 

В качестве параметра в данную функцию передается таблица ACL.

2. Distructor Destroy () // уничтожение  экземпляра класса  TACLTable.

3. public Function GetRole(): byte // получение статуса текущего пользователя.

Возвращает статус текущего пользователя (значение атрибута  UserRole).

4. public Function LogOn (UserName:String; Password:String): boolean // идентификация пользователя и его пароля.

Функция производит сравнение записей таблицы ACL с введенными пользователем именем и паролем, в случае успеха возвращает True, иначе False.Имя пользователя UserName и пароль Password передаются в данную функцию в качестве параметра.

5. public Function NewUser (UserName:String; Password:String; UserRole:Integer): boolean //добавление в таблицу ACL нового пользователя.  

Функция производит добавление в таблицу ACL нового пользователя с именем UserName, паролем  Password и статусом UserRole. В случае успешного добавления (отсутствия пользователя с именем UserName и пароля  Password, соответствия прав доступа) функция возвращает True, иначе False.

6. public  Function DelUser (UserName:String): boolean //удаление пользователя из таблицы ACL.

Функция производит удаление пользователя с именем UserName. В случае успешного удаления (соответствия прав доступа) функция возвращает True, иначе False.

7. public  Function ChangePassword (UserName:String; Password: String): boolean // изменение пароля пользователя.

Функция производит смену пароля пользователя  UserName на Password, в случае успеха возвращает True, иначе False.

6.1.2. Модуля генерации отчетов

Модуль генерации отчетов включает в себя классы   TReportOS, TReportOD, TReportKolDis, TReportKolSpec.

1. TReportOS

Атрибуты:

Нет.

Методы:

1.1. Constructor InitReportOS (TQuery) //получение экземпляра класса TReportOS.

В качестве параметра в данную функцию передается компонент TQuery.

1.2. Distructor Destroy () // уничтожение  экземпляра класса  TReportOS.

1.3. public Procedure Print (NameReportForm:String) // отображает на экран созданный отчет в виде печатного документа.

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

1.4. public Function GetKurs(): Integer // возвращает значение поля «курс» для текущей записи полученного набора данных.

1.5. public Function GetSpecial(): String // возвращает значение поля «специальность» для текущей записи полученного набора данных.

1.6. public Function GetYchGod(): String / /возвращает значение поля «учебный год» для текущей записи полученного набора данных.

1.7. public Procedure GenerateOtch() // производит генерацию результирующих данных по ОС.

2. TReportOD

Атрибуты:

Нет.

Методы:

2.1. Constructor InitReportOD (TQuery) //получение экземпляра класса TReportOD.

В качестве параметра в данную функцию передается компонент TQuery.

2.2. Distructor Destroy () // уничтожение  экземпляра класса  TReportOD.