软件学院实践环节设计物业维修管理系统的设计与实现_第1页
软件学院实践环节设计物业维修管理系统的设计与实现_第2页
软件学院实践环节设计物业维修管理系统的设计与实现_第3页
软件学院实践环节设计物业维修管理系统的设计与实现_第4页
软件学院实践环节设计物业维修管理系统的设计与实现_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中原工学院软件学院实践环节设计课程名称: 三级实践课题 课题名称: 物业维修管理系统的设计与实现 专 业: 软件工程 班 级: rbn.net123 学 号: 201207082330 学生姓名: 薛聚龙 指导教师: 张玉莹 2014年 3 月 25 日中原工学院软件学院三级实践课题设计任务书姓 名 薛聚龙 专业:软件工程 班级:.net 123班题 目物业维修管理系统的设计与实现设计任务这次c#课程设计,我们组课程设计的题目是“ 物业维修管理系统”。通过本次实训,我的目的是尽量做到以下几点: 1、用户登录、注册以及密码重置; 2、用户设备维护上报; 3、用户设备维护状态查询; 4、用户设备维

2、护消费查询; 5、用户个人基本信息及账户余额;时间进度第1周:(2月24日-2月28日)完成构思和功能分析的ppt第2周:(3月03日-3月08日)设计窗体和编入代码,并实现各个功能第3周:(3月10日-3月15日)测试与优化系统功能原 主始 要资 参料 考与 文 献1 c#开发宝典 作者:张淮鑫 出版社:中国铁道出版社 2 c#从入门到精通 作者:韩旭 王娣 出版社:清华大学出版社 3 c#开发实例1200例 作者:杨曙光 出版社:人民教育出版社指导教师签字: 年 月 日摘 要随着网络技术的发展、计算机应用水平的提高的扩大,小区的物业维修也到了实现网络化时刻,我们一行三人通过考察调研,决定自

3、己动手编写一个系统,方便小区业主,也助物业发展腾飞一臂之力!物业维修管理系统介绍了业主和物业管理人员在物业维修方面的实际问题的解决方案。我们在开发过程,设计中遇到的问题及解决方法以及提高当前应用程序或系统开发进度 、改善工作性能利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。当今社会是一个计算机普遍应用的社会,随着社会的发展和人们生活水平的提高,人们逐步进入了信息社会,随着房地产业的蓬勃发展,住宅小区已经成为居住的主流,小区物业管理也应运而生。小区物业管理主要涉及到大量的业主资料、繁杂的收费统计以及小

4、区各项资源的管理,传统的人工管理方式难以应付。本系统采用sqlsever连接数据库,以visualstudio2008为开发平台所做的系统,小区物业管理系统就是为小区管理者更好的开展小区各项业务处理工作而开发的管理软件,利用计算机实现对小区物业高效、准确的维护和管理。此系统的开发,是为了规范住宅小区的管理工作,为物业管理部门提供一套高效、快捷的应用软件。主要实现住户管理功能、房产管理功能、维修管理功能、缴费管理功能等。可以实现管理的信息化,提高办事效率,减少办公压力,健全管理体制,提高数据安全性,缩短信息的响应时间,将以前传统的、零散的、被动的管理模式转变为先进的、系统的、主动的管理模式。关键

5、字:物业维修管理 visualstudio2008平台 sqlsever2005存储数据 目 录摘 要2第1章 绪 论41.1课题背景41.2c#的优势41.3 课题研究内容4第2章 需求分析52.1 业务分析52.2 功能需求分析52.3 系统环境需求52.3.1 开发环境需求52.3.2 运行环境需求5第3章 概要设计63.1 数据库概要设计63.1.1 实体及其属性63.1.2 e-r模型6第4章 详细设计74.1 数据库的详细设计74.2 物业维修前台相关功能94.2.1 用户注册及密码找回94.2.2 用户设备维护上报94.2.3 设备维护查询104.2.4 用户消费及个人信息查询1

