Skip to content

Latest commit

 

History

History
142 lines (117 loc) · 7.79 KB

初步需求文档.md

File metadata and controls

142 lines (117 loc) · 7.79 KB

软件项目管理知识图谱系统 - 需求文档

1. 项目概述

该项目旨在开发一个基于知识图谱的软件项目管理学习系统,帮助用户(学生和教师)搜索和学习相关知识点,查看知识点关联的习题,生成个性化试卷并利用大模型实现自动批改,同时提供基于大模型的问答功能,帮助用户解决学习中的疑问。

2. 目标用户

  • 学生:查阅和学习软件项目管理知识,并通过习题和试卷自我评估。
  • 教师:管理知识点内容,生成试卷,并对试卷进行二次批改和评估。

3. 功能性需求

3.1 用户角色

系统支持两类用户角色:学生和教师。

  • 学生:可以搜索知识点、查看习题、生成试卷并提交答案进行批改,同时可以向大模型提问获取解答。
  • 教师:可以管理知识点、关联习题,生成试卷,并对试卷进行人工批改或复核。

3.2 知识点搜索模块

  • 需求描述:用户可以通过模糊搜索的方式查找知识点,并查看与之相关的详细内容、关联知识点、前置和后置知识点等信息。

  • 功能需求

    • 用户在搜索框中输入关键词并点击搜索按钮后,系统展示与关键词相关的知识点列表。
    • 点击知识点列表中的某个知识点项,进入知识点详情页面,展示该知识点的详细信息,包括:
      • 知识点名称
      • 标签(如难点、重点等)
      • 认知维度(如记忆、理解运用等)
      • 分类教学目标
      • 详细内容
      • 前置知识点、后置知识点和关联知识点(点击可跳转到相关知识点的详情页面)
      • image
  • 接口设计

    • GET /api/knowledge/search:根据关键词模糊搜索知识点。
      • 参数:keyword (String) - 搜索关键词
      • 返回:符合条件的知识点列表,包含知识点ID、名称、简介等。
    • GET /api/knowledge/{id}:获取知识点的详细信息。
      • 参数:id (String) - 知识点的ID
      • 返回:知识点的详细信息,包括前置知识点、后置知识点、关联知识点、标签、认知维度、分类教学目标、详细内容等。

3.3 知识点内容与题目查看模块

  • 需求描述:在知识点的详细信息页面,展示该知识点的关联习题,包含题目内容和标准答案。

  • 功能需求

    • 在知识点详情页面,系统展示该知识点的习题列表,每个习题包含以下信息:
      • 题目内容
      • 标准答案(由教师设置)
      • image
  • 接口设计

    • GET /api/knowledge/{id}/exercises:获取知识点对应的习题。
      • 参数:id (String) - 知识点的ID
      • 返回:习题列表,包括每个习题的题目内容和标准答案。

3.4 试卷生成模块

  • 需求描述:用户可以根据选定的多个知识点生成试卷,包含所选知识点的习题,供用户进行测试。

  • 功能需求

    • 用户在试卷生成页面选择多个知识点,点击“生成试卷”按钮后,系统生成一份包含所选知识点相关习题的试卷。
    • 用户可以在试卷预览页面查看试卷内容。
    • image
  • 接口设计

    • POST /api/exam/generate:生成包含多个知识点的试卷。
      • 参数:knowledgeIds (List) - 要包含的知识点ID列表
      • 返回:生成的试卷内容,包括题目列表
    • GET /api/exam/{examId}:查看生成的试卷内容。
      • 参数:examId (String) - 试卷ID
      • 返回:试卷内容,包括题目列表

3.5 自动批改模块

  • 需求描述:用户完成试卷后上传答案,系统利用大模型自动批改试卷并提供分数和反馈。同时,教师可以对试卷进行二次批改或复核。
  • 功能需求
    • 学生在试卷批改页面提交答案,系统调用大模型自动批改试卷并返回分数和反馈。
    • 教师可以查看学生试卷的自动批改结果,并对其进行二次批改或复核,以提高批改的准确性。
  • 接口设计
    • POST /api/exam/{examId}/submit:提交试卷答案并批改。
      • 参数:
        • examId (String) - 试卷ID
        • answers (Map<String, String>) - 用户提交的答案(题目ID及其对应答案)
      • 返回:批改结果,包括每道题的得分、反馈、总分等
    • POST /api/exam/grade:利用大模型批改试卷(后台调用)。
      • 参数:
        • examId (String) - 试卷ID
        • answers (Map<String, String>) - 用户提交的答案
      • 返回:大模型批改的结果,包括每题的得分和反馈
    • POST /api/exam/{examId}/review:教师对试卷进行二次批改或复核。
      • 参数:
        • examId (String) - 试卷ID
        • feedback (Map<String, String>) - 教师的批改意见
      • 返回:最终批改结果,包括教师的反馈。

3.6 大模型问答模块

  • 需求描述:用户可以在问答模块向大模型提问,获取与知识点内容相关的答案。
  • 功能需求
    • 用户在问答页面输入问题,系统将问题提交给大模型并显示大模型返回的答案。
  • 接口设计
    • POST /api/qa/ask:用户提问,大模型生成答案。
      • 参数:question (String) - 用户的提问
      • 返回:大模型生成的答案

4. 界面需求

4.1 知识点搜索页面

  • 元素:搜索框、搜索按钮、知识点列表。
  • 操作:用户输入关键词并点击搜索,系统展示匹配的知识点列表。
  • UI:知识点列表展示每个知识点的名称、关联知识点、简介等信息。点击某个知识点项进入详情页面。

4.2 知识点详情页面

  • 元素:知识点详细内容、前置和后置知识点、习题列表。
  • 操作:点击知识点进入详情页面,用户可以查看知识点的详细信息和关联的习题。
  • UI:知识点内容包括标签、认知维度、教学目标和详细内容。习题列表展示题目和标准答案。

4.3 试卷生成页面

  • 元素:知识点多选框、生成试卷按钮。
  • 操作:用户选择多个知识点并点击生成试卷按钮,系统生成包含选定知识点的试卷。
  • UI:试卷预览页面展示生成的试卷内容,包括题目列表,方便用户确认试卷内容。

4.4 试卷批改页面

  • 元素:答案提交框、批改按钮、批改结果显示区域。
  • 操作:学生完成试卷后提交答案,系统调用大模型自动批改并展示结果。教师可复核批改结果并进行二次批改。
  • UI:批改结果显示每道题的得分和总分,同时提供教师批改的最终反馈。

4.5 问答页面

  • 元素:提问输入框、提问按钮、回答显示区域。
  • 操作:用户输入问题并点击提问按钮,系统将问题提交至大模型并展示返回的答案。
  • UI:每次提问后的回答显示在对话框中,提供清晰的问答界面。

5. 数据库设计

节点类型

  • Theme:主题节点,例如“软件项目管理”。
  • KnowledgePoint:知识点节点,包含一级、二级等层级知识点。
  • Exercise:习题节点,每个知识点可关联多个习题。

节点属性

  • Themeidname
  • KnowledgePointidnameleveltagscognitive_dimensionteaching_objectivecontent
  • Exerciseidquestionanswer

关系类型

  • CONTAINS:主题包含知识点,知识点包含子知识点。
  • RELATED_TO:知识点之间的关联关系。