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

НЕГОСУДАРСВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГОПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ЭКОНОМИКО-КОМПЬЮТЕРНЫЙ ТЕХНИКУМ»
230105 – Программное обеспечение вычислительной
техники и автоматизированных систем
(шифр, наименование профессии и специальности)
Технология разработки программных продуктов
(наименование дисциплины)
КУРСОВАЯ РАБОТА
Программа контроля учебного процесса образовательногоучреждения
Задание № 3.10
(тема и номер задания курсовой работы)
Выполнил студент 3 курса группы 07- 3 (п)
Колосов Н. С.
(фамилия, инициалы и подпись студента)
Проверил преподаватель
(фамилия, инициалы и подпись преподавателя)
Курсовая работа защищена
(оценка, подпись, дата, фамилия, инициалы преподавателя)
Курск — 2009 г

Содержание:
I. Введение
II. Техническое задание
1. Основания дляразработки
2. Назначение разработки
3. Требования кпрограмме
3.1. Требования кфункциональным характеристикам
3.2. Требования кнадежности
3.3. Требования ксоставу и параметрам технических средств
3.4. Требования кинформационной и программной совместимости
4. Стадии и этапы разработки
III. Описание базы данных
IV. Описание программы
1. Общие сведения о программе
2. Описание структуры программы
3. Описание программного модуля №1(Form1)
4. Описание программного модуля №2(Form2)
5. Описание программного модуля №3(Form3)
6. Описание программного модуля №4(Form4)
7. Описание программного модуля №5(Form5)
8. Описание программного модуля №6(Form6)
V. Заключение
Библиографический список
Приложение
Отзыв

I. Введение
Каждая спираль развития общества выдвигает на первый планкакие-то новые технологии. В настоящее время этими технологиями сталиинформационные технологии, требующие определенных средств обработки возросшихобъемов информации. Основу автоматизированных информационных технологийсоставляют следующие технические достижения:
— создание средств накопления больших объемов информации на машинных носителях,таких, как магнитные и оптические диски;
— создание различных средств связи, таких, как радио- и телевизионная связь,телекс, телефакс, цифровые системы связи, компьютерные сети, космическая связь,позволяющих воспринимать, использовать и передавать информацию практически влюбой точке земного шара;
— создание компьютерной техники и программного обеспечения.
Одним из средств обработки и отражения информации являетсяСУБД FOXPRO, средствами которой выполняетсякурсовой проект.
Visual FoxPro 7.0 – этособытийно-управляемая среда для быстрой разработки приложений по обработкеинформации, которая может быть использована в различных экономических ирасчётных системах. Основной задачей приложения является поддержка одной илинескольких связанных между собой таблиц с данными, выборочное извлечениеинформации из этих таблиц, анализ информации и графическое представлениеитоговых данных. Таблицы организуются в базы данных (база данных – среда длясохранения и обработки экономической, технической и конструкторскойдокументации). Для работы с различными данными создаётся наиболее подходящийдля каждого конкретного случая интерфейс, содержащий всевозможные меню,множество управляемых окон и разнотипных элементов управления.
Системы управления базами данных (СУБД) – это прикладныеинформационные системы для управления и обработки структурированной информации.
Базу данных можно определить как совокупность файлов, которыесогласованно хранят структурированные взаимосвязанные данные и их описания,используемые одним или несколькими приложениями под управлением СУБД.
Visual FoxProпредоставляет разработчику удобное средство для объединения связанных таблиц,делая, таким образом, их отношения постоянными.
Для разработки приложений Visual FoxPro предлагает конструкторы таблиц, баз данных, средыданных, построители управляющих элементов, меню, классов, соединений, запросови представлений, отчётов и этикеток.
Таблица базы данных состоит из строк и столбцов. Каждаястрока содержит информацию об одном из объектов. Строки называются записями (records), а столбцы – полями (fields). Все записи таблицы структурированыодинаково, так как определяются одинаковым количеством, типом и размером полей.
Создание таблицы заключается в определении структуры таблицыи её заполнении. На любом этапе работы в таблицу можно ввести новые данные,выполнив сначала просмотр таблицы командой ViewQBrowse, а затем командой ViewQAppend Mode добавить, пустую запись для ввода данных. Правильность вводаданных контролируется системой. Например, нельзя ввести данные длиннее, чемопределено структурой, нельзя вводить буквы в поле типа Numeric. Если в поле типа Date дата вводится в неправильном формате(двумя цифрами определяются месяц, дата, а затем и год), то выводится сообщение«Invalid Input».
В Visual FoxPro для просмотра, ввода иредактирования данных, хранящихся в таблицах, используются формы, являющиесянаглядным средством представления информации. Формы позволяют работать нетолько с одной, но и с несколькими связанными таблицами. Форму можно создать спомощью мастера форм или с помощью конструктора формы.
Процесс создания формы состоит из следующих действий:
–         настройкапараметров формы
–         определениесреды окружения, т.е. выбор используемых в форме таблиц и установка связеймежду ними
–         размещениев форме объектов: текста, полей ввода, линий, рисунков, кнопок управления
–         настройкасвойств размещенных в форме объектов.
Для создания среды окружения формы предназначено диалоговоеокно Data Environment.
Размещение объектов в форме осуществляется с помощьюпостроителя формы или с помощью окна FormControls.
Набор используемых объектов при работе с данными определяетинтерфейс пользователя.
Каждый объект имеет свойства (Properties), определяющие его внешний вид иповедение (например, для визуальных объектов это могут быть: заголовок, размер,цвет, формат, шрифт, доступность для редактирования и т.д.).
Свойства – это данные, инкапсулированные в объект, онипредставлены переменными в памяти, которые присоединены к объекту.
Работа с объектами Visual FoxPro 7.0управляется событиями. Если пользователь щёлкнул кнопкой мыши или нажалклавишу, выбрал или закрыл какой-то, то происходит событие (Event), которое может быть инициировано нетолько пользователем, но и программой или системой. Например, для объекта,формируемого функцией Messagebox(), событием является щелчок на одной из кнопок объекта.
При возникновении события, на которое способен реагироватьобъект, выполняется связанный с ним программный код метода обработки этогособытия (Method). Таким образом, определяютсяправила поведения объекта в динамично функционирующей среде. В состав объектавключены методы обработки различных событий, представляющие собойприсоединённые к объекту процедуры, в которые могут передаваться параметры.Метод может быть и не привязан к событию и вызываться на исполнение в любоймомент времени. Например, метод Showотображает объект, метод Hideделает объект невидимым.
Код метода создаётся текстовым редактором так же, как и кодобычной программы, но, в отличие от него, не используется для генерированияпрограммного файла с расширением .prg.
Программным эквивалентом объекта является класс. В этомсмысле говорят, что объект – это экземпляр определённого класса, он сохраняетсвязь с родительским классом (наследует все его свойства, события и методы),который, в свою очередь хранится в библиотеке класса.
Все классы можно разделить на две группы.
–         Элементыуправления (например, кнопка, счётчик).
–         Контейнеры,предназначенные для объединения элементов или других контейнеров (например,форма, таблица, панель инструментов).
Известно ещё одно разделение классов – на визуальные иневизуальные. При помощи визуальных классов создаётся некоторое изображение наэкране дисплея. К таким классам относятся одиночные и групповые элементыуправления, контейнеры, экранные формы, панели инструментов.
При создании формы и определении ее функциональности частовозникает необходимость определять диалоговое окно. Для этого можноиспользовать специальную функцию Messagebox.
Полный синтаксис этой функции:
Messagebox (, , )
Где:
— текст сообщения, которое появится вдиалоговом окне; если необходимо вывести сообщение в две строки, можноиспользовать символ возврата каретки CHR(13); высота и ширина диалогового окна при автоматически увеличиваются;
— заголовок окна;
– суммарное значение кодов, которые определяют внешний вид окна, а именно:набор кнопок, номер выбранной по умолчанию кнопки, вид изображаемых в окнепиктограмм.
Например:
Messagebox («Ошибка!», 5+16+0, «Указание»)
При выборе каждой кнопки возвращается значение, которое можноиспользовать для управления последующим вычислительным процессом.

