团队作业2——《需求规格说明书》

发布时间 2023-11-02 18:39:11作者: LL‘SH

作业概述

这个作业属于哪个课程 软件工程-计科21级12班-计算机学院-广东工业大学
这个作业要求在哪里 团队项目2-计科21级12班
这个作业的目标 编写需求规格说明书

1.成员信息

姓名 学号 身份 博客园主页
李梦承 3121004702 队长 yeaihe
刘师华 3221004766 队员 shzhlh
谭茵 3221004812 队员 TanYinn
詹慧丹 3221004855 队员 muggle1116
陈鑫杰 3121004688 队员 heart-knot
甘盛培 3121004692 队员 G03P
江卓颖 3121004699 队员 jiangzhuoying

2.需求规格说明书

  • 2.1项目简介

    • 基于知识图谱的bert医疗问答机器人是一种能够通过自然语言交流来回答医疗领域问题的智能系统,其基于人工智能技术,包括自然语言处理和机器学习等,用于模拟人类医生与患者之间的交互,提供针对医疗问题的回答和建议,旨在为用户提供准确、快速、个性化的医疗问题解答服务。
    • 该系统应用范围广泛,如可用于医院、诊所、药店等医疗场所,也可以通过互联网等远程方式提供咨询服务,可以回答患者常见的医疗问题,提供疾病预防和日常保健的建议,协助医生进行诊断和治疗,减轻医务人员一部分工作量,同时提高医疗服务的效率和质量,这种以用户为中心的理念和追求高效、便捷、人性化的目标,是该模型的服务主旨。
    • 该机器人的核心技术是BERT模型,它可以对用户提出的问题进行语义理解和分析,并从知识图谱中获取相关实体和关系,最终给出准确的答案。此外,该机器人还可以根据用户的历史提问记录和个人信息,提供个性化的服务和建议。
    • 针对学龄儿童需要一个准确的医疗诊断机器人,青年群体需要一个即时的医疗咨询机器人,中老年群体需要一个便捷的医疗问答机器人的时代发展背景,我们选择开发这个基于知识图谱的医疗问答机器人,要求医疗数据包含疾病的定义、症状、治疗方法,拓展疾病的忌吃食物、宜吃食物、通用药品、推荐药品、并发症、治疗科室;要求辨识用户,识别用户输入内容中的意图、实体,缓存用户对话信息,并支持槽位继承和意图继承实现多轮对话。
  • 2.2面向用户分析

    我们的目标用户主要有:患者及其家属;医护人员;医学生;健康管理机构。

    医护人员:医护人员可以使用本机器人快速获取医学知识、疾病诊断建议和药物信息等,提高工作效率。
    患者及其家属:患者和家属可以通过本机器人获取疾病治疗和护理方面的建议。
    健康管理机构:健康管理机构可以运用本机器人提供在线健康咨询和疾病预防建议,为公众提供更便捷的健康服务。
    医学院校学生:医学院校学生可以通过问答医疗机器人获取医学知识和学习资源,检验自己的学习成果更高效。

  • 2.3具体需求分析

1. 功能性需求

  • 实现基础的登录功能
  • 实现用户数据的存储及管理
  • 对用户输入进行命名实体识别预测、关系抽取、数据导入,提供基本数据给后期对话机器人使用
  • 处理相关医疗数据,可以包含疾病的定义、症状、治疗方法等。
  • 要求辨识用户,识别用户输入内容中的意图、实体,缓存用户对话信息,并支持槽位继承和意图继承实现多轮对话
  • 构建医疗知识图谱,包括实体类型、实体关系和属性等。
  • 利用BERT模型对用户提出的问题进行语义理解和分析。
  • 根据问题中的实体和关系,在知识图谱中查找相关信息。
  • 根据查找到的信息,生成答案并返回给用户。

2. 技术需求

1. 数据需求
医疗机器人需要具备高效的数据处理能力,能够快速、准确地处理医疗数据。这些数据来自本地端和微信端客户输入的文字信息,不包括动画表情和emoji。因此,医疗机器人需要具备足够大的存储容量和强大的计算能力,以便对数据进行有效的存储和处理。在此,我们要求的医疗数据包含疾病的定义、症状、治疗方法,拓展疾病的忌吃食物、宜吃食物、通用药品、推荐药品、并发症、治疗科室等,主要数据途径是从互联网上和之前的相关项目中获取的。通过整合所需的各类相关数据,便于满足后续计算的需求。
2. 接口需求
医疗机器人需要具备自然语言处理技术与客户进行沟通交流并且给出建议,即机器人需要和客户、数据库进行实时交互,因此,医疗机器人需要具备相应的接口,能够与其它们进行数据交换和信息共享,以便能够提供及时、准确的信息和服务。
3. 可维护性需求
医疗机器人需要具备易于维护和升级的特点,为了确保医疗机器人的稳定性和可靠性,需要采用一些技术来简化维护和升级过程。采用模块化设计,将系统划分为多个独立的模块,分为实体识别、关系抽取、数据导入、实体规范化、意图识别、对话机器人以及对话缓存等模块。
4. 可靠性需求
医疗机器人需要具备高可靠性和稳定性,以便在长时间的使用过程中能够保持其性能和精度,这需要采用高质量的软件,并进行严格的质量控制和测试。此外,医疗机器人最好是具备备份和恢复功能,以便在出现故障时能够快速地恢复数据和服务。

