软件工程课程实践2

课程实践二题目(根据实践一选择的项目来完成实践二的任务)

题目一:请采用用况图描述需求,并对其中一个用况给出其执行规约。

题目二:给出面向对象分析得到的类图。

题目三:给出面向对象设计得到的类图,并简要陈述在问题域、人机交互、数据管理三个方面对面向对象分析得到的类图进行了哪些调整和完善。

题目1:请采用用况图描述需求,并对其中一个用况给出其执行规约。

‍1. 识别执行者
  • 学生
  • 管理员
2. 识别用况
  • 学生
    • 注册
    • 登录
    • 更新个人信息
    • 课程信息查询
    • 选课
    • 课程评价
  • 管理员
    • 注册
    • 登录
    • 修改课程信息
    • 增删课程
    • 课程信息查询
需求描述:

image-20220423150449566

针对登录用况给出执行规约如下:
用况名登录
用况描述学生(管理员)输入用户名(邮箱)和密码进行登录
系统返回登录的结果
执行者学生或者管理员
基本路径
(用户行为左
对齐,系统动作
向右缩进)
提交登录请求
展示登录界面
填写登录的信息(邮箱,密码等);
if 信息不符合填写的基本要求 then
要求用户重新输入;
else
等待用户确认登录;
end if;
确认登录;
获取用户名、密码;
根据用户名查询数据库;
if 无法查到用户名 then
返回用户不存在;
else
比较查到的密码与输入是否相符;
if 密码相符 then
返回登录成功;
else
返回密码错误;
end if
end if;
接收反馈信息,查看是否登录成功

题目二:给出面向对象分析得到的类图。

各个类的识别

用户

管理员

课程信息

课程列表.drawio

课程评价信息-第 2 页.drawio

整体的类图

软件实践2类图-第 1 页.drawio

题目三:给出面向对象设计得到的类图,并简要陈述在问题域、人机交互、数据管理三个方面对面向对象分析得到的类图进行了哪些调整和完善。

OOD设计说明

1. 问题域部分的设计

系统的目标形式设计为网站,后端的编程语言使用Java,前端使用html编写的,数据库采用mysql。考虑到编程语言的特性,存在Object基类可以复用,并且可以使用接口类实现多态,据此对OOA得到的类图进行了调整。‍

2. 人机交互部分的设计

人机交互部分主要是对网页界面的设计,主要包括注册界面,登录界面,选课界面,课程信息界面,修改课程信息,增删课程等界面。每个界面包含一个表单,表单主要包含的组件有label(提示相应input功能),input(填写相应信息),drop down box(下拉框,方便用户选择),button(点击以进行表单提交或取消等)。据此进行了OOD人机交互部分的设计。‍

3. 数据管理部分的设计

系统的数据库管理部分主要进行用户相关的数据和课程信息管理,包含创建新用户,删除用户,查询、修改用户信息,设定用户的权限,修改用户的权限,添加新的课程,删除旧的课程,维护课程信息。据此进行了数据管理部分的设计。

题目四:对复杂的交互逻辑和复杂的对象状态,给出必要的顺序图和状态图。

顺序图

下面针对登录用况给出了OOA部分的顺序图

4

在OOD部分对上面的顺序图进行了调整和补充:

软件4-第 2 页.drawio

‍状态图

针对用户类给出了状态图

软件4-第 3 页.drawio

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RockLis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值