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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.06.2017
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

}

}

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 < dataGridView10.RowCount; i++)

{

sebest += Convert.ToDouble(dataGridView10.Rows[i].Cells[1].Value);

}

dataGridView10.Rows[3].Cells[1].Value = sebest;

}

catch

{

MessageBox.Show("Введите параметры");

}

}

private void textBox6_TextChanged(object sender, EventArgs e)

{

Form6 form6 = new Form6();

form6.ShowDialog();

textBox6.Text = form6.Summa();

}

private void textBox7_TextChanged(object sender, EventArgs e)

{

Form7 form7 = new Form7();

form7.ShowDialog();

if (form7.DialogResult == DialogResult.OK)

textBox7.Text = form7.kt();

}

private void textBox8_TextChanged(object sender, EventArgs e)

{

Form8 form8 = new Form8();

form8.ShowDialog();

if (form8.DialogResult == DialogResult.OK)

textBox8.Text = form8.raz();

}

}

}

Текст файла Form2.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Расчет_себестоимости

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

bool r1 = radioButton1.Checked;

bool r2 = radioButton2.Checked;

bool r3 = radioButton3.Checked;

bool r4 = radioButton4.Checked;

Form3 form3 = new Form3(r1, r2, r3, r4);

form3.ShowDialog();

Hide();

if (form3.DialogResult == DialogResult.OK)

textBox1.Text = form3.Summ();

}

}

}

Текст файла Form3.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using System.IO;

using System.Diagnostics;

namespace Расчет_себестоимости

