Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
Аннотация к работе
Отсюда выходит вопрос разработки собственного программного обеспечения или закупки ныне существующих аналогов. Без расчета и анализа себестоимости невозможно принятие эффективных управленческих решений на всех уровнях. АНАЛИТИЧЕСКИЙ ОБЗОР СИСТЕМЫ РАСЧЕТА СЕБЕСТОИМОСТИ И ДЛИТЕЛЬНОСТИ РАЗРАБОТКИ ПО 1.1 Основные понятия себестоимости и длительности разработки ПО В настоящее время, в организациях возникает вопрос покупки или разработки программного обеспечения. MS Excel - программа 0) { per = Math.Round((zap / Convert.ToDouble(dataGridView7.Rows[2].Cells[3].Value)) * obshsum, 2); textBox11.Text = per.ToString(); } else { MessageBox.Show(Рассчитайте значения на первой вкладке для расчета значений поля Аммортизационные отчисления за период разработки!, Ошибка!); } double fond = 0; fond = Math.Round((Convert.ToDouble( dataGridView7.Rows[0].Cells[3].Value) * Convert.ToDouble(dataGridView7.Rows[8].Cells[3].Value))/100, 2); textBox12.Text = fond.ToString(); double fondzap = 0; if (obshsum > 0) { fondzap = Math.Round(fond / Convert.ToDouble(dataGridView7.Rows[2].Cells[3].Value) * obshsum, 2); textBox13.Text = fondzap.ToString(); } else { MessageBox.Show(Рассчитайте значения на первой вкладке Резервный денежный фонд за период разработки!, Ошибка!); } double mashvr = 0; mashvr = el per fondzap; textBox14.Text = mashvr.ToString(); } private void button2_Click(object sender, EventArgs e) { double zn = 0; if (comboBox1.Text == 1) { zn = 1.0; } else { if (comboBox1.Text == 2) { zn = 1.16; } else { if (comboBox1.Text == 3) { zn = 1.35; } else { if (comboBox1.Text == 4) { zn = 1.57; } else { if (comboBox1.Text == 5) { zn = 1.73; } else { if (comboBox1.Text == 6) { zn = 1.90; } else { if (comboBox1.Text == 7) { zn = 2.03; } else { if (comboBox1.Text == 8) { zn = 2.17; } else { if (comboBox1.Text == 9) { zn = 2.33; } else { if (comboBox1.Text == 10) { zn = 2.48; } else { if (comboBox1.Text == 11) { zn = 2.65; } else { if (comboBox1.Text == 12) { zn = 2.84; } else { if (comboBox1.Text == 13) { zn = 3.04; } else { if (comboBox1.Text == 14) { zn = 3.25; } else if (comboBox1.Text == 15) { zn = 3.48; } else { if (comboBox1.Text == 16) { zn = 3.72; } else { if (comboBox1.Text == 17) { zn = 3.98; } else { if (comboBox1.Text == 18) { zn = 4.26; } else { if (comboBox1.Text == 19) { zn = 4.56; } else { if (comboBox1.Text == 20) { zn = 4.88; } else { if (comboBox1.Text == 21) { zn = 5.22; } else { if (comboBox1.Text == 22) { zn = 5.59; } else { if (comboBox1.Text == 23) { zn = 5.98; } else { if (comboBox1.Text == 24) { zn = 6.40; } else { if (comboBox1.Text == 25) { zn = 6.85; } else { if (comboBox1.Text == 26) { zn = 7.33; } else { if (comboBox1.Text == 27) { zn = 7.84; } else { if (comboBox1.Text == 28) { zn = 8.39; } } } } } } } } } } } } } } } } } } } } } } } } } } } double tarst = 0; if (comboBox1.SelectedIndex > 0) { tarst = Math.Round(Convert.ToDouble(dataGridView9.Rows[0].Cells[0].Value) * zn, 2); textBox15.Text = tarst.ToString(); } else { MessageBox.Show(Выберите разряд для расчета тарифной ставки!, Ошибка!); } double oklad = 0; if (textBox15.Text != ) { oklad = tarst * 1.50; textBox16.Text = oklad.ToString(); } else { MessageBox.Show(Выберите разряд для расчета оклада!, Ошибка!); } double zarpl = 0; try { if (textBox16.Text != ) { zarpl = Math.Round(((oklad * 12) / Convert.ToDouble(dataGridView7.Rows[2].Cells[3].Value)) * obshsum,2); textBox17.Text = zarpl.ToString(); } else { MessageBox.Show(Выберите разряд для расчета заработной платы!, Ошибка!); } } catch { MessageBox.Show(Рассчитайте параметры на первой вкладке для расчета заработной платы!, Ошибка!); } double procpov = 0; if (textBox18.Text != ) { procpov = Math.Round((Convert.ToDouble(textBox18.Text) * zarpl) / 100 ,2); textBox19.Text = procpov.ToString(); } else { MessageBox.Show(Введите процент повышения ЗП, для расчета дополнительной ЗП!, Ошибка!); } double otchisl = 0; if (textBox18.Text != ) { otchisl = Math.Round(((zarpl procpov) * 35) / 100, 2); textBox20.Text = otchisl.ToString(); } else { MessageBox.Show(Введите процент повышения ЗП, для расчета отчислений из ЗП!, Ошибка!); } double opltruda = 0; opltruda = Math.Round(zarpl procpov otchisl ,2); textBox21.Text = opltruda.ToString(); double naklrash = 0; if (textBox22.Text != ) { naklrash = Math.Round((Convert.ToDouble(textBox22.Text) * zarpl) / 100, 2); textBox23.Text = naklrash.ToString(); } else { MessageBox.Show(Введите процент накладных расходов, для расчета накладных расходов!, Ошибка!); } try { dataGridView10.Rows.Add(4); dataGridView10.Rows[0].Cells[0].Value = Стоимость машинного времени; dataGridView10.Rows[1].Cells[0].Value = Расходы на оплату труда; dataGridView10.Rows[2].Cells[0].Value = Накладные расходы; dataGridView10.Rows[3].Cells[0].Value = Полная себестоимость разрабатываемого ПО; dataGridView10.Rows[0].Cells[1].Value = textBox14.Text; dataGridView10.Rows[1].Cells[1].Value = textBox21.Text; dataGridView10.Rows[2].Cells[1].Value = textBox23.Text; for (int i = 0; i