Разработка автоматизированной системы расчета себестоимости и длительности разработки программного обеспечения
Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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
Подобные документы
Разработка программного обеспечения для управления базой данных. Место задачи в системе автоматизации. Семантическое моделирование данных. Разработка программного обеспечения и базы данных. Расчет трудоемкости и себестоимости этапов проектирования.
дипломная работа [2,9 M], добавлен 04.02.2016Анализ области автоматизации. Проектирование пользовательского интерфейса и баз данных. Выбор платформы создания информационной системы. Взаимодействие приложения с источниками данных. Оценка длительности и стоимости разработки программного обеспечения.
дипломная работа [2,2 M], добавлен 09.08.2011Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Современные инструменты разработки программного обеспечения для СУТП. Универсальные языки программирования и сравнение их со SCADA-системами. Разработка программного обеспечения с использованием многоканальных измерительных преобразователей Ш9327.
дипломная работа [2,3 M], добавлен 13.07.2011Изучение и разработка алгоритмов сверления. Выбор языка и среды программирования. Исследование структуры системы компьютерного моделирования. Ввод данных о материале инструмента и детали, методе обработки. Визуальная проверка и корректировка данных.
отчет по практике [295,9 K], добавлен 22.05.2013Понятие и ключевое отличие распределенной разработки программного обеспечения, его достоинства и недостатки. Концептуальное решение и выбор типа разработки. Особенности программного обеспечения с открытым исходным кодом. Идея и развитие Open Source.
курсовая работа [97,7 K], добавлен 14.12.2012Автоматизация учёта поступления и обучения детей в "Доме детского творчества". Проектирование программного продукта ИС; выбор системы управления базы данных, языка программирования. Разработка концептуальной, логической и физической моделей данных.
дипломная работа [1,5 M], добавлен 10.10.2015Практические аспекты использования прикладного программного обеспечения при разработке базы данных "Аудиторный фонд ГБОУ СПО "Старооскольский педагогический колледж". Системы управления базами данных. Описание и функциональные возможности приложения.
курсовая работа [360,4 K], добавлен 07.10.2014Проектирование программного обеспечения для классифицирования выпускников высшего учебного заведения. Выбор системы управления базами данных и языка программирования. Разработка структуры данных, схема базы данных. Реализация программного комплекса.
дипломная работа [2,4 M], добавлен 27.03.2013Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.
курсовая работа [1,5 M], добавлен 23.01.2010