版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
表41所示:表4SEQ表\*ARABIC\s11用户表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp50非空创建时间usre_namevarchar100非空账号passwordvarchar20非空密码sexvarchar18可以为空性别avatavarchar500可以为空头像phone_numbervarchar11可以为空手机号码mailboxvarchar200可以为空邮箱房源信息表:表里包括ID创建时间,房屋名称,房屋户型,地址,租赁方式,朝向,租金,建筑面积等信息,用来房源的具体信息。房源信息如表4-2所示:表4SEQ表\*ARABIC\s12房源信息表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp20非空创建时间house_namevarchar50非空房屋名称house_typevarchar200非空户型imagelongtext200非空图片addressvarchar200可以为空地址statusvarchar200可以为空房源状态rental_methodvarchar200可以为空租赁方式rouse_areadouble200可以为空建筑面积orientationvarchar200可以为空朝向rentvarchar200可以为空租金describelongtext100可以为空描述updatedate30非空发布日期clicktimedatetime200非空最近点击时间clicktimedatetime200非空点击次数discussnumbigint200非空评论数storeupnumbigint200非空收藏数租房信息表:表里包括创建租房信息的时间、标题和封面,租房的价格、面积、朝向、维护配套设施以及楼层等相关信息。租房信息表如表4-3所示:表43租房信息表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp20可以为空创建时间titlevarchar200可以为空标题coverlongtext50可以为空封面priceint200可以为空价格(元/月)areavarchar200可以为空面积orientationvarchar200可以为空朝向floorsvarchar200可以为空楼层elevatorsvarchar200可以为空电梯watervarchar200可以为空用水electricityvarchar200可以为空用电gasvarchar200可以为空用气heatingvarchar100可以为空采暖maintenancevarchar100可以为空维护房屋户型表:表里包括创建的时间、房屋的户型、具体图片信息。房屋户型表如表4-4所示:表44房屋户型表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp20可以为空创建时间house_typetimestamp200可以为空户型imagelongtext200可以为空标题租房申请表:表里包括ID,创建时间,房屋名称,房屋户型,地址,租赁方式,朝向,租金,建筑面积等信息,用来记录租房人申请租房的具体信息。租房申请如表4-5所示:表45租房申请表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp20非空创建时间house_namevarchar50非空房屋名称house_typevarchar200非空户型imagelongtext200非空图片addressvarchar200可以为空地址rental_methodvarchar200可以为空租赁方式rouse_areadouble200可以为空面积orientationvarchar200可以为空朝向rentdouble200可以为空租金renting_timedatetime100可以为空租房时间renting_termint30非空租期totaldouble200非空总计user_namevarchar100非空账号namevarchar200非空姓名phone_numbervarchar11非空手机号码notesdatetime200可以为空租房备注examinebigint200非空是否审核replylongtext200可以为空审核回复留言板表:表里包括留言时创建时间、用户id和用户信息、留言和回复内容(附加图片)的信息。留言板如表4-6所示:表46留言板表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp20非空创建时间user_idbigint50非空用户iduser_namevarchar200可以为空用户名avatarurllongtext200可以为空头像contentvarchar200可以为空留言内容cpicturelongtext200可以非空留言图片replyvarchar200可以为空回复内容rpicturelongtext200可以为空回复图片房源信息评论表:表里包括ID,创建时间、评论回复内容,评论人的用户名和id等信息,用来记录房源的评论信息。房源信息评论如表4-7所示:表47房源信息评论表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp20非空创建时间refidbigint20非空关联表iduser_idbigint50非空用户iduser_namevarchar200可以为空用户名avatarurllongtext200可以为空头像contentvarchar200可以为空评论内容replyvarchar200可以为空回复内容收藏表:表里包括ID,创建时间,收藏房源的图片和标题,类型和推荐类型等信息。收藏表如表4-8所示:表48收藏表字段数据类型长度约束条件描述idbigint20非空,主键IDaddtimetimestamp20非空创建时间refidbigint20非空关联表iduser_idbigint50非空用户idtable_namevarchar200可以为空表名titlevarchar200可以为空标题picturelogtext0可以为空图片typevarchar200可以为空类型inteltypevarchar200可以为空推荐类型remarkvarchar200可以为空备注配置表:表里包括id,配置参数名称,配置参数值,url,用于存储和各种数据的结构化形式。配置表如表4-9所示:表49配置表字段数据类型长度约束条件描述idbigint20非空,主键IDnamevarchar100非空配置参数名称valuevarchar100非空配置参数值urlvarchar100非空url4.6系统流程设计4.6.1数据爬取数据来源于贝壳网租房链接上成都市的租房数据,利用Scrapy网络爬虫的主要作用是在海量的网络信息中按一定规则进行爬取和存储信息REF_Ref10780\n\h[6],来解析该网页的内容,找到匹配的内容会存入数据库内;如果爬取还有下一个链接则需要将下一页链接加入访问队列,再一次解析匹配内容、访问队列为空时,会把最终匹配的数据存储至数据库。解析数据是响应中的内容可能有多种形式,使用正则表达式、解析库等方法进行解析,提取有效信息REF_Ref11381\n\h[8]。数据爬取流程图如图4-9所示:图4-9数据爬取流程图4.6.2登录流程登录页面应先选择一个登录角色的类型,登录的信息与数据库的数据进行交互成功,登录合法的账号和密码,连接成功后会自动切换到系统的主页面;如果账号和密码出错会处理出错事务。登录页面的流程图如4-10所示。图4-10系统登录页面的流程4.6.3租房申请管理用户在房源信息管理模块选择合适的房源,通过对某一房源填写其租房信息,将租房请求发送给管理员,可以在个人中心查看租房申请记录。在管理端由管理员在租房申请处进行对用户的租房申请审核,管理员可以查看申请记录并审批,并且把租房状态反馈给用户。如果审批通过显示租房成功,则在房源信息栏返回现有房源信息,反之租房申请一直处于待审核状态,用户必须经过管理员同意才能租房。租房申请流程如图4-11所示:图4-11租房申请流程第5章系统实现从上面的系统设计可知,根据项目工程的基本原理,本系统用SQL作为后台的数据管理仓库,将其被创建成功有效的数据表并导入数据,在应用层上与所搭建的框架成功进行数据交互,达到系统的最终功能设计效果。5.1数据可视化5.1.1数据获取网站的选取:研究各种租房网站的租房信息,尝试爬取不同网站的租房信息对比其字段属性是否完整,对最终选取贝壳网成都市的租房数据(/zufang/pg{}/#contentList)作为该系统的数据源;其中利用Scrapy爬虫技术将贝壳网的成都市数据获取成功并存储在数据库中。贝壳网房源页面图和房屋基本信息图如图5-1、5-2所示。图51贝壳网房源页面图图52房屋基本信息图爬取数据前要先创建一个ScrapySpider类,主要功能是爬取贝壳租房成都市的租房信息,由于这个网页地址有下一链接,因此在start_urls会提供多个url,对每一个url进行遍历,进而从start_requests发出请求。在_init__方法中,会通过类的成员变量realtime来判断是否是实时的,如果是实时的则从命令行参数realtime中获取对应的参数的值。start_requests()方法会创建一个生成器,它会为提供的url发送请求,对于带有{}的URL会使用for循环遍历所有页面,其次对parse()方法继续提取解析。数据获取代码如代码5-1所示。代码5-1数据爬取代码classZufangxinxiSpider(scrapy.Spider):name='zufangxinxiSpider'spiderUrl='/zufang/pg{}/#contentList'start_urls=spiderUrl.split(";")protocol=''hostname=''realtime=Falsedef__init__(self,realtime=False,*args,**kwargs):super().__init__(*args,**kwargs)self.realtime=realtime=='true'defstart_requests(self):plat=platform.system().lower()ifnotself.realtimeand(plat=='linux'orplat=='windows'):connect=self.db_connect()cursor=connect.cursor()ifself.table_exists(cursor,'ry1m3e78_zufangxinxi')==1:cursor.close()connect.close()self.temp_data()returnpageNum=1+1forurlinself.start_urls:if'{}'inurl:forpageinrange(1,pageNum):next_link=url.format(page)yieldscrapy.Request(url=next_link,callback=self.parse)else:yieldscrapy.Request(url=url,callback=self.parse)进一步解析页面详情信息,通过对租房信息中地址、面积、楼层、用水电气情况、朝向、有无电梯、租金等信息详细爬取出来。使用detail_parse函数先提取出response中的metadata赋值给fields变量,然后尝试通过正则表达式匹配提取response,提取结果做相应的处理,最后将结果保存回fields;处理过程中如果出现异常则返回空值。5.1.2数据清洗与预处理数据清洗与预处理:主要包括对数据进行清洗的一些操作,如重复数据过滤、空数据过滤、填充空数据、异常值过滤等。使用duplicated()和drop_duplicates()方法来过滤重复数据;使用isnull()和dropna()方法来过滤空行数据;fillna()方法来填充空数据;对异常值进行过滤,设置其滤出范围为大于800和小于100的;使用条件np.abs(b)>3*1找出数组中绝对值大于3倍标准差的值,存储在cond中。去除多余的HTML标签,使用正则表达式来去除HTML标签。使用df2.drop(labels=index,axis=0)根据行索引删除其中的数据行。数据清洗与预处理的代码如代码5-2所示。代码5-2数据清洗与预处理代码defpandas_filter(self):engine=create_engine('mysql+pymysql://root:123456@localhost/spiderry1m3e78?charset=UTF8MB4')df=pd.read_sql('select*fromzufangxinxilimit50',con=engine)df.duplicated()df.drop_duplicates()df.isnull()df.dropna()df.fillna(value='暂无')a=np.random.randint(0,1000,size=200)cond=(a<=800)&(a>=100)a[cond]b=np.random.randn(100000)cond=np.abs(b)>3*1b[cond]df2=pd.DataFrame(data=np.random.randn(10000,3))cond=(df2>3*df2.std()).any(axis=1)index=df2[cond].indexdf2.drop(labels=index,axis=0)defremove_html(self,html):ifhtml==None:return''pattern=pile(r'<[^>]+>',re.S)returnpattern.sub('',html).strip()5.1.3数据存储和管理数据存储和管理:把上阶段清洗完成后的租房数据存储至MySQL库,它提供高效的数据存储和管理能力,支持与后台数据管理的访问和交互。配置数据库连接的相关参数和创建对象,主机地址默认为locahost,端口号为3307,租房信息表如图5-3所示。图53租房信息表图5.1.4数据分析数据分析是从存储的数据中提取出对当前分析任务相关的数据子集,使用协同过滤算法技术来发现数据中的模式和关联。从多方面来进行租房信息分析:对租房信息从租金、朝向、户型、用水情况和房源信息展示等进行分析,同时管理员和用户都可以通过点击右上角的看板,会跳转到新页面,可视化页面展示出租房信息的统计,可以直观的看出其受热度。租金柱状图:名为zufangxinxiChat1的函数,它用于生成一个基于ECharts的柱状图,它通过发送HTTP请求获取数据,然后根据数据的内容构建图表的配置项,并使用这些配置项显示图表,同时还支持根据窗口大小调整图表的大小。执行操作前用getDataList()获取数据列表,用this方法中Count()获取租房信息数量,this.zufangxinxiChat1()执行租房信息聊天1,将其调用到名为zufangxinxiChat1的函数,实现柱状图的实现。租金柱状图代码如代码5-3所示。代码53租金柱状图代码zufangxinxiChat1(){this.$nextTick(()=>{VarzufangxinxiChart1=echarts.init(document.getElementById("zufangxinxiChart1"),'macarons');this.$http({url:"zufangxinxi/sectionStat/jiage",method:"get",}).then(({data})=>{if(data&&data.code===0){letres=data.data;letxAxis=[];letyAxis=[];letpArray=[]for(leti=0;i<res.length;i++){ if(this.boardBase&&i==this.boardBase.barNum){ break; }varoption={}; lettitleObj=this.bar.title titleObj.text='价格(元/月)统计' constlegendObj=this.bar.legend letxAxisObj=this.bar.xAxis xAxisObj.type='category' xAxisObj.data=xAxis letyAxisObj=this.bar.yAxis yAxisObj.type='value' letseriesObj={data:yAxis,type:'bar'}通过分析,可以明显看出成都市地区套房租金价位偏高,普遍情况趋于3000元以上,而单间和小套二的户型集中于1000元以下,这也就说明租金与用房人数、房屋的地理位置成正比关系。周围配套设施完善、人口活跃度高的黄金地带反而租金就越高,一般租客的最佳选择租金在1000-2000的范围内,居住环境好。租金柱状图如图5-4所示。图54租房柱状图用水仪表盘:先创建方法用于生成一个仪表盘(gauge)的配置选项。先设置option的空对象标题为"用水统计",再遍历pArray数组,并为每个元素添加title和detail属性,名为seriesObj的对象中包含了数据、类型等信息。接着,它将this.gauge.series的属性合并到seriesObj中。最后名为gridObj的对象,并将背景颜色、颜色、标题、提示框、系列和网格等属性合并到option对象中。用水情况的代码如图5-4所示。代码54用水仪表盘代码varoption={};lettitleObj=this.gauge.title titleObj.text='用水统计'for(letx=0;x<pArray.length;x++){ pArray[x]=Object.assign(pArray[x],{Title:{offsetCenter:[String((-160+(x)*60)+'%'),'80%']},detail:{ offsetCenter:[String((-160+(x)*60)+'%'),'105%'] } })} letseriesObj={ data:pArray, type:'gauge',} seriesObj=Object.assign(seriesObj,this.gauge.series) constgridObj=this.gauge.grid option={backgroundColor:this.gauge.backgroundColor, color:this.gauge.color, title:titleObj, tooltip:this.gauge.tooltip, series:[seriesObj], grid:gridObj,}从用水的统计来看,房屋的配套中用水情况一般都是民水,民水民电在成本上更有优势,适合普通住宅使用;而商水商电虽然费用较高,但在合租情况下能提供更清晰的费用分摊。显而易见,一般租客结合到个人的实际租房情况和偏好来决定选用民水的要高。用水统计如图5-5所示。图55用水统计图同理,使用以上的方法和函数的调用、设置图形的内置参数等操作,将朝向(折线图)、面积统计(扇形图)、标题词云图、租房热门前10的租房信息各自进行分析并加以展示。从数据显示中可以看出来租客选择朝向在东边和房屋面积为50以下和100-150平方米的房源居多,其中选择以上两种面积共占比在60%左右,说明租客选择其房屋大小和实际居住人数具有一定的关系,同时合租平摊租金更趋于理想化。面积统计和朝向统计分别如图5-6、5-7所示。图56面积统计图图57朝向统计图标题词云图将租房的文本数据以视觉形式展现,租客可以迅速把握标题的整体特征和重点,其中根据标题词汇的颜色字体大小来决定租房信息最活跃的。在租房数据中,通过词云图可以直观地看到哪些词汇或主题最为频繁,从而了解到租房市场的热点和趋势。标题词云图如图5-8所示。图58标题词云图5.1.5可视化大屏可视化引入Echarts库将数据加载到图表中,并使用ajax请求获取数据;调用setOption方法将配置项应用到图表上,为图表添加事件监听器,以便在用户交互时执行相应的操作。最后调整样式,如颜色、字体等以及响应窗口大小,可自动调整图表的大小和布局。数据大屏中显示租房数据总计520条、其租房信息热门榜TOP前10的租房信息展示,更加直观地看出租房信息的名称、地址和其他信息。此外还可以显示租金、朝向、面积、用水情况、标题词云图等图表信息。数据大屏如图5-9所示。图59数据大屏5.2用户端系统5.2.1.登录模块登录准确输入对应的用户名和密码,对密码长度进行要求,必须大于6位数,不符合条件会列出提示信息,其页面如5-10所示。图510登录界面具体实现登录逻辑如代码5-5所示。代码55登录逻辑代码submitForm(formName)
{
if
(this.roles.length!=1)
{
if
(!this.role)
{
this.$message.error("请选择登录用户类型");
return
false;
}
}
else
{
this.role
=
this.roles[0].roleName;
this.loginForm.tableName
=
this.roles[0].tableName;
}this.loginPost(formName)
},5.2.2.个人中心用户登录成功后,在个人中心这一模块进行对自己的信息查看和修改密码、生效后的密码需要重新验证登录,通过在“我的收藏”查看用户已收藏的房源信息,从而根据点击和收藏为用户提供房源推荐的优质服务。在“租房申请”这一栏可以查看租房申请的信息以及审核情况,等待管理员审核通过后,用户才可以正常用房。整个房源信息会更新处理,并提示该房源是否存在。个人中心页面如图5-11所示。图511个人中心5.2.3.房源信息推荐模块在游客模式下首页的房源推荐是根据用户点击房源的次数而进行推荐的,而用户登录成功后,其推荐的方式就是根据对房源收藏进行协调推荐,同时更友好地给用户展示其房源详情。系统房源收藏和推荐页面如图5-12、5-13所示。图512房源收藏图513房源信息推荐5.2.4.房源信息模块 用户可以在房源信息这一模块展示所有房源,还根据自己的需求来查询其房源信息,勾选栏中房屋状态分为已租和待租,租赁方式分为整租和合租,是否有电梯等操作。当用户点击查看房源成功后,还可以进行对该房屋查看房源详情并提交租房申请,房源信息页面展示如图5-14所示。图514房源信息该代码快利用Vue组件的created()生命周期钩子函数。如果URL中存在centerType参数,属性设置为true。设置baseUrl为$config中的baseUrl。分别初始化三个数组用于对房源状态、租赁方式、有无电梯查询其全部房源信息;同时又调用getFenlei()方法获取分类信息;调用getList()方法获取列表数据,传入参数page为-1,fenlei为'全部';最后调用getHotList()方法获取热门列表数据。房源信息查询代码如代码5-6所示。代码56房源信息代码created()
{if(this.$route.query.centerType){this.centerType
=
true}this.baseUrl
=
this.$config.baseUrl;
this.fangyuanzhuangtaiOptions
=
'已租,待租'.split(',');
this.zulinfangshiOptions
=
'整租,合租'.split(',');
this.youwudiantiOptions
=
'有,无'.split(',');
this.getFenlei();
this.getList(1,
'全部');
this.getHotList();
},
getList(page,
fenlei,
ref
=
'')
{if(fenlei
==
'全部')
this.swiperIndex
=
-1;for(let
i=0;i<this.fenlei.length;i++)
{if(fenlei
==
this.fenlei[i][this.feileiColumn])
{this.swiperIndex
=
i;break;}}if(fenlei){this.curFenlei
=
fenlei;}5.2.5.租房申请模块用户通过上述操作后,在房屋查看房源详情页面的最下方点击“立即租房”,即可提交租房申请,填写其预租的房源信息,包括房屋户型、地址和租赁方式、租金和租期(按月来计)等信息,租房申请页面展示如图5-15所示。图515租房申请该代码块使用vue组件方法$messag()来显示消息框发送了一个POST请求到服务器的租房申请的接口,URL路径可以是update、save或add,请求的数据为this.ruleForm对象。当请求成功后,会执行函数接收响应数据作为参数。先通过检查响应数据的code属性是否为0来判断操作是否成功;如果成功,会显示一个成功消息框,并在关闭后返回上一页,反之会提示出错提示。租房申请核心代码块如代码5-7所示。代码57房源信息代码this.$http.post(`zufangshenqing/${this.ruleForm.id?'update':this.centerType?'save':'add'}`,
this.ruleForm).then(res
=>
{if
(res.data.code
==
0)
{this.$message({message:
'操作成功',type:
'success',duration:
1500,onClose:
()
=>
{this.$router.go(-1);}});}
else
{this.$message({message:
res.data.msg,type:
'error',duration:
1500});5.2.6.留言板模块用户可以在留言板处对某一房源的进行合理的评价,在评论编辑框输入留言的内容并附加图片,点击立即提交就说明留言成功;同时整个页面还可以预览他人的留言内容和图片信息,留言板页面如图5-16所示。图516留言板5.3管理端系统5.3.1.登录窗口登录模块分为管理员登录和用户登录,默认输入管理员的用户名和密码,对密码长度进行要求,必须大于6位数,不符合条件会列出提示信息,登录窗口页面如图5-17所示。图517登录窗口登录窗口逻辑代码块检查用户名和密码是否为空,如果为空则显示错误消息并返回。判断角色是否单一还是多个,会根据选择的角色获取对应的菜单表名,并将其赋值给this.tableName;最后调用this.loginPost()方法进行登录操作。管理端登录窗口的代码如代码5-8所示。代码58登录窗口代码login()
{if
(!this.rulesForm.username)
{this.$message.error("请输入用户名");return;}if
(!this.rulesForm.password)
{this.$message.error("请输入密码");return;}if(this.roles.length>1)
{if
(!this.rulesForm.role)
{this.$message.error("请选择角色");return;}let
menus
=
this.menus;for
(let
i
=
0;
i
<
menus.length;
i++)
{if
(menus[i].roleName
==
this.rulesForm.role)
{this.tableName
=
menus[i].tableName;}}}
else
{this.tableName
=
this.roles[0].tableName;this.rulesForm.role
=
this.roles[0].roleName;}this.loginPost()
},5.3.2.用户管理管理员拥有最高权限可管理其用户端系统里面的用户信息,进行查看、删除和修改等操作。用户管理页面如图5-18所示。图518用户管理该代码块功能是管理员对用户信息进行新增和删除操作。add(path)方法用于添加一个查询参数,先创建了空的查询对象query,再判断this.centerType为真(设置为1),并将其添加到查询对象中;使用$router.push()方法把查询对象作为参数传递。使用delClick()方法可删除用户。弹出显示框,若管理员点击确认按钮,它会发送一个POST请求到用户删除的接口,传递用户的ID作为参数。如果请求成功并且返回的数据中的code为0,它会显示一个成功消息框,并在关闭后返回上一页。如果用户点击取消按钮或者请求失败,则不执行任何操作。用户管理中添加和删除用户代码如代码5-9所示。代码59添加和删除用户代码add(path)
{let
query
=
{}if(this.centerType){query.centerType
=
1}this.$router.push({path:
path,query:query});},async
delClick(){await
this.$confirm('是否删除此用户?')
.then(_
=>
{
this.$http.post('yonghu/delete',
[this.detail.id]).then(async
res
=>
{if
(res.data.code
==
0)
{this.$message({type:
'success',message:
'删除成功!',duration:
1500,onClose:
()
=>
{history.back()}});}
});
}).catch(_
=>
{});},5.3.3.房屋户型管理员可以对某一房源的户型进行登记,在下拉框内选择该房屋匹配的户型,上传该户型的具体图片,成功提交后数据则会及时更新。管理员会对这些数据进行增删改查的操作。房屋户型页面如图5-19所示。图519房屋户型5.3.4.房源信息管理员将已添加成功的房源,勾选选项卡选择其名称、地址和、租房状态及租赁方式等信息,对修改和添加的租房数据进行一个刷新处理,页面会展示所有的房源信息;同时管理员可以对房源的评论进行查看,很明显地看出来房源的评论情况。房源页面如图5-20所示。图520房源信息5.4.5.租房申请管理员进入页面会提示申请通过和待审核的租房申请,由管理员来进行操作;通过申请也会在用户端系统显示租房成功,待审核的需要管理员来审核。租房申请页面如图5-21所示。图521租房申请该代码块管理员对用户提交的租房申请进行审核通过,使用shHandler的函数,结合Vue.js框架中的$confirm()方法来显示一个确认对话框。当用户点击"确定"按钮时,会执行发送请求到相关路径,并将this.detail作为请求的数据。如果响应数据中的code字段为0,表示操作成功,则关闭sfshVisiable对话框,并显示一条成功消息。租房申请审核通过的代码如代码5-10所示。代码510租房申请通过代码shHandler(){
this.$confirm(`确定操作?`,
"提示",
{
confirmButtonText:
"确定",
cancelButtonText:
"取消",
type:
"warning"
}).then(()
=>
{
this.detail.sfsh
=
this.shForm.sfsh;
this.detail.shhf
=
this.shForm.shhf;
this.$http.post(`${this.tablename}/update`,
this.detail).then(res
=>
{
if
(res.data.code
==
0)
{
this.sfshVisiable
=
false;
this.$message({
message:
"操作成功",
type:
"success",
duration:
1500,
});
}
});
});
},5.4.6.租房信息租房信息来源于贝壳租房网站上的成都市租房数据,爬取数据成功则会显示爬取成功,管理员并进行增删改查操作;租房信息页面如图5-22所示。图522租房信息5.4.7.留言板管理留言板管理是通过用户端在留言板生成下来的评论反馈,由管理员进行后台对留言板进行一系列的管理操作,可以查看、回复当前用户的评论等其他操作。留言板管理页面如图5-23所示。图523留言板管理第6章系统测试6.1测试目的与任务测试是为了测试整个项目是否能正常成功运行,测试人员可以通过黑盒测试来对系统程序的内在功能和页面操作进行一系列的测试,检测数据是否加载录入成功等问题,以达到预期的最佳效果。测试数据源于贝壳租房网站上采集成都市的租房信息,前端在登录窗口进行身份验证测试、房源详情的数据是否与存储在数据库中的信息相匹配,在评价管理能否用户评论成功。可视化展示出来的图表要有特征性、多元化,能真实地体现数据的价值。6.2软件测试方法黑盒测试的测试对象是软件系统是否按照规格说明和需求完成所要实现的功能,而不是程序的底层代码。在软件系统的测试人员不需要知道软件系统的内部实现,只需要知道软件的功能和性能要求,测试人员需要检验系统是否满足用户需求,并且发现其逻辑问题和功能缺陷等问题。本章主要使用黑盒测试来测试租房数据可视化系统的功能模块。6.3系统功能测试6.3.1.登录测试登录模块测试是每一个系统进入页面的门禁,由管理员给用户分配账号和密码后,确认登录角色成功登录系统页面,才能正常使用该系统,管理员身份登录的测试结果如表6-1所示。测试内容管理员登录的测试输入/动作期望的输出/相应实际情况典型值:帐号:admin密码:123456角色:管理员能正常进入管理员的后台管理进入了管理员的后台管理页面边界值:帐号:admin密码:123456角色:管理员友好的出错提示用户名或密码错误异常值:帐号:admin密码:123角色:用户友好的出错提示请选择正确的登录角色(登录失败)表6-1管理员登录的测试登录正确的用户名和密码登陆时,系统会自动跳转系统的主页面,以用户登录的测试结果如表6-2所示。表6-2用户登录的测试测试内容用户登录的测试输入/动作期望的输出/相应实际情况典型值:帐号:0101密码:123456角色:用户1能正常进入用户登录页面进入用户登录的主页面边界值:帐号:0102密码:123456角色:用户2友好的出错提示用户名或密码错误异常值:帐号:姓名2密码:123456角色:管理员友好的出错提示请选择正确的登录角色(登录失败)6.3.2用户租房申请的测试用户在用户端系统上提交租房申请后,可以查看申请是否被管理员审核成功,成功后在用户租房申请会成功显示已租房的房源信息。租房申请其测试结果如表6-3所示。表6-3租房申请的测试测试内容用户租房申请的测试输入/动作期望的输出/相应实际情况用户提交租房申请能正常待管理员审核通过,并提示给用户租房成功申请通过,租房成功超时进行操作友好的出错提示租房房源已不存在租房申请待审核友好的出错提示操作失败,待管理员审核成功6.3.3管理员房源信息的测试管理员在房源信息模块这一栏,可以对房源信息进行增删改查的操作,为后面的租房数据提供数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 固阳安全检查标准流程讲解
- 常州政治考试试卷及答案
- 外科人教版册试题及答案
- 2025-2026人教版初中九年级语文期末测试卷
- 2025-2026五年级道德与法治上学期期末测试
- 肠道菌群与新型降糖药心肾获益的关系
- 阿里云智能外呼产品白皮书
- 卫生站统计工作制度
- 净水厂制水卫生管理制度
- 卫生院医改规章制度
- 2025年龙井市面向委培生和定向生招聘员额岗位(5人)笔试参考题库及答案解析
- 交通事故培训
- 金融投资分析与决策指导手册(标准版)
- 【初中 地理】2025-2026学年人教版八年级地理下册知识点汇Z
- 2025年版廉政知识测试题库(含答案)
- 机械制图教案
- 新疆干旱的原因
- 九年级 22天1600个中考词汇背默专项训练(英语)
- 老年心血管疾病预防与治疗
- PICC导管标准维护流程教案(2025-2026学年)
- 护士长采血防淤青课件
评论
0/150
提交评论