II. Техническое задание
 
1.        Основания для разработки
 
Основанием для разработки является задание № 3.10 подисциплине «Технология разработки программных продуктов». Тема курсовой работы«Программа контроля учебного процесса образовательного учреждения».
Задание содержит следующие основные этапы:
1.        Создатьбазу данных, разработать концептуальную схему, реляционную схему, построитьдиаграмму базы данных, определить правила обеспечения целостности данных,заполнить базу данных для демонстрации работы программы.
2.        Разработатьпрограмму закрепления дисциплин, изучаемых по специальности.
3.        Создатьотчет-список дисциплин, изучаемых по специальности.
4.        Предусмотретьв программе средства повышения надежности работы программы.
5.        Предложитьпрограмму тестирования. Обосновать выбор метода тестирования.
2.        Назначение разработки
Данноепрограммное изделие разрабатывается для удобного ввода, хранения и обработкиинформации о закрепленных дисциплинах, изучаемых по специальности. В результатеиспользования данного программного изделия будут достигнуты такие цели какдобавление, просмотр и изменение данных. Будут получены следующие преимущества:удобная структурированная база данных для быстрого добавления, просмотра иизменения информации, удобный визуальный способ ввода, просмотра иредактирования информации при помощи наличия интерфейса.
3.        Требования к программе
 
