基于C#的社区物业管理系统的设计与实现Word格式.docx
《基于C#的社区物业管理系统的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《基于C#的社区物业管理系统的设计与实现Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
可行性研究:
分析开发本系统的可行性和确定实施方案;
需求分析:
讲述本系统用户的功能需求;
概要设计:
包括对系统功能模块的划分和数据库设计;
详细设计:
对各功能模块实现算法进行详细讲解。
1.4相关技术介绍
目前,网络应用软件运行的模式主要有二类:
Client/server模式,Browser/Web模式。
前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。
2可行性研究
2.1什么是SQL2005为何要选择SQL2005
作为Microsoft的office套件产品之一,SQL已经卖出了近700万份,成为世界上最流行的桌面数据库系统。
SQL与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。
它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,ParASPx,MicrosoftFoxPro)和服务器、小型积极大型机上的许多SQL数据库。
SQL还完全支持Microsoft的OLE技术。
SQL还提供windows操作系统的高级应用程序开发系统。
SQL与其它数据库开发系统之间相当显著的区别就是:
您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!
如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。
SQL功能强大,使用方便,是开发桌面数据库的最优秀的工具之一。
SQL本身具有强大的向导机制,能提供大量的数据库常用操作。
但如果你能适当的加上少量的代码,那么你的程序将是专业级的。
2.2什么是ASP.NET
ASP.NET的含义从字面上说,ASP.NET包含三方面含义:
●Active:
ASP.NET使用了Microsoft的ActiveX技术。
ActiveX(COM)技术是现在Microsoft软件的重要基础。
它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。
ASP.NET本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。
只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。
●Server:
ASP.NET运行在服务器端。
这样就不必担心浏览器是否支持ASP.NET所使用的编程语言。
ASP.NET的编程语言可以是VBSCRIPT和JSCRIPT。
VBSCRIPT是VB的一个简集,会VB的人可以很方便的快速上手。
然而Netscape浏览器不支持客户端的VBSCRIPT,所以最好不要在客户端使用VBSCRIPT。
而在服务器端,则无需考虑浏览器的支持问题。
Netscape浏览器也可以正常显示ASP.NET页面。
●Pages:
ASP.NET返回标准的HTML页面,可以正常地在常用的浏览器中显示。
浏览者查看页面源文件时,看到的是ASP.NET生成的HTML代码,而不是ASP.NET程序代码。
这样就可以防止别人抄袭程序。
由此我们可以看出,ASP.NET是在IIS下开发WEB应用的一种简单、方便的编程工具。
在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP.NET系统。
以下罗列了ActiveServerPages所独具的一些特点:
●使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
●无须compile编译,容易编写,可在服务器端直接执行。
●使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
●ActiveServerPages能与任何ActiveXscripting语言相容。
除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。
脚本引擎是处理脚本程序的COM(ComponentObjectModel)物件。
●ActiveServerPages的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
●可使用服务器端的脚本来产生客户端的脚本。
2.3结论
社区物业管理系统应向社区物业管理合理化和自动化方向发展,追求更少的投资获得更多的收益。
本方案将实现一个安全可靠、操作方便、计费方法灵活、功能完善的系统。
本系统将给社区物业管理带来完善的管理模式,以较少人力、物力投入,带来更多收益。
综上,本方案在技术、经济、操作等方面均可行,可以立即开始执行。
3需求分析
3.1数据字典
要处理的系统中包含大量的数据,一般用数据字典给出所有数据的定义与属性,以保持数据在系统中的一致性。
比如,对“房屋号”和“出入证号”这样的数据项,在字典中定义如表2-1所示。
[]
表2-1数据项“房屋号”的字典条目
数据项名:
房屋号
别名:
取值及含义:
03022002共8位
1前两位取值为01-99,表明楼号,如:
03表示3号楼;
12表示12号楼
2紧接着两位取值为01-10,表示门洞,如:
02表示2门洞
3接着两位取值为01-50表示楼层,如:
20表示20层
4接着两位取值为01-10表示房间号,如:
02表示2号
备注:
保证任何两套房屋都有不同的房屋号
表2-2数据项“出入证号”的字典条目
出入证号
030220021
房屋号(8)+识别号
(1)共9位
1前八位表示房屋号,如:
03022002
表示3号楼;
2门洞20层2号房间
2接着一位取值为1~3表示居住者的性质,如:
1表示房主;
2表示家庭成员;
3表示房客
系统中有些简单的、一目了然不会引起二义性的数据项可以不单独编写数据字典条目。
3.2功能需求
用简单的分层数据流图表示不同级别上的功能模型。
数据流图中,圆框代表数据处理系统;
箭头代表数据的录入和读取。
本系统的顶层数据流图如图3-2所示。
图3-2系统顶层数据流图
根据以上的顶层数据流图,再进一步细化得到0层数据流图。
主要是对各种功能模块管理请求处理,将信息显示到窗体。
0层数据流图如下图所示。
图3-30层数据流图
通过对0层的数据流图进行进一步的分析和细化,可以得到以下的系统1层流程图。
系统0层流程图中的编号为1的0层数据流图细化为1层的数据流图如图2-4所示。
图3-40层中编号为1的细化得到的1层数据流图
系统0层中编号为2的细化后可以得到1层的数据流图,如图2-5所示。
图3-50层中编号为2细化得到的1层数据流图
系统0层中编号为3的细化后可以得到1层的数据流图,如图2-6所示。
3.1.1基本功能
物业业主服务子系统功能模块说明如下:
基本设置
系统管理员对管理员登陆密码进行修改管理
住户资料管理
添加:
包括住户的姓名、房产联系电话,迁入时间,房产类型等。
报修管理
报修添加:
对维修过程及处理方式结果等信息管理
管理:
查看和删除报修信.
停车车位管理
添加:
添加车位使用信息。
查看和删除现有登记的车位信息
3.1.2系统软硬件要求
客户端和服务器的基本运行要求如下:
1.操作系统:
Windows98/2000/NT/XP等系统。
2.数据库所在的服务器,需安装SQLSERVER2005,用以保存和管理系统的数据库表,安装SQLSERVER2005SP3或SQLSERVER2005SP4,其目的是打开SQLSERVER2005的默认端口----1433端口,这样才能让客户端和服务器端找到数据库。
3.硬件配置要求:
客户端:
CPU主频P41.7GHZ、内存128M、硬盘空间20G、17寸支持分辨率1024*768的彩色显示器、鼠标、键盘等,或更好的配置。
服务器端:
CPU主频P42.8GHZ、内存512M、硬盘空间80G、17寸支持分辨率1024*768的彩色显示器、鼠标、键盘等,或更好的配置。
3.2分析建模
3.2.1数据流图
根据系统功能的要求,小区物业系统分为五个主要模块。
即住户资料管理、投诉管理、住户报修管理、物业缴费管理、住户停车车位管理。
可以将系统分解成为几个功能模块来分别设计,功能模块间的关系如图3.2.1所示。
图3.2.1基本模块图
整个系统的页面逻辑结构示意图如图3.1.2所示。
图3.2.2系统页面图
对于小区物业系统,根据系统功能分析,仅有一个单一的流程化页面。
所以从欢迎页面到登录页面,如果登录成功,则进入相应的功能页。
3.3物业业主服务子系统功能模块
该系统主要是针对系统管理员的小区物业管理系统,没有设置其他用户登录,该系统有六个主要的功能模块构成其中有:
(1)基本设置:
主要是对系统管理员的登陆密码进行修改和管理,管理员身份admin,初始密码:
admin,登录后才能对起进行修改。
(2)住户资料管理:
包括业主基本资料添加和管理模块。
(3)设备管理:
包括投诉添加和投诉管理,主要是内容上投诉的基本事项和处理详细内容。
(4)报修管理:
报修添加和报修管理两个子模块,添加信息有报修事项和报修处理结果及产生的费用内容。
(6)停车车位管理:
包括停车车位管理和信息管理,主要是车位基本信息方面的添加与查看。
3.4数据库设计
数据库设计是系统设计中非常重要的一个环节。
数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计不合理、不完善,将在系统开发过程中、甚至到后期的系统维护、功能变更和功能扩充时引起较多问题,严重时甚至要重新设计项目,重做大量已完成的工作。
根据功能模块划分的结果可知,本系统的用户有四类:
超级用户、物业管理人员、小区住户、小区外的人员。
因此在本系统中需要创建登录用户的数据实体用于记录用户信息。
除此之外由于系统还要显示和查询用户的详细信息,这包括用户的个人信息、用户的房屋信息、用户的交费信息和用户的房屋报修登记信息,所以需要创建它们各自相应的实体。
3.4.1业主信息实体图
业主信息实体图如下。
图3-41业主信息实体图
3.4.2房屋信息实体图
房屋信息实体图如下。
图3-42房屋信息实体图
3.4.3收费标准实体图
收费标准实体图如下。
图3-43收费标准实体图
3.4.4用户信息实体图
用户信息实体图如下。
图3-44用户信息实体图
3.4.5报修信息实体图
报修信息实体图如下。
图3-45报修信息实体图
3.5物理结构设计
物理结构设计的原则如下:
(1)尽可能的减少数据冗余和重复。
(2)结构设计与操作设计相结合。
(3)数据结构具有相对的稳定性。
基于以上设计原则,本系统设计了一个数据库,包含管理员、住户信息、收费信息、车位使用信息、车位信息、报维信息、维护信息等几个表。
为了加快系统访问的速度把这7个表放在一个数据库中。
本系统中相关数据库表结构设计举例如下:
表1:
admin(管理员)表:
字段名称
字段类型
宽度
小数位
ID
自动编号
UserName
文本
20
Psw
50
图3.51管理员结构
表2:
BaseInfo(住户信息)表:
住户编号
户主名称
联系电话
楼宇名称
楼层
单元
迁入日期
日期/时间
图3.52住户信息结构
表4:
Park(车位使用信息)表:
编号
车位编号
住户名称
使用日期
备注
3.53车位结构表
表6:
Repair(报修信息)表:
单据编号
维修人员
报修日期
服务费用
数字
4
物料费用
费用合计
报修内容
3.54维修结构表
第四章:
系统详细设计
4.1系统框架
首先,是系统的框架。
介绍整个系统的大致情况。
SQL2005数据库
图4-1系统框架图
4.2系统示意图
总体上来说,本系统属于事务型系统,其系统示意图如下图所示:
图4-2系统示意图
4.3系统实体关系简图
在开发小区物业管理信息系统时,可以首先采用E-R图对数据库进行分析。
实体关系图的分析结果非常复杂,一般情况下使用从简到繁的方式进行设计。
首先从大的方面设计出各个实体之间的关系,然后在这个关系的基础上进行细化。
如图3-3为本系统的实体关系简图。
图4-3系统实体关系简图
4.4系统功能模块
系统的功能模块的划分如图3-4所示。
车车
主位
资信
料息
车位资料
图4-4系统功能模块划分
4.51基础信息管理
下面是各个模块的流程图。
首先,进入基础信息的管理。
如下图所示。
图4-51基础信息管理流程图
4.52浏览与查询
然后进入浏览与查询模块。
图4-52浏览与查询流程图
4.53系统管理
首先是个人密码的修改。
图4-53个人密码修改流程图
4.54统计报表打印
在统计报表打印模块中,首先是维修效率统计模块。
图4-54维修效率统计流程图
4.55权限认证
在用户登陆系统的时候,会涉及到一个权限认证,下面是权限认证的流程。
图4-55权限认证流程图
4.6管理员登录模块设计
输入:
用户名admin,密码admin,随机附加码
处理:
判断用户名和密码、附加码是否有效。
填入用户名、密码和附加码后点击[确定]按钮,系统将自动从数据库中的管理员信息表中判断是否存在相同的用户名和密码等,如果有则进入系统,如果不存在或密码错误,则提示不是管理员或密码有错误的信息。
输出:
登录成功,进入管理员的功能选择页面,若不成功,则显示错误信息页面
图4-2管理员登陆界面
4.7管理员功能选择页面
管理员登录后出现功能选择界面,可以选择相应的操作
4.8系统基本模块介绍
每一个模块的右上角都设置有一个返回首页的快捷键,该系统是一个针对于超级用户admin的使用系统,修改密码时用户名不可修改,输入旧密码和新密码以及验证码正确后,点击提交。
系统会提示密码修改成功的提示,则下次登录系统将使用新密码进行确认。
4.9小区概况
图4-5小区概况
小区选择风华园,就会弹出该小区的基本资料。
4.5车位资料
单击图上的铅笔按钮会弹出修改车位资料对话框如下图:
详细代码请参考源程序
5软件测试
软件测试是为了发现程序中的错误而执行程序的过程,它分为代码证审会、单元测试、集成测试和系统测试几个阶段。
代码审会是通过对代码逻辑的理解进行分析,来发现原来没有发现的错误。
系统测试则是进一步的测试和代码验证。
5.1测试目的
软件测试的目的是,能够在软件投入生产性运行之前,尽可能多地发现软件中的错误。
集成测试主要用来发现各单元之间的接口和参数传递等方面的错误。
系统测试的目的是,向用户表明本系统已达到了预期的要求,能够满足用户的功能需求,证明系统可以交付。
5.2测试内容与结果
5.2.1系统测试
系统测试目的是将本系统的功能展示给用户看,表示其已经很好的达到了用户的需求。
该部分测试的主要依据就是需求分析,以其中的功能需求来衡量本系统是否都将其实现。
本系统开发,严格按照需求分析的内容进行,步步紧扣用户需求,把用户需求作为系统的最根本出发点和立足点。
通过对用户需求的逐个检验,起初发现有些功能存在问题,但经过该部分的测试,我都将其一一修改,最终得以成功。
(1)权限认证窗口的测试
该测试的目的是保证系统权限认证窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在系统权限认证窗口中输入空的用户名或密码,输入错误的用户名或密码,来检测系统的出错运行情况。
要求系统在遇到这些情况时能给出正确的错误提示。
(2)基础信息管理窗口的测试
该测试的目的是保证基础信息管理窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在住户信息管理窗口中输入最后一位房屋权属码错误的出入证号,同时输入前面出现过的房屋编号、出入证号、住户姓名。
在房产资料管理窗口中输入前面已有的房屋编号,在报修维修登记窗口中输入维修时间在报修时间前,来检测系统的出错运行情况。
(3)浏览与查询窗口的测试
该测试的目的是保证浏览与查询窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在住户相关信息浏览查询窗口中输入不存在的姓名,在收费相关信息浏览查询窗口中选择还没有录入缴费信息的月份,来检测系统的出错运行情况。
(4)系统管理窗口的测试
该测试的目的是保证系统管理窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改个人密码窗口中输入两次不同的新密码,来检测系统的出错运行情况。
(5)统计报表打印窗口的测试
该测试的目的是保证统计报表打印窗口的浏览正确性。
具体通过在缴费通知单窗口中选择不同的房屋号,来检测缴费通知单的浏览情况。
要求系统在遇到不同房屋号的浏览请求时能给出正确的浏览情况。
表5-2.1软件测试情况分析表
测试窗口名称
测试内容
测试结果
1
权限认证窗口
在系统权限认证窗口中输入空的用户名或密码,输入错误的用户名或密码。
出错提示
2
基础信息管理窗口
在住户信息管理窗口中输入最后一位房屋权属码错误的出入证号,同时输入前面出现过的房屋编号、出入证号、住户姓名。
在房产资料管理窗口中输入前面已有的房屋编号,在报修维修登记窗口中输入维修时间在报修时间前。
3
浏览与查询窗口
在住户相关信息浏览查询窗口中输入不存在的姓名,在收费相关信息浏览查询窗口中选择还没有录入缴费信息的月份。
系统管理窗口
在修改个人密码窗口中输入两次不同的新密码。
5
统计报表打印窗口
在缴费通知单窗口中选择不同的房屋号。
能按不同房屋号正确浏览
图5-2.1软件测试分析表
5.3系统评价
软件能力:
经过软件测试各步骤,我对程序进行了相应的修改,最终系统很好的实现了用户的各项基本需求。
另外,用户的期望需求也有所实现,如本系统具有友好的人机交互界面、软件安装也很容易。
再者,本系统实现了服务器可向客户端发送系统消息的功能,该功能应该属于用户的兴奋需求部分。
缺陷和限制:
本系统基于C#开发,所以系统运行需要有支持.NET程序的运行环境,即需在安装了ISS6.0以上的机器上运行。
从各项测试的结果来看,本软件可以正常完成用户要求的各项功能,具有较好的健壮性和可维护性,可以交付使用。
6系统设计
6.1设计过程
在设计开始这前,我对ASP.NET并不是很了解,后来在老师和同学的帮助下,慢慢对ASP.NET有了一定了解,并结合了FLASH、POTOSHOP等设计思想逐步完成了小区物业系统中的界面子系统模块。
在整个设计过程中,也出现过很多的问题,在不断学习的过程