Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа / Мой_курсовик.doc
Скачиваний:
13
Добавлен:
01.05.2014
Размер:
532.99 Кб
Скачать

2. Анализ предметной области

2.1. Термины и определения предметной области

Товар – товар, приобретенный фирмой у поставщика и предназначенный для перепродажи.

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

Контрагент –

Клиент –

Готовая продукция –

Бракованная продукция –

Бракованный материал –

Учетная цена –

Базовая единица измерения –

Склад –

2.2. Функциональная модель существующей технологии

обработки данных и упраления

2.3. Математические модели предметной области

Модели расписания в данной версии не рассатриваются

2.4. Основные информационные объекты предметной области

2.5. Выбор и обоснование функциональных возможностей

проектируемой системы

2.6. Выбор и обоснование алгоритмов решения

3. Разработка функциональной модели проектируемой системы(ФМ)

Схема внешних информационных связей системы

Схема детализации действия Работа с расписание

Схема потоков данных действия Работа с расписанием

Схема классификации объекта Пользователи_расписания

Схема классификации объекта Помещение

Схема классификации данных Запросы_к_расписанию

Фирма : СПбГЭТУ D001.Dub

проект: Расписание занятий индекс документа

тип документа: Схема внешних информационных связей

элемент: действие Работа_с_расписанием w 01-РабР

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Фирма : СПбГЭТУ D002..Dub

проект: Расписание занятий индекс документа

тип документа: Схема детализации действия

элемент: действие Работа_с_расписанием w 01-РабР

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Фирма : СПбГЭТУ D003.Dub

проект: Расписание занятий индекс документа

тип документа: Схема потоков данных

элемент: действие Работа_с_расписанием w 01-РабР

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Фирма : СПбГЭТУ D004.Dub

проект: Расписание занятий индекс документа

тип документа: Схема классификации

элемент: объект Пользователи_расписания об 01-ПолРасп

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Фирма : СПбГЭТУ D005.Dub

проект: Расписание занятий индекс документа

тип документа: Схема классификации

элемент: объект Помещение об Пом

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Фирма : СПбГЭТУ D006.Dub

проект: Расписание занятий индекс документа

тип документа: Схема классификации

элемент: данное Запросы_к_расписанию д ЗапрРасп

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Фирма : СПбГЭТУ D007.Dub

проект: Расписание занятий индекс документа

тип документа: Схема детализации

элемент: данное Справки_по_расписанию д СпрРасп

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Фирма : СПбГЭТУ D008.Dub

проект: Расписание занятий индекс документа

тип документа: Схема классификации

элемент: данное Справки_по_расписанию д СпрРасп

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

группа Расписание

версия

группа Расписание01;

Расписание02

end

Модель данных для группы Расписание01 будем строить с использованием объекта Семестр. В качестве недостатков данной модели выделим следующее:

  1. Существенные трудности с коррекцией расписания - расписание должно корректироваться непосредственно в момент ввода изменений в действие, нельзя заранее планировать изменения

  2. Элементы составного ключа (Семестр,Четность_недели, День_недели, Учебная_пара ) загромождают схему данных

группа Расписание01

использует

атрибуты

01- Место_проведения_занятий_студента_по_расписанию

вход

объект

Студент ;

Семестр ;

Четность_недели ;

День_недели ;

Учебная_пара ; ; ;

выход01

объект Помещение ; ; ; ;

02- Группа_ студента

вход

объект

Студент ; ; ;

выход1

объект

Группа

.....................................

Фирма : СПбГЭТУ D010.Dub

проект: Расписание занятий индекс документа

тип документа: Схема концептуальной модели данных

элемент: группа Расписание01 гр_об Расп01

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Спецификация атрибутов

Обозначение

Наименование атрибута

1

Место проведения занятий студента по расписанию

2

Группа студента

3

Студенты группы

4

Место проведения занятий группы по расписанию

5

Дисциплина для группы по расписанию

6

Преподаватель для группы по расписанию

7

Вид занятий для группы по расписанию

8

Место проведения занятий преподавателя по расписанию

9

Дисциплина для преподавателя по расписанию

10

Вид занятий для преподавателя по расписанию

11

Группы для преподавателя по расписанию

12

Преподаватель для группы по видам занятий

Второй вариант модели данных строим заменяя объект Семестр на объект ДатаВремя и вводя новый объект Точка_расписания.

объект Точка_расписания

состав

key №_точки_расписания ; ;

atr Четность_недели_ТР;

День_недели_ТР ;

Учебная_пара_ТР

end

Параметр ключа Вводится_с имеет тип ДатаВремя и указывает дату, с которой действует строка расписания. Таким образом в течение семестра допускается планирование изменений расписания и ввод их в действие в соответствие с указанной датой ввода.

Фирма : СПбГЭТУ D011.Dub

проект: Расписание занятий индекс документа

тип документа: Схема концептуальной модели данных

элемент: группа Расписание02 гр_об Расп02

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Спецификация атрибутов

Обозначение

Наименование атрибута

1

