软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)

点击查看 软件需求工程 高校教学平台 卷首语

文章目录

      • 学生查看教学班资料
      • 学生下载教学班资料
      • 学生查看教学班作业
      • 学生提交教学班作业(上传资料)
      • 学生查看教学班实验
      • 学生提交教学班实验
      • 学生查看教学班测试
      • 学生提交教学班测试
      • 学生发布教学班帖子
      • 学生查看教学班帖子
      • 学生回复教学班帖子
      • 学生删除教学班帖子
      • 学生提交自定义练习题
  • CRC卡
  • 状态图
  • 数据流图
    • 环境层数据流图
    • 用户管理子系统数据流图
    • 课程信息子系统数据流图
    • 网站维护子系统数据流图
    • 教学班信息管理、教学过程子系统数据流图
  • 数据库设计
    • 硬件接口
      • 服务器
      • 客户端
    • 软件接口
      • 服务器
      • 客户端
    • 通信接口
  • 非功能性需求
    • 性能需求
    • 输入要求
    • 数据传输与并发要求
    • 数据管理要求
    • 权限与安全需求
    • 可视化需求
    • 防护性需求
    • 软件质量属性
    • 其他需求
  • 数据字典
    • 数据流定义表
    • 数据元素定义表
    • 数据精度表
  • 业务规则与业务算法
    • 业务规则
    • 业务算法

学生查看教学班资料

表4-4-5 学生查看教学班资料用例描述
用例编号 STU-05 用例名称 学生查看 教学班资料
创建人 xxx 最后修改人 xxx
创建日期 2020/11/20 最后修改日期 2020/12/30
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生选择点击功能栏中的“资料”进入资料页面,选择自己想要查看资料文件的课程,点击某一资料的“查看资料详情”后,点击其中相关资料文件的链接查看详细信息
前置条件 1. 系统正常运行 2. 学生可正常打开相关页面 3. 学生用户已登录 4. 教师用户开设了课程 5. 学生已进入“资料详情”页面
触发器 学生要查看某课程资料的相关资料文件
后置条件 学生查看资料文件的操作写入网站日志
输入信息
主干过程 1. 学生进入网站主页并登录 2. 学生选择想要查看资料文件的课程 3. 进入课程“资料详情页面”后, 点击相关资料文件链接
分支过程
异常 未能显示相应的页面(发生于主干过程步骤 2) 处理:学生联系管理员或再次尝试 部分资料文件链接点击无响应(发生于主干过程步骤 3) 处理:学生联系管理员或再次尝试 部分资料文件查看失败(发生于主干过程步骤 3) 处理:学生联系管理员或再次尝试系统结束用例
假设 无异常发生
输入
输出 该课程作业相关资料文件
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第1张图片

图 4-4-5 学生查看教学班资料时序图

学生下载教学班资料

表4-4-6 学生下载教学班资料用例描述
用例编号 STU-06 用例名称 学生下载 教学班资料
创建人 xxx 最后修改人 xxx
创建日期 2020/11/20 最后修改日期 2020/12/30
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生选择点击功能栏中的“资料”进入资料页面,选择自己想要下载资料文件的课程,点击某一资料的“查看资料详情”后,点击其中相关资料文件的链接进行该门课程相关资料文件的下载
前置条件 1. 系统正常运行 2. 学生可正常打开相关页面 3. 学生用户已登录 4. 教师用户开设了课程 5. 学生已进入“资料详情”页面
触发器 学生要下载某课程资料的相关资料文件
后置条件 学生下载资料文件的操作写入网站日志 该课程相关资料文件保存到学生本地的设备存储
输入信息
主干过程 1. 学生进入网站主页并登录 2. 学生选择想要下载资料文件的课程 3. 进入课程“资料详情页面”后, 点击相关资料文件链接 4. 所有相关资料文件保存到学生的本地设备存储后,显示“下载成功”
分支过程
异常 未能显示相应的页面(发生于主干过程步骤 2) 处理:学生联系管理员或再次尝试 部分资料文件链接点击无响应(发生于主干过程步骤 3) 处理:学生联系管理员或再次尝试 部分资料文件下载失败(发生于主干过程步骤 3) 处理:学生联系管理员或再次尝试 系统结束用例
假设 无异常发生
输入
输出 该课程作业相关资料文件
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第2张图片

图 4-4-6 学生下载教学班资料时序图

学生查看教学班作业

表4-4-7 学生查看教学班作业用例描述
用例编号 STU-07 用例名称 学生查看作业
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意作业的名称,进入该作业的详情页面,可以查看该作业的详细信息。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内
触发器 学生点击了某教学班导航栏的“作业”或点击了具体的作业名称超链接
后置条件 学生查看作业的行为记入数据库日志 该教学班的所有作业以列表形式呈现在“作业”页面 某作业的详细内容
输入信息
主干过程 学生选择需要查看作业的教学班。 进入教学班首页后点击导航栏中的“作业”栏目。 进入作业页面后学生可以浏览该教学班的所有作业列表。 学生也可以点击某项作业的名称,进入该作业的详情页面。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 显示某作业详情出现异常 (主干过程4) 处理:刷新页面或联系管理员或技术人员
假设 无异常发生
输入
输出 某教学班的所有作业列表(包括作业名称、起止时间、作业类型、个人提交状态) 某作业的详细信息(包括作业名称、作业占比、作业类型、所属章节、起止时间、创建时间、作业具体描述、与作业相关的文件列表)
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第3张图片

图4-4-7 学生查看教学班作业时序图

学生提交教学班作业(上传资料)

表4-4-8 学生提交教学班作业(上传资料)用例描述
用例编号 STU-08 用例名称 学生提交作业
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意作业的名称,进入该作业的详情页面,可以查看该作业的详细信息。在该作业详情页内,点击“提交作业”按钮即可进行作业的提交。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内 想要提交的作业已经被教师、助教布置
触发器 学生点击了某教学班导航栏的“作业”后点击某作业的名称进入该作业的详情页面内点击了“提交作业”的按钮
后置条件 学生提交作业的行为记入数据库日志 该教学班的所有作业以列表形式呈现在“作业”页面 该作业的详细信息呈现在该作业的具体内容页面
输入信息 回答该作业的具体内容 上传的与该作业相关的文件列表
主干过程 学生选择需要提交作业的教学班。 进入教学班首页后点击导航栏中的“作业”栏目。 进入作业页面后学生可以浏览该教学班的所有作业列表,点击某项作业的名称,进入该作业的详情页面。 在详情页面内点击“提交作业”按钮。 在弹出来的模态框中编辑输入回答的内容活着的也可以上传相关的文件。完成后点击模态框右下方的“确认提交”按钮。 刷新页面后,在作业列表页面中刚提交的作业状态显示为“已提交“。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 显示某作业详情出现异常 (主干过程3) 处理:刷新页面或联系管理员或技术人员 刷新页面后作业列表未更新提交状态 (主干过程6) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入 回答该作业的内容:Take_Assignment_Content 上传的文件列表:Take_Assignment_Resource_List
输出 提交是否成功 提交成功后刷新页面,作业列表中更新该作业的提交状态
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第4张图片

图4-4-8 学生提交教学班作业(上传资料)时序图

学生查看教学班实验

