Меню
  Список тем
  Поиск
Полезная информация
  Краткие содержания
  Словари и энциклопедии
  Классическая литература
Заказ книг и дисков по обучению
  Учебники, словари (labirint.ru)
  Учебная литература (Читай-город.ru)
  Учебная литература (book24.ru)
  Учебная литература (Буквоед.ru)
  Технические и естественные науки (labirint.ru)
  Технические и естественные науки (Читай-город.ru)
  Общественные и гуманитарные науки (labirint.ru)
  Общественные и гуманитарные науки (Читай-город.ru)
  Медицина (labirint.ru)
  Медицина (Читай-город.ru)
  Иностранные языки (labirint.ru)
  Иностранные языки (Читай-город.ru)
  Иностранные языки (Буквоед.ru)
  Искусство. Культура (labirint.ru)
  Искусство. Культура (Читай-город.ru)
  Экономика. Бизнес. Право (labirint.ru)
  Экономика. Бизнес. Право (Читай-город.ru)
  Экономика. Бизнес. Право (book24.ru)
  Экономика. Бизнес. Право (Буквоед.ru)
  Эзотерика и религия (labirint.ru)
  Эзотерика и религия (Читай-город.ru)
  Наука, увлечения, домоводство (book24.ru)
  Наука, увлечения, домоводство (Буквоед.ru)
  Для дома, увлечения (labirint.ru)
  Для дома, увлечения (Читай-город.ru)
  Для детей (labirint.ru)
  Для детей (Читай-город.ru)
  Для детей (book24.ru)
  Компакт-диски (labirint.ru)
  Художественная литература (labirint.ru)
  Художественная литература (Читай-город.ru)
  Художественная литература (Book24.ru)
  Художественная литература (Буквоед)
Реклама
Разное
  Отправить сообщение администрации сайта
  Соглашение на обработку персональных данных
Другие наши сайты
Приглашаем посетить
  История (med.niv.ru)

   

АРМ для бухгалтерии ВУЗа

АРМ для бухгалтерии ВУЗа

ОГЛАВЛЕНИЕ

ГЛАВА 1

1. 1 Постановка задачи и ее экономическая сущность

1. 1. 1 Формальная постановка задачи расчета заработной платы

1. 2. 1 Сущность АРМ

1. 2. 2 Типовая структура АРМ

1. 2. 3 Классификация АРМ

1. 2. 4 Выбор средств для реализации

ГЛАВА 2

2. 2 Структура комплекса АРМ "Бухгалтер»

2. 3 Схема модуля вычисления заработной платы

2. 4 Описание модулей программы

ГЛАВА 3

3. 1 Надежность программного изделия

3. 1. 1 Основные определения

3. 2 Эффективность программного изделия

3. 2. 2 Оценка эффективности программного комплекса

3. 3 Тестирование комплекса

Основные обозначения

Список литературы

Очевидно, что в работе бухгалтерии профсоюзного комитета ВУЗа есть много технической, рутинной работы, которая хорошо поддается автоматизации. Хранение документов в виде компьютерных данных на диске безусловно более целесообразно, чем хранение их в классическом виде, то есть в виде бумаг. Значительно упрощается поиск нужного документа, имеется возможность хранить данные за много лет и не путаться в них, сильно упрощается изменение любого документа, составление многочисленных справок.

Всю работу бухгалтерии можно разделить на несколько основных подпунктов:

1. Работа со справочной и нормативной информацией. В качестве основных тут можно отметить справочник различных начислений сотрудникам, справочник сотрудников с хранящимися в нем фамилией сотрудника, его табельным номером, окладом,полем, показывающим, является ли он членом профсоюза, обоснованием оклада, справочник налогов с хранящимися названием и размером налога, справочником по тарифной

сетке, и другие.

Необходимо поддерживать своевременное изменение этой информации, организовать гибкую систему справок.

2. Ведение записной книжки бухгалтера. Эта книжка как бы дублирует Главную книгу и служит для контроля. В ней отражаются любой приход или расход денег. По этой книге каждый месяц необходимо подводить баланс и проверять, сколько денег осталось на каждом из счетов.

3. Расчет платежной ведомости организации. При подсчете заработной платы необходимо учитывать файл, в котором хранятся начисления сотрудникам за почасовую работу. Следует автоматизировать вычитание разнообразных налогов, учитывать льготы различным категориям сотрудников. Система должна следить за фондом заработной платы, автоматически предупреждать пользователя при перерасходе фонда, и наоборот, учитывать экономию фонда и учитывать эту экономию в дальнейшем. Программа должна тщательно документировать все свои действия и выдавать отчеты, по которым можно было всегда ревизовать ее деятельность.

4. Ведение файла, в котором отражается выдача различных льгот в подведомственной организации. Должно быть возможно путем несложного запроса выяснить, сколько и каких льгот получал каждый конкретный сотрудник за какой-то период времени.

1. 1. 1. Формальная постановка задачи расчета заработной платы.

----------------¬ Фонд

¦Государственный¦ зарплаты

¦Комитет +------¬ Профсоюзные --------------¬

¦по народному ¦¦ взносы ¦Банк ¦

¦образованию ¦¦ -------------+-------------+--¬

¦ ¦¦ ¦¦счет профкома¦ ¦

¦ ¦¦ ¦+-------------+ ¦

L----------------¦ ¦¦ ¦ ¦

¦ ¦L-------------- ¦

¦ ¦ ¦

¦МЭСИ +--------¬ ¦

¦ ¦Профком +------------------

L-----------+--------- Фонд зарплаты

профкома

N1

K = 1% * ЗП[i] (1)

i=1

где К - сумма проф. взносов, поступающих на счет МЭСИ.

N1 - количество сотрудников института - членов профсоюза.

ЗП[i] - Заработная плата i-го сотрудника.

i1

> K NП (2)

(Перевод со счета МЭСИ на счет профкома)

где K - проф. фонд в банке.

K ---> K[mi] - Сохранение фонда за каждый месяц.

K - Фонд зарплаты профкома.

Кmin = ((1/3)*K[mi-2]+(1/3)*К[mi-1]+(1/3)*K[mi])/3 (3) _

Kmin - Минимальная граница фонда заработной платы. _

Кmax - Максимальная граница фонда заработной платы.

Kmax = Kmin + W[mi] * (1/3) (4)

W[mi] = Внебюджетные поступления.

_ _ _

K = K - 0. 036*K - 0. 26*0. 054*K (5)

Отчисления на медицинское страхование и социальное страхование.

N2

K >Q[i](6)

i=1

Q[i] - оклад i-го сутрудника профкома.

N2 - Количество сотрудников профкома.

Q[i]>Q~[i] (7)

