Введение
Целью данного курсового проекта является решение прикладной задачи по учету распределения студентов по базам практики и разработка программного обеспечения для ведения и хранения этой информации и выдачи необходимых выходных форм.
Для достижения поставленной цели необходимо решить следующие задачи:
Выполнить постановку задачи, включая спецификации входных и выходных данных;
Спроектировать структуры данных для ведения и хранения информации;
Разработать алгоритм решения задачи;
Спроектировать структуру программы, определить состав и назначение процедур и функций программы;
Написать программу на алгоритмическом языке Паскаль;
Отладить программу, подготовить данные и выполнить контрольный расчет.
1. Постановка задачи
Задача учета распределения студентов по базам практики должна включать в себя выполнение следующих функций:
Ввод и просмотр НСИ
Ввод исходной информации
Формирование требуемого выходного документа на основе НСИ и информации из входного документа
Организация элементарного оконного интерфейса , контроль вводимой информации.
Имеются следующие исходные данные:
Нормативно-справочная информация, включающая в себя два показателя:
Шифр завода
Наименование завода
2. Входной документ, включающий в себя следующие пока-затели:
Шифр завода
Общее количество студентов
Количество иногородних студентов
- Ф.И.О. и должность руководителя практики по данному
предприятию.
3. Выходной документ, включающий в себя следующие пока-затeли:
- Наименование завода
- Общее количество студентов
Количество иногородних студентов
- Ф.И.О. и должность руководителя практики по данному
предприятию
Кроме того, выходной документ должен содержать подсчет итогов по общему количеству студентов и количеству иного-родних студентов.
В работе предусмотреть возможность ввода и просмотра НСИ, ввод исходной информации и выдачу выходного документа с использованием входных данных и НСИ.
НСИ необходимо хранить в дисковом файле. Программа должна иметь “дружественный ” интерфейс, включающий в себя меню, контекстно-зависимую подсказку и контроль вводимой информации.
2.Информационное обеспечение.
Информационное обеспечение включает в себя следующие виды информации:
Нормативно-справочная информация (НСИ)
Входная информация
Выходная информация
Диалоговая информация
Нормативно справочная информация (НСИ)
представляет собой редко изменяющуюся информацию, необходимую для решения задачи. В нашем случае НСИ представляет собой типизированный файл, содержащий наименования и шифры предприятий, принимающих студентов на практику. Состав и структура НСИ приведены в таблице 2.1.
Табл. 2.1.
Шифр завода
|
Наименование завода
|
|
|
Входная информация
включает в себя часто изменяемые данные о студентах и их руководителях, направляемых для прохождения производственной практики на предприятия. Состав и структура входных данных для рассматриваемой задачи приведена в таблице 2.2. Входные данные вводятся с клавиатуры и затем хранятся в типизированном файле.
Табл. 2.2.
Шифр завода
|
Общее количество Студентов
|
Количество иногородних студентов
|
Ф.И.О. руководителя
|
Должность руководителя
|
|
|
|
|
|
Выходная информация
представляет собой ведомость распределения студентов по базам практики, формируется с использованием входной информации и информации, хранящейся в НСИ, и приведена на рис.2.1.
Ведомость распределения студентов по базам практики.
Шифр завода
|
Общее количество Студентов
|
Количество иногородних студентов
|
Ф.И.О. руководителя
|
Должность руководителя
|
|
|
|
|
|
Рис. 2.1. Выходной документ
Для эффективной организации взаимодействия пользователя с программой предназначена диалоговая информация
, организованная в виде “дружественного” интерфейса. Она представлена основным меню
, позволяющими выбрать необходимый режим работы программы, и контекстно-зависимой подсказкой
, облегчающей процесс общения пользователя с программным продуктом. В программе организован простейший оконный интерфейс
, реализованный средствами модуля CRT.
Окно вывода меню (верхнее)- информация в этом окне находится на экране постоянно, не обновляясь в ходе работы программы.
Окно контекстно-зависимой подсказки (нижнее) – информация в этом окне периодически обновляется в соответствии с ходом исполнения программы.
Окно ввода данных и вывода результатов (среднее) – окно с изменяемой информацией.
3. Разработка алгоритма.
Разработка алгоритма велась методом нисходящего проектирования сверху вниз с последующей детализацией отдельных блоков.
Поскольку языком программирования выбран процедурно - ориентированный алгоритмический язык высокого уровня Pascal, основной задачей, подлежащей решению на этапе разработки алгоритма, является декомпозиция основной задачи с целью выделения отдельных подзадач, которые могут быть оформлены в виде подпрограмм.
4.Проектирование прикладного программного обеспечения
Программа спроектирована методом нисходящего проектирования сверху вниз, т.е. вначале была разработана головная программа, которая формирует экран пользователя (внешний вид экрана пользователя см, рис.2.2.), осуществляет программную поддержку при выборе пункта меню и обращается к соответствующей подпрограмме, реализующей определенную функцию программного продукта.
На следующем этапе были разработаны, отлажены и поочередно подключены подпрограммы, реализующие основные функции данной задачи.
Программа реализована на языке высокого уровня Pascal .
Прикладное программное обеспечение данного проекта состоит из трех файлов:
· программный файл
· файл НСИ
· файл базы данных.
В приведенной ниже таблице 4.1. приведены наименования, назначения и обращения к подпрограммам, включенным в состав прикладного программного обеспечения .
Таблица 4.1.
№
|
Назначение подпрограммы
|
Наименование подпрограммы
|
1
|
Процедура для ввода НСИ
|
Procedure V_NSI;
|
2
|
Процедура просмотра НСИ
|
Procedure Prosmotr;
|
3
|
Ввод данных
|
Procedure Input;
|
4
|
Функция поиска наименования завода по его шифру в файле НСИ
|
Function Poisk(Shifr:string):string;
|
5
|
Процедура формиро-вания выходного документа и выдачи его на экран
|
Procedure Print_Doc;
|
5. Отладка и тестирование программы
Под отладкой понимается процесс, позволяющий получить программу, функционирующую с требуемыми характеристиками в заданной области входных данных.
Процесс отладки программы включает:
- создание совокупности тестовых эталонных значений, кото- рым должна соответствовать программа;
- статическую проверку текстов разработанных программ и данных на выполнение всех заданных правил;
- тестирование программы с исполнением ее с различными уровнями детализации;
Основным методом обнаружения ошибок при отладке программы является тестирование.
Набор тестов, которые были использованы при отладке данной программы приведен в таблице 5.1.
Таблица 5.1.
№
|
Входные данные
|
Выходной документ
|
|
НСИ
|
Входной документ
|
|
Шифр завода
|
Наимен завода
|
Шифр завода
|
Количество студентов всего
|
Количество иногородних студентов
|
Ф.И.О. руководителя практики
|
Должность
|
1
|
1111
|
З-д К.Либкнехта
|
1111
|
10
|
5
|
Иванов
|
Инженер
|
Рис 5.1
Рис 5.2
|
2
|
2222
|
Шинный
|
5555
|
23
|
12
|
Петров
|
Экономист
|
3
|
3333
|
Южнотрубный
|
2222
|
45
|
2
|
Сурко
|
Ст.инженер
|
4
|
55555
|
Южмаш
|
|
|
|
|
|
Выходной документ №1
НСИ
Наименование завода
|
Шифр завода
|
З- д К. Либкнехта
|
1111
|
Шинный з-д
|
2222
|
Южнотрубный
|
3333
|
Южмаш
|
5555
|
Рис 5.1.
Выходной документ №2
Ведомость распределения студентов по базам практики
Наименование завода
|
Количество студентов
|
Количество иногородних студентов
|
Ф.И.О. руководителя
|
Должность
|
З- д К. Либкнехта
|
10
|
5
|
Иванов
|
Инженер
|
Южмаш
|
23
|
12
|
Петров
|
Экономист
|
Шинный з-д
|
45
|
2
|
Сурко
|
Ст. инженер
|
ИТОГО: 78 19
Рис 5.2.
Заключение
В данном курсовом проекте разработан программный продукт, позволяющий частично автоматизировать процесс распределения студентов по базам практики, а также отслеживать и управлять ходом прохождения производственной практики.
|