на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка прикладной информационной системы
p align="left">В разделе «Информация о студенте» можем добавить группу с помощью кнопки «Добавить группу». Вводим название группы, нажимаем кнопку «Добавить группу», это поле автоматически очищается для дальнейшего добавления групп, а только что добавленная группа мгновенно заносится в наш список групп в поле «Группа», выбрав которую вбиваем информацию о студенте.

Аналогичным образом работают кнопки «Добавить предмет» и «Добавить уч.степень» (Добавить ученую степень преподавателя). Информация заносится в списки «Предмет» и «Ученая степень» соответственно.

Дальше идет заполнение полей: «Тема курсовой работы» - вводим тему; «Оценка» - выбираем из списка оценок (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 совершенно не пригоден для написания серьезных программ.

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

Список литературы:

1. С. Каратыгин, А . Тихонов, Л.Тихонова Visual FoxRro К вершинам мастерства - М.:Восточеная Книжная Компания, 1997.

2. А.М. Вендеров Проектирование программного обеспечения экономических информационных систем: Москва “Финансы и статистика”,2000.

3. Курс лекций Макарец.А.Б

Приложение 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'

ThisForm.text10.Value=''

Нажатие на кнопку «Добавить»:

SELECT MAX(courseworks.id_student) as m_id_student,MAX(courseworks.id_subject) as m_id_subject,MAX(courseworks.id_professor) as m_id_professor,MAX(courseworks.id_theme) as m_id_theme FROM courseworks INTO CURSOR courseworks_save

SELECT * FROM subject INTO CURSOR subject_save

SELECT * FROM student INTO CURSOR student_save

SELECT * FROM professor INTO CURSOR professor_save

SELECT * FROM degree INTO CURSOR degree_save

SELECT MAX(degree.id_degree) as m_degree FROM degree INTO CURSOR degree_max

SELECT MAX(group.id_group) as m_group FROM group INTO CURSOR group_max

SELECT MAX(subject.id_subject) as m_subject FROM subject INTO CURSOR subject_max

SELECT MAX(theme.id_theme) as m_theme FROM theme INTO CURSOR theme_max

SELECT MAX(student.id_student) as m_student FROM student INTO CURSOR student_max

SELECT MAX(professor.id_professor) as m_professor FROM professor INTO CURSOR professor_max

SELECT * FROM theme INTO CURSOR theme_save

SELECT * FROM group INTO CURSOR group_save

SELECT * FROM group WHERE group.namegroup=ALLTRIM(THISFORM.combo1.Value) INTO CURSOR selectgr

SELECT COUNT(*) as ct;

FROM 1!theme;

WHERE LOWER(TRIM(Theme.nametheme))==LOWER(TRIM(THISFORM.text9.value))

INTO CURSOR ttt1

IF ttt1.ct!=0 THEN

MESSAGEBOX(" Такая тема есть!!!")

ELSE

SELECT * FROM courseworks;

where ALLTRIM(courseworks.mark)=ALLTRIM(thisform.Combo3.value);

INTO CURSOR wer

INSERT INTO student(id_student,surname,name,patronymic,id_group);

VALUES (courseworks_save.m_id_student+1,ALLTRIM(ThisForm.text1.Value),ALLTRIM(ThisForm.text2.Value),ALLTRIM(ThisForm.text3.Value),selectgr.id_group)

INSERTINTO courseworks(id_student,id_subject,id_professor,datedelivery,mark,id_theme);

VALUES (courseworks_save.m_id_student+1,courseworks_save.m_id_subject+1,courseworks_save.m_id_professor+1,(Thisform.text12.Value),wer.mark,courseworks_save.m_id_theme+1)

INSERT INTO degree(id_degree,degree);

VALUES (degree_max.m_degree+1,ALLTRIM(ThisForm.Combo5.Value))

INSERT INTO professor(id_professor,surname,name,patronymic,id_degree);

VALUES (courseworks_save.m_id_professor+1,ALLTRIM(ThisForm.text4.Value),ALLTRIM(ThisForm.text5.Value),ALLTRIM(ThisForm.text6.Value),degree_max.m_degree+1)

INSERT INTO theme(id_theme,nametheme);

VALUES (courseworks_save.m_id_theme+1,ALLTRIM(ThisForm.text9.Value))

MESSAGEBOX(" готово!!! ")

ENDIF

Нажатие на кнопку «Показать темы»:

SELECT * FROM subject;

where ALLTRIM(thisform.combo4.value)=ALLTRIM(subject.namesubject) into cursor subfind

SELECT theme.id_theme, theme.nametheme, Courseworks.id_student,;

Courseworks.id_subject, Courseworks.id_professor,;

Courseworks.datedelivery, Courseworks.mark, Courseworks.id_theme;

FROM ;

1!theme ;

INNER JOIN 1!courseworks ;

ON theme.id_theme = Courseworks.id_theme;

INTO CURSOR corrwork

SELECT * FROM corrwork;

WHERE subfind.id_subject=corrwork.id_subject INTO CURSOR corwork

ThisForm.List1.RowSourceType=2

ThisForm.List1.Value=''

ThisForm.List1.RowSource='ALLTRIM(corwork.nametheme)'

Getdataform - «Выбор даты»

Нажатие кнопки «Выбрать»:

y=YEAR(THISFORM.olecontrol1.SelEnd)

m=MONTH(THISFORM.olecontrol1.SelEnd)

ch=DAY(THISFORM.olecontrol1.SelEnd)

form2.text12.Value=DATE(y,m,ch)

THISFORM.Release

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.