Q`[i] - Оклад, полагающийся i-му сотруднику по его разряду.

Если (6) или (7) не выполняются, то профсоюзный комитет не может содержать столько сотрудников.

M[mi,k]

Q1[k] = Q[k] + P[k,j] (8)

j=1

P[k,j] - j-е начисление k-му сотруднику.

M[mi,k] - Количество начислений k-му сотруднику в mi-ом месяце.

Q2[k] = Q1[k] -H[k,j] (9)

j=1

Q1[k] - Промежуточное значение - оклад k-го сотрудника вместе с начислениями

P[k,j] - j-е начисление k-му сотруднику.

M[mi,k] - Количество начислений k-му сотруднику в mi-ом месяце.

Q2[k] - Промежуточное значение - оклад к-го сотрудника вместе с начислениями и удержаниями.

H[k,j] - j-е удержание с k-го сотрудника.

T[mi,k] - Количество удержаний с k-го сотрудника в mi-ом месяце.

U[k]

S[k] = Q2[k] - V[j]*Q2[k] (10) *

J=1

S[k] - Окончательная сумма для выдачи k-му сотруднику.

V[j] - Значение J-го налога.

U[k] - Множество налогов, применимых к k-му сотруднику.

* - вообще говоря, U[k] может формироваться достаточно сложным образом, но в конкретном случае оно отличается от U (всего множества налогов) только подоходными налогами в зависимости от совокупного дохода k-го сотрудника за предыдущий год.

1. 1. 2 Требования к информационной технологии. Вся система должна обладать надежностью, необходимо предусмотреть самые неожиданные действия пользователя, и, если они неправильны, программа должна объяснить, как именно сделать то, чего хочет пользователь.

Так как программа имеет дело с материальными ценностями, необходимозащищать апрограмму и данные от несанкционированного доступа и изменения. Специфика работы бухгалтерии показывает, что удобнее всего это сделать при помощи двухуровневой системы паролей. Один пароль находится у председателя профкома, второй - у бухгалтера. При введении одного из паролей система должна позволять просматривать, но не изменять данные, при двух правильно введенных паролях - позволять и просматривать, и изменять данные. Если ни один пароль не был введен правильно, то система должна дентифицировать пользователя как "чужого" и отказаться с ним работать.

На современном этапе автоматизации управления общественным производством наиболее перспективным является автоматизация планово-управленческих функций на базе персональных ЭВМ, установленных непосредственно на рабочих местах специалистов. Эти системы получили широкое распространение в организационном управлении под названием автоматизированных рабочих мест(АРМ). Специфика деятельности бухгалтерии профсоюзного комитета ВУЗа позволяет выбрать методом решения создание автоматизированного рабочего места(АРМ). Это позволит использовать систему людям, не имеющим специальных знаний в области программирования, и одновременно позволит дополнять систему по мере надобности.

1. 2. 1 Сущность АРМ.

Автоматизированное рабочее место (АРМ) можно определить как комплекс информационных ресурсов, программно-технических и организационно-технологических средств индивидуального и коллективного пользования, объединенных для выполнения определенных функций профессионального работника управления.

С помощью АРМ специалист может обрабатывать тексты, посылать и принимать сообщения, хранящиеся в памяти ЭВМ, участвовать в совещаниях, организовывать и вести личные архивы документов, выполнять расчеты и получать готовые результаты в табличной и графической форме. Обычно процессы принятия решений и управления в целом реализуются коллективно, но необходима проблемная реализация АРМ управленческого персонала, соответствующая различным уровням управления и реализуемым функциям. Подготовка информации для принятия решений, собственно принятие решений и их реализация могут иметь много общего в разлиных экономических службах предприятия. Также многие функции являются являются типовыми для многих предприятий. Это позволяет создавать гибкие, перестраиваемые структуры управления. В основу конструирования АРМ положены следующие основные принципы:

1. Максимальная ориентация на конечного пользователя, достигаемая созданием инструментальных средств адаптации АРМ к уровню подготовки пользователя, возможностей его обучения и самообучения.

3. Проблемная ориентация АРМ на решение определенного класса задач, обьединенных общей технологией обработки информации, единством режимов работы и эсплуатации, что характерно для специалистов экономических служб.

4. Модульность построения, обеспечивающая сопряжение АРМ с другими элементами системы обработки информации, а также модификацию и наращивание возможностей АРМ без прерывания его функционирования.

5. Эргономичность, то есть создание для пользователя комфортных условий труда и дружественного интерфейса общения с системой.

1. 2. 2. Типовая структура АРМ. Создание АРМ для систем организационного управления предполагает проведение их структуризации и параметризации на стадии проектирования. Структуризация АРМ включает описание среды функционирования: обеспечивающих и функциональных подсистем и связей между ними, интерфейсов с пользователем и техническими средствами, средств информационного и программного обеспечения Параметризация предусматривает выделение и исследование параметров

выделение и исследование параметров технических, программных и информационных средств, удовлетворяющих требованиям и ограничениям, сформированным при структуризации Структурно АРМ включает функциональную и обеспечивающую части.

Функциональная часть определяет содержание конкретного АРМ и включает описание совокупности взаимосвязанных задач, отражающих особенности автоматизируемых функций деятельности пользователя. В основе разработки функционального обеспечения лежат требования пользователя к АРМ и его функциональная спецификация, включающая

описание входной и выходной информации, средств и методов достижения достоверности и качества информации, применяемых носителей, интерфейсов связи. Обычно сюда же относятся описания средств защиты от несанкционированного доступа, восстановления системы в сбойных ситуациях, управление в нестандартных случаях. Обеспечивающая часть включает традиционные виды обеспечения: информационное, программное, техническое, технологическое, и другие. Информационное обеспечение включает описание организации информационной базы, регламентирует информационные связи, предопределяет состав и содержание всей системы информационного отображения. Программное обеспечение АРМ подразделяется на общее и функциональное. Общее программное обеспечение поставляется в комплекте с ПЭВМ и включает операционные системы, прикладные программы, расширяющие возможности операционных систем, программные средства диалога и другие. Общее ПО предназначено для управления работой процессора, организации доступа к памяти,

периферийным устройствам, запуска и управления процессором, выполнения прикладных программ, обеспечения выполнения программ на языках высокого уровня.

Функциональное программное обеспечение предназначено для автоматизации решения функциональных задач, включает универсальные программы и функциональные пакеты. При проектировании этих программных средств необходимо соблюдать принципы ориентации разработки на конкретного пользователя. Совокупность требований к программному и техническому обеспечению отображается на множестве функций пользователя, и это позволяет решать проблему профессиональной ориентации на пользователя.

Техническое обеспечение АРМ представляет собой комплекс технических средств обработки информации на базе ПЭВМ, предназначенный для автоматизации функций специалиста в предметной и проблемной областях его профессиональных интересов.

АРМ специалиста сферы организационного управления обычно базируется на ПЭВМ индивидуального или коллективного пользования. Технологическое обеспечение АРМ предназначено для организации технологического процесса использования АРМ применительно к комплексу решаемых задач, соответствующих функциям специалиста.

выходных документов. В связи с тем,

что пользователь является, как правило, участнирком некоторого коллектива и выполняет в нем определенную работу, необходимо предусмотреть технологическое взаимодействие исполнителей при решении задач, обеспечить условие совместной работы

специалистов. Эти положения должны отражаться в квалификационных требованиях и должностных инструкциях пользователей АРМ.

1. 2. 3 Классификация АРМ. В основу классификации АРМ может быть положен ряд классификационных признаков. С учетом областей применения возможна классификация АРМ по функциональному признаку :

1. АРМ административно - управленческого персонала;

2. АРМ проектировщика радиоэлектронной аппаратуры, автоматизированных систем управления и т. д.

3. АРМ специалиста в области экономики, математики, физики, и т. д.

первом случае АРМ реализуется на обособленной ПЭВМ, все ресурсы который находятся в монопольном распоряжении пользователя. Такое рабочее место ориентировано на решение нестандартных, специфических задач, и для его реализации применяются ЭВМ небольшой мощности.

При групповом режиме эсплуатации на базе одной ЭВМ реализуется несколько рабочих мест, обьединенных по принципу административной или функциональной общности. В этом случае требуются уже более мощные ЭВМ и достаточно сложное программное обеспечение. Групповой режим эсплуатации обычно используется для организации распределенной обработки данных в пределах отдельного подразделения или организации для обслуживания стабильных групп специалистов и руководителей.

Сетевой режим эксплуатации АРМ обьединяет достоинства первого и второго. В этом случае каждое АРМ строится на базе одной ЭВМ, но в то же время имеется возможность использовать некоторые общие ресурсы вычислительной сети.

Одним из подходов к классификации АРМ является их систематизация по видам решаемых задач. Возможны следующие группы АРМ:

1. Для решения информационно-вычислительных задач;

2. Для решения задач подготовки и ввода данных;

3. Для решения информационно-справочных задач;

5. Для решения задач статистической обработки данных;

Обоснованное отнесения АРМ к определенной группе будет способствовать более глубокому и тщательному анализу, возможности сравнительной оценки различных однотипных АРМ с целью выбора наиболее предпочтительного.

код, а во-вторых, позволит сделать систему открытой и впоследствии дополняемой. Поскольку вся обработка ведется внутри системы, представляется нецелесообразным использовать какой-либо стандартный формат данных, такой, как, например, DBASE-формат. Использование этих форматов сильно замедлит работу с данными, увеличит их обьем и не даст никаких очевидных преимуществ.

Для упорядочения файлов системы представляется разумным создать файл-каталог системы, в котором будет храниться имя каждого файла базы, его структура. Это позволит жестко не встраивать в систему форматы файлов, то есть позволит изменять форматы файлов, не перекомпилируя системы. Для системы необходимы поля трех типов - числовой, строковый и дата. В файле-каталоге при перечислении полей указывается тип поля и максимальный размер этого поля при выводе. В систему имеет смысл встроить систему " Архив". Так как данные системы нужно хранить длительное время, то, чтобы не загружать данными файлы , имеет смысл базу разделить на текущие данные, которые подвергаются изменению, и архив, который не изменяется. Текущий файл можно записать в архив, поставив ему в соответствие уникальный ключ-дату. Таким образом, ситуация напоминает обычную картотеку - данные делятся на текущие, лежащие на столе, и архив, который лежит в папках на полках.

ГЛАВА 2

2. 1 Сценарий диалога с системой.

При правильном вводе одного из паролей пользователь получает доступ к просмотру, но не изменению данных системы. Если оба пароля введены правильно, то система позволяет просматривать и изменять данные, если же оба пароля введены неправильно, то система отказывает пользователю в доступе.

Непосредственно после ввода паролей на экране появляется приветствие пользователя и запрос сегодняшней даты. Эта дата используется по умолчанию при вводе в полях, имеющих тип "Дата". В этом запросе пользователь может либо подтвердить ту дату, которая стоит на машине по умолчанию, нажатием "Enter" либо ввести новую дату, если дата на машине установлена неправильно. После этого на экране высвечивается главное меню системы ( Экран 1). При помощи стрелок управления курсором пользователь выбирает интересующий его пункт. Выбор первого пункта означает, что пользовательжелает просмотреть нормативно - справочную информацию, использующуюся в системе. При

выборе этого пункта на экране высвечивается меню нормативно-справочной информации ( Экран 2). В зависимости от выбора пользователя ему предоставляется возможность просмотреть и редактировать тот или иной справочник. Отмена режима справочников осуществляется клавишей ESC. В этом случае система возвращается в предыдущее меню.

Пользователь может вводить новые данные в записную книжку( выбор первого пункта), или осуществлять поиск в текущих данных (выбор пункта 2). В этом режиме пользователь вводит табельный номер интересующего его сотрудника и получает список всех выданных этому сотруднику льгот. Выход из режима осуществляется клавишей ESC. Выбор третьего пункта дает возможность пользователю рассчитать заработную плату сотрудников профкома( Экран 4). В этом режиме пользователь может просматривать и редактировать файл начислений (выбор первого пункта меню), файл взысканий с сотрудников (второй пункт), список сотрудников с окладами (третий пункт), просматривать общий фонд заработной платы( четвертый пункт), а также поэтапно рассчитывать заработную плату. Сначала пользователь может посчитать оклад сотрудников вместе со всеми начислениями (пятый пункт). При этом система запросит у него дату, которая показывает, за какой месяц начисляется зарплата. Он может также посчитать все взыскания с сотрудников за этот месяц. Для этого пользователь должен выбрать 6-й пункт меню и ввести дату, за которую считаются взыскания. Пользователь может отдельно посчитать налоги, вычитаемые с заработной платы (седьмой пункт) или получить сразу полную ведомость. При выборе девятого пункта система подсчитывает экономию фонда заработной платы в каком-дибо году. Выход из режима осуществляется клавишей ESC. Выбирая четвертый пункт Главного меню, пользователь выбирает работу с ведомостью заработной платы ( Экран 5). В этом режиме пользователь может просмотреть ведомость, причем если ведомость не была рассчитана, то система рассчитает ее, распечатать ведомость, занести ее в архив, найти ведомость в архиве. Выход из режима осуществляется клавишей ESC. При выборе пятого пункта меню пользователь получает возможность работать с банковскими документами ( Экран 6). Он может вводить и просматривать платежные поручения, банковские выписки, банковские обьявления на взнос. При выборе шестого пункта пользователь выбирает работу с главной книгой бухгалтера ( Экран 7). В этом режиме он может приказать системе добавить в главную книгу данные по последней ведомости заработной платы, добавить данные по последним платежным поручениям, просмотреть

главную книгу. Выбор седьмого пункта меню дает возможность пользователю просмотреть

сальдо счетов.( Экран 8) Для того, чтобы система подсчитывала сальдо по какому-нибудь конкретному счету, он должен находиться в списке счетов. В этом режиме пользователь может рассчитать текущее сальдо, просмотреть его, занести сальдо в архив или найти его в архиве. При поиске или занесении в архив сальдо у пользователя спрашивается уникальный ключ-дата, который будет будет связан с этим сальдо. В режиме редактирования любого файла данных системы пользователь имеет возможность получить справку об активных в данный момент клавишах с помощью нажатия F1. Также пользователь может изменить по своему выбору размеры и местоположение на экране окна, в котором происходит редактирование файла данных. Пользователь может одновременно открыть еще несколько файлов данных одновременно, если ему нужно просмотреть какие-то данные прямо в процессе редактирования. Пример: Пользователь вводит очередные начисления сотрудникам. При вводе табельного номера он забывает, какой у интересующего его сотрудника табельный номер. В этом случае ему нужно нажать клавишу F10, выбрать из предлагаемого списка ( Экран 9 ) пункт " Cписок сотрудников", и на экране появится окно с номером 2, в котором будет отражаться файл сотрудников. Теперь пользователь должен нажать Ctrl - F5 для перехода в режим изменения размера окна, расположить первое и второе окна так, чтобы они не перекрывались, и продолжать вводить файл начислений. При этом список сотрудников с их фамилиями будут у него перед глазами.

2. 2 Структура программного комплекса.

---------------¬

¦ ¦

¦ main ¦

¦ ¦

L-----T---------

¦

---------------T-------T-------T+------T--------T---------T----------¬

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦

¦ ¦ Sprwork ¦ ¦ ¦ saldowork¦¦ ¦ Regimes ¦ ¦ ¦ bank ¦

---+--T--T-T--T-¬¦ ------+-----¬¦--------+----¬ ¦ ----+-------¬ ¦

1 2 3 4 5 6 7¦ ¦ Greatbook ¦¦¦ salarywork ¦ ¦ ¦ Copybook ¦ ¦

¦ L----T-------¦L-----T------- ¦ L------T----- ¦

28 8 8 14 12 13 ¦8 14 22 23 24 ¦

--T-T+-T--T--T---¬ ¦

2 9 8 10 11 12 13 145 ¦

1 ¦ 3 4 ¦ 8

¦ ¦ ¦ ¦ ¦

¦ ¦ ¦ ¦ ¦

---+-------¬ -----+--------¬ -----+-----¬ --+--------¬ ----------¬

¦ loadcrc ¦ ¦checkbegin ¦ ¦ ¦ ¦ ¦ ¦ good ¦

¦ ¦ ¦ ¦ ¦querryparo¦ ¦creatcrc ¦ ¦morning ¦

L----------- L-------------- L----------- L----------- L----------

¦6 ¦7 ¦8 ¦9

¦ ¦¦¦

¦loadwindow ¦ ¦savewindow ¦ ¦ global ¦¦ salary ¦

¦ ¦ ¦ ¦ ¦¦¦¦

L-------------- L------------ L-----T-------L-------------

¦

¦ ¦

¦ ¦ ¦ 15 16 17 18 ¦ ¦21 ¦

¦ ¦ ¦ 19 20 ¦

--+----------¬ --------+-------¬---+------------¬ -----+-------¬

¦checksalary1¦ ¦Loaddatafile ¦¦savedatafile ¦ ¦ inputkey ¦

L------------- L----------------L---------------- L-------------

15¦ 16¦ 17¦ 18¦

¦ ¦ ¦ ¦

-------+---------¬ ------+------¬ --------+--¬ +----------¬

19¦ 20¦ 21¦----+--T----¬

¦ ¦ ¦ 17 25 16 ¦

----+---------¬ ----+---------¬ -----+--------¬ 26

¦ printtable ¦ ¦ creatfield ¦ ¦ clearfield ¦

L-------------- L-------------- L--------------

22¦ 23¦ 24¦ 25 ¦ 26¦

¦ ¦¦ ¦¦

----+--------¬ ----+----¬ -----+-----¬ -----+-------¬ ------------¬

¦ add ¦ ¦ sub ¦ ¦ nalogs ¦ ¦ help ¦ ¦editwindow ¦

L------------- L--------- L----------- L------------- L------------

27¦28

¦ ¦

¦ search ¦¦ great ¦

¦

--------+-------¬

¦открыть f1,f4 ¦

¦n = fsize (f1) ¦

6 ¦

¦ конец файла? +-------

L------T---------

¦

-------+-----------¬

¦ считываем в маs ¦

¦

-------+--------¬

L------T---------

--------+-------¬

¦открываем файл ¦

¦начислений F2 ¦

¦ ¦

L-------T--------

¦

-------+----¬

¦ конец f2 +---------------------¬

L------T----- ¦

-------+------------T----¬ ¦

¦cчитываем из F2 rr ¦ ¦ ¦

-----------+---------¬ нет ¦ ¦

¦ mas. tab = rr. tab?+-------- ¦

L----------T---------- ¦

¦да¦

-----------+--------------¬ ¦

¦ inc(ww ,rr. sum)¦ ¦

L----------T--------------- ¦

¦ ¦

---------+---------T-----------------

L------T------------

¦

¦

-------+--------¬

¦ конец F3+-----------------¬

-------+------------T---¬ ¦

¦cчитываем из F3 rr ¦ ¦ ¦

L------T------------- 8 ¦

2 3

2 8 3

¦ mas. tab = rr. tab?+-------- ¦

¦да¦

-----------+--------------¬ ¦

¦ inc(xx,rr. sum) ¦ ¦

L----------T--------------- ¦

¦ ¦

+---------------------------

--------+-------------¬

¦s. name = mas. name ¦

¦s. plus = ww ¦

¦s. minuis = xx ¦

L--------T-------------

¦

------------+------------¬ нет

¦ есть ли декларация? +------¬

L-----------T-------------¦

¦ ¦

L-----T---------

¦4

4

¦

--------------+-------------¬ да -----------------------¬

< 10000000 +-----+ s. pn =(s. okl+ ww - +-¬

L-------------T-------------- L----------------------- ¦

--------------+----------¬ ¦

¦ s. pn = (s. okl+ ww - ¦ ¦

¦ - xx -¦ ¦

¦ +100000 ¦ ¦

L-------------T----------- ¦

¦ ¦

+---------------------------------------------

----------+--------------¬

¦s. penf = (s. okl+ ww - ¦

¦- xx)*0. 01 ¦

L---------T---------------

¦

---------+-------------------¬

¦-s. pn - p. penf ¦

L--------T--------------------

---------+-------------------¬

¦ запись s ¦

---------------

¦7

-----------+-------¬

¦ конец ¦

2. 4 Описание mодулей и процедур программы.

---Главная программа

¦

¦

+- работа со справочниками------------------------¬

¦ ¦

+- работа с записной книжкой ---------------------¬¦

¦ ¦¦

+- вычисление заработной платы ------------------¬¦¦

¦¦¦¦

+- операции с расчетной ведомостью ------------¬ ¦¦¦

¦ ¦ ¦¦¦

+- работа c банковскими документами-----------¬¦ ¦¦¦

¦ ¦¦ ¦¦¦

+- работа с главной книгой-------------------¬¦¦ ¦¦¦

¦ ¦¦¦ ¦¦¦

¦¦¦¦ ¦¦¦

¦¦¦¦ ¦¦¦

подсчет сальдо -+¦¦¦ ¦¦¦

просмотр сальдо -+¦¦¦ ¦¦¦

global¦¦¦¦ ¦¦¦

savedatafile ¦¦¦¦ ¦¦¦

чтение сальдо из архива -+¦¦¦ ¦¦¦

loaddatafile ¦¦¦¦ ¦¦¦

печатьсальдо --¦¦¦ ¦¦¦

¦¦¦ ¦¦¦

salarygreatbook ¦¦¦ ¦¦¦

добавление данных по банку -+¦¦ ¦¦¦

просмотрглавнойкниги --¦¦ ¦¦¦

global ¦¦ ¦¦¦

¦¦ ¦¦¦

¦¦ ¦¦¦

ввод платежных поручений -+¦ ¦¦¦

global¦¦ ¦¦¦

global ¦ ¦¦¦

¦ ¦¦¦

¦ ¦¦¦

¦ ¦¦¦

¦ ¦¦¦

salary ¦ ¦¦¦

global ¦ ¦¦¦

занесениевархив -+ ¦¦¦

savedatafile ¦ ¦¦¦

чтение из архива -+ ¦¦¦

loadsdatafile ¦ ¦¦¦

печать ведомости - ¦¦¦

¦¦¦

просмотр файла начислений -+¦¦

global ¦¦¦

просмотр файла взысканий -+¦¦

add ¦¦¦

расчет взысканий -¦¦ sub ¦¦

¦¦

ввод в записную книжку -+¦

global¦¦

поиск в записной книжке --¦

search ¦

¦

справочник начислений -+

global ¦

справочник налогов -+

global ¦

спроавосчник общих налогов -+

global ¦

readminsalary ¦

таблицааудита --

global

¦ Модуль ¦ Назначение¦ Вход. файл ¦ Выход. файл ¦

¦ ¦ ¦ ¦ ¦

¦ sprwork ¦ Работа со справочной ¦ salary. dat ¦ salary. dat¦

¦ ¦ информацией ¦ spr2. arm ¦ spr2. arm ¦

¦ ¦ ¦ spr3. arm ¦ spr3. arm ¦

¦ ¦ ¦ spr4. arm ¦ spr4. arm ¦

¦ ¦ ¦ spr5. arm ¦ spr5. arm ¦

¦ ¦ ¦ spr6. arm ¦ spr6. arm ¦

¦ ¦ ¦ audit. arm ¦ audit. arm ¦

¦ ¦ ¦ ¦ ¦

¦Saldowork ¦Работассальдосчетов ¦ great. arm ¦ saldo. arm ¦

¦ ¦ ¦ saldo. arm ¦ saldo. ind ¦

¦ ¦ ¦ saldo. ind ¦ saldo. sav ¦

¦ ¦ ¦ saldo. sav ¦ prn ¦

¦ ¦ ¦ ¦ ¦

¦ Great ¦ Работасглавнойкнигой ¦ Great. arm ¦ great. arm ¦

¦ ¦ ¦ bank3. arm ¦ prn ¦

¦ ¦ ¦ sal. arm¦ ¦

¦ ¦ ¦ ¦ ¦

¦ ¦ книгойбухгалтера ¦ ¦ ¦

¦ ¦ ¦ ¦ ¦

¦ ¦ ведомостью ¦ sal. sav¦ sal. sav ¦

¦ ¦ ¦ sal. ind¦ sal. ind ¦

¦ ¦ ¦ ¦ ¦

¦ add ¦ Расчетнасчислений¦ spr1. arm ¦ salary1. arm ¦

¦ ¦ ¦ spsotr. arm ¦ ¦

¦ sub ¦ Расчетвычетов ¦ spr2. arm ¦ salary2. arm ¦

¦ ¦ ¦ spnal. arm ¦ ¦

¦ search ¦ Поисквзаписнойкниге ¦ Copybook. arm ¦ ttt. arm ¦

¦ ¦ документами ¦ bank2. arm ¦ bank2. arm¦

¦ ¦ ¦ bank3. arm ¦ bank3. arm¦

¦ccksalary1¦ Проверканасоответствие¦ spsotr. arm ¦ ¦

¦ ¦ окладов разрядам ¦ spr6. arm ¦ ¦

¦ ¦ ¦ ¦ ¦

¦chkslalry2¦Проверка на соответствие ¦ spsotr. arm ¦ ¦

¦ ¦окладов фонду зарплаты ¦ fonds. dat ¦ ¦

L-----------+-------------------------+--------------+------------------

Модуль Windenv

Процедура Savewindow(x1,y1,x2,y2:byte; var a:buffertype)

Сохраняет в оперативной памяти содержимое прямоугольной области экрана.

вообще говоря, не обязательно те же координаты, что и сохраненная. x1,y1,x2,y2 - Координаты области на экране. а - адрес в оперативной памяти, где хранится область. Модуль Inter

Функция Max(a,b:integer):integer возвращает максимум из чисел a и b.

Функция Min(a,b:integer):integer

Возвращает минимум из чисел а и b.

Процедура cursoff

Делает курсор на экране невидимым.

Процедура Error(s:string);

Создает в центре экрана окно красного цвета необходимого размера и выводит в него сообщение об ошибке, после чего ждет нажатия на любую клавишу.

s - Сообщение об ошибке.

Расширенная процедура ввода. Позволяет вводить строчку заданной длины, отслеживая недопустимые символы. Позволяет использовать клавиши "Влево","Вправо", Del,Backspase. Позволяет использовать строку по умолчанию, есть возможность Undo.

x,y - Координаты вводимой строки на экране.

l - Максимальная длина вводимой строки.

s - Строка по умолчанию. В ней же возвращается введенная строка. Если в течении ввода была нажата клавиша ESC, возвращается пустая строка.

w - Множество допустимых символов. МодульFiles2

Функция FOpen(FName:string;FMode:Word):Word

Открывает безтиповый файл. Возвращает заголовок файла.

В случае ошибки внутренняя переменная Fsuccess принимает значение False.

Fname - Имя файла.

Fmode - Режим (0 - только для чтения,1 - только для записи, 2 - и для чтения, и для записи.) Функция FCreate(FName:String;FAttr:Word):Word

Создает безтиповый файл. Возвращает заголовок файла.

FName - Имя файла.

FAttr - атрибуты создаваемого файла.

Функция FRead(Handle,Segment,Offset,Bytes:Word):Word

Читает из безтипового файла блок. В случае ошибки чтения внутренняя переменная Fsuccess принимает значение False. Возвращает количество реально прочитанных байтов.

Наndle - Заголовок файла.

Segment - Сегментная часть адреса в оперативной памяти, в которую производится чтение.

Offset - Смещение этой области относительно сегмента в оперативной памяти.

Bytes - Сколько байтов необходимо прочитать.

Записывает в безтиповый файл блок памяти. В случае ошибки записи внутренняя переменная Fsuccess принимает значение false. Возвращает количество реально записанных байтов. Наndle - Заголовок файла.

Segment - Сегментная часть адреса в оперативной памяти, из которой происходит чтение.

Bytes - Сколько байтов необходимо записать.

Процедура FClose(Handle:Word)

Наndle - Заголовок файла.

Процедура FSeek(Handle:Word; PosPnt:LongInt)

Перемещает указатель безтипового файла.

В случае ошибки внутренняя переменная Fsuccess принимает значение False.

Наndle - Заголовок файла.

Функция FTell(Handle:Word):LongInt

Возвращает позицию указателя файла.

В случае ошибки внутренняя переменная Fsuccess принимает значение False.

Наndle - Заголовок файла.

Функция FSize(FName:String;FAttr:Word):LongInt

Возвращает размер файла в байтах.

В случае ошибки внутренняя переменная Fsuccess принимает значение

False.

FName - Имя файла.

FAttr - Атрибуты файла.

Модуль Field

"Таблицами".

type ftype=array [1.. 32000] of word

fieldtype=record

field: ^ftype;

tc,tb:byte;

xmax,ymax:integer;

end;

Функция creatfield(var T:fieldtype;X,Y:integer):integer

Создает таблицу заданного размера. Возвращает признак успеха.

T - Таблица.

Y - Размер по вертикали.

T - Таблица.

Beg - Строка таблицы, начиная с которой идет очищение.

Textc - цвет текста для выводимой информации.

Textb - цвет фона для выводимой информации.

Процедура WindowToField(T:fieldtype;X1,Y1,X2,Y2,Xx,Yy:integer)

T - Таблица.

X1,Y1,X2,Y2 - координаты области на экране.

Xx,Yy - Координаты области внутри таблицы.

Процедура fieldtowindow(T:fieldtype;X1,Y1,X2,Y2,Xx,Yy:integer)

Выводит часть таблицы на экран. Для правильной работы процедуры необходимо, чтобы область не выходила за границы таблицы, иначе на экране будет только часть области.

T - Таблица

X2,Y2 - Координаты правого нижнего угла области.

Xx,Yy - Координаты области внутри таблицы.

Процедура putchar(T:fieldtype;X,Y:integer;Sym,Textc,Textb:byte)

Выводит в таблицу символ по заданным координатам с заданным цветом текста и цветом фона.

T - Таблица.

X,Y - Координаты в таблице.

Sym - Код символа.

Textc - Цвет текста.

Textb - Цветфона.

Процедура deletefield(var T:fieldtype)

Удаляет таблицу,высвобождает память,занятую ей.

T - Таблица.

Модуль Data

Процедура strtotable(X,Y,L:integer;Source:arr;T:fieldtype)

Выводит в таблицу строку символов.

L - Максималная длина строки.

Sourсe - Массив, в котором находится строка.

Процедура numtotable(X,Y,L:integer;D:longint;T:fieldtype)

Выводит в таблицу целое число.

X,Y - координаты в таблице.

T - Таблица.

Процедура tabletostr(X,Y,L:integer;varS:string;T:fieldtype);

X,Y - координаты в таблице.

L - Максималная длина поля.

S - Строка, в которую помещается поле.

T - Таблица.

Модуль Types

Описание типов

len :word;

typ: char;

end;

len - длина поля в текстовом представлении.

typ - типполя.

fileinfo= record

Name:string[20];

Size:longint;

Nf:byte;

Names:longint;

LNames:longint;

end;

Запись, хранящая информацию о файле базы данных.

Name - Имя реального файла на диске.

Size - Его размер.

schet=record

Cod:string[10];

Name:string[30];

Debet,Kredit:longint;

end;

Запись файла счетов.

Cod - Код счета.

Name - Имя счета.

Debet - Дебет счета.

windowtype=record

X2,Y2:byte;

Save:buffertype;

X,Y:integer;

NF:integer;

Currentline:integer;

currentrow:integer;

priority:longint;

end;

Запись, описывающая обьект "окно" в системе многооконного интерфейса.

X1,Y1 - Координаты левого верхнего угла окна на экране.

X2,Y2 - Координаты правого нижнего угла окна на экране.

Save - Буфер, хранящий образ окна.

X,Y - Координаты окна левого верхнего угла в таблице

NF - Номер файла базы, с которым связано окно.

Currenline - Текущая запись в файле.

Currentrow - Текущее поле в файле.

fnw = record

Dat:Date;

Tab:string[10];

Sum:longint;

Cod:string[10];

end;

Запись в файлах начислений и взысканий.

Dat - Дата начисления.

F - Фамилия сотрудника.

Tab - Табельный номер.

Sum - Сумма.

Cod - Код начисления.

spnal = record

Kod:string[10];

Name:string[25];

Val:string[15];

end;

Запись в файле-справочнике налогов.

Kod - Код налога.

Name - Название налога.

Val - Величинаналога.

string1=string[15];

plp=record

D:date;

Source::string[30];

Bank1:string[30];

Cod1:string[10];

Bank2:string[30];

Debet:string[10];

Credit:string[10];

Target:string[30];

end;

Запись в файле платежных поручений.

D - Дата.

Source - Плательщик.

Bank1 - Банк плательщика.

Cod1 - Код плательщика.

Dest - Получатель.

Bank2 - Банк получателя.

Cod2 - Код получателя.

Crtedit - Кредитуемый счет.

Sum - Сумма.

greatbooktype=record

num:longint;

target:string[30];

sum:longint;

cod1,cod2:string[15];

end;

Запись в файле главной книги.

Num - Порядковый номер.

Target - Назначение платежа.

Sum - Сумма.

Cod1 - Дебетуемый счет.

levels=record

L:longint;

Coeff:string[15];

end;

Запись в справочнике разрядов.

L - Разряд.

Coeff - Коэффициент.

Spsotr= record

Tab:string[10];

Name:string[25];

Raz:longint;

Prof:string[6];

Obosnov:string[30];

end;

Запись в справочнике сотрудников.

Tab - Табельный номер

Name - Ф. И. О.

Oklad - Оклад.

Prof - Членство в профсоюзе.

Name:string[30];

end;

Запись в файле-справочнике начислений.

Кod - Код начисления.

index=record

Beg:longint;

Key:date;

Len:longint;

end;

Запись в индексном файле.

Beg - Адрес начала данных.

Кеу - Ключ для доступа.

Len - Длина данных.

Sal=record

Num:longint;

Oklad:longint;

Pn:longint;

Penf:longint;

Ost:longint;

Plus:longint;

Minus:longint;

Itog:longint;

end;

Запись в ведомости зарплаты.

Num - Номер по порядку.

Dd - Дата.

Tab - Табельный номер.

Oklad - Оклад.

Pn - Подоходный налог.

Penf - Пенсионный фонд.

Ost - Остаток.

Minus - Взыскания.

Itog - Итого на руки.

Модуль Main

Процедура Readfileinfo(Number:integer;varR:rec; varName:string1; var N:integer; var Aon:strarr)

Процедура считывает структуру рабочего файла из файла-каталога. Number - Номер рабочего файла. R- Массив, в котором возвращается информация о файле. Массив содержит столько элементов, сколько полей в рабочем файле.

Name - Имя рабочего файла.

N- Количество полей в рабочем файле.

Функция Exists(Fname:string1):boolean

Функция проверяет существование файла на диске.

Возвращает True, если файл существует, и False в противном случае.

Fname - Имя файла.

Вначале проверяется количество свободной памяти, потом существование необходимых внутренних файлов системы.

Функция Vmenu(Size,Current, X1,Y1,Len,Mask:byte):integer

Используется, если все пункты меню помещаются на экране. Возвращает номер выбранного элемента.

Size - Размер меню по вертикали.

Current - Номер элемента, на котором вначале стоит указатель.

X1,Y1 - Координаты первого элемента.

Len - Длина элементов.

Mask - Переменная, показывающая, как изменять цвет фона и символа у выделенного элемента.

Процедура Translate(S:string;var Ns:string)

S - Зашифрованная строка.

Ns - Расшифрованная строка.

Процедура Inputkey(var S:string;Ss:string;L:byte;W:settype)

Процедура создает на экране окно и считывает в нем с клавиатуры трочку. После этого процедура восстанавливает старое содержимое экрана.

SS - Строка подсказки.

W - Множество допустимых символо в строке.

Процедура Querryparole

Запрашивает в начале работы пароли и по ним определяет статус пользователя и его полномочия.

Функция Isnumber(S:string):boolean

Проверяет, является ли строка числом.

S - Проверяемаястрока.

Процедура Stringtotable(S:string;X,Y:integer;T:fieldtype)

S - Строка.

X,Y - Координаты строки в таблице.

T - Таблица.

Процедура копирует участок памяти.

P1 - Адрес источника.

P2 - Адрес приемника.

L - Длина участка.

Index - Номер контекста.

Переводит дату из строковой записи во внутренний формат. Возвращает 0 в случае успеха. Str - Строка, содержащая дату.

D - Запись, содержащая дату после работы процедуры.

Source - Название исходного файла.

Dest - Имя нового файла.

Процедура разделяет таблицу на шапку и графы путем внесения в таблицу символов псевдографики. Используется при печати таблиц.

T - Имя таблицы.

R - Массив, хранящий описание структуры файла базы.

N1 - Количество строк в таблице.

Функция Loaddatafile(Fname:string1;D:date):integer

Функция ищет в архиве файл, связанный с ключом - датой и делает этот файл текущим.

Fname - Имя файла, в который нужно поместить файл из архива. D - Ключ-дата, по которой осуществляется поиск.

Процедура Goodmorning(var D:string1)

Процедура приветствует пользователя при начале работы и просит подтвердить текущую дату. У пользователя есть возможность изменить ее, если она его чем-то не устраивает. В дальнейшем эта дата используется как значение по умолчанию при вводе полей типа "Дата".

D - Текущая дата в строковом виде.

Reclen:integer;N:integer;T:fieldtype):integer; Функция производит запись на диск таблицы. Возвращает 0 в случае успеха.

Fp - Позиция в файле, с которой производится запись.

Nr - Размер таблицы по вертикали.

Reclen - Длина записи файла в байтах.

N- Количество столбцов в таблице.

T- Имя таблицы.

Функция Readtable(Nl,Fp:integer;R:rec;var Nr:integer;Fname:string;

Reclen:integer;N:integer;T:fieldtype;

Функция производит чтение таблицы из файла. Возвращает 0 в случае успеха.

Nl - Номер строки таблицы, с которой производится запись.

Fp - Позиция в файле, с которой производится запись.

R- Массив, хранящий описание структуры таблицы.

Reclen - Длина записи файла в байтах.

T- Имя таблицы.

Eof - Признак конца файла.

var Win:windowtype;Nw:integer;var Numberlines:integer;

N,Maxlines,Reclen:integer;var Filepos:longint;

Eof:boolean):integer;

помощи. Функция автоматически сохраняет базу при выходе из нее. R - Массив, хранящий сведения о структуре таблицы.

Fname - Имя файла, с которым связана таблица.

Ddate- Дата, использующаяся по умолчанию при вводе.

T - Имя таблицы.

Nw - Номер этого окна.

Numberlines - Число информационных строк в таблице.

Maxlines - Максимальное число строк, которое может находиться в таблице.

Reclen- Длина записи в файле данных в байтах.

Filepos - Позиция в файле, на которой происходит редактирование.

Eof - Признак конца файла данных.

Процедура Savedatafile(Fname:string1;D:date)

Процедура записывает файл данных в архив, связывая его с ключом-датой.

Fname - Имя файла данных.

D - Дата-ключ.

Процедура Printtable(T:fieldtype;Fname:string1;N:integer)

T - Таблица.

Fname - Имя файла.

N - Длина таблицы по вертикали.

Процедура Salary(D:date)

Вычисляет зарплату за текущий месяц для каждого сотрудника, описанного в файле сотрудников, рассчитывает все начисления и взыскания и создает расчетную ведомость.

Функция CheckSalary2(var N:longint):integer

N - Фонд заработной платы.

Функция проверяет соответствие окладов сотрудников разрядной сетке. Если все в порядке, возвращает 0.

Errorline - Номер ошибочной записи.

Процедура Global(First:integer)

Осуществляет работу с базами. Создает таблицы и связывает их с файлами базы данных.

First - Номер в каталоге первоначального файла в каталоге.

Процедура Saldo

Вычисляет сальдо по всем счетам, руководствуясь записями в главной книге.

Процедура Readminsalary

Запрашивает у пользователя значение минимальной заработной платы. В качестве значения по умолчанию используется предыдущее значение минимальной зарплаты. Если до этого минимальная зарплата не вводилась, то по умолчанию она равна 0.

Процедура Search(Tn:string1)

Осуществляет поиск в записной книжке записей о выдаче мат. помощи конкретному лицу.

Tn - Табельный номер конкретного лица.

Процедура Copybook

Осуществляет работу с записной книжкой бухгалтера.

Процедура Greatbook

Процедура Saldowork

Процедура подсчитывает сальдо счетов и позволяет пользователю оперативно просматривать их. Предусмотрена возможность сохранять в архиве сальдо за долгий срок.

Процедура salarywork.

ГЛАВА 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 - математическое ожидание времени работы ПИ до очередного отказа

T = tf(t)dt,

0

где t - время работы ПИ от (K-1) до K-го отказа. Иначе среднюю наработку на отказ T можно представить:

n

T (t + t +...+ t )/n = (i/n) t ,

i=1

где t - время работы ПИ между отказами; n - количество отказов.

отказа - t ; времени пропускной проверки работоспособности - t : t = t + t + t ,

где t - время восстановления после i-го отказа.

n

T = i/n t ,

i=1

Для этого показателя термин "время" означает время, затраченное специалистом по тестированию на перечисленные виды работ.

6. Коэффициент готовности K - вероятность того, что ПИ ожидается в работоспособном состоянии в произвольный момент времени его использования по назначению:

K = T / (T + T ).

уровня технологии программирования, для выбора метода проектирования будущего программного средства.

Основным средством определения количественных показателей надежности являются модели надежности, под которыми понимают математическую модель, построенную для оценки зависимости надежности от заранее известных или оцененных в ходе создания программных средств параметров.

3. 1. 2 Модель Миллса

в протоколе искусственных ошибок. Специалист, проводящий тестирование, не знает ни количества, ни характера внесенных ошибок до момента оценки показателей надежности по модели Миллса. Предполагается, что все ошибки, и естественные, и искусственно внесенные, имеют равную вероятность быть найденными в процессе тестирования. Тестируя программу в течение некоторого времени, собирается статистика об ошибках. В момент оценки надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные. Соотношение N = (S * n) / Vдает возможность оценить N - первоначальное количество ошибок в программе. В данном соотношении, которое называется формулой Миллса, S - количество искусственно внесенных ошибок, n - число найденных собственных ошибок, V - число обнаруженных искусственных ошибок. Таким обpазом, если мы предположим, что в пpогpамме нет ошибок, то вероятность истинности этого предположения оценивается по фоpмуле

1 , n >K

<=K, где К - количество собственных ошибок (в данном случае 0),

S - число искусственных ошибок.

К сожалению, это соотношение нельзя использовать, если в процессе тестирования обнаружены не все из искусственных ошибок. Для этого случая используется модифицированная формула

1, n > K

C =

работы программы будет равна

( 15! / (13! * 2!)) / (16! / (14! * 2!)) = (14 * 15/ 2) / ((15*16)/2)= 14 /16 = 0. 875

3. 2 Эффективность программного изделия

Эффективность - одно из наиболее общих экономических понятий, не имеющих пока, по-видимому, единого общепризнанного определения. По нашему мнению, это одна из возможных характеристик качества системы, а именно ее характеристика с точки зрения соотношения затрат и результатов функционирования системы. В дальнейшем будем понимать под экономической эффективностью ПИ меру соотношения затрат и результатов функционирования ПИ. К основным показателям экономической эффективности относятся: экономический эффект, коэффициент экономической эффективности капитальных вложений, срок окупаемости капитальных вложений.

источниками экономии являются: улучшение показателей их основной деятельности, происходящее в результате использования ПИ; сокращение сроков освоения новых ПИ за счет их лучших эргономических характеристик; сокращение расхода машинного времени и других ресурсов на отладку и сдачу задач в эксплуатацию; повышение технического уровня, качества и объемов вычислительных работ; увеличение объемов и сокращение сроков переработки

информации; повышение коэффициента использования вычислительных ресурсов, средств подготовки и передачи информации; уменьшение численности персонала, в том числе высококвалифицированного, занятого обслуживанием программных средств, автоматизированных систем, систем обработки информации, переработкой и получением информации; снижение трудоемкости работ программистов при программировании прикладных задач с использованием новых ПИ в организации-потребителе ПИ; снижение затрат на эксплуатационные материалы. Коэффициент экономической эффективности капитальных вложений показывает величину годового прироста прибыли, образующуюся в результате производства или эксплуатации ПИ, на один рубль единовременных капитальных вложений. Срок окупаемости (величина, обратная коэффициенту эффективности) - показатель эффективности использования капиталовложений - представляет собой период времени, в течение которого произведенные затраты на ПИ окупаются полученным эффектом. Определение эффективности ПИ основано на принципах оценки экономической эффективности производства и использования в народном хозяйстве новой техники. Основные положения разработаны на основе и в развитие методики определении экономической эффективности использования в народ ном хозяйстве новой техники, изобретений и рационализаторских предложений [12] с учетом специфики ПИ. На различных стадиях жизненного цикла ПИ и в зависимости от целей расчета рассчитываются и документально оформляются следующие виды экономического эффекта: предварительный,потенциальный,гарантированный и фактический.

Предварительный экономический эффект рассчитывается до выполнения разработки на основе данных технических предложений и прогноза использования. Предварительный эффект является элементом технико-экономического обоснования разработки ПИ и используется при планировании разработки и внедрения ПИ. Потенциальный экономический эффект рассчитывается по окончании разработки на основе достигнутых технико-экономических характеристик и прогнозных данных о максимальных объемах использования ПИ в народном хозяйстве.

Потенциальный эффект используется при оценке деятельности организаций разработчиков ПИ. Гарантированный экономический эффект рассчитывается в виде

гарантированного экономического эффекта для конкретного объекта внедрения и общего гарантированного внедрения по ряду объектов. Гарантированный экономический эффект для конкретного объекта внедрения рассчитывается после окончания разработки для одного программовнедрения на основе данных о гарантированном разработчиком удельном эффекте от применения НИ и гарантированных пользователем сроках и годовом объеме использования ПИ. Гарантированный эффект от одного внедрения ПИ рассчитывается при оформлении договорных отношений между организацией-разработчиком и организацией-пользователем. Гарантированный общий экономический эффект рассчитывается при постановке ПИ на производство на основе обобщения

фактических показателей использования ПИ (по ряду объектов внедрения), а также данных об объемах внедрения ПИ, соответствующих возможностям изготовления, внедрения и сопровождении. Гарантированный общий эффект служит для разработки и подтверждения экономически обоснованной цены на программную продукцию, выбора варианта производства и внедрения ПИ.

Фактический экономический эффект рассчитывается на основе данных учета и сопоставления затрат и результатов при конкретных применениях ПИ. Фактический эффект рассчитывается от одного программовнедрения конкретного ПИ на конкретном объекте, а также как общий экономический эффект от использования конкретного ПИ на всех объектах внедрения за расчетный период. Фактический эффект используется для оценки деятельности организаций, раарабатывающих, внедряющих и испопьзующих ПИ, для определения размеров отчислений в фонды экономического стимулирования, а также для анализа эффективности функционирования ПИ и выработки технических предложений по совершенствованию ПИ и условий его применения.

Показатели экономической эффективности ПИ определяются:экономической оценкой результатов влияния ПИ на конечный результат их использования (основное направление анализа и расчета показателей эффективности-для прикладных ПИ);

ПИ организации вычислительных процессов и эксплуатации средств вычислительной техники и НИ, расширяющих функции операционных систем); экономической оценкой результатов влияния ПИ на технологический процесс создания новых ПИ (основное направление анализа и расчета показатепей эффективности - для инструментально-технологических средств разработки и производства программного обеспечения).

При необходимости определения экономической эффективности ПИ, входящих в АСУ, САПР, АСНИ и другие системы через оценку влияния ПИ на конечные результаты функционирования этих систем в народном хозяйстве, доля эффекта от ПИ оценивается по коэффициенту долевого участия ПИ в показателях эффективности автоматизированных систем. Эти показатели рассчитываются по результатам основной деятельности организаций (предприятий, научных учреждений) на основе соответствующих общегосударственных, отраслевых и ведомственных методик. Долевой коэффициент участия ПИ в показателях эффективности автоматизированных систем в зависимости от условий расчета может определяться как отношение годовых приведенных затрат на ПИ к годовым приведенным затратам на систему, как отношение капитальных вложений в ПИ к капитальным вложениям в систему, как отношение трудозатрат на разработку ПИ к трудозатратам на разработку системы, а также методом экспертных оценок по взаимному соглашению разработчиков, заготовителей и пользователей.

3. 2. 2 Оценка экономической эффективности системы.

Оценить экономическую эффективность данной системы можно как разность между расходами пользователя программы до и после внедрения. Эмпирические расчеты показали, что используя программу, бухгалтер экономит в среднем около 30 человеко-часов в месяц. То есть программа позволяет за счет экономии времени снизить заработную плату, выплачиваемую бухгалтеру, с 1. 5 до 1 ставки. Средняя зарплата бухгалтера профкома составляет 120 000, следовательно, годовая экономия от использования пpогpаммы в одном профсоюзном комитете составит 720 000 pуб. Амортизация техники, требующейся для пpогpаммы, пpи современных ценах на ПЭВМ составит 1800 000 * 0. 15 = 270 000 pуб. Следовательно, чистая пpибыль от внедpения пpогpаммы в год составит 450 000 pублей.

3. 3 Тестирование комплекса.

Для проверки основных функций программного комплекса проведем систему тестов. Тесты будем выбирать по принципу "белого ящика", так как это позволит проверить программу за наименьшее количество тестов.

ТЕСТ 1

Пойдем в режим изменения списка сотрудников и поставим в графе "Оклад " сотруднику номер 2 число 1000000. При этом в файле платежных поручений за этот месяц будет находиться платежное поручение, переводящее на счет профкома со счета института 1500000. Ожидаемая реакция программы : Выдача сообщения "Превышение фонда окладов" новый вход в режим редактирования списка сотрудников.

ТЕСТ 2

"Оклад " сотруднику номер 2 число 100, а в графе "Разряд" число 14. При этом в файле разрядов коэффициент в строке 14 разряда будет равен 3. 3, а минимальная зарплата будет равна 30000. Ожидаемая реакция программы : Выдача сообщения "Неверный оклад в 2 записи" и новый вход в режим редактирования списка сотрудников.

Составим файлы сотрудников, начислений и вычетов следующим образом (см. приложение 2). После чего вычислим заработную плату сотрудников и просмотрим ее. (см. приложение 2).

ТЕСТ 4

Возьмем те же файлы сотрудников, начислений и вычетов таким же образом, как и в тесте 3. Но при этом в файле деклараций поставим сотруднику с таб. номером N123 в графе "Сумма" число 10000000. Вычислим заработную плату сотрудников и просмотрим ее (см. Приложение 2)

"Добавить данные по зарплате". Просмотрим ее после этого. (Расчетную ведомость, главную книгу до и после добавления см. в Приложении 2)

ТЕСТ 6

Войдем в режим работы с главной книгой и выберем пункт "Добавить данные по банку". Прямо перед этим в режиме работы с банком введем два платежных поручения:

"Первое"

2 с назначением "Второе"

(См. главную книгу в Приложении 2)

3. 4 Cписок обозначений

АРМ - Автоматизированное рабочее место.

К - сумма проф. взносов, поступающих на счет МЭСИ.

N1 - количество сотрудников института - членов профсоюза.

ЗП[i] - Заработная плата i-го сотрудника.

K - Фонд зарплаты профкома.

_

_

Кmax - Максимальная граница фонда заработной платы.

W[mi] = Внебюджетные поступления.

Q[i] - оклад i-го сутрудника профкома.

N2 - Количество сотрудников профкома.

Q`[i] - Оклад, полагающийся i-му сотруднику по его разряду.

