Смекни!
smekni.com

Разработка информационно-поисковой системы Ювелирные изделия (стр. 2 из 3)

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.Руководство программиста