Кафедра информатики
КУРСОВАЯ РАБОТА
ИНФОРМАЦИОННО- ПОИСКОВАЯ СИСТЕМА
«ЮВЕЛИВНЫЕ ИЗДЕЛИЯ»
Выполнила: студентка. гр. автоматизаторов
Проверил: Преподователь
Усть-Илимск 2007
Перв. примен. |
Федеральное агентство по образованию Филиал Федерального государственного учреждения высшего профессионального образования «Сибирский федеральный университет» в г. Усть-Илимске Кафедра информатики ЗАДАНИЕ
На курсовую работу По дисциплине: «Технология программирования» Студент: Задание: Разработать информационно-поисковую систему «Ювелирные изделия». Средством разработки является язык программирования Pascal. Дата выдачи: 12.09.06. Срок сдачи: 4.12.06 Календарный план
Задание принял:_______ Оценка________ Руководитель:________ «__»_______20__г. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
Справ. № | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Подпись и дата | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Инв. № дубл. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Взам. инд № | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Подпись и дата | |||||||||||||||||||||||||||||||||||||||||||||||||||||
520100 ДФ 230102 КР ПЗ | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Изм | Лист | № докум. | Подпись | Дата | |||||||||||||||||||||||||||||||||||||||||||||||||
Инв.№ подл. | 01,06,07 | Курсовая работа «Информационно поисковая система «Ювелирные изделия» пояснительная записка |
Литера | Лист | Листов | ||||||||||||||||||||||||||||||||||||||||||||||||
2 | 35 |
Содержание
Введение………………………………………………………………………4
1 Структура программного обеспечения………………………………… 5
2 Анализ и спецификация задач …………………………………………..6
3 Техническое задание ……………………………………………….……9
4 Текст программы………………………………………………………...15
5 Тестирование…………………………………………………………….29
6 Руководство пользователя ……………………………………………..30
7 Руководство программиста …………………………………………....31
Заключение……………………………………………………………………32
Список использованных источников………………………………………..33
Введение
В наше время появляется все больше различных компаний, занимающихся изготовлением и продажей ювелирных изделий. И если взглянуть на список всех изделий, то не хватит и одного и десятка листов, чтобы уместить весь список ювелирных изделий. И все тяжелее становится искать нужные изделия в Интернете, в магазинах.
Чтобы помочь рядовому пользователю найти и определиться с выбором какого-либо ювелирного изделия и была создана СУБД «Ювелирные изделия», которая при должном заполнении может содержать изделия, легкий поиск и сортировка записей, возможность добавления и редактирование существующих записей.
Поэтому создание СУБД, предназначенной для этой цели, – объективная потребность для широкого круга пользователей.
Целью создания информационно-поисковой системы «Ювелирные изделия» является упрощение действий пользователя по ведению коллекции изделий с реализацией широкого круга возможностей по ее просмотру и редактированию: добавление, изменение и удаление, поиск, сортировка, форматный вывод записей из базы данных.
Разработанная ИПС должна обеспечивать высокий уровень быстродействия и надежности в осуществлении всех функциональных возможностей. ИПС «Ювелирные изделия» может применяться как в организациях, так и частными лицами. Для ее использования не требуется особых знаний в области программного обеспечения, достаточно лишь наличие начальных знаний и умений по использованию компьютера, благодаря чему системой могут пользоваться представители различных возрастных категорий.
1. Структура программного обеспечения
Программный комплекс «Ювелирные изделия» состоит из двух частей: одного модуля и основной программы. Выровнять все по ширине
Модуль ukr – это функциональная часть программы. В нем реализуется объектный тип Jeverly для добавления, изменения и удаления записей из файла, поиска и сортировки и т.д., объявляются типы, используемые как типы полей создаваемого класса, разрабатываются вспомогательные функции преобразования. Модуль используется в основной программе.
Основная программа (main) использует вышеописанный модуль. Она реализует интерфейсную часть программы и взаимодействие с пользователем.
Файл базы данных представляет собой структурированных файл, каждая запись которого имеет тип Jeverly со следующими полями:
– SIsd (название),
– SMat (Материал),
– SCena (стоимость),
– SBall (оценка),
Название, материал, стоимость и оценка – это строки одинаковой длины(80).
Для управления базой данных в программе используется главное меню, содержащее 7 пункта: Просмотр, Добавить, Удалить, Редактировать, Поиск, Сортировать, Выход, для доступа к которым необходимо нажать цифру, соответствующую выбору пользователя (0..6). словами
В связи с этим, общая задача разбита на подзадачи, которые реализованы в программе следующими подпрограммами:
- procedure menu;
- procedure view;
- procedure add;
- procedure delete;
- procedure edit;
- procedure sort;
- procedure search;
Назначение каждой из этих подпрограмм описывается в разделе 3 «Описание подпрограмм».
2. Анализ и спецификация переменных
2.1. спецификация переменных
Заголовки пишут с большой буквы
Раздел не начинают с таблицы
Таблица 1 – Спецификация переменных в основной программе
ИМЯ | Назначение | Тип |
Главная программа |
||
ukr, crt | Инициализация модуля | - |
key | Команда ввода меню | Char |
name | Инициализация текстового файла | String |
Таблица 2 - Спецификация переменных главного модуля ukr.tpu
Jeverly | Тип записи в базе данных | record |
isd | Название товара | string |
mat | Материал изделия | string |
cen | Цена изделия | integer |
F | Инициализация файла типа Jeverly | jeverly |
name | Инициализация текстового файла | String |
Procedure MENU | ||
h | Параметр изменения цвета | integer |
Procedure VIEW |
||
i | номера записи | Integer |
data | Поля записи | jeverly |
Procedure ADD | ||
data | Служит для добавления записи в таблицу | Jeverly |
Procedure DELETE | ||
del | Номер удаляемой записи | Integer |
i | номера записи | Integer |
data | Поля записи файла | Jeverly |
G | Файл для обмена данными с основным и для упорядочивания Б.Д. |
Jeverly |
Procedure EDIT | ||
ed | Номер редактируемой записи | Integer |
i | номера записи | Integer |
data | Поля записи файла | Jeverly |
G | Файл для обмена данными с основным и для упорядочивания Б.Д. |
Jeverly |
Продолжение таблицы 2
Имя | Назначение | Тип |
Procedure EDIT | ||
i | Счетчик массива data | Integer |
j | Счетчик массива data | Integer |
count | Номер удаляемой записи | Integer |
sortPole | Сортируемое поле | Integer |
tmp | Редактируемое поле | |
data | Массив предназначенный для записи | Jeverly |
G | Файл для обмена данными с основным и для упорядочивания Б.Д. |
Jeverly |
Procedure SEARCH | ||
i | Счетчик массива | Integer |
error | ошибка | Integer |
tmp | Преобразованная срока из строки в число | Integer |
SearchString | Номер строки для поиска | String |
data | Поля записи файла | Jeverly |
3. Описание подпрограмм
АбзацПодпрограммы, используемые в главном модуле, описаны в таблице 3.
Таблица 3 – Подпрограммы главного модуля ukr.tpu
Процедура | Назначение |
Proceduremenu | Главное меню программы. Для выполнения действия нужно ввести цифру нужного пункта меню. |
Procedure view | Вывод записей БД на экран |
Procedure add | Запись типизированного файла и добавление в него следующих записей: название, материал, цена. |
Procedure delete | Удаление записей из файла базы данных. |
Procedure edit | Редактирование данных в уже имеющихся в файле. Указывается номер записи для редактирования и производится редактирование записи |
Procedure sort | Производит сортировку по заданному полю |
Proceduresearch | Поиск записей по выбранному параметру. Данные считываются из названия товара. Затем происходит поиск в массиве, и если номер найден, то отображаются результаты поиска. Если номер не найден, то выводится сообщение об этом. |
Заголовок с абзаца, пронумероватьТехническое задание на разработку программы информационно-
поисковой системы «Ювелирные изделия»
1. Общие сведения
1.1. Полное наименование системы и ее условное обозначение
Полное наименование системы: «Информационно-поисковая система «Ювелирные изделия».
1.2. Наименование предприятия разработчика системы и его реквизиты
Студентка 2 курса Полубоярова Ольга Александровна, обучающаяся по специальности «Автоматизированная обработка информации и управление», Усть-Илимского филиала Красноярского Государственного Технического Университета (УИФ КГТУ).
1.3. Плановые сроки начала и окончания работы
Плановые сроки начала работы 12 сентября 2006 г. и окончания работы по созданию системы 12 декабря 2006 г.
2. Назначение и цели создания подсистем
2.1. Назначения подсистемы
Подсистема “Информационно-поисковая система “Ювелирные изделия” предназначена для автоматизации процесса ведения базы данных (БД), для уменьшения затрат связанных со временем, редактированием и поиском необходимой и точной информации по конкретному программному обеспечению, что является целью создания ИПС.
2.2. Цели создания подсистемы
“Информационно-поисковая система “Ювелирные изделия” создается с целью упрощения поиска и сортировки программного обеспечения.
3. Требования к структуре и функционированию системы
3.1 Перечень прикладных модулей, их назначение и основные характеристики, требования к числу уровней иерархии и степени централизации системы
Поддержка информационной деятельности, при выполнении операций осуществляется прикладными модулями. Доступ к свойствам ИПС со стороны пользователя осуществляется через «Главное меню» программного продукта, основное назначение заключается в организации помощи пользователю в поиске нужного программного обеспечения.
Для обеспечения функционирования ИПС хранения данных должны быть реализованы следующие прикладные модули:
-
модуль данных сведения о программном обеспечении. Сформулировать одно предложения без списка
3.2. Задачи и функции
Целью ИПС является автоматизация процессов, включающих в себя операции учета программных продуктов, более легкий и универсальный доступ к данным об этих продуктах; простое и удобное пользование программой
- формирование списка изделий;
- информация о стоимости ювелирных изделий;
- поиск по базе данных;
- сортировка;
- редактирование.
3.3 Требования к техническому обеспечению
Комплекс технических средств (КТС) должен состоять из следующих видов аппаратного обеспечения:
- рабочая станция пользователя ИПС;
Сформулировать одно предложение без списка
Минимальные требования:
Вид аппаратного обеспечения
|
Процессор МГц
|
ОЗУ Мб | Жесткий диск
|
Дополнительные требования
|
Рабочие станция пользователя
|
PentiumII (333 MHz) |
32 |
10 Мб
|
монитор“15” дюймов |
Оформить таблицу по гостам: заголовок, номер, название, шрифт (жирность, курсив убрать)
3.4 Требования к программному обеспечению
Программное обеспечение должно быть детально документированным, содержать в своем составе развитую систему подсказок, оперативной помощи и обеспечивать необходимый и достаточный набор операций для реализации основных функций, выделенных по функционально-технологическому принципу.
Прикладное ПО должно обеспечивать пользовательский интерфейс на русском языке.
абзацВ качестве операционной системы для рабочей станции пользователя ИПС нет строгих требований, в качестве системы управления базами данных используется BorlandPascal 7.0. В целях производственной необходимости требования к системному программному обеспечению по согласованию заказчика и исполнителя могут быть изменены с соответствующей корректировкой технического задания.
Выровнять по ширине
4. Текст программы текст программы оформить как приложение
4.1. Текст основной программы
uses crt, ukr;
var
{data: Jeverly;}
{ i, count: integer;}
key: char;
begin
clrscr;
name:='asdad';
{Основное меню: }
repeat
textcolor(2);
menu;
key:=readkey;
case key of
'1':
begin
view;
readkey;
end;
'2': add;
'3': delete;
'4': edit;
'5': Search;
'6': Sort;
'0': Exit;
end;
until (key='0');
readkey;
end.
4.2. Текст модуля UKR.TRU
unit ukr;
interface
uses crt;
{Тип для хранения данных о ювелирных изделиях}
type
Jeverly = record
isd, mat: string;
cen: integer;
end;
{tdata = array[0..100]of Jeverly;}
{Описание переменных}
var
F: File of Jeverly;
name: string;
{Описание процедур}
procedure menu;
procedure view;{(var data: Jeverly);}
procedure add;
procedure delete;
procedure edit;
procedure search;
procedure sort;
implementation
{--------------------------------------------------------------------}
procedure menu;
begin
clrscr;
writeln(' ************ ЮВЕЛИРНЫЕИЗДЕЛИЯ ************ ');
writeln('');
writeln(' 1. Просмотр');
writeln(' 2. Добавить');
writeln(' 3. Удалить');
writeln(' 4. Редактировать');
writeln(' 5. Поиск');
writeln(' 6. Сортировка');
writeln(' 0. Выход');
end;
{--------------------------------------------------------------------}
{--------------------------------------------------------------------}
procedure view;
var
i: integer;
data: Jeverly;
begin
clrscr;
{$I-}
Assign(F, name);
Reset(F);
{$I+}
if IOResult<>0 then
begin
Rewrite(F);
clrscr;
Write('Файл пуст!');
Exit;
end
else
begin
if FileSize(F)=0 then
begin
Write('Файл пуст!');
Exit;
end
else
begin
Writeln('#':3, 'Товар':15, 'Материал':15, 'Стоимость':15); Writeln('#':3, 'Товар':15, 'Материал':15, 'Стоимость':15); Rewrite(F);
Writeln('-------------------------------------------------');
i:=0;
while not EOF(F) do
begin
Read(F, data);
Writeln(i:3, data.isd:15, data.mat:15, data.cen:15);
inc(i);
end;
end;
end; begin
Close(F);
end;
{--------------------------------------------------------------------}
while not EOF(F) do
{--------------------------------------------------------------------}
procedure add;
var
data: Jeverly;
begin
clrscr; begin
Write('Введите название изделия: ');
Readln(data.isd);
Write('Введите материал, из которого сделано изделие: ');
Readln(data.mat);
Write('Введите стоимость изделия($): ');
Readln(data.cen);
{$I-}
Assign(F, name);
Reset(F);
{$I+}
if IOResult<>0 then
Rewrite(F)
else
begin
Seek(F, FileSize(F));
Write(F, data);
end;
Close(F);
end;
{--------------------------------------------------------------------}
while not EOF(F) do
{--------------------------------------------------------------------}
procedure delete;
var
del, i: integer;
data: Jeverly;
G: File of Jeverly;
begin
{$I-}
Assign(F, name);
Reset(F);
{$I+}
if IOResult<>0 then
begin
clrscr;
Write('Анечегоудалять!');
readkey;
Exit;
end
else
begin
if FileSize(F)=0 then
begin
clrscr;
Write('Файл пуст!');
readkey;
Exit;
end
else
begin
view;
Writeln;
Writeln;
Write('Введитеномерудаляемойзаписи: ');
Readln(del);
Assign(G, '~temp~');
Rewrite(G);
Assign(F, name);
Reset(F);
i:=0;
while not EOF(F) do
begin
Read(F, data);
if i<>del then
Write(G, data);
inc(i);
end;
Close(F);
Erase(F);
ReName(G, name);
end;
end;
end;
{--------------------------------------------------------------------}
{--------------------------------------------------------------------}
procedure edit;
var
ed, i: integer;
data: Jeverly;
G: File of Jeverly;
begin
{$I-}
Assign(F, name);
Reset(F);
{$I+}
if IOResult<>0 then
begin
clrscr;
Write('А нечего редактировать!');
readkey;
Exit;
end
else
begin
if FileSize(F)=0 then
begin
clrscr;
Write('Файл пуст!');
readkey;
Exit;
end
else
begin
view;
Writeln;Writeln;
Write('Введитеномерредактируемойзаписи: ');
Readln(ed);
Assign(F, name);
Reset(F);
Seek(F, ed);
Read(F, data);
Writeln;
Write(data.isd, ' -> ');
Readln(data.isd);
Write(data.mat, ' -> ');
Readln(data.mat);
Write(data.cen, ' -> ');
Readln(data.cen);
Seek(F, ed);
Write(F, data);
Close(F);
end;
end;
end;
{--------------------------------------------------------------------}
{--------------------------------------------------------------------}
procedure sort;
var
i,j,count,sortPole: integer;
tmp: Jeverly;
data: array[0..20]of Jeverly;
G: File of Jeverly;
begin
{$I-}
Assign(F, name);
Reset(F);
{$I+}
if IOResult<>0 then
begin
clrscr;
Write('Сортировка невозможна!');
readkey;
Exit;
end
else
begin
if FileSize(F)=0 then
begin
clrscr;
Write('Файл пуст!');
readkey;
Exit;
end
else
begin
clrscr;
Writeln('До сортировки...');
Writeln;
view;
Writeln;
Writeln('Введите поле для сортировки:');
Writeln('1: Название 2: Material 3: Cena');
Write('---> ');
Readln(sortPole);
Assign(F, name);
Reset(F);
count:=0;
while not EOF(F) do
begin
Read(F, data[count]);
inc(count);
end;
Close(F);
dec(count);
case sortPole of
1: begin
for i:=0 to count do
for j:=i+1 to count do
if data[i].isd[1]>data[j].isd[1] then
begin
tmp:=data[i];
data[i]:=data[j];
data[j]:=tmp;
end;
end;
2: begin
for i:=0 to count do
for j:=i+1 to count do
if data[i].mat[1]>data[j].mat[1] then
begin
tmp:=data[i];
data[i]:=data[j];
end;
end;
3: begin
for i:=0 to count do
for j:=i+1 to count do
if data[i].cen>data[j].cen then
begin
tmp:=data[i];
data[i]:=data[j];
data[j]:=tmp;
end
end;
Elsebegin
Write('Такого поля не существует!');
Readkey;
Exit;
end
end;
ReWrite(F);
for i:=0 to count do
Write(F, data[i]);
Close(F);
Writeln;Writeln;
Writeln('После сортировки...');Writeln;
view;
Writeln;
Writeln;
Write('‘Сортировка закончена!!!');
Readkey;
end;
end;
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
procedure search;
var
i,error,tmp: integer;
searchString: string;
data: Jeverly;
begin
clrscr;
view;
Writeln;Writeln;
Write('Введите строку для поиска: ');
Readln(searchString);
Writeln;Writeln('Результаты писка:');
Writeln;
Writeln('#':3, 'Название':25, 'Материал':25, 'Цена ($)':10);
Writeln('------------------------------------------------');
Assign(F, name);
Reset(F);
i:=0;
while not EOF(F) do
begin
Read(F, data);
val(searchString,tmp,error);
if (data.isd=searchString) or (data.mat=searchString) or (data.cen=tmp) then
Writeln(i:3, data.isd:25, data.mat:25, data.cen:10);
inc(i);
end;
Close(F);
Readkey;
end;
{------------------------------------------------------------------------------}
end.
5. Тестирование
Раздел не начинают с рисунка. К нему долженбыть поясняющий текст, также как к таблицам
Рисунок 1 – Запрос поиска
Рисунок 2 – Запрос параметра поиска
7. Руководство пользователя
Для доступа к функциональным возможностям программы нужно воспользоваться одним из следующих вариантов: используя главное. Использование клавиш для обращения к отдельным функциям программы представлено в таблице 3.
Таблица 4. Сочетания клавиш для обращения к функциональным возможностям программы
Пункт меню | Сочетание клавиш |
Просмотр | 1 |
Добавить | 2 |
Удалить | 3 |
Редактировать | 4 |
Поиск | 5 |
Сортировать | 6 |
Выход | 0 |
8.Руководство программиста
Программный комплекс является гибким средством для управления базами данных, легко модифицируется для работы с базами данных, содержащими записи других структурных типов. Исполняемый файл программы имеет имя MAIN.
Заключение
Результатом разработки программного комплекса стало создание системы, способной вести учет большого числа ювелирных изделий. Поставленные в задании цели были достигнуты. Планы на реализацию были выполнены. Уровень качества и быстродействия соответствует предъявленным требованиям.
Информационно-поисковая система «Ювелирные изделия» - это удобное в использовании и в то же время мощное, функциональное и высоконадежное средство ведения коллекции программ.
Его применение не требует усилий со стороны пользователя и больших затрат ресурсов компьютера, что позволяет использовать его на любых компьютерах, в любых организациях, людьми любого возраста.
Выровнять по ширине
Список использованной литературы
1. В. В. Фаронов «TurboPascal 7.0» М.: «Нолидж», 2000г. – 576 с.: ил.
2. С. Немнюгин, Л. Перколаб «Изучаем Turbopascal» С-П.: ЗАО Издательский дом «Питер», 2003г. – 320 с.: ил.
3. О.А.Полубоярова «Конспект лекций по ТРПО» У-И.: «УИФКГТУ», 2006г. – 59с.: ил.
На защиту предоставишь всю литературу которой пользовалась