面向对象分析与设计:Use Case Diagram 用况图

Use Case Diagram 用况图

实验一链接:

https://blog.csdn.net/miny_Chen/article/details/80084189

教学管理系统用况图:


两个主要用况:

1. Student Course Selection 学生选课

1.1 Brief Description(简要描述)

该用例用于描述学生进入课程管理系统后如何选修课程。

1.2 Flow of Events(事件流)

1.2.1Basic Flow (基本流程)

当学生希望进行选课时,这个用例就开始了。

1.2.1.1 系统要求先登录个人账户,然后点击选修课程功能版块。

1.2.1.2 学生选择想要选修的课程,系统确定是否有效,判断条件有三个,一是该课程 的开课时间在该学生的当前课表是否空闲;二是该课程的选修人数是否已满;三是如果学生选修的是非专业选修课,其一学期的课数不能超过四门。当同时符合这三个条件时,学生选课成功,此后将其选课信息记录到系统中。

1.2.1.3 学生选课完成,退出选课功能版块时,该用况结束。

1.2.2 Alternative Flows(可选流程)

1.2.2.1 学生确定所选课程前后,可随时查看相关的课程信息,其中包括课程内容和任课老师的信息,系统将返回所查看的课程信息。

1.3 Special Requirements(特殊要求)

没有。

1.4 Pre-Conditions(前置条件)

用户登陆成功。

1.5 Post-Conditions(后置条件)

如果用例成功,则学生的选课信息将保存到系统中,更新学生个人课表等。否则,系统状态不变。

1.6 Extension Points(拓展点)

没有。

 

2  Maintain Schedule(课表维护)

2.1 Brief Description(简要描述)

该用例用于描述学生选修课程的过程中教务员管理课程信息,其中学生允许添加或删除选修该学期允许的课程管理安排的选修课程。

2.2 Flow of Events(事件流)

2.2.1 Basic Flow(基本流程)

有学生进行选课或者修改所选课程时,这个用例就开始了。

2.2.1.1 创建各人课表:当课程管理员成功录入该学期的必修课程安排,以及教室管理员等安排好各个课程的上课时间、上课地点和任课老师(老师选择教授的课程)后,各个专业的学生的个人必修课课表就会生成,最后将数据更新到系统。

2.2.1.2 创建专业推荐课表:当课程管理员成功录入该学期的必修课程安排和各个专业学生的培养计划,以及教室管理员等安排好各个课程的上课时间、上课地点和任课老师(老师选择教授的课程)后,各个专业的学生的个人专业推荐课表就会生成,其中包括该学期学生的必修课程和专业选修课程,最后将数据更新到系统。

2.2.1.3 更新课表:当学生进行选课并成功选课后,随着选课信息的录入,学生的该学期的课表也会进行更新,把新选的课程加入到对应的时间段,最后将数据更新到系统。

2.2.1.4 删除课表:当学生选择删除课表时,学生该学期的课表进行修改,删除所有选修课程,仅保持当学期的必修课程,并且将数据更新到系统。

2.2.2  Alternative Flows(可选流程)

2.2.2.1 如果学生想要选择的课程所上的时间段与当前其课表安排冲突时,学生选课失败,课程表不更新。

2.2.2.2 如果学生想要选择的课程的人数已满,学生选课失败,课程表不更新。

2.2.2.3 如果学生想要选择的课程数目是否有限制,如果有且超额,则学生选课失败,课程表不更新。

2.3 Special Requirements(特殊要求)

没有。

2.4 Pre-Conditions(前置条件)

有学生成功进行了修改或删除学生课程的操作。

2.5 Post-Conditions(后置条件)

如果用例成功,则学生的选课信息将保存到系统中,学生该学期的课表将被更新并保存到系统中。否则,系统状态不变。

2.6 Extension Points(拓展点)

没有。

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是面向对象方法分析、设计、构造飞行棋游戏的过程: ## 1. 需求分析 ### 1.1 用例 ![Use Case Diagram](https://i.imgur.com/1TrvY11.png) ### 1.2 用例描述 1. 开始游戏 - 主玩家点击开始游戏按钮 - 系统显示游戏主界面 - 系统随机确定玩家先后顺序,并将棋子放在起点位置 2. 玩家掷骰子 - 玩家点击掷骰子按钮 - 系统随机生成1-6的数字,并将玩家棋子按照点数向前移动相应的步数 - 系统根据棋子当前位置的属性(如飞机、地雷等)触发相应的事件 - 玩家轮流掷骰子直到有一名玩家将所有棋子移到终点 3. 玩家移动棋子 - 玩家点击需要移动的棋子 - 系统高亮可移动的位置 - 玩家点击目标位置 - 系统将棋子移动到目标位置 4. 查看规则 - 玩家点击规则按钮 - 系统显示游戏规则 5. 退出游戏 - 玩家点击退出游戏按钮 - 系统提示是否确认退出 - 玩家确认后退出游戏 ## 2. 设计 ### 2.1 概念模型 游戏主要包括以下概念: - 棋盘(Board):由格子(Cell)组成的矩形区域。 - 棋子(ChessPiece):在棋盘上移动的游戏元素。 - 玩家(Player):参与游戏的人,持有多个棋子。 - 骰子(Dice):掷出点数来决定棋子移动步数的游戏元素。 - 游戏(Game):游戏的控制中心。 ### 2.2 系统顺序 ![System Sequence Diagram](https://i.imgur.com/6vntncW.png) ### 2.3 系统契约 #### 游戏(Game) ##### play() - 功能:开始游戏。 - 前置条件:游戏尚未开始。 - 后置条件:游戏已经开始。 #### 玩家(Player) ##### choosePiece() - 功能:选择一个棋子。 - 前置条件:当前玩家有可选的棋子。 - 后置条件:当前玩家已经选择了一个棋子。 ##### movePiece(cell: Cell) - 功能:移动已选中的棋子到指定的格子。 - 前置条件:当前玩家已经选择了一个棋

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值