Name - Имя рабочего файла.
N- Количество полей в рабочем файле.
Aon - Массив, в котором хранятся имена полей рабочего файла. Массив содержит столько элементов, сколько полей в рабочем файле.
Функция Exists(Fname:string1):boolean
Функция проверяет существование файла на диске.
Возвращает True, если файл существует, и False в противном случае.
Fname - Имя файла.
Процедура Check_begin
Процедура проверяет работоспособность программы.
Вначале проверяется количество свободной памяти, потом существование необходимых внутренних файлов системы.
Функция Vmenu(Size,Current, X1,Y1,Len,Mask:byte):integer
Функция обработки вертикального меню небольшого размера.
Используется, если все пункты меню помещаются на экране.Возвращает номер выбранного элемента.
Size - Размер меню по вертикали.
Current - Номер элемента, на котором вначале стоит указатель.
X1,Y1 - Координаты первого элемента.
Len - Длина элементов.
Mask - Переменная, показывающая, как изменять цвет фона и символа у выделенного элемента.
Процедура Translate(S:string;var Ns:string)
Процедура предназначена для расшифровывания паролей, считанных из файла паролей.
S - Зашифрованная строка.
Ns - Расшифрованная строка.
Процедура Input_key(var S:string;Ss:string;L:byte;W:settype)
Процедура создает на экране окно и считывает в нем с клавиатуры трочку. После этого процедура восстанавливает старое содержимое экрана.
S - Вводимая строка.
SS - Строка подсказки.
L - Максимальная длина строки.
W - Множество допустимых символо в строке.
Процедура Querry_parole
Запрашивает в начале работы пароли и по ним определяет статус пользователя и его полномочия.
Функция Is_number(S:string):boolean
Проверяет, является ли строка числом.
S - Проверяемаястрока.
Процедура Stringtotable(S:string;X,Y:integer;T:fieldtype)
Процедура помещает произвольную строку в таблицу по заданным координатам.
S - Строка.
X,Y - Координаты строки в таблице.
T - Таблица.
Процедура Memcopy(P1,P2:pointer;L:word)
Процедура копирует участок памяти.
P1 - Адрес источника.
P2 - Адрес приемника.
L - Длина участка.
Процедура Help(Index:integer)
Процедура активизируется по нажатию клавиши F1 и выдает контекстно-ориентированный Help.
Index - Номер контекста.
Функция StrtoDate(Str:string;varD:date):integer
Переводит дату из строковой записи во внутренний формат. Возвращает 0 в случае успеха. Str - Строка, содержащая дату.
D - Запись, содержащая дату после работы процедуры.
Функция Move_file(Source,Dest:string1):integer
Копирует файл. Возвращает 0 в случае успеха, -1 в случае нехватки памяти, -2 в случае ошибки чтения или записи на диск.
Source - Название исходного файла.
Dest - Имя нового файла.
Процедура Lines(T:fieldtype,R:rec;N,N1:integer)
Процедура разделяет таблицу на шапку и графы путем внесения в таблицу символов псевдографики. Используется при печати таблиц.
T - Имя таблицы.
R - Массив, хранящий описание структуры файла базы.
N - Количество столбцов в таблице.
N1 - Количество строк в таблице.
Функция Load_data_file(Fname:string1;D:date):integer
Функция ищет в архиве файл, связанный с ключом - датой и делает этот файл текущим.
Fname - Имя файла, в который нужно поместить файл из архива. D - Ключ-дата, по которой осуществляется поиск.
Процедура Good_morning(var D:string1)
Процедура приветствует пользователя при начале работы и просит подтвердить текущую дату. У пользователя есть возможность изменить ее, если она его чем-то не устраивает. В дальнейшем эта дата используется как значение по умолчанию при вводе полей типа "Дата".
D - Текущая дата в строковом виде.
Функция Writetable(Nl,Fp:integer;R:rec;Nr:integer; Fname:string;
Reclen:integer;N:integer;T:fieldtype):integer; Функция производит запись на диск таблицы. Возвращает 0 в случае успеха.
Nl - Номер строки таблицы, с которой производится запись.
Fp - Позиция в файле, с которой производится запись.
R- Массив, хранящий описание структуры таблицы.
Nr - Размер таблицы по вертикали.
Fname - Имя файла, в который необходимо записать таблицу.
Reclen - Длина записи файла в байтах.
N- Количество столбцов в таблице.
T- Имя таблицы.
Функция Readtable(Nl,Fp:integer;R:rec;var Nr:integer;Fname:string;
Reclen:integer;N:integer;T:fieldtype;
varEof:boolean):integer;
Функция производит чтение таблицы из файла. Возвращает 0 в случае успеха.
Nl - Номер строки таблицы, с которой производится запись.
Fp - Позиция в файле, с которой производится запись.
R- Массив, хранящий описание структуры таблицы.
Nr - Размер таблицы по вертикали.
Fname - Имя файла, в который необходимо записать таблицу.
Reclen - Длина записи файла в байтах.
N- Количество столбцов в таблице.
T- Имя таблицы.
Eof - Признак конца файла.
Функция Edittable(R:rec;Fname,D_date:string;T:fieldtype;
var Win:windowtype;Nw:integer;var Numberlines:integer;
N,Maxlines,Reclen:integer;var Filepos:longint;
Eof:boolean):integer;
Функция редактирует базу, находящуюся в таблице. При редактировании возможно изменять размеры окна, в котором происходит редактирование. По нажатию клавишы F1 происходит выдача контекстно оринтированной помощи. Функция автоматически сохраняет базу при выходе из нее. R - Массив, хранящий сведения о структуре таблицы.
Fname - Имя файла, с которым связана таблица.
D_date- Дата, использующаяся по умолчанию при вводе.
T - Имя таблицы.
Win - Запись, в которой хранятся сведения об окне, в котором находится таблица.
Nw - Номер этого окна.
Numberlines - Число информационных строк в таблице.
N - Число столбцов в таблице.
Maxlines - Максимальное число строк, которое может находиться в таблице.
Reclen- Длина записи в файле данных в байтах.
Filepos - Позиция в файле, на которой происходит редактирование.
Eof - Признак конца файла данных.
Процедура Save_data_file(Fname:string1;D:date)
Процедура записывает файл данных в архив, связывая его с ключом-датой.
Fname - Имя файла данных.
D - Дата-ключ.
Процедура Printtable(T:fieldtype;Fname:string1;N:integer)
T - Таблица.
Fname - Имя файла.
N - Длина таблицы по вертикали.
Процедура Salary(D:date)
Вычисляет зарплату за текущий месяц для каждого сотрудника, описанного в файле сотрудников, рассчитывает все начисления и взыскания и создает расчетную ведомость.
D - Текущая дата.
Функция Check_Salary2(var N:longint):integer
Проверяет в файле сотрудников соответствие окладов фонду заработной платы. Возвращает 0, если все в порядке.
N - Фонд заработной платы.
Функция Check_Salary1( var Errorline:integer):longint
Функция проверяет соответствие окладов сотрудников разрядной сетке. Если все в порядке, возвращает 0.
Errorline - Номер ошибочной записи.
Процедура Global(First:integer)
Осуществляет работу с базами. Создает таблицы и связывает их с файлами базы данных.
First - Номер в каталоге первоначального файла в каталоге.
Процедура Saldo
Вычисляет сальдо по всем счетам, руководствуясь записями в главной книге.
Процедура Read_min_salary
Запрашивает у пользователя значение минимальной заработной платы. В качестве значения по умолчанию используется предыдущее значение минимальной зарплаты. Если до этого минимальная зарплата не вводилась, то по умолчанию она равна 0.
Процедура Search(Tn:string1)
Осуществляет поиск в записной книжке записей о выдаче мат. помощи конкретному лицу.
Tn - Табельный номер конкретного лица.
Процедура Copy_book
Осуществляет работу с записной книжкой бухгалтера.
Процедура Great_book
Процедура осуществляет работу с Главной книгой, внесение туда своевременных изменений.
Процедура Saldo_work
Процедура подсчитывает сальдо счетов и позволяет пользователю оперативно просматривать их. Предусмотрена возможность сохранять в архиве сальдо за долгий срок.
Процедура salary_work.
Осуществляет работу с заработной платой сотрудников, то есть формирует расчетную ведомость, позволяет ее просматривать, записывать в архив и считывать из архива, печатать на принтере.
ГЛАВА 3
КАЧЕСТВО ПРОГРАММНОГО ИЗДЕЛИЯ ОСНОВНЫЕ ПОКАЗАТЕЛИ КАЧЕСТВЕННОГО ПРОГРАММНОГО ИЗДЕЛИЯ
3.1 Надежность программного изделия.
3.1.1 Что называется надежностью.
Одной из важнейших характеристик качества программного изделия является надежность.
Надежность - это свойство ПИ сохранять работоспособность в течение определенного периода времени, в определенных условиях эксплуатации с учетом последствий для пользователя каждого отказа. Работоспособным называется такое состояние ПИ, при котором оно способно выполнять заданные функции с параметрами, установленными требованиями технического задания (ТЗ). С переходом ПИ в неработоспособное состояние связано событие отказа. Причиной отказа ПИ является невозможность его полной проверки в процессе тестирования и испытаний. При эксплуатации ПИ в реальных условиях может возникнуть такая комбинация входных данных, которая вызывает отказ. Таким образом, работоспособность ПИ зависит от входной информации, и чем меньше эта зависимость, тем выше уровень надежности. Для оценки надежности используются три группы показателей: качественные, порядковые и количественные. Рассмотрим основные количественные показатели надежности ПИ.
1. Вероятность безотказной работы Р(t ) - это вероятность того, что в пределах заданной наработки отказ системы не возникает. Наработка - продолжительность, или объем работы:
P(t ) = P(t >= t ), где t - случайное время работы ПИ до отказа; t - заданная наработка.
2. Вероятность отказа - вероятность того, что в пределах заданной наработки отказ системы возникает. Это показатель, обратный предыдущему.
Q(t ) = 1 - P(t ).
3. Интенсивность отказов системы (t) - это условная плотность вероятности возникновения отказа ПИ в определенный момент времени при условии, что до этого времени отказ не возник.
(t) = f(t) / P(t), где f(t) - плотность вероятности отказа в момент времени t.
dQ(t) d d
f(t) = ------ = ---- [1 - P(t)] = - ---- P(t).
dtdtdt
Существует следующая связь между (t) и P(t):
t
P(t) = exp( - (t)dt ).
0
В частном случае при = const
P(t) = exp( - t ).
Если в процессе тестирования фиксируется число отказов за определенный временной интервал, то (t) - число отказов в единицу времени.
4. Средняя наработка до отказа T - математическое ожидание времени работы ПИ до очередного отказа