Кафедра информатики
КУРСОВАЯ РАБОТА
ИНФОРМАЦИОННО- ПОИСКОВАЯ СИСТЕМА
«ЮВЕЛИВНЫЕ ИЗДЕЛИЯ»
Выполнила: студентка. гр. автоматизаторов
Проверил: Преподователь
Усть-Илимск 2007
Перв. примен.
|
Федеральное агентство по образованию
Филиал Федерального государственного учреждения
высшего профессионального образования
«Сибирский федеральный университет»
в г. Усть-Илимске
Кафедра информатики
ЗАДАНИЕ
На курсовую работу
По дисциплине: «Технология программирования»
Студент:
Задание: Разработать информационно-поисковую систему «Ювелирные изделия». Средством разработки является язык программирования Pascal.
Дата выдачи: 12.09.06. Срок сдачи: 4.12.06
Календарный план
№ |
Наименование разделов |
Сроки |
Процент выполнения |
Дата контроля |
Начало |
Конец |
План |
Факт. |
1 |
Выбор темы. Составление плана работы |
12.09.06 |
18.09.06 |
5% |
2 |
Создание технического задания |
18.09.06 |
02.10.06 |
10% |
3 |
Создание теоретического материала |
10% |
4 |
Разработка программы. Тестирование и отладка |
25.09.06 |
13.11.06 |
50% |
5 |
Оформление отчета |
13.11.06 |
04.12.06 |
15% |
6 |
Норма-контроль |
04.12.06 |
11.12.06 |
5% |
7 |
Защита |
5% |
Задание принял:_______
Оценка________ Руководитель:________ «__»_______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.2. Задачи и функции
Целью ИПС является автоматизация процессов, включающих в себя операции учета программных продуктов, более легкий и универсальный доступ к данным об этих продуктах; простое и удобное пользование программой. Необходимо реализовать в готовом программном продукте автоматизацию таких операций, как:
- формирование списка изделий;
- информация о стоимости ювелирных изделий;
- поиск по базе данных;
- сортировка;
- редактирование.
3.3 Требования к техническому обеспечению
Комплекс технических средств (КТС) должен состоять из следующих видов аппаратного обеспечения:
- рабочая станция пользователя ИПС;
Сформулировать одно предложение без списка
Минимальные требования:
Вид аппаратного обеспечения
|
Процессор МГц
|
ОЗУ Мб |
Жесткий диск
|
Дополнительные требования
|
Рабочие станция пользователя
|
PentiumII
(333 MHz)
|
32
|
10 Мб
|
монитор“15” дюймов
|
Оформить таблицу по гостам: заголовок, номер, название, шрифт (жирность, курсив убрать)
Программное обеспечение должно быть детально документированным, содержать в своем составе развитую систему подсказок, оперативной помощи и обеспечивать необходимый и достаточный набор операций для реализации основных функций, выделенных по функционально-технологическому принципу.
Прикладное ПО должно обеспечивать пользовательский интерфейс на русском языке.
абзацВ качестве операционной системы для рабочей станции пользователя ИПС нет строгих требований, в качестве системы управления базами данных используется 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с.: ил.
На защиту предоставишь всю литературу которой пользовалась
|