Информационно-справочная система. Поставка товара в крупные сети розничной торговли

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 1 файл

Курс_СиАОД_Клабуков.doc

— 689.50 Кб (Скачать документ)

 

 

3. АБСТРАКТНЫЙ АНАЛИЗ И СИНТЕЗ  МПО ЗАДАЧИ

 

3.1. Представление МПО при помощи АСД

 

Приведем экземпляра МПО (см. рис. 3.1).

 

Экземпляр модели предметной области

Рис. 3.1

 

 

3.2. Предварительное  преобразование структуры данных

 

Просмотрим перечень ФС (табл. 2.10). В графе "Параметры выборки" признак "K" встречается у всех объектов, поэтому экземпляры каждого из этих объектов связываются в цепь.

 

Экземпляр преобразованной инфологической схемы МПО

 

Рис 3.2

 

 

3.3. Декомпозиция  структуры данных на более  простые АСД

 

В результате анализа и последующей  декомпозиции структура данных разобьется на 5 более простые АСД.

АСД1: картеж <ГОРОД, ПРОИЗВОДИТЕЛЬ> (см. рис. 3.3).

Схема АСД1

Рис. 3.3 

АСД2: картеж <ОПТОВАЯ БАЗА, МАГАЗИН> (см. рис. 3.4).

Схема АСД2

Рис. 3.4

АСД3: картеж <ГОРОД, ПОСТАВЩИК> (см. рис. 3.5).

 

Схема АСД3

Рис. 3.5

 

АСД4: картеж <ГОРОД(б), ПОСТАВЩИК> (см. рис. 3.6).

Схема АСД4

Рис. 3.6

 

АСД5: картеж <ГОРОД(б), ОПТОВАЯ БАЗА> (см. рис. 3.7).

Схема АСД5

Рис. 3.7

 

4. РАЗРАБОТКА ВНЕШНИХ СПЕЦИФИКАЦИЙ  ПРОГРАММЫ

 

4.1. Разработка  представления данных при помощи  логических структур данных (ЛСД)

 

Разработаем и проанализируем алгоритмы обработки структуры данных.

Алгоритм «Вывод списка ТУРАГЕНТСТВ»

Входные данные: список ТУРАГЕНТСТВ, ГОРОДОВ, КУРОРТОВ, СТРАН, ОТЕЛЕЙ.

Выходные данные: список ТУРАГЕНТСТВ.

    1. Начало;
    2. Если магазин=требуемому, то к п.3, иначе к п.8;
    3. Если курорт=требуемому, то к п.4, иначе к п. 8;
    4. Если город(б)=требуемой, то к п. 5, иначе к п.8;
    5. Если город=требуемому, то к п. 6, иначе к п. 8;
    6. Если турагентство=требуемому, то к п. 7, иначе к п.8;
    7. Вывести название производителя;
    8. Конец.

Алгоритм «Вывод списка АВИАРЕЙСОВ»

Входные данные: список АВИАРЕЙСОВ, ТУРАГЕНТСТВ, СТРАН, ГОРОДОВ.

Выходные данные: список АВИАРЕЙСОВ.

    1. Начало;
    2. Если город=требуемому, то к п. 3, иначе к п. 7;
    3. Если турагентство=требуемому, то к п. 4, иначе к п. 7;
    4. Если город(б)=требуемой, то к п. 5, иначе к п. 7;
    5. Если поставщик=требуемому, то к п. 6, иначе к п. 7;
    6. Вывести номер поставщика, места отправления и прибытия;
    7. Конец.

Алгоритм «Вывод списка ОТЕЛЕЙ»

Входные данные: список ОТЕЛЕЙ, ТУРАГЕНТСТВ, КУРОРТОВ.

Выходные данные: список ОТЕЛЕЙ.

1.  Начало;

2.  Если курорт=требуемому, то к п. 3, иначе к п. 6;

3.  Если турагентство=требуемому  то к п. 4, иначе к п. 6;