Место проведения занятий студента по расписанию

2

Группа студента

3

Студенты группы

4

Место проведения занятий группы по расписанию

5

Дисциплина для группы по расписанию

6

Преподаватель для группы по расписанию

7

Вид занятий для группы по расписанию

8

Место проведения занятий преподавателя по расписанию

9

Дисциплина для преподавателя по расписанию

10

Вид занятий для преподавателя по расписанию

11

Группы для преподавателя по расписанию

12

Преподаватель для группы по видам занятий

Фирма : СПбГЭТУ D012.Dub

проект: Расписание занятий индекс документа

тип документа: Схема концептуальной модели данных

элемент: группа Нормативные_данные гр_об НормД

лист 01 листов 02 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

об Точка_расписания об Учебная_пара

Спецификация атрибутов объекта Точка_расписания

Обозначение

Наименование атрибута

13

День_недели_ТР

14

Четность_недели_ТР

15

Учебная_пара_ТР

Спецификация атрибутов объекта Учебная_пара

Обозначение

Наименование атрибута

16

Время_начала_учебной пары

об Студенты об Сотрудники

Спецификация атрибутов объекта Студенты

Обозначение

Наименование атрибута

17

Учебная_группа_студента

18

Фамилия

19

Имя

20

Отчество

Фирма : СПбГЭТУ D013.Dub

проект: Расписание занятий индекс документа

тип документа: Схема концептуальной модели данных

элемент: группа Нормативные_данные гр_об НормД

лист 02 листов 02 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Спецификация атрибутов объекта Сотрудники

Обозначение

Наименование атрибута

21

Фамилия

22

Имя

23

Отчество

24

Должность

об Дисциплина об Помещение

Спецификация атрибутов объекта Дисциплина

Обозначение

Наименование атрибута

21

Наименование

Спецификация атрибутов объекта Помещение

Обозначение

Наименование атрибута

26

Назначение_помещения

27

...............................................................

Избыточные связи

1-Место_проведения_занятий_студента_по_расписанию

1-Место_проведения_занятий_студента_по_расписанию(

@Код_помещения,

№_зач_книжки,

№_точки_расписания,

ДатаВремя)

=

4-Место_проведения_занятий_группы_по_расписанию(

@Код_помещения,

2-Группа_студента(

@№_гоуппы,

№_зач_книжки),

№_точки_расписания,

ДатаВремя)

3-Студенты_группы

3-Студенты_группы(

@№_зач_книжки,

№_группы)

=

2-Группа_студента(

№_группы,

@№_зач_книжки)

6-Преподаватель_для_группы_по_расписанию

6- Преподаватель_для_группы_по_расписанию(

@Таб_номер,

№_группы,

№_точки_расписания,

ДатаВремя)

=

12- Преподаватель_для_группы_по_видам_занятий(

@Таб_номер,

№_группы,

5- Дисциплина_для_группы_по_расписанию(

@Код_дисциплины,

№_группы,

№_точки_расписания,

ДатаВремя),

7- Вид_занятий_для_группы_по_расписанию(

@Код_вида_занятий,

№_группы,

№_точки_расписания,

ДатаВремя))

8- Место_проведения_занятий_преподавателя_по_расписанию

8- Место_проведения_занятий_преподавателя_по_расписанию(

@Код_помещения,

Таб_номер,

№_точки_расписания,

ДатаВремя)

=

4- Место_проведения_занятий_группы_по_расписанию(

12- Преподаватель_для_группы_по_видам_занятий(

Таб_номер,

@№_группы,

ДатаВремя) ,

№_точки_расписания,

ДатаВремя)

9-Дисциплина_для_преподавателя_по_расписанию

9-Дисциплина_для _преподавателя_по_расписанию (

@Код_дисциплины,

Таб_номер,

№_точки_расписания,

ДатаВремя)

=

5- Дисциплина_для_группы_по_расписанию(

12- Преподаватель_для_группы_по_видам_занятий(

Таб_номер,

@№_группы,

ДатаВремя) ,

№_точки_расписания,

ДатаВремя)

10-Вид_занятий_для_преподавателя_по_расписанию

10-Вид_занятий_для_преподавателя_по_расписанию(

@Код_вида_занятий,

Таб_номер,

№_точки_расписания,

ДатаВремя)

=

7- Вид_занятий_для_группы_по_расписанию(

12- Преподаватель_для_группы_по_видам_занятий(

Таб_номер,

@№_группы,

ДатаВремя) ,

№_точки_расписания,

ДатаВремя)

11- Группы_для_преподавателя_по_расписанию

11- Группы_для_преподавателя_по_расписанию(

@№_группы,

Таб_номер,

№_точки_расписания,

ДатаВремя)

=

5- Дисциплина_для_группы_по_расписанию(

@12- Преподаватель_для_группы_по_видам_занятий(

Таб_номер,

@№_группы,

ДатаВремя) ,

№_точки_расписания,

ДатаВремя)

Фирма : СПбГЭТУ D014.Dub

проект: Расписание занятий индекс документа

