计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

课堂点名软件(一)毕业论文网(3)

2013-05-14 02:14
导读:od.Fill(ds,"ds"); } 然后可以选择是否置顶显示,主要代码如下 if (top == 0) { this.TopMost = true; button2.Text = "取消置顶"; top = 1; } else { this.TopMost = false; button2.Text =
           od.Fill(ds,"ds");
        }

然后可以选择是否置顶显示,主要代码如下
if (top == 0)
            {
                this.TopMost = true;
                button2.Text = "取消置顶";
                top = 1;
            }
            else
            {
                this.TopMost = false;
                button2.Text = "置顶显示";
                top = 0;
            }

然后选择是否需要语音点名,然后开始点名。主要代码如下:
Random ra = new Random();
          name_3.Text =ds.Tables[0].Rows[ra.Next(0, ds.Tables[0].Rows.Count)][1].ToString();
                if (checkBox1.Checked == true)
                {
                    try
                    { (转载自中国科教评价网http://www.nseac.com
                        svsf = new SpeechVoiceSpeakFlags();
                        svc = new SpVoiceClass();
                        svc.SetVolume(Convert.ToUInt16(80));
                        svc.SetRate(2);
                        svc.Voice = svc.GetVoices(string.Empty, string.Empty).Item(3);
                    }
                    catch
                    {
                        MessageBox.Show("语音库不存在,请安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack! ");
                        checkBox1.Checked = false;
                    }
                    mythread = new Thread(Voice);
                    mythread.Start(); (科教范文网http://fw.ΝsΕΑc.com编辑)
                }
2.1 操作流程


3.2.4 出勤统计模块
1.1 设计方法
本功能模块主要为实现对历史出勤情况的一个统计汇总。主要分为学生个人出勤情况统计和班级出勤情况统计。主要工作流程见下图:


1.2 界面设计
点击tabControl1上的出勤统计选项卡,这时出现一个空白界面。然后向此界面上分别添加一个button按钮、dataGridView、groupBox和六个label。再给上述控件设定相应的参数,具体参数见下表:
类型 Name Text
button openfile_3 统计
dataGridView dataGridView4 
groupBox groupBox1 班级出勤情况:
label Label6 个人出勤情况:
label Label11 班  级:
label Label12 总人数:
label Label13 出勤总人次:
label Label14 缺席总人次:
label Label15 出 席 率:
这样出勤统计模块的界面就设计好了,如图所示:


1.3 主要程序代码说明
主要用于计算并显示统计结果。
算法示意:


public void dt_3(DataGridView Dgv)
        {   int c1,ct,cf=0,cg=1,to=0,cto=0;
            string c0=cf.ToString() ,cv=cg.ToString();
            DataTable dt3 = new DataTable();
            DataColumn dc1 = new DataColumn("姓  名", Type.GetType("System.String"));
            DataColumn dc2 = new DataColumn("缺席次数", Type.GetType("System.String"));
            DataColumn dc3 = new DataColumn("点名总次数", Type.GetType("System.String")); (科教范文网http://fw.NSEAC.com编辑发布)
            dt3.Columns.Add(dc1);
            dt3.Columns.Add(dc2);
            dt3.Columns.Add(dc3);
            for (int ij = 0; ij < row; ij++)
            {
                ct=c1=0;
                DataRow dr = dt3.NewRow();
                dr["姓  名"] = reutrnDs().Tables[0].Rows[ij][1];
                for (int cc = 3; cc<column;cc++ )
                {
                    if (reutrnDs().Tables[0].Rows[ij][cc].ToString()== c0)
                    {
                        c1++;
                        ct++;
                        cto++;
                    }
                    if (reutrnDs().Tables[0].Rows[ij][cc].ToString() == cv) 大学排名
                    {
                        ct++;
                        to++;
                    }

                }
                dr["缺席次数"] = c1;
                dr["点名总次数"] = ct;
                dt3.Rows.Add(dr);
            }
            Dgv.DataSource = dt3;
            label11.Text += "  " + openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\") + 1);
            label12.Text += "  " + row+"人";
            label13.Text += "  " + to+"人次";
            label14.Text += "  " + cto+"人次";
            float ccf;
           ccf= (float)to / ((float)to + (float)cto)*100;
            label15.Text += "  " +ccf.ToString("F")+"%";
        }

您可以访问中国科教评价网(www.NsEac.com)查看更多相关的文章。

2.1操作流程
只需点击“统计”按钮,便可生成通解结果。
四、系统的测试与运行
4.1   软件测试
 尽管软件质量保证是贯穿软件开发全过程的活动,但最关键的步骤是软件测试,软件测试是对软件规格说明、软件设计和编码的最后复审,目的是在软件产品交付之前尽可能发现软件中潜伏的错误。大量统计表明,软件测试工作量往往占软件开发总工作量的40%以上。
这个阶段是用来测试程序,找出系统Bug并修改错误的过程。虽然在每个模块开发的过程中都进行过阶段性的测试,但是现场整体测试更接近将来系统投入使用的情况。
在查阅了资料后,了解到系统的整体测试方法主要有非渐增测试法和渐增测试法两种。其中渐增测试法适用于模块间数据流多、可以单独测试各个模块到测试多的模块的情况。由于系统各部分之间有密切的关系,所以选择渐增测试法作为测试的方法。
 测试时首先对各个模块的功能进行测试,对照需求分析逐个测试系统的功能;然后对照数据库的内容察看各个查询功能反馈的结果是否正确;最后整体运行系统,测试各个模块之间的衔接是否会对系统的整体性能发生影响。为了测试程序的健壮性,还可以在测试过程中故意输入一些错误的数据,保证系统能够自行处理这些错误,使得系统在日常的使用中不会由于工作失误而无法运行。

测试小结
在测试过程中,确实发现了很多的错误。一部分因为开发环境与实际使用环境不同产生的,比如说图片的效果不对,或者控件的位置出现偏移等等;还有数据库的连接问题,在不同的计算机上因为计算机名的不同导致无法连接数据库,这些问题通过现场的调试基本得到了解决。
使用面向对象的开发工具进行系统开发后,由于其独有的特点,所以调试时与传统的程序开发语言并不完全相同,就本次开发过程中使用的Microsoft Visual Studio 2005来说,例如:在Microsoft Visual Studio 2005的定义当中,面向对象的设计方法使得很多模块的变量封装起来,由此,对象的变量常常是不可见的,定义全局变量一定要在窗体之外的公用模块中,而且要定义为公用。

(转载自中国科教评价网http://www.nseac.com


另一部分错误却出乎意料,比如说有些控件数组的初始化问题。因为要知道很多情况下程序的错误是连锁性的,一个语句错误,其后相关语句也跟着出错,所以找出错误源是很重要,在程序中设置断点或在调试模式下执行程序,可以快速发现和纠正错误,把无法初始化的控件元素单独初始化后,问题可以得到解决。
经过测试的过程,认识到自己在程序的编写和思路方面都存在一定的问题,相信经过不断的学习和经验积累,可以实现较大的改观。

参考文献
张忠国. Visual C#中随机数使用实例
关于红叶二级电站生产管理系统开发要求. 红叶二级电站生产管理系统 2008
配网管理系统---需求分析说明书. 红叶二级电站生产管理系统 2008
商小千. 燕山大学里仁学院“两课”社会调查报告 2006
白  春. POS系统在零售行业的应用  2005

上一篇:网吧的组建与维护毕业论文网 下一篇:没有了