3.1     Требования к функциональным характеристикам
Входныеданные
В качестве входной информации для добавления и просмотрадисциплин будет использоваться информация о дисциплинах, изучаемых поспециальностям:
— наименование дисциплины;
— наименование специальности.
Информацияо дисциплинах, изучаемых по специальностям для добавления должна вводиться вформе “Закрепление дисциплин” в объектах типа:
— Combo Box;
— Text Box.
Информациядля просмотра должна храниться в таблицах «Disilpes»:
— name (наименование дисциплины)
и«Special»:
— names (наименованиеспециальности).
Выходныеданные
Выходными данными будет являтьсязаполненная данными о дисциплинах изучаемых по специальности таблицы «Disiples» и «Specdis», а также будут являться экранная форма или печатнаяформа отчета-списка дисциплин изучаемых по специальности содержащие следующиесведения:
— код дисциплины;
— наименование дисциплины;
— код специальности.
Процессы обработки
Программа должна обеспечить выполнениеследующих процессов:
— ввод информации о дисциплинах,изучаемых по специальности;
— редактирование информации одисциплинах, изучаемых по специальности;
— просмотр информации о дисциплинах,изучаемых по специальности;
— формирование отчета-списка перечнядисциплин изучаемых по специальности.
Для ввода информации о дисциплинах,изучаемых по специальностям, используется модуль Form1. В нем описана процедуранажатия клавиши Command2.Click, для записи в базу данных информации о дисциплинах,изучаемых по специальности.
Для редактирования используются объектытипа TextBox, в которые пользователь вводит информацию с клавиатуры, так же тамразмещен объект ComboBox с помощью которого пользователь выбирает в какуюспециальность закрепить дисциплину.
Для просмотра информации о дисциплинах,изучаемых по специальности, используется модуль Form2. В немописана процедура Combo1.InteractiveChange, которая при выборе любой специальности из спискавыводит в ListBox все дисциплины изучаемые по выбранной в ComboBoxспециальности.
3.2 Требованияк надежности
Программа должна гарантироватьправильность учета дисциплин изучаемых по специальности и в случае недостатка вданных для учета выдавать сообщение об этом.
Программа должна обеспечить ввод выборомвсех данных, для которых это возможно, например автоматическое (программное)формирование кода вида товарно-материальных ценностей.
Программа должна контролироватькорректность вводимых данных перед записью в базу данных, т. е. в случаепопытки записи в базу данных не полной информации игнорировать данную операцию(запись не производить) и требовать заполнения всей необходимой информации одисциплинах, изучаемых по специальности.
Для ввода данных должны использоватьсяинтуитивно понятные экраны и формы ввода. Человеко-машинный интерфейсобеспечивает связь между пользователем и компьютером – он позволяет достигатьпоставленных целей, успешно находить решение поставленной задачи.
Взаимодействие – обмен действиями и реакциямина эти действия между компьютером и пользователем.
В программе должен быть использованследующий ряд стилей взаимодействия машины и человека:
–          организациядиалога компьютер — человек, где компьютер задает вопросы, а пользовательотвечает ему;
–          формыдля ввода документов, где пользователь заполняет поля диалога, вводя данные внеобходимые поля;
–          прямоеманипулирование, когда пользователь управляет объектами на экране посредствомустройства манипулирования, типа мыши (по-другому прямой интерфейс манипулированияназывается графический интерфейс пользователя (GUI,graphic userinterface)).
3.3 Требованияк составу и параметрам технических средств
Рекомендуется компьютер, оснащенныйпроцессором Intel Pentium/Celeron, AMD K6/Athlon/Duron или совместимым счастотой 300 МГц или более (одно- или двухпроцессорная система)*. Минимальнаячастота процессора — 233 МГц. Рекомендуется 128 МБ ОЗУ или более. Минимальнодопустимый объем — 64 МБ (при наличии 64 МБ ОЗУ возможно снижениепроизводительности и функциональности). Монитор и видеоадаптер Super VGA сразрешением 800х600 или более высоким. Клавиатура и мышь или совместимоеуказывающее устройство.

3.4     Требования к информационнойи программной совместимости
Программа представляет небольшую частьпрограммного комплекса, поэтому входные данные должны быть корректны, т.е. всеобязательные поля должны быть заполнены.
Обязательное для заполнения поле наформе закрепление дисциплин – наименование дисциплины. Разрабатываемаяпрограмма предназначена для работы под управлением операционной системы (ОС) WindowsXP/2000/2003.
4.        Стадии и этапы разработки
1.получениезадания на курсовое проектирование;
2.изучениеметодических указаний по курсовому проектированию;
3.изучениепредметной области и назначения разрабатываемого программного продукта;
4.подбори изучение литературы;
5.повторениеи приобретение знаний, необходимых для выполнения работы;
6.составлениеалгоритма программы;
7.разработкаи написание раздела пояснительной записки «Техническое задание»;
8.разработкабазы данных и написание раздела пояснительной записки «Описание базы данных»;
9.разработкапрограммы и написание раздела пояснительной записки «Описание программы»;
10.     отладка итестирование программы;
11.     оформлениепояснительной записки курсовой работы;
12.     представлениепрограммного продукта, защита курсовой работы.

