2.2. Цели создания подсистемы
“Информационно-поисковая система “Ювелирные изделия” создается с целью упрощения поиска и сортировки программного обеспечения.
3. Требования к структуре и функционированию системы
Поддержка информационной деятельности, при выполнении операций осуществляется прикладными модулями. Доступ к свойствам ИПС со стороны пользователя осуществляется через «Главное меню» программного продукта, основное назначение заключается в организации помощи пользователю в поиске нужного программного обеспечения.
Для обеспечения функционирования ИПС хранения данных должны быть реализованы следующие прикладные модули:
- модуль данных сведения о программном обеспечении. Сформулировать одно предложения без списка
3.2. Задачи и функции
Целью ИПС является автоматизация процессов, включающих в себя операции учета программных продуктов, более легкий и универсальный доступ к данным об этих продуктах; простое и удобное пользование программой. Необходимо реализовать в готовом программном продукте автоматизацию таких операций, как:
- формирование списка изделий;
- информация о стоимости ювелирных изделий;
- поиск по базе данных;
- сортировка;
- редактирование.
Комплекс технических средств (КТС) должен состоять из следующих видов аппаратного обеспечения:
- рабочая станция пользователя ИПС;
Сформулировать одно предложение без списка
Минимальные требования:
Вид аппаратного обеспечения | Процессор МГц | ОЗУ Мб | Жесткий диск | Дополнительные требования |
Рабочие станция пользователя | PentiumII (333 MHz) | 32 | 10 Мб | монитор“15” дюймов |
Оформить таблицу по гостам: заголовок, номер, название, шрифт (жирность, курсив убрать)
Программное обеспечение должно быть детально документированным, содержать в своем составе развитую систему подсказок, оперативной помощи и обеспечивать необходимый и достаточный набор операций для реализации основных функций, выделенных по функционально-технологическому принципу.
Прикладное ПО должно обеспечивать пользовательский интерфейс на русском языке.
абзацВ качестве операционной системы для рабочей станции пользователя ИПС нет строгих требований, в качестве системы управления базами данных используется BorlandPascal 7.0. В целях производственной необходимости требования к системному программному обеспечению по согласованию заказчика и исполнителя могут быть изменены с соответствующей корректировкой технического задания.
Выровнять по ширине
4. Текст программы текст программы оформить как приложение
4.1. Текст основной программы
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.Руководство программиста