НЕГОСУДАРСВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ЭКОНОМИКО-КОМПЬЮТЕРНЫЙ ТЕХНИКУМ»
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 (<вржС1>, <вржN>, <вржС2>)
Где:
<вржС1> - текст сообщения, которое появится в диалоговом окне; если необходимо вывести сообщение в две строки, можно использовать символ возврата каретки CHR(13); высота и ширина диалогового окна при автоматически увеличиваются;
<вржС2> - заголовок окна;
<вржN> - суммарное значение кодов, которые определяют внешний вид окна, а именно: набор кнопок, номер выбранной по умолчанию кнопки, вид изображаемых в окне пиктограмм.
Например:
Messagebox («Ошибка!», 5+16+0, «Указание»)
При выборе каждой кнопки возвращается значение, которое можно использовать для управления последующим вычислительным процессом.
II. Техническое задание
Основания для разработки
Основанием для разработки является задание № 3.10 по дисциплине «Технология разработки программных продуктов». Тема курсовой работы «Программа контроля учебного процесса образовательного учреждения».
Задание содержит следующие основные этапы:
Создать базу данных, разработать концептуальную схему, реляционную схему, построить диаграмму базы данных, определить правила обеспечения целостности данных, заполнить базу данных для демонстрации работы программы.
Разработать программу закрепления дисциплин, изучаемых по специальности.
Создать отчет-список дисциплин, изучаемых по специальности.
Предусмотреть в программе средства повышения надежности работы программы.
Предложить программу тестирования. Обосновать выбор метода тестирования.
Назначение разработки
Данное программное изделие разрабатывается для удобного ввода, хранения и обработки информации о закрепленных дисциплинах, изучаемых по специальности. В результате использования данного программного изделия будут достигнуты такие цели как добавление, просмотр и изменение данных. Будут получены следующие преимущества: удобная структурированная база данных для быстрого добавления, просмотра и изменения информации, удобный визуальный способ ввода, просмотра и редактирования информации при помощи наличия интерфейса.
Требования к программе
Требования к функциональным характеристикам
Входные данные
В качестве входной информации для добавления и просмотра дисциплин будет использоваться информация о дисциплинах, изучаемых по специальностям:
- наименование дисциплины;
- наименование специальности.
Информация о дисциплинах, изучаемых по специальностям для добавления должна вводиться в форме “Закрепление дисциплин” в объектах типа:
- Combo Box;
- Text Box.
Информация для просмотра должна храниться в таблицах «Disilpes»:
- name (наименование дисциплины)
и «Special»:
- names (наименование специальности).
Выходные данные
Выходными данными будет являться заполненная данными о дисциплинах изучаемых по специальности таблицы «Disiples» и «Specdis», а также будут являться экранная форма или печатная форма отчета-списка дисциплин изучаемых по специальности содержащие следующие сведения:
- код дисциплины;
- наименование дисциплины;
- код специальности.
Процессы обработки
Программа должна обеспечить выполнение следующих процессов:
- ввод информации о дисциплинах, изучаемых по специальности;
- редактирование информации о дисциплинах, изучаемых по специальности;
- просмотр информации о дисциплинах, изучаемых по специальности;
- формирование отчета-списка перечня дисциплин изучаемых по специальности.
Для ввода информации о дисциплинах, изучаемых по специальностям, используется модуль Form1. В нем описана процедура нажатия клавиши Command2.Click, для записи в базу данных информации о дисциплинах, изучаемых по специальности.
Для редактирования используются объекты типа TextBox, в которые пользователь вводит информацию с клавиатуры, так же там размещен объект ComboBox с помощью которого пользователь выбирает в какую специальность закрепить дисциплину.
Для просмотра информации о дисциплинах, изучаемых по специальности, используется модуль Form2. В нем описана процедура Combo1.InteractiveChange, которая при выборе любой специальности из списка выводит в ListBox все дисциплины изучаемые по выбранной в ComboBox специальности.
3.2 Требования к надежности
Программа должна гарантировать правильность учета дисциплин изучаемых по специальности и в случае недостатка в данных для учета выдавать сообщение об этом.
Программа должна обеспечить ввод выбором всех данных, для которых это возможно, например автоматическое (программное) формирование кода вида товарно-материальных ценностей.
Программа должна контролировать корректность вводимых данных перед записью в базу данных, т. е. в случае попытки записи в базу данных не полной информации игнорировать данную операцию (запись не производить) и требовать заполнения всей необходимой информации о дисциплинах, изучаемых по специальности.
Для ввода данных должны использоваться интуитивно понятные экраны и формы ввода. Человеко-машинный интерфейс обеспечивает связь между пользователем и компьютером – он позволяет достигать поставленных целей, успешно находить решение поставленной задачи.
Взаимодействие – обмен действиями и реакциями на эти действия между компьютером и пользователем.
В программе должен быть использован следующий ряд стилей взаимодействия машины и человека:
организация диалога компьютер - человек, где компьютер задает вопросы, а пользователь отвечает ему;
формы для ввода документов, где пользователь заполняет поля диалога, вводя данные в необходимые поля;
прямое манипулирование, когда пользователь управляет объектами на экране посредством устройства манипулирования, типа мыши (по-другому прямой интерфейс манипулирования называется графический интерфейс пользователя (GUI, graphic user interface)).
3.3 Требования к составу и параметрам технических средств
Рекомендуется компьютер, оснащенный процессором Intel Pentium/Celeron, AMD K6/Athlon/Duron или совместимым с частотой 300 МГц или более (одно- или двухпроцессорная система)*. Минимальная частота процессора - 233 МГц. Рекомендуется 128 МБ ОЗУ или более. Минимально допустимый объем - 64 МБ (при наличии 64 МБ ОЗУ возможно снижение производительности и функциональности). Монитор и видеоадаптер Super VGA с разрешением 800х600 или более высоким. Клавиатура и мышь или совместимое указывающее устройство.
Требования к информационной и программной совместимости
Программа представляет небольшую часть программного комплекса, поэтому входные данные должны быть корректны, т.е. все обязательные поля должны быть заполнены.
Обязательное для заполнения поле на форме закрепление дисциплин – наименование дисциплины. Разрабатываемая программа предназначена для работы под управлением операционной системы (ОС) Windows XP/2000/2003.
Стадии и этапы разработки
получение задания на курсовое проектирование;
изучение методических указаний по курсовому проектированию;
изучение предметной области и назначения разрабатываемого программного продукта;
подбор и изучение литературы;
повторение и приобретение знаний, необходимых для выполнения работы;
составление алгоритма программы;
разработка и написание раздела пояснительной записки «Техническое задание»;
разработка базы данных и написание раздела пояснительной записки «Описание базы данных»;
разработка программы и написание раздела пояснительной записки «Описание программы»;
отладка и тестирование программы;
оформление пояснительной записки курсовой работы;
представление программного продукта, защита курсовой работы.
III. Описание базы данных
Концептуальная схема:
Дисциплины относятся к специальностям как связь М:М – много ко многим, поскольку специальности содержат для обучения несколько дисциплин, а дисциплины в свою очередь могут изучаться в разных специальностях. Специальности относятся к кафедрам как связь М:1 – много к одному, поскольку несколько специальностей может входить в одну кафедру, но при этом одна специальность может входить только в одну кафедру. Преподаватели относятся к кафедрам как связь М:1 – много к одному, так как несколько преподавателей могут заведовать одной кафедрой, но не несколькими сразу.
Рис. 1. Концептуальная схема
Реляционная схема:
Таблицы:
Disiples(koddisc,name)
Первичный ключ: koddisc
Внешние ключи: нет
Special(kodspec,names,kodkaf)
Первичный ключ: kodspec
Внешние ключи: kodkaf
Kafedrs(kodkaf,name,tel,kodprep);
Первичный ключ: kodkaf
Внешние ключи: kodprep
Prepod(kodprep,fam,name,otch,pol,daterog,adres,tel,kodkaf)
Первичный ключ: kodprep
Внешние ключи: kodkaf
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. Общие сведения о программе
С увеличением все новых и новых специальностей и дисциплин появилась необходимость создать автоматическую систему для хранения и обработки информации. Данный программный продукт предназначен для просмотра и закрепления дисциплин изучаемых по специальности. Это автоматическая система предназначена для быстрого и удобного редактирования, просмотра и хранения информации, в котором предусмотрен удобный интерфейс и от пользователя, благодаря максимальной автоматизации, требуется минимум действий. Программа позволяет просматривать все таблицы необходимые для работы. Позволяет безопасно добавлять данные в базу данных, так как в программе имеются программные средства обработки ошибок и неполноты данных. Данный программный продукт разрабатывался в визуальной среде программирования Visual FoxPro и работает в операционной системе (ОС) Windows XP и более современных ОС.
Описание структуры программы
Главным модулем является модуль Form4. В этом модуле предусмотрен переход к другим модулям, с помощью объектов Command. При нажатии на любую кнопку главная форма скрывается и ее заменяет другая форма которую вызывает событие Click данной кнопки. На форме также предусмотрена кнопка выхода, в которой предусмотрено случайное нажатие кнопки. Например, если пользователь, случайно, нажмет на кнопку выхода появится окно, которое будет запрашивать подтверждение на выход. Данная опция описана с помощью команды MesageBox.
Рис. 3. Структура программы
Описание программного модуля №1 (Form1)
Входные и выходные данные
В качестве входных данных используется таблица spesial, используется атрибут names данной таблицы, который содержит названия специальностей. Сама таблица содержит атрибуты kodspec который является первичным ключом, и names в котором и содержатся названия. Выходными данными служит объект ListBox расположенный на этой форме, в него записываются дисциплины которые закреплены за выбранной специальностью.
Процессы обработки и методы решения
Данный модуль вызывается при нажатии на кнопку «просмотр дисциплин изучаемых по специальности» из главной формы. В данном модуле на форме размещены два объекта 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.
Обеспечение надежности и удобства эксплуатации
Для выбора специальностей используется объект ComboBox. Для надежности работы программы и избавления ее от ошибок. В ComboBox используется свойство Style=2-Dropdown List, дающее пользователю возможность только выбирать данные из списка и не дающего вводить с клавиатуры.
Для удобства используется объект ComboBox который позволяет пользователю выбирать готовые данные из раскрывающегося списка. Что позволяет визуально просмотреть имеющиеся в базе данных специальности.
Программа тестирования
Для тестирования модуля можно попробовать использовать незаполненную базу данных. Но в этом случае никакой ошибки не произойдет, поскольку если в базе данных не найдется значений – списка специальностей, тогда поиск дисциплин просто не будет вестись и в объект ListBox ничего не выведется, а если в базе данных не найдется дисциплин, то они также не будут выведены. Ошибки обрабатываются в ходе исполнения программы.
В качестве входных данных на форме, ничего не используется.
Описание программного модуля №2 (Form2)
Входные и выходные данные
В качестве входных данных используется таблица spesial, используется атрибут names данной таблицы, который содержит названия специальностей. Сама таблица содержит атрибуты kodspec который является первичным ключом, и names в котором и содержатся названия. Также в качестве входных данных используется информация в объектах TextBox вводимая пользователем. В качестве выходных данных используются таблицы disciples и specdis. в таблицу disiples в атрибут name записывается новая дисциплина из одного из объектов TextBox. В таблицу specdis записывается информация о коде специальности и дисциплины, которая пренадлежит этой специальности а также дополнительная информация с формы.
Процессы обработки и методы решения
Данный модуль вызывается из главной формы при нажатии на кнопку «Закрепление дисциплин». В данном модуле на форме размещены пять объектов 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.
Обеспечение надежности и удобства эксплуатации
Для выбора специальностей используется объект ComboBox. Для надежности работы программы и избавления ее от ошибок. В ComboBox используется свойство Style=2-Dropdown List, дающее пользователю возможность только выбирать данные из списка и не дающего вводить с клавиатуры. Для того чтобы в базу данных ввелась дисциплина ее нужно сначала написать, для этого при обработке события Click требуется обязательное заполнение поля, если поле не будет заполнено об этом выведется сведение и информация не будет добавлена в базу данных.
Для удобства используется объект ComboBox который позволяет пользователю выбирать готовые данные из раскрывающегося списка. Что позволяет визуально просмотреть имеющиеся в базе данных специальности.
Программа тестирования
Для тестирования можно попробовать ввести в объекты TextBox не числовые значения, которые требуются для базы данных, а например какой либо текст. В этом случае ничего страшного не произойдет, поскольку используется функцию val, которая переводит строковое значение в число и если там не будет значения или будет не числовое значение, то функция просто возвратит 0, и нужные атрибуты базы данных заполнятся нулями.
Описание программного модуля №3 (Form3)
Входные и выходные данные
В качестве входных данных используется таблица specdis со всеми атрибутами, а также используются таблицы diciples и special. В качестве входных данных таблиц diсiples и special используестя названия дисциплин и специальностей. Выходным данным служит объект grid который связан с таблицей specdis, diciples и special.
Процессы обработки и методы решения
Данный модуль вызывается из главной формы при нажатии на кнопку «Учебный план». На данной форме размещен объект grid который имеет свойство readonly=True, чтобы пользователь мог только просматривать информацию, так же у объекта grid имеются дополнительные компоненты header для каждой колонки (всего их 6) , в свойствах caption которых описывается название колонки. Объект Column1 (первая колнка) связан с атрибутом kodspeс (код специальности) таблицы specdis для вывода в этой колонке всех кодов. Для второй и третьей колонки используются атрибуты names и name таблиц special и diciples, чтобы в данных колонках были записаны названия специальностей и дисциплин. Оставшиеся 3 колонки используют таблицу specdis для отображения курса, семестра и кол-ва часов, запланированных по конкретной дисциплине. Также на форме размещена кнопка перехода на форму «Главное меню»
Рис. 6. Форма – Учебный план
В данной форме используется событие Command1.Click. Событие осуществляет переход к форме «Главное меню». Скрывая эту форму и делая главную форму видимой используя команды hide и show.
Обеспечение надежности и удобства эксплуатации
Для надежности в объекте grid используется свойтсво readonly=true, чтобы пользователь не мог редактировать данные.
Сам объект grid позволяет полностью просматривать следующую информацию: на каком курсе и по какой специальности изучается данная дисциплина, в каком семестре, сколько часов на нее выделено. Это является удобным в использовании.
Программа тестирования
Для тестирования модуля можно использовать незаполненные таблицы. Но в этом случае объект 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.
Библиографический список
Бутанов Е. А., Методы создания качественного программного обеспечения, М.: Энергоатомиздат 1998 г.
7. Вендров, Проектирование программного обеспечения, М.: Финансы и статистика 2000 г.
8. В.Липаев, Надежность программных средств, М.: Синтег 1998 г.
Голицина О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие – М.: ФОРУМ: ИНФРА-М, 2002
Семакин И.Г., Шестаков А.П. Основы программирования: Учебник – М.: Мастерство; НМЦ СПО; Высшая школа, 2001
Технологии разработки программного обеспечения: Учебник / С. Орлов – СПб.: Питер, 2002
Брукс Ф. Мифический человеко-месяц, или Как создаются программные комплексы. – М.: Символ-Плюс, 2000
Методические указания по дисциплине технология разработки программного продукта Маршала О. Ю.
Приложение
Листинг программного модуля №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(п)
Колосов Николай Сергеевич
(фамилия, имя, отчество)
Курсовая работа заслуживает оценки _____________________
________________________ ________________________
(дата) (подпись)