Q1[k] - Промежуточное значение - оклад k-го сотрудника вместе с начислениями

P[k,j] - j-е начисление k-му сотруднику.

M[mi,k] - Количество начислений k-му сотруднику в mi-ом месяце.

S[k] - Окончательная сумма для выдачи k-му сотруднику.

V[j] - Значение J-го налога.

U[k] - Множество налогов, применимых к k-му сотруднику.

3. 5 Список литературы

"Справочник программиста персональных ЭВМ типа IBM PC, XT,AT", M., Финансы и статистика, 1992.

ПРИЛОЖЕНИЯ

------------------------------------

- Работа со справочниками -

- Работа с записной книжкой -

- Работа с банком-

- Сальдо счетов -

------------------------------------

------------------------------------

- Работа со справочниками -

- Работа с записной книжкой -

- Расчет зарплаты сотрудников-

- Операции с расчетной ведомостью -

- Работа с банком-

- Работа с Главной книгой -

------------------------------------

------------------------------------

- Справочник налогов -

- Справочник общих налогов -

- Справочник начислений -

- Справочник разрядов -

- Список деклараций -

- Изменение минимальной зарплаты -

------------------------------------

------------------------------------

- Работа со справочниками -

- Работа с записной книжкой -

- Расчет зарплаты сотрудников-

