从本期开始,通过通俗易懂的盖浇饭系统,介绍9种图的使用场景和作用。尽量避免学习语言的枯燥和晦涩,让各位对SysML语言有直观的印象。
对于盖浇饭系统,首先要考虑的是涉众需求,为什么需要盖浇饭系统?对于盖浇饭系统,其利益相关者有顾客、老板、服务人员及相关法律法规,各利益相关者对于盖浇饭系统的需求是什么?为了需求的精细化管理,对需求进行条目化,得到如下的涉众需求:
表1:涉众需求
需求ID | 需求标题 | 需求内容 | 利益相关者 |
StRs001 | 食品卫生 | 盖浇饭要干净卫生 | 顾客 |
StRs002 | 食品价格 | 盖浇饭的价格要控制在20元之内 | 顾客 |
StRs003 | 快速 | 从点餐到上菜,不超过5分钟 | 顾客 |
StRs004 | 食品质量 | 要保证有肉 | 顾客 |
StRs005 | 菜品种类 | 五种以上菜品供选择 | 顾客 |
StRs006 | 菜品重量 | 可以吃饱 | 顾客 |
StRs007 | 利润 | 每天净利润1000元以上 | 老板 |
StRs008 | 领取工资 | 每个月领取工资3000元 | 服务人员 |
StRs009 | 卫生标准 | 达到国家对餐饮行业的卫生要求 | 法律法规 |
StRs010 | 相关费用 | 按时交齐工商、卫生、税务相关费用 | 法律法规 |
我们是不会根据涉众需求来设计开发盖浇饭系统的,要对涉众需求进行分析,形成盖浇饭的系统需求,依据系统需求进行相应开发。通过对涉众需求分析可知,盖浇饭系统需求可分为功能需求和性能需求。
(1)功能需求
功能需求分析
(2)性能需求
性能需求分析
这样通过分析,得到盖浇饭系统的系统需求,如下:
表2:系统需求
需求ID | 需求标题 | 需求内容 | 需求类型 |
SyRs001 | 盖浇饭种类 | 系统提供五种类型的盖浇饭 | 功能需求 |
SyRs002 | 盖浇饭质量 | 系统提供的盖浇饭保证有肉 | 功能需求 |
SyRs003 | 盖浇饭单价 | 系统提供的盖浇饭单价为20元 | 性能需求 |
SyRs004 | 盖浇饭重量 | 系统提供的盖浇饭重量为250克 | 功能需求 |
SyRs005 | 卫生质量 | 系统需要保证盖浇饭及环境卫生 | 功能需求 |
SyRs006 | 收入统计 | 系统具有资金记录统计功能 | 功能需求 |
SyRs007 | 产量 | 系统每天生产100份以上盖浇饭 | 性能需求 |
SyRs008 | 生产速度 | 系统可在3小时内生产100份盖浇饭 | 性能需求 |
SyRs009 | 员工工资 | 系统支付员工工资为每月3000元 | 性能需求 |
SyRs010 | 员工数量 | 系统支持员工数量不超过五个 | 性能需求 |
SyRs011 | 相关费用 | 系统按20人同时就餐条件缴纳相关税费 | 性能需求 |
这样我们就有了盖浇饭系统的系统需求,接下来的工作就是通过SysML对盖浇饭系统进行建模。实际建模中根据项目需求可在9种图中进行裁剪,本案例为了让大家对SysML有个全面的认识,会分别对9种图进行介绍噢。
对于系统工程师来说,指定系统用例是一种常见的设计活动,通过用例来替代系统的功能需求,那么什么是用例呢?
简单来说,用例是特定的一系列动作,系统可以通过用例与外部角色来交互,以提供服务。从实践的角度,用例要定义系统边界,边界内是系统,边界外是外部角色,再按照某种规则(如时间、业务逻辑、组成单元等)对系统进行划分,形成用例。
用例图包括系统边界、用例、外部角色和关联关系,对于盖浇饭系统,其用例图如下所示:
盖浇饭系统用例图
划分用例采用“高聚合、低耦合”的思路,对盖浇饭系统进行分析,可划分为制作米饭、制作菜品、出售盖浇饭和统计收入四个用例,对于制作菜品,由于有种类的要求,每种的制作工艺都不同,又细分为五个子用例。在盖浇饭系统边界外部,与员工、顾客及老板三个角色进行交互。通过用例图,实现对功能需求的覆盖:
表3:用例对功能需求的覆盖
需求ID | 需求标题 | 需求内容 | 依赖用例 |
SyRs001 | 盖浇饭种类 | 系统提供五种类型的盖浇饭 | 制作菜品、制作米饭 |
SyRs002 | 盖浇饭质量 | 系统提供的盖浇饭保证有肉 | 制作菜品 |
SyRs004 | 盖浇饭重量 | 系统提供的盖浇饭重量为250克 | 出售盖浇饭 |
SyRs005 | 卫生质量 | 系统需要保证盖浇饭及环境卫生 | 制作菜品 |
SyRs006 | 收入统计 | 系统具有资金记录统计功能 | 统计收入 |
完成了用例图之后,即可基于用例进行系统建模啦!
联系客服