【UML】软件需求说明书
目录
- 🦁 故事的开端
- 一. 🦁 引言
- 1.1编写目的
- 1.2背景
- 1.3定义
- 1.4参考资料
- 二. 🦁 任务概述
- 2.1目标
- 2.2用户的特点
- 2.3假定和约束
- 三. 🦁 需求规定
- 3.1 功能性需求
- 3.1.1系统用例图
- 3.1.2用户登录用例
- 3.1.3学员注册用例
- 3.1.4 学员修改个人信息
- 3.1.5学员修改密码
- 3.1.6学员查看培训班信息
- 3.1.7学员选课
- 3.1.8学员缴费
- 3.1.9学员查询成绩
- 3.1.10维护课程信息
- 3.1.11维护培训师信息
- 3.1.12维护网站新闻
- 3.1.13开设培训班
- 3.1.14打印听课证
- 3.1.15补办听课证
- 3.1.16查看成绩
- 3.1.17录入成绩
- 3.1.18提交成绩
- 3.1.19修改密码
- 3.1.20指定培训师
- 3.1.21确定开课时间
- 3.1.22发布培训信息
- 3.1.23发布新闻
- 3.1.24修改新闻
- 3.1.25编辑新闻
- 3.1.26发送登录信息
- 3.1.27删除课程
- 3.1.28开设课程
- 3.2非功能性需求
- 3.2.1时间特性要求
- 3.3输人输出要求
- 3.4数据管理能力要求
- 3.5故障处理要求
- 3.6其他专门要求
- 四. 🦁 运行环境规定
- 4.1设备
- 4.2支持软件
- 4.3接口
- 4.4控制
- 五. 🦁 总结
🦁 故事的开端
该系统用于协助完成蓝翔培训机构的教学管理工作,用户有学员、培训师、管理员。
系统首页:显示培训机构的基本信息、新闻、及最新发布的培训信息。学员、培训师、管理员的登录入口均在系统首页。
蓝翔培训机构专注于IT技术培训,可以开设IT相关课程的培训班。每年该机构在春季、夏季、秋季开办3期培训,每期培训开设多门课程的多个培训班。根据市场情况,一门课程每期可以开出多个培训班,也可能不开班。培训班的开设每学期由管理员决定,并为每个培训班指定一位培训师。在确定培训班的开课时间及培训师后,管理员可以发布培训信息,学员可以开始选课。学员在培训机构缴费后,管理员应确认学员的选课信息,并为学员打印听课证。若学员以其他方式缴费,或听课证遗失,可由管理员补办。每期培训开课后,管理员关闭当期培训选课。
任何人均可通过系统注册成为学员。注册后,学员可以修改个人信息及登录密码。只有注册成为学员,才可以选课。学员可以通过系统查询可以选课的所有培训班信息并选课。学员还可以查询其参加的培训课程的成绩。
培训师的信息由管理员维护,并将登录信息发送给培训师。培训师在登录后可以修改登录密码。培训师可以查看和录入其指导的培训班学员成绩。在培训课程结束后要录入该培训班所有学员的成绩,成绩提交后不可修改。学员成绩由理论成绩和实践成绩组成,分别占40%和60%。
管理员需要维护课程信息,即该培训机构开设的课程,以及可以教授该课程的培训师。管理员可以根据需要将其设置为不再开设。开设过培训班的课程不能删除,若某门课程从未开设过培训班则可以删除。管理员还需维护网站新闻,包括新闻的编辑、修改、发布。系统主页显示最近发布的10条新闻。
一. 🦁 引言
1.1编写目的
这份需求规格说明书是需求分析阶段的产物。在经过与培训师、管理员以及学员充分的沟通后,我们收集到了该系统所要实现的功能与用户的习惯,以此形成的文档基本需求的方向。该说明文档明确分析开发软件所应该具备的功能、性能等。同时也能为以后项目的进度与规划,组织软件的开发与测试提供一定的帮助,整个软件开发和系统验收的主要依据。
本说明书的预期读者为学员、培训师、管理员、项目需求分析人员以及开发人员。
1.2背景
- 开发软件名称:蓝翔培训机构教学管理系统
- 项目任务提出者:培训机构负责人
- 项目开发者:xxx xxx xxxx xxxx
- 用户:学员、培训师、管理员
- 实现该软件的计算机网络:Internet
- 项目与其他软件:系统关系
- 本项目采用C/S结构,客户端的程序是建立在windowXP系统及以上以数据库和VB为开发软件的应用程序。
1.3定义
需求:指人对客观事务需要的表现,体现为愿望、意向和兴趣,因而成为行动的一种直接原因。
软件需求(IEEE软件工程标准词汇表):
(1)用户解决问题或达到目标所需的条件或能力。
(2)系统或系统部件要满足合同、标准、规范或者其他正式规定文档所需具有条 件或能力。
(3)对(1)或(2)中的一个条件或一种能力的一种文档化表述。
用例:
定义 1 用例是对一个活动者使用一个系统的一项功能时进行交互过程中的一个文字描述序列。
定义 2 用例是系统、子系统或类和外部的参与者交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。
活动:表示某流程中的任务的执行,也可以表示某算法过程中语句的执行。
1.4参考资料
《软件需求工程》(第二版) 毋国庆,梁正平,袁梦霆,李勇华,编著
《面向对象程序分析与设计(UML)》(第2版·题库版)
二. 🦁 任务概述
2.1目标
开发意图
:本软件的开发主要为了让培训机构的管理员脱离纸质对教学培训信息进行管理,提高管理员的工作效 率,并且能减轻管理员在管理整个培训系统时的负担以及加强对数据的管理。
应用目标
:在本系统软件上,数据呈现的方式也会更加直观,有利于管理员对数据进行管理。管理员可以知道学员关于选课的全部信息,同时也能对培训班课程、教师信息、网站信息以及听课证进行管理。学员可以实现便捷的登录、注册以及选课。培训师可以对学生的成绩进行查看和录入。
作用范围
:适用于管理员管理培训信息、学员在本培训机构上进行选课以及培训师进行对学员成绩查看和录入。
开发背景
:应于教学培训机构的需求,便组织了项目开发者用于需求分析,并为以后实际软件开发奠定基础和经验。本软件由开发人员独立自主开发。
2.2用户的特点
本软件的主要用户的年龄区间在[10,35]。管理员、学员以及培训师为本软件的主体用户。学员年龄区间大多为[10,20],而管理员和培训师的年龄则集中在[20,35]。
培训师大多数为接受过高等教育的教师,有一定的培训教学能力,能够充当培训机构的授课主体,对授课之后的教学成果通过本软件进行录入。
管理员则是有丰富管理经验以及应变处理能力,对学员以及培训师的资料和信息进行适当的维护管理,并会每周定期对系统的各部分数据进行更新和处理,如开设培训班信息,听课证等。
学员作为本软件的核心客户,一般为在学习上有一定的额外课程需求。在每次培训班开启之后,学员们都可以通过本软件进行登陆、注册以及选课,完成初步的培训班教学。
2.3假定和约束
系统运行寿命的最小值:3年
开发期限:30天
经费限制:培训机构有关人员难以沟通
需求获取限制:难以及时与具体的培训师沟通
可靠性需求:需要支持高并发
开发人员:开发人员少,经验不足
三. 🦁 需求规定
3.1 功能性需求
3.1.1系统用例图
3.1.2用户登录用例
用例描述
用例名称:用户登录。
用例简述:该用例允许学员、培训师、管理员登录系统,以便进行后续操作。
参与者:学员、培训师、管理员。
前置条件:参与者已经打开系统首页,并有进入系统的需要。
后置条件:如果该用例成功结束,则什么信息也不会被修改。
主事件流如下:
(1)参与者点击“登录”,用例开始。
(2)系统显示“登录”界面。
(3)参与者输入账号和密码。
(4)系统判断账号和密码是否正确。如果数据库连接有问题,则执行异常事件流e。
(5)如果账号或密码不正确,系统提示错误,并返回执行(3);如果账号和密码都正确,则进入系统首页,用例结束。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.3学员注册用例
用例描述
用例名称:学员注册。
用例简述:该用例允许用户进行注册成为学员的操作。
参与者:所有用户。
前置条件:参与者已经打开系统首页,并有注册为学员的需要。
后置条件:如果该用例成功结束,则系统会生成新的学员账户。
主事件流如下:
(1)参与者点击“注册”,用例开始。
(2)系统显示“注册”界面。
(3)参与者输入密码和个人信息。
(4)系统判断密码与个人信息是否符合规范。
(5)如果不符合规范,系统提示错误信息,并返回执行(3);如果符合规范,则向数据库添加新学员信息,并返回账号。如果数据库连接有问题,则执行异常事件流e。
(6)显示注册成功和账号的提示,用例结束。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.4 学员修改个人信息
用例描述
用例名称:学员修改个人信息。
用例简述:该用例允许学员进行修改个人信息的操作。
参与者:学员。
前置条件:参与者已经成功登录系统,并且有修改个人信息的需要。
后置条件:如果该用例成功结束,则系统会修改参与者账号的个人信息。
主事件流如下:
(1)参与者点击“修改个人信息”,用例开始。
(2)系统显示“修改个人信息”界面。
(3)参与者输入新的个人信息。
(4)系统判断新的个人信息是否符合规范。
(5)如果不符合规范,系统提示错误信息,并返回执行(3);如果符合规范,则向数据库更新新的个人信息。如果数据库连接有问题,则执行异常事件流e。
(6)显示个人信息修改成功的提示,用例结束。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.5学员修改密码
用例描述
用例名称:学员修改密码。
用例简述:该用例允许学员进行修改密码的操作。
参与者:学员
前置条件:参与者已经成功登录系统,并且有修改密码的需要。
后置条件:如果该用例成功结束,则系统会修改参与者账号的密码。
主事件流如下:
(1)参与者点击“修改密码”,用例开始。
(2)系统显示“修改密码”界面。
(3)参与者输入原密码和两次新密码。
(4)系统判断原密码是否正确。如果数据库连接有问题,则执行异常事件流e。
(5)如果原密码错误,系统提示错误信息,并返回执行(3);如果原密码正确,系统判断两次输入的新密码是否一致并符合规范。
(6)如果不一致或不符合规范,系统提示错误信息,并返回执行(3);如果一致并符合规范,则向数据库更新新的密码。如果数据库连接有问题,则执行异常事件流e。
(7)显示密码修改成功的提示,用例结束。
备选事件流如下:
(3) 参与者放弃修改密码,选择“返回”。
(4) 系统显示首页。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.6学员查看培训班信息
用例描述
用例名称:学员查看培训班信息。
用例简述:该用例允许学员查看所以培训班信息。
参与者:学员。
前置条件:参与者已经成功登录系统,并且有查看培训班信息的需要。
后置条件:如果该用例成功结束,则什么信息也不会被修改。
主事件流如下:
(1)参与者点击“查看培训班信息”,用例开始。
(2)系统查询并列出所有培训班信息,供参与者查看。如果数据库连接有问题,则执行异常事件流e。
(3)如果选择退出操作,则本用例结束执行。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.7学员选课
用例描述
用例名称:学员选课。
用例简述:该用例允许学员选择培训班上课。
参与者:学员。
前置条件:参与者已经成功登录系统,并且有选课参加培训的需要。
后置条件:如果该用例成功结束,则系统会生成选课记录。
主事件流如下:
(1)参与者点击“选课”,用例开始。
(2)系统执行“学员查看培训班信息”用例。
(3)参与者选择培训班。
(4)系统向数据库添加选课记录。如果数据库连接有问题,则执行异常事件流e。
(5)显示选课成功的提示,用例结束。
备选事件流如下:
(3) 参与者放弃选课,选择“返回”。
(4) 系统显示首页。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图
3.1.8学员缴费
用例描述
用例名称:学员缴费。
用例简述:该用例允许学员对未缴费的选课记录进行缴费。
参与者:学员。
前置条件:参与者已经成功登录系统,有未缴费的选课记录,并且有缴费的需要。
后置条件:如果该用例成功结束,则系统会生成缴费记录。
主事件流如下:
(1)参与者点击“缴费”,用例开始。
(2)系统查询并列出参与者所有未缴费的选课记录,供参与者查看。如果数据库连接有问题,则执行异常事件流e。
(3)参与者选择缴费课程。
(4)系统向数据库添加缴费记录并更新选课记录缴费状态。如果数据库连接有问题,则执行异常事件流e。
(5)显示缴费成功的提示,用例结束。
备选事件流如下:
(3) 参与者放弃缴费,选择“返回”。
(4) 系统显示首页。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图
3.1.9学员查询成绩
用例描述
用例名称:学员查询成绩。
用例简述:该用例允许学员查询其参加的培训课程的成绩。
参与者:学员。
前置条件:参与者已经成功登录系统,有参加的培训课程,并且有查看成绩的需要。
后置条件:如果该用例成功结束,则什么信息也不会被修改。
主事件流如下:
(1)参与者点击“查询成绩”,用例开始。
(2)系统查询并列出参与者所有参加培训课程的成绩,供参与者查看。如果数据库连接有问题,则执行异常事件流e。
(3)如果选择退出操作,则本用例结束执行。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.10维护课程信息
用例描述
用例名称:维护课程信息。
用例简述:该用例允许管理员对课程信息进行管理。
参与者:管理员。
前置条件:管理员已经成功登录系统,有对课程信息管理的需要。
后置条件:如果该用例成功结束,则课程信息则会根据管理员的操作而改变 。
主事件流如下:
(1)参与者点击“维护课程信息”,用例开始。
(2)系统将列出所有课程信息,并有开设课程和删除课程的选项,管理员可以根据自己的需求进行对应的操作。如果数据库连接有问题,则执行异常事件流e。
(3)拓展点 1 :若选择开设课程操作,则执行“开设课程”用例。
(4)拓展点 2 :若选择删除课程操作,则执行“删除课程”用例。
(5)如果选择退出操作,则本用例结束执行。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.11维护培训师信息
用例描述
用例名称:维护培训师信息。
用例简述:该用例允许管理员对课程信息进行管理。
参与者:管理员。
前置条件:管理员已经成功登录系统,有对培训师信息管理的需要。
后置条件:如果该用例成功结束,则培训师信息则会根据管理员的操作而改变 。
主事件流如下:
(1)参与者点击“维护培训师信息”,用例开始。
(2)系统将列出所有培训师信息和发送登录信息的选项,管理员可以根据自己的需求进行对应的操作。如果数据库连接有问题,则执行异常事件流e。
(3)拓展点 1 :若选择开设课程操作,则执行“发送登录信息”用例。
(4)如果选择退出操作,则本用例结束执行。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.12维护网站新闻
用例描述
用例名称:维护网站新闻。
用例简述:该用例允许管理员对网站新闻进行维护和管理。
参与者:管理员。
前置条件:管理员已经成功登录系统,有对维护网站新闻的需要。
后置条件:如果该用例成功结束,则网站新闻则会根据管理员的操作而改变 。
主事件流如下:
(1)参与者点击“维护网站新闻”,用例开始。
(2)系统将列出所有网站新闻,并有编辑新闻、修改新闻以及发布新闻的选项,管理员可以根据自己的需求进行对应的操作。如果数据库连接有问题,则执行异常事件流e。
(3)拓展点 1 :若选择编辑新闻操作,则执行“编辑新闻”用例。
(4)拓展点 2 :若选择修改新闻操作,则执行“修改新闻”用例。
(5)拓展点 3 :若选择发布新闻操作,则执行“发布新闻”用例。
(6)如果选择退出操作,则本用例结束执行。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.13开设培训班
用例描述
用例名称:开设培训班。
用例简述:该用例允许管理员对培训班信息进行维护和管理。
参与者:管理员。
前置条件:管理员已经成功登录系统,有对开设培训班的需要。
后置条件:如果该用例成功结束,则网站新闻则会根据管理员的操作而改变 。
主事件流如下:
(1)参与者点击“开设培训班”,用例开始。
(2)系统将列出所有的培训班,并有指定培训师、确定开课时间以及发布培训信息的选项,管理员可以根据自己的需求进行对应的操作。如果数据库连接有问题,则执行异常事件流e。
(3)拓展点 1 :若选择指定培训师操作,则执行“指定培训师”用例。
(4)拓展点 2 :若选择确定开课时间操作,则执行“确定开课时间”用例。
(5)拓展点 3 :若选择发布培训信息操作,则执行“发布培训信息”用例。
(6)如果选择退出操作,则本用例结束执行。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.14打印听课证
用例描述
用例名称:打印听课证。
用例简述:该用例允许管理员进行打印听课证的。
参与者:管理员。
前置条件:管理员已经成功登录系统,有对打印听课证的需要。
后置条件:如果该用例成功结束,则指定数量的听课证会被打印出来。
主事件流如下:
(1)参与者点击“打印听课证”,用例开始。
(2)系统将列出所有未办理听课证的学员,并有打印听课证的选项,管理员可以根据自己的需求进行对应的操作。如果数据库连接有问题,则执行异常事件流e1。
(3)执行打印听课证操作。若如打印失败,则执行异常事件流e2。
(4)如果选择退出操作,则本用例结束执行。
异常事件流e1如下:
e.1.1:提示参与者数据库连接不上。
e.1.2:系统自动关闭,用例结束。
异常事件流e2如下:
e.2.1:提示打印设备连接不上。
e.2.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.15补办听课证
用例描述
用例名称:补办听课证。
用例简述:该用例允许管理员进行补办听课证的。
参与者:管理员。
前置条件:管理员已经成功登录系统,有对补办听课证的需要。
后置条件:如果该用例成功结束,则指定数量的听课证会被打印出来。
主事件流如下:
(1)参与者点击“打印听课证”,用例开始。
(2)系统将列出所有需要补办听课证的学员,并有打印听课证的选项,管理员可以根据自己的需求进行对应的操作。如果数据库连接有问题,则执行异常事件流e1。
(3)执行打印听课证操作。若如打印失败,则执行异常事件流e2。
(4)如果选择退出操作,则本用例结束执行。
异常事件流e1如下:
e.1.1:提示参与者数据库连接不上。
e.1.2:系统自动关闭,用例结束。
异常事件流e2如下:
e.2.1:提示打印设备连接不上。
e.2.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.16查看成绩
用例描述
用例名称:培训师查询成绩。
用例简述:该用例允许培训师查询其辅导的培训班学员的成绩。
参与者:培训师
前置条件:参与者已经成功登录系统,有培训的班级,并且有查看成绩的需要。
后置条件:如果该用例成功结束,则什么信息也不会被修改。
主事件流如下:
(1)参与者点击“查询成绩”,用例开始。
(2)系统查询并列出参与者所有参加培训课程的成绩,供参与者查看。如果数据库连接有问题,则执行异常事件流e。
(3)如果选择退出操作,则本用例结束执行。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.17录入成绩
用例描述
用例名称:录入成绩
用例简述:该用例允许用户进行录入成绩的操作
参与者:用户(培训师)
前置条件:参与者已经成功登录系统,并且有录入成绩的需要。
后置条件:如果该用例成功结束,则系统会录入该学生的成绩。
主事件流如下:
(1)参与者点击“录入成绩”,用例开始;
(2)系统显示“录入成绩”界面;
(3)参与者输入学生的理论成绩和实践成绩;
(4)系统根据理论成绩40%,实践成绩60%的占比录入系统。如果数据库连 接有问题,则执行异常事件流e2。
(5)若符合,则向数据库更新学生成绩,否则系统提示错误信息,并返回(3),如果数据库连接有问题,则执行异常事件流e。
(6)显示成绩录入成功的提示,用例结束。
备选事件流1:
(3) 用户放弃录入成绩选择“返回”;
(4) 系统显示系统主页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.18提交成绩
用例描述
用例名称:提交成绩
用例简述:该用例允许用户进行提交录入的成绩的操作
参与者:用户(培训师)
前置条件:参与者已经成功登录系统,并且有提交成绩的需要。
后置条件:如果该用例成功结束,则系统会提交成绩到系统,届时学员可以查看。
主事件流如下:
(1)参与者点击“提交成绩”,用例开始;
(2)系统显示“提交成绩”界面;
(3)参与者确认录入的成绩无误后,点击提交按钮;
(4)系统提交,同步到数据库。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(2)。
(6)若符合,则向数据库更新学员成绩,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示成绩提交成功的提示,用例结束。
备选事件流1:
(3) 用户放弃提交成绩选择“返回”;
(4) 系统显示系统编辑学员成绩页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.19修改密码
用例描述
用例名称:修改密码。
用例简述:该用例允许学员进行修改密码的操作。
参与者:培训师
前置条件:参与者已经成功登录系统,并且有修改密码的需要。
后置条件:如果该用例成功结束,则系统会修改参与者账号的密码。
主事件流如下:
(1)参与者点击“修改密码”,用例开始。
(2)系统显示“修改密码”界面。
(3)参与者输入原密码和两次新密码。
(4)系统判断原密码是否正确。如果数据库连接有问题,则执行异常事件流e。
(5)如果原密码错误,系统提示错误信息,并返回执行(3);如果原密码正确,系统判断两次输入的新密码是否一致并符合规范。
(6)如果不一致或不符合规范,系统提示错误信息,并返回执行(3);如果一致并符合规范,则向数据库更新新的密码。如果数据库连接有问题,则执行异常事件流e。
(7)显示密码修改成功的提示,用例结束。
备选事件流如下:
(3) 参与者放弃修改密码,选择“返回”。
(4) 系统显示首页。
异常事件流e如下:
e.1:提示参与者数据库连接不上。
e.2:系统自动关闭,用例结束。
活动图(不带泳道)
3.1.20指定培训师
用例描述
用例名称:指定培训师
用例简述:该用例允许用户给学院指定培训老师的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,并且有指定培训师的需要。
后置条件:如果该用例成功结束,则系统会为学员指定好培训师。
主事件流如下:
(1)参与者点击“指定培训师”,用例开始;
(2)系统显示“培训师”列表界面;
(3)参与者根据培训班的特点指定某一位培训师;
(4)系统判断该培训师是否空闲。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)如果正确,则赋予该培训师管理这个班级的权限,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示指定培训师成功的提示,用例结束。
备选事件流1:
(3) 用户放弃指定培训师选择“返回”;
(4) 系统显示系统登陆页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.21确定开课时间
用例描述
用例名称:确定开课时间
用例简述:该用例允许用户进行确定开课时间的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,已经确定好培训班,并且有确定开课时间的需要。
后置条件:如果该用例成功结束,则系统会确定好开课时间。
主事件流如下:
(1)参与者点击“设置开课时间”,用例开始;
(2)系统显示“设置开课时间”界面;
(3)参与者输入开课时间(年月日);
(4)系统判断输入日期是否规范。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)如果正确,则向数据库提交开课时间,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示开课时间设置成功的提示,用例结束。
备选事件流1:
(3)用户放弃设置开课时间选择“返回”;
(4)系统显示系统登陆页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.22发布培训信息
用例描述
用例名称:发布培训信息
用例简述:该用例允许用户进行发布培训信息的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,确定好培训班和开课时间,并且有发布培训消息的需要。
后置条件:如果该用例成功结束,则系统会发布培训信息。
主事件流如下:
(1)参与者点击“发布培训信息”,用例开始;
(2)系统显示“发布培训信息”界面;
(3)参与者输入培训信息内容
(4)系统判断培训内容是否符合标准。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)若符合,则向数据库提交培训信息,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示培训信息发布成功的提示,用例结束。
备选事件流1:
(3) 用户放弃发布选择“返回”;
(4) 系统显示系统管理员页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.23发布新闻
用例描述
用例名称:发布新闻
用例简述:该用例允许用户进行发布新闻的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,编辑好新闻,并且确定无误后。
后置条件:如果该用例成功结束,则系统会发布新闻。
主事件流如下:
(1)参与者点击“发布新闻”,用例开始;
(2)系统显示“发布新闻”界面;
(3)参与者审核新闻内容,如果错误,则要求返回执行(3)。
(4)系统判断新闻内容是否符合标准。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)若符合,则向数据库提交新闻内容,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示新闻内容发布成功的提示,用例结束。
备选事件流1:
(3) 用户放弃发布选择“返回”;
(4) 系统显示系统管理员页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.24修改新闻
用例描述
用例名称:修改新闻
用例简述:该用例允许用户进行修改新闻的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,并且有修改新闻内容的的需要
后置条件:如果该用例成功结束,则系统会修改新闻内容。
主事件流如下:
(1)参与者点击“修改新闻”,用例开始;
(2)系统显示“修改新闻”界面;
(3)参与者输入新的新闻内容
(4)系统判断新的新闻内容是否符合标准。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)若符合,则向数据库提交新的新闻内容,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示新闻修改成功的提示,用例结束。
备选事件流1:
(3) 用户放弃发布选择“返回”;
(4) 系统显示系统管理员页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.25编辑新闻
用例描述
用例名称:编辑新闻
用例简述:该用例允许用户进行编辑新闻的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,并且有编辑新闻的需要。
后置条件:如果该用例成功结束,则系统会保存新闻内容。
主事件流如下:
(1)参与者点击“编辑新闻”,用例开始;
(2)系统显示“编辑新闻”界面;
(3)参与者输入新闻内容
(4)系统判断新闻内容是否符合标准。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)若符合,则向数据库提交培训信息,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示新闻编辑成功的提示,用例结束。
备选事件流1:
(3) 用户放弃发布选择“返回”;
(4) 系统显示系统管理员页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.26发送登录信息
用例描述
用例名称:发送登录信息
用例简述:该用例允许用户进行发送登录信息的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,确定培训师的信息,并且有发送登录消息的需要。
后置条件:如果该用例成功结束,则系统会发送登录信息。
主事件流如下:
(1)参与者点击“发送登录信息”,用例开始;
(2)系统显示“发送登录信息”界面;
(3)系统自动生成登录信息;
(4)系统判断登录信息是否符合标准。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)若符合,则向培训师发送登录信息,否则系统提示错误信息,并返回(4),如果发送有问题,则执行异常事件流e。
(7)显示培训信息发布成功的提示,用例结束。
备选事件流1:
(3) 用户放弃发布选择“返回”;
(4) 系统显示系统管理员页面。
异常事件流e:
e1.提示参与者系统发送失败。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.27删除课程
用例描述
用例名称:删除课程
用例简述:该用例允许用户进行删除课程的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,并且有删除课程的需要。
后置条件:如果该用例成功结束,则系统会更新课程信息。
主事件流如下:
(1)参与者点击“删除课程”,用例开始;
(2)系统显示“删除课程”界面;
(3)参与者确定需要删除的课程内容
(4)系统判断删除课程内容是否符合标准。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)若符合,则向数据库提交删除课程信息,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示删除课程成功的提示,用例结束。
备选事件流1:
(3) 用户放弃发布选择“返回”;
(4) 系统显示系统管理员页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.1.28开设课程
用例描述
用例名称:开设课程
用例简述:该用例允许用户进行开设课程的操作
参与者:用户(管理员)
前置条件:参与者已经成功登录系统,并且有开设课程的需要。
后置条件:如果该用例成功结束,则系统会更新课程信息。
主事件流如下:
(1)参与者点击“开设课程”,用例开始;
(2)系统显示“开设课程”界面;
(3)参与者输入课程信息
(4)系统判断课程信息是否符合标准。如果数据库连接有问题,则执行异常事件流e2。
(5)如果错误,则要求返回执行(3)。
(6)若符合,则向数据库提交课程信息,否则系统提示错误信息,并返回(4),如果数据库连接有问题,则执行异常事件流e。
(7)显示开设课程成功的提示,用例结束。
备选事件流1:
(3) 用户放弃发布选择“返回”;
(4) 系统显示系统管理员页面。
异常事件流e:
e1.提示参与者数据库连接不上。
e2.系统自动关闭,用例结束。
活动图(不带泳道)
3.2非功能性需求
a.软件的输入精度:小数点后保留一位数字,但不限制输入特殊字符
b.输出数据的精度:小数点后保留一位有效数字
c.传输过程中的精度:小数点后保留一位有效数字
3.2.1时间特性要求
a.响应时间;1s
b.更新处理时间;0.5s
c.数据的转换和传送时间;0.5s
d.解题时间;1s
3.2.3灵活性
a.操作方式上的变化;可以进行键盘方式进行操作,也可以进行触屏方式进行操作。
b.运行环境的变化;适用于window8以及以上windows系统、linux系统等。
c.同其他软件的接口的变化;本软件不需要特定的硬件或者接口进行支撑
d.精度和有效时限的变化;可以根据客户的需求进行对应的精度和有效时限的变化。
e.计划的变化或改进:根据用户的需求不断对软件进行远程升级和更新。
3.3输人输出要求
A.输入
1.系统登录:学员、培训师以及管理员的账号和密码,要求和数据库中的存储数据一致。如下:
(1)数据名称:注册账号输入数据
(2)实际含义:用于注册,表示即将要注册的账号
(3)数据类型:String
(4)精度:无
(5)数据格式:阿拉伯数字以及26英文字母,不能包含特殊符号
(6)数据范围:1-6
(1)数据名称:注册密码输入数据
(2)实际含义:用于注册,表示即将要注册的账号的密码
(3)数据类型:String
(4)精度:无
(5)数据格式:阿拉伯数字以及26英文字母,不能包含特殊符号
(6)数据范围:8-16
2.学员进入系统,输入学员的账号进行查询成绩,输入的查询信息如下:
(1)数据名称:查询成绩输入数据
(2)实际含义:用于学员查询成绩。一般为学员的账号。
(3)数据类型:String
(4)精度:无
(5)数据格式:阿拉伯数字以及26英文字母,不能包含特殊符号
(6)数据范围:1-6
3.管理员输入课程信息,包括课程的名称以及内容。
(1)数据名称:课程名称以及内容
(2)实际含义:用于开设课程。
(3)数据类型:String
(4)精度:无
(5)数据格式:为任意字符
(6)数据范围:0-2048
3.系统用户的注册和添加:用户账号,密码等,由一定的字符限制
B.输出
1.对应于系统输出要查询的结果
2.用户输入信息不合法是会有信息框的提示
3.部分excel表以及结账报表的显示
3.4数据管理能力要求
Name | number | size | increase |
---|---|---|---|
账号信息 | 150 | 16kb | 200 |
培训班信息 | 50 | 32kb | 60 |
培训师信息 | 75 | 16kb | 50 |
学员成绩信息 | 1200 | 64kb | 2000 |
新闻信息 | 30 | 8kb | 40 |
3.5故障处理要求
软件故障:软件可能出现兼容性的问题,可以及时与开发端联系。如多人同时访问导致服务器过载,可以及时联系开发人员进行维护。
软件使用问题:软件如使用不当导致客户端设置异常,可以尝试点击软件的重置按钮。除此之外,还可以联系我们开发人员进行合适的处理
3.6其他专门要求
可维护性:在系统出现故障开始,需要数小时内进行系统的重新工作。
可靠性:系统需要可以负载同时上百人的服务器访问。
运行环境可换性:客户端除了在windows运行,还应该方便客户使用手机进行操作。
四. 🦁 运行环境规定
4.1设备
a.处理器:Intel Xeon E3-1100及以上,内存:16GB及以上。
b.外存:SATA硬盘 7200r/m 4TB * 2 。
c.网卡:Intel X540-2T及以上。
4.2支持软件
操作系统:Linux CentOS7。
数据库:MySQL8。
服务器:Tomcat9。
编译:Java JDK8。
4.3接口
数据通信协议:HTTP/HTTPS,TCP/IP。
4.4控制
运行
命令:java -jar xxx.jar
来源:bash
停止运行
命令
1.获得PID:ps aux|grep xxx.jar
2.停止运行:kill (1中获得的PID) PID
来源:bash
五. 🦁 总结
该实验是对软件需求分析这一门课一学期下来的一个总结,融合了每个组员的努力,希望大家喜欢。
相关文章:

