《中医药方记忆系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《中医药方记忆系统详细设计说明书.docx(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中医药方记忆系统详细设计说明书作者:谭继兵时间:2016年8月20日Version 1.0密级(Security):公开目录1 引言41.1 编写目的41.3 参考资料42 系统开发环境设计43 系统总体设计方案43.2系统总体结构84 系统功能模块设计104.1 后台登录理模块104.2 部门管理模块104.3 用户管理模块104.4 学院管理模块114.5 专业管理114.6 年级管理模块114.7 班级管理模块124.8 学生管理模块124.9 管理员个人信息模块144.10科目管理模块154.11 章节管理功能模块154.12 知识点管理功能模块164.13 题库管理模块174.14
2、练习管理功能模块194.15 考试管理功能模块204.16 积分管理功能模块214.17 App登录功能模块224.18 学生个人信息功能模块234.19 学生考试功能模块244.20 学生练习功能模块254.21 学生积分兑换功能模块265 系统安全保密设计275.1 说明275.2 设计27 1 引言1.1 编写目的本详细设计说明书编写的目的在于说明程序模块的设计,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。1.2 名词解释序号术语或缩略语说明性定义1B/SBrowser/Server
3、(浏览器/服务器)2WAMPWindows系统+Apache应用服务器+PHP脚本语言3HTMLHypertext Markup Language 超文字标记语言4AjaxAsynchronous JavaScript and XML 异步的JavaScript和xml1.3 参考资料序号资料名称作者1软件详细设计说明书模板.doc未知2中医药方记忆系统需求说明书.doc谭继兵2 系统开发环境说明操作系统:Windows 7 旗舰版,内存4G浏览器:Google Chrome 版本35.0 或 Sogou 版本5.0.9 或 FireFox 版本29.0.1Web 应用服务器:Apache版本
4、2.2.6数据库:MySql版本5.0.45IDE工具:Zend Studio版本 9.0.2开发环境:xampp设计工具:Ration Rose Enterprise Edition 版本2003.06.00 和PowerDesinger 版本16.53 系统总体设计方案3.1 系统功能描述图1 系统功能结构图此系统主要分为后台管理系统和手机App端。后台管理系统主要有学生管理、我的账户、系统用户、积分管理、分类管理、题库管理、练习管理、考试管理等功能下面分别对其进行说明。表1 后台管理功能说明需求名称需求编号详细要求我的账户RD_FUNC_01管理人员登录系统以后可修改自己的信息,包括登录
5、密码。联系方式等。学生管理RD_FUNC_02管理员登录后台系统以后对于学生有关的学院、专业、年级、班级和学生进行增、删、改、查。系统用户RD_FUNC_03系统管理员登录系统以后,对可以登录系统的管理人员和管理人员所属的部门进行增、删、改、查。积分管理RD_FUNC_04学院秘书登录以后可以查看学生的积分情况;看积分排行榜;设置积分兑换规则。分类管理RD_FUNC_05教师对科目、章节、知识点进行增、删、改、查。题库管理RD_FUNC_06教师对题目进行增、删、改、查;查看题库总体状态。练习管理RD_FUNC_07学院秘书对练习的方案和练习的关卡进行增、删、改、查。查看练习闯关情况。考试管理
6、RD_FUNC_08学院秘书对考试的方案和难度进行增、删、改、查。查看学生考试情况。手机App端主要有个人信息、练习、考试功能,下面分别对其进行说明。表2 手机App端功能说明需求名称需求编号详细要求个人信息RD_FUNC_09学生登录手机App端以后可以修改和查看自己的信息、修改密码、上传头像、查看自己的考情况、练习情况。练习情况RD_FUNC_10学生登录App以后点击练习选择科目后进行练习,练习完后可查看练习结果、所得积分等。考试情况RD_FUNC_11学生登录App以后点击考试选择科目后进行考试,考试完后可查看考试结果、所得积分等。该系统主要分为四种角色,分别是管理员、学院秘书、教师和
7、学生,下面分别对其进行说明。表3 系统角色说明角色名称职责描述业务功能编号子功能管理员学院管理:对学院信息增、删、改、查; 用户管理:包括部门管理和用户管理,对部门和用户增、删、改、查;RD_FUNC_12管理点击菜单“学院管理”,会分页显示所有学院;点击“增加”进行添加;选中一行后可以点击“删除”或者“修改”进行对应的操作RD_FUNC_13管理员点击菜单“部门管理”;可以对部门进行管理,可对部门进行增、删、改、查。点击菜单“用户管理”对用户进行管理,可对用户进行增、删、改、查。用户都有所属部门。学院秘书学生管理:包括专业管理、年级管理、班级管理和学生管理;积分管理:包括设置积分兑换规则、查
8、看学生闯关情况、积分排行榜、积分兑换情况等;练习管理:包括练习方案管理、练习关卡管理、练习记录;考试管理:包括考试方案管理、考试等级管理、查看考试记录;RD_FUNC_14点击菜单“专业管理”分页显示本学院所有专业,可进行增、删、改、查。点击菜单“年级管理”分页显示本学院所有年级,可进行增、删、改、查。点击菜单“班级管理”分页显示本学院所有班级,可进行增删改查。点击菜单“学生管理”分页显示本学院所有学生,可进行增删改查。学生增加是可以批量导入。RD_FUNC_15点击“积分排行榜”可以查看积分排行情况。点击“积分兑换规则”可以对兑换规则进行增、删、改、查。点击“学生闯关情况”可以查看学生闯关情
9、况。点击“积分兑换情况”可以查看积分兑换情况。RD_FUNC_16点击菜单“练习方案管理”。可以对练习方案进行增、删、改、查。点击关卡管理可以对选中方案的关卡进行增、删、改、查。点击“练习情况”可以查看学生的练习情况。RD_FUNC_17点击“考试方案管理”对考试方案进行增、删、改、查。点击“考试等级管理”对考试等级进行设置,考试等级默认为三、四、六级。点击“考试记录”查看学生的考试情况教师分类管理:包括科目管理、章节管理和知识点管理;题库管理:包括题库管理和查看题库状态RD_FUNC_18点击菜单“科目管理”对科目进行增、删、改、查。点击“章节管理”对章节进行增、删、改、查。点击“知识点管理
10、”对知识点进行增、删、改、查。添加知识点时可以批量导入。RD_FUNC_19点击菜单“题库管理”,对题库进行增、删、改、查。添加题目是可以批量导入。点击“查看题库状态”可以查看题库状态。学生个人信息:包括修改密码、上传头像、查看练习考试记录、查看积分排行,积分兑换;练习:进行练习,查看练习结果;考试:进行考试,查看考试结果RD_FUNC_20学生登录App后可以修改登录密码,上传头像。查看自己的积分情况,可以进行积分兑换,每个学生只能兑换一次。可以查看自己的考试和联系记录。RD_FUNC_21学生选择科目和关卡以后进行练习,提交练习答案后可查看本次练习情况,所得积分,是否通过等。RD_FUNC
11、_22学生选择科目和考试等级以后进行考试,提交答案后查看本次考试结果,所得积分,时候通过等。3.2系统总体结构基于对系统需求和技术的分析,系统采用基于PHP的B/S 模式来实现。如图2所示图2系统网络拓扑图系统总体结构设计是确定软件由哪些模块组成的和这些模块之间的动态调用是怎么样的。主要概括为以下几个方面: (1) 在功能方面:系统采用图形化界面技术,使系统拥有多重图形窗口和便利、丰富的操作界面。(2) 在开放性方面:系统将按照软件工程开发的规范来实现系统的开放性,便于日后系统的升级。(3) 在安全性方面:要充分考虑系统应用层的安全性。系统不仅采用身份验证,还需要采用一些特定的安全性验证方式,
12、比如做好资源信息的访问权限控制以及一些重要信息的保密控制。(4) 在操作性方面:通过鼠标和键盘的简易操作,为用户提供最简单的操作方式。 通过对系统总体结构的分析,可以得到系统的结构图,如图3所示:图3 系统总体架构图从图3的系统总体架构图中可以看出B/S模式的大概处理流程如下:首先是客户端,只需要Windows系统自带的IE浏览器,或者是用户自己安装的搜狗、火狐、谷歌等浏览器。其次是表现层,该层的目的是从业务逻辑处理层获取数据并通过PHP的控件按照用户的需求展示给用户,接受用户输入的数据,传递给业务逻辑处理层。再次是业务逻辑处理层,这一层是系统架构中的核心部分,主要用于获取表现层传来的数据,并
13、对这些数据按照定义好的处理流程进行处理,决定是否将操作传递给数据访问层。然后是数据库访问层,该层的目的是负责将业务逻辑处理层传来的数据进行相应的数据库访问操作。最后是数据库存储,该层的目的是根据数据访问层传来的数据操作,完成相应的数据库存储操作。4 系统功能模块设计根据系统功能概述可知本系统主要分为以下功能模块:后台登录模块、部门管理模块、用户管理模块、学院管理模块、专业管理模块、年级管理模块、班级管理模块、学生管理模块、管理员个人信息模块、科目管理模块、章节管理模块、知识点管理模块、题库管理模块、练习管理模块、考试管理模块、积分管理模块、App登陆模块、学生个人信息模块、学生考试模块、学生练
14、习模块、学生积分兑换模块等。4.1 后台登录理模块其处理流程图如图4所示。用户在浏览器输入网址后,进入登录界面,输入用户名和密码,点击登录按钮就行登录。验证成功则进入系统,验证失败则给出提示信息。 图4登录流程图4.2 部门管理模块系统管理员登录系统以后,可以对部门进行增加、修改、删除和查看。每个部门可以有上级部门,也可以没有上级部门。在查看部门时用部门名称作为关键字查询满足条件的部门信息。4.3 用户管理模块用户管理是对能够登录系统的用户进行管理,登录系统的用户包括系统管理员、学院秘书和教师三种角色,每种角色可以有多个用户。除了系统管理员以外,每个用户都有其所属的学院和所属的部门。在此模块中
15、,系统管理员可以对用户进行添加、修改、删除和查看。查看用户时可以输入用户名作为关键字和选择部门作为条件查询满足对应条件的数据。4.4 学院管理模块学院管理模块即系统管理员对学院信息进行维护,只有系统管理员才有此操作权限,对学院进行增加、修改、删除和查看。学院有所属学校,本系统同当前默认只有一个学校,即成都中医药大学。所有学院都默认属于次学校。4.5 专业管理学院秘书对本学院的专业信息进行维护,学院秘书可以对所属学院的专业进行增加、修改、删除和查看。查看专业时可以通过选择学院作为查询条件查询出满足对应条件的专业信息。在添加专业时,不需要让用户选择学院,而是通过获取当前已登录用户所属学院作为专业的
16、所属学院。图5是添加专业的流程图。图5添加专业流程图4.6 年级管理模块学院秘书对年级进行增加、修改、删除和查看。4.7 班级管理模块学院描述对班级信息进行增加、修改、删除和查看。查看班级时可以选择专业和年级作为查询条件,查询出满足对应条件的班级信息。班级具有所属年级和所属专业。在添加时需要先选择年级和专业,然后填写班级名等信息后添加。所属年级和专业信息必须是年级表和专业表中存在的数据,具有外键约束。图6是添加班级的流程。图6添加年级流程图4.8 学生管理模块学院秘书可以对学生进行增加、修改、删除和查看。查看时可以选择或者输入专业、年级、班级、性别、学号和姓名作为查询条件,查询出满足对应条件的
17、学生信息。学生在添加时可以批量导入。学生的添加流程如图7所示,批量导入学生流程如图8所示:图7 单个学生添加流程图8 批量导入学生流程4.9 管理员个人信息模块管理员个人信息管理模块,主要是管理员对自己的信息进行维护。修改密码是采取验证旧密码的方式判断是否允许修改。其功能结构图如图9所示:图9 管理员个人信息功能结构图4.10科目管理模块科目管理是主要是教师对科目信息进行维护,教师可以增加、修改、删除和查看科目,科目在添加时可以指定上级科目,进行对子科目的创建。科目添加流程图如图10所示:图10科目添加流程图4.11 章节管理功能模块章节管理模块主要是教师对章节信息进行维护,教师可以增加、修改
18、、删除和查看章节,查看时可以选择或者输入对应科目和章节名称作为查询条件,查询出满足对应条件的章节信息。章节添加流程图如图11所示:图11 章节添加功能流程图4.12 知识点管理功能模块知识点管理模块主要是教师对知识点信息进行维护,教师可以增加、修改、删除和查看知识点,查看时可以选择或者输入对应科目、章节、对知识点的要求(了解,理解等)和知识点名称作为查询条件,查询出满足对应条件的知识点信息。知识点添加流程图如图12所示:图12 知识点添加功能流程图4.13 题库管理模块教师可以对题目进行增加、修改、删除和查看。查看时可以选择或者输入所属科目、章节、知识点和难度作为查询条件,查询出满足对应条件的
19、题目信息。题目在添加时可以批量导入。题目的添加流程如图13所示,批量导入题目流程如图14所示:图13 单个题目添加流程图14 批量导入学生流程4.14 练习管理功能模块练习管理模块主要是教学秘书对练习方案和关卡信息进行维护,秘书可以增加、修改、删除和查看练习方案和关卡,查看练习记录时可以选择或者输入对应学号、姓名、专业、年级、班级和科目作为查询条件,查询出满足对应条件的练习记录信息。练习记录的功能结构图如图15所示:图15 练习管理功能结构图4.15 考试管理功能模块考试管理模块主要是教学秘书对考试方案和考试等级信息进行维护,秘书可以增加、修改、删除和查看考试方案和考试等级,查看考试成绩管理时
20、可以选择或者输入对应学号、姓名、专业、年级、班级、方案、等级、状态和科目作为查询条件,查询出满足对应条件的考试成绩信息,查看考试情况时可以选择或者输入对应学号、姓名、专业、年级、班级和科目作为查询条件,查询出满足对应条件的考试情况信息。考试管理的功能结构图如图16所示:图16 考试管理功能结构图4.16 积分管理功能模块积分管理模块主要是教学秘书对积分兑换规则进行维护,秘书可以增加、修改、删除和查看积分兑换规则,查看学生闯关情况时可以选择或者输入对应学号、姓名、专业、年级和班级作为查询条件,查询出满足对应条件的学生闯关情况信息,查看积分兑换记录时可以选择或者输入对应学号、姓名、专业、年级和班级
21、作为查询条件,查询出满足对应条件的积分兑换记录信息,查看积分排行榜时可以选择或者输入对应学号、姓名、专业、年级和班级作为查询条件,查询出满足对应条件的积分排行榜信息。积分管理的功能结构图如图17所示:图17 积分管理功能结构图4.17 App登录功能模块其处理流程图如图18所示。用户在进入中医乐记App后,进入登录界面,输入用户名和密码,点击登录按钮就行登录。验证成功则进入App,验证失败则给出提示信息。图18 App登录管理功能流程图4.18 学生个人信息功能模块其处理流程图如图19所示。用户在登录中医乐记App后,点击个人中心标签,进入个人中心页面后点击第一栏,进入学生个人信息界面,即可查
22、看个人信息。图19学生个人信息功能流程图4.19 学生考试功能模块其处理流程图如图20所示。用户在登录中医乐记App后,点击考试标签,进入考试页面后选择科目,点击开始考试,即可开始对应科目的考试。图20学生考试功能流程图4.20 学生练习功能模块其处理流程图如图21所示。用户在登录中医乐记App后,点击练习标签,进入练习页面后选择科目,点击开始练习,选择关卡,即可开始对应科目的练习。图21学生练习功能流程图4.21 学生积分兑换功能模块其处理流程图如图22所示。用户在登录中医乐记App并进入个人信息页面后,点击积分管理,进入积分管理页面后选择积分管理,即可查看积分明细和兑换规则,点击兑换按钮,
23、即可开始兑换对应规则的创新学分。图22学生积分兑换功能流程图5 系统安全保密设计5.1 系统安全说明中医药方记忆系统不仅要求有人性化的操作界面还要有基本的信息安全保护,这样才能够方便用户进行操作以及保护用户的个人隐私。5.2 系统安全设计在系统的安全性方面,当用户登录系统成功时,将用户的ID(user_id)、用户名(username)、用户类型(type)和所属学院id(college_id)保存在Session中。当用户需要进行操作时需要先判断Session中的id或者是username是否为空。如果id或者是username为空,说明用户是未登录直接进行操作的,这时系统就会阻止用户的进一
24、步操作并提示用户必须先进行登录操作。对于已登录用户也不能通过输入其他用户的URL地址进行越权操作,未登录用户也不能直接输入相关页面URL地址查看该页面的相关信息。在用户注销Session后,再想查看附有权限的系统信息,必须重新进行登录操作。6 系统接口说明App与服务端数据交互实现,需服务端提供相关数据接口。6.1 关卡信息读取(1) 对应界面:(2) 请求地址:PointRecord/PointRecord_getdata(3) 请求参数:stu_id(4) 返回参数-data数组:1)practice_id(练习id,后面的人需要这玩意)2)coursename(科目名称)3)pointn
25、ame(当前关卡名称)4)status(操作反馈:1:成功,-1:失败)5)message(操作反馈信息)6.2 积分管理6.2.1积分排行榜 (1)对应界面:(2)请求地址:ScoreManage/ScoreManage_Rank(3)请求参数:stu_id(4)返回参数:data数据对象1) status 请求状态值 (为1时获取成功,为0时获取失败)2) message 返回信息值 (状态值为1时:积分信息获取成功,状态值为0时:积分信息获取失败) 3) myrank 当前用户排名4) myscore 当前用户积分5) myname 当前用户的姓名6) ranklist 为数据的数组,前
26、30名的积分情况,rankliststuname为名字,ranklisttscore为积分6.2.2 积分兑换(1)对应界面(2)请求地址:ScoreManage/ScoreManage_exange(该地址为进入该页面反馈信息的地址,积分兑换按钮的响应为单独的)(3)请求参数:stu_id /学生id(4)返回参数:data数据对象1) status (0和1对应不同的message)2) message 当status 为0时message为:您已兑换过学分 此时将返回兑换记录 当status 为1 时,message 为:还没有兑换过学分 对应会返回个人积分)3) cglist 当sta
27、tus为0时存在,为兑换记录的数据集cglist数组信息:time:兑换时间score:花费积分integral:得到学分4) myscore 为个人积分5) rule 为当前兑换规则的信息数组rule数组信息:name:规则名称score:兑换需要的积分integral:兑换所得学分6.2.3积分兑换(1)对应界面:(2)请求地址:ScoreManage/ScoreManage_change(该地址为用户点击兑换按钮的响应地址)(3)请求参数:stu_id /学生id(4)返回参数:data数据集1) status 响应状态0:积分不足,兑换失败1:兑换成功2:兑换失败,请重试3:兑换失败,
28、您已兑换过学分2) message 为对应status的提示信息6.2.4个人积分(1)对应界面(2)请求地址:ScoreManage/ScoreManage_Myscore(3)请求参数:stu_id(4)返回参数:1)获取积分信息失败2)获取积分信息成功3)我的当前积分练习记录的数组结构:create_date:记录时间tscore :获得积分6.3 科目管理 (1)科目管理界面(2)请求地址:Course/get_all_nochield_courses(3)请求参数:无(4)返回参数:result,其中result包含以下元素1) status(int)响应状态2)message(st
29、ring)提示信息3)data(array)包含多项科目数据的数组,其中内容如下name 科目名称course_id科目idintroduction科目介绍photo科目图片地址6.4 练习关卡(1)对应界面(2) 请求地址: PracticeManage/PracticeManage_CheckpointInfo(3) 请求参数: (4)返回参数: A. 缺少传递参数B. 学生有使用的方案记录时C. 学生没有使用的方案记录时D. 当没有相关的关卡信息时1) status 请求状态值 (为1时获取成功,为0时获取失败)2) message 返回信息值 (状态值为1时:关卡信息获取成功,状态值为
30、0时:关卡信息获取失败)3) total_checkpoint 返回所有关卡信息a. checkpoint_id: 关卡idb. programme_id: 方案idc. name: 关卡名称d. limit_time: 限制时间e. question_num: 各难度题目数(难;中;易 如1;2;3 = 难:1,中:2,易:3)f. comment: 备注(为空,)g. total_scroe: 关卡总分h. pass_score: 及格(通关)分数4) current_cid 目前该学生所到达的关卡5) passed 学生是否已经能开启下一关6.5 练习记录(1) 对应界面(2) 请求地址
31、:PointRecord/PointRecord_practicerecord(3) 请求参数:practice_id(4)响应参数-data数组:1) status:响应状态2) message:响应信息3) create_time:日期4) pointname:练习关卡5) rpercent:正确率(在后面加个百分号就行了)6) epercent:错误率7) rankscore:积分情况6.6 题目信息相关接口(1)根据题目数和关卡id(或者考试等级id)获取题目对应页面:(2)url: 139.129.11.183/zyyj/Home/QuestionInterface/get_ques
32、tion(3)需要的参数:(以上两个参数课程和关卡id都是在上一个关卡接口中获取的,不要做任何修改,直接传过来)(4)返回的参数:1) 参数不足:2) 数据库题目数不足3) 获取成功:(第二张图是返回数据$result的结构,为了返回关卡id(或者考试等级id)和科目id,在$result下标为0的数组中存了关卡id(或者考试等级id)和科目id,因为此关卡id(或者考试等级id)和科目id要在提交题目的时候传回来,建议调用次接口时先console.log()一下,看清数据结构)考试练习题目提交url: 139.129.11.183/zyyj/Home/QuestionInterface/qu
33、estion_submit需要的参数:返回的数据:6.7 学生个人信息(1) 相关页面(2) 请求地址:StudentInterface/stu_getPersonInfo(3) 请求参数:stu_id : 学生id(4)返回参数1) 没有该学生2) 缺少传递参数3) 信息加载成功(5)参数说明a) status:返回信息状态值b) message:返回信息c) data:i. stu_name:姓名ii. stu_class:班级iii. stu_major:专业iv. stu_college:所在系v. stu_account:学号vi. stu_photo:学生头像6.8 学生考试相关(
34、1) 相关页面(2) 请求url:ExamManage/ExamManage_CheckpointInfo(3)请求参数:a) stu_id:学生idb) course_id:课程id(4)返回结果.a) 当等级信息获取成功时b) 当等级信息获取失败时(5)返回数据c) status:返回状态d) message:返回信息e) levelInfo:等级信息i. level_id:等级idii. program_id:方案idiii. name:等级名称iv. total_question:题目数目v. total_score:总分vi. pass_score:通关分数vii. question
35、_num:各难度题目数(难;中;易 如1;2;3 = 难:1,中:2,易:3)viii. limit_time:限制时间6.9 学生密码修改(1) 相关页面(2) 请求url:StudentInterface/stu_modifyPwd(3)请求参数a) stu_id:学生idb) password:新密码(4)返回结果a) 没有该学生b) 修改成功c) 修改失败6.10 学生头像上传(1) 对应页面:(2) url: StudentUpdateIcon/do_upload(3)需要的参数:stu_id : 学生学号photo : 上传的图片(inputtype=file 对应 name 属性需为 photo)(4)返回结果: 1)学生未激活: 2)头像上传失败: 3)信息保存失败: 4)信息保存成功:5)传递参数不足6.11 学生信息相关登录接口(1)对应页面:(2)url: 139.129.11.183/zyyj/Home/StudentInterface/do_login(3)需要的参数:(3) 返回的结果:1) 学号不存在:2) 密码不正确:3) 验证成功: