技术规格说明书

项目技术规格说明书

简述

网站整体结构

1632489-20190401225849245-1925435378.png

数据库技术

在alpha阶段,我们使用sqlite作为数据库。在beta阶段时,我们将其移植到MySQL。

前端技术

前端框架我们打算继续沿用之前项目所采用的bootstrap框架,对页面进行完善和重构设计。之前项目中所采用的部分JavaScript可以继续使用,在此基础上进行更多JavaScript的编写。

后端技术

这个项目是接手学长的项目,考虑到该项目的后端框架使用的是Django,我们也没有理由更换新的框架。
不仅如此Django具有以下特点:

  • 功能完善、要素齐全:该有的、可以没有的都有,自带大量常用工具和框架,无须你自定义、组合、增删及修改。
  • 完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。
  • 强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习其他数据库访问技术(SQL、pymysql、SQLALchemy等)。
  • 灵活的URL映射:Django使用正则表达式管理URL映射,灵活性高。新版的2.0,进一步提高了URL编写的优雅性。
  • 丰富的Template模板语言:类似jinjia模板语言,不但原生功能丰富,还可以自定义模板标签,并且与其ORM的用法非常相似。
  • 自带后台管理系统admin:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。
  • 完整的错误信息提示:在开发调试过程中如果出现运行错误或者异常,Django可以提供非常完整的错误信息帮助定位问题。

前端技术规格

前端分为主页,登陆界面,注册界面,个人信息,搜索结果页面,课程信息页面,评论页面七个部分。主页、登录、注册和个人信息将常驻,各个页面均可点击查看。其具体关系如下图:

1632489-20190401225919132-117355679.png

后端技术规格

数据库结构规格

数据库ER图如下所示:

1632489-20190401230149178-1536641281.png

1632489-20190401230009663-1399732450.jpg

接口规格

接口名模式传入需求传出内容说明
sign_upPOST至少包含 username, password, mail 三个键{'status':1,'length':1,'body':{'message': "新建用户{0}成功".format(username)},errMsg='',}注册
update_userPOST必须包含username, role, gender, selfintroduction{'status':1,'length':1,'body':{'message': "用户{0}信息更新成功".format(username)},errMsg='',}更新用户信息
search_teacherGET教师姓名,空为任意教师{'status': 1,'length': len(teacher_list),'body': retlist,errMsg=""}retlist=[{'name': self.name, 'website': self.website,'title': self.title},...]
search_courseGET同上,搜索课程{'status': 1,'length': len(course_list),'body': retlist,errMsg=""}retlist=[{'name': self.name, 'website': self.website,'course_ID': self.course_ID,'description': self.description,'course_type': self.course_type,'credit': self.credit},...]
search_userGET同上,搜索用户{'status': 1,'length': len(user_list),'body': retlist,errMsg=""}retlist=[{'username': self.username,'mail': self.mail,'role': self.role, 'gender': self.gender,'self_introduction': self.self_introduction},...]
add_teacherPOST包含新增教师的一些信息,至少包括name,title键,website键可选{'status': 1,'length': 1,'body': {'message': "新建教师{0}成功".format(name) }}或失败增加教师信息
add_coursePOST包含新增课程的一些信息,包括以下键:name:名字 website:网站 courseID:ID description:描述 courseType:类型 credit:学分{'status': 1, 'length': 1,'body': {'message': "新建课程{0}成功".format(name)}}增加课程信息
add_teachCoursePOST包含新增课程的一些信息,包括以下键: teacherList 教师列表 course 课程列表 department 部门列表{'status': 1,'length': 1, 'body': {'message': "新建授课信息成功"}}增加教师授课信息
make_commentPOSTusername,course_ID,content成功:{'status':1,'length':1,'body':{'message': "评论发布成功".format(username)},errMsg='',}失败:{'status'=-1}发表评论
get_commentGETcourse_ID在body中返回一个list,每项包含rdict['username']=i.user.username,rdict['content']=i.comment.content ,rdict['editTime']=i.comment.edit_time,rdict['createTime']=i.comment.create_time,rdict['commentID']=i.id获得评论信息
edit_commentPOSTcomment_ID,content{'status': 0,'length': 1, 'body':{'username':username}}编辑评论
sign_inPOST至少包含 username, password 两个键{'status': 0,'length': 1,'body':{'username':username}}用户登陆
update_teacherPOST包含修改教师的一些信息成功:{'status':1,'length':1,'body':{'message': "教师{0}信息更新成功".format(username)},errMsg='',}失败:{'status'=-1}更新教师信息
update_coursePOST包含修改课程的一些信息成功:{'status':1,'length':1,'body':{'message': "课程{0}信息更新成功".format(username)},errMsg='',}失败:{'status'=-1}更新课程信息
update_teachCoursePOST包含修改教师授课的一些信成功:{'status':1,'length':1,'body':{'message': "授课信息{0}信息更新成功".format(username)},errMsg='',}失败:{'status'=-1}更新教师授课信息
select_coursePOST学生id,选课(教师授课)id成功:{'status':1,'length':1,'body':{'message': "添加课程关注成功".format(username)},errMsg='',}失败:{'status'=-1}学生选课
unselect_coursePOST学生id,退课(教师授课)id成功:{'status':1,'length':1,'body':{'message': "移除关注成功".format(username)},errMsg='',}失败:{'status'=-1}学生退课
rank_coursePOST学生评价课程(分数,两个ID)成功:{'status':1,'length':1,'body':{'message': "评分更新成功".format(username)},errMsg='',}失败:{'status'=-1}学生评价课程
get_rankGET目标课程ID成功:{'status':1,'length':1,'body':{‘rank’:评分},errMsg='',}失败:{'status'=-1}获得某节课的成绩

转载于:https://www.cnblogs.com/tbqjxjkwg/p/10639074.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值