Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 11:56, курсовая работа
Цель курсовой работы - выработать умение выбирать рациональные структуры данных и языковых конструкций, обеспечивающих построение эффективных алгоритмов программ обработки данных применительно к задачам со сложной организацией данных, т.е. задач невычислительного характера, где сложность данных превышает сложность алгоритмов их обработки.
ВВЕДЕНИЕ 4
1. СОДЕРЖАТЕЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ 5
1.1. Характеристика задачи 5
1.2. Входные данные 5
1.3. Выходные данные 5
2. ФОРМАЛИЗОВАННАЯ ПОСТАНОВКА ЗАДАЧИ 6
2.1. Разработка модели предметной области (МПО) 6
2.1.1. Определение объектов 6
2.1.2. Анализ процессов (запросов к информационной базе) 8
2.1.3. Установление функциональных связей и задание их характеристик 8
2.1.4. Установление структурных связей и задание их характеристик 11
2.2. Оптимизация и проверка корректности инфологической схемы МПО 13
3. АБСТРАКТНЫЙ АНАЛИЗ И СИНТЕЗ МПО ЗАДАЧИ 15
3.1. Представление МПО при помощи абстрактных структур данных (АСД) 15
3.2. Предварительное преобразование структуры данных 15
3.3. Декомпозиция структуры данных на более простые АСД 16
4. РАЗРАБОТКА ВНЕШНИХ СПЕЦИФИКАЦИЙ ПРОГРАММЫ 18
4.1. Разработка представления данных при помощи логических структур данных (ЛСД) 18
4.2. Интерфейс программы. Разработка макетов ввода/вывода 20
4.3. Разработка функций программы 21
4.4. Разработка функций программы по обработке ошибок 21
5. РАЗРАБОТКА ВНУТРЕННИХ СПЕЦИФИКАЦИЙ ПРОГРАММЫ 22
5.1. Разработка структуры программы 22
5.2. Разработка представления данных на уровне модели памяти 23
6. ОПИСАНИЕ ПРОГРАММЫ TOURISTAGENCY 24
6.1. Вводная часть 24
6.2. Функциональное назначение 24
6 . Описание информации 2
6.4. Описание логики программы 25
7. ОПИСАНИЕ ПОДПРОГРАММЫ TFORM1.FORMCREATE 26
8. ОПИСАНИЕ ПОДПРОГРАММЫ TFORM1.BUTTON10CLICK 27
9. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR1 28
10. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR2 29
11. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR3 30
12. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR4 31
13. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR5 32
14. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR6 33
15. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR7 34
16. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR8 35
17. ТЕСТИРОВАНИЕ ПРОГРАММЫ 36
17.1. Разработка плана тестирования и набора тестов 36
17.2. Результаты тестирования 37
ЗАКЛЮЧЕНИЕ 42
Список литературы 43
Приложение 1 ТЕКСТ ПРОГРАММЫ TOURISTAGENCY 44
Приложение 2 СОДЕРЖИМОЕ ВХОДНЫХ ФАЙЛОВ 53
Приложение 3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 55
Приложение 4 РУКОВОДСТВО ПРОГРАММИСТА 57
11. Если список турагенств не пуст, то к п. 12, иначе к п. 18;
12. Если ПРОИЗВОДИТЕЛЬ=требуемому, то к п. 14, иначе к п. 13;
13. Перейти к следующему элементу списка турагенств, к п. 11;
14. i=i+1;
15. Вывести в поле записи на i-ую строку название турагенства;
16. Если список курортов не пуст, то к п. 17, иначе к п. 18;
17. Перейти к следующему элементу списка курортов, к п. 7;
18. Конец.
10. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR2
10.1. Вводная часть
Для реализации запроса 2 удобно создать отдельную процедуру, которая будет производить выборку.
10.2. Функциональное назначение
Подпрограмма предназначена для реализации запроса 2.
10.3. Описание информации
Входными данными для запроса 2 являются списки авиарейсов и курортов.
Выходные данные: записи, соответствующие запросу.
10.4. Описание логики
1. Начало;
2. Инициализировать текущий поставщик=первый в списке;
3. Если список авиарейсов не пуст, то к п. 4, иначе к п.14;
4. Если поставщик=требуемому, то к п. 6, иначе к п. 5;
5. Перейти к следующему элементу списка авиарейсов, к п. 3;
6. Инициализировать текущий курорт=первый в списке;
7. Если список курортов не пуст, то к п. 8, иначе к п. 14;
8. Если курорт=требуемому, то к п. 10, иначе к п. 9;
9. Перейти к следующему элементу списка курортов, к п. 7;
10. i=i+1;
11. Вывести запись поставщика в i-ую строку поля записей;
12. Если список авиарейсов не пуст, то к п. 13, иначе к п.14;
13. Перейти к следующему элементу списка авиарейсов, к п. 3;
14. Конец.
11. ОПИСАНИЕ ПРОГРАММЫ ZAPR3
11.1. Вводная часть
Для реализации запроса 3 удобно создать отдельную процедуру, которая будет производить выборку.
11.2. Функциональное назначение
Подпрограмма предназначена
11.3. Описание информации
Входными данными для запроса 3 является список отелей и курортов.
Выходные данные: название магазина, соответствующее запросу.
11.4. Описание логики
1. Начало;
2. Инициализировать текущий магазин=первый в списке;
3. Если список отелей не пуст, то к п. 4, иначе к п. 14;
4. Если текущий магазин=
5. Перейти к следующему элементу списка отелей, к п. 3;
6. Инициализировать текущий курорт=первый в списке;
7. Если список курортов не пуст, то к п. 8, иначе к п. 14;
8. Если курорт=требуемому, то к п. 10, иначе к п. 9;
9. Перейти к следующему элементу списка курортов, к п. 7;
10. i=i+1;
11. Вывести название магазина в i-ую строку поля записей;
12. Если список отелей не пуст, то к п. 13, иначе к п. 14;
13. Перейти к следующему элементу списка отелей, к п. 3;
14. Конец.
12. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR4
12.1. Вводная часть
Для реализации запроса 4 удобно создать отдельную процедуру, которая будет производить выборку.
12.2. Функциональное назначение
Подпрограмма предназначена
12.3. Описание информации
Входными данными для запроса 4 является список курортов.
Выходные данные: названия курортов, соответствующие запросу.
12.4. Описание логики
1. Начало;
2. Инициализировать текущий курорт=первый в списке;
3. Если список курортов не пуст, то к п. 4, иначе к п. 10;
4. Если курорт=требуемому, то к п. 6, иначе к п. 5;
5. Перейти к следующему элементу списка курортов, к п. 3;
6. i=i+1;
7. Вывести в i-ую строку название курорта;
8. Если список курортов не пуст, то к п. 9, иначе к п. 10;
9. Перейти к следующему элементу списка курортов, к п. 3;
10. Конец.
13. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR5
13.1. Вводная часть
Для реализации запроса 5 удобно создать отдельную процедуру, которая будет производить выборку.
13.2. Функциональное назначение
Подпрограмма предназначена для реализации запроса 5.
13.3. Описание информации
Входными данными для запроса 5 является список авиарейсов.
Выходные данные: записи, соответствующие запросу.
13.4. Описание логики
1. Начало;
2. Инициализировать текущий поставщик=первый в списке;
3. Если список авиарейсов не пуст, то к п. 4, иначе к п.10;
4. Если поставщик=требуемому, то к п. 6, иначе к п. 5;
5. Перейти к следующему элементу списка авиарейсов, к п. 3;
6. i=i+1;
7. Вывести запись поставщика в i-ую строку поля записей;
8. Если список авиарейсов не пуст, то к п. 9, иначе к п.10;
9. Перейти к следующему элементу списка авиарейсов, к п. 3;
10. Конец.
14. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR6
14.1. Вводная часть
Для реализации запроса 6 удобно создать отдельную процедуру, которая будет производить выборку.
14.2. Функциональное назначение
Подпрограмма предназначена
14.3. Описание информации
Входными данными для запроса 6 является список отелей.
Выходные данные: список отелей, соответствующих запросу.
14.4. Описание логики
1. Начало;
2. Инициализировать текущий магазин=первый в списке;
3. Если список отелей не пуст, то к п. 4, иначе к п. 10;
4. Если текущий магазин=
5. Перейти к следующему элементу списка отелей, к п. 3;
6. i=i+1;
7. Вывести название магазина в i-ую строку поля записей;
8. Если список отелей не пуст, то к п. 9, иначе к п. 10;
9. Перейти к следующему элементу списка отелей, к п. 3;
10. Конец.
15. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR7
15.1. Вводная часть
Для реализации запроса 7 удобно создать отдельную процедуру, которая будет производить выборку.
15.2. Функциональное назначение
Подпрограмма предназначена
15.3. Описание информации
Входными данными для запроса 7 является список турагентств.
Выходные данные: список турагентств, соответствующих запросу.
15.4. Описание логики
1. Начало;
2. Инициализировать текущее ПРОИЗВОДИТЕЛЬ=первый в списке;
3. Если список турагенств не пуст, то к п. 4, иначе к п. 10;
4. Если ПРОИЗВОДИТЕЛЬ=требуемому, то к п. 6, иначе к п. 5;
5. Перейти к следующему элементу списка турагенств, к п. 3;
6. i=i+1;
7. Вывести в поле записи на i-ую строку название турагенства;
8. Если список турагенств не пуст, то к п. 9, иначе к п. 10;
9. Перейти к следующему элементу списка турагенств, к п. 3;
10. Конец.
16. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR8
16.1. Вводная часть
Для реализации запроса 8 удобно создать отдельную процедуру, которая будет производить выборку.
16.2. Функциональное назначение
Подпрограмма предназначена
16.3. Описание информации
Входными данными для запроса 8 является список авиарейсов.
Выходные данные: записи авиарейсов, соответствующих запросу.
16.4. Описание логики
1. Начало;
2. Инициализировать текущий поставщик=первый в списке;
3. Если список авиарейсов не пуст, то к п. 4, иначе к п.10;
4. Если поставщик=требуемому, то к п. 6, иначе к п. 5;
5. Перейти к следующему элементу списка авиарейсов, к п. 3;
6. i=i+1;
7. Вывести запись поставщика в i-ую строку поля записей;
8. Если список авиарейсов не пуст, то к п. 9, иначе к п.10;
9. Перейти к следующему элементу списка авиарейсов, к п. 3;
10. Конец.
17. ТЕСТИРОВАНИЕ ПРОГРАММЫ
17.1. Разработка плана тестирования и набора тестов
Содержимое входного файла FTurAg.dat:
ИКС-тур
Москва
Виа-тревел
Ижевск
Зори-тур
Ижевск
Лаймен
Париж
Содержимое входного файла FKurorty.dat:
Россия
Сочи
Виа-тревел
Россия
Сочи
Зори-тур
Россия
Сочи
ИКС-тур
Россия
Ижевск
ИКС-тур
Россия
Ижевск
Виа-тревел
Франция
Марсель
Франция
Париж
Содержимое входного файла FOtely.dat:
Файр
Марсель
Корсика
Сочи
Лазурь
Сочи
Ижевск
Ижевск
Россия
Москва
Содержимое входного файла FAviaLines.dat:
1
Ижевск
Москва
ИКС-тур
1
Ижевск
Москва
Зори-Тур
2
Ижевск
Москва
Зори-Тур
1
Новосибирск
Марсель
Виа-тревел
2
Сочи
Марсель
Виа-тревел
3
Москва
Марсель
Виа-тревел
17.2. Результаты тестирования
Запрос 1. Зададим поля: магазин «Корсика», курорт «Сочи», город(б) «Россия» и город «Ижевск». Программа должна выдать: «Виа-тревел», «Зори тур».
Результат работы программы на запрос 1 показан на рис. 17.1 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 1
Рис. 17.1
Запрос 2. Зададим поля: город «Марсель», турагентство «Виа-тур», город(б) «Россия». Программа должна выдать: «Новосибирск - Марсель №1», «Сочи - Марсель №2», «Москва - Марсель №3».
Результат работы программы на запрос 2 показан на рис. 17.2 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 2
Рис. 17.2
Запрос 3. Зададим поля: турагентство «Виа-тур», курорт «Сочи». Программа должна выдать отели «Корсика» и «Лазурь».
Результат работы программы на запрос 3 показан на рис. 17.3 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 3
Рис. 17.3
Запрос 4. Зададим поле город(б) «Франция». Программа должна выдать курорты «Марсель» и «Париж».
Результат работы программы на запрос 4 прказан на рис. 17.4 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 4
Рис. 17.4
Запрос 5. Зададим поле город «Ижевск». Программа должна выдать «Ижевск – Москва №1 ИКС-тур», «Ижевск – Москва №1 Зори-тур», «Ижевск – Москва №2 Зори-тур».
Результат работы программы на запрос 5 прказан на рис. 17.5 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 5
Рис. 17.5
Запрос 6. Зададим поле курорт «Сочи». Программа должна выдать отели «Корсика» и «Лазурь».
Результат работы программы на запрос 6 прказан на рис. 17.6 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 6
Рис. 17.6
Запрос 7. Зададим поле город «Ижевск». Программа должна выдать производителя «Виа-тревел» и «Зори-тур».
Результат работы программы на запрос 7 прказан на рис. 17.7 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 7
Рис. 17.7
Запрос 8. Зададим поля город «Ижевск» и курорт «Москва». Программа должна выдать: «Ижевск – Москва №1 ИКС-тур», «Ижевск – Москва №1 Зори-тур», «Ижевск – Москва №2 Зори-тур».
Результат работы программы на запрос 8 прказан на рис. 17.8 и представлен частью основной формы (поля ввода и поле записей).
Поля ввода и поле записей при запросе 8
Рис. 17.8
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы выработал умение выбирать рациональные структуры данных и языковых конструкций, обеспечивающих построение эффективных алгоритмов программ обработки данных применительно к задачам со сложной фирма данных, т.е. задач невычислительного характера, где сложность данных превышает сложность алгоритмов их обработки. Мы использовали методику пошаговой разработки программ, устанавливающая соответствие между этапами проектирования программ и уровнями представления данных на каждом этапе.
Созданная информационная система служит для целей автоматизации человеческого труда. Это позволяет сэкономить большое количество времени и получать точные и абсолютно достоверные сведения.
Список литературы
1. Методические указания для самостоятельной работы студентов по дисциплине "Структура и организация данных в ЭВМ". Ч.I /ИжГТУ; Сост. М.А.Сенилов. Ижевск, 1997.
2. Вирт Н. Алгоритмы + структуры данных = программы.- М: Мир, 1985.
3. Методические указания по дипломному проектированию. /Ижевск. Мех.институт; Сост.: М.А. Сенилов, С.В. Почерняев, И.В. Килин. Ижевск, 1992.
4. ГОСТ 19 105-78 Общие требования к программным документам//ЕСПД – М : Издательство стандартов, 1992.
5. ГОСТ 19 701-90 Схемы алгоритмов, программ, данных и систем//ЕСПД – М : Издательство стандартов, 1992.
ПРИЛОЖЕНИЕ 1
ТЕКСТ ПРОГРАММЫ
program Touristagency;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;