https://www.bilibili.com/video/BV1HZ421a7DX/
演示视频:
3.1 系统设计思想
3.1.1 页面模块化
在本系统中,将数据库连接存入conndb.ASP.NET文件中,当需要数据库连接时,只要用Include语句包含此文件即可。
另外系统页面结构定义在一个模板文件template.ASP.NET中,在这个文件中可以看到系统中基本的页面组成结构。只要在此模板页面中的特定位置加上实现某种功能的页面代码,此页就会成为一个具有特定功能的 完整的页面。例如ProductDetail.ASP.NET文件是在template.ASP.NET文件中加入了下面一行代码而具备了显示图书详细信息的功能。
call ShowProduct(RealSruing(Request.QUERYstring("id")))
3.1.2 注重安全性
1)不要把SQL SERVER 2000数据库放在网站内部
不要把SQL SERVER 2000数据库文件放在网站结构内部,这样,当恶意人士获取数据库路径后,就可以轻易获取该数据库,进而肆意更改数据库内容。比较好的做法是,使用SQL SERVER 2000数据库或Oracle数据库,或者将SQL SERVER 2000数据库文件放在网站虚拟目录以外。
2)过滤字符串中的单引号
当用字符串来组织SQL语句时,最重要的一个问题就是过滤字符串中的单引号,因为SQL语句中的字符是以单引号为分界的,例如下面的语句,在执行时就会出错:
strName="I'm Hacker"
strSQL="SELECT*FROM User WHERE[Name]='"&strName&"'"
conn.Execute strSQL
这样,在实际执行过程中最终SQL语句如下:
SELECT*FROM User WHERE [Name]=‘I'm Hacker'
由于在“I‘m Hacker”中包含一个单引号“’”,这样系统会认为在字母“I”后面已经结束,但后面仍有字符,于是就会提示语法错误。因此需要将单引号过滤掉,或者替换为两个单引号(在SQL语法中用两个单引号表示一个单引号),只要使用VBScript中的Replace函数就可以达到目的。
3.1.3 代码的复用
本系统中使用了很好的代码复用机制,即在开发中尽量使用本系统中已经使用过的代码,以及使用以前项目积累的代码,如分页、检查E-mail的函数和上传类。
3.2 系统功能模块划分
根据系统功能分析,可以画出系统的功能模块图,从客户界面,管理界面分别对功能模块图加以描述。
(1)参数设计(主要是对房源类型、学生类别、部门、院系、收费标准、卫生评比指标以及操作人员的权限等进行设置);
(2)基本数据(房源库统计、学生资料库统计、管理人员的基本资料以及考核情况);
(3)房屋分配(住房测算。住宿分配、分配查询);
(4)住宿情况(住宿情况、非住宿人员名单、住宿查询、床位查询);
(5)住宿管理(住宿登记、退住登记、住房调整、外来人员登记、卫生管理、违纪记录);
(6)工作人员管理(工作人员的工作量分配、值班安排、岗位调动等信息);
(7)物品与财务(公寓财产表、物品管理、费用明细表、押金退还表、维修管理);
(8)公寓管理制度(公告公寓的管理制度和入住人员需要遵守的纪律以及办理入住、调换等手续的方式)。
管理界面的系统功能模块图如图3-1:
4 数据库设计
3.1 数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:
[管理员](ID,用户名,密码,权限,添加时间,);
[学生资料](学号,姓名,电话,性别,班级,出生年月,籍贯,照片,身份证,院系,类别,);
[住宿分配](学号,姓名,性别,楼房编号,房间编号,床位编号,备注,);
[外来人员记录](姓名,身份证,被访人姓名,来访时间,来访事由,);
[卫生检查](楼房编号,房间编号,卫生得分,检查日期,备注,);
[违纪记录](学号,姓名,违纪事由,违纪日期,给予处分,);
[工作人员](工号,姓名,性别,部门,岗位,月薪,电话,身份证,照片,);
[物品信息](编号,名称,价格,类别,备注,);
[维修记录](编号,名称,故障描述,维修日期,维修费用,备注,);。
3.2 数据库概念结构设计
得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
设计规划出的实体有:管理员信息实体、高校信息实体、学生信息实体、楼宇信息实体。
实体之间关系的E-R图如图3-1所示:
管理员信息实体E-R图如图3-2所示:
宿舍信息实体ER图如图3-3所示:
学生实体ER图如图3-4所示:
外来人员实体ER图如图3-4所示:
卫生检查实体ER图如图3-4所示:
违纪记录实体ER图如图3-4所示:
工作人员实体ER图如图3-4所示:
物品信息实体ER图如图3-4所示:
维修记录实体ER图如图3-4所示: