UC一篇用例范文.docx
《UC一篇用例范文.docx》由会员分享,可在线阅读,更多相关《UC一篇用例范文.docx(38页珍藏版)》请在冰点文库上搜索。
UC一篇用例范文
用例编号:
ERP-REQ-UC-子模块及编号
用例名称:
版本历史
日期
版本
版本ID
描述
作者
2001-07-12
<1.0>
排产计划表
需求优先级:
1级;
执行者
设备系统管理员;
使用权限
执行者需要具有设备管理人员的权限;
简要说明
(1)本用例是根据已经维护好的维护计划进行排产计划,即系统自动把一个计划按照用户设定的循环周期、计划期间等各种参数,计算出每个计划日期、调用日期,并对已经到期的计划进行调度生成维护订单。
(2)本用例主要处理了单循环计划(包括基于时间和基于性能的)和策略计划(包括基于时间和基于性能的)。
(3)涉及的类:
维护计划
周期定义和维护计划的计量点
维护项目
维护策略
维护计划策略包
给任务清单工序分配维护包
维护计划历史记录
维护订单调用对象
事件流
基本流
(1)执行者执行《维护计划表》功能。
(2)系统显示界面AAA112-01(计划维护计划)。
(3)执行者输入计划号后执行“确认”功能。
(4)系统根据业务规则BR-001显示界面AAA112-02(计划维护计划:
&1当前计划类型&2当前计划编号)。
(5)执行者执行“开始”功能。
(A1:
重新开始A2:
手动调用A3:
计划概览清单A4:
显示计数器信息A7:
下达调用A8:
固定调用A9:
忽略调用A10:
显示调用对象A11:
完成)
(6)系统根据BR-007进行检查,检查通过后,弹出界面AAA112-0202(指定开始日期或读数)
如果是基于时间的,则默认日期显示“周期开始”的数据。
如果是基于计数器的,则默认读数是“开始计数器读数”的数据。
(7)执行者输入数据后,执行“确认”功能。
(8)系统根据规则BR-002进行合法性检查,通过后根据BR-003进行排产计划并将计划数据显示在当前界面上。
(9)执行者执行“保存”功能。
(10)系统根据规则BR-004进行保存。
(11)执行者执行退出功能。
(12)用例结束。
子事件流
备选流
A1:
重新开始
(1)执行者执行“重新开始”功能。
(2)系统根据BR-007进行检查,检查通过后,弹出界面AAA112-0203.
(3)执行者执行“重排(删除)”功能。
【A5:
重排(忽略)A6:
取消】
(4)系统弹出界面AAA112-0202(指定开始日期或读数)
如果是基于时间的,则默认日期显示“周期开始”的数据。
如果是基于计数器的,则默认读数是“开始计数器读数”的数据。
(5)执行者输入数据后,执行“确认”功能。
(6)系统根据规则BR-002进行合法性检查,检查通过后,根据规则BR-005.执行重排计划功能。
A2:
手动调用
(1)执行者执行“手动调用”功能。
(2)系统根据BR-002的
(2)BR-007进行检查,检查通过后,系统弹出界面AAA112-0204(手动调用).
(3)执行者输入手动调用计划日期后执行“确认”功能。
输入的日期不能小于当前系统日期。
(4)系统根据规则BR-008生成调用数据。
A3:
计划概览清单
(1)执行者执行“计划概览清单”功能。
(2)系统显示界面AAA112-03(计划概览清单)。
将“计划调用”和“手工调用”TAB页上的数据显示在当前界面上。
(3)执行者执行“退出”功能。
(4)系统返回到调用点。
A4:
显示计数器信息
参照用例AAA101:
创建单个循环计划
A5:
重排(忽略)
(1)执行者执行“忽略”功能。
【A6:
取消】
(2)系统根据BR-007进行检查,检查通过后,系统弹出界面AAA112-0202(指定开始日期或读数)
如果是基于时间的,则默认日期显示“周期开始”的数据。
如果是基于计数器的,则默认读数是“开始计数器读数”的数据。
(3)执行者输入数据后,执行“确认”功能。
(4)系统根据规则BR-002进行合法性检查,检查通过后,根据规则BR-006.执行重排计划功能。
A6:
取消
参照一般规则。
略
A7:
下达调用
(1)执行者选中一条数据,执行“下达调用”功能。
(2)系统根据规则BR-009进行检查,检查通过后根据规则BR-010显示并整理数据。
(3)返回调用点。
A8:
固定调用
(1)执行者选中一条数据,执行“固定调用”功能。
(2)系统弹出界面AAA112-0206(固定调用日期)。
(3)执行者输入一个日期后执行“确认”功能。
输入的日期在一个计划日期和下一个计划日期之间。
(4)系统根据规则BR-009进行检查,检查通过后根据规则BR-010显示并整理数据。
(5)返回调用点。
A9:
忽略调用
(1)执行者选中一条数据,执行“忽略调用”功能。
(2)系统根据规则BR-009进行检查,检查通过后根据规则BR-010显示并整理数据。
(3)返回调用点。
A10:
显示调用对象
(1)执行者选中一条状态为“已调用”的记录,执行“显示调用对象”。
(2)系统根据规则BR-011显示界面AAA112-04(调用对象选择)。
(3)执行者选中一个或多个调用对象后,执行“显示对象”功能。
(4)系统调用:
AA-REQ-UC-XXXNNN(显示XXXX)进行维护。
将选中的第一条数据显示在界面上。
(5)执行者执行“返回”功能。
(6)系统自动将下一条数据显示在界面上。
(7)重复执行(5)-(6),直到最后一条数据,系统自动返回到界面AAA112-04。
(8)执行者执行“返回”;
(9)返回调用点。
A11:
完成
(1)执行者执行“完成”。
(2)系统根据规则BR-012进行检查,检查通过后,显示界面AAA112-0207(完成日期)。
(3)执行者输入完成日期后,执行“确认”功能。
完成日期在上次完成日期和当前系统日期之间。
(4)根据规则BR-010显示并且整理保存数据。
(5)返回调用点。
A12:
批量维护计划表
(1)系统根据规则BR-013进行。
业务规则
BR-001:
显示界面
(1)系统根据维护计划号到‘维护计划’类取得“计划策略”、“计划期间”、“计划期间的单位”、“近期完全的班次因子”、“早期完全的班次因子”、“近期确认的允差(%)”、“早期确认的允差(%)”、“周期改变系数”、“维护计划类型”、“计划标识”、“维护计划调用的调用期”、“维护周期之间关系连接符”、“开始日期”、“开始计数器读数”、“提前期缓冲天数”、“后继动作缓冲天数”、“激活标识”、“删除标识”、“仅在全部前趋之后才能创建新的调用对象”(即下面提到的“完成要求”)等属性值。
(2)系统根据维护计划号到“周期定义和维护计划的计量点”类中查找匹配对象,如果有记录,取出每条记录的“维护计划号”、“维护周期”、“基于维护包开始偏置的时间”(即下面提到的偏置量)、“部计数器”(多计数器时)、“计量点”、“维护任务的执行单位”等属性值。
(3)系统根据维护计划号到“维护项目”类中取出所有对象,形成如下集合:
维护项目集合-:
{(维护计划,维护项目,维护策略,项目编号,参考设备号,对象列表编号,任务清单组码,组计数器,工作中心,计划工厂,科目设置号,上一订单,装配,系统条件,订单类型,未激活标识,维护作业类型,作业围,结算规则,组,节点,维护项目类别,采购订单,采购订单项目号,结算订单,任务清单因子,通知单,通知类型),……}
(4)系统根据下面规则判断后显示相应界面元素:
//有策略:
计划标识只可能是0123不可能是4
系统判断“计划标识”属性值:
如果“计划标识”属性值=4(多计数器),则在界面中:
“多计数器”区域显示,否则隐藏;
“计划调用”TAB页上的计数器相关字段隐藏。
“维护计划参数”TAB页容显示AAA112-0201(多计数器维护参数)
如果“计划标识”属性值=3(基于性能),则在界面中:
“计划调用”TAB页上的计数器相关字段显示,否则隐藏。
“维护计划参数”TAB页的“计划标识”区域隐藏;“周期开始”隐藏。
如果“计划标识”属性值=0、1、2(自然天数、关键日期、工作天数),则在界面中:
“维护计划参数”TAB页的“计划标识”区域选中对应的单选按钮;“开始计数器读数”隐藏。
(5)“计划调用”TAB页字段的显示规则:
“到期包”:
只有是策略计划时才显示。
“完成计数器读数”、“下一个计划计数器读数”、“总计数器读数”、“单位”这几个字段只有在有计数器的情况下显示(多计数器除外)。
(6)把上面取得的属性值都显示在当前界面的对应字段中。
(7)系统根据维护计划号到“维护计划历史记录”类中查找匹配对象,如果不为空,则取出所有对象,将“计划类型”属性值=M(手工调用)的显示在“手工调用”TAB页,其它的显示在“维护计划调用对象”TAB页中,方式如下:
将匹配对象中“维护计划调用编号”相同(他们的到期包不同)的显示为一条记录,在“到期包”字段中将多个“包”显示,空格或分号隔开。
计划日期:
“下一个计划日期”属性值
调用日期:
“调用日期”属性值
完成日期:
“维护计划的上次完成日期”属性值
计划类型/状态:
计划类型根据“计划类型”的值显示:
N-新启动;T-计划的;Z-周期起始;M-手动调用
状态的显示:
如果“计划状态”属性值=F,则显示为“固定的”。
如果“计划状态:
调用未完成”属性值为真:
判断“调用日期”是否已经到期:
如果没有到期:
则显示为“保存”
如果已经到期,分下面两种情况说明:
A、“完成要求”标识为真:
a)第一条到期数据显示:
如果前面有状态为“已调用”的,则显示为“保存;否则显示为“调用的保存”。
b)其余到期数据都则显示为“保存”。
B、“完成要求”标识为空:
a)所有到期数据都显示为“调用的保存”。
如果“计划状态:
调用计划日期”属性值为真:
再判断“计划状态”属性值得值:
如果=X,则显示“忽略的”;
否则,再判断“维护计划的上次完成日期”属性值:
如果为空,则显示为“已调用”;
否则显示为“完成”。
实际差异:
如果“完成日期”不为空,则=完成日期-计划日期。
单位:
天
(8)界面上功能按钮“开始”、“循环开始”、“重新开始”的显示规则:
如果在“维护计划历史记录”类中没查找到匹配对象,此时界面上的功能“开始”、“循环开始”可用,“重新开始”不可用。
如果在“维护计划历史记录”类中找到匹配对象,此时界面上的功能“开始”不可用,“重新开始”可用。
BR-002:
合法性检查
(1)如果输入的是计数器读数,则输入的数不能大于默认显示的读数。
否则例外(错误:
输入的数大于计数器开始读数)。
(2)系统在上面的集合维护项目集合-中判断是否为策略计划,如果是,系统再根据获得的“对象列表编号”,“任务清单组码”,“组计数器”到“给任务清单工序分配维护包”类中查找“删除标识”不为真的匹配对象:
如果有匹配对象,取出所有对象形成下列结果集:
工序-策略包{(“任务清单类型”、“任务清单组码”、“组序号”、“任务清单节点数”、“维护策略”、“策略包编号”,“开始生效日期”),……}
否则,发出例外(错误:
没有策略包分配给工序)
维护项目集合-:
{(维护计划,维护项目,维护策略,项目编号,参考设备号,对象列表编号,任务清单组码,组计数器,工作中心,计划工厂,科目设置号,上一订单,装配,系统条件,订单类型,未激活标识,维护作业类型,作业围,结算规则,组,节点,维护项目类别,采购订单,采购订单项目号,结算订单,任务清单因子,通知单,通知类型),……}
BR-003:
排产计划
判断下面各种情况方法:
如果“计划标识”=4,则为多计数器
如果“策略计划”为空,且“计划标识”≠3(基于性能),则为单循环计划(时间)
如果“策略计划”为空,且“计划标识”=3(基于性能),则为单循环计划(性能/单计数器)
如果“策略计划”不为空,且“计划标识”≠3(基于性能),则为策略计划(时间)
如果“策略计划”不为空,且“计划标识”=3(基于性能),则为策略计划(性能/单计数器)
(1)如果是单循环计划(时间):
根据“开始日期”、“循环周期”、“偏置量”“周期改变系数”、“计划期间”、“调用期”计算计划日期和调用日期:
//开始日期来自于界面AAA112-0202中用户输入的。
第一个计划日期及第一个调用日期:
两种情况:
A、无偏置量:
第一个计划日=开始日期+循环周期*周期改变系数
第一个调用日期=开始日期+循环周期*周期改变系数*调用期
B、有偏置量:
第一个计划日=开始日期+偏置量*周期改变系数
第一个调用日期=开始日期+偏置量*周期改变系数*调用期
下一个计划日=上个计划日+循环周期*周期改变系数
下一个调用日=上个计划日+循环周期*周期改变系数*调用期
循环数=【“计划期间”-“偏置量”】/“循环周期”
如果“计划期间”的值为空,则只生成一次计划。
如果“计划标识”=0(自然天数),且“循环周期单位”=天,则计算循环周期时,要按自然天数计
算,即包括非工作天数。
如果“计划标识”=2(工作天数),且“循环周期单位”=天,则计算循环周期时,要按工作天数计
算,即只计算工作天数,不包括非工作天数。
如果“计划标识”=1(关键日期),此时“循环周期单位”只能是月,计划日期在每月的指定日期,
所以计划日期在区间【1,28】上。
将上面生成的每个记录都放入下面的集合中:
历史记录集-:
{(计划号,调用号,策略包,计划类型,周期起始,最后完成日期,当前循环
偏置,上次偏置,调用日期,周期改变系数,计划标识,上次计划日期,前驱完成,手工调用,计
划状态-调用计划日期,计划状态-调用未完成,计划状态-没有获得横向调用,计划状态-手工停止,
调用日期,先前调用号,维护包周期,调用日期总计数器读数,提前期缓冲天数,后续动作缓冲天
数,开始计数器读数,计数器读数确认,下一个计划的计数器读数),}
计划号:
当前的维护计划号
调用号:
按照生成记录的先后顺序从1开始递增1、2、3……。
如果原来已经有数据,则接着原来
的号递增。
策略包:
01
计划类型:
N(新启动);T(计划的)
当前计划日期如果已经到期,则为N;当前计划日期还未到期,则为T。
周期起始:
在界面AAA112-0202的“周期开始”用户输入的日期
最后完成日期:
为空。
当被执行“完成”功能后,更新为当前系统日期。
当前循环偏置:
第一个计划日期的值=偏移量*周期改变系数;其余的=循环周期*周期改变系数
上次偏置:
上个计划日期对应的“当前循环偏置”
调用日期(排计划日期):
当前系统日期
周期改变系数:
已经在“维护计划”类中提取出来的周期改变系数
计划标识:
已经在“维护计划”类中提取出来的计划标识
上次计划日期:
前一个调用号的计划日期
前驱完成:
前一个调用号的最后完成日期。
手工调用:
空。
计划状态-调用计划日期:
调用日期已经到期时为真。
计划状态-调用未完成:
调用日期没到期时为真。
和上面的“计划状态-调用计划日期”互逆。
计划状态-没有获得横向调用:
没有生成调用对象时为真。
正常情况下,和“计划状态-调用未完成”一致。
计划状态-手工停止:
空。
调用日期:
上面计算得出的调用日期。
当“计划状态-调用计划日期”为真是更新为空值。
先前调用号:
上一个调用号
维护包周期:
上面在“周期定义和维护计划的计量点”中获得的“基于维护包开始偏置的时间”
结合历史记录集-和维护项目集合-两个集合,生成下列集合:
对维护项目集-中的每个项目都和历史记录集-中的记录做一次匹配(即两个集合做笛卡
尔乘积)
从维护订单调用对象-:
{(计划号,调用号,维护项目,订单,对象调用的完成日期,完成时
间,计划状态-没有获得横向调用,基本开始日期,通知单),……)}:
计划号:
当前的计划号
调用号:
历史记录集-中
维护项目:
维护项目集-中
订单:
调用外部生成维护订单。
调用对象的完成日期:
为空;当执行“完成”功能后,更新为系统日期
完成时间:
为空;当执行“完成”功能后,更新为系统时间
计划状态-没有获得横向调用:
当订单(?
?
)属性为空时为真,否则为假。
//与“订单”互逆。
基本开始日期:
历史记录集-中的计划日期。
当有订单时,更新为空。
通知单:
暂略
维护项目集-:
{(维护计划,维护项目,……,对象列表编号,任务清单组码,组计数器,
工作中心,计划工厂,科目设置号,上一订单,……),……}
历史记录集-:
{(计划号,调用号,策略包,计划类型,周期起始,最后完成日期,当前循环
偏置,上次偏置,调用日期,周期改变系数,计划标识,上次计划日期,前驱完成,手工调用,计
划状态-调用计划日期,计划状态-调用未完成,计划状态-没有获得横向调用,计划状态-手工停止,
调用日期,先前调用号,维护包周期,调用日期总计数器读数,提前期缓冲天数,后续动作缓冲天
数,开始计数器读数,计数器读数确认,下一个计划的计数器读数),}
(2)如果是单循环计划(性能/单计数器):
A:
周期开始日期的计算:
【当前计数器读数的日期】-【(当前计数器读数-周期开始读数)/(年度评估数/365)】
第一个“计划日期”、“调用日期”和“第一个计数器读数”的计算:
两种情况:
●有偏置量
第一个计划日期:
周期开始日期+偏置量*周期改变系数/日平均数
第一个调用日期:
周期开始日期+【偏置量*周期改变系数/日平均数】*调用期
第一个计数器读数:
周期开始读数+偏置量*周期改变系数
●无偏置量
第一个计划日期:
周期开始日期+周期*周期改变系数/日平均数
第一个调用日期:
周期开始日期+【周期*周期改变系数/日平均数】*调用期
第一个计数器读数:
周期开始读数+周期*周期改变系数
下一个计划日期=周期开始日期+偏置天数(计划)//也可简化为上个计划日期+周期间隔
偏置天数(计划)=偏置读数/日平均数
偏置读数=下一个计数器读数-开始计数器读数//开始日期来自于界面AAA112-0202中用户输入
下一个计数器读数=上次读数+周期间隔
周期间隔=周期*周期系数//头一个周期间隔=偏置量*周期改变系数
下一个调用日期=上个计划日期+偏置天数(间隔)//上个计划日期+周期间隔*调用期
偏置天数(间隔)=【本次偏置天数(计划)-上次偏置天数(计划)】*调用期
循环数=【“计划期间”-“偏置量*周期改变系数/日平均读数”】/【“循环周期”*“周期改变系数”/日平均数】
如果“计划期间”的值为空,则只生成一次计划。
B:
将上面生成的每个记录都放入下面的集合中:
历史记录集-:
{(计划号,调用号,策略包,计划类型,周期起始,最后完成日期,当前循环
偏置,上次偏置,调用日期,周期改变系数,计划标识,上次计划日期,前驱完成,手工调用,年
度评估,计划状态-调用计划日期,计划状态-调用未完成,计划状态-没有获得横向调用,计划状态
-手工停止,调用日期,先前调用号,维护包周期,调用日期总计数器读数,提前期缓冲天数,后续
动作缓冲天数,开始计数器读数,计数器读数确认,下一个计划的计数器读数),}
计划号:
当前的维护计划号
调用号:
按照生成记录的先后顺序从1开始递增1、2、3……。
如果原来已经有数据,则接着原来
的号递增。
策略包:
01
计划类型:
N(新启动);T(计划的)
当前计划日期如果已经到期,则为N;当前计划日期还未到期,则为T。
周期起始:
上面计算获得的“周期开始日期”
最后完成日期:
为空。
当被执行“完成”功能后,更新为当前系统日期。
当前循环偏置:
“维护包周期/偏置”(即循环周期)
上次偏置:
“维护包周期/偏置”(即循环周期)
调用日期(排计划日期):
当前系统日期
周期改变系数:
已经在“维护计划”类中提取出来的周期改变系数
计划标识:
已经在“维护计划”类中提取出来的计划标识
上次计划日期:
前一个调用号的计划日期
前驱完成:
前一个调用号的最后计划日期。
手工调用:
空。
年度评估:
上面获取的计量点的“年度评估值”
计划状态-调用计划日期:
调用日期已经到期时为真。
计划状态-调用未完成:
调用日期没到期时为真。
和上面的“计划状态-调用计划日期”互逆。
计划状态-没有获得横向调用:
没有生成调用对象时为真。
正常情况下,和“计划状态-调用未完成”一致。
计划状态-手工停止:
空。
调用日期:
上面计算得出的调用日期。
当“计划状态-调用计划日期”为真是更新为空值。
先前调用号:
上一个调用号
维护包周期:
“维护包周期/偏置”(即循环周期)
调用日期总计数器读数:
当前计数器的当前读数(最大计量凭证读数)
提前期缓冲天数:
空
后续动作缓冲天数:
空
开始计数器读数:
界面AAA112-0202中输入的周期开始读数。
计数器读数确认:
空
下一个计划的计数器读数:
上面计算得出的“下一个计数器读数”
如果记录中有“计划日期”已经过期的,则把“计划日期”更新为系统当天日期。
结合历史记录集-和维护项目集合-两个集合,生成下列集合:
对维护项目集-中的每个项目都和历史记录集-中的记录做一次匹配(即两个集合做笛卡
尔乘积)
从维护订单调用对象-:
{(计划号,调用号,维护项目,订单,对象调用的完成日期,完成时
间,计划状态-没有获得横向调用,基本开始日期,通知单),……)}:
计划号:
当前的计划号
调用号:
历史记录集-中
维护项目:
维护项目集-中
订单:
调用外部生成维护订单。
调用对象的完成日期:
为空;当执行“完成”功能后,更新为系统日期
完成时间:
为空;当执行“完成”功能后,更新为系统时间
计划状态-没有获得横向调用:
当订单属性为空时为真,否则为假。
基本开始日期:
历史记录集-中的计划日期。
通知单:
调用外部生成维护通知单
(3)如果是策略计划(时间):
由维护项目集合-和工序-策略包两个集合根据{“任务清单类型”、“任务清单组码”、“组序号”}形成一个新集合“维护项目-策略包”:
{(维护计划,维护项目,“任务清单类型”、“任务清单组码”、“组序号”、“任务清单节点数,维护策略、“策略包编号”、“开始生效日期”),(),……}
对“维护项目-策略包”集合中的每个“策略包编号”(上面记录可能有相同的包,每个包只取一次即可)到“维护计划策略包”类中根据“维护策略”和“策略包编号”取出每个策略包的属性:
策略包-{(策略包编号,周期长度,计量单位,策略包优先级,提前缓冲天数,后继缓冲天数,基于维护包开始偏置的时间),(),……}
根据策略包-中的每个包进行一次计划日期排产,形成一个临时集合:
计划日期-策略包:
{(计划日期,调用日期,策略包编号,策略包优先级),(),……}
再把“维护项目-策略包”和计划日期-策略包进行组合(根据具有相同的包):
{(维护项目,策略包编号,策略包优先级,开始生效日期,计划日期,调用日期),(),……}
做如下处理:
A、集合中“计划日期”早于“开始生效日期”的记录删除。
B、找出计划日期相同的数据,比较他们的“策略包优先级”大小,如果不相同,则只保留优先级最大的,其它的删除。
根据剩余的数据集做如下处理:
A、按照计划日期将记录做升序排列
B、给每个数据分配一个“调用号”属性,但是计划日期相同的要分配相同的“调用