软件工程--论文.doc
《软件工程--论文.doc》由会员分享,可在线阅读,更多相关《软件工程--论文.doc(44页珍藏版)》请在咨信网上搜索。
你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。 ============================================================================ -------------------------------------------------------------------------------------------------------------------------------------- 软 件 工 程 课程代码: 姓名:江国福 山东英才学院计算机电子信息工程学院09级计算机及应用试本1班 邮编:250104 电话号码:15562595979 2012.03.14 目录 摘 要…………………………………………………………………………3 Abstract………………………………………………………………………4 第一章 引言…………………………………………………………………4 1.1 课题背景……………………………………………………………………4 1.2 系统简介……………………………………………………………………4 第二章 系统的分析……………………………………………………………5 2.1 系统开发的目标和思想……………………………………………………5 2.2 系统的可行性分析…………………………………………………………6 第三章 系统的设计……………………………………………………………6 3.1 系统的功能结构设计………………………………………………………7 3.2 系统的数据库设计 3.3 界面设计与代码设计……………………………………………………………………7 …………………………………………………………39 结束语………………………………………………………………………………40 致谢…………………………………………………………………………………40 参考文献……………………………………………………………………………41 摘 要 传统的电费管理都是由工作人员手工查表,抄表完成的,其中要完成用户电费的收取,每月抄度,用户购电情况查询,以及列出欠费用户的信息名单,之类的信息.其工作强度大,工作流程繁琐,由于工作人员的不细心,将会造成电费收支的出错也是经常发生的.鉴于以上原因我们有必要开发一种帮作电费管理人员的软件系统,可以完成检查用户用电情况,每月抄度,信息录入以及基本数据维护的各项功能.本系统采用visual basic 6.0与微软Access数据库方式.界面尽量做到人性化,数据维护方面做到可靠安全. 关键字: 电费管理,visual basic, Access,数据库 Abstract Electricity from the traditional management staff are artisanal Chabiao, meter reading completed, which should be completed by the users of electricity per month penalty for users to buy electricity enquiries, and a list of user information channels list such information. Its work-intensive, cumbersome workflow, because staff are not careful. would result in the tariff revenue is recurring mistakes. Given the above reasons we need to develop a management software to help make electricity system, the user can complete the inspection of electricity monthly copied degrees, Information includes basic data and the maintenance function. with the system using visual basic Microsoft Access 6.0 database. as far as possible humanization interface, data maintenance to reliable security. keyword : tariff management, visual basic, Access, the database 第一章 引言 1.1 课题背景 传统的电费管理都是由工作人员手工查表,抄表完成的,其中要完成用户电费的收取,每月抄度,用户购电情况查询,以及列出欠费用户的信息名单,之类的信息.其工作强度大,工作流程繁琐,由于工作人员的不细心,将会造成电费收支的出错也是经常发生的.鉴于以上原因我们有必要开发一种帮作电费管理人员的软件系统,可以完成检查用户用电情况,每月抄度,信息录入以及基本数据维护的各项功能.本系统采用visual basic 6.0与微软Access数据库方式.界面尽量做到人性化,数据维护方面做到可靠安全. 1.2 系统简介 本系统主要由以下几大功能模块组成: 一. 用户交费:(交纳电费,本日小节) 二. 本月抄度:(单户抄度 多户抄度) 三. 资料导出 (全部清单,欠费清单) 四. 数据查询 (电费查询与统计,用户欠费查询) 五. 信息录入 (资料录入,资料修改, 资料删除) 六. 系统数据维护 (数据备份,数据恢复) 七. 基本数据维护 (用户类型维护, 操作员维护) 八. 帮助 九. 退出 第二章 系统的分析 2.1 系统开发的目标和思想 本系统主要服务于电费管理人员的日常工作.设计思路主要参照工作人员抄表,记录资料,资料管理,信息录入等方面的工作流程展开的. 2.2 系统的可行性分析 本系统采用visual basic6.0与微软的access作为数据库结合.在系统编写上具有可行性. 经济方面:本系统可以服务电厂,电费管理单位,为企业节省人力开支. 社会方面:服务于大众,方便抄表人员工作,可靠方便. 第三章 系统的设计 3.1 系统的功能结构设计 程序登陆 主界面 用户交费 本月抄费 资料导出 数据查询 信息录入 系统数据维护 基本数据维护 帮助 退出 3.2 系统的数据库设计 1. 用户类型表: 字段名称 数据类型 说明 ATypeID 自动编号 AType 文本 电费类型 UNITPRICE 货币 Adate 日期/时间 电费设置日期 2. 密码表: 字段名称 数据类型 姓名 文本 操作权限 文本 密码 文本 3. MaxID表: 字段名称 数据说明 TableName 文本 MaxID 数字 3.3 界面设计与代码设计 1.用户登陆界面设计: 3.4 界面设计与代码设计 用户登陆界面代码分析: Private Sub Command1_Click() Dim rstpchard As New ADODB.Recordset Dim reHard As String Dim getid As String reHard = GetpcHard(getid) rstpchard.Open "select * from getpchard ", gCnn, adOpenKeyset, adLockBatchOptimistic If rstpchard.RecordCount = 0 Then rstpchard.AddNew rstpchard.Fields(0) = reHard rstpchard.UpdateBatch adAffectCurrent Else If Trim(reHard) <> Trim(rstpchard.Fields(0)) Then MsgBox " 对不起,使用不合法请与开发者联系! ", vbInformation End End If End If If Check1.Value = 1 Then Set rec = New ADODB.Recordset rec.Open "select * from 记住密码", gCnn, 3, 3 rec("标记") = "1" If Combo2.Text <> "" Then rec("姓名") = Combo2.Text Else rec("姓名") = "" End If If Combo1.Text <> "" Then rec("权限") = Combo1.Text Else rec("权限") = "" End If If Text2.Text <> "" Then rec("密码") = Text2.Text Else rec("密码") = "" End If rec.Update rec.Close Else Set rec = New ADODB.Recordset rec.Open "select * from 记住密码", gCnn, 3, 3 rec("标记") = "0" rec.Update rec.Close End If Dim rec1 As ADODB.Recordset Set rec1 = New ADODB.Recordset rec1.Open "select * from 登录人员", gCnn, 3, 3 Set rec = New ADODB.Recordset rec.Open "select * from 密码表 where 姓名='" & Combo2.Text & "'and 操作权限='" & Combo1.Text & "'and 密码='" & Text2.Text & "'", gCnn, 3, 3 If rec.EOF = False Then If rec("操作权限") <> "管理员" Then ' FRMMAIN.XZCK.Enabled = False MDIme.mczy.Enabled = False MDIme.xtwh.Enabled = False MDIme.del.Enabled = False ' FRMMAIN.DJGL.Enabled = False ' FRMMAIN.delte.Enabled = False Else ' Me.XZCK.Enabled = True MDIme.mczy.Enabled = True MDIme.xtwh.Enabled = True CreateNewKey HKEY_CURRENT_USER, "ZhiYuanTechnologe" SetKeyValue HKEY_CURRENT_USER, "ZhiYuanTechnologe", "UserName", dlj, REG_SZ SetKeyValue HKEY_CURRENT_USER, "ZhiYuanTechnologe", "PassWord", dlj, REG_SZ ' FRMMAIN.DJGL.Enabled = True ' FRMMAIN.delte.Enabled = True End If rec1("姓名") = Combo2.Text rec1.Update rec1.Close Me.Hide Guser = Combo2.Text MDIme.Show Else MsgBox "权限或密码不正确,请重试!", vbInformation End If rec.Close End Sub Private Sub Command11_Click() End Sub Private Sub Command2_Click() Combo2.Text = "" Text2.Text = "" Combo1.Text = "" End Sub Private Sub Command3_Click() End End Sub Private Sub Command4_Click() Me.Hide FRMMMXG.Show 1 End Sub Private Sub Form_Activate() Text2.Text = "" Combo1.Text = "" Combo2.Text = "" Set rec = New ADODB.Recordset rec.Open "select * from 记住密码", gCnn, 3, 3 If rec("标记") = "0" Or rec("标记") = "1" Then Check1.Value = rec("标记") End If rec.Close Set rec = New ADODB.Recordset rec.Open "select * from 记住密码", gCnn, 3, 3 If rec("标记") = 1 Then Combo2.Text = rec("姓名") Combo1.Text = rec("权限") Text2.Text = rec("密码") End If rec.Close Command1.SetFocus End Sub Private Sub Form_Load() gCnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:database password= " & DbPassword & " ;Data Source= " & _ App.Path & "\data\dbdb.mdb;Persist Security Info=False" gCnn.CursorLocation = adUseClient gCnn.Open Set rec = New ADODB.Recordset rec.Open "select distinct 姓名 from 密码表", gCnn, 3, 3 With Combo2 Do Until rec.EOF .AddItem rec("姓名") rec.MoveNext Loop End With rec.Close Set rec = Nothing End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = True Select Case MsgBox("此操作将退出本系统,继续吗?", vbYesNo, "警告") Case vbYes Cancel = False End Case Else Cancel = True End Select End Sub 2.主界面设计: 主界面代码设计: Private Sub alllm_Click() frmList.qfFlg = False frmList.Show End Sub Private Sub backup_Click() frmbeifen.Show End Sub Private Sub benrixiaojie_Click() frmCount.Show End Sub Private Sub Command1_Click() frameFee.Visible = False End Sub Private Sub cmdQuery_Click() Dim rst As New ADODB.Recordset rst.Open " select * from panelinfo where holder='" & Me.txtUser & "' and delflag<>true ", gCnn, adOpenStatic, adLockBatchOptimistic If rst.RecordCount <> 0 Then dcvalue.Text = rst.Fields(2) txtUserName(0) = rst.Fields(1) txtUserName(1) = rst.Fields!nowecount txtUserName(2) = rst.Fields!cendcode dtpwdate.Value = rst.Fields(4) txtUserName(3) = Format(rst.Fields!lMoney, "###0.00") txtUserName(4) = Format(rst.Fields!bmoney, "###0.00") txtUserName(6) = Format(rst.Fields!lsFee, "###0.00") 'txtUserName(5) = txtUserName(1) * rst.Fields!lMoney * (rst.Fields!lightScale / 100) + txtUserName(1) * txtUserName(4) * (1 - rst.Fields!lightScale / 100) txtUserName(5) = Format(txtUserName(1) * rst.Fields!lMoney * (rst.Fields!lightScale / 100) + rst.Fields!nowecount * rst.Fields!bmoney * (1 - rst.Fields!lightScale / 100), "###0.00") txtUserName(8) = rst.Fields(9) txtUserName(7) = Format(Val(txtUserName(5)) + Val(txtUserName(6)), "####0.00") dcNum.Text = rst.Fields(1) Else MsgBox " 没有查询到数据! ", vbInformation End If rst.Close Set rst = Nothing End Sub Private Sub dcNum_Click(Area As Integer) Dim rst As New ADODB.Recordset rst.Open " select * from panelinfo where holderid='" & dcNum.Text & "'and delflag<>true ", gCnn, adOpenKeyset, adLockBatchOptimistic If Not rst.EOF Then dcvalue.Text = rst.Fields(2) txtUserName(0) = rst.Fields(1) txtUserName(1) = rst.Fields!nowecount txtUserName(2) = rst.Fields!cendcode dtpwdate.Value = rst.Fields(4) txtUserName(3) = Format(rst.Fields!lMoney, "###0.00") txtUserName(4) = Format(rst.Fields!bmoney, "###0.00") txtUserName(6) = Format(rst.Fields(8), "####0.00") txtUserName(5) = Format(txtUserName(1) * txtUserName(3) * (rst.Fields!lightScale / 100) + txtUserName(1) * txtUserName(4) * (1 - rst.Fields!lightScale / 100), "####0.00") txtUserName(8) = rst.Fields(9) txtUserName(7) = Format(Val(txtUserName(5)) + Val(txtUserName(6)), "####0.00") End If rst.Close End Sub Private Sub dcvalue_Click(Area As Integer) Dim rst As New ADODB.Recordset rst.Open " select * from panelinfo where holderid='" & dcvalue.BoundText & "' and delflag<>true ", gCnn, adOpenStatic, adLockBatchOptimistic If Not rst.EOF Then dcvalue.Text = rst.Fields(2) txtUserName(0) = rst.Fields(1) txtUserName(1) = rst.Fields!nowecount txtUserName(2) = rst.Fields!cendcode dtpwdate.Value = rst.Fields(4) txtUserName(3) = Format(rst.Fields!lMoney, "###0.00") txtUserName(4) = Format(rst.Fields!bmoney, "###0.00") txtUserName(6) = Format(rst.Fields!lsFee, "###0.00") 'txtUserName(5) = txtUserName(1) * rst.Fields!lMoney * (rst.Fields!lightScale / 100) + txtUserName(1) * txtUserName(4) * (1 - rst.Fields!lightScale / 100) txtUserName(5) = Format(txtUserName(1) * rst.Fields!lMoney * (rst.Fields!lightScale / 100) + rst.Fields!nowecount * rst.Fields!bmoney * (1 - rst.Fields!lightScale / 100), "###0.00") txtUserName(8) = rst.Fields(9) txtUserName(7) = Format(Val(txtUserName(5)) + Val(txtUserName(6)), "####0.00") dcNum.Text = rst.Fields(1) End If rst.Close Set rst = Nothing End Sub Private Sub dcvalue_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Private Sub del_Click() frmdel.Show End Sub Private Sub dhcb_Click() usrcopyP.Show End Sub Private Sub dhcp_Click() frmCopyP.Show End Sub Private Sub duohu_Click() frmCuifei.muser1 = 2 frmCuifei.Show End Sub Private Sub edit_Click() frmEdit.Show End Sub Private Sub exit_Click() End End Sub Private Sub insert_Click() frmInsert.Show 1 End Sub Private Sub jiaonadianfei_Click() frmFee.Show End Sub Private Sub M_USERYTPE_Click() FRMUSERTYPE.Show 1 End Sub Private Sub MDIForm_Load() loadAdd End Sub Public Sub loadAdd() If rst.State = 1 Then rst.Close End If rst.Open " select * from panelinfo where delflag<>true ", gCnn, adOpenKeyset, adLockBatchOptimistic If rst.RecordCount <> 0 Then Set dcvalue.RowSource = rst dcvalue.BoundColumn = "holderID" dcvalue.ListField = "holder" Set dcNum.DataSource = rst Set dcNum.RowSource = rst dcNum.ListField = "holderid" If Not rst.EOF Then dcNum.Text = rst.Fields!holderid dcvalue.Text = rst.Fields(2) txtUserName(0) = rst.Fields(1) txtUserName(1) = rst.Fields!nowecount txtUserName(2) = rst.Fields!cendcode dtpwdate.Value = rst.Fields(4) txtUserName(3) = Format(rst.Fields!lMoney, "##0.00") txtUserName(4) = Format(rst.Fields!bmoney, "###.0.00") txtUserName(6) = rst.Fields!lsFee txtUserName(5) = Val(txtUserName(1)) * Val(txtUserName(3)) * (Val(rst.Fields!lightScale) / 100) + Val(txtUserName(1)) * Val(txtUserName(4)) * (1 - rst.Fields!lightScale / 100) txtUserName(8) = rst.Fields(9) txtUserName(7) = Val(txtUserName(5)) + Val(txtUserName(6)) rst.Fields!cFeeMoney = txtUserName(7) rst.UpdateBatch adAffectCurrent End If End If End Sub Public Sub loadData(Hid As String) Dim rst As New ADODB.Recordset Dim cnn As New ADODB.Connection Dim Atimes As Integer Dim sqlAdd As String cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:database password= " & DbPassword & " ;Data Source= " & _ App.Path & "\data\dbdb.mdb;Persist Security Info=False" cnn.CursorLocation = adUseClient cnn.Open If Trim(Hid) <> "" Then rst.Open " select * from panelinfo where holderid='" & Hid & "' and delflag<>true ", cnn, adOpenStatic, adLockBatchOptimistic Else rst.Open " select * from panelinfo where delflag<>true ", cnn, adOpenStatic, adLockBatchOptimistic End If If Not rst.EOF Then dcNum.Text = rst.Fields!holderid dcvalue.Text = rst.Fields(2) txtUserName(0) = rst.Fields(1) txtUserName(1) = rst.Fields!nowecount txtUserName(2) = rst.Fields!cendcode dtpwdate.Value = rst.Fields(4) txtUserName(3) = Format(rst.Fields!lMoney, "####0.00") txtUserName(4) = Format(rst.Fields!bmoney, "####0.00") txtUserName(6) = Format(rst.Fields!lsFee, "####0.00") 'txtUserName(5) = Format(txtUserName(1) * txtUserName(3) * (rst.Fields!lightScale / 100) + txtUserName(1) * txtUserName(4) * (1 - rst.Fields!lightScale / 100), "####0.00") If rst.Fields!Atimes = 0 Then Atimes = 1 Else Atimes = rst.Fields!Atimes End If txtUserName(5) = Format(Val(txtUserName(1)) * txtUserName(3) * Atimes, "####0.00") txtUserName(8) = rst.Fields(9) txtUserName(7) = Format(Val(txtUserName(5)) + Val(txtUserName(6)), "####0.00") rst.Fields!cFeeMoney = txtUserName(7) rst.UpdateBatch adAffectCurrent End If rst.Close cnn.Close End Sub Private Sub MDIForm_Unload(Cancel As Integer) gCnn.Close Set gcon = Nothing End Sub Private Sub mgcf_Click() frmFeefind.Show End Sub Private Sub mhf_Click() frmdaoru.Show End Sub Private Sub msf_Click() frmFind1.Show End Sub Private Sub qianfeilm_Click() frmList.qfFlg = True frmList.Show End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComc- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文