4.  Если магазин=требуемому, то к п. 5, иначе к п. 6;

5.  Вывести название магазина;

6.  Конец.

Алгоритм «Вывод списка КУРОРТОВ»

Входные данные: список КУРОРТОВ, СТРАН.

Выходные данные: список КУРОРТОВ.

1.  Начало;

2.  Если город(б)=требуемой, то к п.3, иначе к п.5;

3.  Если курорт=требуемому, то  к п. 4, иначе к п. 5;

4.  Вывести название курорта;

5.  Конец.

Алгоритм «Вывод списка АВИАРЕЙСОВ»

Входные данные: список АВИАРЕЙСОВ, ГОРОДОВ.

Выходные данные: список АВИАРЕЙСОВ.

1.  Начало;

2.  Если город=требуемому, то  к п. 3, иначе к п. 5;

3.  Если поставщик=требуемому, то к п. 4, иначе к п. 5;

4.  Вывести  номер поставщика, места отправления и прибытия;

5.  Конец.

Алгоритм «Вывод списка ОТЕЛЕЙ»

Входные данные: список ОТЕЛЕЙ, КУРОРТОВ.

Выходные данные: список ОТЕЛЕЙ.

1.  Начало;

2.  Если курорт=требуемому, то к п. 3, иначе к п. 5;

3.  Если магазин=требуемому, то к п. 4, иначе к п. 5;

4.  Вывести название магазина;

5.  Конец.

Алгоритм «Вывод списка ТУРАГЕНТСТВ»

Входные данные: список ТУРАГЕНТСТВ, ГОРОДОВ.

Выходные данные: список ТУРАГЕНТСТВ.

1.  Начало;

2.  Если город=требуемому, то  к п. 3, иначе к п. 5;

3,  Если турагентство=требуемому, то к п. 4, иначе к п. 5;

4.  Вывести название производителя;

5.  Конец.

Алгоритм «Вывод списка АВИАРЕЙСОВ»

Входные данные: список АВИАРЕЙСОВ, ГОРОДОВ, КУРОРТОВ.

Выходные данные: список АВИАРЕЙСОВ.

1.  Начало;

2.  Если город=требуемому, то  к п. 3, иначе к п. 6;

3.  Если курорт=требуемому, то к п. 4, иначе к п. 6;

4.  Если поставщик=требуемому, то к п. 5, иначе к п. 6;

5.  Вывести номер поставщика, места отправления и прибытия;

6.  Конец.

 

4.2. Интерфейс  программы. Разработка макетов  ввода/вывода

 

При запуске программы пользователю представляется форма, представленная на рис. 4.1.

Рабочая форма

Рис. 4.1

Для выбора требуемого запроса используются кнопки с заголовком “ЗАПРОС”, расположенные слева от метки, содержащей текст запроса. Поля: город, турагентство, курорт, город(б), магазин и кнопка “ЗАПРОСИТЬ” не доступны для ввода. При нажатии на кнопку требуемого запроса программа выдаёт сообщение (см. рис. 4.2).

 

 

Сообщение при выборе запроса


Рис. 4.2

После вывода сообщения (рис. 4.2) следует  нажать на кнопку “OK” либо на крестик в правом верхнем углу. После данного действия будут доступны поля ввода, необходимые для запроса и кнопка “ЗАПРОСИТЬ”, при нажатии на которую в поле записей на рабочей форме (см. рис. 4.1 справа внизу) отобразиться информация, удовлетворяющая запросу, введенному в поля ввода, либо сообщение (см. рис. 4.3), если на данный запрос нет данных.

Сообщение при отсутствии информации на запрос

Рис. 4.3

После закрытия сообщения, нажатием на кнопку “OK” либо на крестик, снова доступна для работы основная рабочая форма (см. рис. 4.1).

Для выхода из программы следует  нажать на кнопку “ВЫХОД”, расположенную в правом верхнем углу рабочей формы (см. рис. 4.1)

 

