Содержание
стр.
Введение.
................................................................……… 3
1. Постановка задачи
...................................................……..4
2. Информационное обеспечение ...............................……...5
3. Разработка алгоритма
.....................................……...7
4. Проектирование прикладного программного обеспечения
……………………………………………………………….13
5. Отладка и тестирование
........................................……..13
5.
Заключение
.............................................................……..15
Литература
..............................................................……..16
Приложение 1. Листинг программы ......................……..17
Введение
Целью данного курсового проекта является решение прикладной задачи по учету распределения студентов по базам практики и разработка программного обеспечения для ведения и хранения этой информации и выдачи необходимых выходных форм.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Выполнить постановку задачи, включая спецификации входных и выходных данных;
1. Спроектировать структуры данных для ведения и хранения информации;
1. Разработать алгоритм решения задачи;
1. Спроектировать структуру программы, определить состав и назначение процедур и функций программы;
1. Написать программу на алгоритмическом языке Паскаль;
1. Отладить программу, подготовить данные и выполнить контрольный расчет.
1. Постановка задачи
Задача учета распределения студентов по базам практики должна включать в себя выполнение следующих функций:
- Ввод и просмотр НСИ
- Ввод исходной информации
- Формирование требуемого выходного документа на основе НСИ и информации из входного документа
- Организация элементарного оконного интерфейса , контроль вводимой информации.
Имеются следующие исходные данные:
1. Нормативно-справочная информация, включающая в себя два показателя:
- Шифр завода
- Наименование завода
2. Входной документ, включающий в себя следующие пока-затели:
- Шифр завода
- Общее количество студентов
- Количество иногородних студентов
- - Ф.И.О. и должность руководителя практики по данному
- предприятию.
3. Выходной документ, включающий в себя следующие пока-затeли:
- - Наименование завода
- Общее количество студентов
- Количество иногородних студентов
- - Ф.И.О. и должность руководителя практики по данному
- предприятию
Кроме того, выходной документ должен содержать подсчет итогов по общему
количеству студентов и количеству иного-родних студентов.
В работе предусмотреть возможность ввода и просмотра НСИ, ввод исходной
информации и выдачу выходного документа с использованием входных данных и
НСИ.
НСИ необходимо хранить в дисковом файле. Программа должна иметь
«дружественный » интерфейс, включающий в себя меню, контекстно-зависимую
подсказку и контроль вводимой информации.
2.Информационное обеспечение.
Информационное обеспечение включает в себя следующие виды информации:
- Нормативно-справочная информация (НСИ)
- Входная информация
- Выходная информация
- Диалоговая информация
Нормативно справочная информация (НСИ) представляет собой редко изменяющуюся информацию, необходимую для решения задачи. В нашем случае НСИ представляет собой типизированный файл, содержащий наименования и шифры предприятий, принимающих студентов на практику. Состав и структура НСИ приведены в таблице 2.1.
Табл. 2.1.
|Шифр завода |Наименование завода |
| | |
Входная информация включает в себя часто изменяемые данные о студентах и их руководителях, направляемых для прохождения производственной практики на предприятия. Состав и структура входных данных для рассматриваемой задачи приведена в таблице 2.2. Входные данные вводятся с клавиатуры и затем хранятся в типизированном файле.
Табл. 2.2.
|Шифр |Общее |Количество |Ф.И.О. |Должность |
|завода |количество |иногородних |руководителя|руководителя|
| |Студентов |студентов | | |
| | | | | |
Выходная информация представляет собой ведомость распределения студентов по базам практики, формируется с использованием входной информации и информации, хранящейся в НСИ, и приведена на рис.2.1.
Ведомость распределения
студентов по базам практики.
|Шифр |Общее |Количество |Ф.И.О. |Должность |
|завода |количество |иногородних |руководителя|руководителя|
| |Студентов |студентов | | |
| | | | | |
ИТОГО:
Рис. 2.1. Выходной документ
Для эффективной организации взаимодействия пользователя с программой
предназначена диалоговая информация, организованная в виде «дружественного» интерфейса. Она представлена основным меню, позволяющими выбрать
необходимый режим работы программы, и контекстно-зависимой подсказкой,
облегчающей процесс общения пользователя с программным продуктом. В
программе организован простейший оконный интерфейс, реализованный
средствами модуля CRT. Структура экрана пользователя приведена на рис.
2.2.
1- Ввод НСИ 2- Просмотр НСИ 3-Ввод информации 4-Документ 5-Выход
Выберите пункт меню
Рис. 2.2. Структура экрана пользователя
Приведенный выше экран пользователя состоит из трех основных частей.
- Окно вывода меню (верхнее)- информация в этом окне находится на экране постоянно, не обновляясь в ходе работы программы.
- Окно контекстно-зависимой подсказки (нижнее) – информация в этом окне периодически обновляется в соответствии с ходом исполнения программы.
- Окно ввода данных и вывода результатов (среднее) – окно с изменяемой информацией.
3. Разработка алгоритма.
Разработка алгоритма велась методом нисходящего проектирования сверху вниз с последующей детализацией отдельных блоков.
Поскольку языком программирования выбран процедурно - ориентированный алгоритмический язык высокого уровня Pascal, основной задачей, подлежащей решению на этапе разработки алгоритма, является декомпозиция основной задачи с целью выделения отдельных подзадач, которые могут быть оформлены в виде подпрограмм. Общая блок-схема программы представлена на рисунке 3.1. Она включает в себя блок-схему головной программы, увязывающую всю задачу целиком, и блок-схемы отдельных подзадач, оформленные в виде подпрограмм. Блок - схемы подпрограмм представлены на рисунках 3.2. - 3.5.
Блок-схема алгоритма головной программы.
=1
=2
=3
=4
нет
да
Рис 3.1.
Блок-схема подпрограммы ввода НСИ (V_NSI)
да
нет
Рис 3.2.
Блок-схема подпрограммы просмотра НСИ (Prosmotr_NSI)
Рис 3.3.
Блок-схема подпрограммы ввода входных данных(Input)
да
нет
Рис 3.4.
Блок-схема подпрограммы расчета и вывода выходной формы(Print_Doc)
да
нет
Да
Рис 3.5.
4.Проектирование прикладного программного обеспечения
Программа спроектирована методом нисходящего проектирования сверху вниз, т.е. вначале была разработана головная программа, которая формирует экран пользователя (внешний вид экрана пользователя см, рис.2.2.), осуществляет программную поддержку при выборе пункта меню и обращается к соответствующей подпрограмме, реализующей определенную функцию программного продукта.
На следующем этапе были разработаны, отлажены и поочередно
подключены подпрограммы, реализующие основные функции данной задачи.
Программа реализована на языке высокого уровня Pascal .
Прикладное программное обеспечение данного проекта состоит из трех файлов:
- программный файл
- файл НСИ
- файл базы данных.
В приведенной ниже таблице 4.1. приведены наименования, назначения и
обращения к подпрограммам, включенным в состав прикладного программного
обеспечения .
Таблица 4.1.
|№ |Назначение |Наименование |
| |подпрограммы |подпрограммы |
|1 |Процедура для ввода |Procedure V_NSI; |
| |НСИ | |
|2 |Процедура просмотра |Procedure Prosmotr; |
| |НСИ | |
|3 |Ввод данных |Procedure Input; |
|4 |Функция поиска |Function |
| |наименования завода |Poisk(Shifr:string):str|
| |по его шифру в файле |ing; |
| |НСИ | |
|5 |Процедура |Procedure Print_Doc; |
| |формиро-вания | |
| |выходного документа и| |
| |выдачи его на экран | |
Листинг программы представлен в Приложении 1.
5. 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.
Заключение
В данном курсовом проекте разработан программный продукт, позволяющий частично автоматизировать процесс распределения студентов по базам практики, а также отслеживать и управлять ходом прохождения производственной практики.
Список использованной литературы
1. Е.И. Машбиц, И.А. Белоголов и др. ; Под общ. ред. А.А. Стогния
«Обработка данных с помощью компьютера» : Учеб. пособие.
- К.: Высшая школа, 1991.
2. В.В. Липаев «Проектирование программных средств»: Учеб. пособие. М.
«Высшая школа» 1990г.
3. Методические указания и пакет заданий к выполнению лабораторного практикума и контролируемой самостоятельной работе по дисциплине
«Основы алгоритмизации и алгоритмические языки» для студентов специальности 07. 15. - Днепропетровск : ДМетИ, 1990.
1. Фаронов В.В. «Турбо Паскаль 7.0. Начальный курс.» Учебное пособие. -
М.: «Нолидж», 1997г.
-----------------------
Начало
Ввод НСИ
Анализ ном. Пункта меню
Просмотр НСИ
Ввод входного докум.
Опр шифра из НСИ
Формирование оконного интерфейса
Выдача меню
Опрос ном пункта меню
Формир и вывод вых док.
=5?
Конец
Вход
Yfxfkj
Присоединение и открытие файла Nsi.dat
Ввод шифра завода
Это пробел?
Наименование завода
Выход
Вход
Присоединение и откр файла NNCNsi.dat
Печать НСИ
Выход
Вход
Присоед и откр файла Datt.dat
Ввод шифра завода
Это пробел?
Колич студентов
Кол иногор студ. студентов
ФИО и должн преп
Закрытие файла файла Datt.dat
Вход
Выход
Вход
Печать шапки
Присоед и откр файла
Это конец файла?
Чтение очер записи
Шифр пробел?
Кол студ Кол иног Фио преп
Подсчет итогов
В НСИ шифр не найден
Закрытьфайл
Выход