房屋租赁管理系统+源码论文

第4章系统设计

用户对着浏览器操作,肯定会出现某些不可预料的问题,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,要提前考虑可能会出现的问题。

4.1 系统设计思想

系统设计,肯定要把设计的思想进行统一,只有统一的思想才能指导程序的开发,并且可以让众多的程序开发人员更快速的进入状态,提高开发速度。根据当前系统的既定需求,下面将进行本系统设计思想的阐述。

  1. 扩展性:开发任何一个系统的时候不可避免要考虑这个问题。软件版本的更迭是一种常识,任何一个软件都不会一次性开发就成永恒,软件是一个不断成长的东西。所以考虑问题的时候需要对当前问题进行数据上的扩大化,然后进行归纳整理,最终形成具有一定扩展性的程序。程序的可扩展性必然会影响开发进度,所以最终需要综合评估程序的可扩展程度,进而有的放矢,循序开发。

  2. 实用性:程序设计是一个先高屋建瓴式的设想,然后再具体化,实用性就是具体化的第一个步骤,要充分考虑使用者是不懂程序设计的这一点,使用者只是懂得常规性的上网操作步骤,并不需要对程序进行理解,所以一定要让使用者感觉到便利,感觉到实用性的存在,如果使用者使用程序过程中没发现使用程序的好处,那么程序设计的实用性将大大降低。

  3. 安全性:当使用者使用的过程中,会产生大量的相关数据,这些数据必须有安全性的保证,否则当使用者发现数据出现问题的原因是程序设计问题的时候,将会对程序开发者失去信任,甚至可能会产生大量的费用赔偿问题,这是一个不可避免的问题。所以安全性关系开发与使用者双方的经济利益,程序的安全性是一定要保证的。

  4. 先进性:程序设计的先进性是开发者进行考虑的,必须要在满足系统功能的前提下,必须要选择好当下最合适的技术。最合适的技术要从开发成本,使用成本以及维护成本里面综合分析,经过综合分析后要让技术实现最优解,保持先进的技术生产力。

  5. 维护性:程序开发之初就要考虑以后的维护问题。维护是在程序开发完毕,已经上线可以运作,进入生产试用过程和使用过程中才会发现需要维护的必要。要通过各方面降低维护成本,不是说维护的越少就代表程序开发的越完美,程序既然是人类进行设计制造的,肯定有很多不可避免的问题产生,那么如何维护好程序的正常运作也是一门很重要的学问。

4.2 功能结构设计

图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理公告,管理房屋租赁管理系统信息,包括房源管理,报修管理,报修管理,公告管理等,可以管理投诉建议。

 

图4.1 管理员功能结构

4.3 数据库设计

房屋租赁管理系统管理系统运行中产生的数据需要按照提前设置的存储规则进行保存,设计出一个符合项目的最优数据存储格式,因为它能减少用户的等待时间,还可以对系统的请求在最短时间内进行响应。所以,对数据库设计时,需要对功能需求进行详细的拆分,以及对业务状态的细分,然后设计具体的存储规则,保证数据库能正常运作,缩短数据处理时间,并在一定程度上降低数据冗余,节省存储空间。

4.3.1 数据库概念设计

实体-联系图还有一个名称即E-R图,是Entity Relationship Diagram各英文单词首字母的缩写,它这种概念模型通常用于对现实世界进行描述。同时它还是一种能够直观表达数据中实体,联系,属性的有效手段。绘制E-R图能够选择的工具也有很多,但是Office Visio 这款软件在E-R图的绘制上一般都是作为首选工具,因为它是基于可视化处理,使用它创建E-R图非常简单。使用基本的E-R图构成元素,比如椭圆,菱形,矩形,还有实线段来表达对应的信息,椭圆代表属性,即实体的特征,矩形代表实体,即数据库中的一个具体数据表,菱形代表实体中相互关系,实线段主要是完成椭圆,矩形,菱形的连接。

(1)下图是论坛实体和其具备的属性。

 

论坛实体属性图

(2)下图是投诉建议实体和其具备的属性。

 

投诉建议实体属性图

(3)下图是用户实体和其具备的属性。

 

用户实体属性图

(4)下图是租房房源实体和其具备的属性。

 

租房房源实体属性图

(5)下图是房源租赁实体和其具备的属性。

 

房源租赁实体属性图

(6)下图是公告实体和其具备的属性。

 

公告实体属性图

(7)下图是报修实体和其具备的属性。

 

报修实体属性图

(8)下图是租房合同实体和其具备的属性。

 

租房合同实体属性图

(9)下图是租房预约实体和其具备的属性。

 

租房预约实体属性图

(10)下图是租房评价实体和其具备的属性。

 