тип документа: Схема нормализованной модели данных

элемент: группа Расписание02 гр_об Расп02

шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

Спецификация удаляемых атрибутов

Обозначение

Наименование атрибута

1

Место проведения занятий студента по расписанию

3

Студенты группы

6

Преподаватель для группы по расписанию

8

Место проведения занятий преподавателя по расписанию

9

Дисциплина для преподавателя по расписанию

10

Вид занятий для преподавателя по расписанию

11

Группы для преподавателя по расписанию

Спецификация атрибутов объекта Расписание

Обозначение

Наименование атрибута

4

Место проведения занятий группы по расписанию

5

Дисциплина для группы по расписанию

7

Вид занятий для группы по расписанию

Спецификация атрибутов объекта Преподаватели_по_видам_занятий

Обозначение

Наименование атрибута

12

Преподаватель для группы по видам занятий

Фирма : СПбГЭТУ D014.Dub

проект: Расписание занятий индекс документа

тип документа: Спецификации реляционных таблиц

элемент: группа Расписание02 гр_об Расп02

лист 01 листов 03 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

table POINT_TIME_TABLE - Точка_расписания

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

NUM_POINT

smallint

1

№_точки расписания

№_точки_расписания

2

CHET_WEEK

smallint

-

Четность недели_Т_Р

Четность_недели

3

DAY_OF_WEEK

smallint

-

День_недели_Т_Р

Номер_дня_недели

4

NUM_LESSON

smallint

-

Учебная_пара_Т_Р

№_учебной пары

table EMPLOYEE - Сотрудник

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

TAB_NUM

integer

1

№_точки расписания

№_точки_расписания

2

FAMILY

varchar(40)

-

Фамилия

Имя

3

NAME

varchar(40)

-

Имя

Имя

4

PATRONYMIC

varchar(40)

-

Отчество

Имя

5

RANK

smallint

Ученое_звание

Код_ученого_звания

table LESSON_TIME - Учебная_пара

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

NUM_LESSON

smallint

1

№_учебной_пары

№_учебной_пары

2

LES_TIME

DATE

-

Время_начала

Время

Фирма : СПбГЭТУ D014.Dub

проект: Расписание занятий индекс документа

тип документа: Спецификации реляционных таблиц

элемент: группа Расписание02 гр_об Расп02

лист 02 листов 03 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

table COURSE_OF_LECTURES - Учебная_дисциплина

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

CODE_COURSE

smallint

1

Код_дисциплины

Код_дисциплины

2

NAME_COURSE

varchar(40)

-

Наименование_дисциплины

Имя

table ROOM - Помещение

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

CODE_ROOM

char(6)

1

Код_помещения

Код_помещения

2

KIND_ROOM

smallint

-

Назначение_помещения

Код_назначения_помещения

table KIND_ROOM - Назначение_помещений

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

CODE_KIND

smallint

1

Код_назначения

Код_назначения_помещения

2

NAME_KIND

varchar(40)

-

Имя_назначения

Имя

table TIACHER_KIND_LESSON - Преподаватель_по_дисциплине

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

NUM_GROUP

smallint

1

№_учебной_группы

№_учебной_группы

2

TAB_NUM

integer

-

Преподаватель_по_дисциплине

Табельный_номер

3

CODE_COURSE

smallint

2

Дисциплина

Код_дисциплины

4

KIND_LESSON

smallint

3

Вид_занятий

Код_вида_занятий

5

BEGIN_DATE

date

4

Действует_с

ДатаВремя

Фирма : СПбГЭТУ D014.Dub

проект: Расписание занятий индекс документа

тип документа: Спецификации реляционных таблиц

элемент: группа Расписание02 гр_об Расп02

лист 03 листов 03 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

table TIME_TABLE_LESSON - Расписание

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

NUM_GROUP

smallint

1

№_учебной_группы

№_учебной_группы

2

NUM_POINT

smallint

2

Точка_расписания

№_точки_расписания

3

LESSON_ROOM

char(6)

-

Место_занятий_по_расписанию

Код_помещения

4

CODE_COURSE

smallint

-

Дисциплина_по_расписанию

Код_дисциплины

5

KIND_LESSON

smallint

-

Вид_занятий_по_расписанию

Код_вида_занятий

6

BEGIN_DATE

date

3

Действует_с

ДатаВремя

table LIST - Справочники

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

CODE_TYPE_LIST

smallint

1

Код_вида_элемента

Код_вида_элемента

2

NUM_EL_LIST

smallint

2

№_элемента

№_элемента

3

NAME_EL

varchar(40)

-

Имя_элемента

Имя

4

LONG_CODE

smallint

-

Код элемента

Глобальный код

table TYPE_LIST - Типы_справочников

Идентификатор поля

Формат

Эл-т

ключа

Атрибут

Тип атрибута

1

CODE_LIST

smallint

1

Код_списка

Код_списка

2

FORMAT_WR

smallint

-

Длина_имени

Количество_байт

3

NAME_LIST

varchar(40)

-

Имя_элемента

