Разработка подсистемы учета успеваемости студентов Байкальского государственного университета экономики и права
Система учета успеваемости студентов Байкальского государственного университета экономики и права. Действующая Информационная система, организация и требования к подсистеме учета успеваемости БГУЭП. Конструирование подсистемы, построение модели функций.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 20.11.2010 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Экзаменационная оценка/100бальная оценка
№№ зачетных книжек
Подпись экзаменато- ра и дата
1
??????? ?.?.
68316
2
?????? ?.?.
69704
3
?????? ?.?.
69606
4
??????? ?.?.
68255
5
?????? ?.?.
63870
6
????? ?.?.
68312
7
???????? ?.?.
68429
8
?????? ?.?.
71107
9
???????? ?.?.
69707
10
?????? ?.?.
68472
11
??????? ?.?.
68340
12
?????? ?.?.
68392
13
??????? ?.?.
68448
14
??????? ?.?.
68397
15
???????? ?.?.
59112
16
??????? ?.?.
68325
17
???????? ?.?.
68400
18
????????? ?.?.
69638
19
???????? ?.?.
68362
20
??????? ?.?.
73990
21
???????? ?.?.
68309
22
?????? ?.?.
69696
23
????? ?.?.
69594
Итого: Зачтено _______________ Не зачтено _____________
Декан факультета_____________________
Форма «Выписка по итогам сессии в личное дело студента»
ПРИЛОЖЕНИЕ 2
Техническое задание
Подсистема «Сессия»
Учета успеваемости Байкальского государственного университета экономики и права
1. Общие сведения
Подсистема управления качеством знаний Байкальского государственного университета экономики и права «Сессия», называемая в дальнейшем подсистемой, разрабатывается силами группы АСУ университета на основании плана развития ИС БГУЭП за счет собственных средств университета. Прием подсистемы в опытную и промышленную эксплуатацию осуществляется комитетом БГУЭП по развитию информационных технологий
2. Назначение и цели создания подсистемы
Подсистема предназначена для автоматизации:
- учета успеваемости в деканатах;
- построения рейтинга студентов по успеваемости в рамках одного факультета и целом по университету;
- формирования и печати итоговых документов по обучению студентов;
- анализа успеваемости.
Цели подсистемы:
- снижение времени на подготовку экзаменационных сессий;
- уменьшение числа ошибок и увеличение оперативности формирования приложений к дипломам за счет предоставления доступа к сведениям об оценках.
- уменьшение ошибок в приказах о переводе студентов с курса на курс;
- увеличение достоверности и подробности анализа успеваемости и организованности проведения сессий;
- повышение качества обучения на основе анализа оценок;
3. Характеристики объекта автоматизации
Рабочие места проректора по учебной работе, инспекторов Учебно-методического управления, деканов, инспекторов деканатов, зав.кафедрами, лаборантов кафедр, оснащены ПК, подключенными к ЛВС с пропускной способностью 100Мб/С. Для хранения данных о контингенте студентов и кадрах БГУЭП используется MS SQL server 2000. Персонал имеет навыки работы на ПК с Windows 98, 2000 и MS Office.
4. Требования к подсистеме
4.1. Требования к подсистеме в целом
Система должна состоять из приложений - АРМов инспектора деканата (он же используется деканом только для просмотра данных), лаборанта кафедры (он же используется зав.кафедрой только для просмотра данных), ректора, проректора по учебной работе (он же используется инспекторами учебного отдела для вычисления показателей успеваемости). АРМы регистрируют и получают данные с SQL-сервера, которые обеспечивает эффективное хранение данных и выполнение запросов на расчет различных показателей успеваемости. Для публикации данных об успеваемости и рейтинге студентов на Internet-сервере БГУЭП должны быть разработаны специальные страницы.
Эксплуатация подсистемы не потребует увеличения штатов. Должны быть расширены функции администратора SQL-сервера для управления полномочиями новых пользователей и работа инспекторов и лаборантов будет выполняться при помощи ПО подсистемы.
Защита информации от несанкционированного доступа должна выполняться штатными средствами операционной системы и SQL-сервера. Сохранность информации должна быть обеспечена ежедневным копированием данных. Одна копия должна храниться администратором вне здания, в котором расположен SQL-сервер.
4.2. Требования к функциям подсистемы
АРМ инспектора деканата должен автоматизировать следующие функции:
- редактирование описания сессии - списка испытаний (зачетов и экзаменов, список должен извлекаться из рабочих учебных планов для указанной сессии и может корректироваться инспектором деканатов;
- печать экзаменационных и зачетных ведомостей и направлений,
- ввод и редактирование оценок на основе групповых ведомостей и персональных направлений на сдачу зачета, экзамена;
- регистрация перезачета оценки при переводе студента из другого вуза;
- редактирование оценок студентов,;
- формирование ведомостей на пересдачу, включающая всех студентов потока;
- регистрация продления сессий студентам;
- формирование и печать сведений об успеваемости за указанный период обучения (количество и доля отличников, ударников, троечников, задолжников) в разрезах групп, потоков, курсов, специальностей, форм обучения, по видам финансирования обучения: бюджетное или коммерческое;
- формирование и печать итоговых таблиц об итогах сессии по группам: студенты по строкам, столбцы - экзамены и зачеты, на пересечении - итоговые оценки;
- формирование и печать показателей успеваемости: успеваемость, качество знаний, количество задолжников, троечников, ударников и отличников, количество пересдач по всем студентам и по коммерческому набору в разрезах групп, потоков, курсов, специальностей, форм обучения, предметов, преподавателей, кафедр;
- формирование и печать списка задолжников и задолженностей за текущую сессию и нарастающим итогом с начала учебного года и за все время обучения,
- формирование и печать рейтинга студентов по средневзвешенной стобалльной оценке;
- формирование и печать приложения к диплому;
- формирование и печать академической справки;
- формирование и печать итогов сессии в личное дело студента.
АРМ лаборанта кафедры должен автоматизировать следующие функции:
- формирование и печать показателей успеваемости: успеваемость, качество знаний, количество задолжников, троечников, ударников и отличников по всем студентам и по коммерческому набору в разрезах групп, потоков, курсов, специальностей, форм обучения, предметов, преподавателей, кафедр;
- формирование и печать меры отличия распределения оценок (сумма квадратов отклонений частот оценок) преподавателя, предмета от среднего по вузу, кафедре
- формирование и печать среднеквадратического отклонения распределения оценок преподавателя, предмета в сравнении с аналогичным показателем по вузу, кафедре;
- формирование и печать списка задолжников и задолженностей за текущую сессию и нарастающим итогом с начала учебного года и за все время обучения по предметам и преподавателям кафедры,
- предоставлять подробную информацию об успеваемости по дисциплинам кафедры;
- формировать и печатать списки студентов по группам.
АРМ ректора должен объединять возможности АРМов инспектора и лаборанта в части формирования и печати итоговых отчетных форм по успеваемости в разрезах групп, потоков, курсов, специальностей, форм обучения, предметов, преподавателей, кафедр и в целом по вузу.
Интернет-страница с данными успеваемости должна по персональным данным студента (фамилия, имя, отчество, серия и номер паспорта) формировать таблицу со списком экзаменов и зачетов и соответствующими оценками.
Интернет-страница с рейтингом студентов должна предоставлять выбор факультета, специализации, курса или группы. По итогам выбора должна формироваться таблица (номер по порядку, фамилия, имя, отчество средневзвешенная стобалльная оценка), группа, студентов (группы или курса) упорядоченная по убыванию средневзвешенной стобалльной оценки.
4.3. Требования к видам обеспечения
Требования к информационному обеспечению:
- данные должны хранится на сервере в нормализованной форме;
- должна быть обеспечена ссылочная целостность данных;
- должны быть предусмотрены следующие проверки корректности данных: дублирование оценок, наличие оценок выше, чем добавляемая, соответствие традиционной и стобалльной оценок;
- данные о студентах, преподавателях, кафедрах должны браться из данных подсистем «Кадры» и «Контингент».
Требования к техническому обеспечению:
- компьютер сервера должен обладать быстродействием…, числом процессоров…., оперативной памятью…, свободным дисковым пространством…, доступом к устройству резервного копирования…, сетевой картой …;
- компьютер пользователя должен обладать быстродействием…, оперативной памятью…, свободным дисковым пространством…, сетевой картой …;
Требования к организационному обеспечению:
- функции администратора сети должны включать обеспечение доставки приложений на рабочие столы пользователей
- функции администратора SQL-сервера должны включать предоставление полномочий пользователям подсистемы;
- должны быть изменены должностные инструкции лаборанта и инспектора в части использования подсистемы учета успеваемости.
5. Состав и содержание работ по созданию системы
Разработка информационного и программного обеспечения должна быть выполнена в течение 6 месяцев и закончится предоставлением описаний приложений, описания структур данных подсистемы, описаний ИО, ПО, инструкции пользователям.
Опытная эксплуатация должна быть проведена на рабочих местах в течение сессии и закончиться предоставлением исправленных ИО, ПО, описаний и инструкций пользователям, администраторам сети и SQL-сервера.
6. Порядок контроля и приемки системы
В процессе опытной эксплуатации должны быть введены все оценки сессий студентов очной формы обучения; сформированы и напечатаны все выходные формы приложений; сформированы интернет-страницы подсистемы.
При вводе в промышленную эксплуатацию контролируется правильность вычисления показателей, формирования экранных и печатных форм и интернет-страниц.
Комиссия по приемке должна включать начальника отдела АСУ, проректора по учебной работе, декана, заведующего кафедрой, инспектора деканата, старшего лаборанта. Комиссия оформляет документы акты о приемки в опытную и промышленную эксплуатацию и готовит проекты соответствующих приказов.
7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
Обучения персонала производится инженерами группы АСУ до начала опытной эксплуатации.
8. Требования к документированию
По итогам разработки формируется следующая документация:
- Описание подсистемы «Сессия».
- Описание приложений.
- Описание интернет-страниц.
- Описание структур данных и программных объектов базы данных подсистемы «Сессия».
- Инструкция администратору сети.
- Инструкция администратору базы данных.
- Инструкции приложений АРМ ректора, АРМ старшего лаборанта кафедры, АРМ инспектора деканата.
9. Источники разработки
Приложение 3 «Концепция развития ИС БГУЭП» к приказу № 37 от 01.04.2002
Отчет о НИР «Проблемы автоматизации управления качеством обучения»
СОСТАВИЛИ
Наименование предприятия |
Должность исполнителя |
Фамилия имя, отчество |
Подпись |
Дата |
|
Ведущий программист |
Жоголь П.И |
||||
Начальник отдела АСУ |
Казмиров А.Д. |
СОГЛАСОВАНО
Наименование предприятия |
Должность исполнителя |
Фамилия имя, отчество |
Подпись |
Дата |
|
Нач. Учебно-методеского управления |
Деренко Н.В. |
||||
Декан ФЭК |
Амбросов Н.В. |
ПРИЛОЖЕНИЕ 3
Хранимые процедуры подсистемы учета успеваемости
/****************************************************************************
Процедура [e_CopyStudyPlanToExList]копирует список экзаменов в таблицу ExList
для группы с кодом @CodGrup, курса @Course и семестра @NumTerm COrganization
Зубков Сергей, 12.01.2002
****************************************************************************/
CREATE PROCEDURE [dbo].[e_CopyStudyPlanToExList](@CodGrup int, @Course tinyint, @NumTerm tinyInt, @COrganization tinyInt=1) AS
-- приходится применять курсор из-за триггера, расчитанного на добавление одной записи -->VV
--
declare @CodPlan int
select @CodPlan = CodPlan from Grup where CodGrup = @CodGrup
create table #tmp
(
CodSub smallint,
Course tinyint,
NumTerm tinyint,
CodExType tinyint,
Lec smallint,
Sem smallint,
Sam smallint,
ECTScredits float
)
insert into #tmp exec e_GetExHoursList @CodPlan
declare
@CodVar int,
@CodSub int,
@CodSubType tinyint,
@CodOrganization tinyint,
@CodKaf tinyint,
@Lec smallint,
@Sem smallint,
@Sam smallint,
@ECTScredits float,
@CodExType tinyint,
@CodPrep int,
@ExLot tinyint
declare EL cursor for
select e.CodExType, ExLot = case when c.CodSubType = 2 then c.SubLot else e.ExLot end,
c.CodSub, CodSubType=case when c.CodSubType = 2 then c.CodSubType else e.CodControlType end, c.CodKaf, isNULL(Lec,0), isNULL(Sem,0), isNULL(Sam,0), isNULL(ECTScredits,0.0)
from (dbo.Grup g
left join dbo.StudyPlans p on p.CodPlan = g.CodPlan
left join dbo.StudyContents c on c.CodPlan = p.CodPlan
left join dbo.StudyExams e on e.CodPlan = c.CodPlan and e.CodSub = c.CodSub)
left join #tmp on #tmp.CodSub = c.CodSub and #tmp.Course = e.Course and #tmp.NumTerm = e.NumTerm and #tmp.CodExType = e.CodExType
-- left join dbo.StudyTerm t on t.CodPlan = c.CodPlan and t.CodSub = c.CodSub and t.Course = e.Course and t.NumTerm = e.NumTerm
where
g.CodGrup = @CodGrup
and e.Course = @Course and e.NumTerm = @NumTerm
UNION
--
-- Гос экзамены
--
SELECT [CodExType]=CASE WHEN ISNULL(tf.CodExType,0)=0 THEN 1 ELSE tf.CodExType END
, 0 AS [ExLot],
CodSub=CASE WHEN ISNULL(tf.CodSub,0)=0 THEN 841 ELSE tf.CodSub END,
1 AS [CodSubType],CodKaf, 20 AS Lec, 0 AS Sem, 216 AS Sam, 6.0 AS ECTScredits
FROM [dbo].TermFlow tf
inner join StudyPlans p on tf.CodPlan=p.CodPlan
WHERE tf.CodPerType=7
AND ((@CodPlan IS NULL) OR (tf.CodPlan = @CodPlan)) AND
tf.Course=@Course and tf.NumTerm=@NumTerm
UNION
-- =============================================
-- Практики 1.5 кредита в неделю (для преддипломной - 5 кредитов)
-- =============================================
SELECT [CodExType]=CASE WHEN ISNULL(tf.CodExType,0)=0 THEN 1 ELSE tf.CodExType END,
0 AS [ExLot],
CodSub=CASE WHEN ISNULL(tf.CodSub,0)=0 THEN -1 ELSE tf.CodSub END,
1 AS [CodSubType],CodKaf, 0 AS Lec, 0 AS Sem, WorkLng*48 AS Sam,
ECTScredits=CASE WHEN NameSub LIKE 'преддипломная практика%' THEN 5 ELSE WorkLng*1.5 END
FROM [dbo].TermFlow tf
inner join StudyPlans p on tf.CodPlan=p.CodPlan
left join Subs s on tf.CodSub=s.CodSub
left join ExTypes e on tf.CodExType=e.CodExType
WHERE tf.CodPerType=4 AND
tf.Course=@Course and tf.NumTerm=@NumTerm
AND ((@CodPlan IS NULL) OR (tf.CodPlan = @CodPlan))
open EL
select @CodOrganization = @COrganization, @CodPrep = NULL
fetch next from EL into @CodExType, @ExLot, @CodSub, @CodSubType, @CodKaf, @Lec, @Sem, @Sam, @ECTScredits
while (@@fetch_status <> -1)
begin
IF (@@fetch_status <> -2)
begin
execute dbo.e_DetectCodVar @CodSub, @CodSubType, @CodOrganization, @CodKaf, @Lec, @Sem, @Sam, @ECTScredits, @CodVar output
if @CodVar > 0 and not exists(select * from dbo.ExList e, dbo.HoursVars h where e.CodVar = h.CodVar and
e.CodGrup = @CodGrup and e.Course = @Course and e.NumTerm = @NumTerm and e.CodExType = @CodExType and h.CodSub = @CodSub)
insert dbo.ExList values (@CodGrup, @Course, @NumTerm, @CodExType, @CodPrep, @ExLot, @CodVar)
end
fetch next from EL into @CodExType, @ExLot, @CodSub, @CodSubType, @CodKaf, @Lec, @Sem, @Sam, @ECTScredits
end
deallocate EL
CREATE PROCEDURE [dbo].[Web_GetEstimations] (@CodStudent int)
AS
/*
Возвращает оценки по студенту
Зубков Андрей
19.09.2007
exec Web_GetEstimations 8000
*/
select Course, NumTerm, NameSub, ExType, ECTSCredits,Mark=CASE WHEN (m.CodExType=2 and Mark>2)
THEN 'зачтено' ELSE CASE WHEN Mark=5 THEN 'отлично'
WHEN Mark=4 THEN 'хорошо'
WHEN Mark=3 THEN 'удовл.' END END+'('+convert(varchar,ECTSMark)+')'
from analysis.s_GetMarks(@CodStudent) m
left join Subs s on m.CodSub=s.CodSub
left join ExTypes et on m.CodExType=et.CodExType
where isnull(Mark,0)>2-- is not null --alt 18.01.2008 только положительные оценки
order by Course, NumTerm, NameSub
/*
Ситник Игорь
01.12.2006
Функция возвращает список всех оценок студента из БД Analysis
(а то у студентов возникают вопросы о неправильном подсчете + здесь уже есть дипломное проектирование)
alt 07 2007 Добавлено разделение на предметы обычные и по выбору (для того, чтобы выбрать оценку и нагрузку только по одному из них)
*/
CREATE FUNCTION [dbo].[s_GetMarks](@CodStudent int=0)
RETURNS
@Marks TABLE(Course tinyint,NumTerm tinyint, CodSub int,CodSubType tinyint, CodExType tinyint, Mark tinyint, ECTSMark smallint,ECTSCredits float, CodPrep int, InReit bit)
BEGIN
declare @CodPlan int
select top 1 @CodPlan=CodPlan from dbo.StudyMarks WHERE CodStudent =@CodStudent
declare @ExLot Table (Course tinyint, NumTerm tinyint, CodSub int, CodSubType tinyint, CodExType tinyint,
Mark int, ECTSMark int, ECTSCredits int, CodPrep int, InReit bit)
insert into @Exlot
select Course=IsNull(se.Course,sm.CourseSub), NumTerm=IsNULL(se.NumTerm,sm.NumTerm),
CodSub=IsNULL(sm.CodSub,se.CodSub), CodSubType=IsNULL(sm.CodSubType,se.CodSubType),
CodExType=IsNULL(se.CodExType,sm.CodExType), sm.Mark, sm.ECTSMark, ECTSCredits=IsNULL(se.ECTSCredits,0), sm.CodPrep, sm.InReit
from
(select * from dbo.ECTS_studyExams where CodPlan=@CodPlan AND CodSubType not in (3,4)) se
JOIN (select * from dbo.StudyMarks where CodStudent=@CodStudent) sm
on se.CodPlan=sm.CodPlan and (se.CodSub=sm.CodSub or sm.CodSub=-1)
and (se.CodSubType=sm.CodSubType or sm.CodSubType=2) and se.Course=sm.CourseSub
and se.NumTerm=sm.NumTerm and se.CodExType=sm.CodExType
where isnull(exlot,0)=1
insert into @Marks
select Course=IsNull(se.Course,sm.CourseSub), NumTerm=IsNULL(se.NumTerm,sm.NumTerm),
CodSub=IsNULL(sm.CodSub,se.CodSub), CodSubType=IsNULL(sm.CodSubType,se.CodSubType),
CodExType=IsNULL(se.CodExType,sm.CodExType), sm.Mark, sm.ECTSMark, ECTSCredits=IsNULL(se.ECTSCredits,0), sm.CodPrep, sm.InReit
--s.CodStudent, M=sum(IsNULL(sm.Mark,0)),R=case when sum(se.ECTSCredits)=0 then 0 else sum(IsNULL(ECTSMark,0)*sу.ECTSCredits)/sum(se.ECTSCredits) end
from
(select * from dbo.ECTS_studyExams where CodPlan=@CodPlan AND CodSubType not in (3,4)) se
FULL JOIN (select * from dbo.StudyMarks where CodStudent=@CodStudent) sm
on se.CodPlan=sm.CodPlan and (se.CodSub=sm.CodSub or sm.CodSub=-1) --case when sm.CodSub in (688,689) then -1 else sm.CodSub end--academia.e_GetCodSub(sm.CodSub)
and (se.CodSubType=sm.CodSubType or sm.CodSubType=2) and se.Course=sm.CourseSub
and se.NumTerm=sm.NumTerm and se.CodExType=sm.CodExType
where isnull(exlot,0)<>1
union
select * from @ExLot
return
END
/************************************************
Предназначена для работы с оценкой (в частности, вызывается в коде upExam - update на qExam)
@CodOp = 1 - удаление
@CodOp = 0 - добавление и модификация
************************************************/
CREATE PROCEDURE [dbo].[e_UpdateExam]
(
@CodOp tinyint,
@CodStudent int,
@CodKaf int,
@CodSub int,
@CodSubType tinyint,
@Course tinyint,
@NumTerm tinyint,
@CodExType tinyint,
@Mark tinyint,
@CodECTSMark smallint,
@CodPrep int,
@DateExam smalldatetime,
@CodVUZ tinyint,
@CodVar int,
@ECTScretits float
)as
BEGIN
--begin tran
--if not @Mark in (1,2,3,4,5) return
--Удаление
IF @CodOp=1
begin
delete from Exam
where
CodStudent = @CodStudent and
Course =@Course and
NumTerm = @NumTerm and
CodExType = @CodExType and
Mark = @Mark and
CodVar = @CodVar
-- if @@error <> 0 rollback tran else commit tran
return
end
declare
@CodOrganization tinyint,
@CodVarNEW int,
@Lec smallint,
@Sem smallint,
@Sam smallint
-- @err varchar(500)
select @CodOrganization = CodOrganization,
@Lec = Lec, @Sem = Sem, @Sam = Sam
from HoursVars
where CodVar = @CodVar
select @CodOrganization = isNULL(@CodOrganization,1),
@Lec = isNULL(@Lec,0), @Sem = isNULL(@Sem,0), @Sam = isNULL(@Sam,0)
--select @err = 'Mark = '+str(@CodOrganization)
execute dbo.e_DetectCodVar @CodSub, @CodSubType, @CodOrganization,
@CodKaf, @Lec, @Sem, @Sam, @ECTScretits, @CodVarNEW output
--raiserror(@err, 16,1);
select @CodOp = 3
if not exists(select * from Exam
where
CodStudent=@CodStudent
and Course=@Course
and NumTerm=@NumTerm
and CodExType=@CodExType
and mark = @mark
and CodVar=@CodVar
) select @CodOp = 2
--Добавление
IF @CodOp=2
begin
Insert Exam (CodStudent,Course,NumTerm,CodExType,Mark,CodECTSMark,
CodPrep,DateExam,CodVar,CodVUZ)
Values(@CodStudent,@Course,@NumTerm,@CodExType,@Mark,@CodECTSMark,
@CodPrep,@DateExam,@CodVarNEW,@CodVUZ)
-- if @@error <> 0 rollback tran else commit tran
return
end
--Изменение
IF @CodOp=3
begin
if exists(select * from Exam
where
CodStudent=@CodStudent
and Course=@Course
and NumTerm=@NumTerm
and CodExType=@CodExType
and mark = @mark
and CodVar=@CodVarNEW
and CodECTSmark = @CodECTSmark
and CodPrep = @CodPrep
and DateExam = @DateExam
and CodVUZ = @CodVUZ
) return
UPDATE Exam SET CodECTSMark=@CodECTSMark,
CodPrep=@CodPrep, DateExam=@DateExam, CodVUZ=@CodVUZ
WHERE CodStudent=@CodStudent
and Course=@Course
and NumTerm=@NumTerm
and CodExType=@CodExType
and mark = @mark
and CodVar=@CodVar
-- if @@error <> 0 rollback tran else commit tran
end
END
/**************************************************************
Предназначена для изменения существующей оценки в таблице Exam
Параметры делятся на три группы:
- старые значения ключевых полей (для идентификации изменяемой оценки);
- новые значения ключевых полей;
- новые значения неключевых полей.
Предварительно необходимо определить CodVarNEW для изменяемой оценки
Сначала производится удаление оценки, а затем вставка с новыми значениями
ЗУБКОВ СЕРГЕЙ
28\05\2002 17:21
****************************************************************/
CREATE PROCEDURE [dbo].[e_UpdateMark]
(
@CodStudent int,
@CodVar int, -- ключевые поля, определяющие, какую оценку меняем
@Course tinyint,
@NumTerm tinyint,
@CodExType tinyint,
@Mark tinyint,
@CodVarNEW int, --набор новых значений ключевых полей
@CourseNEW tinyint,
@NumTermNEW tinyint,
@CodExTypeNEW tinyint,
@MarkNEW tinyint,
@CodECTSMark smallint, -- значение неключевых полей
@CodPrep int,
@DateExam smalldatetime,
@CodVUZ int
)as
BEGIN
--if @CodECTSMark IS NULL BEGIN RAISERROR('Не указана рейтинговая оценка!',16,-1) return END
if @DateExam IS NULL BEGIN RAISERROR('Не указана дата!',16,-1) return END
if @CodVUZ IS NULL BEGIN RAISERROR('Не указан ВУЗ!',16,-1) return END
if @CodECTSMark IS NULL SELECT @CodECTSMark=0
BEGIN TRAN
-- удаляем старую оценку
exec e_DeleteMark @CodStudent, @CodVar, @Course, @NumTerm, @CodExType, @Mark
-- добавляем новую
exec e_AddMark @CodStudent, @CodVarNEW, @CourseNEW, @NumTermNEW, @CodExTypeNEW, @MarkNEW, @CodECTSMark, @CodPrep, @DateExam, @CodVUZ
IF @@ERROR<>0
BEGIN
ROLLBACK TRAN
END
ELSE COMMIT TRAN
END
/******************************************************************************
Object: Stored Procedure dbo.e_DetectCodVar Script Date: 17.11.2001 15:03:37
Процедура определяет @CodVar по содержанию варианта (остальные параметры)
Если варианта нет, то он заносится в HoursVars
****************************************************************************/
CREATE PROCEDURE [dbo].[e_DetectCodVar]
(@CodSub int, @CodSubType tinyint, @CodOrganization tinyint,
@CodKaf tinyInt, @Lec SmallInt, @Sem SmallInt, @Sam SmallInt, @ECTScretits float,
@CodVar int OUTPUT)
AS
--
-- Проверка существования варианта
--
IF EXISTS(SELECT * FROM HoursVars WHERE
CodSub=@CodSub AND CodSubType=@CodSubType
AND CodOrganization=@CodOrganization AND CodKaf=@CodKaf
AND Lec = @Lec AND Sem = @Sem AND Sam=@Sam AND ECTScretits = @ECTScretits)
--
-- Возвращается номер существующего варианта
--
SELECT @CodVar=CodVar FROM HoursVars WHERE
CodSub=@CodSub AND CodSubType=@CodSubType
AND CodOrganization=@CodOrganization AND CodKaf=@CodKaf
AND Lec = @Lec AND Sem = @Sem AND Sam=@Sam AND ECTScretits = @ECTScretits
ELSE
BEGIN
BEGIN TRAN
--
-- Выбирается свободный номер
--
SELECT @CodVar=curentvalue from autoincdata where tablename='HoursVars'
--
-- Добавляется вариант
--
INSERT HoursVars
VALUES (@CodVar,@CodSub,@CodSubType,@CodOrganization,@CodKaf,@Lec,@Sem,@Sam,@ECTScretits)
if @@error<>0
begin
rollback tran
--
-- При аварийном завершении возвращается -1
--
SELECT @CodVar=-1
end
else
begin
commit tran
end
END
Подобные документы
Методика разработки объектно-ориентированной модели информационной подсистемы необходимой для учета успеваемости студентов факультета, которая спроектирована с помощью программного продукта Rational Rose 2003 и унифицированного языка моделирования UML.
курсовая работа [183,9 K], добавлен 25.06.2011Проблема повышения оперативности учета и контроля посещаемости и успеваемости студентов ЮТИ ТПУ. Разработка информационной системы, требования к ней. Информационное обеспечение задачи, автоматизация предметной области. Описание интерфейса системы.
дипломная работа [2,6 M], добавлен 17.07.2012Разработка автоматизированной системы по учету студенческих работ и успеваемости студентов Ухтинского технического университета. Методическое обеспечение, информационная база АИС. Архитектура системы, генерация базы данных; пользовательский интерфейс.
дипломная работа [953,3 K], добавлен 23.09.2016Разработка объектно-ориентированной модели подсистемы "StudentCount" для деканата ВУЗа (автоматизация учета студентов и их успеваемости). Для решения данной задачи использовалось CASE–средство Rational Rose, сгенерирован программный код для языка С++.
курсовая работа [2,4 M], добавлен 28.06.2011Характеристика высшего учебного заведения "МФПА", структура подразделений учебной части. Анализ диаграммы дерева узлов, стадии проектирования информационной системы учета успеваемости студентов. Основные особенности построения модели "Как должно быть".
курсовая работа [3,1 M], добавлен 12.04.2012Формирование требований к системе учета успеваемости студентов на основе рейтинговой системы. Концептуальное и логическое проектирование структуры информационного обеспечения. Реализация информационного обеспечения и тестирование программного средства.
курсовая работа [3,1 M], добавлен 28.08.2012Анализ деятельности бухгалтерии Горно-Алтайского государственного университета. Выявление процессов, требующих автоматизации. Экономическое обоснование системы учета студентов, обучающихся на платной основе. Проектирование концептуальной модели данных.
отчет по практике [390,1 K], добавлен 24.05.2015Разработка информационной системы анализа успеваемости студентов. Особенности режима просмотра объектов с помощью редактора Visual Basic for Application. Виды диалоговых окон и основных элементов управления. Формирование диаграммы успеваемости группы.
курсовая работа [1,3 M], добавлен 28.11.2008- Разработка системы учета успеваемости студентов на основе рейтинговой системы - подсистема "Кафедра"
Проектировка и создание системы, направленной на упразднение трудной и рутинной работы преподавателей, за счет централизованного хранения данных об успеваемости студентов и удобного доступа к ним. Средства реализации и тестирование программного средства.
курсовая работа [1,3 M], добавлен 28.08.2012 Разработка объектно-ориентированной модели информационной подсистемы учета студентов университета во время экзаменационной сессии с помощью программы Rational Rose 2000, с использованием языка UML. Порядок генерации программного кода на языке С++.
курсовая работа [689,9 K], добавлен 21.06.2011