表4-4-9 学生查看教学班实验用例描述
用例编号 STU-09 用例名称 学生查看实验
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意实验的名称,进入该实验的详情页面,可以查看该实验的详细信息。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内
触发器 学生点击了某教学班导航栏的“实验”或点击了具体的实验名称超链接
后置条件 学生查看实验的行为记入数据库日志 该教学班的所有实验以列表形式呈现在“实验”页面 某实验的详细内容
输入信息
主干过程 学生选择需要查看实验的教学班。 进入教学班首页后点击导航栏中的“实验”栏目。 进入作业页面后学生可以浏览该教学班的所有实验列表。 学生也可以点击某项实验的名称,进入该实验的详情页面。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 显示某实验详情出现异常 (主干过程4) 处理:刷新页面或联系管理员或技术人员
假设 无异常发生
输入
输出 某教学班的所有实验列表(包括实验名称、起止时间、分值占比、个人提交状态) 某实验的详细信息(包括实验名称、猜测是占比、起止时间、创建时间、持续时间、实验具体描述、实验中途允许推出全屏的次数)
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第5张图片

图4-4-9 学生查看教学班实验时序图

学生提交教学班实验

表4-4-10 学生提交教学班实验用例描述
用例编号 STU-10 用例名称 学生提交实验
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入实验页面,该页面即显示了所有已布置的实验列表。点击任意实验的名称,进入该实验的详情页面,可以查看该实验的详细信息。在该实验详情页内,点击“提交实验”按钮即可进行实验的提交。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内 想要提交的实验已经被教师、助教布置
触发器 学生点击了某教学班导航栏的“实验”后点击某实验的名称进入该实验的详情页面内点击了“提交实验”的按钮
后置条件 学生提交实验的行为记入数据库日志 该教学班的所有实验以列表形式呈现在“实验”页面 该实验的详细信息呈现在该实验的具体内容页面
输入信息 回答该实验的具体内容 上传的与该实验相关的文件列表
主干过程 学生选择需要提交实验的教学班。 进入教学班首页后点击导航栏中的“实验”栏目。 进入实验页面后学生可以浏览该教学班的所有实验列表,点击某项实验的名称,进入该实验的详情页面。 在详情页面内点击“提交实验”按钮。 在弹出来的模态框中编辑输入回答的内容活着的也可以上传相关的文件。完成后点击模态框右下方的“确认提交”按钮。 刷新页面后,在实验列表页面中刚提交的实验状态显示为“已提交“。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 显示某实验详情出现异常 (主干过程3) 处理:刷新页面或联系管理员或技术人员 刷新页面后实验列表未更新提交状态 (主干过程6) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入 回答该实验的内容:Take_Experiment_Content 上传的文件列表:Take_Experiment_Resource_List
输出 提交是否成功 提交成功后刷新页面,实验列表中更新该实验的提交状态
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第6张图片

图4-4-10 学生提交教学班实验时序图

学生查看教学班测试

表4-4-11 学生查看教学班测试用例描述
用例编号 STU-11 用例名称 学生查看测试
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意测试的名称,进入该测试的详情页面,可以查看该测试的详细信息。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内
触发器 学生点击了某教学班导航栏的“测试”或点击了具体的测试名称超链接
后置条件 学生查看测试的行为记入数据库日志 该教学班的所有测试以列表形式呈现在“测试”页面 某测试的详细内容
输入信息
主干过程 学生选择需要查看测试的教学班。 进入教学班首页后点击导航栏中的“测试”栏目。 进入作业页面后学生可以浏览该教学班的所有测试列表。 学生也可以点击某项测试的名称,进入该测试的详情页面。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 显示某测试详情出现异常 (主干过程4) 处理:刷新页面或联系管理员或技术人员
假设 无异常发生
输入
输出 某教学班的所有测试列表(包括测试名称、起止时间、分值占比、个人提交状态) 某测试的详细信息(包括测试名称、猜测是占比、起止时间、创建时间、持续时间、测试具体描述、测试中途允许推出全屏的次数)
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第7张图片

图4-4-11 学生查看教学班测试时序图

学生提交教学班测试

表4-4-12 学生提交教学班测试用例描述
用例编号 STU-12 用例名称 学生提交测试
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入测试页面,该页面即显示了所有已布置的测试列表。点击任意测试的名称,进入该测试的详情页面,可以查看该测试的详细信息。在该测试详情页内,点击“提交测试”按钮即可进行测试的提交。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内 想要提交的测试已经被教师、助教发布
触发器 学生点击了某教学班导航栏的“测试”后点击某测试的名称进入该测试的详情页面内点击了“提交测试”的按钮
后置条件 学生提交测试的行为记入数据库日志 该教学班的所有测试以列表形式呈现在“测试”页面 该测试的详细信息呈现在该测试的具体内容页面
输入信息 学生回答的与该测试有关的测试内容 系统根据学生答题过程中退出全屏的次数判断该学生是否作弊
主干过程 学生选择需要提交测试的教学班。 进入教学班首页后点击导航栏中的“测试”栏目。 进入测试页面后学生可以浏览该教学班的所有测试列表,点击某项测试的名称,进入该测试的详情页面。 在详情页面内点击“提交测试”按钮。 在弹出来的模态框中浏览该测试须知(包括持续时间、起止时间、测试中途允许退出全屏的次数等)后点击右下方“我已知晓,开始测试“按钮进入测试详细页面。 在详细页面进行相关的答题后可以点击右上角的“提交“按钮,并通过模态框确认提交。 刷新页面后,在测试列表页面中刚提交的测试状态显示为“已提交“。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 显示某测试详情出现异常 (主干过程3, 4, 5) 处理:刷新页面或联系管理员或技术人员 刷新页面后测试列表未更新提交状态 (主干过程7) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入 回答该测试的内容:Take_Exam_Content 根据推出全屏的次数判断是否作弊:Take_Exam_Cheat
输出 提交是否成功 提交成功后刷新页面,测试列表中更新该测试的提交状态
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第8张图片

图4-4-12 学生提交教学班测试时序图

学生发布教学班帖子

表4-4-13 学生发布教学班帖子用例描述
用例编号 STU-13 用例名称 学生发布帖子
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要发布新帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。点击“我要发贴”即可添加新帖子。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内
触发器 学生点击了某教学班导航栏“论坛”按钮进入帖子列表界面后点击了“我要发贴”的按钮
后置条件 教师、助教发布帖子的行为记入数据库日志 页面刷新后论坛页面显示新发布的帖子 其他人登录系统进入改教学班时会看到论坛提示有新帖子
输入信息 帖子标题 帖子内容
主干过程 学生选择需要发布帖子的教学班。 进入教学班主页后,学生选择“论坛”栏目。 进入论坛列表页面后,学生点击“我要发贴”按钮增加新帖子。 在弹出来的模态框中进行帖子的编辑,输入帖子名称和帖子内容后点击模态框右下方的“确认发布”按钮进行发布。 页面自动刷新后,在论坛页面的帖子列表中会显示新添加的帖子信息。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 页面刷新后未显示新添加的帖子 (主干过程5) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入 帖子标题:Post_Title 帖子内容:Post_Content
输出 发布是否成功 发布成功后论坛页面帖子列表显示新添加的帖子
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第9张图片

