五、设计类图
系统分析
在问题描述的基础上,根据工程分析的方法,进一步对所做的项目进行分析。
参与者
参与者是系统交互的人或物,可以包括人、外部系统和其他机构,位于系统外,不属于系统。通常情况下,根据下面问题来确定参与者:哪些人是你的系统的主要客户?哪些人从你的系统获取信息?哪些人为你的系统提供信息?哪些系统与该系统进行交互?在某个预定的时间是否有事情自动发生?同时参与者的名字应该能准确反映在模型中扮演的角色。
公交查询系统提供如下功能:乘客查询公交和站点信息,管理员对相关信息的增删改查,所以需要使用系统的人员如图2-1所示,分别是乘客和管理员。
图2-1 系统参与者
用例及用例规约
用例为参与者提供价值,每个用例表示系统提供的一项服务。从参与者的角度,通过提出问题,来确定可能的服务:此角色希望完成什么工作?充当此角色的用户的主要任务是什么?系统需要提供给此角色的用户什么信息?充当此角色的用户需要检查,产生和改变什么信息?
系统用例汇总 |
|||
模块 |
用例名称 |
用例ID |
说明 |
乘客 |
车次查询 |
UC-01 |
|
站点查询 |
UC-02 |
||
站站查询 |
UC-03 |
||
管理员 |
登陆系统 |
UC-04 |
|
密码修改 |
UC-05 |
||
车次查询 |
UC-06 |
||
车次添加 |
UC-07 |
||
车次修改 |
UC-08 |
||
车次删除 |
UC-09 |
||
站点查询 |
UC-10 |
||
站点添加 |
UC-11 |
||
站点修改 |
UC-12 |
||
站点删除 |
UC-13 |
||
站次查询 |
UC-14 |
||
站次添加 |
UC-15 |
||
站次修改 |
UC-16 |
||
站次删除 |
UC-17 |
表2-1 系统用例汇总
(1) 乘客登陆系统后,选择车次查询,输入或选择车次相关车次进行查询。表2-2为车次查询的用例规约。
用例编号 |
UC-01 |
用例名称 |
车次查询 |
用例描述 |
乘客可以输入或选择车次进行查询 |
参与者 |
乘客 |
前置条件 |
乘客登陆系统 |
后置条件 |
如果该用例成功,系统将显示查询结果 |
基本路径 |
|
扩展点 |
如输入的车次不存在,系统提示“该车次不存在” |
字段列表 |
车次信息=车次编号+车次名称+首班时间+末班时间+起止站点+全程票价+各站站点 |
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-2 车次查询用例规约
(2) 乘客登陆系统后,选择站点查询,输入或选择站点进行查询。表2-3为站点查询的用例规约。
用例编号 |
UC-02 |
用例名称 |
站点查询 |
用例描述 |
乘客可以输入或选择站点进行查询 |
参与者 |
乘客 |
前置条件 |
乘客登陆系统 |
后置条件 |
如果该用例成功,系统将显示查询结果 |
基本路径 |
1. 乘客登陆系统 2. 进入用户界面选择站点查询 3. 选择或输入站点 4. 系统显示查询结果 |
扩展点 |
如输入站点不存在,系统提示“该站点不存在” |
字段列表 |
站点信息=站点编号+站点名称 |
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-3 站点查询用例规约
(3) 乘客登陆系统后,选择站站查询,输入或选择起始站点和终止站点进行查询。表2-4为站站查询的用例规约。
用例编号 |
UC-03 |
用例名称 |
站站查询 |
用例描述 |
乘客输入或选择起始站点和目的站点进行查询 |
参与者 |
乘客 |
前置条件 |
乘客登陆系统 |
后置条件 |
如果该用例成功,系统将显示查询结果 |
基本路径 |
1. 乘客登陆系统 2. 进入用户界面选择站站查询 3. 选择或输入起始站和目的站 4. 系统显示查询结果 |
扩展点 |
如输入站点不存在,系统提示“该站点不存在” |
字段列表 |
|
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-4 站站查询用例规约
(4) 管理员输入用户名和密码验证登陆。表2-5为管理员登陆用例规约
用例编号 |
UC-04 |
用例名称 |
登陆系统 |
用例描述 |
管理员输入密码验证登陆系统 |
参与者 |
管理员 |
前置条件 |
同一用户不能重复登陆 |
后置条件 |
如果该用例成功,进入管理界面 |
基本路径 |
1. 参与者启动系统 2. 系统显示登陆信息填写界面 3. 参与者填写用户名 4. 参与者填写密码 5. 系统检测信息的充分性 6. 系统检查用户身份的合法性 7. 参与者登陆成功,进入管理界面 |
扩展点 |
1. 用户名或密码未输入 2. 用户名或密码未输入,系统显示“用户名(密码)不能为空”,再进入常规流程执行 |
字段列表 |
登录=用户名+密码 |
业务规则 |
|
非功能需求 |
登陆帐号和密码要加密传输 |
补充说明 |
必填信息旁边加*号,并有文字说明 |
表2-5 管理员登陆用例规约
(5) 管理员可对密码进行修改。表2-6为管理员密码修改用例规约
用例编号 |
UC-05 |
用例名称 |
密码修改 |
用例描述 |
管理员修改登录密码 |
参与者 |
管理员 |
前置条件 |
管理员需有密码验证才可登录 |
后置条件 |
如果该用例成功,密码将被修改 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择密码修改 3. 输入新旧密码验证 4. 提示“修改成功” |
扩展点 |
|
字段列表 |
|
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-6 管理员密码修改用例规约
(6) 管理员进入管理界面,选择车次管理,对车次进行查询。表2-7为管理员的车次查询用例规约。
用例编号 |
UC-06 |
用例名称 |
管理员车次查询 |
用例描述 |
管理员输入或选择车次进行查询 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入车次管理界面 |
后置条件 |
如果该用例成功,系统将显示查询结果 |
基本路径 |
1. 管理员登陆系统 2. 进入管理界面,选择车次管理 3. 选择或输入车次 4. 系统显示查询结果 |
扩展点 |
如输入车次不存在,系统提示“该车次不存在” |
字段列表 |
车次信息=车次编号+车次名称+首班时间+末班时间+起止站点+全程票价+各站站点 |
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-7 管理员车次查询用例规约
(7) 管理员进入管理界面,选择车次管理,对车次进行添加。表2-8为管理员的车次添加用例规约。
用例编号 |
UC-07 |
用例名称 |
车次添加 |
用例描述 |
管理员添加新车次 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入车次管理界面 |
后置条件 |
如果该用例成功,新车次将被添加 |
基本路径 |
1. 管理员登陆系统 2. 进入管理界面,选择车次管理中的车次添加 3. 管理员输入新添加车次 4. 提示“添加成功” |
扩展点 |
如输入车次已存在,系统提示“该车次已存在” |
字段列表 |
车次信息=车次编号+车次名称+首班时间+末班时间+起止站点+全程票价+各站站点 |
业务规则 |
|
非功能需求 |
|
表2-8 车次添加用例规约
(8) 管理员进入管理界面,选择车次管理,对车次进行修改。表2-9为管理员的车次修改用例规约。
用例编号 |
UC-08 |
用例名称 |
车次修改 |
用例描述 |
管理员修改现有车次信息 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入车次管理界面 |
后置条件 |
如果该用例成功,选定车次信息将被修改 |
基本路径 |
1. 管理员登陆系统 2. 进入管理界面,选择车次管理中的车次修改 3. 管理员修改选定车次信息 4. 提示“修改成功” |
扩展点 |
|
字段列表 |
车次信息=车次编号+车次名称+首班时间+末班时间+起止站点+全程票价+各站站点 |
业务规则 |
|
非功能需求 |
|
表2-9 管理员车次修改用例规约
(9) 管理员进入管理界面,选择车次管理,对车次进行删除。表2-10为管理员的车次删除用例规约。
用例编号 |
UC-09 |
用例名称 |
车次删除 |
用例描述 |
管理员删除现有车次 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入车次管理界面 |
后置条件 |
如果该用例成功,选定车次将被删除 |
基本路径 |
1. 管理员登陆系统 2. 进入管理界面,选择车次管理中的车次删除 3. 管理员删除选定车次 4. 提示“删除成功” |
扩展点 |
|
字段列表 |
车次信息=车次编号+车次名称+首班时间+末班时间+起止站点+全程票价+各站站点 |
业务规则 |
|
非功能需求 |
|
表2-10 管理员车次删除用例规约
(10)管理员进入管理界面,选择站点管理,对站点进行查询。表2-11为管理员站点查询用例规约
用例编号 |
UC-10 |
用例名称 |
站点查询 |
用例描述 |
管理员可以输入或选择站点进行查询 |
参与者 |
管理员 |
前置条件 |
管理员登录系统,进入站点管理界面 |
后置条件 |
如果该用例成功,系统将显示查询结果 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站点管理 3. 选择或输入站点 4. 系统显示查询结果 |
扩展点 |
如输入的站点不存在,系统提示“该站点不存在” |
字段列表 |
站点信息=站点编号+站点名称 |
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-11 管理员站点查询用例规约
(11)管理员进入管理界面,选择站点管理,对站点进行添加。表2-12为管理员站点添加用例规约
用例编号 |
UC-11 |
用例名称 |
站点添加 |
用例描述 |
管理员添加站点 |
参与者 |
管理员 |
前置条件 |
管理员登录系统,进入管理界面 |
后置条件 |
如果该用例成功,新站点将被添加 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站点管理 3. 管理员添加新站点 4. 提示“添加成功” |
扩展点 |
如输入的站点已存在,系统提示“该站点已存在” |
字段列表 |
站点信息=站点编号+站点名称 |
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-12 管理员站点添加用例规约
(12)管理员进入管理界面,选择站点管理,对站点进行修改。表2-13为管理员站点修改用例规约
用例编号 |
UC-12 |
用例名称 |
站点修改 |
用例描述 |
管理员修改现有站点信息 |
参与者 |
管理员 |
前置条件 |
管理员登录系统,进入站点管理界面 |
后置条件 |
如果该用例成功,现用站点信息将被修改 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站点管理 3. 管理员修改选定站点信息 4. 提示“修改成功” |
扩展点 |
|
字段列表 |
站点信息=站点编号+站点名称 |
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-13 管理员站点修改用例规约
(13)管理员进入管理界面,选择站点管理,对站点进行删除。表2-14为管理员站点删除用例规约
用例编号 |
UC-13 |
用例名称 |
站点删除 |
用例描述 |
管理员删除现有站点信息 |
参与者 |
管理员 |
前置条件 |
管理员登录系统,进入站点管理界面 |
后置条件 |
如果该用例成功,现用站点信息将被删除 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站点管理 3. 管理员删除选定站点信息 4. 提示“删除成功” |
扩展点 |
|
字段列表 |
站点信息=站点编号+站点名称 |
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-14 管理员站点删除用例规约
(14)管理员进入管理界面,选择站次管理,对站次进行查询。表2-15为管理员的站次查询用例规约。
用例编号 |
UC-14 |
用例名称 |
管理员站次查询 |
用例描述 |
管理员输入或选择车次进行查询 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入站次管理界面 |
后置条件 |
如果该用例成功,系统将显示查询结果 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站次管理 3. 选择或输入车次 4. 系统显示查询结果 |
扩展点 |
如输入车次不存在,系统提示“该车次不存在” |
字段列表 |
|
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-15 管理员站次查询用例规约
(15)管理员进入管理界面,选择站次管理,对站次进行添加。表2-16为管理员的站次添加用例规约。
用例编号 |
UC-15 |
用例名称 |
管理员站次添加 |
用例描述 |
管理员添加新站次 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入站次管理界面 |
后置条件 |
如果该用例成功,新的站次将被添加 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站次管理 3. 添加新站次 4. 提示“添加成功” |
扩展点 |
如输入站次已存在,系统提示“该站次已存在” |
字段列表 |
|
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-16 管理员站次添加用例规约
(16)管理员进入管理界面,选择站次管理,对站次进行修改。表2-17为管理员的站次修改用例规约。
用例编号 |
UC-16 |
用例名称 |
管理员站次修改 |
用例描述 |
管理员修改现有站次 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入站次管理界面 |
后置条件 |
如果该用例成功,现有站次信息将被修改 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站次管理 3. 管理员修改选定站次信息 4. 提示“修改成功” |
扩展点 |
|
字段列表 |
|
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-17 管理员站次修改用例规约
(17)管理员进入管理界面,选择站次管理,对站次进行删除。表2-18为管理员的站次删除用例规约。
用例编号 |
UC-17 |
用例名称 |
管理员站次删除 |
用例描述 |
管理员删除现有站次 |
参与者 |
管理员 |
前置条件 |
管理员登陆系统,进入站次管理界面 |
后置条件 |
如果该用例成功,现有站次将被删除 |
基本路径 |
1. 管理员登录系统 2. 进入管理界面,选择站次管理 3. 管理员删除选定站次 4. 提示“删除成功” |
扩展点 |
|
字段列表 |
|
业务规则 |
|
非功能需求 |
|
补充说明 |
|
表2-18 管理员站次删除用例规约
用例图
系统用例图表示系统的参与者分别参与了系统的哪些用例,参与者和用例之间使用线段连接。对于系统而言,如果用例和参与者数量比较多,可以采用子系统分别表示,如果系统相对简单,则需要将整个系统用例图表示出来。乘客用例图如图2-2所示,管理员用例图如图2-3所示:
图2-2 乘客用例图
图2-3 管理员用例图
系统设计
根据系统分析,进一步深入,具体规划项目每一步如何设计。书写成文档形式,有利于项目开发、测试及后期的维护工作。
顺序图
时序图用来描述对象之间的动态交互,着重体现对象间消息传递的时间顺序。它以垂直轴表示时间,水平轴表示不同的对象。对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信是在对象的生命线间通过消息符号来表示,消息的箭头指明消息的类型。
(1) 乘客顺序图如图2-4所示:
图2-4 乘客顺序图
(2)管理员时序图如图2-5所示:
图2-5 管理员时序图
类图
在面向对象建模技术中,类模型揭示了系统的静态结构。类描述同类对象的属性和行为,类图可表示类(包括类名、类的属性和操作)和类之间的关系,在UML中,类一般表示为一个划分为3格的矩形框。在表示类的矩形框中,第一格指定类的名字。类的命名应尽量使用应用领域中的术语,明确且无歧义,以利于开发人员与用户之间的交流。第二格包含类的属性,用以描述该类对象的共同特点,第三格表示类的操作,有时也成为方法,用于修改、查询类的属性或执行其他动作。
本系统共分为乘客、管理员、公交车和站点四个大类,乘客不需密码验证直接登录系统对所需信息进行查询,管理员则需验证密码登录对系统进行增删改查的操作。图2-6为系统的类图。
图2-6 系统类图
系统体系结构设计
图2-7 系统体系结构设计