4.3. Разработка  функций программы

 

Программа состоит из функций реализации запросов (далее ЗАПРОС 1-8). Ниже приводится описание этих функций:

zapr1 – обрабатывает информационную базу согласно запросу 1.

zapr2 – обрабатывает информационную базу согласно запросу 2.

zapr3 – обрабатывает информационную базу согласно запросу 3.

zapr4 – обрабатывает информационную базу согласно запросу 4.

zapr5 – обрабатывает информационную базу согласно запросу 5.

zapr6 – обрабатывает информационную базу согласно запросу 6.

zapr7 – обрабатывает информационную базу согласно запросу 7.

zapr8 – обрабатывает информационную базу согласно запросу 8.

 

4.4. Разработка функций программы по обработке ошибок

 

При чтении файлов с данными, программа  проверяет их наличие, и если данных не хватает, программа выдает сообщение  об ошибке.

Специальных функций по обработке  ошибок в программе не предусмотрено.

 

 

5. РАЗРАБОТКА ВНУТРЕННИХ СПЕЦИФИКАЦИЙ ПРОГРАММЫ

4.1. Разработка структуры программы

Структура программы

Рис. 5.1

где:

Touristagency – главная программа;

TForm1.FormCreate – процедура создания главной формы и чтения данных из файлов;

TForm1.Button10Click – процедура, реализующая выбор запросов;

TForm1.Button1Click – процедура выхода из программы;

TForm1.Button2Click, TForm1.Button3Click, TForm1.Button4Click, TForm1.Button5Click, TForm1.Button6Click, TForm1.Button7Click, TForm1.Button8Click, TForm1.Button9Click – процедуры выбора запроса;

Zapros1 – процедура реализации  запроса 1;

Zapros2 – процедура реализации  запроса 2;

Zapros3 – процедура реализации  запроса 3;

Zapros4 – процедура реализации  запроса 4;

Zapros5 – процедура реализации  запроса 5;

Zapros6 – процедура реализации  запроса 6;

Zapros7 – процедура реализации  запроса 7;

Zapros8 – процедура реализации  запроса 8.

 

5.2. Разработка  представления данных на уровне  модели памяти

 

Для представления ЛСД1, ЛСД2, ЛСД3, ЛСД4 и ЛСД5 используется прямой однонаправленный динамический список (см. рис.5.2).

Список из n элементов

Рис.5.2

 

 

6. ОПИСАНИЕ ПРОГРАММЫ  TOURISTAGENCY

 

6.1. Вводная  часть

Программа реализует запросы к информационной базе, содержащей сведения о туристических агентствах, курортах, авиалиниях, магазинах, которые хранятся на момент выполнения в памяти ЭВМ. Сведения в память ЭВМ заносятся из входных файлов.

Программа написана в среде  Borland Delphi 6.0 на языке ObjectPascal.

 

6.3. Функциональное назначение

Программа Touristagency предназначена для реализации запросов к информационной базе. Она не предусматривает редактирования существующих и ввод новых данных. Ввод новых данных производится путем изменения входных файлов в любом текстовом редакторе. Для работы программы требуются следующие устройства:

-  накопитель на гибких или жестких магнитных дисках;

-  свободная оперативная память не менее  2 760 Кб;

-  монитор;

-  клавиатура.

При очень большом файле данных, необходимо большее количество оперативной памяти. При сбое в работе устройств, программа прекращает свою работу.

 

6.3. Описание  информации

Входные данные поступают из входных  файлов: FTurAg.dat, FKurorty.dat, FAviaLines.dat, FOtely.dat.

Файл: FTurAg.dat имеет следующую структуру:

Название турагенства

Место расположения турагенства (город)

 

Файл: FKurorty.dat имеет следующую структуру:

Город(б)

Название курорта

Название производителя

 

Файл: FAviaLines.dat имеет следующую структуру:

Порядковый номер поставщика в турагенстсве

Место отправления

Место прибытия