- Операции с расчетной ведомостью -

- Работа с банком-

- Работа с Главной книгой -

- Сальдо счетов -

--------------------------------

------------------------------------

-Поиск в записной книжке -

- -

- -

- -

- -

------------------------------------

Экран 4

------------------------------------

- Работа со справочниками -

- Расчет зарплаты сотрудников-

- Операции с расчетной ведомостью -

- Работа с банком-

- Работа с Главной книгой -

- Сальдо счетов -

------------------------------------

- Просмотр файла начислений -

- Просмотр списка сотрудников -

- Просмотр фонда заработной платы -

- Расчет взысканий -

------------------------------------

Экран 5.

------------------------------------

- Работа со справочниками -

- Работа с записной книжкой -

- Расчет зарплаты сотрудников-

- Работа с банком-

- Работа с Главной книгой -

- Сальдо счетов -

------------------------------------

------------------------------------

- Получение ведомости -

- Просмотр ведомости -

- Печать ведомости -

- Поиск ведомости в архиве -

- -

------------------------------------

------------------------------------

- Работа со справочниками -

- Работа с записной книжкой -

- Расчет зарплаты сотрудников-

- Операции с расчетной ведомостью -

- Работа с банком-

- Работа с Главной книгой -

------------------------------------

- Ввод платежных поручений -