III.Описание базы данных
Концептуальная схема:
Дисциплины относятся к специальностям каксвязь М: М – много ко многим, поскольку специальности содержат для обучениянесколько дисциплин, а дисциплины в свою очередь могут изучаться в разныхспециальностях. Специальности относятся к кафедрам как связь М:1 – много кодному, поскольку несколько специальностей может входить в одну кафедру, но приэтом одна специальность может входить только в одну кафедру. Преподавателиотносятся к кафедрам как связь М:1 – много к одному, так как несколькопреподавателей могут заведовать одной кафедрой, но не несколькими сразу.
/>
Рис. 1. Концептуальная схема
Реляционная схема:
Таблицы:
1.        Disiples(koddisc,name)
         Первичный ключ: koddisc
         Внешние ключи: нет
2.        Special(kodspec,names,kodkaf)
         Первичный ключ: kodspec  
         Внешние ключи: kodkaf
3.        Kafedrs(kodkaf,name,tel,kodprep);
Первичный ключ: kodkaf
Внешние ключи: kodprep
4.        Prepod(kodprep,fam,name,otch,pol,daterog,adres,tel,kodkaf)
Первичный ключ: kodprep
Внешние ключи: kodkaf
5.        Specdis(kodspec,koddisc,kurs,semester,chasov)
Первичный ключ: kodspec+koddisc
Внешние ключи: kodspec, koddisc
Диаграмма базы данных (схема связи):
Первичный ключь koddisc в таблицеdisiples связан с внешним ключем koddisc в таблице specdis, первичный ключьkodspec в таблице special связан с внешним ключем kodspec в таблице specdis, gервичныйключь kodkaf в таблице kafedrs связан с внешними ключамиkodkaf в таблице special и kodkaf в таблице prepod, первичный ключь kodprep втаблице prepod связан с внешним ключем kodprep в таблице kafedrs.
/>
Рис. 2. Схема связи
Структура таблиц базы данных:
Таблица 1Таблица атрибуты Тип данных размер disiples koddis integer 4 name character 15 special kodspec integer 4 names character 15 kodkaf integer 4 kafedrs kodkaf integer 4 name character 15 tel character 15 kodprep integer 4 prepod kodprep integer 4 fam character 10 name character 10 otch character 10 pol character 1 daterog date 8 adres character 30 tel character 15 kodkaf integer 4 specdis kodspec integer 4 koddisc integer 4 kurs integer 4 semestr integer 4 chasov integer 4
Примеры заполненных таблиц:
Пример 1
/>

Пример 2
/>

IV. Описание программы
 
1.Общие сведения о программе
С увеличением все новых и новыхспециальностей и дисциплин появилась необходимость создать автоматическуюсистему для хранения и обработки информации. Данный программный продуктпредназначен для просмотра и закрепления дисциплин изучаемых по специальности.Это автоматическая система предназначена для быстрого и удобногоредактирования, просмотра и хранения информации, в котором предусмотрен удобныйинтерфейс и от пользователя, благодаря максимальной автоматизации, требуетсяминимум действий. Программа позволяет просматривать все таблицы необходимые дляработы. Позволяет безопасно добавлять данные в базу данных, так как в программеимеются программные средства обработки ошибок и неполноты данных. Данныйпрограммный продукт разрабатывался в визуальной среде программирования VisualFoxPro и работает в операционной системе (ОС) Windows XP и более современных ОС.
2.        Описание структурыпрограммы
Главным модулем является модуль Form4.В этом модуле предусмотрен переход к другим модулям, с помощью объектовCommand. При нажатии на любую кнопку главная форма скрывается и ее заменяетдругая форма которую вызывает событие Click данной кнопки. На форме такжепредусмотрена кнопка выхода, в которой предусмотрено случайное нажатие кнопки. Например,если пользователь, случайно, нажмет на кнопку выхода появится окно, котороебудет запрашивать подтверждение на выход. Данная опция описана с помощьюкоманды MesageBox.

/>
Рис. 3. Структура программы
3.        Описание программногомодуля №1 (Form1)
 