图4-4-13 学生发布教学班帖子时序图

学生查看教学班帖子

表4-4-14 学生查看教学班帖子用例描述
用例编号 STU-14 用例名称 学生查看帖子
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生 需求来源 教师助教用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。点击想要查看帖子的名称即可进入该帖子的详细页面(包括该帖子和回复该帖子的所有信息)
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内 存在需要查看的帖子
触发器 学生点击了某教学班导航栏“论坛”按钮进入帖子列表界面后点击了某条帖子的名称
后置条件 学生查看帖子的行为记入数据库日志 贴子的详情内容呈现在页面内
输入信息
主干过程 学生选择需要查看帖子的教学班。 进入教学班主页后,学生选择“论坛”栏目。 进入论坛列表页面后,教师助教点击想要查看帖子的名称。 进入该帖子的详情页面后,会显示帖子的标题、内容、发布时间、是否为教师或助教发布、以及所有回复的帖子。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入
输出 帖子标题:Post_Title 帖子内容:Post_Content 创建时间:Post_Create_Time 是否为学生发布:Post_Type 子帖子列表:Subpost_List
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第10张图片

图4-4-14 学生查看教学班帖子时序图

学生回复教学班帖子

表4-4-15 学生回复教学班帖子用例描述
用例编号 STU-15 用例名称 学生回复帖子
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要回复帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。选择点击需要回复帖子的名称进入该帖子的详细页面后,可以任选一条帖子进行回复。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内 想要回复的帖子已存在
触发器 学生点击了某教学班导航栏“论坛”按钮进入帖子列表界面后点击某帖子进入该帖子的详情页面后选择一条帖子后点击了“回复”按钮
后置条件 学生回复帖子的行为记入数据库日志 页面刷新后论坛页面显示回复的帖子 被回复人登录系统进入改教学班时会看到论坛提示有回复
输入信息 帖子标题 帖子内容 回复的帖子对象
主干过程 学生选择需要回复帖子的教学班。 进入教学班主页后,学生选择“论坛”栏目。 进入论坛列表页面后,教师助教选择需要回复帖子的名称。 在该帖子的详情页面内选择想要回复的帖子并点击“回复”按钮。 在弹出来的模态框中进行回复帖子的编辑,输入帖子名称和帖子内容后点击模态框右下方的“确认回复”按钮进行回复。 页面自动刷新后,在该帖子的所有子帖子列表中会出现刚回复的帖子信息。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 页面刷新后未显示新回复的帖子 (主干过程6) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入 帖子标题:Post_Title 帖子内容:Post_Content 回复的帖子对象:Replyto_Post_ID
输出 回复是否成功 回复成功后该帖子详情页子帖子列表显示新回复的帖子信息
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第11张图片

图4-4-15学生回复教学班帖子时序图

学生删除教学班帖子

表4-4-16 学生删除教学班帖子用例描述
用例编号 STU-16 用例名称 学生删除帖子
创建人 xxx 最后修改人 xxx
创建日期 2020-12-8 最后修改日期 2020-12-8
角色 学生 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要删除帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。选择点击需要删除帖子的名称进入该帖子的详细页面后,可以任选一条帖子进行删除。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内 想要删除的帖子已存在 想要删除的帖子是由用户本人创建的
触发器 学生点击了某教学班导航栏“论坛”按钮进入帖子列表界面后点击某帖子进入该帖子的详情页面后选择一条帖子后点击了“回复”按钮
后置条件 学生删除帖子的行为记入数据库日志 页面刷新后论坛页面不再显示删除的帖子
输入信息
主干过程 学生选择需要删除帖子的教学班。 进入教学班主页后,学生选择“论坛”栏目。 进入论坛列表页面后,学生选择需要删除帖子的名称。 在该帖子的详情页面内选择想要删除的帖子并点击“删除”按钮。 在弹出来的模态框中点击“确认删除”即可删除选中的帖子。 页面自动刷新后,在该帖子的所有子帖子列表中不再出现刚删除的帖子信息。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 页面刷新后未仍显示删除的帖子 (主干过程6) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入
输出 删除是否成功 删除成功后该帖子详情页子帖子列表不显示删除的帖子信息
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第12张图片

图4-4-16 学生删除教学班帖子时序图

学生提交自定义练习题

表4-4-17 学生提交自定义练习题用例描述
用例编号 STU-17 用例名称 学生提交习题
创建人 xxx 最后修改人 xxx
创建日期 2020-12-29 最后修改日期 2020-12-29
角色 学生用户 需求来源 学生用户代表
主要参与者 学生
描述 学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看自定义习题的教学班后进入教学班首页。点击导航栏中“作业”选项进入自定义习题页面,该页面即显示了所有已布置的自定义习题列表。点击任意自定义习题的名称,进入该自定义习题的详情页面,可以查看该自定义习题的详细信息。在该自定义习题详情页内,点击“提交自定义习题”按钮即可进行自定义习题的提交。
前置条件 系统正常运行 学生可以正常打开相关页面 学生已正常登陆自己的账号 学生在该教学班内 想要提交的自定义习题已经被教师、助教布置
触发器 学生点击了某教学班导航栏的“作业”栏目后点击某自定义习题的名称进入该自定义习题的详情页面内点击了“提交自定义习题”的按钮
后置条件 学生提交自定义习题的行为记入数据库日志 该教学班的所有自定义习题以列表形式呈现在“自定义习题”页面 该自定义习题的详细信息呈现在该自定义习题的具体内容页面
输入信息 回答该自定义习题的具体内容 上传的与该自定义习题相关的文件列表
主干过程 学生选择需要提交自定义习题的教学班。 进入教学班首页后点击导航栏中的“自定义习题”栏目。 进入自定义习题页面后学生可以浏览该教学班的所有自定义习题列表,点击某项自定义习题的名称,进入该自定义习题的详情页面。 在详情页面内点击“提交自定义习题”按钮。 在弹出来的模态框中编辑输入回答的内容,也可以上传相关的文件。完成后点击模态框右下方的“确认提交”按钮。 刷新页面后,在自定义习题列表页面中刚提交的自定义习题状态显示为“已提交“。
分支过程
异常 未能显示或未能正确显示相应的页面 (主干过程1, 2, 3) 处理:联系管理员或技术人员或再次尝试 显示某自定义习题详情出现异常 (主干过程3) 处理:刷新页面或联系管理员或技术人员 刷新页面后作业列表未更新提交状态 (主干过程6) 处理:等待几秒后刷新页面或联系管理员或技术人员
假设 无异常发生
输入 回答该自定义习题的内容:Take_Assignment_Content 上传的文件列表:Take_Assignment_Resource_List
输出 提交是否成功 提交成功后刷新页面,自定义习题列表中更新该自定义习题的提交状态
包括用例
优先级
使用频率
备注与问题

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第13张图片

图4-4-17 学生提交自定义练习题时序图

CRC卡