Имя

Фирма : СПбГЭТУ D015.Dub

проект: Расписание занятий индекс документа

тип документа: SQL-тексты

элемент: группа Расписание02 гр_об Расп02

лист 01 листов 03 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

create table TYPE_LIST (

CODE_LIST smallint not null,

FORMAT_WR smallint,

NAME_LIST varchar(40),

primary key (CODE_LIST));

create table LIST (

LONG_CODE smallint not null,

CODE_TYPE_LIST smallint not null,

NUM_EL_LIST smallint not null,

NAME_EL varchar(40),

primary key (LONG_CODE));

create table POINT_TIME_TABLE(

NUM_POINT smallint not null,

CHET_WEEK smallint not null,

DAY_OF_WEEK smallint not null,

NUM_LESSON smallint not null,

primary key (NUM_POINT) );

create table EMPLOYEE(

TAB_NUM integer not null,

FAMILY varchar(40) not null,

NAME varchar(40),

PATRONIMIC varchar(40),

RANK smallint not null,

primary key (TAB_NUM));

create table LESSON_TIME(

NUM_LESSON smallint not null,

LES_TIME date not null,

primary key (NUM_LESSON));

create table COURSE_OF_LECTURES(

CODE_COURSE smallint not null,

NAME_COURSE varchar(40) not null,

primary key (CODE_COURSE));

Фирма : СПбГЭТУ D015.Dub

проект: Расписание занятий индекс документа

тип документа: SQL-тексты

элемент: группа Расписание02 гр_об Расп02

лист 02 листов 03 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

create table ROOM(

CODE_ROOM char(6) not null,

KIND_ROOM smallint not null,

primary key (CODE_ROOM));

create table TIACHER_KIND_LESSON(

NUM_GROUP smallint not null,

TAB_NUM integer not null,

CODE_COURSE smallint not null,

KIND_LESSON smallint not null,

BEGIN_DATE date not null,

primary key (NUM_GROUP, CODE_COURS, KIND_LESSON, BEGIN_DATE));

create table TIME_TABLE_LESSON(

NUM_GROUP smallint not null,

NUM_POINT smallint not null,

LESSON_ROOM char(6) not null,

CODE_COURSE smallint not null,

KIND_LESSON smallint not null,

BEGIN_DATE date not null,

primary key (NUM_GROUP, NUM_POINT, BEG_DATE));

create table ST_GROUP (

NUM_GROUP smallint not null);

alter table TIME_TABLE_LESSON

add constraint I_NUM_GROUP

foreign key(NUM_GROUP) references ST_GROUP(NUM_GROUP),

add constraint invalid_NUM_POINT

foreign key(NUM_POINT) references POINT_TIME_TABLE(NUM_POINT),

add constraint invalid_LESSON_ROOM

foreign key(LESSON_ROOM) references ROOM(CODE_ROOM),

add constraint invalid_CODE_COURSE

foreign key(CODE_COURSE) references COURSE_OF_LECTURES (CODE_COURSE),

Фирма : СПбГЭТУ D015.Dub

проект: Расписание занятий индекс документа

тип документа: SQL-тексты

элемент: группа Расписание02 гр_об Расп02

лист 03 листов 03 шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

add constraint invalid_KIND_LESSON

foreign key(KIND_LESSON) references LIST(LONG_CODE);

alter table TIACHER_KIND_LESSON

add constraint I_NUM_GROUP

foreign key(NUM_GROUP) references ST_GROUP(NUM_GROUP),

add constraint I_CODE_COURSE

foreign key(CODE_COURSE) references COURSE_OF_LECTURES (CODE_COURSE),

add constraint I_KIND_LESSON

foreign key(KIND_LESSON) references LIST(LONG_CODE);

Фирма : СПбГЭТУ D016.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: действие Работа_с_расписанием w РабР

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

w Раб_Р-Работа_с_расписанием

call

w ОбрЗапр-Обработка_запросов_к_расписанию;

ПТипЗапр-Подготовка_типовых_запросов;

ВедРасп-Ведение_расписания;

ВедНормД-Ведение_нормативных_данных

end

w ВедНормД-Ведение_нормативных_данных

call

w ВедСп-Ведение_списков;

ВедКатП-Ведение_каталога_помещений;

ВедКатС-Ведение_каталога_сотрудников;

ВедКатГр-Ведение_каталога_групп;

ВедКатДисц-Ведение_каталога_дисциплин

end

w ВедРасп-Ведение_расписания

call

w НовоеРаспр-

Формирование_нового_распределения_дисциплин_по_преподавателям;

ИзмРаспр-Планирование_изменений_распределения_дисциплин;

НовыйГр-Формирование_нового_графика_занятий;

ИзмГр-Планирование_изменений_графика

end

w ОбрЗапр-Обработка_запросов_к_расписанию

version

w Обработка_запросов_по_категориям_пользователей;

Обработка_с_формированием_типовых_запросов

end

Фирма : СПбГЭТУ D016.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: действие Работа_с_расписанием w РабР