6、1第5章 运行及测试12第6章 结束语13附录系统相关代码16第1章 绪 论1.1课题背景物业维修管理系统是服务于小区物业方面。它是小区物业的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,小区的井喷式增加,小区必须解决好业主的物业维修的需求。物业维修直接关系着小区物业的发展和居民生活,对小区稳定具有很大的影响,但随着小区的不段扩大,物业维修智能化,网络化需要不断更新 。因此,急需一个方便、有效的管理系统。本系统拥有用户注册,登录,物业报修表,维修统计等更多更强大的功能。1.2c#的优势c#(读做 c sharp)是微软公司创建的编程语言,并定于在微软职业开发者论坛(pdc)

7、上登台亮相.c#是微软公司研究员anders hejlsberg的最新成果.c#看起来与java有着惊人的相似;它包括了诸如单一继承,界面,与java几乎同样的语法,和编译成中间代码再运行的过程.但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司.net windows网络框架的主角. 微软c#语言定义主要是从c和c+继承而来的,而且语言中的许多元素也反映了这一点.c#在设计者从c+继承的可选选项方面比java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮java

8、。1.3 课题研究内容该课题以小区住户设备维护管理需求为出发点,实现了以下功能: 维修上报管理 住户上报维修设备 维修上报查询 住户查询维护上报的记录 维修花费查询 住户查询设备维修的费用 用户个人信息 住户可以查看个人基本信息及账户第2章 需求分析2.1 业务分析该系统以小区住户上报维修设备为中心,客户信息为小区注册类客户。系统能够实现对客户信息进行分类别管理,同时客户也可以登录到本系统对自己的个人信息进行查询。2.2 功能需求分析 本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定

9、义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能:主要有3个模块,用户模块、管理员模块,后台模块。功能名称:用户模块 功能概述:可以用户登录和注册,报修物品,查询余额功能名称:管理员模块功能概述:对维修状况,维修记录,销售统计,员工信息等管理功能名称:后台管理功能概述:对保修表处理,人员安排,后台物业维修,设备保修处理。当然有些功能的智能化不是很强,系统有待进一步来完善。2.3 系统环境需求2.3.1 开发环境需求 软件需求:microsoft visual studio 2005 开发环境,sql server 2005数据库2.3.2 运行环境需求硬件需求:cp