{

public partial class Form3 : Form

{

double sum = 0;

public Form3(bool r1, bool r2, bool r3, bool r4)

{

InitializeComponent();

OleDbConnection cn = new OleDbConnection();

OleDbConnectionStringBuilder cnstr = new OleDbConnectionStringBuilder();

cnstr.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr.DataSource = @"Dip.mdb";

cn.ConnectionString = cnstr.ToString();

if (cn.State == ConnectionState.Closed)

{

cn.Open();

string commText = "Select Наименование_функции, Delphi FROM [Каталог_функций]";

OleDbCommand comm = new OleDbCommand(commText, cn);

DataTable table = new DataTable();

OleDbDataAdapter adapter = new OleDbDataAdapter(comm);

adapter.Fill(table);

dataGridView1.DataSource = table;

}

cn.Close();

OleDbConnection cn1 = new OleDbConnection();

OleDbConnectionStringBuilder cnstr1 = new OleDbConnectionStringBuilder();

cnstr1.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr1.DataSource = @"Dip.mdb";

cn1.ConnectionString = cnstr1.ToString();

if (cn1.State == ConnectionState.Closed)

{

cn1.Open();

string commText1 = "Select Наименование_функции, Builder FROM [Каталог_функций]";

OleDbCommand comm1 = new OleDbCommand(commText1, cn1);

DataTable table1 = new DataTable();

OleDbDataAdapter adapter1 = new OleDbDataAdapter(comm1);

adapter1.Fill(table1);

dataGridView2.DataSource = table1;

}

cn1.Close();

OleDbConnection cn2 = new OleDbConnection();

OleDbConnectionStringBuilder cnstr2 = new OleDbConnectionStringBuilder();

cnstr2.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr2.DataSource = @"Dip.mdb";

cn2.ConnectionString = cnstr2.ToString();

if (cn2.State == ConnectionState.Closed)

{

cn2.Open();

string commText2 = "Select Наименование_функции, Builder FROM [Каталог_функций]";

OleDbCommand comm2 = new OleDbCommand(commText2, cn2);

DataTable table2 = new DataTable();

OleDbDataAdapter adapter1 = new OleDbDataAdapter(comm2);

adapter1.Fill(table2);

dataGridView2.DataSource = table2;

}

cn2.Close();

OleDbConnection cn3 = new OleDbConnection();

OleDbConnectionStringBuilder cnstr3 = new OleDbConnectionStringBuilder();

cnstr3.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr3.DataSource = @"Dip.mdb";

cn3.ConnectionString = cnstr3.ToString();

if (cn3.State == ConnectionState.Closed)

{

cn3.Open();

string commText3 = "Select Наименование_функции, Visual_C FROM [Каталог_функций]";

OleDbCommand comm3 = new OleDbCommand(commText3, cn3);

DataTable table3 = new DataTable();

OleDbDataAdapter adapter3 = new OleDbDataAdapter(comm3);

adapter3.Fill(table3);

dataGridView3.DataSource = table3;

}

cn3.Close();

OleDbConnection cn4 = new OleDbConnection();

OleDbConnectionStringBuilder cnstr4 = new OleDbConnectionStringBuilder();

cnstr4.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr4.DataSource = @"Dip.mdb";

cn4.ConnectionString = cnstr4.ToString();

if (cn4.State == ConnectionState.Closed)

{

cn4.Open();

string commText4 = "Select Наименование_функции, Java FROM [Каталог_функций]";

OleDbCommand comm4 = new OleDbCommand(commText4, cn4);

DataTable table4 = new DataTable();

OleDbDataAdapter adapter4 = new OleDbDataAdapter(comm4);

adapter4.Fill(table4);

dataGridView5.DataSource = table4;

}

cn4.Close();

if (r1 == true)

{

dataGridView1.Visible = true;

dataGridView1.Location = new Point(12, 15);

}

else

{

if (r2 == true)

{

dataGridView2.Visible = true;

dataGridView2.Location = new Point(12, 15);

}

else

{

if (r3 == true)

{

dataGridView3.Visible = true;

dataGridView3.Location = new Point(12, 15);

}

else

{

if (r4 == true)

{

dataGridView5.Visible = true;

dataGridView5.Location = new Point(12, 15);

}

}

}

}

}

private void button1_Click(object sender, EventArgs e)

{

if (dataGridView1.Visible == true)

{

for (int i = 0; i < dataGridView1.RowCount; i++)

{

if (dataGridView1.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.Add();

for (int k = 0; k < dataGridView4.RowCount; k++)

{

if (dataGridView1.Rows[i].Cells[0].Value != dataGridView4.Rows[k].Cells[0].Value)

{

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[0].Value = dataGridView1.Rows[i].Cells[0].Value.ToString();

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[1].Value = dataGridView1.Rows[i].Cells[1].Value.ToString();

}

}

}

}

}

else

{

if (dataGridView2.Visible == true)

{

for (int i = 0; i < dataGridView2.RowCount; i++)

{

if (dataGridView2.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.Add();

for (int k = 0; k < dataGridView4.RowCount; k++)

{

if (dataGridView2.Rows[i].Cells[0].Value != dataGridView4.Rows[k].Cells[0].Value)

{

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[0].Value = dataGridView2.Rows[i].Cells[0].Value.ToString();

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[1].Value = dataGridView2.Rows[i].Cells[1].Value.ToString();

}

}

}

}

}

else

{

if (dataGridView3.Visible == true)

{

for (int i = 0; i < dataGridView3.RowCount; i++)

{

if (dataGridView3.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.Add();

for (int k = 0; k < dataGridView4.RowCount; k++)

{

if (dataGridView3.Rows[i].Cells[0].Value != dataGridView4.Rows[k].Cells[0].Value)

{

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[0].Value = dataGridView3.Rows[i].Cells[0].Value.ToString();

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[1].Value = dataGridView3.Rows[i].Cells[1].Value.ToString();

}

}

}

}

}

else

{

if (dataGridView5.Visible == true)

{

for (int i = 0; i < dataGridView5.RowCount; i++)

{

if (dataGridView5.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.Add();

for (int k = 0; k < dataGridView4.RowCount; k++)

{

if (dataGridView5.Rows[i].Cells[0].Value != dataGridView5.Rows[k].Cells[0].Value)

{

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[0].Value = dataGridView5.Rows[i].Cells[0].Value.ToString();

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[1].Value = dataGridView5.Rows[i].Cells[1].Value.ToString();

}

}

}

}

}

}

}

}

}

private void button2_Click(object sender, EventArgs e)

{

if (dataGridView1.Visible == true)

{

for (int i = 0; i < dataGridView4.RowCount; i++)

{

if (dataGridView4.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.RemoveAt(i);

}

}

}

else

{

if (dataGridView2.Visible == true)

{

for (int i = 0; i < dataGridView4.RowCount; i++)

{

if (dataGridView4.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.RemoveAt(i);

}

}

}

else

{

if (dataGridView3.Visible == true)

{

for (int i = 0; i < dataGridView4.RowCount; i++)

{

if (dataGridView4.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.RemoveAt(i);

}

}

}

}

}

}

private void button3_Click(object sender, EventArgs e)

{

for (int i = 0; i < dataGridView4.RowCount; i++)

{

sum += Convert.ToInt32(dataGridView4.Rows[i].Cells[1].Value);

}

this.DialogResult = DialogResult.OK;

}

public string Summ()

{

return sum.ToString();

}

}

}

