C#项目开发全程实录(第4版)
上QQ阅读APP看书,第一时间看更新

1.3 系统设计

1.3.1 系统目标

本系统属于小型的数据库系统,可以对房源和租赁人等进行有效的管理。通过本系统可以达到以下目标。

 系统采用人机交互方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。

 灵活的批量录入数据,使信息传递更快捷。

 实现垃圾信息清理。

 实现后台监控功能。

 实现各种查询,如定位查询、模糊查询等。

 实现图形化显示房源信息。

 对用户输入的数据,进行严格的数据检验,尽可能避免人为错误。

 系统最大限度地实现了易安装性、易维护性和易操作性。

1.3.2 系统功能结构

房屋中介管理系统功能结构如图1.1所示。

图1.1 系统功能结构图

1.3.3 业务流程图

房屋中介管理系统的业务流程如图1.2所示。

图1.2 房屋中介管理系统业务流程图

1.3.4 业务逻辑编码规则

遵守程序编码规则所开发的程序,代码清晰、整洁、方便阅读,并可以提高程序的可读性,真正做到“见其名知其意”。本节从数据库设计和程序编码两个方面介绍程序开发中的编码规则。

1.数据库对象命名规则

(1)数据库命名规则

数据库命名以字母db开头(小写),后面加数据库相关英文单词或缩写。下面将举例说明,如表1.1所示。

表1.1 数据库命名

注意

在设计数据库时,为使数据库更容易理解,数据库命名时要注意大小写。

(2)数据表命名规则

数据表命名以字母tb开头(小写),后面加数据库相关英文单词或缩写和数据表名,多个单词间用“_”分隔。下面将举例说明,如表1.2所示。

表1.2 数据表命名

(3)字段命名规则

字段一律采用英文单词或词组(可利用翻译软件)命名,如找不到专业的英文单词或词组,可以用相同意义的英文单词或词组代替,另外,单词或单词缩写之间可以使用“_”分隔。下面将举例说明,如表1.3所示为库存信息表中的部分字段。

表1.3 字段命名

2.业务编码规则

(1)员工编号

员工编号是房屋中介管理系统中员工的唯一标识,不同的员工可以通过该编号来区分(即使员工名称相同)。在本系统中该编号的命名规则:以字符串emp为编号前缀,加上4位数字作为编号的后缀,这4位数字从1001开始。例如,emp1001。

(2)客户编号

客户编号是房屋中介管理系统中客户的唯一标识,对于中介机构,它的客户分为出租人和求租人两类,不同的客户可以通过该编号来区分(即使客户名称相同)。在本系统中该编号的命名规则:以字符串want(标识求租人)或lend(标识出租人)为编号前缀,加上4位数字作为编号的后缀,这4位数字从1001开始。例如,lend1006或want1005。

(3)房屋编号

房屋编号是房屋中介管理系统中房源的唯一标识,它用于唯一标识某一套具体的出租房屋。在本系统中该编号的命名规则:以字符串hou为编号前缀,加上4位数字作为编号的后缀,这4位数字从1001开始。例如,hou1001。

1.3.5 程序运行环境

本系统的程序运行环境具体如下。

 系统开发平台:Microsoft Visual Studio 2017。

 系统开发语言:C#。

 数据库管理系统软件:SQL Server 2014。

 运行平台:Windows 7(SP1)/Windows 8/Windows 10。

 运行环境:Microsoft.NET Framework SDK v4.7。

1.3.6 系统预览

房屋中介管理系统由多个窗体组成,下面仅列出几个典型窗体,其他窗体参见资源包中的源程序。

主窗体如图1.3所示,主要实现快速链接系统的所有功能,该窗体提供两种打开子窗体的菜单,既可以通过最上面的常规菜单打开系统中的所有子窗体;也可以通过窗体左面的树型菜单来打开系统中的所有子窗体。

图1.3 主窗体(资源包\…\frmMain.cs)

求租人员信息窗体如图1.4所示,主要实现登记求租人信息,注意“手机号码”和“身份证号码”必须输入,以备后面的操作之用。出租人信息设置窗体如图1.5所示,主要是完成出租人信息登记和所要出租的房屋登记。这两个窗体使用同一个类文件,即frmPeopleInfo.cs文件,程序根据打开的命令不同,显示或隐藏“录入房源”按钮。

图1.4 求租人窗体(资源包\…\UserInfor\frmPeopleInfo.cs)

房屋状态查询窗体如图1.6所示,主要实现查询房屋的状态,房屋的状态包括已租、未租和预订3种状态。另外,还可以通过手机号进行预订房屋和取消预订两种操作。

图1.5 出租人窗体(资源包\…\UserInfor\frmPeopleInfo.cs)

图1.6 房屋状态查询窗体(资源包\…\SeekTenantsM\frmStateHouse.cs)

说明

省略的路径是TM\01\houseAgency。