10、u piii 500 以上的pc服务器,内存1cb以上,硬盘8gb以上。操作系统:windows xp; 软件需求:.net framework v2.0。第3章 概要设计3.1 数据库概要设计 对于企业客户关系管理系统的数据库设计,本文将从以下几个方面进行描述:首先是概念模型描述,包括对系统的实体属性分析及系统的e-r图,然后是系统的逻辑结构设计,即给出系统的数据库设计表结构及描述。3.1.1 实体及其属性 整个系统各实体可用以下关系来表示(其中主键已用下划线标识):l 客户(客户id,客户姓名,用户名,用户密码,用户类别,联系电话,l 上报设备(房产证号, 设备id,设备名称,原因,)l

11、密码重置(用户名,问题1,问题2,问题3)l 维修管理(用户id,房产证号,上报设备,设备id,维修状态,维修费用,维修人员,人员编号)l 业务员(业务员id,用户名,密码,角色,状态)3.1.2 e-r模型 在分析过系统各实体之间的联系后可得出系统的整体概念模型,用e-r图表示出来,如图3.1所示的。图3.1 e-r图第4章 详细设计为了方便用户的操作,系统采用了模块化设计的思想,通过各模块的不同组合以实现不同的增、删、改、查功能。最终,使该系统能够具有规范化的格式、完整的信息量和易于查询等的特点。4.1 数据库的详细设计依据数据库的概要设计,最后总结出数据库结构的主要数据表包括:用户信息表

12、,密码找回表,设备报修,设备上报表,员工信息表等。以下将给出系统数据库设计的逻辑模型,即各数据表的结构。1、用户信息表 客户信息表存储系统客户的相关信息,表结构如表4.1所示表4.1 用户信息表结构列名数据类型允许空主键usernamenvarchar(18)否是namenvarchar(20)是否genderchar(4)是否ageint是否nationvarchar(6)是否idnumnvarchar(20)是是houseidnvarchar(50)是是phonenvarchar(20)是否accountchar(10)是否2、密码找回 密码找回表存储用户密保等相关信息,表结构如表4.2所

13、示表4.2 密码重置表结构列名数据类型允许空主键usernamenvarchar(18)否是answer1nvarchar(50)否否answer2nvarchar(50)否否answer3nvarchar(50)否否passwordnvarchar(50)否否3、 用户设备上报信息表用户上报的维修设备和后台人员处理问题的存储表,表4.3所示。表4.3 设备上报列名数据类型允许空主键usernamenvarchar(18)否是houseidnvarchar(50)否是eqnamenvarchar(20)否否eqidnvarchar(20)否否questionnvarchar(max)否否sol

14、utionstatenvarchar(50)否否goodspricevarchar(10)否否perarrangenvarchar(50)否否peridnvarchar(20)否否repairaccountnvarchar(50)否否daytimenvarchar(50)否否4、用户设备上报设备处理表 用户设备上报信息表处理相关信息,表结构如表4.4所示表4.4 设备保修处理表结构列名数据类型允许空主键usernamenvarchar(18)否是houseidnvarchar(50)否是eqnamenvarchar(20)否否eqidnvarchar(20)否否questionnvarchar

15、(max)是否4.2 物业维修前台相关功能根据小区物业所存在的情况,我们合理的设计了相关的功能,以解决用户所面临的难题,以下是该系统各主要功能模块的界面设计及实现。4.2.1 用户注册及密码找回用户在注册时需要填写相应的个人基本信息即可以完成注册,同样如果用户忘记密码,需要填写注册时设置的密保问题就可以进密码的重置,如图4.5所示。图4.5 用户注册及密码重置4.2.2 用户设备维护上报用户在上报维修设备时需填写所要上报的房产证号、维修设备及设备编号等,如图所示4.6所示。图 4.6 维修上保单4.2.3 设备维护查询在该页面输入客户的各项信息之后点击“确认提交”按钮即可添加上报设,用户还可以

16、查询上报的设备,以及设备的维修状况如图4.7所示。图 4.7 用户设备维护查询4.2.4 用户消费及个人信息查询 用户可以在该页面查看自己所上报设备的花费情况,如图4.8所示。图4.8 用户设备话费及个人信息查询第5运行及测试在编码的过程中,需要通过不断的对系统进行调试,才能对其功能做出完善性的补充。所以测试在此期间起了相当大的作用。以下给出用户登录及客户设备维护模块的若干主要测试用例,如表5.1所示。表5.1 系统测试实例序号功能模块测试功能点操作步骤及数据期望结果实际结果分析处理方式1.登录输入正确用户名密码在登录页面输入用户名及密码,点击“登录”按钮正常登录,显示相应功能页面正确2.输入

17、正确的用户名和错误的密码在登录页面输入用户名及密码,点击“登录”按钮不能正常登录,系统给出提示系统给出提示:“密码错误,请重新输入”3.用户名或密码空白在登录页面不输入用户名及密码,直接点击“登录”按钮系统给出提示系统给出提示“请输入用户名及密码”4.用户前台客户维修设备添加在客户信息添加设备维修相关信息将数据插入数据库未能正常插入上报失败,重新上报增加客户端脚本验证该控件的数据合法性5.设备维护查询在查询界面可条件查询维修设备显示查询结果正常显示所查记录增加客户端脚本验证该控件的数据应在“受理日期”之后6.欠费查询查询用户上报设备费用情况在客户信息管理中的客户类别中出现该类别正确第6章 结束

18、语 经过三周的课题实践,我从中学到了很多东西,包括专业知识,培养了我与同学沟通合作的能力,我也更加懂得了遇见问题解决问题的能力,要先自己解决真不行的话再请教老师,这样才能更好地学习。我觉着最重要的就是我学会学习,学会为问题找方法,掌握科学的思维方法。 其中我感触最深刻的就是做换乘查询时遇到的种种困难,我通过翻课本、百度、请教指导老师,一个个的被我解决了,当时我快乐坏了,虽然付出的是时间和汗水,但收获的却是快乐,这还是值得的。在开发设计的过程中,指导老师本着认真负责的态度、以严谨求真的作风来要求我们每一位学生,从选题到研发到实现,指导老师给予了我正确的指导和极大的帮助,使得我在设计当中少走了很多

19、弯路,在顺利完成毕业设计的同时更让我学到了许多知识,对原有的理论知识能够很好的与实际结合起来运用,也大大的提高了我的动手的能力。这使得我对以后的工作充满了信息。 在此我由衷的向我的负责人及指导老师再次的说一声谢谢!并要向那些给予我极大帮助和支持的同学和老师表示感谢。参考文献1、c#开发宝典 作者:张淮鑫 出版社:中国铁道出版社 2、c#从入门到精通 作者:韩旭 王娣 出版社:清华大学出版社3、c#开发实例1200例 作者:杨曙光 出版社:人民教育出版社指导教师评语: 成 绩: 指导教师签字: 年 月 日附录系统相关代码数据库类库的调用:using system;using system.col

20、lections.generic;using system.text;using system.data;using system.data.sqlclient;namespace 物业维修管理系统 class cdatabase public static string connstr = data source=rjxy301-041sql2005;initial catalog=property repair;integrated security=true; public static sqlconnection conn = new sqlconnection(connstr); p

21、ublic static dataset getdatafromdb(string sqlstr) conn.open(); sqldataadapter myadapter = new sqldataadapter(sqlstr, conn); dataset mydataset = new dataset(); mydataset.clear(); myadapter.fill(mydataset); conn.close(); if (mydataset.tables0.rows.count != 0) return mydataset; else return null; public

22、 static bool updatadb(string sqlstr) conn.open(); sqlcommand mycdm = new sqlcommand(sqlstr, conn); mycdm.commandtype = commandtype.text; mycdm.executenonquery(); conn.close(); return true; 用户登录界面代码:namespace 物业维修管理系统 public partial class 用户登陆 : form public 用户登陆() initializecomponent(); private void

23、button2_click(object sender, eventargs e) application.exit(); public string returnvalue; private void btnsure_click(object sender, eventargs e) string txtvalue = this.txtuser.text try if (cmbusertypes.text = 普通用户) string sqlstr = select username from tbl_backpassword where username= + txtuser.text.t

24、rim() + + and password= + txtpassword.text.trim() + ; dataset ds = new dataset(); ds = cdatabase.getdatafromdb(sqlstr ); if (ds = null) messagebox.show(用户名或密码错误,请重新输入!, 提示, messageboxbuttons.ok, messageboxicon.error); txtuser.clear(); txtpassword.clear(); txtuser.focus(); else 用户前台 qt = new 用户前台(txt

25、value); qt.showdialog(); cdatabase.conn.close(); txtpassword.clear(); else if (cmbusertypes.text = 管理员) if (txtuser .text =1122) 物业管理员 wygl = new 物业管理员(); wygl.show(); txtuser.clear(); txtpassword.clear(); else messagebox.show(管理员账号或密码错误,请重新输入!,提示,messageboxbuttons .ok ,messageboxicon.error ); txtus

26、er.clear(); txtpassword.clear(); txtuser.focus(); else string sqlstr = select username from tbl_backpassword where username= + txtuser.text.trim() + + and password= + txtpassword.text.trim() + ; sqlcommand cmd = new sqlcommand(sqlstr, cdatabase.conn); cdatabase.conn.open(); sqldatareader sdr = cmd.e

27、xecutereader(); if (!sdr.read() messagebox.show(用户名或密码错误,请重新输入!, 提示, messageboxbuttons.ok, messageboxicon.error); txtuser.clear(); txtpassword.clear(); txtuser.focus(); else 后台物业维护 htwx = new 后台物业维护(); htwx.show(); catch (exception ex) ex.message.tostring(); finally cdatabase.conn.close(); private v

28、oid 用户登陆_load(object sender, eventargs e) cmbusertypes.selectedindex = 0; private void linklabel2_linkclicked(object sender, linklabellinkclickedeventargs e) 用户须知 b = new 用户须知(); b.show(); private void linklabel1_linkclicked(object sender, linklabellinkclickedeventargs e) 密码找回 mmzh = new 密码找回(); mmz

29、h.show(); 用户注册界面代码namespace 物业维修管理系统 public partial class 用户注册 : form public 用户注册() initializecomponent(); private void btnsubmit_click(object sender, eventargs e) try if (txtname .text .trim ()=) messagebox.show(姓名不能为空!,提示,messageboxbuttons .ok ,messageboxicon.warning ); txtname.focus(); return; el

30、se if (cmbgender .text .trim() =) messagebox.show(性别不能为空!,提示,messageboxbuttons .ok ,messageboxicon.warning ); cmbgender.focus(); return; else if (txtage .text .trim() =) messagebox.show(请填写您的年龄!,提示,messageboxbuttons .ok ,messageboxicon.warning ); txtage.focus(); return; else if (txtnationality .text

31、 .trim()=) messagebox.show(请填写您的民族!, 提示, messageboxbuttons.ok, messageboxicon.warning); txtnationality.focus(); return; else if (txtnomber .text .trim ()=) messagebox.show(请填写您的身份证号!, 提示, messageboxbuttons.ok, messageboxicon.warning); txtnomber.focus(); return; else if (txthouseid .text .trim ()=) m

32、essagebox.show(请填写您的房产证号!, 提示, messageboxbuttons.ok, messageboxicon.warning); txthouseid.focus(); return; else if (txtphone .text .trim ()=) messagebox.show(请填写您的电话!, 提示, messageboxbuttons.ok, messageboxicon.warning); txtphone.focus(); return; else if (txtanswer1.text.trim() = | txtanswer2.text.trim

33、() = | txtanswer3.text.trim() = ) messagebox.show(请完善密保信息!, 提示, messageboxbuttons.ok, messageboxicon.warning); else if (txtuser .text .trim ()=) messagebox.show(请填写您的通行账号,提示,messageboxbuttons .ok ,messageboxicon.warning ); txtuser.focus(); return; else if (txtpassword.text.trim() != txtconfirmpasswo

34、rd.text.trim() messagebox.show(两次密码输入不一致!, 提示, messageboxbuttons.ok, messageboxicon.warning); txtconfirmpassword.clear(); txtpassword.clear(); txtpassword.focus(); else messagebox.show(恭喜您注册成功!, 提示, messageboxbuttons.ok, messageboxicon.warning); string sqlstr1; string sqlstr2; sqlstr1 = insert into

35、tbl_backpassword values( + txtuser.text.trim() + , + txtanswer1.text.trim() + , + txtanswer2.text.trim() + , + txtanswer3.text.trim() + , + txtpassword.text.trim() + ); sqlstr2 = insert into tbl_userinfo values( + txtuser.text.trim() + , + txtname.text.trim() + , + cmbgender.text.trim() + , + txtage

36、.text.trim() + , + txtnationality.text.trim() + , + txtnomber.text.trim() + , + txthouseid.text.trim() + , + txtphone.text.trim() + ,+txtaccount .text .trim ()+); cdatabase.updatadb(sqlstr1); cdatabase.updatadb(sqlstr2); catch(exception ex) cdatabase.conn.close(); messagebox.show(ex.message); 密码重置相关

37、代码namespace 物业维修管理系统 public partial class 密码找回 : form public 密码找回() initializecomponent(); private void btnsure_click(object sender, eventargs e) try if (txtusername .text.trim () =) messagebox.show(用户名不能为空, 提示); txtusername.focus(); string sqlstr1 = select username from tbl_backpassword where usern

38、ame= + txtusername.text.trim() + ; sqlcommand cmd1 = new sqlcommand(sqlstr1, cdatabase.conn); cdatabase.conn.open(); sqldatareader sdr1 = cmd1.executereader(); if (!sdr1.read() cdatabase.conn.close(); messagebox.show(你输入的用户名不存在, 提示, messageboxbuttons.ok, messageboxicon.warning); txtusername.text = ; txtusername.focus(); return; else cdatabase.conn.close(); string sqlstr2 = select

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论