实现视图模型建模
实现视图模型建模
一 实验目的
l 理解顺序图、协作图、活动图、状态机图的概念及其在系统分析设计中的作用;
l 了解和掌握软件工程中用例逻辑时序的分析方法;
l 掌握两种交互图(顺序图和协作图)的差别;
l 掌握描述一个操作执行过程中所完成工作(动作)的方法;
l 掌握描述对象内部工作的具体步骤;
l 掌握使用Rational Rose 依据用例绘制创建顺序图、协作图、活动图、状态图的方法;
二 实验环境及实验准备
l 所需硬件环境为微机;
l 所需软件环境为Rational Rose、Miscrosoft Word等;
l 熟悉Rational Rose下交互模型和状态模型建模的方法和步骤;
l 完成系统用例模型建模;
三 实验内容
(1)分析系统用例流程中对象间的交互
会员管理系统”包括“ 会员信息管理系统”“ 会员关系管理系统”、“ 会员积分管理系统”等。现在对“ 会员信息管理系统用例” 进行详细分析介绍,分析其中的业务流程、涉及的对象和角色、对象之间发生的交互和交互中传递的消息,最后完成该顺序图绘制。
[用例流程描述]会员信息管理子系统用例的业务流程可如下描述:
1.增加会员:
用户通过登录窗口类输入用户名和密码,登录系统。
系统验证用户的登录信息,验证通过后引导至会员信息管理窗口类。
用户在会员信息管理窗口类中选择“增加会员”功能,系统会引导至增加会员界面。
用户在增加会员界面中输入会员的信息,如姓名、性别、年龄、联系方式等。
用户点击“增加”按钮,系统会将新会员的信息保存到数据库中。
系统会生成会员的唯一标识符(如会员ID),并将其与会员信息关联。
系统会向用户显示成功消息,告知用户已经成功增加会员。
2.删除会员:
用户在会员信息管理窗口类中选择“删除会员”功能,系统会引导至删除会员界面。
用户在删除会员界面中选择需要删除的会员,并确认删除操作。
系统会从数据库中删除选定的会员信息,并向用户显示成功消息。
3.修改会员信息:
用户在会员信息管理窗口类中选择“修改会员信息”功能,系统会引导至修改会员信息界面。
用户在修改会员信息界面中选择需要修改的会员,并在界面上修改相应的信息。
用户点击“保存”按钮,系统会将修改后的会员信息更新到数据库中。
系统会向用户显示成功消息,告知用户已经成功修改会员信息。
4.查询会员信息:
用户在会员信息管理窗口类中选择“查询会员信息”功能,系统会引导至查询会员信息界面。
用户在查询会员信息界面中输入查询条件,如姓名、性别、年龄等。
系统会在数据库中查询符合条件的会员信息,并将结果展示在界面上。
用户可以在界面上查看每个会员的详细信息,如姓名、性别、年龄、联系方式等。
如果需要导出查询结果,用户可以选择导出功能,系统会将结果导出为CSV或其他格式的文件。
[流程涉及的对象]根据对会员信息管理流程的描述可以找到该用例所涵盖的对象,从事件流程中发现和筛选出来的各类对象有:
实体类对象:
会员(Member)商铺店员(ShopClerk)总管理员(Administrator)账户信息(AccountInformation) 操作流程类(Operation Process)
边界、控制类对象:
登录窗口类(LoginWindow)主窗口类(MainWindow)
会员信息管理窗口类(MemberInfoWindow)账户信息管理窗(AccountInfoWindow)
数据库类 系统类
[对象交互分析]以上我们对会员信息管理子系统用例的流程有了一个清晰的了解,对增加会员顺序图中涉及的对象也明确了,现在来分析这些对象之间的交互以及这些交互涉及的对象和传递的消息。
(1)交互 1:登录
交互编号
|
1 |
交互名称
|
登录 |
功能描述
|
用户通过登录窗口类输入用户名和密码,与系统进行交互,验证用户身份。 |
||
涉及的对象
|
用户、登录窗口类、系统 |
||
消息的类型
|
输入、处理、返回结果。 |
||
传递的消息
|
用户名和密码。 |
||
返回的消息
|
验证结果(成功/失败)。 |
||
销毁的对象
|
|
(2)交互 2: 选择会员信息管理功能
交互编号
|
2 |
交互名称
|
选择会员信息管理功能 |
功能描述
|
用户在主窗口类中选择会员信息管理功能,系统会引导至会员信息管理窗口类。 |
||
涉及的对象
|
用户、主窗口类、系统。 |
||
消息的类型
|
选择、处理、导航。 |
||
传递的消息
|
|
||
返回的消息
|
|
||
销毁的对象
|
|
(3)交互 3: 添加会员信息
交互编号
|
3 |
交互名称
|
添加会员信息 |
功能描述
|
用户在会员信息管理窗口类中选择“添加会员”功能,系统会引导至增加会员界面。用户在增加会员界面中输入会员的信息,点击“增加”按钮,系统会将新会员的信息保存到数据库中。
|
||
涉及的对象
|
用户、会员信息管理窗口类、增加会员界面、系统、数据库。
|
||
消息的类型
|
选择、输入、处理、保存、返回结果。 |
||
传递的消息
|
会员信息(姓名、性别、年龄、联系方式等)。 |
||
返回的消息
|
成功消息。 |
||
销毁的对象
|
|
(4)交互 4: 删除会员信息
交互编号
|
4 |
交互名称
|
删除会员信息 |
功能描述
|
用户在会员信息管理窗口类中选择“删除会员”功能,系统会引导至删除会员界面。用户在删除会员界面中选择需要删除的会员,并确认删除操作。系统会从数据库中删除选定的会员信息,并向用户显示成功消息。
|
||
涉及的对象
|
用户、会员信息管理窗口类、删除会员界面、系统、数据库。 |
||
消息的类型
|
选择、确认、处理、删除、返回结果。 |
||
传递的消息
|
|
||
返回的消息
|
成功消息。 |
||
销毁的对象
|
|
(5)交互 5: 修改会员信息
交互编号
|
5 |
交互名称
|
修改会员信息 |
功能描述
|
用户在会员信息管理窗口类中选择“修改会员信息”功能,系统会引导至修改会员信息界面。用户在修改会员信息界面中选择需要修改的会员,并在界面上修改相应的信息。用户点击“保存”按钮,系统会将修改后的会员信息更新到数据库中。系统会向用户显示成功消息,告知用户已经成功修改会员信息。 |
||
涉及的对象
|
用户、会员信息管理窗口类、修改会员信息界面、系统、数据库。 |
||
消息的类型
|
选择、修改、确认、处理、更新、返回结果。 |
||
传递的消息
|
修改后的会员信息。
|
||
返回的消息
|
成功消息。 |
||
销毁的对象
|
|
(2)、绘制顺序图
通过以上分析知道,会员信息管理的顺序图如图(1)所示。
图(1)
(3)、绘制协作图
通过以上分析知道,会员信息管理用例中共有 5 个交互,交互 的消息类型有循环、条件、自调用等。涉及的对象有9 个。根据以上分析整理得到协作图模型如图 2所示:
图(2)
(4)、绘制活动图
通过以上分析知道,会员信息管理用例中共有 5 个交互,交互 的消息类型有循环、条件、自调用等。涉及的对象有9 个。根据以上分析整理得到活动图模型如图 2所示:
图(3)
(5)、分析系统主要对象的生命周期中状态及状态迁移
下面我们以“会员管理系统”中“会员信息管理子系统分析和介绍创建该类对象状态图的方法和过程。首先考察和分析其在系统中完整的生命周期:
一、登录: 主要对象:会员 状态:未登录、登录中、已登录 动作: 会员输入用户名和密码。 系统验证登录信息的有效性。 验证成功后,将会员状态更新为已登录。 二、增加会员: 主要对象:会员、会员信息数据库 状态:待添加、添加中、已添加 动作: 系统接收新会员的注册请求。 系统验证注册信息的完整性和准确性。 验证通过后,将会员信息添加到数据库中,并更新会员状态为已添加。 三、删除会员: 主要对象:会员、会员信息数据库 状态:待删除、删除中、已删除 动作: 系统接收删除会员的请求。 系统验证删除请求的合法性,如权限等。 验证通过后,从数据库中删除会员信息,并更新会员状态为已删除。 四、修改会员信息: 主要对象:会员、会员信息数据库 状态:待修改、修改中、已修改 动作: 系统接收修改会员信息的请求。 系统验证修改请求的合法性,如权限等。 验证通过后,更新数据库中的会员信息,并更新会员状态为已修改。 五、查询会员信息: 主要对象:会员、会员信息数据库 状态:查询待处理、查询中、查询完成 动作: 系统接收查询会员信息的请求。 系统根据请求查询数据库中的会员信息。 返回查询结果,并更新查询状态为查询完成。
|
综合以上分析,再考虑状态迁移以及引起状态迁移的事件,可以将会员信息管理的各种状态迁移描述如下:
迁移编号 |
迁移名称 |
迁移描述 |
事 件 |
动 作 |
监护条件 |
1 |
未登录->登录中 |
会员开始登录过程,输入用户名和密码。 |
会员输入用户名和密码并点击登录按钮。 |
系统验证登录信息的有效性。 |
登录信息有效性验证通过。 |
2 |
登录中->已登录 |
会员成功登录系统,可以进入会员信息管理界面。 |
登录信息有效性验证通过。 |
更新会员状态为已登录,并展示会员信息管理界面。 |
- |
3 |
已登录->待添加 |
已登录的会员选择添加新会员,进入待添加状态。 |
已登录的会员点击添加新会员按钮。 |
准备接收新会员的注册信息。 |
- |
4 |
待添加->添加中 |
系统接收新会员的注册信息,开始处理添加请求。 |
系统接收到完整的注册信息。 |
验证注册信息的完整性和准确性。 |
注册信息验证通过。 |
5 |
添加中->已添加 |
新会员成功添加到系统中,可以查询和展示新会员信息。 |
注册信息验证通过。 |
将会员信息添加到数据库中,并更新会员状态为已添加。展示成功添加提示信息。 |
- |
6 |
已登录->待删除 |
已登录的会员选择删除某个会员,进入待删除状态。 |
已登录的会员选择要删除的会员并点击删除按钮。 |
准备处理删除请求。 |
- |
7 |
待删除->删除中 |
系统开始处理删除会员的请求,进入删除中状态。 |
系统接收到删除请求。 |
验证删除请求的合法性,如权限等。 |
删除请求验证通过。 |
8 |
删除中->已删除 |
成功删除会员,更新数据库中会员的状态为已删除。 |
删除请求验证通过。 |
从数据库中删除会员信息,并更新会员状态为已删除。展示成功删除提示信息。 |
- |
9 |
已登录->待修改 |
已登录的会员选择修改某个会员的信息,进入待修改状态。 |
已登录的会员选择要修改的会员并点击修改按钮。 |
准备接收修改后的会员信息。 |
- |
10 |
待修改->修改中 |
系统接收修改后的会员信息,开始处理修改请求。 |
系统接收到完整的修改后的会员信息。 |
验证修改请求的合法性,如权限等。验证修改后信息的完整性和准确性。 |
修改请求和信息验证通过。 |
11 |
修改中->已修改 |
成功修改会员信息,更新数据库中会员的状态为已修改。 |
修改请求和信息验证通过。 |
更新数据库中的会员信息,并更新会员状态为已修改。展示成功修改提示信息。 |
- |
12 |
已登录->查询待处理 |
已登录的会员选择查询某个或某些会员的信息,进入查询待处理状态。 |
已登录的会员输入查询条件并点击查询按钮。 |
准备根据查询条件查询数据库中的会员信息。 |
- |
13 |
查询待处理->查询中 |
系统根据查询条件开始查询数据库中的会员信息,进入查询中状态。 |
系统接收到查询请求和查询条件。 |
根据查询条件查询数据库中的会员信息。 |
查询完成或超时。 |
14 |
查询中->查询完成 |
查询完成,展示查询结果给会员,更新查询状态为查询完成。如果查询超时则展示超时提示信息。 |
查询完成或超时。 |
返回查询结果给会员并更新查询状态为查询完成或展示超时提示信息。如果查询结果为空则展示无结果提示信息。如果查询到结果则展示结果列表给会员。如果查询超时则展示超时提示信息并允许重新发起查询请求或选择其他操作项进行操作处理逻辑结束后自动关闭当前操作页面返回主界面等待下一次用户交互事件到来再次触发相应动作进行处理逻辑执行流程结束回到初始状态等待下一次用户交互事件发生并响应相应事件处理逻辑开始新一轮处理流程循环直到用户退出系统为止整个生命周期结束。 |
- |
(6)、绘制状态机图
如图(4)
图(4)
(1)分析系统用例流程中对象间的交互
会员管理系统”包括“ 会员信息管理系统”“ 会员关系管理系统”、“ 会员积分管理系统”等。现在对““ 会员关系管理系统 ” 进行详细分析介绍,分析其中的业务流程、涉及的对象和角色、对象之间发生的交互和交互中传递的消息,最后完成该顺序图绘制。
[用例流程描述]会员关系管理系统子系统用例的业务流程可如下描述:
1.登录系统:用户通过登录窗口类输入用户名和密码,登录系统。系统验证用户的登录信息,验证通过后引导至会员关系管理窗口类。
2.增加消费记录:在会员关系管理窗口类中,用户可以选择“增加消费记录”功能,系统会引导至增加消费记录界面。用户在增加消费记录界面中输入会员的消费信息,如会员ID、交易时间、交易类型(如商品购买、服务消费等)、交易金额等。用户点击“增加”按钮,系统会将新消费记录保存到数据库中。
3.查询消费记录:在会员关系管理窗口类中,用户可以选择“查询消费记录”功能,系统会引导至查询消费记录界面。用户在查询消费记录界面中输入查询条件,如会员ID、交易时间、交易类型或交易金额等。系统会在数据库中查询符合条件的消费记录,并将结果展示在界面上。
4.计算消费频率:在会员关系管理窗口类中,用户可以选择“计算消费频率”功能,系统会引导至计算消费频率界面。用户选择需要计算消费频率的会员和时间范围,系统会自动计算并显示每个会员在指定时间范围内的消费次数和消费总额。
5.数据可视化:在会员关系管理窗口类中,用户可以选择“数据可视化”功能,系统会引导至数据可视化界面。用户可以选择需要展示的数据项和图表类型(如柱状图、饼图或曲线图),系统会自动生成相应的图表并显示在界面上。
6.生成报表:在会员关系管理窗口类中,用户可以选择“生成报表”功能,系统会引导至生成报表界面。用户可以选择需要生成的报表类型和时间范围,系统会自动生成相应的报表并显示在界面上。
7.退出系统:在会员关系管理窗口类中,用户可以选择“退出系统”功能,系统会关闭登录状态并退出会员关系管理系统。
[流程涉及的对象]根据对会员关系管理流程的描述可以找到该用例所涵盖的对象,从事件流程中发现和筛选出来的各类对象有:
实体类对象:
会员(Member)商铺店员(ShopClerk)总管理员(Administrator)账户信息(AccountInformation) 操作流程类(Operation Process)
边界、控制类对象:
登录窗口类(LoginWindow)主窗口类(MainWindow)
会员信息管理窗口类(MemberInfoWindow)账户信息管理窗(AccountInfoWindow)
数据库类 系统类
[对象交互分析]以上我们对会员关系管理子系统用例的流程有了一个清晰的了解,对会员关系管理顺序图中涉及的对象也明确了,现在来分析这些对象之间的交互以及这些交互涉及的对象和传递的消息。
(1)交互 1:登录
交互编号
|
1 |
交互名称
|
登录 |
功能描述
|
用户通过登录窗口类输入用户名和密码,与系统进行交互,验证用户身份。 |
||
涉及的对象
|
用户、登录窗口类、系统 |
||
消息的类型
|
输入、处理、返回结果。 |
||
传递的消息
|
用户名和密码。 |
||
返回的消息
|
验证结果(成功/失败)。 |
||
销毁的对象
|
|
(2)交互 2: 增加消费记录
交互编号
|
2 |
交互名称
|
增加消费记录 |
功能描述
|
会员在主窗口中选择增加消费记录功能,系统引导至增加消费记录界面,会员输入消费信息并保存至数据库。 |
||
涉及的对象
|
会员、主窗口类、增加消费记录界面、数据库类。 |
||
消息的类型
|
选择、输入、保存。 |
||
传递的消息
|
消费信息。 |
||
返回的消息
|
成功或失败的消息。 |
||
销毁的对象
|
|
(3)交互 3: 查询消费记录
交互编号
|
3 |
交互名称
|
查询消费记录 |
功能描述
|
会员在主窗口中选择查询消费记录功能,系统引导至查询消费记录界面,会员输入查询条件,系统返回查询结果。
|
||
涉及的对象
|
会员、主窗口类、查询消费记录界面、数据库类。
|
||
消息的类型
|
选择、输入、查询、返回结果。 |
||
传递的消息
|
查询条件。 |
||
返回的消息
|
消费记录。 |
||
销毁的对象
|
无。 |
(4)交互 4: 计算消费频率
交互编号
|
4 |
交互名称
|
计算消费频率 |
功能描述
|
会员在主窗口中选择计算消费频率功能,系统引导至计算消费频率界面,会员选择需要计算消费频率的会员和时间范围,系统计算并显示消费频率。
|
||
涉及的对象
|
会员、主窗口类、计算消费频率界面、数据库类。 |
||
消息的类型
|
选择、输入、计算、显示。 |
||
传递的消息
|
会员ID、时间范围。
|
||
返回的消息
|
消费频率。 |
||
销毁的对象
|
|
(5)交互 5: 数据可视化
交互编号
|
5 |
交互名称
|
数据可视化 |
功能描述
|
会员在主窗口中选择数据可视化功能,系统引导至数据可视化界面,会员选择需要展示的数据项和图表类型,系统生成相应的图表并显示。 |
||
涉及的对象
|
会员、主窗口类、数据可视化界面、数据库类。 |
||
消息的类型
|
选择、生成、显示。 |
||
传递的消息
|
数据项、图表类型。
|
||
返回的消息
|
|
||
销毁的对象
|
|
(3)、绘制顺序图
通过以上分析知道,会员关系管理的顺序图如图(5)所示。
图(5)
(4)、绘制协作图
通过以上分析知道,会员关系管理用例中共有 5 个交互,交互 的消息类型有循环、条件、自调用等。涉及的对象有9 个。根据以上分析整理得到协作图模型如图 6所示:
图(6)
(4)、绘制活动图
通过以上分析知道,会员信息管理用例中共有 5 个交互,交互 的消息类型有循环、条件、自调用等。涉及的对象有9 个。根据以上分析整理得到活动图模型如图 7所示:
图(7)
(5)、分析系统主要对象的生命周期中状态及状态迁移
下面我们以“会员管理系统”中“会员关系管理子系统分析和介绍创建该类对象状态图的方法和过程。首先考察和分析其在系统中完整的生命周期:
1.登录: 主要对象:会员 状态:未登录、登录中、已登录 动作:会员输入用户名和密码,系统进行验证,验证成功后进入已登录状态,可以进行后续操作。 2.增加消费记录: 主要对象:会员、消费记录 状态:待添加、添加中、已添加 动作:会员在系统中输入消费信息,系统验证信息的完整性和准确性,添加到数据库中,更新消费记录状态。 3.查询消费记录: 主要对象:会员、消费记录 状态:查询待处理、查询中、查询完成 动作:会员发起查询请求,系统根据请求查询数据库,返回查询结果,更新查询状态。 4.计算消费频率: 主要对象:会员、消费记录 状态:计算待处理、计算中、计算完成 动作:系统定期或根据请求计算会员的消费频率,更新会员的消费频率信息,更新计算状态。 5.数据可视化: 主要对象:数据可视化界面、会员、消费记录 状态:待显示、显示中、已显示 动作:系统根据会员和消费记录的数据生成可视化图表,显示在界面上,更新显示状态。 6.分析会员关系管理系统主要对象的生命周期中状态及其动作: 主要对象:会员、会员关系 状态:注册状态、活跃状态、沉默状态、流失状态 动作:系统监控会员的行为和消费记录,分析会员的生命周期状态,根据不同状态采取相应的措施,如发送营销信息、提供优惠等。
|
综合以上分析,再考虑状态迁移以及引起状态迁移的事件,可以将会员关系管理的各种状态迁移描述如下:
迁移编号
|
1 |
迁移名称
|
注册->活跃 |
|
迁移描述
|
会员从注册状态进入活跃状态,可进行各项操作。 |
|||
事 件 |
完成注册并成功登录 |
|||
动 作 |
|
|||
监护条件
|
|
迁移编号
|
2 |
迁移名称
|
活跃->沉默 |
迁移描述
|
会员一段时间内未登录或操作,进入沉默状态。 |
||
事 件 |
会员在一段时间内无任何操作 |
||
动 作 |
更新会员状态为沉默 |
||
监护条件
|
时间阈值(如30天) |
迁移编号
|
3 |
迁移名称
|
沉默->流失 |
迁移描述
|
会员长期未登录或操作,且无响应营销活动,进入流失状态。 |
||
事 件 |
会员长时间无任何操作且未响应营销活动 |
||
动 作 |
更新会员状态为流失 |
||
监护条件
|
时间阈值和营销活动响应情况(如60天未登录且未响应营销活动) |
迁移编号
|
4 |
迁移名称
|
流失->回归 |
|
迁移描述
|
流失的会员重新登录并进行操作,或响应了召回活动,进入回归状态。 |
|||
事 件 |
流失会员重新登录或响应召回活动 |
|||
动 作 |
|
|||
监护条件
|
|
迁移编号
|
5 |
迁移名称
|
活跃->忠诚 |
|
迁移描述
|
会员持续活跃,消费频率高,且对品牌有积极评价,进入忠诚状态。 |
|||
事 件 |
会员持续活跃,消费频率高,对品牌评价积极 |
|||
动 作 |
|
|||
监护条件
|
消费频率和品牌评价情况(如连续3个月消费频率高于平均水平且对品牌评价为正面) |
(6)、绘制状态机图 如图(8)
图(8)
(1)分析系统用例流程中对象间的交互
会员管理系统”包括“ 会员信息管理系统”“ 会员关系管理系统”、“ 会员积分管理系统”等。现在对““ 会员积分管理系统 ” 进行详细分析介绍,分析其中的业务流程、涉及的对象和角色、对象之间发生的交互和交互中传递的消息,最后完成该顺序图绘制。
[用例流程描述]会员积分管理系统子系统用例的业务流程可如下描述:
1.会员登录:会员使用其用户名和密码登录到会员积分管理系统。系统验证会员信息的准确性,如果验证成功,则会员进入系统主页面。
2.积分查询:在主页面中,会员可以选择查询其积分信息。系统会显示该会员的当前积分余额,以及积分的来源和消耗明细。
3.积分获取:会员可以通过各种方式获取积分,例如购物、参加活动等。会员在系统中选择相应的积分获取方式,并提供必要的信息(如购物凭证、活动参与证明等)。系统验证信息的有效性,并根据规则计算积分并添加到会员的积分余额中。
4.积分兑换:会员可以使用其积分兑换各种奖励或优惠,例如商品、折扣券等。会员在系统中选择想要兑换的奖励,并提供必要的积分数量。系统验证积分的充足性,并进行相应的扣除。如果积分不足,则无法进行兑换。
5.积分规则设置:系统管理员可以设置和管理各种积分活动,包括活动的开始和结束时间、积分的获取和兑换规则等。管理员可以在系统中针对不同的会员等级设置不同的积分规则,实现差异化服务。
6.积分统计和分析:系统提供积分统计和分析功能,管理员可以查看整个系统的积分获取和消耗情况,以及各个会员的积分行为分析。这些数据可以帮助管理员优化积分策略和活动设置。
7.会员管理:系统管理员可以管理会员信息,包括会员的注册信息、积分明细、兑换记录等。管理员可以查询和修改会员的信息,确保会员信息的准确性。
[流程涉及的对象]根据对会员积分管理流程的描述可以找到该用例所涵盖的对象,从事件流程中发现和筛选出来的各类对象有:
实体类对象:
会员(Member)商铺店员(ShopClerk)总管理员(Administrator) 奖励/优惠系统
边界、控制类对象:
积分查询界面、积分管理系统 登录界面、验证系统 积分获取界面
[对象交互分析]以上我们对会员积分管理子系统用例的流程有了一个清晰的了解,对会员积分管理顺序图中涉及的对象也明确了,现在来分析这些对象之间的交互以及这些交互涉及的对象和传递的消息。
(1)交互 1:登录
交互编号
|
1 |
交互名称
|
登录 |
功能描述
|
用户通过登录窗口类输入用户名和密码,与系统进行交互,验证用户身份。 |
||
涉及的对象
|
会员、登录界面、验证系统
|
||
消息的类型
|
请求、响应 |
||
传递的消息
|
会员输入用户名和密码,发送登录请求。 |
||
返回的消息
|
验证系统验证会员信息,返回登录成功或失败的消息。 |
||
销毁的对象
|
|
(2)交互 2: 积分获取
交互编号
|
2 |
交互名称
|
积分获取 |
功能描述
|
会员通过各种方式获取积分。 |
||
涉及的对象
|
会员、积分获取界面、积分管理系统 |
||
消息的类型
|
请求、响应 |
||
传递的消息
|
会员选择相应的积分获取方式,并提供必要的信息,发送积分获取请求。 |
||
返回的消息
|
积分管理系统验证信息的有效性,根据规则计算积分并添加到会员的积分余额中,返回积分获取成功或失败的消息。 |
||
销毁的对象
|
|
(3)交互 3: 积分查询
交互编号
|
3 |
交互名称
|
积分查询 |
功能描述
|
会员查询其积分信息。
|
||
涉及的对象
|
会员、积分查询界面、积分管理系统 |
||
消息的类型
|
请求、响应 |
||
传递的消息
|
会员发送积分查询请求。 |
||
返回的消息
|
积分管理系统返回该会员的当前积分余额以及积分的来源和消耗明细。 |
||
销毁的对象
|
无。 |
(4)交互 4: 积分兑换
交互编号
|
4 |
交互名称
|
积分兑换 |
功能描述
|
会员使用其积分兑换各种奖励或优惠。
|
||
涉及的对象
|
会员、积分兑换界面、积分管理系统、奖励/优惠系统 |
||
消息的类型
|
请求、响应 |
||
传递的消息
|
会员选择想要兑换的奖励,并提供必要的积分数量,发送积分兑换请求。积分管理系统验证积分的充足性,并进行相应的扣除。如果积分不足,则无法进行兑换。成功兑换后,发送奖励/优惠兑换请求给奖励/优惠系统。 |
||
返回的消息
|
积分管理系统返回积分兑换成功或失败的消息。奖励/优惠系统返回奖励/优惠兑换成功或失败的消息。 |
||
销毁的对象
|
|
(2) 绘制顺序图
通过以上分析知道,会员关系管理的顺序图如图(9)所示。
图(9)
(3)、绘制协作图
通过以上分析知道,会员关系管理用例中共有 5 个交互,交互 的消息类型有循环、条件、自调用等。涉及的对象有9 个。根据以上分析整理得到协作图模型如图 10所示:
图(10)
(4)、绘制活动图
通过以上分析知道,会员信息管理用例中共有 5 个交互,交互 的消息类型有循环、条件、自调用等。涉及的对象有9 个。根据以上分析整理得到活动图模型如图 7所示:
图(7)
(5)、分析系统主要对象的生命周期中状态及状态迁移
下面我们以“会员管理系统”中“会员积分管理子系统分析和介绍创建该类对象状态图的方法和过程。首先考 察和分析其在系统中完整的生命周期:
1.会员(Member):
1.初始化状态:会员信息被创建并保存至数据库。 2.登录状态:会员成功登录系统。 3.积分查询状态:会员查询其积分信息。 4.积分获取状态:会员通过各种方式获取积分。 5.积分兑换状态:会员使用积分兑换奖励或优惠。 4.注销状态:会员退出登录。
|
2.登录界面(Login Interface):
1.初始状态:显示登录表单。 2.验证状态:等待验证系统的响应。
|
3.积分获取界面(Integral Acquisition Interface):
1.初始状态:显示积分获取方式。 2.处理状态:等待积分管理系统的响应。
|
4.积分查询界面(Integral Query Interface):
1.初始状态:显示积分查询按钮。 2.显示状态:等待并接收积分管理系统的响应。
|
5.积分兑换系统(Integral Exchange System):
1.初始状态:准备接收兑换请求。 2.扣除状态:如果积分充足,进行扣除操作。 3.完成状态:等待并接收奖励/优惠系统的响应。
|
综合以上分析,再考虑状态迁移以及引起状态迁移的事件,可以将积分管理的各种状态迁移描述如下:
(1)迁移 1: 会员登录
迁移编号
|
1 |
迁移名称
|
会员登录 |
迁移描述
|
会员从初始化状态迁移到登录状态。 |
||
事 件 |
会员输入有效的用户名和密码,并点击登录按钮。 |
||
动 作 |
验证系统验证会员信息,如果验证成功,会员状态迁移到登录状态,建立会员会话;如果验证失败,显示登录失败消息,保持在初始化状态。 |
||
监护条件
|
会员输入的用户名和密码与数据库中存储的信息匹配。
|
(2)迁移 2: 积分查询
迁移编号
|
2 |
迁移名称
|
积分查询 |
迁移描述
|
会员在登录状态下进行积分查询。 |
||
事 件 |
会员点击积分查询按钮。 |
||
动 作 |
积分管理系统接收积分查询请求,查询该会员的积分信息,并返回积分余额和明细给积分查询界面显示。 |
||
监护条件
|
会员处于登录状态。 |
(3)迁移 3: 积分获取
迁移编号
|
2 |
迁移名称
|
积分获取 |
迁移描述
|
会员在登录状态下通过各种方式获取积分。
|
||
事 件 |
会员选择相应的积分获取方式,并提供必要的信息,点击获取按钮。 |
||
动 作 |
积分管理系统验证信息的有效性,根据规则计算积分并添加到会员的积分余额中,返回积分获取成功或失败的消息给积分获取界面显示。 |
||
监护条件
|
会员处于登录状态,且提供的信息符合积分获取规则。 |
(4)迁移 4: 积分兑换
迁移编号
|
2 |
迁移名称
|
积分兑换 |
迁移描述
|
会员在登录状态下使用积分兑换奖励或优惠。 |
||
事 件 |
会员选择想要兑换的奖励,并提供必要的积分数量,点击兑换按钮。 |
||
动 作 |
积分管理系统验证积分的充足性,并进行相应的扣除。如果积分不足,则无法进行兑换。成功兑换后,发送奖励/优惠兑换请求给奖励/优惠系统,返回兑换成功或失败的消息给积分兑换界面显示。 |
||
监护条件
|
会员处于登录状态,且拥有足够的积分进行兑换。 |
(6)、绘制状态机图
通过(5)中对销售合同类对象的分析,最终我们建立的销售合同类的状态机图如图 8
所示
图(8)
(1)分析系统用例流程中对象间的交互
会员管理系统”包括“ 会员信息管理系统”“ 会员关系管理系统”、“ 会员积分管理系统”等。现在对“ 会员信息管理系统”中的“增加会员”用例进行详细分析介绍,分析其中的业务流程、涉及的对象和角色、对象之间发生的交互和交互中传递的消息,最后完成该顺序图绘制。
[用例流程描述]会员信息管理子系统有多个用例,我们重点对处理增加会员用例按时间顺序对控制流建模。增加会员用例的业务流程可如下描述:
打开会员信息管理子系统,进入增加会员页面。输入会员的基本信息,如姓名、性别、出生日期、联系电话等。为会员选择一个合适的会员等级,并设置会员的积分初始值。输入会员的注册日期,并确认会员的注册状态为“已注册”。保存会员信息,并生成会员的唯一标识符(如会员ID)。打印会员信息表,以供存档和后续查阅。增加会员成功后,系统会发送一条成功消息给用户,并提示用户已经成功成为会员。
[流程涉及的对象]根据对增加会员流程的描述可以找到该用例所涵盖的对象,从事件流程中发现和筛选出来的各类对象有:
实体类对象:
会员(Member)商铺店员(ShopClerk)总管理员(Administrator)账户信息(AccountInformation)
边界、控制类对象:
登录窗口类(LoginWindow)主窗口类(MainWindow)
会员信息管理窗口类(MemberInfoWindow)账户信息管理窗(AccountInfoWindow)
[对象交互分析]以上我们对增加会员的流程有了一个清晰的了解,对增加会员顺序图中涉及的对象也明确了,现在来分析这些对象之间的交互以及这些交互涉及的对象和传递的消息。
(1)交互 1: 用户登录
交互编号
|
1 |
交互名称
|
用户登录 |
功能描述
|
用户在登录窗口类中输入用户名和密码,系统验证用户身份并返回相应的结果。
|
||
涉及的对象
|
会员(Member)对象
登录窗口类(LoginWindow)对象
主窗口类(MainWindow)对象
|
||
消息的类型
|
简单消息和事件消息 |
||
传递的消息
|
用户在登录窗口类中输入用户名和密码,触发“输入完成”事件。
登录窗口类接收到“输入完成”事件后,将用户输入的用户名和密码作为参数传递给系统对象进行验证。
系统对象接收到用户名和密码后,调用相应的验证方法进行验证。验证方法可能会返回验证结果(通过或失败)和一条消息(成功或错误信息)。
系统对象将验证结果和消息传递给登录窗口类。
登录窗口类接收到验证结果和消息后,根据结果更新界面(如显示错误提示信息或跳转到主窗口类)。
|
||
返回的消息
|
如果验证通过,系统返回一条成功消息给用户,告知用户登录成功。
如果验证失败,系统返回一条错误消息给用户,告知用户登录失败的原因(如用户名或密码错误)。
|
||
销毁的对象
|
|
(2)交互 2: 总管理员验证登录信息
交互编号
|
2 |
交互名称
|
总管理员验证登录信息 |
功能描述
|
系统将用户输入的登录信息传递给总管理员类进行验证,总管理员类根据预设的权限和验证逻辑对登录信息进行验证,并返回验证结果。
|
||
涉及的对象
|
会员(Member)对象
主窗口类(MainWindow)对象
总管理员(Administrator)对象
|
||
消息的类型
|
简单消息 |
||
传递的消息
|
系统接收到用户输入的登录信息后,将其作为参数传递给总管理员类进行验证。
总管理员类接收到登录信息后,根据预设的权限和验证逻辑对登录信息进行验证。这可能包括检查用户名和密码是否匹配、用户是否被锁定等。
|
||
返回的消息
|
如果验证通过,返回一条成功消息,告知用户登录成功。 如果验证失败,返回一条错误消息,告知用户登录失败的原因(如用户名或密码错误)。
|
||
销毁的对象
|
|
(3)交互 3: 会员信息管理操作
交互编号
|
3 |
交互名称
|
会员信息管理操作 |
功能描述
|
用户通过主窗口类选择会员信息管理功能,系统引导至会员信息管理窗口类,并提供添加、删除、修改会员信息的界面,用户可以进行相关操作。
|
||
涉及的对象
|
商铺店员(ShopClerk) 对象 主窗口类(MainWindow)对象 会员信息管理窗口类(MemberInfoWindow)对象 会员(Member)对象
|
||
消息的类型
|
简单消息和事件消息 |
||
传递的消息
|
用户在主窗口类中点击会员信息管理功能选项,触发“选择功能”事件。
主窗口类接收到“选择功能”事件后,发送一条导航消息给会员信息管理窗口类,请求打开会员信息管理界面。
会员信息管理窗口类接收到导航消息后,打开会员信息管理界面,并发送一条确认消息给主窗口类。
用户在会员信息管理界面中进行添加、删除、修改会员信息的操作,触发相应的事件(如“添加会员”事件、“删除会员”事件、“修改会员信息”事件)。
会员信息管理窗口类接收到这些事件后,根据事件类型调用相应的处理方法(如添加会员方法、删除会员方法、修改会员信息方法),并将相关的会员信息作为参数传递给这些方法。
这些处理方法执行完毕后,返回相应的结果消息(如成功消息或错误消息)给会员信息管理窗口类。
会员信息管理窗口类接收到结果消息后,更新界面并发送一条确认消息给用户。
|
||
返回的消息
|
如果操作成功,返回一条成功消息给用户,告知用户操作已成功完成。
如果操作失败,返回一条错误消息给用户,告知用户操作失败的原因(如添加重复的会员信息、删除不存在的会员等)。
|
||
销毁的对象
|
|
(4)交互 4: 保存会员信息
交互编号
|
4 |
交互名称
|
保存会员信息 |
功能描述
|
会员类将新的会员对象传递给账户信息管理窗口类进行保存,账户信息管理窗口类收集和存储会员的账户信息,并生成会员的唯一标识符(如会员ID)。
|
||
涉及的对象
|
会员(Member)对象
账户信息管理窗口类(AccountInfoWindow)对象
商铺店员(ShopClerk)
|
||
消息的类型
|
简单消息 |
||
传递的消息
|
会员类将新的会员对象作为参数传递给账户信息管理窗口类。 账户信息管理窗口类接收到新的会员对象后,将其保存到会员账户信息数据库中,并生成该会员的唯一标识符(如会员ID)。
账户信息管理窗口类将保存的结果(成功或失败)和唯一标识符作为消息传递给会员类。
|
||
返回的消息
|
如果保存成功,返回一条成功消息给会员类,告知用户该会员信息已经成功保存。
如果保存失败,返回一条错误消息给会员类,告知用户保存失败的原因(如数据库连接问题、数据格式不正确等)。
|
||
销毁的对象
|
|
(5)交互 5: 更新会员信息并发送成功消息
交互编号
|
5 |
交互名称
|
更新会员信息并发送成功消息 |
功能描述
|
账户信息管理窗口类将保存的结果传递给会员信息管理窗口类,以供用户查看或进一步操作。同时,系统也会发送一条成功消息给用户,告知用户已经成功成为会员。
|
||
涉及的对象
|
账户信息管理窗口类(AccountInfoWindow)对象
会员信息管理窗口类(MemberInfoWindow)对象
主窗口类(MainWindow)对象
|
||
消息的类型
|
简单消息和事件消息 |
||
传递的消息
|
账户信息管理窗口类将保存的结果(成功或失败)和唯一标识符作为消息传递给会员信息管理窗口类。
会员信息管理窗口类接收到保存的结果后,更新界面以显示会员信息(如姓名、性别、等级等)。
系统对象发送一条成功消息给用户,告知用户已经成功成为会员。该消息可以包括唯一标识符和其他相关信息。
会员信息管理窗口类也可以根据需要发送其他消息给用户,以供用户进行其他操作(如修改密码、查看积分等)。
|
||
返回的消息
|
如果保存成功,系统返回一条成功消息给用户,告知用户已经成功成为会员。该消息可以包括唯一标识符和其他相关信息。
如果保存失败,系统返回一条错误消息给用户,告知用户保存失败的原因(如数据库连接问题、数据格式不正确等)。
|
||
销毁的对象
|
|
(4)、绘制顺序图
通过以上分析知道,增加会员的顺序图如图(1)所示。
图(1)
(3)、绘制协作图
通过以上分析知道,会员信息管理子系统中的增加会员用例中共有 5 个交互,交互 的消息类型有循环、条件、自调用等。涉及的对象有8 个。根据以上分析整理得到协作图模型如图 2所示:
图(2)
四 实验分析及问题思考