一、实验目的
1、理解类的基本概念。
2、理解类与类之间的关系。
3、掌握从用户需求中抽象出类、属性和操作的方法。
4、掌握从用户需求中抽象出类与类之间的关系。
5、掌握使用ROSE软件构建类图的方法。
二、实验内容
1、ATM系统需求陈述
自动取款机(ATM)是银行子系统,可以为银行客户提供公共空间的金融交易,无需收银员,文员或银行柜员机。客户通过自己的银行卡使用银行ATM来对自己的账户进行操作,包括查询余额,存款,提款和转账。ATM技术人员负责对ATM系统进行维护和维修。银行职员负责ATM系统中的资金调度。
ATM系统的使用对象有用户和银行职员。
对客户而言主要有五个操作,操作的前提是插入用户的银行卡。
(1)取款业务:进入主界面后,客户点击“取款”按键进入取款业务界面,可选择界面上显示的取款金额或手动输入取款金额(规定必须是100的倍数),点击确定,银行验证取款金额的有效性,若无效,则提示重新输入取款金额,若有效,ATM吐出钞标,并显示打印凭条、返回主页、退卡等操作选项供客户选择。
(2)存款业务:进入主界面后,客户点击“存款”按键进入存款业务界面,可选择界面上显示的存款金额或手动输入存款金额(规定必须是100的倍数),然后用户将相应数量的现金放入存钞口,点击确定,ATM将现金存入银行卡账户,并显示打印凭条、返回主页、退卡等操作选项供客户选择。
(3)转账业务:进入主界面后,客户点击“转账”按键进入转账业务界面,系统提示输入转账账户和转账金额,点击确定,将跳转至信息确认界面,若显示的转账账户、转账金额错误,则点击返回进行修改,若信息准确无误,点击转账。待转账成功以后,页面显示打印凭条、返回主页、退卡等选项供客户选择。
(4)查询余额:进入主界面后,客户点击“查询余额”按键进入查询余额界面。屏幕显示该银行卡内余额信息,并给出返回主页,退卡等选项供用户选择。
(5)修改密码:进入主界面后,客户点击“修改密码”按键进入修改密码界面。系统提示输入旧密码,新密码,确认新密码,如果旧密码错误,或两次新密码输入不相同,则需返回修改密码界面重新输入。若密码修改正确,则给出返回主页,退卡等操作选项供用户选择。
银行职员的工作是在ATM出现现金不足或过多的情况时进行资金调度。
ATM技术人员的主要工作就是在ATM硬件出现故障时进行维修,以及定期对系统进行维护。
2、从ATM系统需求陈述中抽象出类
(1) 设计类
(2)界面类
3、从ATM系统需求陈述中抽象出类的属性
4、从ATM系统需求陈述中抽象出类的方法
5、从ATM系统需求陈述中抽象出类与类之间的关系
6、构建ATM系统类图。
三、实验环境
实验平台:Rational Rose,
操作系统:Window10 OS
四、实验过程描述
1、从ATM系统需求陈述中抽象出类
根据ATM系统需求,可抽象出如下设计类和界面类:
(1) 设计类
客户、ATM技术人员、银行职员、ATM机、银行、账户、凭条。
(2)界面类
登陆界面、业务选择界面、取款界面、存款界面、转账界面、查询余额界面、交易成功界面、修改密码界面、修改密码成功界面。
3、从ATM系统需求陈述中抽象出类的属性
根据ATM系统需求,可抽象出每个类的属性:
1)客户类属性
.卡号
2)ATM技术人员类属性
.工号
.姓名
.电话号码
……
16)修改密码成功界面类属性
4、从ATM系统需求陈述中抽象出类的方法
根据ATM系统需求,可抽象出每个类的方法:
1)客户类方法
.取款
.存款
……
2)ATM技术人员类方法
.维修
.维护
……
16)修改密码成功界面类方法
5、从ATM系统需求陈述中抽象出类与类之间的关系
根据ATM系统需求,可抽象出类与类之间的关系:
1)客户使用ATM机。
2)客户拥有账户
3)……
6、使用ROSE软件,构建ATM系统类图。
1)设计类的类图
根据前面分析的结果,我们可以构建如下的设计类图。
)界面类的类图
根据前面分析的结果,我们可以构建如下的界面类图。
五、结果分析
得到什么结果(数据)?有什么问题?分析原因。\
在对 ATM 系统进行类图绘制时,我们可以得到以下结果和数据:
1. 类的结构和关系:通过类图,我们可以清楚地看到 ATM 系统中的各个类以及它们之间的关系。我们可以看到有关用户、ATM机、银行账户、交易记录等类的定义和属性。
2. 类的行为和方法:类图还展示了每个类的方法和行为。我们可以看到用户类可能具有登录、查询余额、取款、存款等方法;ATM机类可能具有验证用户、处理交易、打印收据等方法;银行账户类可能具有计算余额、更新账户等方法。
3. 继承和关联关系:类图可以显示类之间的继承关系和关联关系。例如,用户类可以继承自身的基类,而ATM机类可以关联到银行账户类。
然而,在绘制 ATM 系统类图时,可能会遇到一些问题:
1. 不完整或不准确的需求:如果对 ATM 系统的需求不完整或不准确,可能导致类图中缺少必要的类或属性,或者存在错误的类或关系。
2. 缺乏详细设计:类图通常是在需求分析和详细设计之间的一个阶段。如果没有进行详细设计,可能会导致类图中的一些细节缺失或错误。
3. 缺乏一致性和规范性:如果多个人参与类图的绘制,可能会导致一致性和规范性问题。不同的人可能使用不同的符号、命名约定或规则,导致类图难以理解或解释。
4. 过度设计或不足设计:在绘制类图时,需要找到适当的平衡点。过度设计可能导致复杂性增加,而不足设计可能导致功能不完整或无法满足需求。
以上问题的原因可能是由于需求不明确、设计不完善、团队协作不充分等因素。为了解决这些问题,可以采取以下措施:
1. 明确和完善需求:查询大量资料,确保对 ATM 系统的需求清晰且准确。
2. 进行详细设计:在绘制类图之前,进行详细设计,包括对每个类的属性和方法进行仔细规划和定义。
3. 遵循统一的符号和命名约定:确保团队成员使用统一的符号和命名约定,以提高类图的一致性和可读性。
4. 进行团队协作和代码审查:团队成员之间进行协作,共同绘制类图,并进行代码审查,以确保类图的质量和准确性。
六、结论
绘制ATM系统类图是软件设计和开发过程中的重要一步,通过这个过程,我学到了许多有关软件设计和开发的经验和教训。我将总结我的心得体会并给出一些结论。
首先,绘制ATM系统类图需要进行需求分析和详细设计。在绘制类图之前,我们需要与业务方和用户充分沟通,确保对ATM系统的需求清晰且准确。只有明确了需求,才能正确地设计类和定义属性和方法。在我的经验中,需求不完整或不准确是导致类图错误的常见原因之一。因此,我们应该花时间仔细分析需求,确保没有遗漏或误解。
其次,绘制类图需要遵循统一的符号和命名约定。在团队协作中,不同的人可能使用不同的符号、命名约定或规则,导致类图难以理解或解释。为了解决这个问题,我们应该确保团队成员使用统一的符号和命名约定,以提高类图的一致性和可读性。在我的经验中,符号和命名约定的一致性是绘制类图的关键,它可以帮助我们更好地理解和解释类之间的关系和行为。
另外,绘制类图需要进行团队协作和代码审查。团队成员之间进行协作,共同绘制类图,并进行代码审查,可以提高类图的质量和准确性。在我的经验中,团队协作和代码审查是确保类图正确和完整的重要步骤。通过团队协作,我们可以汇集不同的观点和经验,从而提高类图的质量。通过代码审查,我们可以及时发现和纠正错误,确保类图的准确性。
最后,绘制类图需要找到适当的平衡点。过度设计可能导致复杂性增加,而不足设计可能导致功能不完整或无法满足需求。在我的经验中,绘制类图是一个动态的过程,需要不断地进行调整和优化。我们应该根据实际需求和项目约束,找到适当的平衡点,避免过度设计或不足设计。
综上所述,通过绘制ATM系统类图,我学到了许多有关软件设计和开发的经验和教训。绘制类图的过程需要进行需求分析、详细设计、符号和命名约定等步骤,并且需要解决需求不完整、缺乏详细设计、一致性和规范性问题、过度设计或不足设计等挑战。通过明确和完善需求,进行详细设计,遵循统一的符号和命名约定,以及团队协作和代码审查,我们可以提高类图的质量和准确性。绘制ATM系统类图是软件开发过程中的重要一步,它能够帮助我们更好地理解系统的结构和行为,从而提高软件开发的效率和质量。