Текст файла Form4.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Расчет_себестоимости

{

public partial class Form4 : Form

{

string p;

public Form4()

{

InitializeComponent();

}

public string kat()

{

if (radioButton1.Checked == true)

{

p = "Первая";

}

else{

if(radioButton2.Checked == true)

{

p = "Вторая";

}

else

{

p = "Третья";

}

}

return p;

}

private void button1_Click(object sender, EventArgs e)

{

this.DialogResult = DialogResult.OK;

}

}

}

Текст файла Form5.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using System.IO;

using System.Diagnostics;

namespace Расчет_себестоимости

{

public partial class Form5 : Form

{

string kategor;

string znach;

public Form5()

{

InitializeComponent();

OleDbConnection cn = new OleDbConnection();

OleDbConnectionStringBuilder cnstr = new OleDbConnectionStringBuilder();

cnstr.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr.DataSource = @"Dip.mdb";

cn.ConnectionString = cnstr.ToString();

if (cn.State == ConnectionState.Closed)

{

cn.Open();

string commText = "Select Категория_новизны, Использование_на_основании_нового_типа_ПК, Использование_в_среде_новой_ОС, Значение_Кн FROM [Коэффициент_новизны]";

OleDbCommand comm = new OleDbCommand(commText, cn);

DataTable table = new DataTable();

OleDbDataAdapter adapter = new OleDbDataAdapter(comm);

adapter.Fill(table);

dataGridView1.DataSource = table;

}

cn.Close();

}

private void radioButton3_CheckedChanged(object sender, EventArgs e)

{

checkBox1.Enabled = false;

checkBox2.Enabled = false;

}

private void button1_Click(object sender, EventArgs e)

{

if (radioButton1.Checked == true && checkBox1.Checked == true && checkBox2.Checked == true)

{

znach = dataGridView1.Rows[0].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[0].Cells[0].Value.ToString();

}

else

{

if (radioButton1.Checked == true && checkBox1.Checked == false && checkBox2.Checked == true)

{

znach = dataGridView1.Rows[1].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[1].Cells[0].Value.ToString();

}

else

{

if (radioButton1.Checked == true && checkBox1.Checked == true && checkBox2.Checked == false)

{

znach = dataGridView1.Rows[2].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[2].Cells[0].Value.ToString();

}

else

{

if (radioButton1.Checked == true && checkBox1.Checked == false && checkBox2.Checked == false)

{

znach = dataGridView1.Rows[3].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[3].Cells[0].Value.ToString();

}

else

{

if (radioButton2.Checked == true && checkBox1.Checked == true && checkBox2.Checked == true)

{

znach = dataGridView1.Rows[4].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[4].Cells[0].Value.ToString();

}

else

{

if (radioButton2.Checked == true && checkBox1.Checked == false && checkBox2.Checked == true)

{

znach = dataGridView1.Rows[5].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[5].Cells[0].Value.ToString();

}

else

{

if (radioButton2.Checked == true && checkBox1.Checked == true && checkBox2.Checked == false)

{

znach = dataGridView1.Rows[6].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[6].Cells[0].Value.ToString();

}

else

{

if(radioButton3.Checked == true)

{

znach = dataGridView1.Rows[7].Cells[3].Value.ToString();

kategor = dataGridView1.Rows[7].Cells[0].Value.ToString();

}

}

}

}

}

}

}

}

this.DialogResult = DialogResult.OK;

}

private void radioButton2_CheckedChanged(object sender, EventArgs e)

{

checkBox1.Enabled = true;

checkBox2.Enabled = true;

}

private void radioButton1_CheckedChanged(object sender, EventArgs e)

{

checkBox1.Enabled = true;

checkBox2.Enabled = true;

}

public string Kateg()

{

return(kategor);

}

public string zn()

{

return (znach);

}

}

}

Текст файла Form6.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using System.IO;

using System.Diagnostics;

namespace Расчет_себестоимости