表5-1 类:Resource
类:Resource
说明: 记录、实时更新对应教学班的每个章节的资料信息
职责 协作者
从session中获取用户ID和班级ID等信息
显示资料所属章节和类型信息
显示资料标题、开始时间、结束时间、附件大小等信息
提供添加资料选项 Add_Resource
表5-2 类:Add\_Chapter
类:Add_Chapter
说明: 为对应教学班增加章节信息
职责 协作者
从session中获取班级ID等信息
记录章节编号、章节名称信息 Chapter
检查填写信息是否完整正确
章节信息正确,提示“发布成功”
章节信息缺少或错误,提示“发布失败”
表5-3 类:Add_Resource
类:Add_Resource
说明: 为对应教学班增加资料信息
职责 协作者
从session中获取用户ID和班级ID等信息
提供资料所属章节和类型选择
记录资料标题、开始时间、结束时间、附件大小等信息 Resource
检查选择章节是否存在
检查填写信息是否完整正确
检查附件大小是否符合要求
资料信息正确,提示“发布成功”
资料信息缺少或错误,提示“发布失败”
上传附件过大,提示“发布失败”
表5-4 类:View_Chapter
类:View_Chapter
说明: 查看对应教学班的章节信息
职责 协作者
从session中获取用户ID和班级ID等信息
显示章节编号和名称信息 Chapter
显示章节中的资料信息 Resource
表5-5 类:Course
类:Course
说明: 记录、实时更新课程信息
职责 协作者
显示课程简介、大纲、等信息
显示授课老师信息 User
提供增加课程选项 Add_Course
表5-6 类:Add_Course
类:Add_Course
说明: 增加课程
职责 协作者
记录课程信息 Course
检查填写信息是否完整正确
课程信息完整正确,提示“发布成功”
课程信息缺少或错误,提示“发布失败”
表5-7 类:Chapter
类:Chapter
说明: 记录、实时更新对应教学班的章节信息
职责 协作者
从session中获取用户ID和班级ID等信息
显示章节名称、章节编号
提供添加章节选项 Add_Chapter
表5-8 类:Experiment
类:Experiment
说明: 记录教师发布的实验内容和学生提交情况
职责 协作者
下设在Class分类下的,为Class提供部分内容; 学生可以Take_Experiment Class Take_Experiment
表5-9 类:Take_Experiment
类:Take_Experiment
说明: 学生参与实验
职责 协作者
是特定Class下的行动; 内容和结果记录在Experiment中 Class Experiment
表5-10 类:Notification
类:Notification
说明: 显示通知发布的时间、内容、发布者
职责 协作者
在特定Class下显示; 是Post的结果 Class Post
表5-11 类:Add_Notification
类:Add_Notification
说明:发布通知
职责 协作者
在特定Class下显示; 结果和发布行为记录在Notification中 Class Notification
表5-12 类:User
类:User
说明: 查看、修改用户个人信息
职责 协作者
登录 Login
找回密码 FindPwd
修改密码 ChPwd
注销 Logout
游客注册 Register
查看个人信息 ViewInfo
修改个人信息 ModifyInfo
表5-13 类:Register
类:Register
说明: 游客以用户名注册,填写各种信息,ID即为其用户名
职责 协作者
游客输入各种信息
检查各种信息合法性和密码一致性
检查用户名是否重名 User
注册成功,更新数据库 User
表5-14 类:Login
类:Login
说明: 输入ID和密码,并使用图形验证码登录
职责 协作者
输入ID和密码
输入验证码内容
检查ID和密码正确性 User
登录成功
表5-15 类:Logout
类:Logout
说明: 注销
职责 协作者
退出当前登录状态
表5-16 类:FindPwd
类:FindPwd
说明: 利用邮件重置密码
职责 协作者
输入ID和邮箱
检查邮箱正确性 User
发送邮件(内含重置密码链接)
重置密码 ChangePwd
表5-17 类:ChPwd
类:ChPwd
说明: 修改当前登录用户的密码
职责 协作者
输入当前用户ID和原密码
检查ID和原密码正确性 User
重置密码 ChangePwd
表5-18 类:ChangePwd
类:ChangePwd
说明: 重置密码
职责 协作者
输入新密码和确认密码
检查密码一致性
重置密码成功,修改数据库 User
表5-19 类:ViewInfo
类:ViewInfo
说明: 用户查看个人基本信息
职责 协作者
从session中获取用户ID等信息
显示学号、院系、联系方式等信息 User
提供修改信息的入口 ModifyInfo
表5-20 类:ModifyInfo
类:ModifyInfo
说明: 用户修改个人基本信息
职责 协作者
从session中获取用户ID等信息
显示当前已填写的信息,以文本框呈现 ViewInfo
输入更改后的信息
检测信息是否合法 User
修改成功,更新数据库 User
表5-21 类:Admin
类:Admin
说明: 管理、维护学生、教师用户相关数据
职责 协作者
添加学生账户 AddStu
添加教师账户 AddTeach
添加教师个人主页 AddTeachIndex
修改教师个人主页 ModTeachIndex
表5-22 类:AddStu
类:AddStu
说明:管理员添加学生账号
职责 协作者
管理员输入基本信息
检查信息合法性 Admin
自动设置学号、默认密码 Admin
添加成功,更新数据库 Admin
表5-23 类:AddTeach
类:AddTeach
说明: 管理员添加教师账号
职责 协作者
管理员输入基本信息
检查信息合法性 Admin
自动设置工号、默认密码 Admin
添加成功,更新数据库 Admin
表5-24 类:AddTeachIndex
类:AddTeachIndex
说明: 管理员为未创建主页的教师账户添加个人主页
职责 协作者
显示当前教师已有基本信息 ViewInfo
管理员输入主页补充信息
检查信息合法性 Admin
添加成功,更新数据库 Admin
表5-25 类:ModTeachIndex
类:ModTeachIndex
说明: 管理员为已创建主页的教师账户修改个人主页
职责 协作者
显示当前教师已存储的主页信息 ViewTeachIndex
管理员输入主页修改信息
检查信息合法性 Admin
添加成功,更新数据库 Admin
表5-26 类:AddAssist
类:AddAssist
说明:教师添加助教
职责 协作者
输入教学班id和助教的学生id
检查教学班是否为该教师的 Teach
检查学生id是否存在 User
添加成功,更新数据库 User

状态图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第14张图片

图6-1 课程模块状态图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第15张图片

图6-2 用户注册/登录/修改密码/找回密码/注销的状态图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第16张图片

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第17张图片
软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第18张图片

图6-3 查看基本信息、修改基本信息、(管理员)添加学生账号、添加教师账号、添加教师主页、修改教师主页

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第19张图片

图6-4 作业、实验、测试状态图

数据流图

环境层数据流图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第20张图片

图5-1 环境层数据流图

用户管理子系统数据流图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第21张图片

图5-2 用户管理子系统数据流图

课程信息子系统数据流图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第22张图片

图5-3 课程信息子系统数据流图

网站维护子系统数据流图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第23张图片

图5-4 网站维护子系统数据流图

教学班信息管理、教学过程子系统数据流图

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第24张图片

图5-5 教学班信息管理、教学过程子系统数据流图

数据库设计

软件需求工程 高校教学平台 软件需求规格说明书 part 3 (重点!!!)_第25张图片

图6-1 数据库ER图 # 外部接口需求

硬件接口

服务器