【UML】软件需求说明书
目录🦁 故事的开端一. 🦁 引言1.1编写目的1.2背景1.3定义1.4参考资料二. 🦁 任务概述2.1目标2.2用户的特点2.3假定和约束三. 🦁 需求规定3.1 功能性需求3.1.1系统用例图3.1.2用户登录用例3.1.3学员注册用例3.1.4 学员修改个人信息…...
面试官:html里面哪个元素可以让文字换行展示
在HTML中,可以使用 <br> 元素来强制换行,也可以使用CSS的 word-break 或 white-space 属性来实现自动换行。以下是这些方法的具体说明: 1.使用 <br> 元素 <br> 元素可以在文本中插入一个换行符,使文本从该位置…...

XGBoost和LightGBM时间序列预测对比
XGBoost和LightGBM都是目前非常流行的基于决策树的机器学习模型,它们都有着高效的性能表现,但是在某些情况下,它们也有着不同的特点。 XGBoost和LightGBM简单对比 训练速度 LightGBM相较于xgboost在训练速度方面有明显的优势。这是因为Ligh…...

JVM高频面试题
1、项目中什么情况下会内存溢出,怎么解决? (1)误用固定大小线程池导致内存溢出 Excutors.newFixedThreadPool内最大线程数是21亿(2) 误用带缓冲线程池导致内存溢出最大线程数是21亿(3)一次查询太多的数据,导致内存占用…...