{

public partial class Form6 : Form

{

double sum = 0;

public Form6()

{

InitializeComponent();

OleDbConnection cn = new OleDbConnection();

OleDbConnectionStringBuilder cnstr = new OleDbConnectionStringBuilder();

cnstr.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr.DataSource = @"Dip.mdb";

cn.ConnectionString = cnstr.ToString();

if (cn.State == ConnectionState.Closed)

{

cn.Open();

string commText = "Select Характеристика_повышения_сложности_ПО, Значение_Кс FROM [Коэффициент_сложности]";

OleDbCommand comm = new OleDbCommand(commText, cn);

DataTable table = new DataTable();

OleDbDataAdapter adapter = new OleDbDataAdapter(comm);

adapter.Fill(table);

dataGridView1.DataSource = table;

}

cn.Close();

}

private void button1_Click(object sender, EventArgs e)

{

for (int i = 0; i < dataGridView1.RowCount; i++)

{

if (dataGridView1.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.Add();

for (int k = 0; k < dataGridView4.RowCount; k++)

{

if (dataGridView1.Rows[i].Cells[0].Value != dataGridView4.Rows[k].Cells[0].Value)

{

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[0].Value = dataGridView1.Rows[i].Cells[0].Value.ToString();

dataGridView4.Rows[dataGridView4.RowCount - 1].Cells[1].Value = dataGridView1.Rows[i].Cells[1].Value.ToString();

}

}

}

}

}

private void button2_Click(object sender, EventArgs e)

{

if (dataGridView1.Visible == true)

{

for (int i = 0; i < dataGridView4.RowCount; i++)

{

if (dataGridView4.Rows[i].Cells[0].Selected == true)

{

dataGridView4.Rows.RemoveAt(i);

}

}

}

}

private void button3_Click(object sender, EventArgs e)

{

for (int i = 0; i < dataGridView4.RowCount; i++)

{

sum += Convert.ToDouble(dataGridView4.Rows[i].Cells[1].Value);

}

this.DialogResult = DialogResult.OK;

}

public string Summa()

{

return (1 + sum).ToString();

}

}

}

Текст файла Form7.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using System.IO;

using System.Diagnostics;

namespace Расчет_себестоимости

{

public partial class Form7 : Form

{

string s;

public Form7()

{

InitializeComponent();

OleDbConnection cn = new OleDbConnection();

OleDbConnectionStringBuilder cnstr = new OleDbConnectionStringBuilder();

cnstr.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr.DataSource = @"Dip.mdb";

cn.ConnectionString = cnstr.ToString();

if (cn.State == ConnectionState.Closed)

{

cn.Open();

string commText = "Select Степень_охвата_реализауемых_функций_ПО_стандартными_модулями, Значение_Кт FROM [Коэффициент_использования_стандартных_модулей]";

OleDbCommand comm = new OleDbCommand(commText, cn);

DataTable table = new DataTable();

OleDbDataAdapter adapter = new OleDbDataAdapter(comm);

adapter.Fill(table);

dataGridView1.DataSource = table;

dataGridView1.Columns["Значение_Кт"].Visible = false;

}

cn.Close();

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

for (int i = 0; i < dataGridView1.RowCount; i++)

{

if (dataGridView1.Rows[i].Cells[0].Selected == true)

{

s = dataGridView1.Rows[i].Cells[1].Value.ToString();

}

}

this.DialogResult = DialogResult.OK;

}

public string kt ()

{

return (s);

}

}

}

Текст файла Form8.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using System.IO;

using System.Diagnostics;

namespace Расчет_себестоимости

