3. Практическая часть

 

3.1 Определение этапов разработки программного обеспечения

В процессе обучения мной были получены навыки проектирования задач, что и было применено в данной курсовой работе. Таким образом, задача была разбита на следующие этапы:

ü   Разработка модели представления данных

ü   Разработка структуры интерфейса

ü   Проектирование входных и выходных форм

ü   Программирование приложения

ü   Проверка функциональности на контрольном примере.

3.2 Принципы реализации программного обеспечения

При создании программного обеспечения был применен принцип разделения, то есть все функционально разные части вынесены в отдельные клиентские формы.

Программирование производилось путем описания методов и событий активных элементов форм.

Доступ к данным, хранимым в базе данных, осуществлялся через SQL – запросы.

SQL – команды позволили осуществить добавление и удаление данных из базы.

 

3.3 Руководство Пользователя

После запуска проекта на экране появляется главное окно программы, с которого начинается дальнейшая работа.


Данная форма «Учет курсовых работ кафедры ВИТ» содержит информацию о студенте и о курсовой работе. Для получения необходимой информации, в списке «Группа» выбираем любую группу кафедры ВИТ. После выбора группы в поле «ФИО» появляются все студенты, принадлежащие данной группе. При выборе студента происходит вывод информации предмете: в списке «Предмет» появляется название предмета (или предметов), по которому проводится курсовая работа. При дальнейшем выборе предмета из списка происходит заполнение следующей информации о курсовой работе: тема курсовой работы, оценка, дата сдачи и преподаватель.


При нажатии на кнопку «Добавить» появляется форма «Добавление информации о студенте и курсовой работе» с пустыми полями, в которые необходимо заполнить, чтобы занести информацию о студенте и о его курсовой работе в нашу базу данных:

 

В разделе «Информация о студенте» можем добавить группу с помощью кнопки «Добавить группу». Вводим название группы, нажимаем кнопку «Добавить группу», это поле автоматически очищается для дальнейшего добавления групп, а только что добавленная группа мгновенно заносится в наш список групп в поле «Группа», выбрав которую вбиваем информацию о студенте.

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

 

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


Информация о работе «Разработка прикладной информационной системы»
Раздел: Информатика, программирование
Количество знаков с пробелами: 24728
Количество таблиц: 0
Количество изображений: 10

Похожие работы

Скачать
135553
20
17

... , с одной стороны, воспрепятствовать созданию излишних запасов сырья, а с другой устранить такой недостаток, как отсутствие готовности к поставкам. 1.2.2   Основные требования к информационной системе На предприятии ОАО «Знаменский сахарный завод» приобретение сырья осуществляется путем закупки, или агрохозяйства поставляют сырье для переработки, после которой предприятие рассчитывается с ...

Скачать
197703
51
41

... системы заключается в автоматизации и замене ручного труда автоматизированным трудом с высвобождением персонала. Конкретно будет разрабатываться автоматизированная информационная система для управления портфелем реальных инвестиций предприятия СФ ОАО «ВолгаТелеком». Разработка данной системы приведет к экономии затрат, связанных с проведением анализа и оценки инвестиционных решений и компоновки ...

Скачать
146463
19
10

... с положительностью сальдо поступлений и расходов и малым сроком окупаемости. 6. Обеспечение безопасности жизнедеятельности в системе ДО В данном дипломном проекте разработана автоматизированная информационная система дистанционного обучения по дисциплине “Финансы и кредит”. Ее использование тесно связано с применением ПЭВМ, поэтому организация рабочего места пользователя системы должна ...

Скачать
59553
16
0

... . Пользователям, не желающим прибегать к программированию, все три таблицы предоставляют возможность простой записи команд в интерактивном режиме. 2. Проектирование информационной системы по начислению заработной платы по 18-разрядной тарифной сетке. 1. Пояснительная записка.   2.1 Постановка задачи Используя методику расчета и нормативно-справочную базу, разработать и реализовать в ...

0 комментариев


Наверх