3.1     Входные и выходные данные
В качестве входных данных используетсятаблица spesial, используется атрибут names данной таблицы, которыйсодержит названия специальностей. Сама таблица содержит атрибуты kodspecкоторый является первичным ключом, и names в котором и содержатся названия.Выходными данными служит объект ListBox расположенный на этой форме, в негозаписываются дисциплины которые закреплены за выбранной специальностью.
3.2     Процессы обработки и методырешения
Данный модуль вызывается при нажатии накнопку «просмотр дисциплин изучаемых по специальности» из главной формы. Вданном модуле на форме размещены два объекта label для надписи. Также размещенобъект ComboBox в котором находится список всех специальностей изтаблицы special с помощью свойств: RowSourceTyp=6–Fields,RowSource=special.name, style=2-Dropdown List. По умолчанию уже выбранобъект – первый из списка в таблице. Для объекта ComboBoxиспользуется событие InteractiveChange. На форме размещен объект ListBox, ониспользуется для отображения дисциплин которые выводятся с помощью событияInteractiveChange объекта ComboBox. Также на форме размещенобъект command, который служит для перехода к главной форме «Гланое меню». Длянего используется событие Click.
/>
Рис. 4. Форма – Просмотр дисциплинизучаемых по специальности
В данной экранной форме используютсяследующие события:
Form1.Init:
В данном событии предусматриваетсяавтоматический выбор значения из объекта ComboBox содержащего списокспециальностей. Так же в этом событии обрабатывается заполнения объекта ListBoxиспользуя специальность выбранную по умолчанию в объекте ComboBox, для этоговызывается событие ThisForm.Combo1.InteractiveChange.
Combo1.InteractiveChange:
Данное событие выводит в ListBoxдисциплины которые изучаются по специальности, выбранной в объекте ComboBox.Для этого сначала ListBox очищается командой Clear, после этого с помощьюкоманды поиска Lokate в таблице special осуществляется поиск кода выбраннойспециальности. Сравнение производится с названием специальности записанной вданный момент в объекте ComboBox. По коду в таблице specdis спомощью все той жекоманды поиска Lokate находится первый код дисциплины, и по коду дисциплин втаблице disiples с помощью все той же команды Lokateосуществляется поиск названия дисциплин по данному коду и с помощью командыList1.AddItem добавляется в ListBox. После этого используется команда Continueкоторая продолжает поиск в таблицах. Весь процесс поиска осуществляется спомощью цикла Do while и условия not eof() – пока не конец файла.
Command1.Click:
Данное событие делает переход к окну «Главноеменю», скрывая при этом видимую в момент до нажатия форму. Это происходит спомощью команд скрытия и отображения форм, а именно show и hide.
3.3     Обеспечение надежности иудобства эксплуатации
Для выбора специальностей используетсяобъект ComboBox. Для надежности работы программы и избавления ее от ошибок. ВComboBox используется свойство Style=2-Dropdown List, дающее пользователю возможность только выбиратьданные из списка и не дающего вводить с клавиатуры.
Для удобства используется объект ComboBoxкоторый позволяет пользователю выбирать готовые данные из раскрывающегосясписка. Что позволяет визуально просмотреть имеющиеся в базе данныхспециальности.
3.4     Программа тестирования
Для тестирования модуля можно попробоватьиспользовать незаполненную базу данных. Но в этом случае никакой ошибки непроизойдет, поскольку если в базе данных не найдется значений – спискаспециальностей, тогда поиск дисциплин просто не будет вестись и в объектListBox ничего не выведется, а если в базе данных не найдется дисциплин, то онитакже не будут выведены. Ошибки обрабатываются в ходе исполнения программы.
В качестве входных данных на форме,ничего не используется.
4.        Описание программногомодуля №2 (Form2)
 
4.1     Входные и выходные данные
В качестве входных данных используетсятаблица spesial, используется атрибут names данной таблицы, которыйсодержит названия специальностей. Сама таблица содержит атрибуты kodspecкоторый является первичным ключом, и names в котором и содержатся названия.Также в качестве входных данных используется информация в объектах TextBoxвводимая пользователем. В качестве выходных данных используются таблицы disciples и specdis. в таблицу disiples в атрибут nameзаписывается новая дисциплина из одного из объектов TextBox. Втаблицу specdis записывается информация о коде специальности и дисциплины,которая пренадлежит этой специальности а также дополнительная информация сформы.
4.2     Процессы обработки и методырешения
Данный модуль вызывается из главной формыпри нажатии на кнопку «Закрепление дисциплин». В данном модуле на формеразмещены пять объектов label для надписи и 4 объекта TextBox для записи. Такжеразмещен объект ComboBox в котором находится список всех специальностей изтаблицы special с помощью свойств: RowSourceTyp=6–Fields,RowSource=special.name, style=2-Dropdown List. По умолчанию уже выбранобъект – первый из списка в таблице. Для объекта ComboBoxиспользуется событие InteractiveChange. Также размещен объект Command для перехода на форму«Главное меню».