Windows环境下实现设计模式——状态模式(JAVA版)
我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows环境下如何编程实现状态模式(设计模式)。不知道大家有没有这样的感觉,看了一大堆编程和设计模式的书,却还是很难理解设计模式,无…...
【总结】多个条件排序(pii/struct/bool)
目录 pii struct bool pii 现在小龙同学要吃掉它们,已知他有n颗苹果,并且打算每天吃一个。 但是古人云,早上金苹果,晚上毒苹果。由此可见,早上吃苹果和晚上吃苹果的效果是不一样的。 已知小龙同学在第 i 天早上吃苹果能…...

基于stm32mp157 linux开发板ARM裸机开发教程Cortex-A7 开发环境搭建(连载中)
前言:目前针对ARM Cortex-A7裸机开发文档及视频进行了二次升级持续更新中,使其内容更加丰富,讲解更加细致,全文所使用的开发平台均为华清远见FS-MP1A开发板(STM32MP157开发板)针对对FS-MP1A开发板ÿ…...

最适合游戏开发的语言是什么?
建议初学者学习主流的开发技术 主流开发技术有大量成熟的教程、很多可以交流的学习者、及时的学习反馈等;技术的内里基本都是相同的,学习主流技术的经验、知识可以更好更快地疏通学习新知识和技术。 因此,对C#或者C二选一进行学习较好。 Un…...