租房评价实体属性图

4.3.2 数据库物理设计

本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。

表4.1部门表department

字段

注释

类型

id (主键)

部门编号

int(11)

department_name

部门名称

varchar(255)

description

描述

varchar(255)

create_time

创建时间

datetime

update_time

更新时间

datetime

表4.2公告信息表personal

字段

注释

类型

id (主键)

公告ID

int(11)

name

姓名

varchar(255)

gender

性别 1:男 2:女

int(11)

birthday

出生日期

datetime

phone

联系电话

bigint(11)

email

邮箱

varchar(255)

identity

身份证号

bigint(11)

education

学历

varchar(255)

school

毕业学校

varchar(255)

img_url

照片url

varchar(255)

work_status

工作状态:1:正式 2:试用 3:实习 4:离职

int(11)

department_id

部门id

int(11)

position_id

职位id

int(11)

begin_date

入职时间

datetime

create_time

创建时间

datetime

update_time

更新时间

datetime

表4.3报修表personal_reward

字段

注释

类型

id (主键)

奖罚ID

int(11)

personal_id

公告编号

int(11)

personal_name

公告姓名

varchar(255)

department_name

部门名称

varchar(255)

position_name

职位名称

varchar(255)

reward_date

日期

datetime

reward_kind

奖罚种类 1:奖励 2:惩罚

int(11)

reward_amount

金额

int(11)

description

奖罚描述

varchar(255)

表4.4公告表personal_salary

字段

注释

类型

id (主键)

公告ID

int(11)

personal_id

公告编号

int(11)

personal_name

公告姓名

varchar(255)

department_name

部门名称

varchar(255)

position_name

岗位名称

varchar(255)

salary_date

日期

datetime

basis_salary

基本工资

decimal(10,2)

subsidy_salary

补助工资

decimal(10,2)

social_salary

社保

decimal(10,2)

provident_fund

公积金

decimal(10,0)

bonus

奖金

decimal(10,0)

all_salary

应发工资

decimal(10,2)

表4.5报修表personal_train

字段

注释

类型

id (主键)

报修ID

int(11)

personal_id

公告id

int(11)

personal_name

公告姓名

varchar(255)

department_name

部门名称

varchar(255)

position_name

岗位名称

varchar(255)

begin_date

开始报修日期

datetime

end_date

结束报修日期

datetime

train_content

报修内容

varchar(255)

train_score

报修分数

varchar(255)

train_cost

费用

decimal(10,2)

remake

备注

varchar(255)

表4.6部门岗位表position

字段

注释

类型

id (主键)

岗位编号

int(11)

position_name

岗位名称

varchar(255)

description

描述

varchar(255)

department_id

部门编号

int(11)

create_time

创建时间

datetime

update_time

更新时间

datetime

表4.7房源表recruitment

字段

注释

类型

id (主键)

房源ID

int(11)

department_name

房源部门

varchar(255)

position_name

房源职位

varchar(255)

need_num

需求人数

int(11)

demand

房源内容

varchar(255)

need_education

学历要求

varchar(255)

start_date

发布日期

datetime

end_time

结束日期

datetime

recruit_status

状态 1:进行中 2:已完成

int(11)

表4.8角色信息表role

字段

注释

类型

id (主键)

主键

int(11)

name

账号

varchar(255)

description

角色

varchar(255)

表4.9投诉建议信息表user

字段

注释

类型

id (主键)

主键

int(11)

username

用户名

varchar(255)

password

密码

varchar(255)

salt

角色

varchar(255)

role_id

新增时间

int(11)


第5章系统实现

编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。

5.1 管理员功能实现

5.1.1 房源管理

图5.1 即为编码实现的房源管理界面,管理员在房源管理界面中可以对界面中显示,可以对房源信息的房源状态进行查看,可以添加新的房源信息等。

 

图5.1 房源管理界面

5.1.2 报修管理

图5.2 即为编码实现的报修管理界面,管理员在报修管理界面中查看,新增报修信息等。

 

图5.2 报修管理界面

5.1.3 投诉建议管理

图5.3 即为编码实现的投诉建议管理界面,管理员在投诉建议管理界面中新增投诉建议,可以删除投诉建议。

 

图5.3 投诉建议管理界面

5.1.4 公告管理

图5.4 即为编码实现的公告管理界面,管理员在公告管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。

 

图5.4 公告管理界面

5.2 用户功能实现

5.2.1 房源

图5.5 即为编码实现的房源界面。

 

图5.5 房源界面

5.2.2 报修管理

图5.6 即为编码实现的报修管理界面。

 

图5.6 报修管理界面

5.2.3 公告管理

图5.7 即为编码实现的公告管理界面。

 

图5.7 公告管理界面