表6-1 服务器硬件接口需求
项目 信息
服务器 阿里云
处理器 Intel® Xeon® Platinum 8163 CPU @ 2.50GHz
核数 4
内存 8GB RAM
缓存 33792KB
网络 5Mbps
操作系统 Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-31-generic x86_64)
地址大小 46 bits physical, 48 bits virtual

客户端

表6-2 客户端硬件接口需求
项目 信息
供应商 LENOVO
操作系统 Windows 10 Pro 64-bit (10.0, Build 18363)
系统模型 20LBA01KCD
BIOS版本 N27ET32W (1.18 ) (type: UEFI)
处理器 Intel® Core™ i5-8350U CPU @ 1.70GHz (8 CPUs), ~1.9GHz
内存 20.00GB RAM
显卡 Intel® UHD Graphics 620 NVIDIA Quadro P500
显示器 名称:Wide viewing angle & High density FlexView Display 1920x1080 分辨率(刷新频率):1920 x 1080§ (59.977Hz)
名称:Generic PnP Monitor AOC2701 分辨率(刷新频率):1920 x 1080§ (60.000Hz)
名称:Generic PnP Monitor DELL U2518D 分辨率(刷新频率):2560 x 1440§ (59.951Hz)
网络 Microsoft ATSC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBS Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBT Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft Network Provider,0x00200000,0,1,MSNP.ax,10.00.18362.0001

软件接口

服务器

表6-3 服务器软件接口需求
项目 信息
服务器软件 Nginx
数据库软件 MySQL Ver 8.0.21-0ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))

客户端

表6-4 客户端软件接口需求
项目 信息
浏览器 Google Chrome, Microsoft Edge, Firefox, Safari, Opera

通信接口

通信功能有电子邮件、Web浏览器、网络通信标准或协议及通信安全或加密问题、10/100M
数据传输速率和同步通信机制。

表6-5 通信接口需求
项目 信息
网络环境 公网或浙江大学校园网(L2TP)

非功能性需求

性能需求

  • 系统应保持运行稳定,避免出现崩溃;

  • 主流浏览器(Chrome, Microsoft Edge, Firefox, Safari,
    Opera)均能正常访问本系统;

  • 系统应能保证至少500人的并发访问;

  • 系统应允许300人同时下载资料的平均速度达到500KB/s;

  • 当用户登录以及进行任何操作时,系统应该能及时进行反应,反应的时间再1s以内;

  • 系统应该能及时检测出各种非正常情况,如与设备的通信中断断开,无法连接数据库服务器等情况,避免用户长时间等待;

  • 用户提交查询、添加、修改、删除等操作后,响应时间不超过3s;

  • 每个页面一般情况下应在1s内加载完毕,高峰期应在3s内加载完毕;

  • 系统保证在一周内不超过一次维护与重启。

输入要求

  • 在用户输入账号密码时,应对数据输入进行数据有效性和安全性检查,对于用户密码应当采用MD5或SHA256等不可逆加密算法加密;

  • 用户在论然发布帖子时,应当对数据输入进行数据长度及安全性检查;

  • 用户在论坛上传附件时,附件大小应当小于3MB;

  • 用户上传课件时,应对课件进行安全性检查;

  • 用户发布通知时,应对通知的长度和安全性进行检查;

  • 用户进行打分时,应对数据的有效性进行检查;

  • 用户使用搜索功能时,应对搜索内容的长度和安全性进行检查;

  • 管理员进行学生信息导入时,应对数据进行安全性和合法性检查;

  • 管理员修改学生信息时需要额外验证;

  • 用户添加发布相关信息时,如个人资料、作业说明、通知等,应对文本的长度、数字范围和安全性进行检查;

  • 用户在处理成绩相关时,如批改作业、设定总成绩算法、导入成绩时,应对数据的有效性和合法性进行检查,如各项成绩总和等于100,单项作业等分数所占百分比不超过100%;

  • 学生、教师、助教和游客对于课程相关的内容具有不同的权限;

  • 此外,系统应通过程序控制出错几率,减少系统因用户人为的错误引起的破坏,开发者应当尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小。

数据传输与并发要求

表7-1 数据传输与并发要求
对象 要求
用户 用户输入账号密码点击登录后,对登录的相应时间不能超过1秒,在此时间内将登录结果显示在屏幕上
用户选择找回密码后,系统应在2秒内给出响应
论坛 论坛能支持800名用户同时在线浏览,并且人均速度能达到500kB/s
论坛能支持100名用户同时发帖
论坛附件能支持100名用户同时上传,并且人均速度能达到500kB/s
论坛附件能支持100名用户同时下载,并且人均速度能达到500kB/s
游客 游客在使用留言功能后,系统应当在2秒内做出响应,并将留言结果显示在屏幕上。
管理员 管理员选择删除游客功能后,系统应当在1秒内做出相应,并将处理结果显示在屏幕上。
系统 系统能支持100名游客同时进行浏览,并且人均速度能达到500kB/s
系统能支持100名用户同时上传课程作业,并且人均速度能达到500kB/s
系统能支持100名用户同时下载课程相关资料,并且人均速度能达到500kB/s
系统能支持100名用户同时在线浏览课件,并且人均速度能达到500kB/s
系统应支持200名学生信息的一次性导入,导入时间不超过30秒
系统能支持100名用户同时进行添加作业、发布通知以及批改作业等操作
系统能支持100名用户同时进行参与测试、参与实验等操作
系统应支持500名用户并发使用,并保证性能不受影响
在网页中,系统生成的所有Web页面,通过速率为100kbps的调制解调器在不超过3秒的时间内可以全部下载下来

数据管理要求

表7-2 数据管理要求
对象 要求
系统 系统既要与其他系统有接口,又必须保证本系统的独立性与完整性。即应防止未经授权的各类人员(如游客或外校人员等)对本系统进行设置和修改或进行有关统计。
系统服务器软件 系统服务器软件必须提供可靠的数据备份和恢复手段,在服务器软件或硬件出现严重故障时,能够根据备份的数据和账户信息等必要的配套信息,迅速彻底地恢复正常运行环境。
用户信息管理相关模块 系统的用户信息管理相关模块,决定了其他众多系统的账户安全性,必须保证统计数据准确、安全,用户信息应当提供完整的备份及恢复措施。
其他 无论访问者账户信息还是管理者账户信息,都必须提供完备手段由用户自定义和备份保存,软件开发者不得在系统中预留任何特殊账户和明文形式的密码。 除此之外,系统应具备加密登录、数据加密传输等安全方面的保障,保证数据在不用系统间传输过程中的保密性与安全性。

以下为具体细则:

  • 系统服务器应具备至少40GB的存储空间;

  • 数据库可支持表的最大行数达到1000行;

  • 本系统用于日志等记录的数据增长约为
    50MB/月,具体增长速度由用户的使用频率及所发生业务的数据量决定;

  • 本系统会在刚上线即学期初增长约500MB数据,具体增长量由所发生业务的数据量决定;

  • 系统管理员每两个月应至少维护备份三次数据;

  • 当出现重大事故造成数据丢失后,系统应能在24小时内恢复数据;

  • 当系统崩溃后,系统应能在24小时内恢复运行;

  • 账号密码传输应当采用MD5或SHA256等不可逆加密算法进行加密处理。

权限与安全需求

