1. анализ поставленной задачи 4
Скачать 0.6 Mb.
|
ПРИЛОЖЕНИЕ 2Техническое описание
Личный электронный журнал преподавателя.
Личный журнал преподавателя разработан в СУБД Microsoft Access 2007. Для реализации запросов использовался SQL. Для создания пользовательского меню использована XML разметка.
Личный журнал преподавателя предназначен для хранения и обработки информации о студентах и предметах, которые ведет преподаватель. Программа выполняет следующий набор функций:
Для работы программного модуля необходима СУБД Microsoft Access 2007 или выше. Для установки СУБД требуется: минимальный объем оперативного запоминающего устройства (ОЗУ) не менее 1Гб; минимальный размер жесткого диска 300Мбайт. Рекомендуется иметь источник бесперебойного питания. СВЕДЕНИЯ О ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ
Информация о студентах представлена на рисунке П1.2. Рисунок П2.1 Структура таблицы с информацией о студентах Информация о предметах представлена на рисунке П2.2. Рисунок П2.2 Структура таблицы с информацией о предметах Полученные оценки и посещаемость представлены на рисунке П2.3. РисунокП2.3 Структура таблицы с информацией о посещаемости и оценках Индивидуальные темы студентов представлены на рисунке П2.4 РисунокП2. 4 Структура таблицы с индивидуальными темами Прогресс работы с дипломом представлен на рисунке П2.5 РисунокП2.5 Структура таблицы с прогрессом ДП
В результате работы программного модуля получены следующие данные:
Итоговая отметка проставляется либо вручную, по усмотрению преподавателя, либо автоматически, в соответствии с количеством полученных баллов и учетом посещенных занятий. При выставлении отметки учитываются обязательные занятия, без которых оценка не будет положительной. Оценка выставляется либо в рейтинговой системе, либо в пятибалльной. ОПИСАНИЕ ЛОГИЧЕСКОЙ СТРУКТУРЫ
Рисунок П2.6 Алгоритм работы программного модуля Работа модуля начинается с ввода пароля пользователя. При первом входе в журнал преподаватель создает список предметов и список студентов. Дальше для каждого занятия выбирается тип занятия, если для этого занятия предусмотрены индивидуальные темы, то они заносятся в список тем студентов. Для каждого студента отмечается посещаемость и отметка , если занятие подразумевает выставление отметки. Итоговую отметку можно выставить как вручную, так и рассчитать автоматически. Она будет рассчитана на основе текущих отметок и посещаемости студента. Для студентов, проходящих дипломное проектирование, отмечается прогресс работы на каждом этапе проектирования, так же хранится тема диплома.
Программный модуль представляет собой автоматизированную информационную систему. Структура базы данных программного модуля отображена на инфологической модели. Рисунок П2.7 Инфологическая модель базы данных
расчет итоговых оценок студентов; Вычисляет итоговую сумму баллов, накопленных студентами за посещаемость и за выполненные работы. выставление оценок; Выставляет итоговые оценки студентов в соответствии с накопленными ими баллами. расчет процента посещаемости; Рассчитывает процент посещаемости занятий студентов. список задолженностей; Показывает задолженности выбранного студента. текущие оценки студента. Показывает текущие оценки выбранного студента. ОПИСАНИЕ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Так как программный модуль открывается при помощи СУБД Microsoft Access, то он представляет собой один .accdb файл. Файл необходимо скачать на ПК и расположить его в любой удобной папке.
Для вызова программы необходимо либо открыть двойным щелчком файл «Личный журнал. .accdb», либо команды «Открыть» из главного окна СУБД Access.
Программный модуль работает в диалоговом режиме.
Для завершения работы необходимо либо закрыть СУБД Access, либо воспользоваться кнопкой «Выход» на панели пользовательского меню.
«Не может быть больше 100%»; Рисунок П2.8 Сообщение об ошибке «Введенное значение не соответствует типу данных». Рисунок П2.9 Несоответствие типов данных
При возникновении ошибки 1 следует ввести значение меньшее или равное 100. При возникновении ошибки 2 следует ввести меньшее значение, так как превышен объем символов. Номер телефона следует вводить без пробелов и других знаков. ПРИЛОЖЕНИЕ 3Модель разработки Рисунок П3.1 Use-Case диаграмма Рисунок П3.2 Инфологическая модель базы данных Рисунок П3.3 Модель работы программного модуля ПРИЛОЖЕНИЕ 4Код программы Вычисление накопленных баллов. SELECT DISTINCT students.Имя, students.Фамилия, Count(Nz([Вес занятия],0)) AS Посещаемость, Sum(Nz([Оценка],0)) AS Оценки, Count(Nz([Оценки].[Вес занятия],0))+Sum(Nz([Оценки].[Оценка],0)) AS Баллы, Оценки.id_предмета, Оценки.id_студента FROM [Тип занятия] INNER JOIN (students INNER JOIN Оценки ON students.id_студента = Оценки.id_студента) ON ([Тип занятия].id_предмета = Оценки.id_предмета) AND ([Тип занятия].id_занятия = Оценки.id_занятия) GROUP BY students.Имя, students.Фамилия, Оценки.id_предмета, Оценки.id_студента, Оценки.id_студента ORDER BY Оценки.id_предмета Текущие оценки студента. SELECT DISTINCT [students].Имя, [students].Фамилия, Оценки.Оценка, [Тип занятия].[Название занятия], [Тип занятия].Дата FROM [Тип занятия] AS [Тип занятия_1], students INNER JOIN ([Тип занятия] INNER JOIN Оценки ON ([Тип занятия].id_предмета=Оценки.id_предмета) AND ([Тип занятия].id_занятия=Оценки.id_занятия)) ON [students].id_студента=Оценки.id_студента WHERE ((([students].Имя)=[Введите имя]) And (([students].Фамилия)=[Введите Фамилию])) Задолженности студента. SELECT students.Фамилия, students.Имя, [Тип занятия].Обязательность, Оценки.Посещаемость, [Тип занятия].[Название занятия], students.Имя FROM [Тип занятия] INNER JOIN (students INNER JOIN Оценки ON students.id_студента=Оценки.id_студента) ON ([Тип занятия].id_предмета=Оценки.id_предмета) AND ([Тип занятия].id_занятия=Оценки.id_занятия) WHERE (((students.Фамилия)=[Введите фамилию:]) AND ((students.Имя)=[Введите имя:]) AND (([Тип занятия].Обязательность)=True) AND ((Оценки.Посещаемость)=False) AND ((students.Имя)=[Введите имя:])) Процент посещаемости студентов. SELECT Баллы.Имя, Баллы.Фамилия, predmet.[Название предмета], ([Посещаемость]/[Всего занятий]) AS [Процент посещаемости], [Часы лекций]+[Часы практики] AS [Всего занятий], predmet.[Часы лекций], Баллы.Посещаемость FROM Баллы INNER JOIN predmet ON Баллы.id_предмета = predmet.id_предмета GROUP BY Баллы.Имя, Баллы.Фамилия, predmet.[Название предмета], ([Посещаемость]/[Всего занятий]), [Часы лекций]+[Часы практики], predmet.[Часы лекций], Баллы.Посещаемость, predmet.[Часы практики] ORDER BY predmet.[Название предмета] Выставление итоговых баллов. INSERT INTO Itog ( id_студента, id_предмета, Итог ) SELECT Баллы.id_студента, Баллы.id_предмета, Баллы.Баллы FROM Баллы; Выставление итоговых оценок. UPDATE Itog SET Itog.Оценка = 'А(5)' WHERE Itog.Итог between 100 and 90; UPDATE Itog SET Itog.Оценка = 'B(4)' WHERE Itog.Итог between 89 and 75; UPDATE Itog SET Itog.Оценка = 'C(4)' WHERE Itog.Итог between 74 and 60; UPDATE Itog SET Itog.Оценка = 'D(3)' WHERE Itog.Итог between 59 and 55; UPDATE Itog SET Itog.Оценка = 'E(3)' WHERE Itog.Итог between 50 and 55; UPDATE Itog SET Itog.Оценка = 'FX(2)'WHERE Itog.Итог<=49 |