UIR_PRL3 (664799)
Текст из файла
36
Приложение 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() As Double
Dim i As Integer
Ksl = 0#
For i = 1 To 10
Ksl = Ksl + KsliPr(i)
Next i
Ksl = Ksl + 1
End Property
‘Определение значения Krz по таблице 3.4
Public Property Get Krz() As Double
Krz = da.table34GetKrz(ToolsOfDevel)
End Property
‘Определение значения Kxp по таблице 3.5
Public Property Get Kxp() As Double
Kxp = da.table35GetKxp(delivery)
End Property
‘Определение значения Kxv из таблицы 3.6.
Public Property Get Kxv() As Double
Kxv = da.table36GetKxv(vnedrenie)
End Property
‘Определение значения Кte из таблицы 3.7.
Public Property Get Kte() As Double
Kte = da.table37GetKte(ComplOfTesting)
End Property
‘Определение значения Nvros из таблицы 3.8.
Public Property Get Nvros() As Double
Nvros = da.table38GetNvros(VolDocum, VolProg)
End Property
‘Определение значения Nvrvf из таблицы 3.9.
Public Property Get Nvrvf() As Double
Nvrvf = da.table39GetNvrvf(VolDocum, VolProg)
End Property
‘Определение значения Nvrpr из таблицы 3.10.
Public Property Get Nvrpr() As Double
Nvrpr = da.table310GetNvrpr(VolDocum, VolProg)
End Property
‘Определение значения Nvran из таблицы 3.11.
Public Property Get Nvran() As Double
Nvran = da.table311GetNvran(VolDocum, VolProg)
End Property
‘Определение значения Nvrkr из таблицы 3.12.
Public Property Get Nvrkr() As Double
Nvrkr = da.table312GetNvrkr(VolProg)
End Property
‘Определение значения Nvrie из таблицы 3.13.
Public Property Get Nvrfe() As Double
Nvrfe = da.table313GetNvrfe(VolDocum, VolProg)
End Property
‘Определение значения Nvrp из таблицы 3.14.
Public Property Get Nvrp() As Double
Nvrp = da.table314GetNvrp(VolDocum, VolProg)
End Property
‘Определение значения Nvrpf из таблицы 3.15.
Public Property Get Nvrpf() As Double
Nvrpf = da.table315GetNvrpf(VolProg)
End Property
‘Определение значения Nvrnp из таблицы 3.16.
Public Property Get Nvrnp() As Double
Nvrnp = da.table316GetNvrnp(VolProg)
End Property
‘Определение значения Nvrgv из таблицы 3.17.
Public Property Get Nvrgv() As Double
Nvrgv = da.table317GetNvrgv(VolProg)
End Property
‘Определение значения Nvrve из таблицы 3.18.
Public Property Get Nvrve() As Double
Nvrve = da.table318GetNvrve(VolProg)
End Property
‘Определение значения Nvrkm из таблицы 3.19.
Public Property Get Nvrkm() As Double
Nvrkm = da.table319GetNvrkm(VolProg)
End Property
‘Определение значения Nvrdr из таблицы 3.20.
Public Property Get Nvrdr() As Double
Nvrdr = da.table320GetNvrdr(VolDorab, VolProg)
End Property
‘Определение значения Nvrrd из таблицы 3.21.
Public Property Get Nvrrd() As Double
Nvrrd = da.table321GetNvrrd(VolDopRaz)
End Property
‘Определение значения Nvrts
Public Property Get Nvrts() As Double
Nvrts = Ksl * Kuch * Nvran
End Property
‘Определение значения Nvrpa
Public Property Get Nvrpa() As Double
Nvrpa = 0.3 * Kxv * Nvrpf
End Property
‘Определение значения Nvrvp
Public Property Get Nvrvp() As Double
Nvrvp = 2
End Property
‘Определение значения Nvrrr
Public Property Get Nvrrr() As Double
Nvrrr = Ksl * Kuch * Nvran
End Property
‘Определение значения Nvrob из таблицы 3.22.
Public Property Get Nvrob() As Double
Nvrob = da.table322GetNvrob(VolDocum, VolProg)
End Property
‘Определение значения Nvrop из таблицы 3.23.
Public Property Get Nvrop() As Double
Nvrop = da.table323GetNvrop(VolProg)
End Property
‘Определение значения Tos
Public Property Get Tos() As Double
Tos = Ksl * Kan * Kuch * Nvros
End Property
‘Определение значения Tvf
Public Property Get Tvf() As Double
Tvf = 0.8 * Ksl * Nvrvf
End Property
‘Определение значения Ted_vf
Public Property Get Ted_vf() As Double
Ted_vf = Tvf / 4
End Property
‘Определение значения Tpr
Public Property Get Tpr() As Double
Tpr = Ksl * Kuch * Nvrpr
End Property
‘Определение значения Tan
Public Property Get Tan() As Double
Tan = Ksl * Kuch * Nvran
End Property
‘Определение значения Tkr
Public Property Get Tkr() As Double
Tkr = Ksl * Kuch * Nvrkr * Krz
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.