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).
                 dt      dt                  dt

Существует следующая связь между (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 - количество отказов.

5. Среднее время восстановления T - математическое ожидание времени восстановления - t ; времени, затраченного на обнаружение и локализацию отказа - t ; времени устранения отказа - t ; времени пропускной проверки работоспособности - t :

t = t + t + t ,

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

                     n

          T  = i/n     t  ,

                   i=1

где n - количество отказов.

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

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

    K = T / (T + T ).

Необходимо стремиться повышать уровень надежности ПИ, но достижение 100%-ной надежности лежит за пределами возможного.

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

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

3.1.2 Модель Миллса

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

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

 N = (S * n) / V

дает возможность оценить N - первоначальное количество ошибок в программе. В данном соотношении, которое называется формулой Миллса, S - количество искусственно внесенных ошибок, n - число найденных собственных ошибок, V - число обнаруженных искусственных ошибок.

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

         1 , n >K


    С =  S / (S+K+1), n <=K

где

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

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

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

            1 , n > K

      C =

          (S/(V-1)) / ((S+K+1)/(K+V)) 

где выражение типа (a)/(b) выглядит как

a!/b!*(a-b)!

Тестируя систему по модели Миллса, вносим туда S = 15 искусственных ошибок. В процессе тестирования было обнаружено 13 из 15 искусственных ошибок и ни одной собственной ошибки.

Тогда вероятность безотказной работы программы будет равна

 ( 15! / (13! * 2!)) / (16! / (14! * 2!)) =  (14 * 15/ 2) / ((15*16)/2)= 14 /16 = 0.875

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

3.2.1 Критерии эффективности программного изделия.

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

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

К основным показателям экономической эффективности относятся: экономический эффект, коэффициент экономической эффективности капитальных вложений, срок окупаемости капитальных вложений.

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

- улучшение показателей их основной деятельности, происходящее в результате использования ПИ;

- сокращение сроков освоения новых ПИ за счет их лучших эргономических характеристик;

- сокращение расхода машинного времени и других ресурсов на отладку и сдачу задач в эксплуатацию;

- повышение технического уровня, качества и объемов вычислительных работ;

- увеличение объемов и сокращение сроков переработки информации;

- повышение коэффициента использования вычислительных ресурсов, средств подготовки и передачи информации;

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

- снижение трудоемкости работ программистов при программировании прикладных задач с использованием новых ПИ в организации-потребителе ПИ;

- снижение затрат на эксплуатационные материалы.

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

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

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

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

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

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

Гарантированный экономический эффект рассчитывается в виде гарантированного экономического эффекта для конкретного объекта внедрения и общего гарантированного внедрения по ряду объектов.

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

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

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

Показатели экономической эффективности ПИ определяются:

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

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

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

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

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

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аммы в год составит 450 000 рублей.

 

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

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

ТЕСТ 1

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

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

ТЕСТ 2

Войдем в режим изменения списка сотрудников и поставим в графе "Оклад " сотруднику номер 2 число 100, а в графе "Разряд" число 14.

При этом в файле разрядов коэффициент в строке 14 разряда будет равен 3.3, а минимальная зарплата будет равна 30000.

Ожидаемая реакция программы : Выдача сообщения "Неверный оклад в 2 записи" и новый вход в режим редактирования списка сотрудников.

ТЕСТ 3

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

ТЕСТ 4

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

ТЕСТ 5

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

ТЕСТ 6

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

1 с назначением "Первое"

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

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

3.4 Список обозначений

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

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

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

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

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

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

_
Kmin - Минимальная граница фонда заработной платы.
_
К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 Список литературы

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

ПРИЛОЖЕНИЯ

     Экран 1

                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------

     Экран 2

                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------
                        ------------------------------------
                        -  Справочник налогов              -
                        -  Справочник общих налогов        -
                        -  Справочник начислений           -
                        -  Справочник разрядов             -
                        -  Список деклараций               -
                        -  Изменение минимальной зарплаты  -
                        ------------------------------------
        Экран 3
                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------
                        ------------------------------------
                        -Ввод в записную книжку            -
                        -Поиск в записной книжке           -
                        -                                  -
                        -                                  -
                        -                                  -
                        -                                  -
                        ------------------------------------
        Экран 4
                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------
                        ------------------------------------
                        -  Просмотр файла начислений       -
                        -  Просмотр файла взысканий        -
                        -  Просмотр списка сотрудников     -
                        -  Просмотр фонда заработной платы -
                        -  Расчет начислений               -
                        -  Расчет взысканий                -
                        ------------------------------------
        Экран 5.
                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------
                        ------------------------------------
                        - Получение ведомости              -
                        - Просмотр ведомости               -
                        - Запись ведомости в архив         -
                        - Печать ведомости                 -
                        - Поиск ведомости в архиве         -
                        -                                  -
                        ------------------------------------
         Экран 6.
                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------
                        ------------------------------------
                        - Ввод платежных поручений         -
                        - Ввод обьявлений на взнос         -
                        - Ввод выписок из банка            -
                        -                                  -
                        -                                  -
                        -                                  -
                        ------------------------------------
           Экран 7
                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------
                        ------------------------------------
                        - Добавить данные по зарплате      -
                        - Добавить данные по банку         -
                        - Просмотр главной книги           -
                        -                                  -
                        -                                  -
                        -                                  -
                        ------------------------------------
         Экран 8

                        ------------------------------------
                        - Работа со справочниками          -
                        - Работа с записной книжкой        -
                        - Расчет зарплаты сотрудников      -
                        - Операции с расчетной ведомостью  -
                        - Работа с банком                  -
                        - Работа с Главной книгой          -
                        - Сальдо счетов                    -
                        ------------------------------------
                        ------------------------------------
                        - Просмотр сальдо счетов           -
                        - Подсчет сальдо                   -
                        - Занесение сальдо в архив         -
                        - Поиск сальдо в архиве            -
                        - Пeчать сальдо                    -
                        -                                  -
                        ------------------------------------
         Экран 9

 ------------------------------------------------------------------------1--
 -  Таб.номер   Фамилия                   Разряд Оклад        Ч.П.   Обосно-
 - N------------------------------------------------------------------33   -
 - N-    Файл начислений                                             -gdsfg-
 - T-    Файл взысканий                                              -     -
 - f-    справочник налогов                                          -     -
 -  -    Справочник разрядов                                         -     -
 -  -    Главная книга                                               -     -
 -  -    Сальдо счетов                                               -     -
 -  -    Справочник сотрудников                                      -     -    
 -  -    Расчетная ведомость                                         -     -    
 -  -    Записная книжка                                             -     -    
 -  -    Налоговые декларации                                        -     -    
 -  -                                                                -     -    
 -  -                                                                -     -
 -  ------------------------------------------------------------------     -
 -                                                                         -    
 -                                                                         -    
 -                                                                         -
 -                                                                         -    
 -                                                                         -    
 ---------------------------------------------------------------------------