/>
Рис. 5. Форма – Закрепление дисциплин
В данной экранной форме используютсяследующие события:
Form2.Init:
В данном событии предусматриваетсяавтоматический выбор значения из объекта ComboBox содержащего списокспециальностей. Для этого в коде свойству ListIndex объекта ComboBox присваивается значение 1
Command1.Click:
Данное событие добавляет в таблицуdisiples название дисциплины, которую ввел пользователь для закрепления,автоматически генерируя код дисциплины. Данная процедура сначала проверяет,введена ли дисциплина и если нет, то выводится соответствующее сообщение спомощью команды MessageBox. Если дисциплина введена то с помощью команды Recount проверяется кол-во записей в таблице и следующий номер будет являтьсяключом для этой таблицы. С помощью команды replace в таблицудобовляется новая запись с полученным кодом и названием дисциплины, котораядолжна быть введена в объекте TextBox. Далее команда locate осуществляет поисккода специальности в таблице special по названию специальности в объекте ComboBox. Затем используя команду replace, в таблицу specdis записываю полученныйкод дисциплины и код специальности. Также в эту таблицу записывается кол-вочасов на дисциплину, на каком курсе и в каком семестре она проходится. Данныеполя не являются обязательными для заполнения и если при нажатии кнопки этиполя будут пустыми или не будут соответствовать типу, то команда перефодатекста числа в строку запишет в таблицу значение 0. Для того чтобы пользовательпонял что запись добавлена после добавления записи в таблицу, появитсядиалоговое окно с сообщением об успешном добавлении записи.
Command2.Click:
Данное событие делает переход к окну «Главноеменю», скрывая при этом видимую в момент до нажатия форму. Это происходит спомощью команд скрытия и отображения форм, а именно show и hide.
4.3     Обеспечение надежности иудобства эксплуатации
Для выбора специальностей используетсяобъект ComboBox. Для надежности работы программы и избавления ее от ошибок. ВComboBox используется свойство Style=2-Dropdown List, дающее пользователю возможность только выбиратьданные из списка и не дающего вводить с клавиатуры. Для того чтобы в базуданных ввелась дисциплина ее нужно сначала написать, для этого при обработкесобытия Click требуется обязательное заполнение поля, если поле не будетзаполнено об этом выведется сведение и информация не будет добавлена в базуданных.
Для удобства используется объект ComboBoxкоторый позволяет пользователю выбирать готовые данные из раскрывающегосясписка. Что позволяет визуально просмотреть имеющиеся в базе данныхспециальности.
4.4     Программа тестирования
Для тестирования можно попробовать ввестив объекты TextBox не числовые значения, которые требуются для базы данных, анапример какой либо текст. В этом случае ничего страшного не произойдет,поскольку используется функцию val, которая переводит строковое значение вчисло и если там не будет значения или будет не числовое значение, то функцияпросто возвратит 0, и нужные атрибуты базы данных заполнятся нулями.
5.        Описание программногомодуля №3 (Form3)
 
5.1     Входные ивыходные данные
В качестве входных данных используетсятаблица specdis со всеми атрибутами, а также используются таблицы diciples иspecial. В качестве входных данных таблиц diсiples и special используестяназвания дисциплин и специальностей. Выходным данным служит объект grid которыйсвязан с таблицей specdis, diciples и special.
5.2     Процессы обработки и методырешения
Данный модуль вызывается из главной формыпри нажатии на кнопку «Учебный план». На данной форме размещен объект gridкоторый имеет свойство readonly=True, чтобы пользователь мог толькопросматривать информацию, так же у объекта grid имеются дополнительныекомпоненты header для каждой колонки (всего их 6), в свойствах captionкоторых описывается название колонки. Объект Column1 (первая колнка) связан сатрибутом kodspeс (код специальности) таблицы specdis длявывода в этой колонке всех кодов. Для второй и третьей колонки используютсяатрибуты names и name таблиц special и diciples, чтобы в данных колонкахбыли записаны названия специальностей и дисциплин. Оставшиеся 3 колонкииспользуют таблицу specdis для отображения курса, семестра и кол-ва часов,запланированных по конкретной дисциплине. Также на форме размещена кнопкаперехода на форму «Главное меню»

/>
Рис. 6. Форма – Учебный план
В данной форме используется событие Command1.Click. Событие осуществляет переход к форме «Главное меню».Скрывая эту форму и делая главную форму видимой используя команды hideи show.
5.3     Обеспечение надежности иудобства эксплуатации
Для надежности в объекте gridиспользуется свойтсво readonly=true, чтобы пользователь не мог редактироватьданные.
Сам объект grid позволяет полностьюпросматривать следующую информацию: на каком курсе и по какой специальностиизучается данная дисциплина, в каком семестре, сколько часов на нее выделено.Это является удобным в использовании.
5.4     Программа тестирования
Для тестирования модуля можноиспользовать незаполненные таблицы. Но в этом случае объект grid выведет пустуютаблицу или частично заполненную. В данной ситуации ошибки быть не должно.

6.Описание программного модуля №4 (Form4)
 