Название турагенства

 

Файл: FOtely.dat имеет следующую структуру:

Название магазина

Курорт, в котором расположен магазин

 

При работе программы выводится  рабочая форма, описанная в п.4.2.

Перечень сообщений используемых в работе программы при запросах представлен на рис. 4.2, 4.3 в пункте 4.2.

 

6.4. Описание логики программы

1.  Начало;

2.  Вывести основную форму  на экран;

3.  Конец.

 

7. ОПИСАНИЕ ПОДПРОГРАММЫ  TFORM1.FORMCREATE

 

7.1. Вводная  часть

Процедура выполнятся в начале работы программы.

 

7.2. Функциональное назначение

Процедура предназначена для чтения данных из входных файлов в динамические списки

 

7.3. Описание  информации

Входные данные поступают из текстовых  файлов: FTurAg.dat, FKurorty.dat, FAviaLines.dat, FOtely.dat.

Выходные данные: динамические списки.

 

7.4. Описание  логики

1.  Начало;

2.  Открыть файл FKurorty.dat для чтения;

3. Считать данные из файла в динамический список kurort;

4.  Закрыть файл;

5.  Открыть файл FTurAg.dat для чтения;

6.  Считать данные из файла в динамический список turag;

7.  Закрыть файл;

8.  Открыть файл FOtely.dat для чтения;

9.  Считать данные из файла в динамический список otel;

10.  Закрыть файл;

11.  Открыть файл FAviaLines для чтения;

12.  Считать данные из файла в динамический список avia;

13.  Закрыть файл;

14.  Конец.

 

8. ОПИСАНИЕ ПОДПРОГРАММЫ TFORM1.BUTTON10CLICK

 

8.1. Вводная  часть

Работа процедуры выполняется  посредством нажатия на клавишу  “ЗАПРОСИТЬ”, расположеной на рабочей форме (см. рис. 4.1).

 

8.2. Функциональное  назначение

Программа реализует выбор запроса (1-8) к информационной базе.

 

8.3. Описание  информации

Входными данными является номер  запроса, выбираемый посредством нажатия  соответствующих кнопок на форме (см. рис. 4.1), расположенных слева от текста запроса.

Выходные данные: записи, соответствующие запросу в поле записей на основной форме(см. рис. 4.1).

 

8.4. Описание логики

1.  Начало;

2.  Инициализация переменной  i=0;

3.  Отчистить поле записей;

4.  Выбрать подпрограмму запроса  согласно номеру запроса

5.  Если i=0, то к п. 6, иначе к п. 7;

6.  Вывести сообщение  “На данный запрос ничего не найдено”;

7.  Конец.

 

9. ОПИСАНИЕ ПОДПРОГРАММЫ ZAPR1

 

9.1. Вводная  часть

Для реализации запроса 1 удобно создать  отдельную процедуру, которая будет  производить выборку.

 

9.2. Функциональное  назначение

Подпрограмма предназначена для  реализации запроса 1.

 

9.3. Описание  информации

Входными данными для запроса 1 являются списки турагенств, курортов и отелей.

Выходные данные: список турагенств, соответствующих запросу.

 

9.4. Описание  логики

1.  Начало;

2. Инициализировать текущий магазин=первый в списке;

3.  Если список отелей не пуст, то к п. 4, иначе к п. 18;

4.   Если текущий магазин=требуемому. то к п. 6, иначе к п. 5;

5.  Перейти к следующему элементу списка отелей, к п. 3;

6.   Инициализировать текущий курорт=первый в списке;

7.   Если список курортов  не пуст, то к п. 8, иначе к  п. 18;

8.   Если курорт=требуемому, то  к п. 10, иначе к п. 9;

9.   Перейти к следующему  элементу списка курортов, к п. 7;

10. Инициализировать текущее  ПРОИЗВОДИТЕЛЬ=первый в списке;

Информация о работе Информационно-справочная система. Поставка товара в крупные сети розничной торговли