лист 02 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

w Обработка_запросов_по_категориям_пользователей

own

cat 01-ОбрабПоКатПодьз

case

w Обработка_запросов_студентов ;

Обработка_запросов_преподавателей ;

Обработка_запросов_обсл_персонала

end

w Обработка_с_формированием_типовых_запросов

call

w Подготовка_типовых_запросов;

Предоставление_справок

end

w Предоставление_справок

call

w Выбор_типового_запроса;

Задание_фактических_параметров;

Исполнение_запроса

end

w Ведение_списков

call

w Объявить_список;

Удалить_список;

Переименовать_список;

Редактировать_список;

Выбрать_список;

Выбрать_элемент_списка;

Удалить_элемент_списка;

Добавить_элемент_списка

end

Фирма : СПбГЭТУ D016.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: действие Работа_с_расписанием w РабР

лист 03 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

w Предоставление_справок_по_расписанию

call

w Выбор_типа_справки;

Ввод_параметров_запроса;

Обрабаотка_запроса

end

Фирма : СПбГЭТУ D017.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: форма Работа_с_расписанием frm FMain

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

frm FMain- Работа_с_расписанием

own

menu MainMenu

own

pos MM01-Нормативные_данные

own

pos P0101-Списки;

P0102-Помещения;

P0103-Сотрудники;

P0104-Учебные_группы;

P0105-Учебные_дисциплины ; ; ; ;

MM02-Ведение_расписания

own

pos P0201-Новое_распределение_дисциплин;

P0202-Изменения_распределения_дисциплин;

P0203-Новый_график_занятий;

P0204-Изменения_графика ; ; ; ;

MM03-Типовые запросы

переход

форма FTypeQu-Подготовка_типовых_запросов ; ; ; ;

MM04-Справки_по_расписанию

переход

форма FExecQu-Справки_по_расписанию

end

pos P0101-Списки

переход

форма FList-Ведение_списков

выполняет

w Ведение_списков; ; ; ; ; ; ;

P0102-Помещения

переход

форма FRoom- Ведение_каталога_помещений

выполняет

w Ведение_каталога_помещений; ; ; ; ; ; ;

Фирма : СПбГЭТУ D016.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: форма Работа_с_расписанием frm FMain

лист 02 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

P0103-Сотрудники

переход

форма FEmployee-Ведение_каталога_сотрудников

выполняет

w Ведение_каталога_сотрудников; ; ; ; ; ; ;

P0104-Учебные_группы

переход

форма FGroup- Ведение_каталога_групп

выполняет

w Ведение_каталога_групп; ; ; ; ; ; ;

P0105-Учебные_дисциплины

переход

форма FCours- Ведение_каталога_дисциплин

выполняет

w Ведение_каталога_дисциплин

end

pos P0201-Новое_распределение_дисциплин

переход

форма FNewPlanCours- Новое_распределение_дисциплин

выполняет

w Формирование_нового_распределения_

дисциплин_по_преподавателям

end

pos P0202-Изменения_распределения_дисциплин

переход

форма FUpDataPlanCours-Изменения_распределения_дисциплин

выполняет

w Планирование_изменений_распределения_дисциплин

end

Фирма : СПбГЭТУ D016.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: форма Работа_с_расписанием frm FMain

лист 03 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

pos P0203-Новый_график_занятий

переход

форма FNewPlanLesson- Новый_график_занятий

выполняет

w Формирование_нового_графика_занятий

end

pos P0204-Изменения_графика

переход

форма FUpDataPlanLesson- Изменения_графика

выполняет

w Планирование_изменений_графика

end

Фирма : СПбГЭТУ D018.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: форма frm

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

форма FMain- Работа_с_расписанием ;

FTypeQu-Подготовка_типовых_запросов ;

FExecQu-Справки_по_расписанию;

FList-Ведение_списков ;

FRoom- Ведение_каталога_помещений ;

FEmployee-Ведение_каталога_сотрудников ;

FGroup- Ведение_каталога_групп ;

FCours- Ведение_каталога_дисциплин;

FSelectElList-Выбор_элемента_списка;

FNewPlanCours- Новое_распределение_дисциплин;

FUpDataPlanCours-Изменения_распределения_дисциплин;

FNewPlanLesson- Новый_график_занятий;

FUpDataPlanLesson- Изменения_графика

end

форма FSelectElList-Выбор_элемента_списка

выход

flow 04-

use

table LIST; ;

data_oper select

end

форма FList-Ведение_списков

use

форма FSelectElList-Выбор_элемента_списка ; ; ;

выход

flow 01-

use

table LIST; ;

data_oper insert; update; select ; delete; ; ; ;

02-

use

table TYPE_LIST ; ;

data_oper insert; update; select

end

Фирма : СПбГЭТУ D018.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: форма frm

лист 02 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

форма FRoom- Ведение_каталога_помещений

use

форма FSelectElList ; ; ;

выход

flow 03-

use

table ROOM; ;

data_oper insert; update; select ; delete; ; ; ;

end