6.1 Входныеи выходные данные
Данная форма является главной формой сменю перехода на другие формы с помощью кнопок. Поэтому входными данными можетслужить само меню. В качестве выходных данных служат формы, на которыеосуществляется переход.
6.2 Процессыобработки и методы решения
Данный модуль является главной формой ивызывается при запуске программы. На форме размещен объект CommandGroup, который содержит 7 кнопок. Шесть из них предназначены для перехода надругие формы и одна кнопка для выхода из программы.
/>
Рис.7 Форма – Главное меню
В данной форме используется 6 событийCommand.Click для перехода на другие формы. Переход осуществляется с помощьюкоманд срытия данной формы hide и вызова формы с помощью команды show.
Событие command7.clickв объекте CommandGroup используетсякоманды выхода из программы release, так же дополнительное диалоговое окно в которомпользователь должен подтвердить, что он действительно желает выйти.
6.3 Обеспечениенадежности и удобства эксплуатации
Данный модуль сам по себе являетсянадежным, поскольку нет возможности производить какие-либо манипуляции с базойданных или с редактированием самой формы.
Удобство данного модуля состоит в том,что для перехода к нужной форме достаточно нажать на кнопку. Кнопки имеют такиеназвания, что пользователю сразу будет понятно, что случится при нажатии даннойкнопки. Так же при нажатии на кнопку выхода будет выведено диалоговое окнозапроса для подтверждения операции, что дает пользователю возможность отменитьдействие при случайном нажатии на кнопку.
6.4 Программатестирования
Для тестирования имеется возможностьтолько нажатия кнопок, но все кнопки программно обработаны и всегда будут иметьрезультат, программные ошибки в этом плане исключены.
7.Описание программного модуля №5 (Form5)
 
7.1 Входныеи выходные данные
В качестве входных данных используетсятаблица special сатрибутами названия специальности и кодаспециальности. Выходным данным служит объект grid который связан с таблицей и special.
7.2 Процессыобработки и методы решения
Данный модуль вызывается из главной формыпри нажатии на кнопку «Специальности». На данной форме размещен объект gridкоторый имеет свойство readonly=True, чтобы пользователь мог толькопросматривать информацию, так же у объекта grid имеются дополнительныекомпоненты header для каждой колонки (всего их 2), в свойствах captionкоторых описывается название колонки. Объект Column1 (первая колнка) связан сатрибутом kodspeс (код специальности) таблицы special длявывода в этой колонке всех кодов. Для второй колонки используется атрибут namesтаблицы special, чтобы в данных колонках были записаны названия специальностей.Также на форме размещена кнопка перехода на форму «Главное меню»
/>
Рис. 8. Форма – Специальности
В данной форме используется событие Command1.Click. Событие осуществляет переход к форме «Главное меню».Скрывая эту форму и делая главную форму видимой используя команды hideи show.
7.3 Обеспечениенадежности и удобства эксплуатации
Для надежности в объекте gridиспользуется свойтсво readonly=true, чтобы пользователь не мог редактироватьданные.
Сам объект grid позволяет полностьюпросматривать информацию, о том какие специальности находятся в базе данных икакой у них уникальный код.
7.4 Программатестирования
Для тестирования модуля можноиспользовать незаполненную таблицу. Но в этом случае объект gridвыведет пустую таблицу или частично заполненную. В данной ситуации ошибки бытьне должно.
8.Описание программного модуля №6 (Form6)
 
8.1 Входныеи выходные данные
В качестве входных данных используетсятаблица disilpples сатрибутами названия дисциплины и кода дисциплины.Выходным данным служит объект grid который связан с таблицей и disiples.
8.2 Процессыобработки и методы решения
Данный модуль вызывается из главной формыпри нажатии на кнопку «Дисциплины». На данной форме размещен объект gridкоторый имеет свойство readonly=True, чтобы пользователь мог толькопросматривать информацию, так же у объекта grid имеются дополнительныекомпоненты header для каждой колонки (всего их 2), в свойствах captionкоторых описывается название колонки. Объект Column1 (первая колнка) связан сатрибутом kodsdisc (код дисциплины) таблицы disiples длявывода в этой колонке всех кодов. Для второй колонки используется атрибут nameтаблицы disiples, чтобы в данных колонках были записаны названиядисциплин. Также на форме размещена кнопка перехода на форму «Главное меню»

/>
Рис. 9. Форма – Дисциплины
В данной форме используется событие Command1.Click. Событие осуществляет переход к форме «Главное меню».Скрывая эту форму и делая главную форму видимой используя команды hideи show.
8.3 Обеспечениенадежности и удобства эксплуатации
Для надежности в объекте gridиспользуется свойтсво readonly=true, чтобы пользователь не мог редактироватьданные.
Сам объект grid позволяет полностьюпросматривать информацию, о том какие дисциплины находятся в базе данных икакой у них уникальный код.
8.4 Программатестирования
Для тестирования модуля можноиспользовать незаполненную таблицу. Но в этом случае объект griв выведет пустуютаблицу или частично заполненную. В данной ситуации ошибки быть не должно.

V. Заключение
Программа закрепление дисциплинпредназначена для закрепления дисциплин изучаемых по специальности, так же дляпросмотра закрепленных дисциплин. Программа используется для быстрого иудобного редактирования, просмотра и хранения информации, в которомпредусмотрен удобный интерфейс и от пользователя, благодаря максимальнойавтоматизации, требуется минимум действий. Были достигнуты такие цели как:возможность добавлять информацию о дисциплинах, изучаемых по специальности;возможность просматривать дисциплины по конкретной выбранной специальности;удобны интерфейс и обеспечение надежности, а так же защита от случайных ошибокпри работе в виде напоминания или подтверждения. Программа позволяетпросматривать все таблицы необходимые для работы. Позволяет безопасно добавлятьданные в базу данных, так как в программе имеются программные средстваобработки ошибок и неполноты данных. Программа обладает удобным меню, котороепозволяет быстро перейти на нужную форму и достичь нужного результата. Во времяработы над курсовой мной были приобретены навыки в работе с формами иобъектами, получены знания многих команд, процедур и функций, а так же полученызнания о среде разработки Visual FoxPro.

