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

3.5.9. Пользовательский тип передачи данных

Так же определим структуру для передачи данных записи любой таблицы в качестве параметра:

StructForParams = record

ZnPole1: String;

ZnPole2: String;

ZnPole3: String;

ZnPole4: String;

ZnPole5:String;

ZnPole6:String;

ZnPole7:String;

ZnPole8:String;

end;

ZnPole1, ZnPole2, ZnPole3, ZnPole4 значения 1-го, 2-го, 3-го, 4-го полей таблицы базы данных соответственно.

3.6.  Декомпозиция модели переходов состояний

3.6.1. Диаграмма переходов состояний для приложения “Методичка”

3.6.2. Декомпозиция состояния “Работа с данными”

3.6.3. Декомпозиция состояния “Работа со справочниками”

3.6.4. Декомпозиция состояния “Анализ данных”

4. Описание зависимостей

4.1. Межмодульные зависимости

Модуль

доступа к БД

 

Модуль

принадлежности лаб.раб.

 
 


 


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

Модули доступа к БД и генерации отчетов являются автономными.

4.2. Межпроцессорные зависимости

Нет.

4.3. Зависимости внутри данных

Зависимость внутри БД представлена в виде концептуальной модели:

4.3.1. Таблица период актуальности

Поля CodeDis и CodeSpec составляют ключ, который идентифицирует запись. В этих полях может находиться только информация из справочников “дисциплины” и “специальности” соответственно (поля CodeDis, CodeSpec).

4.3.2. Таблица принадлежности лаб.раб.

Поля CodeDis, CodeSpec, CodeGod, CodeLab, Kurs составляют ключ, который идентифицирует запись. В полях CodeDis, CodeSpec, CodeGod, CodeLab  может находиться только информация из справочников “дисциплины”, “специальности”, “учебные года”, “лабораторные работы” соответственно (CodeDis, CodeSpec, CodeGod, CodeLab).

4.3.3. Таблица рекомендаций по лаб.раб.

Поля CodeDis, CodeSpec, CodeGod, CodeLab, Kurs, CodeMet составляют ключ, который идентифицирует запись. В полях CodeDis, CodeSpec, CodeGod, CodeLab, CodeMet  может находиться только информация из справочников “дисциплины”, “специальности”, “учебные года”, “лабораторные работы”, “методички” соответственно (CodeDis, CodeSpec, CodeGod, CodeLab,CodeMet).

4.4. Зависимости между состояниями

Каждое состояние зависит от состояний, в которые приложение может перейти из него.

5. Описание интерфейса

В данном разделе описываются интерфейсы объектной модели.

5.1. Межмодульные интерфейсы

5.1.1. Интерфейс “модуля доступа к данным”

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

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

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

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

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

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

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

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

5.1.2. Интерфейс “модуля генерации отчетов”

Интерфейс модуля генерации отчетов обеспечивается объектами классов TReportOS, TReportOD, TReportKolDis, TReportKolSpec.

1. В состав интерфейса класса TReportOS входят следующие методы:

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

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

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

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

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

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