форма FEmployee-Ведение_каталога_сотрудников

use

форма FSelectElList ; ; ;

выход

flow 04-

use

table ROOM; ;

data_oper insert; update; select ; delete

end

форма FGroup- Ведение_каталога_групп

выход

flow 05

use

table GROUP; ;

data_oper insert; update; select ; delete

end

форма FCours- Ведение_каталога_дисциплин

выход

flow 06

use

table COURSE_OF_LECTURES ; ;

data_oper insert; update; select ; delete

end

Фирма : СПбГЭТУ D018.Dub

проект: Расписание занятий индекс документа

тип документа: Текст спецификации

элемент: форма frm

лист 03 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

форма FEmployee-Ведение_каталога_сотрудников

выход

flow 07

use

table EMPLOYEE ; ;

data_oper insert; update; select ; delete

end

Фирма : СПбГЭТУ D019.Dub

проект: Расписание занятий индекс документа

тип документа: SQLтекст

элемент: SQL_select Найти_место_занятий_по_расписанию_

для_группы SQL_s RGr

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

SQL_select RGr-Найти_место_занятий_по_расписанию_для_группы

вход

параметр :pTDay;

:pNumGroup;

:pChetWeek;

:pDayOfWeek;

:pNumLesson ; ; ;

имеет

эффекты

требования

исходный_текст “

select P1.LESSON_ROOM, P2.NAME_EL

from TIME_TABLE_LESSON P1, LIST P2, ROOM P3

where P1.NUM_GROUP = :pNumGroup

and P1.NUM_POINT in (select P4.NUM_POINT

from POINT_TIME_TABLE P4

where P4.DAY_OF_WEEK = :pDayOfWeek

and P4.NUM_LESSON = :pNumLesson

and P4.CHET_WEEK = :pChetWeek)

and P1.BEGIN_DATE = (select MAX(P5.BEGIN_DATE)

from TIME_TABLE_LESSON P5

where P5.BEGIN_DATE < = :pTDate

and P5.NUM_GROUP = :pNumGroup

and P5.NUM_POINT = in (select P6.NUM_POINT

from POINT_TIME_TABLE P6

where P6.CHET_WEEK = :pChetWeek

and P6.DAY_OF_WEEK = :pDayOfWeek

and P6.NUM_LESSON = :pNumLesson) )

and P1.LESSON_ROOM = P3.CODE_ROOM

and P2.LONG_CODE = P3.KIND_ROOM ”

end

Фирма : СПбГЭТУ D020.Dub

проект: Расписание занятий индекс документа

тип документа: SQLтекст

элемент: SQL_select Найти_дисциплину_и_вид_занятий_по_расписанию_

для_группы SQL_s CKGr

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

SQL_select CKGr-Найти_дисциплину_и_вид_занятий_по_расписанию_для_группы

вход

параметр :pTDay;

:pNumGroup;

:pChetWeek;

:pDayOfWeek;

:pNumLesson ; ; ;

содержит

текст “

select P3.NAME_COUPSE, P2.NAME_EL

from TIME_TABLE_LESSON P1, LIST P2,

COURSE_OF_LECTURES P3

where P1.NUM_GROUP = :pNumGroup

and P1.NUM_POINT in (select P4.NUM_POINT

from POINT_TIME_TABLE P4

where P4.DAY_OF_WEEK = :pDayOfWeek

and P4.NUM_LESSON = :pNumLesson

and P4.CHET_WEEK = :pChetWeek)

and P1.BEGIN_DATE = (select MAX(P5.BEGIN_DATE)

from TIME_TABLE_LESSON P5

where P5.BEGIN_DATE < = :pTDate

and P5.NUM_GROUP = :pNumGroup

and P5.NUM_POINT = in (select P6.NUM_POINT

from POINT_TIME_TABLE P6

where P6.DAY_OF_WEEK = :pDayOfWeek

and P6.NUM_LESSON = :pNumLesson

and P6.CHET_WEEK = :pChetWeek) )

and P3.CODE_COURSE = P1.CODE_COURSE

and P2.LONG_CODE = P1.KIND_LESSON “

Фирма : СПбГЭТУ D021.Dub

проект: Расписание занятий индекс документа

тип документа: SQLтекст

элемент: SQL_select Найти_место_занятий_дисциплину_и_вид_занятий _по_расписанию_ для_группы SQL_s RCKGr

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

SQL_select RCKGr-Найти_место_занятий_дисциплину_и_вид_занятий_

по_расписанию_для_группы

вход

параметр :pTDay;

:pNumGroup;

:pChetWeek;

:pDayOfWeek;

:pNumLesson ; ; ;

имеет

эффекты

требования

исходный_текст “

select P1.CODE_ROOM, P2.NAME_EL, P3.NAME_COUPSE, P7.NAME_EL

from TIME_TABLE_LESSON P1, LIST P2,

COURSE_OF_LECTURES P3, LIST P7, ROOM P8

where P1.NUM_GROUP = :pNumGroup

