├── .gitignore ├── README.md ├── 中医舌象识别需求陈述.docx ├── 会议记录 └── 2020.10.25 会议记录.docx ├── 数据库概要设计.docx ├── 概要设计 ├── temp.drawio ├── 概要设计3.8-3.9.md └── 设计part1.docx ├── 需求 ├── debug.log ├── 整体框架.docx ├── 用例描述 │ ├── ~$$用例图3.8-3.9.~vsdx │ ├── 用例图3.8-3.9.vsdx │ ├── 用例描述 3.8-3.9.md │ └── 袁祥博&邢智博 │ │ └── 中医舌象识别需求陈述.docx ├── 需求 3.1-3.3.md ├── 需求 3.4-3.5.md ├── 需求 3.6.md ├── 需求 3.7-3.9.md ├── 需求_3.4_3.5 │ └── image-20201025110212529.png └── 需求_3.6_3.7 │ └── need.png └── 需求文档 ├── pc_usercase.drawio ├── pc_usercase.png ├── 用例图 3.6.PNG ├── 用例图3.8-3.9.drawio ├── 用例图3.8-3.9.png └── 补牢 v0.82.docx /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea/ 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SoftwareCourseDesign 2 | 北京理工大学软件工程课设-中医舌象识别和诊断 3 | 4 | 合作者:北京理工大学徐特立学院2017级本科生30081702 5 | 6 | ## 第一周(10.19-10.26) 7 | 8 | + 完成需求文档撰写 9 | + 周中需要开一次例会 10 | 11 | XGNB 12 | ------ 13 | -------------------------------------------------------------------------------- /中医舌象识别需求陈述.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/中医舌象识别需求陈述.docx -------------------------------------------------------------------------------- /会议记录/2020.10.25 会议记录.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/会议记录/2020.10.25 会议记录.docx -------------------------------------------------------------------------------- /数据库概要设计.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/数据库概要设计.docx -------------------------------------------------------------------------------- /概要设计/temp.drawio: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /概要设计/概要设计3.8-3.9.md: -------------------------------------------------------------------------------- 1 | ##### 外部接口 2 | 3 | ###### 用户信息管理 4 | 5 | - 用户信息管理接口 6 | 7 | 接口类型:数据输入接口 8 | 9 | 接口连接模块:管理员模块与数据库模块 10 | 11 | 接口描述:对数据库中的用户信息进行增删改等操作,可以通过外部文件向数据库中批量导入用户数据 12 | 13 | 接口传递内容:用户信息以及对应的操作 14 | 15 | - 用户信息查询接口 16 | 17 | 接口类型:数据输出接口 18 | 19 | 接口连接模块:管理员模块与数据库模块 20 | 21 | 接口描述:对数据库中的用户信息进行基于约束的查询,并可以将查询结果进行导出 22 | 23 | 接口传递内容:符合查询条件的用户信息 24 | 25 | ###### 管理员信息管理 26 | 27 | - 管理员信息管理接口 28 | 29 | 接口类型:数据输入接口 30 | 31 | 接口连接模块:管理员模块与数据库模块 32 | 33 | 接口描述:高级管理员对数据库中存储的一般管理员信息进行增删改等操作 34 | 35 | 接口传递内容:管理员数据以及对应的操作 36 | 37 | ###### 数据库管理 38 | 39 | - 日志接口 40 | 41 | 接口类型:数据输出接口 42 | 43 | 接口连接模块:管理员模块与数据库模块 44 | 45 | 接口描述:高级管理员可以对日志进行查询和导出 46 | 47 | 接口传递内容:符合条件的日志信息 48 | 49 | - 数据库备份接口 50 | 51 | 接口类型:数据输出接口 52 | 53 | 接口连接模块:管理员模块与数据库模块 54 | 55 | 接口描述:高级管理员可以对数据库进行基于一定策略的备份操作 56 | 57 | 接口传递内容:符合备份策略的数据库信息 58 | 59 | ###### 数据模型训练管理 60 | 61 | - 模型训练管理接口 62 | 63 | 接口类型:数据输出接口 64 | 65 | 接口连接模块:管理员模块与深度学习模块 66 | 67 | 接口描述:高级管理员可以控制模型的pipeline,训练数据集,模型保存位置,训练参数并开始训练 68 | 69 | 接口传递内容:训练相关参数以及相应操作 70 | 71 | ##### 内部接口 72 | 73 | 无 74 | 75 | ##### 数据结构设计 76 | 77 | 用户登录信息 78 | 79 | | 说明 | 名称 | 类型 | 长度 | 备注 | 80 | | :------: | ---------- | ---- | :--: | :----------------------------------------------: | 81 | | 用户ID | User_id | INT | 8 | U+自动顺序号 | 82 | | 手机号 | User_tel | CHAR | 15 | 11位手机号 | 83 | | 密码 | User_pwd | CHAR | 20 | 8-16位,要求至少包含字母和数字,禁止使用特殊字符 | 84 | | 用户状态 | User_state | NUM | 2 | A(available,允许使用), F(forbidden,禁止使用) | 85 | 86 | 管理员信息 87 | 88 | 89 | 90 | | 说明 | 名称 | 类型 | 长度 | 备注 | 91 | | :--------: | ----------- | ---- | :--: | :----------------------------------------------: | 92 | | 管理员ID | Admin_id | INT | 8 | A+自动顺序号 | 93 | | 密码 | Admin_pwd | CHAR | 20 | 8-16位,要求至少包含字母和数字,禁止使用特殊字符 | 94 | | 管理员类型 | Admin_level | NUM | 2 | A(advanced,高级管理员), N(normal,一般管理员) | 95 | | 管理员状态 | Admin_state | NUM | 2 | A(available,允许使用), F(forbidden,禁止使用) | 96 | 97 | ##### 运行设计 98 | 99 | 管理模块作为一个供管理员使用的软件,具有较为友好的图形化操作界面,运行期间主要与数据库模块和深度学习模块进行交互,运行时间基本可以满足用户的正常使用需求 100 | 101 | ##### 出错处理设计 102 | 103 | ###### 出错处理信息 104 | 105 | 当用户或管理员进行了不满足权限要求的操作时,系统提示“权限不足”; 106 | 107 | 当用户或管理员登录失败时,系统提示具体的错误原因,如”账号不存在“,或“密码错误” 108 | 109 | ###### 出错处理对策 110 | 111 | 系统会拒绝权限不足的操作请求 112 | 113 | ##### 安全保密设计 114 | 115 | 用户和管理员的数据操作有严格的权限控制,系统安全保密性较高 116 | 117 | ##### 维护设计 118 | 119 | 该模块较小,不需要额外维护 120 | 121 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /概要设计/设计part1.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/概要设计/设计part1.docx -------------------------------------------------------------------------------- /需求/debug.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求/debug.log -------------------------------------------------------------------------------- /需求/整体框架.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求/整体框架.docx -------------------------------------------------------------------------------- /需求/用例描述/~$$用例图3.8-3.9.~vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求/用例描述/~$$用例图3.8-3.9.~vsdx -------------------------------------------------------------------------------- /需求/用例描述/用例图3.8-3.9.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求/用例描述/用例图3.8-3.9.vsdx -------------------------------------------------------------------------------- /需求/用例描述/用例描述 3.8-3.9.md: -------------------------------------------------------------------------------- 1 | #### 3.8 3.9部分用例描述 2 | 3 | - 用例名称:修改用户信息 4 | 5 | 用例描述:由管理员对用户的信息进行部分修改 6 | 7 | 参与者:一般管理员或高级管理员 8 | 9 | 前置条件:用户信息存在且管理员身份合法 10 | 11 | 基本路径:选择需要修改的用户信息条目;对信息进行修改并保存 12 | 13 | - 用例名称:查询用户信息 14 | 15 | 用例描述:管理员基于一定的约束条件对用户的信息进行检索 16 | 17 | 参与者:一般管理员或高级管理员 18 | 19 | 前置条件:管理员身份合法且约束合法 20 | 21 | 基本路径:管理员输入约束条件;点击搜索按钮开始搜索;最后返回搜索到的用户信息 22 | 23 | - 用例名称:删除用户信息 24 | 25 | 用例描述:管理员将某个用户信息删除 26 | 27 | 参与者:一般管理员或高级管理员 28 | 29 | 前置条件:管理员身份合法且约束合法 30 | 31 | 基本路径:选择需要修改的用户信息条目;对被选中的用户进行删除 32 | 33 | - 用例名称:管理员登录 34 | 35 | 用例描述:管理员登录进入系统 36 | 37 | 参与者:一般管理员或高级管理员 38 | 39 | 前置条件:无 40 | 41 | 基本路径:管理员输入账号和密码,点击登录按钮进行登录;若信息账号和密码正确则进入系统,并拥有对应的权限 42 | 43 | - 用例名称:批量导入数据 44 | 45 | 用例描述:管理员基于excel文件向数据库批量导入数据 46 | 47 | 参与者:一般管理员或高级管理员 48 | 49 | 前置条件:管理员身份合法且excel文件存在 50 | 51 | 基本路径:管理员选择待导入的excel文件后点击导入按钮,将固定格式的数据从excel文件中导入到数据库中 52 | 53 | - 用例名称:批量导出数据 54 | 55 | 用例描述:管理员从数据库中将数据批量导出到excel文件中 56 | 57 | 参与者:一般管理员或高级管理员 58 | 59 | 前置条件:管理员身份合法且数据库表存在 60 | 61 | 基本路径:管理员选择待导出的数据条目后点击导出按钮,将数据以固定格式从数据库中导出到excel文件中 62 | 63 | - 用例名称:日志管理 64 | 65 | 用例描述:管理员将系统日志导出到log文件中 66 | 67 | 参与者:一般管理员或高级管理员 68 | 69 | 前置条件:管理员身份合法 70 | 71 | 基本路径:管理员选择日志的起止日期后点击导出按钮,将一段时间内的日志以固定格式导出到log文件中 72 | 73 | - 用例名称:创建一般管理员 74 | 75 | 用例描述:创建一个一般管理员账户 76 | 77 | 参与者:高级管理员 78 | 79 | 前置条件:管理员身份合法 80 | 81 | 基本路径:管理员点击生成一般管理员按钮,生成一个合法的对应一般管理员权限的账号和密码 82 | 83 | - 用例名称:禁用一般管理员 84 | 85 | 用例描述:禁用一个一般管理员账户 86 | 87 | 参与者:高级管理员 88 | 89 | 前置条件:管理员身份合法 90 | 91 | 基本路径:管理员输入一个一般管理员账户的账号后点击禁用按钮,将该一般管理员账号的状态置为非法,不允许登录号进行任何操作 92 | 93 | - 用例名称:数据库备份 94 | 95 | 用例描述:对当前数据库进行备份 96 | 97 | 参与者:高级管理员 98 | 99 | 前置条件:管理员身份合法 100 | 101 | 基本路径:管理员点击备份数据库操作,在通过二次确认后将数据库进行停用和备份,在备份完成后启动数据库 -------------------------------------------------------------------------------- /需求/用例描述/袁祥博&邢智博/中医舌象识别需求陈述.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求/用例描述/袁祥博&邢智博/中医舌象识别需求陈述.docx -------------------------------------------------------------------------------- /需求/需求 3.1-3.3.md: -------------------------------------------------------------------------------- 1 | 3.1、3.2、3.3卷积神经网络 2 | ------- 3 | 4 | 场景:手机APP和网页端双重场景,其中网页端仅计划提供上传已有图片功能,手机端提供拍照上传功能。 5 | 6 | 技术细节: 7 | ------ 8 | (1) 前端预处理:首先对于手机端拍照环节,类似已有美颜相机等功能,提供矩形框帮助定位用户舌头,便于用户准确拍照。此处使用传统检测技术如VJ detector或者HOG方法,不需要神经网络支持,没有复杂nn,不消耗手机计算资源。其次,对于图片进行防抖处理,使用deconv方法或者base gyro方法消除模糊,此处没有使用复杂神经网络,同样不过度消耗手机计算资源。接下来进行去雾清晰模块,这是由于口腔会呼出水蒸气,在较冷环境下会产生明显模糊,此处使用DCP传统方法。最后上传到服务器中。 9 | 10 | (2) 进入服务器后,首先进行图像超分辨率(如果用户需要同时没有买新的手机如iPhone12拍照效果太差),其次使用transform函数进行图片格式转换,为了保证精度,不对图片进行放缩,而是在特征提取后的特征层使用SPPnet,实现可以应对不同大小的图片处理。最后使用网络进行分类,分类采取cascades而非one-step,提高精度和输出内容的丰富性。 11 | 12 | 对预处理完的图像,CNN分类,属性赋值 13 | -------------------------------------------------------------------------------- /需求/需求 3.4-3.5.md: -------------------------------------------------------------------------------- 1 | Author: 范文骁 2 | 3 | --- 4 | 5 | 需求 6 | 7 | ![image-20201025110212529](./需求_3.4_3.5/image-20201025110212529.png) 8 | 9 | --- 10 | 11 | - 还有什么**用户场景** 12 | 13 | - 论证技术的合理性 14 | - 技术细节 15 | 16 | --- 17 | 18 | ### 舌苔照片识别和分析 19 | 20 | 分类模型采用3.1的模型,得出的结论直接输出到第三层 21 | 22 | ### 舌象诊断和分析(用户+医生/后台) 23 | 24 | 根据图像识别以及分类结果,系统根据内置的推理规则生成针对当前用户舌象照片的分类给出分析建议和报告。 25 | 26 | - 内置的规则由决策树模型提供,一方面能够适应大数据,另一方面能够给出清晰、合理、可靠的解释,帮助医生用于诊断(智能化解读) 27 | - 在用户上传的舌象图片上进行标注(利用上一个流程传递过来的特征),标注出用户的舌象的健康状态,同时提供个性化调理建议和方案,方法采用基于规则的模型(简单的匹配即可),为特殊人群提供朗读功能 28 | - 在检测提供后提供在线健康咨询服务,对接社区医院、三甲医院等医疗资源 29 | - 如果用户需要文件,系统自动生成PDF、DOC等格式,并提供系统接口、下载功能、文件传输接口。 30 | - 通过用户在诊前、治疗过程及愈后的舌象特征检测,检测记录和报告加密存储到云端,在后续提醒用户持续监测,形成舌诊特征和健康状态的动态分析,使得用户针对一些疾病能够早发现早治疗 31 | - 可以设置家人关心,将结果报告推送给同时推送给多个设置好的用户,方便及时关注家人健康 32 | - 同时存储进入数据库(云端),为医生、医院提供大量病人的脱敏用例,使得医生能够根据这些病例分析总结规律变化,系统按照病种、病程、性别、年龄、职业、地区等多个维度建立数据分析模型,进行舌象特征与疾病变化规律的研究。 33 | 34 | -------------------------------------------------------------------------------- /需求/需求 3.6.md: -------------------------------------------------------------------------------- 1 | Author: 韩世杰 2 | 3 | --- 4 | 5 | ### 需求 6 | 7 | ![image-20201025110212529](./需求_3.6_3.7/need.png) 8 | 9 | --- 10 | 11 | ### 舌像库的设计规划 12 | 13 | #### 表规划 14 | 15 | - 【静态】舌像表:将典型的舌像以及相关信息存储在该表中,以向外部接口提供查询功能,此表一般不作改动。只有当新舌像录入以及旧舌像信息改动时,由管理员对该表进行修改。 16 | - 【动态】用户信息表:此表存储使用系统的用户信息,包括年龄、性别、地域、职业、病史等信息,此表随着新用户的增加以及旧用户信息的更新而改变。 17 | - 【动态】用户舌像表:此表存储用户舌像的各项属性以及最终的判断结果,此表随着新用户的增加以及旧用户信息的更新而改变。 18 | 19 | #### 表属性规划 20 | 21 | - 舌像表属性:舌像名、舌像图片、舌像特征(与前面工作对接后确认具体需要存储哪些关键属性)、该舌像对应的症状、建议的处理方案。 22 | - 用户信息表属性:用户id(自增唯一)、用户名、用户性别、用户年龄、用户所属地域、用户职业、用户病史等信息。 23 | - 用户舌像表属性:用户id(外键为用户表id项)、用户舌像图片、用户舌像特征、用户舌像对应症状、用户舌像处理方案。(注:如果要实现历史舌像查询的话,可以增设判断是否为最新项的属性,外键可以不唯一,可以满足此需求) 24 | 25 | --- 26 | 27 | ### 用户信息的管理 28 | 29 | #### 舌像表: 30 | 对app、网页端接口(用户方)提供只读权限,对后台数据库管理员提供最高权限。 31 | 32 | #### 用户信息表、舌像表: 33 | 对每位用户提供自身注册id对应的访问、修改权限;为了在合理的数据分析的同时保护用户信息,对后台的数据库管理员提供除姓名外其他属性的访问权限。 34 | -------------------------------------------------------------------------------- /需求/需求 3.7-3.9.md: -------------------------------------------------------------------------------- 1 | Author: 袁祥博,邢智博 2 | 3 | --- 4 | 5 | 系统中角色共有三类:普通用户,一般管理员,高级管理员 6 | 7 | 普通用户通过外部注册的方式创建 8 | 9 | 一般管理员由高级管理员进行创建 10 | 11 | 高级管理员在系统交付时提供其对应的账号和密码 12 | 13 | 14 | 15 | 普通用户功能: 16 | 17 | - 可以添加用户信息,如姓名,联系方式,性别,年龄等 18 | - 可以修改部分用户信息,如联系方式,年龄等 19 | - 可以查看用户自身的信息 20 | 21 | 22 | 23 | 一般管理员功能: 24 | 25 | - 可以对数据库中的信息进行基于约束条件的批量导出,最终形成excel文件 26 | - 可以对通过excel文件向数据库中批量导入文件,最终形成excel文件 27 | - 可以对用户信息进行修改 28 | - 可以对用户信息进行基于约束条件的查询 29 | - 对于用户信息的删除,我们将其定义为该用户信息进入一个不可再被使用的状态,而不是直接将该信息从数据库中删除 30 | - 可以打印并导出日志文件 31 | 32 | 33 | 34 | 高级管理员功能: 35 | 36 | - 拥有一般管理员所有权限 37 | - 创建一般管理员用户 38 | - 禁用一般管理员用户 39 | - 对数据库进行备份 40 | 41 | 42 | 43 | 用户基本信息数据库表: 44 | 45 | | 用户ID | 姓名 | 手机号 | 性别 | 出生日期 | 职业 | 46 | | :----------------: | :----------------------: | :--------: | :---: | :--------------: | :----------------------------: | 47 | | 整型数据,如:3374 | 五个汉字以内,如:译小编 | 11位手机号 | 男/女 | 1900年至今的日期 | 在一个职业集合中选择,如:教师 | 48 | 49 | 用户登录信息数据库表: 50 | 51 | | 用户ID | 手机号 | 用户密码 | 52 | | :----------------: | :--------: | :----------------------------------------------------------: | 53 | | 整型数据,如:3374 | 11位手机号 | 8-16位,要求至少包含字母和数字,禁止使用特殊字符,如:yixiaobian3374 | 54 | 55 | 用户病例信息数据库表: 56 | 57 | | 用户ID | 姓名 | 既往病史 | 用药过敏情况 | 舌苔图像ID | 58 | | :----------------: | :----------------------: | :----------: | :----------: | :----------------: | 59 | | 整型数据,如:3374 | 五个汉字以内,如:译小编 | 不超过两百字 | 不超过两百字 | 整型数据,如:2345 | 60 | 61 | 管理员信息数据库表: 62 | 63 | | 管理员ID | 管理员密码 | 管理员类型 | 64 | | :----------------: | :----------------------------------------------------------: | --------------------- | 65 | | 整型数据,如:1688 | 8-16位,要求至少包含字母和数字,禁止使用特殊字符,如:yixiaobian1688 | 一般管理员/高级管理员 | 66 | 67 | 操作日志格式: 68 | 69 | \[时间]-\[角色]-\[管理员ID或用户ID]-\[操作类型]-[操作内容]-[操作执行结果] 70 | 71 | 时间:操作提交时间,采用GMT标准时间 72 | 73 | 角色:用户或管理员 74 | 75 | 管理员ID或用户ID:操作者的ID 76 | 77 | 操作类型:增加、删除、修改、查询,导入、导出信息,打印、导出日志,创建、禁用一般管理员账户 78 | 79 | 操作内容:被操作信息的主键(需求中称为唯一标识) 80 | 81 | 操作执行结果:成功或失败,包含失败原因 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /需求/需求_3.4_3.5/image-20201025110212529.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求/需求_3.4_3.5/image-20201025110212529.png -------------------------------------------------------------------------------- /需求/需求_3.6_3.7/need.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求/需求_3.6_3.7/need.png -------------------------------------------------------------------------------- /需求文档/pc_usercase.drawio: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /需求文档/pc_usercase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求文档/pc_usercase.png -------------------------------------------------------------------------------- /需求文档/用例图 3.6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求文档/用例图 3.6.PNG -------------------------------------------------------------------------------- /需求文档/用例图3.8-3.9.drawio: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /需求文档/用例图3.8-3.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求文档/用例图3.8-3.9.png -------------------------------------------------------------------------------- /需求文档/补牢 v0.82.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Serenos/SoftwareCourseDesign/4e231e5ec01b8f5583e4a8f98d9820bf868b9597/需求文档/补牢 v0.82.docx --------------------------------------------------------------------------------