对于任何一个系统来说,安全是保证其正常运行的关键因素之一。因此在我们的系统中,对于安全与权限进行了如下设计:

  • 所有涉及功能信息或个人信息的网络事务,都应进行加密操作;

  • 未登录的用户,即游客模式仅能查看所有课程的基本信息(课程名称、课程简介、开放时间、授课教师团队、课程章节目录等)、公开课程的所有内容(包括公开课程的主页、课程的具体章节内容、课程的所有相关资源文件等)和所有教师的个人主页信息;

  • 系统要求用户密码强度不能少于8个字符,并且要包含字母和、数字和特殊字符;

  • 用户登录时,密码要采用MD5或SHA256等不可逆加密算法进行加密,用户修改密码时需要进行安全性认证(通过邮件认证或输入旧密码);

  • 只有系统管理员有权查看及修改底层数据库数据,且行为应被系统日志记录,用户无法非法修改数据库;

  • 只有被授权为对应授课教师或助教的用户,才能编辑及发布公告。

  • 只有被授权为对应授课教师或助教的用户,才能编辑及发布作业。

  • 只有被授权为对应授课教师或助教的用户,才能删除游客评论。

  • 只有被授权为对应授课教师或助教的用户,才能对论坛进行合并操作。

  • 只有被授权为发帖本人,才能对论坛进行删帖操作。

  • 只有被授权为对应授课教师或助教的用户或者是发布课件本人,才能对课件进行删除或修改操作。

  • 只有系统管理员有权查看系统日志。

  • 任何人都无权修改或删除日志。

  • 只有系统管理员有权查看及修改底层数据库数据,且行为应被系统日志记录。

  • 游客用户只能访问课程介绍以及被教师公开的课件。

  • 只有被对应管理员标明的课件才能被下载。

  • 没被对应管理员标明的课件只能在线浏览,不提供下载选项。

  • 系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误,以便于查找错误的原因。系统日志应同时记录下用户的关键性操作信息;

  • 当流量过大时,优先限制游客流量防止恶意访问,并且除了公共信息部分以外都需要通过登录账户才能查看。

    除此之外,系统应当保证系统自身的安全:

  • 系统应当提供一定的限制功能,即只允许在局域网内特定机器上运行用户管理功能;

  • 系统应具备加密登录、数据加密传输、数据存储等安全方面的保障,以确保系统的安全性;

  • 系统是基于开放的操作系统平台和数据库上的,因此,要求建立操作系统和数据库的安全保障体系,保证操作系统和数据库的安全;

  • 对可能发生严重后果的操作要有补救措施,通过补救措施用户可以回到原来的正确状态。对可能造成等待时间较长的操作应该提供取消功能;

  • 对一些特殊符号和计算机代码的输入,与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符;

  • 对错误操作支持可逆性处理,如取消系列操作。在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。

可视化需求

用户在完成操作后,总是会想知道自己的操作是否出错,为了提高本系统的友好性,我们将对操作结果进行可视化。

  • 教师在完成编辑或修改个人基本信心、上传教学班资料、添加教学班作业、添加教学班实验、添加教学班测试、发布通知、发布新帖子或回复帖子等操作后,能立刻看到新添加的页面;

  • 同时教师在删除教学班作业、删除教学班实验、删除教学班测试、删除通知或删除自己的帖子后,页面中原有相关内容会消失;

  • 所有用户在上传文件资料的过程中,能够看到上传的进度百分比,上传完成后,能显示刚上传的文件基本信息(名称、种类、大小等);

  • 教师或助教批改作业、实验、测试后,学生能看到所获分数以及评语等相关信息。

  • 教师或助教查看班级学生作业或实验提交情况、作业或实验成绩情况时,会以相关图表的形式可视化呈现;

  • 教师或助教在发布通知后,学生能在通知栏实时看到新通知;

  • 教师或助教在回复某学生的帖子后,学生能在通知栏和该教学班的论坛栏目看到有人回复的标志;

  • 用户在输入账号密码登录后,能够在不刷新页面的条件下立刻获取反馈(账号密码是否正确)。

防护性需求

  • 数据库误删除时,可以使用撤销删除修复;

  • 重复操作导致卡死时,系统提出警告,自动检测并限制重复的操作;

  • 访问无权限时,系统发出提示并禁止用户访问;

  • 上传文件出错时,系统应提供自主覆盖功能;

  • 系统应该提供验证码防止恶意登录;

  • 系统应做好数据库注入攻击的防护工作;

  • 系统应该及时信息备份防止病毒攻击;

  • 系统应该能检测到恶意爬虫等恶意操作;

  • 当检测到恶意重复操作时,系统应提出警告并在一段时间内不允许操作。

软件质量属性

  • 可用性

    系统保证早上6点到晚上12点之间可用,但在发生紧急情况时允许停止运行一段时间;

  • 可维护性

    系统运行时要保存所有操作的运行日志,用来维护分析。每周一的凌晨1点到5点为维护时间,在此期间用户不能使用系统。

    此外,维护人员需要在系统正常运行时能保持联系。

    网站首页应当为用户提供反馈问题和提供建议或意见的平台。

  • 兼容性

    系统需要保证在主流浏览器(Chrome, Microsoft Edge, Firefox, Safari,
    Opera等)上可以正常浏览和使用,对于其他市场占有率超过5%的浏览器,保证实现系统的主要功能;

  • 易用性

    系统界面应该简洁明了、操作简单,功能按钮的位置符合用户的日常习惯。

    此外,系统应该要有导航和清晰简短的用户使用手册;

  • 可扩充性

    系统在设计上考虑到了网站可能的后续发展,在后端设计和前端设计上尽可能地在满足所有需求的同时,增强了网站的可扩充性。一旦有扩展需要,客户可以联系系统维护人员,维护人员需要在1 - 4个工作日内完成客户的内容扩充需求,主要包括增加新的功能、增加新的模块、界面优化、系统性能提升等。

其他需求

  • 软件必须提供对系统中各种码表的维护、补充操作;

  • 软件对用户的所有误操作或不合法操作进行检查,并给出提示信息。

数据字典

数据流定义表