- Ввод обьявлений на взнос -

- Ввод выписок из банка-

- -

- -

- -

------------------------------------

- Работа со справочниками -

- Работа с записной книжкой -

- Операции с расчетной ведомостью -

- Работа с банком-

- Работа с Главной книгой -

- Сальдо счетов -

------------------------------------

- Добавить данные по зарплате-

- Добавить данные по банку -

- Просмотр главной книги -

- -

- -

- -

Экран 8

------------------------------------

- Работа со справочниками -

- Работа с записной книжкой -

- Расчет зарплаты сотрудников-

- Операции с расчетной ведомостью -

- Работа с Главной книгой -

- Сальдо счетов -

------------------------------------

- Просмотр сальдо счетов -

- Подсчет сальдо -

- Занесение сальдо в архив -

- Поиск сальдо в архиве-

- Пeчать сальдо -

- -

------------------------------------

------------------------------------------------------------------------1--

- Таб. номер Фамилия Разряд Оклад Ч. П.

- N------------------------------------------------------------------33 -

- N- Файл начислений -gdsfg-

- T- Файл взысканий - -

- f- справочник налогов- -

- - Справочник разрядов - -

- - Главная книга - -

- - Сальдо счетов - -

- - Справочник сотрудников - -

- - Записная книжка - -

- - Налоговые декларации - -

- - - -

- ------------------------------------------------------------------ -

- -

- -

- -

---------------------------------------------------------------------------