48611 (Разработка прикладной информационной системы), страница 2
Описание файла
Документ из архива "Разработка прикладной информационной системы", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48611"
Текст 2 страницы из документа "48611"
Дальше идет заполнение полей: «Тема курсовой работы» - вводим тему; «Оценка» - выбираем из списка оценок (3,4,5) нужную нам оценку; «Дата сдачи» - при нажатии на кнопку ( ) появляется форма «Выберите дату» в виде календарика:
В ней при помощи кнопки «Выбрать» выбираем необходимую нам дату сдачи курсовой работы и заполняем информацию о преподавателе (ФИО, ученая степень).
Нажимаем основную кнопку «Добавить», и информация о студенте и курсовой работе заносится в нашу базу данных.
При нажатии на кнопку «Добавить», также происходит проверка на выявление совпадения темы курсовой работы. Если вводимая тема совпадает с уже существующей темой, то выводится сообщение:
и вводимые данные не добавляются.
В противном случае выводится сообщение:
и вводимые данные успешно заносятся в базу данных.
Если мы хотим перед вводом темы курсовой работы просмотреть кокой – нибудь предмет на наличие ранее выдававшихся тем по этому предмету, то в списке «Предмет» выбираем нужный нам предмет и нажимаем кнопку «Показать темы».
В правой стороне в списке появляются список тем.
Также мы можем удалять студента при помощи кнопки «Удалить» в главном окне программы (при этом тема курсовой работы не удаляется, для последующего выявления уже сданных тем курсовых работ).
Если студент, которого хотим удалить, не выбран, то выводится сообщение:
При выборе студента и нажатии на кнопку «Удалить» происходит удаление студента и выводится сообщение об успешном удалении:
Кнопки «Отчет по студентам» и «Отчет по преподавателям» позволяют просмотреть информацию:
1)о студенте: ФИО, по какому предмету, какую курсовую, на какую оценку, и когда он защитил;
2)о преподавателе: ФИО, ученую степень, предмет, который он вел, и какая тема курсовой работы выдавалась им по данному предмету.
Заключение
В процессе выполнения курсовой работы мной были освоены средства написания прикладных систем управления базами данных на основе Visual Fox Pro 9.0. С помощью широких возможностей программы Visual FoxPro 9.0 осуществлен удобный интерфейс, легкий доступ к данным и другие возможности, освещенные в данной курсовой работе. Считаю, что возможности Visual Fox Pro 9.0 достаточно широкие, чтобы написать программу любой сложности, но, к сожалению, в Visual Fox Pro 9.0 много недоработок. Поэтому Visual Fox Pro 9.0 совершенно не пригоден для написания серьезных программ.
Созданная система имеет удобный интерфейс, обеспечивающий быстрый доступ к необходимым данным. Данный программный продукт позволяет вводить и удалять различные данные.
Список литературы:
-
С. Каратыгин, А . Тихонов, Л.Тихонова Visual FoxRro К вершинам мастерства – М.:Восточеная Книжная Компания, 1997.
-
А.М. Вендеров Проектирование программного обеспечения экономических информационных систем: Москва “Финансы и статистика”,2000.
-
Курс лекций Макарец.А.Б
Приложение 1. Разработка и реализация модели представления данных.
Типовым шагом при разработке таких задач, является оптимизация хранения данных. В реляционной модели наиболее лучшим вариантом является разбиение хранимой информации на категории.
В данном проекте информация была разбита на следующие категории :
-
Основная таблица (courseworks.dbf)
-
Справочник по предмету (subject.dbf)
-
Справочник по студенту (student.dbf)
-
Справочник по группе (group.dbf)
-
Справочник по преподавателю (professor.dbf)
-
Справочник по ученой степени преподавателя (degree.dbf)
-
Справочник по теме курсовой работы (theme.dbf)
Список файлов системы
courseworks.exe - запускаемый файл
Файлы базы данных.
1.dbc
courseworks.dbf
subject.dbf
student.dbf
group.dbf professor.dbf
degree.dbf
theme.dbf
Файлы форм.
form1.scx - главная форма (Учет курсовых работ кафедры ВИТ)
form2.scx – форма добавления данных
getdataform.scx – форма по выбору даты
Файлы отчетов.
prof.frx – отчет по преподавателям
st.frx – отчет по студентам
Файлы помощи
Help.hlp
Файлы программ.
main.prg
quit.prg
Приложение 2. Листинг программы.
Form1 – «Учет курсовых работ кафедры ВИТ»
Инициализации формы:
SET DELETE on
SELECT namegroup FROM group INTO CURSOR group1
ThisForm.Combo1.RowSourceType= 2
ThisForm.Combo1.RowSource='group.namegroup'
Выборе группы из списка (Combo1):
gg=TRIM(THISFORM.Combo1.Value)
SELECT Group.id_group;
FROM 1!group;
WHERE TRIM(Group.namegroup)==gg;
INTO CURSOR t10
SELECT surname,name,patronymic;
FROM student;
WHERE student.id_group=t10.id_group;
INTO CURSOR clici
ThisForm.text9.Value=''
ThisForm.text11.Value=''
ThisForm.text12.Value=''
ThisForm.List1.RowSourceType= 2
ThisForm.List1.Value=''
ThisForm.List1.RowSource='ALLTRIM(clici.surname)+SPACE(1)+ALLTRIM(clici.name)+SPACE(1)+ALLTRIM(clici.patronymic)'
ThisForm.List2.RowSourceType= 2
ThisForm.List2.RowSource=''
Выбор студента (List1):
SELECT surname,name,patronymic,id_student FROM student;
WHERE ALLTRIM(student.surname)+SPACE(1)+ALLTRIM(student.name)+SPACE(1)+ALLTRIM(student.patronymic)=ALLTRIM(This.Value) AND t10.id_group=student.id_group;
INTO CURSOR student3
ThisForm.text9.Value=''
ThisForm.text11.Value=''
ThisForm.text12.Value=''
ThisForm.text1.Value=''
SELECT id_professor,id_theme,id_subject,mark,datedelivery,id_student FROM courseworks;
WHERE courseworks.id_student=student3.id_student INTO CURSOR cwork
SELECT Subject.id_subject, Subject.namesubject, Courseworks.id_student,;
Courseworks.id_subject, Courseworks.id_professor,;
Courseworks.datedelivery, Courseworks.mark, Courseworks.id_theme;
FROM ;
1!subject ;
INNER JOIN 1!courseworks ;
ON Subject.id_subject = Courseworks.id_subject;
INTO CURSOR ccwork
SELECT * FROM ccwork;
where ccwork.id_student=cwork.id_student INTO CURSOR cccwork
ThisForm.List2.RowSourceType=2
ThisForm.List2.Value=''
ThisForm.List2.RowSource='ALLTRIM(cccwork.namesubject)'
Выбор предмета(List2):
SELECT * FROM cccwork;
where ALLTRIM(cccwork.namesubject)=ALLTRIM(this.value) INTO CURSOR ccccwork
ThisForm.text11.Value=ccccwork.mark
ThisForm.text12.Value=ccccwork.datedelivery
SELECT surname,name,patronymic,id_degree FROM professor;
WHERE professor.id_professor=ccccwork.id_professor INTO CURSOR professor2
SELECT degree,id_degree FROM degree;
WHERE degree.id_degree=professor2.id_degree INTO CURSOR deg
ThisForm.text1.Value=ALLTRIM(professor2.surname)+SPACE(1)+ALLTRIM(professor2.name)+SPACE(1)+ALLTRIM(professor2.patronymic)+SPACE(3)+ALLTRIM(deg.degree)
SELECT nametheme,id_theme FROM theme;
WHERE theme.id_theme=ccccwork.id_theme INTO CURSOR tema
ThisForm.text9.Value=ALLTRIM(tema.nametheme)
Кнопка «Добавить»:
SET PATH TO ('FORMS')
do FORM FORM2.Scx
Кнопка «Удалить»:
b=TRIM(ThisForm.List1.Value)
IF THISFORM.list1.ListIndex!=0 THEN
SELECT * from Student;
WHERE ALLTRIM(student.surname)+SPACE(1)+ALLTRIM(student.name)+SPACE(1)+ALLTRIM(student.patronymic)=b AND t10.id_group=student.id_group;
into cursor stu
SELECT * from courseworks;
WHERE courseworks.id_student=stu.id_student;
into cursor cour
SELECT * from professor;
WHERE professor.id_professor=cour.id_professor;
into cursor pro
DELETE FROM Student;
WHERE ALLTRIM(student.surname)+SPACE(1)+ALLTRIM(student.name)+SPACE(1)+ALLTRIM(student.patronymic)=b AND t10.id_group=student.id_group
DELETE FROM courseworks;
WHERE courseworks.id_student=stu.id_student
DELETE FROM subject;
WHERE subject.id_subject=cour.id_subject
DELETE FROM professor;
WHERE professor.id_professor=cour.id_professor
DELETE FROM degree;
WHERE pro.id_degree=degree.id_degree
THISFORM.List1.InteractiveChange()
THISFORM.Combo1.InteractiveChange()
MESSAGEBOX(" Студент удален!")
ELSE
MESSAGEBOX(" Студент не выбран!")
ENDIF
И в менеджере проекта Code/Programs
main:
ON shutdown do quit.prg
SET DELETED ON
SET PATH TO('\FORMS')
do form form1.scx
read event
quit:
Clear windows
CLOSE DATABASES ALL
SET PATH TO ('DATA\')
SET DELETED ON
OPEN DATABASE 1
PACK courseworks
PACK degree
PACK group
PACK professor
PACK student
PACK subject
PACK theme
PACK DATABASE
CLOSE DATABASES ALL
QUIT
Нажатие на кнопку «Отчет по студентам»:
SET PATH TO('REPORTS\')
REPORT FORM st PREVIEW
Нажатие на кнопку «Отчет по преподавателям»:
SET PATH TO('REPORTS\')
REPORT FORM prof PREVIEW
Form2 – «Добавление информации о студенте и курсовой работе»
Инициализации формы:
SELECT namegroup FROM group INTO CURSOR group2
ThisForm.Combo1.RowSourceType= 2
ThisForm.Combo1.RowSource='group2.namegroup'
SELECT namesubject FROM subject INTO CURSOR subject2
ThisForm.Combo2.RowSourceType= 2
ThisForm.Combo2.RowSource='subject2.namesubject'
ThisForm.Combo4.RowSourceType= 2
ThisForm.Combo4.RowSource='subject2.namesubject'
SELECT degree FROM degree INTO CURSOR degree222
ThisForm.Combo5.RowSourceType= 2
ThisForm.Combo5.RowSource='degree222.degree'
ThisForm.Combo3.AddItem("3")
ThisForm.Combo3.AddItem("4")
ThisForm.Combo3.AddItem("5")
Нажатие на кнопку «Добавить группу»:
SELECT MAX(group.id_group) as m_group FROM group INTO CURSOR group_max2
INSERT INTO group(id_group,namegroup);
VALUES (group_max2.m_group+1,ALLTRIM(ThisForm.text7.Value))
SELECT namegroup FROM group INTO CURSOR group2
ThisForm.Combo1.RowSourceType= 2
ThisForm.Combo1.RowSource='group2.namegroup'
ThisForm.text7.Value=''
Нажатие на кнопку «Добавить предмет»:
SELECT MAX(subject.id_subject) as m_subject FROM subject INTO CURSOR subject_max2
INSERT INTO subject(id_subject,namesubject);
VALUES (subject_max2.m_subject+1,ALLTRIM(ThisForm.text8.Value))
SELECT namesubject FROM subject INTO CURSOR subject22
ThisForm.Combo1.RowSourceType= 2
ThisForm.Combo1.RowSource='subject22.namesubject'
ThisForm.text8.Value=''
Нажатие на кнопку « »:
SET PATH TO ('Forms\')
DO FORM getdataform
Нажатие на кнопку «Добавить уч.степень»:
SELECT MAX(degree.id_degree) as m_degree FROM degree INTO CURSOR degree_max2
INSERT INTO degree(id_degree,degree);
VALUES (degree_max2.m_degree+1,ALLTRIM(ThisForm.text10.Value))
SELECT degree FROM degree INTO CURSOR degree22
ThisForm.Combo5.RowSourceType= 2
ThisForm.Combo5.RowSource='degree22.degree'