C语言刷题(7)(字符串旋转问题)——“C”
各位CSDN的uu们你们好呀,今天,小雅兰的内容依旧是复习之前的知识点,那么,就是做一道小小的题目啦,下面,让我们进入C语言的世界吧 实现一个函数,可以左旋字符串中的k个字符。 例如: A…...

有趣且重要的JS知识合集(18)浏览器实现前端录音功能
1、主题描述 兼容多个浏览器下的前端录音功能,实现六大录音功能: 1、开始录音 2、暂停录音 3、继续录音 4、结束录音 5、播放录音 6、上传录音 2、示例功能 初始状态: 开始录音: 结束录音: 录音流程 …...

面试官:聊聊你知道的跨域解决方案
跨域是开发中经常会遇到的一个场景,也是面试中经常会讨论的一个问题。掌握常见的跨域解决方案及其背后的原理,不仅可以提高我们的开发效率,还能在面试中表现的更加游刃有余。 因此今天就来和大家从前端的角度来聊聊解决跨域常见的几种方式。…...

SpringCloud五大核心组件
Consul 等,提供了搭建分布式系统及微服务常用的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性token、全局锁、选主、分布式会话和集群状态等,满足了构建微服务所需的所有解决方案。 服务发现——Netflix Eureka …...
Verilog HDL语言入门(二)
强烈建议用同步设计2.在设计时总是记住时序问题3.在一个设计开始就要考虑到地电平或高电平复位、同步或异步复位、上升沿或下降沿触发等问题,在所有模块中都要遵守它4.在不同的情况下用if和case,最好少用if的多层嵌套(1层或2层比较合适&#…...

Simpleperf详细使用
一、Simpleperf介绍 Simpleperf是一个强大的命令行工具,它包含在NDK中,可以帮助我们分析应用的CPU性能。Simpleperf可以帮助我们找到应用的热点,而热点往往与性能问题相关,这样我们就可以分析修复热点源。 如果您更喜欢使用命令…...

【算法基础】二分图(染色法 匈牙利算法)
一、二分图 1. 染色法 一个图是二分图,当且仅当,图中不含奇数环。在判别一个图是否为二分图⑩,其实相当于染色问题,每条边的两个点必须是不同的颜色,一共有两种颜色,如果染色过程中出现矛盾,则说明不是二分图。 for i = 1 to n:if i 未染色DFS(i, 1); //将i号点染色未…...
Caputo 分数阶微分方程-慢扩散方程初边值问题基于L1 逼近的空间二阶方法及其Matlab程序实现
2.3.3 Caputo 分数阶一维问题基于 L1 逼近的空间二阶方法 考虑如下时间分数阶慢扩散方程初边值问题 { 0 C D t α u ( x , t ) = u...
I.MX6ULL_Linux_驱动篇(29) GPIO驱动
Linux 下的任何外设驱动,最终都是要配置相应的硬件寄存器。所以本篇的 LED 灯驱动最终也是对 I.MX6ULL 的 IO 口进行配置,与裸机实验不同的是,在 Linux 下编写驱动要符合 Linux 的驱动框架。I.MX6U-ALPHA 开发板上的 LED 连接到 I.MX6ULL 的 …...

jupyter的安装和使用
目录 ❤ Jupyter Notebook是什么? notebook jupyter 简介 notebook jupyter 组成 网页应用 文档 主要特点 ❤ jupyter notebook的安装 notebook jupyter 安装有两种途径 1.通过Anaconda进行安装 2.通过pip进行安装 启动jupyter notebook ❤ jupyter …...

Springboot新手开发 Cloud篇
前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:后端专栏 📧如果文章知识点有错误的地方,…...

Linux:函数指针做函数参数
#include <stdio.h> #include <stdlib.h> //创建带有函数指针做参数的函数框架api //调用者要先实现回调函数 //调用者再去调用函数框架 //所谓的回调是指 调用者去调用一个带有函数指针做参数的函数框架,函数框架反过来要调用调用者提供的回调函数 …...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...