




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京高校云助手设计报告(后端部分)项目名称:软件工程基础小组名称:12完成日期:2018.12.09文档版本:1.0Contents一、文档说明 31.1编写目的 31.2文档预期读者 3二、结构设计 32.1获取登录及注册信息 32.2获取修改信息 32.3获取及更新收藏信息 32.4获取查询信息 42.5查看及发表评论 4三、数据库设计 43.1相关技术 43.2数据库结构 43.2.1表auth:授权表 43.2.2表user:用户信息 53.2.3表course:课程相关信息数据 53.2.4表lecture:讲座相关信息数据 53.2.5表commit:课程及讲座评论信息 63.3设计背景 63.4相关接口 63.4.1用户相关接口 63.4.2课程讲座相关接口 83.5ER图 9四、主要技术 94.1爬虫信息获取 94.1.1主要功能 94.1.2关键技术 94.1.3结构设计 94.2查询功能设计 10一、文档说明1.1编写目的该文档根据需求分析阶段所得的需求文档编写,目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。1.2文档预期读者本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。二、结构设计2.1获取登录及注册信息从前端登录界面获取用户名和密码,发送给数据库进行查询,从数据库获取返回数据,向前端返回成功与失败信息。从前端注册界面获取昵称,密码等信息,发送至数据库,获取从数据库返回的账号信息并发送给前端。2.2获取修改信息用户登录后,在个人信息修改界面,修改个人信息,将修改后信息发送至数据库,并返回是否成功修改。2.3获取及更新收藏信息 从前端接收查询收藏信息的请求,从数据库获取该用户的收藏信息并返回给前端。 从前端接收添加或删除收藏信息的请求,发送给数据库进行更新并返回给前端更新成功或失败的结果。2.4获取查询信息从前端界面获取用户查询关键字,将关键字发送给数据库,通过关键词相关列表递归查询相似关键词,将从数据库获取的信息返回给前端界面。2.5查看及发表评论从前端接收查看某课程或讲座的请求,访问数据库得到结果并返回给前端。 从前端接收添加评论的请求,写入数据库并返回给前端成功与否的信息。三、数据库设计3.1相关技术数据库:MongoDB接口函数语言实现:Python3.2数据库结构数据库分为五个表。3.2.1表auth:授权表字段类型备注_idObjectID授权表主键user_nameString用户名passwordString密码user_idObjectID用户id3.2.2表user:用户信息字段类型备注_idObjectID主键用户idcoursesArray用户所选课程的信息dateDate用户注册时间lecturesArray用户所选讲座的信息3.2.3表course:课程相关信息数据字段类型备注_idObjectID主键课程idcourse_nameString课程名称course_dateDate时间teacherString授课人schoolString开课学院introductionString介绍commitsArray评论levelInteger评级(<=5)3.2.4表lecture:讲座相关信息数据字段类型备注_idObjectID主键讲座idlecture_nameString讲座名称lecture_dateDate讲座开始时间presenterString讲座教授TimeInteger讲座持续时长introductionString介绍commitsArray评论levelInteger评级(<=5)3.2.5表commit:课程及讲座评论信息字段类型备注_idObjectID主键评论idmessageString评论内容user_idInteger评论人idcourse_idInteger课程或讲座id3.3设计背景授权表和用户信息表分离,便于对用户身份信息进行核验,未来如果要扩充认证方式也可以直接对用户授权表进行修改而不用涉及到用户核心信息表。课程信息表和用户信息表分离便于对课程信息进行高级操作。3.4相关接口3.4.1用户相关接口#检查输入查询的用户名和密码,保证合法的输入#username,password是一个String类型的变量#返回一个布尔值checkInput(username,password)#获取用户的相关信息#返回当前用户在数据库中的信息getUserInfo()#增加用户#username,password是一个String类型的变量#返回布尔值,成功或失败addUser(username,password)#修改用户密码#username,password是一个String类型的变量#返回布尔值,成功或失败changeUserPassword(username,password)#修改用户名#oldUserName,newUserName是一个String类型的变量#返回布尔值,成功或失败changeUserName(oldUserName,newUserName)#为用户增加讲座课程#course是课程的id#返回布尔值,成功或失败addUserCourse(userid,course)#删除用户选课#course为课程的id#返回布尔值,成功或失败delUserCousese(userid,course)3.4.2课程讲座相关接口#增加课程#info为课程相关信息的词典#返回布尔值,成功或失败addCourse(info)#删除课程#course为课程id#返回值为布尔值,成功或失败delCourse(course)#修改课程#course为课程id#info为课程相关信息的词典#返回值为布尔值,成功或失败changeCourse(course,info)3.5ER图四、主要技术4.1爬虫信息获取4.1.1主要功能通过python爬虫获取部分课程与讲座信息用户可以提交相关讲座与课程信息对获取的信息进行初步处理并送入数据库4.1.2关键技术python基础request、re与bs等库的使用基本的语言处理技术4.1.3结构设计自动信息获取模块定时获取讲座与课程信息。数据处理模块通过将获取的数据进行分类,从而存入数据库4.2查询功能设计在Mongo数据库中,没有SQL语句操作,在查询方面上有find()方法与其等价。通过find()方法,可以实现select*fromtable1,selectclass,namefromtable1whereclass=1等等SQL查询操作。依赖find()方法我们可以实现数据库的基本匹配查询。为了实现较高级的模糊查询,这里分为两种方式。第一种方式是通过正则表达式实现模糊查询。find()方法支持使用正则表达式,所以同样利用find()方法能够实现SQL语句中的like等关键字的功能。第二部分则考虑到使用同近义词。例如“北理”和“北京理工大学”是同义词,“智能”和“智慧”是近义词。但在查询过程中他们会被视为不同的两种东西。通过建立同近义词之间的联系,综合二者的搜索结果,实现更普
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考语文-中等生百日冲刺+专题5:文言实词与虚词
- 航天知识培训课件下载
- 经理销售工作计划
- 保安年度工作总结范文(33篇)
- 大学生军训感想(33篇)
- 六氟化硫知识培训课件
- 2025年专用票清分机合作协议书
- 梨园医院整合推广方案1
- 培训资料-胸腔镜肺叶切除手术配合及护理
- 商场企业安全标准化
- 2025年黑龙江林业职业技术学院单招职业适应性测试题库审定版
- 生物-天一大联考2025届高三四省联考(陕晋青宁)试题和解析
- 天津2025年天津市住房公积金管理中心招聘9人笔试历年参考题库附带答案详解-1
- 2025成人礼暨高三百日誓师校长演讲稿-追梦不觉天涯远 奋斗深感百日短
- 小学科学新课标科学课程标准解读
- DeepSeek科普课件深度解析
- 湖南省长沙市北雅中学2024-2025学年九年级下学期开学考试英语试题(含答案含听力原文无音频)
- 2024年02月北京2024年江苏银行北京分行春季校园招考笔试历年参考题库附带答案详解
- 2025年驻村个人工作计划
- 重磅!2024年中国载人飞艇行业发展前景及市场空间预测报告(智研咨询)
- 全球气候变化与应对措施
评论
0/150
提交评论