上述需求所需的技术栈:springboot,mybatis,redis,neo4j,tensorflow,py2neo,itchat,keras
编程语言:Java、python

3.系统价值及预期用户量

  • 真实性:本系统拥有具有医疗相关信息的数据库系统,能与客户进行实时交互。许多用户倾向在网络上咨询身体出现的小病,通过自然语言处理和机器学习技术,医疗问答机器人可以快速地回答用户的问题,提供准确的诊断和治疗建议,在技术上可行。
  • 可用性:本系统采用聊天问答的方式,使用方法简单直观,并且具有微信端更加方便快捷,整体消耗的资源少。
  • 项目价值:本系统可以减轻医务人员的工作负担,提高工作效率,提高诊断和治疗的质量,并且为患者提供了便捷的的就医体验。
  • 综上所述,本机器人具有高的使用价值。结合使用价值和预期开发的系统,本系统的预期用户量为1000。

4.github实现

团队github链接

5.时间安排表

  • 原计划时间安排表
时间 目标
第 9 周 1.团队组队、团队博客
2.团队介绍、成员展示、角色分配、选题确定
3.制定团队计划安排,团队贡献分的规定
第10周 1.需求规格说明书
2.原型设计,队员估计任务难度并学习必要的技术
3.编码规范完成、平台环境搭建完成、初步架构搭建
第11周 1.原型改进(给目标用户展现原型,并进一步理解需求)
2.架构设计,WBS, 团队成员估计各自任务所需时间
3. 测试计划
第12、13周 1.团队项目Alpha任务分配计划
2.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交
第14周 1. 用户反馈+测试计划改进
2.团队Alpha阶段个人总结
3.团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理
第15周 1.团队项目Alpha博客:事后分析
  • 修改后的时间安排表
时间 目标
第 9 周 1.团队组队、团队博客(已完成)
2.团队介绍、成员展示、角色分配、选题确定 (已完成)
3.制定团队计划安排,团队贡献分的规定(已完成)
第10周 1.需求规格说明书(已完成)
2.确定项目功能模块和实现方法,队员估计任务难度并学习必要的技术(已完成)
3.平台环境搭建完成、初步架构搭建(已完成)
4.对接口、测试、界面要求进行初步设计(已完成)
第11周 1.原型改进(给目标用户展现原型,并进一步理解需求)
2.架构设计,WBS, 团队成员估计各自任务所需时间
3.测试计划
4. 明确接口、代码完成规范
5. 推进编码主体部分完成
第12、13周 1.团队项目Alpha任务分配计划
2.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交
第14周 1. 用户反馈+测试计划改进
2.团队Alpha阶段个人总结
3.团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理
第15周 1.团队项目Alpha博客:事后分析

6.分工及完成情况

姓名 学号 分工 完成情况
李梦承 3121004702 深度学习的模型开发训练 模型代码的编写已经初步完成
刘师华 3221004766 制定计划,进行需求分析,撰写文档 撰写需求分析文档 , 制定项目计划和进度安排 , 协调核实组员分工情况
谭茵 3221004812 产品设计与需求分析 分析项目的需求,撰写产品分析和设计
詹慧丹 3221004855 计划和组织测试人员对产品进行测试 对测试方案进行初步设计
陈鑫杰 3121004688 开发部署 分析设计数据,Java基本架构的搭建
甘盛培 3121004692 java开发测试 完成基本的架构,算法
江卓颖 3121004699 Java开发 学习neo4j数据库,搭建Java项目基础架构

7.感想分享

姓名 学号 感想
李梦承 3121004702 在之前个人学习的相关深度学习基础上,恶补了tensorflow,发现腾讯云上有我们cn自己的bert预训练模型,不过只能在baidu网盘和理性上网中含泪选择xxx。
刘师华 3221004766 通过自己撰写需求分析文档 , 制定项目计划和进度安排,我觉得正确地做产品还是一件很难的事情,需求分析、协调资源、推进进度、把握产品定位等都需要我们具有更大的视野,同时在沟通中也需要更多的交谈技巧。而这个星期的学习过程中,我也收获到了很多,也从团队每个人身上了解到了不同方向的一些知识,也在这个过程中,提高了自己快速学习的能力!
谭茵 3221004812 在完成撰写需求文档后,我感到非常有成就感。在撰写的过程中,我们团队积极讨论沟通,通过分析整理我们的思路得到了一个基本可行的方案,我觉得我们很棒。
詹慧丹 3221004855 在本周通过讨论和分析后,我们得到了一个初步的测试方案,团队合作让方案更加完整,考虑到更多方面的问题。
陈鑫杰 3121004688 通过本周的项目开展,我在学习到了有关于neo4j的相关知识,以及在Java项目中使用Python模型,在做项目过程与团队成员互相沟通,提升沟通能力,并在开发构成学习新知识是很有成就感的事
甘盛培 3121004692 通过了这几天的合作以及讨论,基本明确了我们每个人的分工,确定了基本的计划,体会到了团队协作交流意见的优越之处
江卓颖 3121004699 在之前JAVA的基础上继续学习有关于数据库neo4j的相关知识以及在Java中如何使用Python训练好的模型,然后初步搭建起项目的数据库设计和项目架构,然后感受到了团队合作的魅力,并且学习到了新的知识