表8-1 数据流定义表
编号 数据流名 来源 去向 组成 说明
L-01 用户登录 用户 系统 E1+E2+E3 用户输入用户名和密码登录系统
L-02 教师添加助教 用户 系统 E1+E2+E3+E4 教师对于指定课程输入助教(也属教师)信息添加助教
L-03 用户修改 个人信息 用户 系统 E1+E2+E3 用户修改自己个人信息
L-04 用户查看 个人信息 用户 系统 E1+E2+E3 用户查看自己个人信息
L-05 管理员添加老师 用户 系统 E1+E2+E3 管理员输入老师信息增加老师
L-06 管理员添加学生 用户 系统 E1+E2+E3 管理员输入学生信息增加学生
L-07 管理员修改 教师个人主页 用户 系统 E1+E2+E3 管理员对于指定教师修改其个人主页信息
L-08 用户查看 课程信息 用户 系统 E01+E02+E04+E05 用户对课程信息进行查看
L-09 管理员增删课程 用户 系统 E01+E02+E04+E05 管理员对课程进行增加和删除
L-10 管理员 生成教学班 用户 系统 E01+E02+E04+E06+E07 管理员对某一课程生成一个教学班
L-11 教师修改 课程信息 用户 系统 E01+E02+E04+E05 教师对某一课程信息进行修改
L-12 教师添加 课程章节 用户 系统 E01+E02+E04+E05 教师对某一课程进行章节添加
L-13 管理员导入成绩 用户 系统 E1+E2+E6+E7+E10+E11+E12 管理员导入某一班级的卷面考试成绩
L-14 学生查看 个人成绩 用户 系统 E1+E2+E12+E13+E14 学生查看个人的测验所得成绩
L-15 学生查看通知 用户 系统 E1+E2+E17+E18+E10 学生对于网站通知与课程通知进行查看
L-16 教师发布 课程通知 用户 系统 E1+E2+E6+E7+E17+E18+E19 教师向一个班级的所有学生发布课程通知
L-17 用户发布讨论 用户 系统 E1+E2+E15+E16 用户在讨论区发布讨论
L-18 用户讨论区留言 用户 系统 E1+E2+E15+E16 用户在讨论区针对讨论上传
L-19 教师发布作业 用户 系统 E6+E7+E8+E9+E12+E13 教师在某教学班发布作业
L-20 教师修改作业 用户 系统 E6+E7+E8+E9+E12+E13 教师在某教学班修改某项作业
L-21 教师删除作业 用户 系统 E6+E7+E8+E9+E12+E13 教师在某教学班删除某项作业
L-22 教师批改作业 用户 系统 E6+E7+E8+E9+E12+E13 教师在某教学班批改某项作业
L-23 教师发布实验 用户 系统 E6+E7+E14+E15+E17+E18+E19 教师在某教学班发布实验
L-24 教师修改实验 用户 系统 E6+E7+E14+E15+E17+E18+E19 教师在某教学班修改某项实验
L-25 教师删除实验 用户 系统 E6+E7+E14+E15+E17+E18+E19 教师在某教学班删除某项实验
L-26 教师批改实验 用户 系统 E6+E7+E14+E15+E17+E18+E19 教师在某教学班批改某项实验
L-27 教师添加新题目 用户 系统 E6+E7+E20+E22+E23 教师在某教学班添加新题目
L-28 教师发布测试 用户 系统 E6+E7+E24+E27+E28 教师在某教学班发布了新测试
L-29 教师批改测试 用户 系统 E6+E7+E24+E27+E28 教师在某教学班批改某项测试
L-30 学生查看 提交作业 用户 系统 E6+E7+E3+E9 学生查看了某教学班的某项作业并提交(上传相关资料)
L-31 学生查看 提交实验 用户 系统 E3+E6+E7+E15 学生查看了某教学班的某项实验并提交(上传相关资料)
L-32 学生查看 提交测试 用户 系统 E3+E6+E7+E25 学生查看了某教学班的某项测试并提交
L-33 教师发布 论坛帖子 用户 系统 E3+E6+E7+E39+E40+E41 教师在某教学班发布了新帖子
L-34 教师修改 删除帖子 用户 系统 E3+E6+E7+E39+E40+E41 教师在某教学班修改或删除了自己的帖子
L-35 教师回复帖子 用户 系统 E3+E6+E7+E39+E40+E41 教师在某教学班回复了某帖子
L-36 学生发布帖子 用户 系统 E3+E6+E7+E39+E40+E41 学生在某教学班发布了新帖子
L-37 学生修改 删除帖子 用户 系统 E3+E6+E7+E39+E40+E41 学生在某教学班修改或删除了某帖子
L-38 学生回复帖子 用户 系统 E3+E6+E7+E39+E40+E41 学生在某教学班回复了某帖子

数据元素定义表

表8-2 数据元素定义表
编号 数据元素名 类型 值域 说明
E-01 用户ID 字符串 “0000000” ~ “9999999999” 用户唯一标识符 学生为10位 教师为7位
E-02 用户类型 数字 1, 2, 3 1代表学生 2代表教师 3代表管理员
E-03 用户信息 字符串 姓名、学院、 邮箱、手机等
E-04 课程ID 字符串 “00000000” ~ “99999999” 课程唯一标识符
E-05 课程信息 字符串 名称、所属院系、学分、课程简介、课程大纲、授课团队等
E-06 教学班ID 字符串 “00000000” ~ “99999999” 教学班唯一标识符
E-07 教学班信息 字符串 对应的课程信息、学期、年份、教学楼名称、教室号
E-08 作业ID 整数 1 ~ INT_MAX 自动递增的整数 作业唯一标识符
E-09 作业状态 整数 1, 2, 3 1代表已提交 2代表未提交 3代表已过期
E-10 作业成绩 小数 0.0 ~ 100.0
E-11 作业占比 整数 1 ~ 100 作业得分在平时 总成绩中的占比
E-12 作业信息 字符串 所属教学班信息、作业名称、描述、创建开始过期时间
E-13 作业类型 布尔值 True/False True代表个人作业 False代表小组作业
E-14 实验ID 整数 1 ~ INT_MAX 自动递增的整数 实验唯一标识符
E-15 实验状态 整数 1, 2, 3 1代表已提交 2代表未提交 3代表已过期
E-16 实验成绩 小数 0.0 ~ 100.0
E-17 实验占比 整数 1 ~ 100 实验得分在平时 总成绩中的占比
E-18 实验信息 字符串 所属教学班信息、实验作业名称、描述、创建开始过期时间
E-19 实验类型 布尔值 True/False True代表个人实验 False代表小组实验
E-20 题目ID 整数 1 ~ INT_MAX 自动递增的整数 题目唯一标识符
E-21 题目得分 小数 0.0 ~ 100.0
E-22 题目类型 整数 1, 2, 3, 4 1代表判断题 2代表单选题 3代表多选题 4代表填空题
E-23 题目信息 字符串 题目所属考试信息、 题目内容、参考答案
E-24 测试ID 整数 1 ~ INT_MAX 自动递增的整数 考试唯一标识符
E-25 测试状态 整数 1, 2, 3 1代表已提交 2代表未提交 3代表已过期
E-26 测试成绩 小数 0.0 ~ 100.0
E-27 测试占比 整数 1 ~ 100 考试在总成绩中的占比
E-28 测试信息 字符串 考试所属教学班信息、考试名称、考试创建开始结束持续时间、退出全屏次数(作弊)
E-29 通知ID 整数 1 ~ INT_MAX 自动递增的整数 通知唯一标识符
E-30 通知类型 布尔值 True/False True代表普通通知 False代表教师通知
E-31 通知状态 布尔值 True/False True代表已读 False代表未读
E-32 通知信息 字符串 通知所属教学班信息、 创建时间、通知内容等
E-33 资源ID 整数 1 ~ INT_MAX 自动递增的整数 资源唯一标识符
E-34 资源大小 整数 1 ~ INT_MAX 以KB为单位
E-35 资源名称 字符串
E-36 资源种类 整数 1, 2, 3, 4, 5 1代表文档 2代表图像 3代表音频 4代表视频 5代表链接
E-37 资源权限 布尔值 True/False True代表可以下载 False代表仅在线浏览
E-38 资源信息 文本 上传用户ID 所属教学班ID 所属作业ID 所属实验ID 所属教学班章节号 上传、开始、过期时间
E-39 帖子ID 整数 1 ~ INT_MAX 自动递增的整数 帖子唯一标识符
E-40 帖子种类 布尔值 True/False True代表根帖子 False代表子帖子
E-41 帖子信息 文本 发布用户ID 所属教学班ID 附属父帖子ID 标题、内容