and P1.NUM_POINT in (select P4.NUM_POINT

from POINT_TIME_TABLE P4

where P4.DAY_OF_WEEK = :pDayOfWeek

and P4.NUM_LESSON = :pNumLesson

and P4.CHET_WEEK = :pChetWeek)

and P1.BEGIN_DATE = (select MAX(P5.BEGIN_DATE)

from TIME_TABLE_LESSON P5

where P5.BEGIN_DATE < = :pTDate

and P5.NUM_GROUP = :pNumGroup

and P5.NUM_POINT = in (select P6.NUM_POINT

from POINT_TIME_TABLE P6

where P6.DAY_OF_WEEK = :pDayOfWeek

and P6.NUM_LESSON = :pNumLesson

and P6.CHET_WEEK = :pChetWeek) )

and P1.CODE_COURSE = P3.CODE_COURSE

and P2.LONG_CODE = P1.KIND_LESSON

and P7.LOND_CODE = P8.KIND_ROOM

and P8.CODE_ROOM = P1.LESSON_ROOM “

end

Фирма : СПбГЭТУ D021.Dub

проект: Расписание занятий индекс документа

тип документа: SQLтекст

элемент: SQL_select Найти_расписание_для_преподавателя SQL_s TTTeach

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

SQL_select TTTeach-Найти_расписание_для_преподавателя

вход

параметр :pTDay;

:pTabNum;

:pDayOfWeek;

:pNumLesson ; ; ;

имеет

эффекты

требования

исходный_текст “

select P3.CODE_ROOM, P5.NAME_KIND, P1.NAME_COUPSE, P2.NAME_EL

from TIME_TABLE_LESSON P3, LIST P2,

COURSE_OF_LECTURES P1, LIST P5, ROOM P6,

TIACHER_KIND_LESSON P7