{

public partial class Form8 : Form

{

string kof;

public Form8()

{

InitializeComponent();

OleDbConnection cn = new OleDbConnection();

OleDbConnectionStringBuilder cnstr = new OleDbConnectionStringBuilder();

cnstr.Provider = "Microsoft.Jet.OLEDB.4.0";

cnstr.DataSource = @"Dip.mdb";

cn.ConnectionString = cnstr.ToString();

if (cn.State == ConnectionState.Closed)

{

cn.Open();

string commText = "Select Значения_Кур_IBMPC_Windows, Значение_Кур_для_локальных_сетей, Значение_Кур_для_глобальных_сетей FROM [Коэффициент_средства_разработки]";

OleDbCommand comm = new OleDbCommand(commText, cn);

DataTable table = new DataTable();

OleDbDataAdapter adapter = new OleDbDataAdapter(comm);

adapter.Fill(table);

dataGridView1.DataSource = table;

}

cn.Close();

}

private void button1_Click(object sender, EventArgs e)

{

if (radioButton1.Checked == true && radioButton8.Checked == true)

{

kof = dataGridView1.Rows[0].Cells[0].Value.ToString();

}

else

{

if (radioButton2.Checked == true && radioButton8.Checked == true)

{

kof = dataGridView1.Rows[1].Cells[0].Value.ToString();

}

else

{

if (radioButton3.Checked == true && radioButton8.Checked == true)

{

kof = dataGridView1.Rows[2].Cells[0].Value.ToString();

}

else

{

if (radioButton4.Checked == true && radioButton8.Checked == true)

{

kof = dataGridView1.Rows[3].Cells[0].Value.ToString();

}

else

{

if (radioButton5.Checked == true && radioButton8.Checked == true)

{

kof = dataGridView1.Rows[4].Cells[0].Value.ToString();

}

else

{

if (radioButton6.Checked == true && radioButton8.Checked == true)

{

kof = dataGridView1.Rows[5].Cells[0].Value.ToString();

}

else

{

if (radioButton7.Checked == true && radioButton8.Checked == true)

{

kof = dataGridView1.Rows[6].Cells[0].Value.ToString();

}

else

{

if (radioButton1.Checked == true && radioButton9.Checked == true)

{

kof = dataGridView1.Rows[0].Cells[1].Value.ToString();

}

else

{

if (radioButton2.Checked == true && radioButton9.Checked == true)

{

kof = dataGridView1.Rows[1].Cells[1].Value.ToString();

}

else

{

if (radioButton3.Checked == true && radioButton9.Checked == true)

{

kof = dataGridView1.Rows[2].Cells[1].Value.ToString();

}

else

{

if (radioButton4.Checked == true && radioButton9.Checked == true)

{

kof = dataGridView1.Rows[3].Cells[1].Value.ToString();

}

else

{

if (radioButton5.Checked == true && radioButton9.Checked == true)

{

kof = dataGridView1.Rows[4].Cells[1].Value.ToString();

}

else

{

if (radioButton6.Checked == true && radioButton9.Checked == true)

{

kof = dataGridView1.Rows[5].Cells[1].Value.ToString();

}

else

{

if (radioButton7.Checked == true && radioButton9.Checked == true)

{

kof = dataGridView1.Rows[6].Cells[1].Value.ToString();

}

else

{

if (radioButton1.Checked == true && radioButton10.Checked == true)

{

kof = dataGridView1.Rows[0].Cells[2].Value.ToString();

}

else

{

if (radioButton2.Checked == true && radioButton10.Checked == true)

{

kof = dataGridView1.Rows[1].Cells[2].Value.ToString();

}

else

{

if (radioButton3.Checked == true && radioButton10.Checked == true)

{

kof = dataGridView1.Rows[2].Cells[2].Value.ToString();

}

else

{

if (radioButton4.Checked == true && radioButton10.Checked == true)

{

kof = dataGridView1.Rows[3].Cells[2].Value.ToString();

}

else

{

if (radioButton5.Checked == true && radioButton10.Checked == true)

{

kof = dataGridView1.Rows[4].Cells[2].Value.ToString();

}

else

{

if (radioButton6.Checked == true && radioButton10.Checked == true)

{

kof = dataGridView1.Rows[5].Cells[2].Value.ToString();

}

else

{

if (radioButton7.Checked == true && radioButton10.Checked == true)

{

kof = dataGridView1.Rows[6].Cells[2].Value.ToString();

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

this.DialogResult = DialogResult.OK;

}

public string raz()

{

return (kof);

}

}

}

ПРИЛОЖЕНИЕ Д

Руководство пользователя

1. Введение

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

2. Назначение и условия применения.

Основные функции выполняемы программой:

а) расчет длительности ПО;

б) вывод статистики расчетов длительности;

в) расчет себестоимости ПО;

г) ведение справочников экономических показателей.

3. Подготовка к работе.

Для работы с программой необходимо запустить файл «Расчет себестоимости.exe», который находится в корневой папке программы.

4. Описание операций.

Основные операции, доступные в программном комплексе:

а) выбор показателей из БД;

б) расчет длительности;

в) вывод графика расчетов;

г) расчет себестоимости;

д) запись данных о себестоимости и длительности в отчет.

5. Аварийные ситуации.

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

6. Рекомендации по освоению.

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

ПРИЛОЖЕНИЕ Е

Руководство программиста

1. Назначение и условия применения программы.

Программа «Автоматизированная система расчета себестоимости и длительности разработки ПО РУП «Производственное объединение «Белоруснефть» предназначен для расчета себестоимости и длительности разработки ПО. Основные функции:

д) расчет длительности ПО;

е) вывод статистики расчетов длительности;

ж) расчет себестоимости ПО;

з) ведение справочников экономических показателей.

Программа написана на языке программирования C# и предназначена для использования на персональных компьютерах в операционных системах Microsoft Windows 7/8/10 c установленным пакетом .NET Framework 3.5 и выше.

2. Характеристики программного комплекса.

Программа состоит 2 основных классов:

- приложения-клиента;

- приложения сервера.

3. Обращение к программному комплексу.

Для внесения изменений в автоматизированную систему необходимо использовать среду Visual Studio 2013 или совместимое с ней ПО. Обращение к приложению выполняется через запуск файла «Расчет себестоимости.exe».

4. Входные и выходные данные.

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

ПРИЛОЖЕНИЕ Ж

Экономические данные

Таблица Ж.1 -- Каталог функций программного обеспечения

Код функции

Наименование (содержание) функции

Объем функций (строк исходного кода (LOC))

с использованием среды разработки приложений

Delphi

(Borland)

C++ Builder (Borland)

Visual C++ (Microsoft)

Java

1

2

3

4

5

6

1. Ввод, анализ входной информации, генерация кодов и процессор входного языка

101

Организация ввода информации

100

110

150

130

102

Контроль, предварительная обработка и ввод информации

290

430

550

490

103

Преобразование операторов входного языка в команды другого языка

730

850

980

740

104

Обработка входного языка и формирование таблиц

630

900

1340

1040

105

Преобразование входного языка в машинные команды

2950

3100

4200

3620

106

Синтаксический и анализ входного языка и генерация кодов команд

3750

4900

5700

5350

107

Организация ввода-вывода информации в интерактивном режиме

170

220

320

280

108

Организация ввода-вывода информации с сети терминалов

2780

2920

3200

2950

109

Управление вводом-выводом

2700

1980

2400

1970

2. Формирование, ведение и обслуживание базы данных

201

Генерация структуры базы данных

3450

3950

4300

3500

202

Формирование базы данных

1700

1750

2180

1980

203

Обработка наборов и записей базы данных

2050

2350

2670

2370

204

Обслуживание базы данных в пакетном режиме

1030

1100

1260

1070

205

Обслуживание базы данных в интерактивном режиме

3800

4400

6950

4840

206

Манипулирование данными

8400

8670

9550

7860

207

Организация поиска и поиск в базе данных

5230

5460

5480

4720

208

Реорганизация базы данных

130

190

220

170

1

2

3

4

5

6

209

Загрузки базы данных

3150

2950

2780

2360

3. Формирование и обработка файлов

301

Формирование последовательного файла

340

560

780

590

302

Автоматическая сортировка файлов

1040

1150

930

890

303

Обработка файлов

750

800

1100

1050

304

Управление файлами

4130

5380

5750

5240

305

Формирование файла

1100

1780

2460

2130

4. Генерация программ и ПО, а также настройка программного обеспечения

401

Генерация рабочих программ

3680

3920

3360

3120

402

Генерация программ по описанию

7450

8430

9880

6740

403

Формирование служебных таблиц

570

620

1070

1140

404

Система генерации ПО

2950

4340

4980

3250

405

Система настройки ПО

250

300

370

340

5. Управление ПО, компонентами ПО и внешними устройствами

501

Монитор ПО (управление работой компонентов)

670

980

1340

1230

502

Монитор системы

3750

3880

7740

5760

503

Управление внешними устройствами и объектами

5850

6340

5900

4730

504

Обработка прерываний

980

1260

1680

1760

505

Управление внешней памятью

250

210

200

180

506

Обработка ошибочных сбойных ситуаций

970

1310

1720

1540

507

Обеспечение интерфейса между компонентами

1120

1540

1820

1680

6. Тестирование, проведение тестовых испытаний прикладных программ, вспомогательные программные функции

601

Проведение тестовых испытаний прикладных программ в интерактивном режиме

4500

4700

4300

3780

602

Вспомогательные и сервисные программы

460

490

580

470

7. Расчётные задачи, формирование и вывод на внешние носители документов сложной формы и файлов

1

2

3

4

5

6

701

Математическая статистика и прогнозирование

2890

3620

4560

3780

702

Расчётные задачи (расчёт режимов обработки)

9260

13300

14800

11700

703

Расчёт показателей

410

500

460

420

705

Формирование и вывод на внешние носители

2650

2850

3500

3150

706

Предварительная обработка печать файлов

390

410

470

420

707

Графический вывод результатов

300

330

590

420

708

Интерактивный редактор текста

2800

3910

4540

3780

709

Изменение состояния ресурсов в интерактивном режиме

390

440

630

570

701

Математическая статистика и прогнозирование

2890

3620

4560

3780

8. Создание Internet-портала

801

Простой поиск контента портала

55

802

Многокритериальный поиск контента портала

85

803

Разработка системы оплаты услуг сайта при внедрении интерфейса системы в дизайн сайта

820

804

Создание гостевой книги

50

805

Создание карты сайта

76

806

Сбор статистики о посетителях портала

95

807

Интеграция модуля опроса посетителей сайта

390

808

Создание системы внутренней рекламы

58

809

Создание системы управлением контентом

970

810

Формирование базы данных портала

1480

Таблица Ж.2 --Характеристика категорий сложности ПО

Категория сложности

Характеристики программного обеспечения

1

ПО, обладающее одной или несколькими из следующих характеристик:

1. Наличие сложного интеллектуального языкового интерфейса с пользователем.

2. Обеспечение телекоммуникационной обработки данных и управление удалёнными объектами.

3. Обеспечение существенного распараллеливания вычислений.

4. Криптография и другие методы защиты информации

2

ПО, обладающее одной или несколькими из следующих характеристик:

1. Моделирование объектов и процессов.

2. Обеспечение настройки ПО на изменение структур входных и выходных данных.

3. Обеспечение переносимости ПО.

4. Реализация особо сложных инженерных и научных расчётов

3

ПО, не обладающее перечисленными характеристиками

Таблица Ж.3 -- Нормативная трудоёмкость на разработку ПО

Объем ПО (строки исходного кода (LOC)), Vу

Категория сложности ПО

Номер нормы

1-я

2-я

3-я

1

2

3

4

5

400

30

25

21

1

420

31

26

22

2

440

32

28

23

3

470

34

29

25

4

490

36

30

26

5

520

38

32

27

6

550

40

34

29

7

580

42

35

30

8

610

44

37

32

9

640

46

39

33

10

680

48

41

35

11

710

50

43

36

12

750

53

45

38

13

790

56

47

40

14

1

2

3

4

5

840

59

50

42

15

880

61

52

44

16

930

65

55

46

17

980

68

57

49

18

1040

72

61

51

19

1090

75

63

53

20

1150

79

66

56

21

1210

82

69

59

22

1280

87

73

62

23

1350

91

77

65

24

1420

95

80

68

25

1500

100

85

71

26

1580

105

89

75

27

1670

111

93

79

28

1760

116

98

83

29

1850

122

102

86

30

1960

128

108

91

31

2060

134

113

95

32

2170

141

119

100

33

2290

148

125

105

34

2420

156

131

110

35

2550

163

137

116

36

2690

172

144

122

37

2800

178

150

126

38

2990

189

159

134

39

3150

198

167

140

40

3320

208

175

147

41

3500

219

184

154

42

1

2

3

4

5

3700

230

193

162

43

3900

242

193

162

43

4110

253

213

179

45

4330

266

223

187

46

4570

279

234

197

47

4820

293

246

207

48

13200

741

619

517

67

13920

779

650

543

68

14680

818

682

570

69

15470

858

715

597

70

16320

901

751

627

71

17210

946

789

658

72

18140

993

828

690

73

19130

1043

869

725

74

20170

1095

912

760

75

21270

1150

957

798

76

22430

1208

1005

838

77

23650

1268

1055

879

78

24940

1331

1108

922

79

26300

1398

1163

968

80

27730

1468

1220

1016

81

29240

1541

1281

1066

82

30830

1618

1345

1119

83

32510

1699

1412

1174

84

34290

1785

1482

1233

85

36150

1873

1555

1293

86

38120

1967

1633

1357

87

40200

2066

1714

1424

88

1

2

3

4

5

42390

2169

1799

1495

89

44700

2278

1889

1569

90

47130

2391

1983

1646

91

49700

2511

2081

1728

92

50000

2525

2093

1737

93

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.