Библиографическийсписок
1.  Бутанов Е. А., Методы созданиякачественного программного обеспечения, М.: Энергоатомиздат 1998 г.
2.  7. Вендров, Проектирование программногообеспечения, М.: Финансы и статистика 2000 г.
3.  8. В.Липаев, Надежность программных средств,М.: Синтег 1998 г.
4.  Голицина О.Л., Попов И.И. Основыалгоритмизации и программирования: Учебное пособие – М.: ФОРУМ: ИНФРА-М, 2002
5.  Семакин И.Г., Шестаков А.П. Основыпрограммирования: Учебник – М.: Мастерство; НМЦ СПО; Высшая школа, 2001
6.  Технологии разработки программногообеспечения: Учебник / С. Орлов – СПб.: Питер, 2002
7.  Брукс Ф. Мифический человеко-месяц, илиКак создаются программные комплексы. – М.: Символ-Плюс, 2000
8.  Методические указания по дисциплине технологияразработки программного продукта Маршала О. Ю.

Приложение
Листинг программного модуля №1 (Form1)
Unit Form1
Form1.Init
ThisForm.Combo1.ListIndex=1
ThisForm.Combo1.InterActiveChange
Combo1.InteractiveChange
ThisForm.List1.Clear
sp=ThisForm.Combo1.ListItem(ThisForm.Combo1.ListIndex)
select ‘special’
locate for sp=special.names
if found(‘special’) then
 spk=special.kodspec
 select ‘specdis’
 locate for spk=specdis.kodspec
 do while not eof(‘specdis’)
 spd=specdis.koddisc
 select ‘disiples’
 locate for spd=disiples.koddisc
 if found(‘disiples’)
 ThisForm.List1.AddItem(disiples.name)
 endif
 select ‘specdis’
 continue
 enddo
endif
Command1.Click
thisformset.form4.show
thisformset.form1.hide
Листинг программного модуля №2 (Form2)
Unit Form2
Form2.Init
ThisForm.Combo1.ListIndex=1
Command1.Click
if Len(AllTrim(ThisForm.Text1.Text))=0 then
 MessageBox(‘Невведена дисциплина!’,16,’Ошибка’)
 Cancel
endif
select ‘disiples’
nk=RecCount()+1
append blank
replace ‘koddisc’ with nk in ‘disiples’
replace ‘name’ with ThisForm.Text1.Text
select ‘special’
sp=ThisForm.Combo1.ListItem(ThisForm.Combo1.ListIndex)
locate for special.names=sp
sk=special.kodspec
select ‘specdis’
append blank
replace ‘koddisc’ with nk in ‘specdis’
replace ‘kodspec’ with sk in ‘specdis’
replace ‘kurs’ with val(ThisForm.Text2.Text) in’specdis’
replace semestr with val(ThisForm.Text3.Text) in’specdis’
replace ‘chasov’ with val(ThisForm.Text4.Text) in’specdis’
messagebox(‘Запись добавлена!’,48,’Сообщение’)
Command2.Click
thisformset.form4.show
thisformset.form2.hide
Листинг программного модуля №3 (Form3)
Unit Form3
Command1.Click
thisformset.form4.show
thisformset.form3.hide
Листинг программного модуля №4 (Form4)
Unit Form3
Command1.Click
thisformset.form5.show
thisformset.form4.hide
Command2.Click
thisformset.form6.show
thisformset.form4.hide
Command3.Click
thisformset.form1.show
thisformset.form4.hide
Command4.Click
thisformset.form2.show
thisformset.form4.hide
Command5.Click
thisformset.form3.show
thisformset.form4.hide
Command6.Click
if messagebox (‘Вы действительно хотитевыйти?’,4+32+256,’Bыход’)=6
thisformset.release()
else
thisformset.refresh()
endif
Листинг программного модуля №5,6 (Form5, Form6)
Unit Form5
Command1.Click
thisformset.form4.show
thisformset.form5.hide
Unit Form6
Command1.Click
thisformset.form4.show
thisformset.form5.hide

Отзыв
накурсовую работу
подисциплине «Технология разработки программных продуктов»
натему Программа контроля процесса образовательного учреждения № 3.10
(темакурсовой работы и номер задания)
Выполнилстудент 3 курса группы 07 – 3(п)
КолосовНиколай Сергеевич
 (фамилия,имя, отчество)
Курсоваяработа заслуживает оценки _____________________
________________________________________________
                            (дата)                                     (подпись)