数据精度表

表8-3 数据精度表
编号 数据元素名 类型 精度要求 说明 示例
E-01 用户ID 字符串 最多10位字符 用户唯一标识符 学生为10位 教师为7位 0092031 3180100000
E-02 用户类型 数字 1, 2, 3 1代表学生 2代表教师 3代表管理员 1
E-03 用户信息 字符串 不定长 姓名、学院、 邮箱、手机等 他是老师
E-04 课程ID 字符串 最多8位字符 课程唯一标识符 21191730
E-05 课程信息 字符串 不定长 名称、所属院系、学分、课程简介、课程大纲、授课团队等 软件课好
E-06 教学班ID 字符串 最多8位字符 教学班唯一标识符 23505
E-07 教学班信息 字符串 不定长 对应的课程信息、学期、年份、 教学楼名称、教室号 曹西-503
E-08 作业ID 整数 1 ~ INT_MAX 自动递增的整数 作业唯一标识符 00000010
E-09 作业状态 整数 1, 2, 3 1代表已提交 2代表未提交 3代表已过期 1
E-10 作业成绩 小数 0.0 ~ 100.0 95.0
E-11 作业占比 整数 1 ~ 100 作业得分在平时 总成绩中的占比 60
E-12 作业信息 字符串 不定长 所属教学班信息、作业名称、 描述、创建开始过期时间 很难
E-13 作业类型 布尔值 True/False True代表个人作业 False代表小组作业 True
E-14 实验ID 整数 1 ~ INT_MAX 自动递增的整数 实验唯一标识符 00000023
E-15 实验状态 整数 1, 2, 3 1代表已提交 2代表未提交 3代表已过期 1
E-16 实验成绩 小数 0.0 ~ 100.0 96.5
E-17 实验占比 整数 1 ~ 100 实验得分在平时 总成绩中的占比 20
E-18 实验信息 字符串 不定长 所属教学班信息、实验作业名称、 描述、创建开始过期时间 很复杂
E-19 实验类型 布尔值 True/False True代表个人实验 False代表小组实验 True
E-20 题目ID 整数 1 ~ INT_MAX 自动递增的整数 题目唯一标识符 0000000065
E-21 题目得分 小数 0.0 ~ 100.0 2.5
E-22 题目类型 整数 1, 2, 3, 4 1代表判断题 2代表单选题 3代表多选题 4代表填空题 1
E-23 题目信息 字符串 不定长 题目所属考试信息、 题目内容、参考答案 A
E-24 测试ID 整数 1 ~ INT_MAX 自动递增的整数 考试唯一标识符 00000021
E-25 测试状态 整数 1, 2, 3 1代表已提交 2代表未提交 3代表已过期 1
E-26 测试成绩 小数 0.0 ~ 100.0 94.5
E-27 测试占比 整数 1 ~ 100 考试在总成绩中的占比 40
E-28 测试信息 字符串 不定长 考试所属教学班信息、考试名称、 考试创建开始结束持续时间、 退出全屏次数(作弊) 零分处理
E-29 通知ID 整数 1 ~ INT_MAX 自动递增的整数 通知唯一标识符 0000000084
E-30 通知类型 布尔值 True/False True代表普通通知 False代表教师通知 True
E-31 通知状态 布尔值 True/False True代表已读 False代表未读 True
E-32 通知信息 字符串 不定长 通知所属教学班信息、 创建时间、通知内容等 交作业!
E-33 资源ID 整数 1 ~ INT_MAX 自动递增的整数 资源唯一标识符 0000001206
E-34 资源大小 整数 1 ~ INT_MAX 以KB为单位 256
E-35 资源名称 字符串 不定长 会议纪要
E-36 资源种类 整数 1, 2, 3, 4, 5 1代表文档 2代表图像 3代表音频 4代表视频 5代表链接 1
E-37 资源权限 布尔值 True/False True代表可以下载 False代表仅在线浏览 True
E-38 资源信息 文本 不定长 上传用户ID 所属教学班ID 所属作业ID 所属实验ID 所属教学班章节号 上传、开始、过期时间 第一章
E-39 帖子ID 整数 1 ~ INT_MAX 自动递增的整数 帖子唯一标识符 00000041
E-40 帖子种类 布尔值 True/False True代表根帖子 False代表子帖子 True
E-41 帖子信息 文本 不定长 发布用户ID 所属教学班ID 附属父帖子ID 标题、内容 求教!

业务规则与业务算法

业务规则

表9-1 业务规则
标识符 规则定义 规则类型 静态/动态 来源
BR-01 游客仅能查看公开课程信息和留言板块 约束 静态 安全策略
BR-02 每个用户有其唯一的学工号 事实 静态 学校政策
BR-03 助教权限由教师授予,且不高于教师 约束 动态 教师
BR-04 用户无法找回密码时报告管理员进行密码重置 动作触发规则 动态 用户
BR-05 只有系统中有该用户信息该用户才可登录 约束 动态 用户
BR-06 管理员的操作都记录在网站日志中 动作触发规则 静态 安全策略
BR-07 超过10年的资料和信息由管理员手动清除 动作触发规则 静态 管理策略
BR-08 游客只能查看部分课程信息与留言板块 约束 静态 安全策略
BR-09 每个学生在每个课程中只能出现在一个教学班 事实 静态 学校政策
BR-10 每门课程结束时,管理员应该手动删除教学班 动作触发规则 动态 管理员
BR-11 学生在窗口交测验不得超出截止日期 约束 动态 学生
BR-12 教师在发布通知公告时必须先选择相应教学班 约束 动态 教师
BR-13 教师在布置、修改、删除、批改作业时,必须先选择相应的教学班 约束 动态 教师
BR-14 教师在发布、修改、删除帖子时,必须先选择相应的教学班 约束 动态 教师
BR-15 教师在发布、修改、删除、批改实验时,必须先选择相应的教学班 约束 动态 教师
BR-16 教师在发布、修改、删除、批改测试时,必须先选择相应的教学班 约束 动态 教师
BR-17 教师设定各项作业、实验或测试的成绩占比时,应当注意所有占比总和等于100% 约束 动态 教师
BR-18 所有用户所有的操作只要涉及到数据库的增删改查都需要记录到数据库日志中 动作出发规则 静态 安全策略
BR-19 所有用户上传的资源大小均不能超过100MB,如有特殊需求(如上传视频等),建议将资源通过网络链接形式分享 约束 动态 所有用户

业务算法

针对教师设定总成绩算法业务规则,两项成绩(考试成绩、平时成绩包括上课表现、作业实验成绩,满分均为 100 分)的权值分配之和为100,其中考试成绩占比需要大于等于50。

若某学生考试成绩为80分,平时成绩为90分。考试成绩占比60%,平时成绩占比40%。则该学生该课程的最终成绩 80 * 0.6 + 90 * 0.4 = 84。

你可能感兴趣的:(软件工程,软件需求,web开发,软件架构,软件框架,软件开发,软件测试,项目管理)