php基于php的经典建筑网站的设计与实现
经典建筑网站的设计与实现
摘 要
随着计算机技术的高速发展,现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展。如何充分利用互联网,这是大家共同关心的问题。本文主要介绍了关于经典建筑网站的实现方法,设计规划了经典建筑网站的网页,以互联网的形式将分散的用户进行统一管理。而经典建筑网站,不仅需要在硬件上为经典建筑网站的用户们提供一个毕业设计管理的学习地方,更要在软件上为愿意使用经典建筑网站的人提供必要的便利。于是经典建筑网站便应运而生。
目前在本课题范围内,分析了管理员对用户的管理现状和现有的用户对管理员的服务的要求。 针对目前世界上流行的大量软件和开发工具进行分析其优缺点。软、硬件能否满足需要,决定本系统采用基于B/S架构,开发语言PHP,MVC开发模式。数据库系统采的是MySQL,它能够处理大量数据,是一种关系型数据库管理系统,具有运行速度快,灵活性高,同时在一定程度上能保持数据的完整性、安全性。使用PHP开发网站具有成本低、速度快等优势,而且我对这项技术比较熟悉,不需要花费额外时间再去学习,因此本系统的开发平台已经相对成熟可行。
在经典建筑网站的实现下,管理员能够充分发挥信息化处理的优势,提高日常管理的处理速率。用户一方可以更好的享受信息化处理带来的便利。系统运行能够稳定且高效。并且人机友好程度能够显著提升。
关键词:经典建筑网站,MVC,PHP,B/S
Design and implementation of classic architecture website
Abstract
With the rapid development of computer technology, the modern computer system has developed from the computing center to the information processing center. How to make full use of the Internet is a common concern. This paper mainly introduces the implementation method of the classic architecture website, the design and planning of the classic architecture website webpage, in the form of the Internet will be scattered users for unified management. The classic architecture website, not only needs to provide a graduation design management learning place for the users of the classic architecture website on the hardware, but also needs to provide necessary convenience for those who are willing to use the classic architecture website on the software. So the classic architecture website system came into being.
At present in the scope of this topic, analyzes the management status of the administrator to the user and the existing user to the administrator’s service requirements. Analyze the advantages and disadvantages of a large number of popular software and development tools in the world. Whether the software and hardware can meet the needs, it is decided that this system adopts the B/S architecture, development language PHP, MVC development mode. The database system is MySQL, which can handle a large amount of data. It is a relational database management system, which has the advantages of fast running speed, high flexibility, and at the same time can maintain the integrity and security of data to a certain extent. Using PHP to develop websites has advantages such as low cost and fast speed. Besides, I am familiar with this technology and do not need to spend extra time to learn it. Therefore, the development platform of this system has been relatively mature and feasible.
Under the implementation of the classic architecture website system, the administrator can give full play to the advantages of information processing and improve the processing rate of daily management. Users can better enjoy the convenience brought by information processing. The system runs stably and efficiently. And the human-machine friendliness can be significantly improved.
Keywords: Classic architecture website, MVC, PHP, B/S
目 录
摘 要 I
Abstract II
第1章 项目概述 1
1.1 问题描述 1
1.2 项目目标 1
1.3 项目适用范围 2
1.4 项目应遵守的规范与标准 2
1.5 涉众 2
第2章 需求分析 3
2.1 业务需求 3
2.1.1 业务流程 3
2.1.2 业务对象 3
2.2 功能性需求 4
2.2.1 用例概述 4
2.2.2 用例描述 5
2.3 非功能性需求 8
2.4 运行环境 9
第3章 系统设计 10
3.1 技术路线 10
3.2 软件体系结构设计 11
3.2.1 功能结构 11
3.2.2 系统架构 11
3.3 数据库设计 12
3.3.1 概念结构设计 12
3.4.2 表的详细设计 13
第4章 系统实现 19
4.1 核心功能实现 19
4.2 关键技术难点与解决方案 25
第5章 系统测试 27
5.1 功能测试 27
5.2 测试总结 29
第6章 结论与展望 31
参考文献 33
致 谢 34
第1章 项目概述
1.1 课题背景、目的及意义
经典建筑网站,总体任务是实现国内外经典建筑的系统化和规范化,其主要任务是用一个计算机网站对国内外经典建筑的信息进行统合,比如建筑的历史、背景、意义等,另外还考虑到用户对这些信息的查询和管理员对信息的修改、增加、删除等各种管理,针对这些要求设计了经典建筑网站。本网站主要用于国内外经典建筑的信息统合,具有许多优点,比如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地满足用户了解经典建筑的心愿,与先进科学技术接轨的重要条件,这些都是经典建筑网站极有前途的发展。
随着科技的发展和时代的进步,人们越来越重视和喜欢经典建筑,同时也有越来越多的人成为网民,希望从网上获取感兴趣的信息,如今,人们越来越依赖网络,上网几乎已经成为人们的日常行为,因此,经典建筑网站会成为人们了解经典建筑的主要途径之一。同时,面对庞大的信息量,该网站能提高各种信息的统合度,提高用户了解的效率。通过这样的网站可以做到信息的规范管理和快速查询、修改、增加、删除等,从而让人们更好地了解经典建筑。
1.2 项目目标
经典建筑网站的后台开发目标是以信息管理系统的管理和开发方法,用目前现有的新技术进行系统开发,提供后台管理员高度友好的界面操作以及迅捷的信息处理。而前台的开发目标是以用户的需求作为主导,提供对用户而言非常友好的界面操作环境以及完善系统功能。
本系统主要针对现在经典建筑管理系统中存在的问题,对需要改进的地方进行系统分析,对系统所要实现的功能进行完善,使得其更具有高度界面友好的特性。提出对于系统而言具备可行性的方案,做好系统分析。编译出界面友好,功能齐全的经典建筑网站。
1.3 涉众
在本系统中,涉及到的用户有管理员和用户。
对于管理员,其使用习惯是偏向于实用性和安全性。希望该系统能够高度安全,并且能够正常实现经典建筑网站业务的各项功能。
对于用户而言,其更倾向于界面友好性和便捷性。不仅希望系统能动态展示,还希望系统能够做到“一步到位”,其希望能实现的功能除了正常的经典建筑网站业务以外还希望能够网上查看经典建筑网站,学习经典建筑网站的知识。
1.不同用户的登录问题:根据用户的类别(超级管理员、普通用户)实现用户操作权限的区分并显示不同的操作界面。
2.数据库的连接问题:数据库连接为系统中的关键技术。
3.数据的一致性和安全问题:本系统必须保证数据的一致性和安全,才能实现有效的管理。不能让没有权限的用户对数据进行操作并且定期对数据库进行备份。
4.界面开发:系统界面的设计很重要,要使界面具有亲和力。
5.分析学校信息化现状;
6.研究经典建筑网站的现状及存在的问题;
7.研究系统平台的总体架构、总体设计、数据库设计、数据库安全设计及功能设计;
8.研究平台各个子系统的功能及实现的方法、信息技术的融合、信息安全技术的维护;
9.进行经典建筑网站的功能设计。
第2章 需求分析
2.1 业务需求
2.1.1 业务流程
在经典建筑流程中,管理员登录网站的后台管理后,管理人员受理业务并添加经典建筑信息,其经典建筑流程总体业务如图2.1所示。
图2.1 经典建筑流程总体业务
在建筑类型流程中,管理员登录网站的后台管理后,管理人员受理业务并添加建筑类型信息,其流程总体业务如图2.1所示。
图2.1 建筑类型流程总体业务
在用户注册总体业务中,用户到论文管理注册,管理员将根据用户情况进行注册,其用户注册流程总体业务如图2.3所示。
图2.3 用户注册流程总体业务
2.2 功能性需求
3.1 可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下在线经典建筑管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值, 系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该经典建筑网站的开发设计中,对技术、经济、操作方面进行了可行性分析;
2.1.1 技术可行性
本系统开发选择PHP语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,PHP俨然已成为下一代互联网的Web标准。所以设计选择使用MYSQL,数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
2.1.2 操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
2.1.3 经济可行性
经典建筑网站,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的在线经典建筑管理,同时还能实现对人力资源和管理资源的有效节约,该经典建筑网站在经济上完全可行。
2.2性能需求分析
对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
- 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;
- 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;
- 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
- 系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。
2.3 非功能性需求
安全性:要对用户信息进行保密,只能由后端控制用户信息的更改使用,用户注册也只能在后端管理用户处进行。
兼容性:可在各种支持HTML5的所有浏览器中运行和使用。
性能:页面响应时间在系统繁忙时间最多不得超过6s。在系统处理业务时不得超过2s,
并发性:允许多个用户进行登录操作。
2.4运行环境
(1)经典建筑网站运行需要的硬件环境如下
开发语言:PHP,HTML,JavaScrip、CSS
依赖框架:Thinkphp、Bootstrap、jQuery
开发环境:MySQL、Apache、phpStudy
开发工具:PhpStorm、Sublime text 3
辅助工具:Navicat for MySQL、Rich Text EditorwangEditor
运行及测试工具:Firefox73.0.、IE11、Chrome
操作系统:Windows 10、 Windows 7
网络环境:无限个人局域网WPAN
硬件环境:CPUIntelCorei7、2.70GHz、RAM 8.00GB、硬盘空间128G、940显卡。
(2)经典建筑网站的设备分布图
设备分布图如图2.9所示。
2.5相关软件
该系统基于B/S架构,即浏览器/服务器模式(Browser/Server模式),B/S架构不需要在用户客户端安装软件,可以直接通过浏览器运行,部署方便,该模式是WEB兴起后的一种网络结构。
跨平台、服务端的优势、开源免费使PHP开发语言优势尽显,多样式的脚本语言内置HTML。编程用户从1995年就开始喜爱,至此各个软件系统中广泛运用到PHP语言。它是面向对象的语言就和Java一样,非常有利于跨平台使用,其语言结构简单而又不麻烦,所以开发此经典建筑网站选择PHP语言。
第3章 系统设计
3.1 技术路线
在开发经典建筑网站时,经过大量的技术选取,整合其他系统,最终选择自己熟悉的HTML、CSS和JavaScript等前端技术。这个三个前端技术,是网站开发的非常重要的技术,是构建网站的基石,没有此前端三剑客技术,开发不出网站。HTML技术,主要为超为本标签,通过各个标签,构建网站的骨架。CSS技术主要对HTML标签进行效果的渲染,使完网站的布局和界面更加美观好看。JavaScript技术,是对前端的一些动态的处理,此语言含有大量的方法和自己的开发标准。主要为了动态的操作前端的数据,传到后端进行数据的业务逻辑处理。后端采用我们非常熟悉的三大框架SSM。框架的选取使用,可以对我们的开发过程更加的简单。网站的设计模式采用非常流行的B/S模式,数据库的储存选择MYSQL数据库。
采用JQuery和Bootstrap框架,JQuery的插件为了和Bootstrap兼容的整合到一起,构建了Bootstrap的UI组件库。此UI库,含有大量的实用性的组件,给前端开发人员快速开发非常方便。以JavaScript为核心技术,开发封装了一套简单、方便使用的JQuery框架,此框架能特别快速上手。JavaScript中的很多的常用功能代码都进行封装,提供简单的操作,使得其能和HTML标签快速融合,进行前后端的人机交互。Bootstrap主要又在JQuery的基础上进行更多的的封装,使得开发人员操作起来更加的人性化,完善了JQuery的不足之处,形成了栅格式的网站风格,页面变得简洁大气美观。
(1)Mysql数据库
数据库运用MySQL,跟sqlserver对比之后才选用mysql服务器。关联数据库管理系统中mysql数据库更加的方便使用,避免sqlserver又长又复杂。所谓的关联型的数据库是根据其设计的特点,将不同的数据保存在不同的表中,并不是把很多大量没有关系的数据都放到一个大的仓库中,这种设计可以加快查询速度,从此数据库操作相比以前变得很简单,而且还很方便。
(2)DIV+CSS
DIV + CSS是页面布局时使用的方法。使用时代码精简,大大提高了搜索引擎的爬行效率以及高效性。它能分离页面的数据和表现形式,所以重构页面时修改方便。同时网页的加载速度得到很大的提高,用户的体验性也会大大增加。
(3)B/S架构
B/S的系统是通过能上网的电脑就可以使用,它最大的优点是不需要安装专门的软件,首先浏览器向服务器发出请求,然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据,只要负责显示数据来降低要求,如果说客户端像个“瘦子”,而服务器会越来越“胖”。B/S体系结构与C/S体系结构相比,最大的不同是:B/S体系的应用软件使用网络浏览器作为与用户交互的平台,而C/S则需要开发专用的应用程序。
图2-1 B/S结构图
(4)Dreamweaver技术
网页制作软件之一,该软件是现在使用最多的网页编辑工具,它支持DHTML动态网页、Flash动画和插件,能实现很多FrontPage无法实现的功能,如动态按钮、下拉菜单等。另外,它还可以用来作为动态网站的开发平台。
3.2 软件体系结构设计
3.2.1 功能结构
系统主要是分为管理员端设计与用户端设计。用户端模块主要是系统中普通用户在注册、登录系统可以看到自己的基本信息,维护自己的信息;管理员端模块主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,可对系统中的用户进行管理。
系统的功能结构图如下图所示。
图3.1系统功能结构图
3.2.2 系统架构
系统架构图如图3.2所示。
图3.2 系统架构图
PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl特性,这有利于学习,应用广泛,主要用于Web开发。PHP的独特语法混合了C、Java、Perl和PHP自己的语法。它执行起动态网页比CGI或Perl更快。 PHP也可以执行编译后的代码,编译器可以实现加密和优化代码运行代码更快,在此网站中主要使用它编写后台代码。
3.3 数据库设计
3.3.1 概念结构设计
针对经典建筑网站的功能性需求方面的了解,系统概念模型(ER图)如图3.3所示。
图3.3 系统概念模型ER图
3.3.2 表的详细设计
通过对经典建筑网站在需求分析中的领域对象、业务对象及对象之间的分析,进行了对经典建筑网站的数据库建表设计。经典建筑网站数据库管理部分采用MySQL。
(1)allusers
字段 类型 空 默认 注释
id (主键) int(11) 否 主键
username varchar(50) 是 NULL 用户名
pwd varchar(50) 是 NULL 密码
cx varchar(50) 是 普通管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 时间
(2)allusers
字段 类型 空 默认 注释
id (主键) int(11) 否
username varchar(50) 是 NULL
pwd varchar(50) 是 NULL
cx varchar(50) 是 普通管理员
addtime timestamp 否 CURRENT_TIMESTAMP
(3)canjiazudui
字段 类型 空 默认 注释
id (主键) int(11) 否
bianhao varchar(50) 是 NULL
biaoti varchar(50) 是 NULL
lvyoudidian varchar(50) 是 NULL
lvyouriqi varchar(50) 是 NULL
faburen varchar(50) 是 NULL
xingming varchar(50) 是 NULL
dianhua varchar(50) 是 NULL
canjiaren varchar(50) 是 NULL
canjiarenxingming varchar(50) 是 NULL
lianxidianhua varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
(4)caozuojilu
字段 类型 空 默认 注释
id (主键) int(11) 否
mouren varchar(50) 是 NULL
quanxian varchar(50) 是 NULL
caozuoshixiang varchar(50) 是 NULL
xiangyingbiao varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
(5)dx
字段 类型 空 默认 注释
ID (主键) int(11) 否
leibie varchar(255) 是 NULL
content text 是 NULL
addtime timestamp 是 CURRENT_TIMESTAMP
(6)jiudianxinxi
字段 类型 空 默认 注释
id (主键) int(11) 否
jiudianbianhao varchar(50) 是 NULL
jiudianmingcheng varchar(50) 是 NULL
fangjianxinghao varchar(50) 是 NULL
jiage varchar(50) 是 NULL
shengyufangjianshu varchar(50) 是 NULL
jiudianjieshao varchar(50) 是 NULL
jiudiantupian varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
(7)liuyanban
字段 类型 空 默认 注释
id (主键) int(11) 否
zhanghao varchar(50) 是 NULL
zhaopian varchar(50) 是 NULL
xingming varchar(50) 是 NULL
liuyan varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
huifu varchar(50) 是 NULL
(8)lvyoujingdian
字段 类型 空 默认 注释
id (主键) int(11) 否
jingdianbianhao varchar(50) 是 NULL
jingdianmingcheng varchar(50) 是 NULL
piaojia varchar(50) 是 NULL
jingdianjianjie varchar(500) 是 NULL
minfengminsu varchar(500) 是 NULL
jingdianmingsheng varchar(500) 是 NULL
fengjingmeishi text 是 NULL
fengmian varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
(9)pinglun
字段 类型 空 默认 注释
ID (主键) int(11) 否
wenzhangID varchar(255) 是 NULL
pinglunneirong varchar(1000) 是 NULL
pinglunren varchar(255) 是 NULL
addtime timestamp 是 CURRENT_TIMESTAMP
biao varchar(50) 是 NULL
pingfen int(11) 是 NULL
(10)shoucangjilu
字段 类型 空 默认 注释
ID (主键) int(11) 否
username varchar(255) 是 NULL
xwid varchar(255) 是 NULL
biao varchar(100) 是 NULL
addtime timestamp 是 CURRENT_TIMESTAMP
ziduan varchar(255) 是 NULL
(11)xinwentongzhi
字段 类型 空 默认 注释
id (主键) int(11) 否
biaoti varchar(500) 是 NULL
leibie varchar(50) 是 NULL
neirong text 是 NULL
tianjiaren varchar(50) 是 NULL
addtime timestamp 是 CURRENT_TIMESTAMP
shouyetupian varchar(50) 是 NULL
dianjilv int(11) 是 1
zhaiyao varchar(800) 是 NULL
(12)yonghuzhuce
字段 类型 空 默认 注释
id (主键) int(11) 否
zhanghao varchar(50) 是 NULL
mima varchar(50) 是 NULL
xingming varchar(50) 是 NULL
xingbie varchar(50) 是 NULL
diqu varchar(50) 是 NULL
Email varchar(50) 是 NULL
zhaopian varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
issh varchar(10) 是 否
shouji varchar(255) 是 NULL
(13)youjixinxi
字段 类型 空 默认 注释
id (主键) int(11) 否
youjibianhao varchar(50) 是 NULL
youwandidian varchar(50) 是 NULL
youjineirong varchar(500) 是 NULL
faburen varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
(14)youqinglianjie
字段 类型 空 默认 注释
id (主键) int(11) 否
wangzhanmingcheng varchar(50) 是 NULL
wangzhi varchar(50) 是 NULL
addtime timestamp 是 CURRENT_TIMESTAMP
logo varchar(255) 是 NULL
(15)yuding
字段 类型 空 默认 注释
id (主键) int(11) 否
yudingbianhao varchar(50) 是 NULL
jiudianbianhao varchar(50) 是 NULL
jiudianmingcheng varchar(50) 是 NULL
fangjianxinghao varchar(50) 是 NULL
jiage varchar(50) 是 NULL
shengyufangjianshu varchar(50) 是 NULL
yudingshuliang varchar(50) 是 NULL
zongjine varchar(50) 是 NULL
yudingren varchar(50) 是 NULL
xingming varchar(50) 是 NULL
dianhua varchar(50) 是 NULL
yujidaodianshijian varchar(50) 是 NULL
iszf varchar(10) 是 否
addtime timestamp 否 CURRENT_TIMESTAMP
(16)zuduixinxi
字段 类型 空 默认 注释
id (主键) int(11) 否
bianhao varchar(50) 是 NULL
biaoti varchar(50) 是 NULL
lvyoudidian varchar(50) 是 NULL
lvyouriqi varchar(50) 是 NULL
faburen varchar(50) 是 NULL
xingming varchar(50) 是 NULL
dianhua varchar(50) 是 NULL
addtime timestamp 否 CURRENT_TIMESTAMP
3.4 对象设计
本系统的功能包括系统首页、个人中心、用户管理、建筑类型管理、经典建筑管理、系统管理等。下面对核心模块进行详细设计。
3.4.1 用户管理用例对象设计
(1)用例实现
用户管理模块的顺序图,管理员登录系统可以进行用户管理。如图3.4所示。
图3.4用户管理模块顺序图
本模块的最主要功能就是管理员管理用户信息,添加,删除和修改用户信息。
经过处理,管理员可以登录系统,对用户信息进行编辑,添加,删除等操作。
3.4.2 经典建筑用例对象设计
(1)用例实现
经典建筑模块的顺序图,用户登录系统可以进行经典建筑查询。如图3.5所示。
图3.5酒店预定模块顺序图
本模块的最主要功能就是用户在线查询经典建筑信息,用户选择在线经典建筑。经过处理,用户可以登录系统,对用户在线经典建筑进行等操作。
第4章 系统实现
4.1 核心功能实现
在经典建筑网站中,核心业务用例的实现效果如下所示。受篇幅所限,将只会显示和管理员、用户相关的两个模块核心功能。
(17)个人中心模块实现
用户登陆系统 ,可以查看个人中心信息的操作,采用 form发送异步请求查询个人中心信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行查询并返回结果,实现效果如图4.1所示。
图4.1 个人中心功能实现效果图
(18)管理员对用户管理功能模块
管理员对用户的基本信息进行增删改查操作,采用form发送异步请求将用户信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图4.2所示。
图4.2 管理员对用户管理实现效果图
(19)管理员对建筑类型管理功能模块
管理员对建筑类型的基本信息进行增删改查操作,采用form发送异步请求将建筑类型信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图4.3所示。
图4.3 管理员对建筑类型管理实现效果图
4.2 关键技术难点与解决方案
(1)对于界面中要输入的大批量文字和含有特殊符号的内容的情况下,经过各种editor的比较,最后决定采用百度编辑器插件UEditor实现大批量文字输入和特殊表情。UEditor可以以高度可视化的编辑方式编辑大批量文字和含有特殊符号的内容。其可操作性和执行效率要比JavaScript的方式要高。
(2)由于登录时管理员和用户使用共同的登录页面,需要登录页面去判断当前登陆账号是用户还是管理员,进而跳转至不同的主页。因此在登录界面中,其控制层的实现方式代码如下所示。
第5章 系统测试
5.1 测试概述
软件测试阶段对于整个软件的声明周期起到非常重要的作用,对软件开发过程的监督以及质量的认可,在软件测试的过程中会发现许多我们在开发中没有想到的问题,通过测试我们可以找出程序中的bug以及不足点;通常我们开发的时候只是按照自己的思维逻辑去开发,小的特殊情况可能考虑不到,所以通过软件测试可以进行程序的优化以及改进。
5.2 测试目的
软件测试的意义主要就是能够让软件正确运行,让用户在系统体验的过程中觉得该系统还不错。在软工中,软件测试是特别重要的环节,测试穿插在编码的过程中,不断的进行,在把最终的成品交付给用户使用之前,测试就是检验的过程,开发用户每写完一个模块之后,就要立即对其进行测试,确保此模块能够正确运行。单个模块测完之后,还得将模块组装起来再进行测试,确保模块组装在一起的时候不会出现重大的缺陷。一个完整的系统测试,是一个系统成功的关键。
本系统首先在开发工具php中启动wamp服务器,部署项目环境,查看是否成功,然后在浏览器中输入访问的URL地址,测试能否出现项目的首页。
模块测试:我们对可以看作独立的实体、与其他模块没有联系的模块进行测试,检查代码和设计是否完善,如系统的注册登录等,这样可以减少系统测试的问题。
5.3 模块测试
5.3.1 登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。登录测试用例如下表所示。
表6-1登录测试用例
测试模块 用户登录模块测试
测试目的 测试当登陆信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击登陆。
2输入未注册过的用户名。例如:abcdefg
3输入正确用户名,错误密码。例如:用户名abcdefg、密码 000
4输入正确用户名,正确匹配密码。例如:用户名abcdefg、密码 111
预期结果 1 界面不跳转,弹出对话框,提示用户输入必填项。
2界面不跳转,弹出对话框,提示用户当前用户名尚未注册。
3界面不跳转,弹出对话框,提示用户密码错误。
4界面实现跳转,登陆功能正常进行。
实际结果 与预想一致。
结论 登陆模块实现了基本的异常输入应对。
5.3.2 经典建筑管理测试
经典建筑管理模块需要测试的功能有:经典建筑信息查询、经典建筑信息添加、经典建筑信息修改、经典建筑信息删除。经典建筑管理测试用例如下表所示。
表6-2经典建筑管理测试用例
测试模块 经典建筑管理模块测试
测试目的 对经典建筑信息进行管理操作后是否正常。
测试方法 黑盒测试
测试步骤 1点击经典建筑菜单,查看经典建筑列表信息是否正常显示。
2点击添加经典建筑操作,输入基本信息后,查看数据是否存入数据库中且在列表正常显示
3任选一条记录点击修改,修改个别基本信息,保存后,查看数据是否修改成功
4任选一条记录点击删除,删除后,查看数据是否删除成功
预期结果 1 页面显示经典建筑基本信息列表。
2信息保存成功且在列表中显示。
3信息修改成功且列表中对应的信息显示修改后信息。
4信息删除成功且列表中无对应数据。
实际结果 与预想一致。
结论 经典建筑管理模块实现了对经典建筑信息的基本管理操作。
5.3.3 用户管理测试
用户管理模块需要测试的功能有:用户信息查询、用户信息添加、用户信息修改、用户信息删除。用户管理测试用例如下表所示。
表6-2用户管理测试用例
测试模块 用户管理模块测试
测试目的 对用户信息进行管理操作后是否正常。
测试方法 黑盒测试
测试步骤 1点击用户管理菜单,查看用户列表信息是否正常显示。
2点击添加用户操作,输入基本信息后,查看数据是否存入数据库中且在列表正常显示
3任选一条记录点击修改,修改个别基本信息,保存后,查看数据是否修改成功
4任选一条记录点击删除,删除后,查看数据是否删除成功
预期结果 1 页面显示用户基本信息列表。
2信息保存成功且在列表中显示。
3信息修改成功且列表中对应的信息显示修改后信息。
4信息删除成功且列表中无对应数据。
实际结果 与预想一致。
结论 用户管理模块实现了对用户信息的基本管理操作。
5.4 测试分析
经典建筑网站一共产生57个bug,通过测试发现在登录注册界面产生5个bug,在线酒店预定界面产生15个bug,游记界面产生10个bug,管理预定界面产生7个bug,组队管理界面产生10个bug,经典建筑管理界面产生2个bug,个人信息管理界面产生8个bug,通过修改都已经处理了所有bug,并且做了回归测试,整个系统运行的很稳定。测试结束后,对测试结果进行详细的总结分析,按照按版本统计分析如图6.1所示。
图6.1 按版本统计bug数
按等级统计bug的结果,如图6.2所示。
图6.2 按问题等级统计bug数
按类型统计bug的结果,如图6.3所示。
图6.3 按类型统计bug数
由上面统计图的结果可以看出,经典建筑网站功能测试有多出Bug,需要对功能进行修改,确保每个功能按键都好使,满足项目需求。性能和可用性bug较少,基本满足项目需要。通过多次修改后,bug逐渐减少,从而使系统更好用,性能更稳定,以后开发其他软件的时候,要尽量避免功能上的bug让软件性能有所提高。
5.5 测试总结
通过系统测试发现了自己好多代码中编写的小问题以及逻辑上的问题,其中有一些问题是自己在编写代码的过程中是完全可以避免的,对本次测试做以下两点的总结:
(1)在编写代码的时候,一定要做到全面的考虑,比如考虑各个变量的生命周期,考虑代码的健壮性,考虑数据的特殊性,保证出现任何的数据问题,代码不会垮掉
(2)代码逻辑性的考虑,有的时候我们不能只考虑一个逻辑的正常情况,需要从多方面考虑数据的不合理性,因为客户的操作可能和我们开发用户的思维不同,会出现不同的操作,所以从多方面的考虑操作逻辑会使我们的程序的更加健壮,不容易出现问题。
第6章 结论与展望
在这近几个月的不断的努力中,经典建筑网站终于圆满完成。这套系统具有很多优点,不仅能完成日常经典建筑网站的,还可以对经典建筑网站的业务进行扩展。不过在本项目完成的同时,由于时间短,项目紧促,造成了该系统也有很多不足的地方。整个项目仍有改进的空间。具体的改进如下:
(1)优点
本文简要介绍了典型B/S体系结构的房产中介系统功能模块,重点讨论了系统开发工具、开发语言等关键技术以及系统的数据库建设,系统流程图和功能模块及其代码分析。这些过程的讨论和分析,让大家对系统的体系结构,功能模块等有了更深的了解。在日常维护过程中,都需要进行严格的检测,以保证系统的服务质量。页面加载部分使用form方法,使得页面能够动态显示各种信息。
(2)缺点
本项目的缺点在于由于只有一个人完成整个项目,以此来计算的情况下完成整套系统的时间显得非常仓促。在需求调研阶段就调研结果而言并不能高度满足于现有系统真正所需要的要求。目前此系统基本可以实现网上经典建筑景点信息查询功能,但系统仍然有一些不尽人意,而这些问题主要集中在系统的安全上,虽然系统已经通过相关的控制语句对登陆用户身份进行验证,但是在当今网络信息安全中,仅仅对用户身份验证是不够的,还需要对传送数据进行加密,防止数据传输过程中被篡改等攻击行为进行防御。因此在今后的工作里,这些功能的实现还需要更高的技术支持。
对于经典建筑网站的缺点的相对应改善计划是,理清前后台的业务逻辑,使之能够做到前后台分离。而SmartAdmin中我们可以通过加强对JQuery的使用对其进行补充。使得项目能够有更好的易用性。针对SmartAdmin UI库过多的问题,可以对其进行库设计,从而达到快速引用的设计。
通过这几个月的不断努力和学习,最终独立的完成了整个项目。对此有很多的感触。项目中应用到了不少的新技术。有很多都不在学校的课堂中学习到而是通过不断的实践获得的。有很多的知识通过在公司的实习和在对技术的应用中获得,而这些知识将全部应用在经典建筑网站这个项目上来。随着技术的进步,我们还需要不断的学习与探索,会有更好的天地等着我们去实现。
参考文献
[1] 匡成宝.HTML语言的网页制作方法与技巧探讨[J].电脑迷,2017,(03).
[2] 杨孔雨等.计算机网络技术原理,经济科学出版社,2022.
[3] 沈金龙等.计算机通信与网络,北京邮电大学出版社,2022.
[4] 蒋理等.计算机网络理论与实践,中国水利水电出版社,2022.
[5] 彭澎等.计算机网络教程,机械工业出版社,2022.
[6] 张家超等.计算机网络基础,中国电力出版社,2022.
[7] 高阳.数据库技术与应用,电子工业出版社,2022.
[8] Youlu Zheng著,彭旭东译.计算机网络,清华大学出版社,2022.
[9] 胡建伟等.网络安全与保密,西安电子科技大学出版社,2022.
[10] 罗正蓉,范灵.应用HTML和CSS制作网页[J].科技展望,2016.
[11] 朱敏.JavaScript在HTML中的应用探讨[J].科技视界,2016.
[12] 刘霜,潘立武.HTML发展应用中的探索与研究[J].信息与电脑(理论版),2016.
[13] 魏佳欣,叶飞跃.基于HTML特征与层次聚类的Web查询接口发现[J].计算机工程,2016.
[14] 郭琳.JavaWeb中错误异常的处理方法分析[J].国际问题研究,2017.
[15] 王秀萍,季金奎.Word转换成Html的方法探析[J].福建电脑,2017.
致 谢
在本次毕业设计过程中,得到了指导教师的指导与支持。在此特别感谢XX教师的大力帮助。指导教师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。
另外和我同组同学大家始终团结协作,努力拼搏,增强了我的团队意识,并且我们接下了深厚的友谊,我们自始至终在一种愉快的气氛中学习工作。此次毕业设计对提高我的编程技术、协调团队成员的关系等方面都由许多益处。在此我一并向他表示感谢。我还要感谢我的母校——合肥经济学院(原安徽农业大学经济技术学院),以及在大学四年生活中给予我关心和帮助的教师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。
转眼间,大学生活即将结束,回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位教师不但无私地传授给我们知识,也教会了我们如何做人。管理信息系统专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。
21世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。