where P3.NUM_GROUP in (select P7.NUM_GROUP

from TIACHER_KIND_LESSON P7

where P7.TAB_NUM = :pTabNum

and P7.BEGIN_DATE = (

select MAX(P8.BEGIN_DATE)

from TIACHER_KIND_LESSON P8

???????????????????????????????????????)

and P3.NUM_POINT in (select P6.NUM_POINT

from POINT_TIME_TABLE P6

where ( P6.DAY_OF_WEEK = :pDayOfWeek

or :pDayOfWeek = 0 and :pNumLesson = 0)

and (P6.NUM_LESSON = :pNumLesson

or :pNumLesson = 0) )

and P3.BEGIN_DATE = (select MAX(P5.BEGIN_DATE)

from TIME_TABLE_LESSON P5

where P5.BEGIN_DATE < = :pTDate

and P5.NUM_GROUP = P3.NUM_GROUP

and P5.NUM_POINT = in (select P6.NUM_POINT

from POINT_TIME_TABLE P6

where P6.DAY_OF_WEEK = :pDayOfWeek

and P6.NUM_LESSON = :pNumLesson) )

and P1.CODE_COURSE = P3.CODE_COURSE

and P2.LONG_CODE = P3.KIND_LESSON

and P5. LONG_CODE = P6.CODE_KIND

and P6.CODE_ROOM = P1.CODE_ROOM “

/*SQL_select 01-Найти_свободные_помещения

вход

параметр :pTDay;

:pKindRoom;

:pDayOfWeek;

:pNumLesson ; ; ;

имеет

эффекты

требования

исходный_текст “

select P1.CODE_ROOM, P2.NAME_EL

from, LIST P2, ROOM P1

where P1.CODE_ROOM not in

(select P3.CODE_ROOM

from TIME_TABLE_LESSON P3

where P3.NUM_POINT in (select P6.NUM_POINT

from POINT_TIME_TABLE P6

where P6.DAY_OF_WEEK = :pDayOfWeek

and (P6.NUM_LESSON = :pNumLesson

or :pNumLesson = 0) ))

and P2. LONG_CODE = P1.CODE_KIND “ */

SQL_select 01-Найти_свободные_пары_для_помещения

вход

параметр :pTDay;

:pCodeRoom;

:pDayOfWeek ; ; ;

имеет

эффекты

требования

исходный_текст “

select P2.NUM_POINT, P2.DAY_OF_WEEK, P2.NUM_LESSON

from TIME_TABLE_LESSON P1, POINT_TIME_TABLE P2

where P2.NUM_POINT not in

(select P1.NUM_POINT

from TIME_TABLE_LESSON P3

where P3.CODE_ROOM = :pCodeRoom)

and (P2.DAY_OF_WEEK = :pDayOfWeek

or :pDayOfWeek = 0)“

Фирма : СПбГЭТУ D021.Dub

проект: Расписание занятий индекс документа

тип документа: SQLтекст

элемент: SQL_prt Найти_действующее_

расписание SQL_pr WORK_TIME_TABLE

лист 01 листов шифр элемента

Составил: ...........................

дата....................................

Проверил:.............................

дата..............................

Утвердил:..............................

дата.......................................

SQL_pr 01-Найти_действующее_расписание

вход

параметр :pTDay; ; ;

выход

параметр

имеет

эффекты

требования

исходный_текст “

/*CONNECT SOBP_SERVER:D:\STPR\EXAMPL\TLESS.GDB USER SYSDBA PASSWORD masterkey; */

CONNECT D:\STPR\EXAMPL\TLESS.GDB;

SET TERM !! ;

alter procedure WORK_TIME_TABLE ( pTDate DATE)

returns ( oNumGroup smallint,

oDayOfWeek smallint,

oNameDayOfWeek varchar(40),

oChetWeek smallint,

oNumLesson smallint,

oCodeCourse smallint,

oNameCourse varchar(40),

oCodeKindLesson smallint,

oNameKindLesson varchar(40),

oCodeRoom char(6) ,

oCodeKindRoom smallint,

oNameKindRoom varchar(40),

oTabNum integer,

oFamily varchar(40),

oName varchar(40) ,

oRank varchar(40))

as

DECLARE VARIABLE vNumPoint smallint;

DECLARE VARIABLE vBegDate date;

DECLARE VARIABLE vCodeRank smallint;

begin

/*Отбираем действующие на дату pTDate точки расписания */

for select MAX(P1.BEGIN_DATE),P1.NUM_GROUP, P1.NUM_POINT,

P1.CODE_COURSE, P1.LESSON_ROOM, P1.KIND_LESSON

from TIME_TABLE_LESSON P1

where P1.BEGIN_DATE <= :pTDate

group by P1.NUM_GROUP, P1.NUM_POINT, P1.CODE_COURSE, P1.LESSON_ROOM, P1.KIND_LESSON

into :vBegDate, :oNumGroup, :vNumPoint, :oCodeCourse, :oCodeRoom, :oCodeKindLesson

do

begin

/*Находим имя вида занятий*/

select NAME_EL

from LIST

where LONG_CODE = :oCodeKindLesson

into :oNameKindLesson;

/*Находим имя дисциплины*/

select NAME_COURSE

from COURSE_OF_LECTURES

where CODE_COURSE = :oCodeCourse

into :oNameCourse;

/*Раскрываем параметры точки расписания*/

select DAY_OF_WEEK, CHET_WEEK, NUM_LESSON

from POINT_TIME_TABLE

where NUM_POINT = :vNumPoint

into :oDayOfWeek, :oChetWeek, :oNumLesson;

select NAME_EL

from LIST

where LONG_CODE = :oDayOfWeek

into :oNameDayOfWeek;

/*Находим код вида помещения*/

select KIND_ROOM

from ROOM

where CODE_ROOM = :oCodeRoom

into :oCodeKindRoom;

/*Находим имя вида помещения*/

select NAME_EL

from LIST

where LONG_CODE = :oCodeKindRoom

into :oNameKindLesson;

/*Находим таб. номер преподавателя в соответствии с датой pTDate*/

select MAX( BEGIN_DATE), TAB_NUM

from TIACHER_KIND_LESSON

where NUM_GROUP = :oNumGroup

and CODE_COURSE = :oCodeCourse

and KIND_LESSON = :oCodeKindLesson

and BEGIN_DATE <= :pTDate

group by TAB_NUM

into :vBegDate, :oTabNum;

/*Находим ФИО преподавателя*/

select FAMILY, NAME, RANK

from EMPLOYEE

where TAB_NUM = :oTabNum

into :oFamily, :oName, :vCodeRank;

/*Находим наименование звания преподавателя*/

select NAME_EL

from LIST

where LONG_CODE = :vCodeRank

into :oRank;

/*Выдаем текущее значение выходных параметров*/

suspend;

end

end !!

SQL_select TTTeach-Найти_расписание_для_преподавателя

вход

параметр :pDate;

:pTabNum;

{ :pChetWeek;}

:pDayOfWeek;

:pNumLesson ; ; ;

имеет

эффекты

требования

исходный_текст “

select oNameDayOfWeek, oChetWeek, oCodeRoom, oNameKindRoom, oNumGroup, oNameCours,oNameKindLesson

from WORK_TIME_TABLE ( :pDate)

where oTabNum = :pTabNum

and (oDayOfWeek = :pDayOfWeek or :pDayOfWeek = 0)

and (oNumLesson = :pNumLesson or :pNunLesson = 0) “

end

SQL_select FrRoom-Найти_свободные_помещения

вход

параметр :pDate;

:pKindRoom;

:pChetWeek;

:pDayOfWeek;

:pNumLesson ; ; ;

имеет

эффекты

требования

исходный_текст “

select CODE_ROOM

from ROOM WORK_TIME_TABLE ( :pDate)

where CODE_ROOM not in (

select oCodeRoom

from WORK_TIME_TABLE ( :pDate)

where oChetWeek = :pChetWeek

and (oDayOfWeek = :pDayOfWeek or :pDayOfWeek = 0)

and (oNumLesson = :pNumLesson or :pNunLesson = 0)

and (oKindRoom = :pKindRoom or :pKindRoom = 0)) “

end

Соседние файлы в папке Курсовая работа