Пример: Глобальная сеть INTERNET
Я ищу:
На главную  |  Добавить в избранное  

Главная/

Программирование, базы данных. /

Создание автоматизированной системы расчета трудоемкости разработки и сопровождения программных средств

Документ 1 | Документ 2 | Документ 3 | Документ 4 | Документ 5 | Документ 6 | Документ 7 | Документ 8 | Документ 9 | Документ 10 | Документ 11 | Документ 12 | Документ 13 | Документ 14 | Документ 15

←предыдущая  следующая→
1 2 3 

Приложение 3

Программная реализация функций системы

1. Реализация функций расчета трудоемкости разработки ПС

'Значение Кн из таблицы 2.1

'Только для чтения

Public Property Get Kn() As Double

    Kn = da.table21GetKn(novelty, isNewComp, isNewOS)

End Property

 

'Определение значения Li из таблицы 2.2

Public Property Get Li(index As Integer) As Double

    If checkStage(index) Then

        Li = da.table22GetLi(novelty, casetech, index)

Else

        Li = 0

    End If

End Property

'Значение Кт из таблицы 2.3

Public Property Get Kt() As Double

    Kt = da.table23GetKt(usage)

End Property

'Добавление Ki из таблицы 2.6

Public Sub setKi(ByVal index As Integer)

    KiPr(index) = da.table26GetKi(index)

End Sub

'Удаление Ki

Public Sub unsetKi(ByVal index As Integer)

    KiPr(index) = 0#

End Sub

'Проверка добавлено Ki или нет

Public Function checkKi(ByVal index As Integer) As Boolean

    If KiPr(index) = 0# Then

        checkKi = False

    Else

        checkKi = True

    End If

End Function

' Определение значения Ki по таблице 2.6

Public Property Get Ki(index As Integer) As Double

    Ki = da.table26GetKi(index)

End Property

Public Property Get Ksl() As Double

    Dim i As Integer

    Ksl = 0#

    For i = 1 To 4

        Ksl = Ksl + KiPr(i)

    Next i

   

    Select Case CountCharPS

        Case 2

           setKi (5)

           Ksl = Ksl + KiPr(5)

        Case 3

           setKi (6)

           Ksl = Ksl + KiPr(6)

        Case Is > 3

           setKi (7)

           Ksl = Ksl + KiPr(7)

    End Select

    Ksl = Ksl + 1

   

End Property

'Добавление CharPS из таблицы 2.5

Public Sub setCharPS(ByVal index As Integer)

    CharPSPr(index) = index

End Sub

'Удаление CharPS

Public Sub unsetCharPS(ByVal index As Integer)

    CharPSPr(index) = 0#

End Sub

'Проверка добавлено CharPS или нет

Public Function checkCharPS(ByVal index As Integer) As Boolean

    If CharPSPr(index) = 0# Then

        checkCharPS = False

    Else

        checkCharPS = True

    End If

End Function

Public Property Get CountCharPS() As Double

    Dim i As Integer

    CountCharPS = 0#

    For i = 1 To 12

        If checkCharPS(i) Then

            CountCharPS = CountCharPS + 1

        End If

    Next i

End Property

'Добавление стадии из таблицы

Public Sub setStage(ByVal index As Integer)

Stage(index) = index

End Sub

'Удаление стадии

Public Sub unsetStage(ByVal index As Integer)

Stage(index) = -1#

End Sub

'Проверка добавлена стадия или нет

Public Function checkStage(ByVal index As Integer) As Boolean

    If Stage(index) = -1# Then

        checkStage = False

    Else

        checkStage = True

    End If

End Function

'Добавление функции из таблицы 2.7

Public Sub setVi(ByVal index As Integer)

    ViPr(index) = da.table27GetVi(index, compType)

End Sub

'Удаление функции из таблицы 2.7

Public Sub unsetVi(ByVal index As Integer)

    ViPr(index) = 0#

End Sub

'Проверка на наличие функции

Public Function checkVi(ByVal index As Integer) As Boolean

    If ViPr(index) = 0# Then

        checkVi = False

    Else

        checkVi = True

    End If

End Function

'Определение значения Vi

Public Property Get Vi(index As Integer) As Double

Vi = da.table27GetVi(index, compType)

End Property

'Общий объем ПС

Public Property Get Vo() As Double

    Dim i As Integer

    Vo = 0#

    For i = 1 To 16

        Vo = Vo + ViPr(i)

    Next i

    Vo = Format(Vo, "#####0.00")

End Property

'Кур из таблицы 2.8

Public Property Get Kur() As Double

    Kur = da.table28GetKur(tools, osType)

End Property

'Тб из таблицы 2.4

Public Property Get Tb() As Double

Tb = Format(da.table24GetTimeNorm(Vo / 1000, difficulty), "#####0.00")

End Property

'Расчет Тур

Public Property Get Tur() As Double

    Tur = Format(Tb * Kur, "#####0.00")

End Property

'Расчет To

Public Property Get T() As Double

    T = Format(Tur * Ksl, "#####0.00")

End Property

'Public Property Get Ti(index As Integer) As Double

    If index = 3 Then

        If isep Then

            Ti = Li(3) * Kn * T

        Else

            Ti = (Li(2) + Li(3)) * Kn * T

        End If

        If isTrp Then

            Ti = Format(Ti(3) * 0.85, "#####0.00")

        End If

    Else

        Ti = Li(index) * Kn * T

        If index = 4 Then

            Ti = Ti * Kt

        End If

    End If

    Ti = Format(Ti, "#####0.00")

End Property

'Расчет Tобщ

Public Property Get Tob() As Double

    Tob = 0#

    If isCase Then

        Tob = Ti(0) + Ti(4) + Ti(5)

    Else

        Tob = Ti(1) 'стадия тз

        If isep Then

            Tob = Tob + Ti(2)

        End If

        If isTrp Then

            Tob = Tob + Trp

        Else

            Tob = Tob + Ti(3) + Ti(4)

        End If

        Tob = Tob + Ti(5)

    End If

    Tob = Format(Tob, "#####0.00")

End Property

2.  Реализация функции расчета сопровождения ПС.

' Определение значения Кан из таблицы 3.1

Public Property Get Kan() As Double

    Kan = da.table31GetKan(haveAnalog)

End Property

‘Определение значения Kuch из таблицы 3.2

Public Property Get Kuch() As Double

    Kuch = da.table32GetKuch(PartService)

End Property

‘Определение значения Ksli по таблице 3.3

Public Property Get Ksli(index As Integer) As Double

    Ksli = da.table33GetKsli(index)

End Property

'Добавление Ksli

Public Sub setKsli(ByVal index As Integer)

    KsliPr(index) = da.table33GetKsli(index)

End Sub

'Удаление Ksli

Public Sub unsetKsli(ByVal index As Integer)

    KsliPr(index) = 0#

End Sub

'Проверка добавлено Ksli или нет

Public Function checkKsli(ByVal index As Integer) As Boolean

    If KsliPr(index) = 0# Then

        checkKsli = False

    Else

        checkKsli = True

    End If

End Function

Public Property Get Ksl()

←предыдущая  следующая→
1 2 3 


Copyright © 2005—2007 «RefStore.Ru»