软件工程设计实践变电器校验软件工程部分.docx
- 文档编号:18012766
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:16
- 大小:208.95KB
软件工程设计实践变电器校验软件工程部分.docx
《软件工程设计实践变电器校验软件工程部分.docx》由会员分享,可在线阅读,更多相关《软件工程设计实践变电器校验软件工程部分.docx(16页珍藏版)》请在冰点文库上搜索。
软件工程设计实践变电器校验软件工程部分
上海##学院
课程设计报告
课程名称软件工程设计实践
变电器校验
院(系)计信学院
专业计算机系
年级2003级
学生##
时间2006-2007第一学年19周-20周
设计地点学院机房307
指导老师签名:
教研室主任(系主任)签名:
学生签名:
变电器校验管理系统
一、课题背景、目的
变电器校验管理系统是供电局对下属变电所以及变电所内的各变电器的校验信息管理。
它能通过数据的统计对各变电所的变电器提供定期的校验和管理,使总部在业务上实现了有效的管理和及时提供有效应对措施。
二、课题的内容
需求分析
变电器校验管理系统得需求分析分为两个过程,一是理解需求,二是分析需求。
1、理解需求
(1)进入主界面,点击年份、变电所和变电器名称,查询并显示符合条件的变电器资料。
(2)主界面,点击某行取得须校验的变电器信息,查询并显示符合条件的变送器遥测量数据。
(3)单击主界面上的校验报告按钮,可显示所有的变电器校验信息。
(4)点击校验信息上的修改按钮,可以修改变电器的各属性信息。
(5)也可将校验日期,校验人,结论,结论分析添加后点击修改按钮将对应的内容添加到数据库。
(6)点击校验报告界面上的刷新按钮,即不提交修改后的数据重新初始化界面内的数据。
(7)点击校验报告界面上的退出按钮,。
2、分析需求
变电器校验管理是对指定年份下的指定变电所的变电器的测量数据以及结果进行校验和确认。
共分为四个部分:
安装区域,变电器遥测量数据,变电器遥测量数据的校验数据,校验结论。
变电器校验的基本功能:
(1)变电器安装区域
根据用户指定的信息(如年份、变电所、变电器名称),显示变电器的信息方便用户确认。
(2)变电器遥测量数据
用户在变电器安装区域中显示的内容中选取需要校验的的变电器后会在本区域显示需要的变电器遥测量数据。
(3)变电器遥测量数据的校验数据
此模块可以修改有关变电器以及变电器遥测量数据各个属性值。
(4)校验结论
可以根据给定的校验公式进行数据的校验,然后将校验后的数据(包括校验人,校验日期,结论,结论分析)保存到数据库。
软件设计
分为两部分:
总体设计和详细设计
1、总体设计
(1)需求规定:
对功能的规定:
具备建立数据库、数据录入、修改、查询、打印功能。
(2)对性能的规定:
A稳定性能好,可靠性高,可维护性强。
B界面简洁,易于操作
(3)运行环境要求:
设备:
PII166主机,硬盘1G以上
操作系统:
Windows98/Me/2000/Xp
(4)系统模块图
变电器校验管理系统得功能模块分析成以下几个部分:
安装区域
变电器遥测量数据
变电器遥测量数据的校验数据
校验结论
2、详细设计
(1)安装区域模块的作用是根据用户指定的信息(如年份、变电所、变电器名称),显示变电器的信息方便用户确认。
publicForm1()
{
InitializeComponent();
}
其中,InitializeComponent()函数是根据对控件的所有添加、设置工作而自动产生的幕后代码。
根据用户指定的信息(如年份、变电所、变电器名称)的功能的实现是由C#的数据绑定功能实现,代码如下:
privatevoidcomboBox2_SelectedIndexChanged(objectsender,EventArgse)
{
this.bDQTableAdapter.FillByname(this.dataSet3.BDQ,comboBox3.Text,comboBox2.Text,comboBox1.Text);
}
(2)变电器遥测量数据的校验数据模块的作用是可以修改有关变电器以及变电器遥测量数据各个属性值。
在变电器遥测量数据模块界面单击校验报告按钮进入修改界面:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringbb=comboBox1.Text;
stringdd=comboBox3.Text;
stringtt=comboBox2.Text;
Form2a=newForm2(bb,dd,tt);
//为Form2传入年份、变电所、变电器名称的值。
a.Show();
}
初始化(填充数据代码)
publicpartialclassForm2:
Form
{
publicForm2(stringrr,stringdd,stringtt)
{
InitializeComponent();
textBox44.Text=rr;
textBox43.Text=dd;
textBox45.Text=tt;
}
privatevoidForm2_Load(objectsender,EventArgse)
{
//TODO:
这行代码将数据加载到表“dataSet4.JCR”中。
您可以根据需要移动或移除它。
this.jCRTableAdapter.Fill(this.dataSet4.JCR);
//TODO:
这行代码将数据加载到表“dataSet4.JR”中。
您可以根据需要移动或移除它。
this.jRTableAdapter.Fill(this.dataSet4.JR);
//TODO:
这行代码将数据加载到表“dataSet4.XYRQ”中。
您可以根据需要移动或移除它。
this.xYRQTableAdapter.Fill(this.dataSet4.XYRQ);
//TODO:
这行代码将数据加载到表“dataSet3.BDQ”中。
您可以根据需要移动或移除它。
this.bDQTableAdapter.Fill(this.dataSet3.BDQ);
//TODO:
这行代码将数据加载到表“dataSet3.BDQMC”中。
您可以根据需要移动或移除它。
this.bDQMCTableAdapter.Fill(this.dataSet3.BDQMC);
stringconn4="DataSource=CHENHAO;UserID=SYSTEM;Password=manager";
OracleConnectionmyConn4=newOracleConnection(conn4);
myConn4.Open();
DataSetds4=newDataSet();
OracleDataAdaptermyAdapter4=newOracleDataAdapter("select型号,生产厂家,出厂编号,出厂日期,精度等级,投运日期from\"20032844\".BDQwhere\"20032844\".BDQ.序号=(select序号from\"20032844\".BDQwhere\"20032844\".BDQ.年份='"+textBox44.Text+"'and\"20032844\".BDQ.变电所='"+textBox43.Text+"'and\"20032844\".BDQ.变电器名称='"+textBox45.Text+"')",myConn4);
myAdapter4.Fill(ds4,"CLS");
myConn4.Close();
try
{
textBox1.Text=ds4.Tables["CLS"].Rows[0][0].ToString();
textBox2.Text=ds4.Tables["CLS"].Rows[0][1].ToString();
textBox4.Text=ds4.Tables["CLS"].Rows[0][2].ToString();
textBox3.Text=ds4.Tables["CLS"].Rows[0][3].ToString();
textBox8.Text=ds4.Tables["CLS"].Rows[0][4].ToString();
textBox5.Text=ds4.Tables["CLS"].Rows[0][5].ToString();
}
catch(Exceptionex){ex.Message.ToString();}
stringconn5="DataSource=CHENHAO;UserID=SYSTEM;Password=manager";
OracleConnectionmyConn5=newOracleConnection(conn5);
myConn5.Open();
DataSetds5=newDataSet();
OracleDataAdaptermyAdapter5=newOracleDataAdapter("select满意度,输出满值,温度,遥测号,CT变比,PT变比,波纹,遥测点,校验类别,二次输出满值from\"20032844\".CLSJwhere\"20032844\".CLSJ.序号=(select序号from\"20032844\".BDQwhere\"20032844\".BDQ.年份='"+textBox44.Text+"'and\"20032844\".BDQ.变电所='"+textBox43.Text+"'and\"20032844\".BDQ.变电器名称='"+textBox45.Text+"')",myConn5);
myAdapter5.Fill(ds5,"CL");
myConn5.Close();
try
{
textBox7.Text=ds5.Tables["CL"].Rows[0][0].ToString();
textBox6.Text=ds5.Tables["CL"].Rows[0][1].ToString();
textBox12.Text=ds5.Tables["CL"].Rows[0][2].ToString();
textBox11.Text=ds5.Tables["CL"].Rows[0][3].ToString();
textBox10.Text=ds5.Tables["CL"].Rows[0][4].ToString();
textBox9.Text=ds5.Tables["CL"].Rows[0][5].ToString();
textBox16.Text=ds5.Tables["CL"].Rows[0][6].ToString();
textBox15.Text=ds5.Tables["CL"].Rows[0][7].ToString();
textBox14.Text=ds5.Tables["CL"].Rows[0][8].ToString();
textBox13.Text=ds5.Tables["CL"].Rows[0][9].ToString();
intx=System.Convert.ToInt32(textBox10.Text);
inty=System.Convert.ToInt32(textBox9.Text);
intz=x+y-5;
textBox22.Text=z.ToString();
z=x+y-4;
textBox26.Text=z.ToString();
z=x+y-3;
textBox31.Text=z.ToString();
z=x+y-2;
textBox27.Text=z.ToString();
z=x+y-1;
textBox39.Text=z.ToString();
z=x+y-0;
textBox35.Text=z.ToString();
textBox17.Text="CT变比+PT变比-电压";
}
catch(Exceptionex){ex.Message.ToString();}
}
(3)校验结论模块使用C#的数据绑定功能
代码略。
(4)其他部分代码
修改按钮代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text.Equals("")||textBox2.Text.Equals("")||textBox3.Text.Equals("")||textBox4.Text.Equals("")||textBox5.Text.Equals("")||textBox6.Text.Equals("")||textBox7.Text.Equals("")||textBox8.Text.Equals("")||textBox9.Text.Equals("")||textBox10.Text.Equals("")||textBox11.Text.Equals("")||textBox12.Text.Equals("")||textBox13.Text.Equals("")||textBox14.Text.Equals("")||textBox15.Text.Equals("")||textBox16.Text.Equals(""))
//判定文本框是否为空,为空则显示错误!
{
MessageBox.Show("可能您修改的数据为空,请重新修改!
","输入错误!
",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
Else
//满足条件就修改!
{
stringconn="DataSource=CHENHAO;UserID=SYSTEM;Password=manager";
OracleConnectionmyConn=newOracleConnection(conn);
stringupdatecmd="update\"20032844\".BDQset\"20032844\".BDQ.型号='"+textBox1.Text.ToString()+"',\"20032844\".BDQ.生产厂家='"+textBox2.Text.ToString()+"',\"20032844\".BDQ.出厂编号='"+textBox4.Text.ToString()+"',\"20032844\".BDQ.出厂日期='"+textBox3.Text.ToString()+"',\"20032844\".BDQ.精度等级='"+textBox8.Text.ToString()+"',\"20032844\".BDQ.投运日期='"+textBox5.Text.ToString()+"'where\"20032844\".BDQ.序号=(select序号from\"20032844\".BDQwhere\"20032844\".BDQ.年份='"+textBox44.Text+"'and\"20032844\".BDQ.变电所='"+textBox43.Text+"'and\"20032844\".BDQ.变电器名称='"+textBox45.Text+"')";
OracleCommandmyCommand=newOracleCommand(updatecmd,myConn);
myConn.Open();
//打开数据库连接
myCommand.ExecuteNonQuery();
//执行SQL语句
myConn.Close();
//关闭数据库连接
stringconn1="DataSource=CHENHAO;UserID=SYSTEM;Password=manager";
OracleConnectionmyConn1=newOracleConnection(conn1);
stringupdatecmd1="update\"20032844\".CLSJset\"20032844\".CLSJ.满意度='"+textBox7.Text.ToString()+"',\"20032844\".CLSJ.输出满值='"+textBox6.Text.ToString()+"',\"20032844\".CLSJ.温度='"+textBox12.Text.ToString()+"',\"20032844\".CLSJ.遥测号='"+textBox11.Text.ToString()+"',\"20032844\".CLSJ.CT变比='"+textBox10.Text.ToString()+"',\"20032844\".CLSJ.PT变比='"+textBox9.Text.ToString()+"',\"20032844\".CLSJ.波纹='"+textBox16.Text.ToString()+"',\"20032844\".CLSJ.遥测点='"+textBox15.Text.ToString()+"',\"20032844\".CLSJ.校验类别='"+textBox14.Text.ToString()+"',\"20032844\".CLSJ.二次输出满值='"+textBox13.Text.ToString()+"',\"20032844\".CLSJ.校验日期='"+comboBox1.Text.ToString()+"',\"20032844\".CLSJ.结论='"+comboBox4.Text.ToString()+"',\"20032844\".CLSJ.检验人='"+comboBox2.Text.ToString()+"',\"20032844\".CLSJ.结论分析='"+textBox46.Text.ToString()+"'where\"20032844\".CLSJ.序号=(select序号from\"20032844\".BDQwhere\"20032844\".BDQ.年份='"+textBox44.Text+"'and\"20032844\".BDQ.变电所='"+textBox43.Text+"'and\"20032844\".BDQ.变电器名称='"+textBox45.Text+"')";
OracleCommandmyCommand1=newOracleCommand(updatecmd1,myConn1);
myConn1.Open();
myCommand1.ExecuteNonQuery();
MessageBox.Show("修改成功!
","d",MessageBoxButtons.OK,MessageBoxIcon.Information);
myConn1.Close();
this.Close();
}
}
首纪录按钮代码:
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.BindingContext[this.dataGridView1.DataSource].Position=0;
//把光标位置设置为第一行
}
程序测试
选定需要修改的信息
修改界面
修改信息
修改后数据信息
修改数据信息错误
用户手册
第一界面:
年份下拉框:
选择查看该年份所有变电所的所有变电器信息,变电所下拉框:
选选择查看该前下拉框中年份下的变电所的所有变电器信息,变电器名称下拉框:
选择查看该前下拉框中年份下的前下拉框中的变电所的所有变电器信息。
首记录、上一条、下一条、尾记录按钮:
控制对变电器信息表的记录位置跳转
校验报告按钮:
转到第二界面
从前一界面取得的年份,变电所,变电器名称显示在第一行,除第一行外所有的文本框可以修改(需符合数据库中的类型定义)!
修改按钮将修改后的数据保存,刷新按钮将第二界面刷新,退出按钮退出第二界面。
四、有关资料及参考书目
《软件工程---原理、方法与应用》史济民等编著高等教育出版社200.12
《Visualc#数据库项目案例导航》张奇等编著清华大学出版社2005.12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 设计 实践 变电器 校验 部分