当前位置: 首页 > news >正文

评张逸“双环驱动”文章中的用例规约(07-01)

评张逸“双环驱动”文章中的用例规约(01-05)

评张逸“双环驱动”文章中的用例规约(06)


原文[07]

点击“新建订单”

(1)用词不一致

用例名是“创建生产订单”,这里写“新建订单”,是有所考虑还是习惯性换词?

(2)把假想的“界面设计”当成需求

功能需求是“系统应允许计划员向其请求新建生产订单”,以用例规约的形式表达,这一句应该写成:

计划员请求新建生产订单

到底是通过点击某个控件还是别的交互方式来做到,不是功能需求,不能写在用例的步骤里。

但有人会忍不住想加点什么或者多发挥一下。

例如,有的人选择写【点击“新建订单”】,而且有理由:界面很重要!有的时候功能差不多的系统在市场上分高低,靠的就是界面看得舒服一点,用得舒服一点。我这也是为用户考虑啊!

(前文说过,“用户”一词不严谨,应该写“涉众”。此处为了贴合所描述的场景,依然使用“用户”。)

甚至他还有更进一步的理由:我问过用户了,他说【点击“新建订单”】可以!

甚至还有比更进一步还要更进一步的理由:这可不是我瞎编的,是用户告诉我的!他的原话就是,我想点这么一下,然后这么一下,然后又这么一下……

有的人受过一些需求技能的训练,知道写【点击“新建订单”】不妥,但不加点什么东西又觉得不踏实,思来想去,加个“可用性需求”吧:界面要以用户为中心,方便易用,高端大气上档次,低调奢华有内涵……。

有的人懂得更多,他讥笑:什么以用户为中心,方便易用,这是废话!“可用性需求”应该写“手指的操作次数不得超过**”——这个肯定没问题,就算要求严格的潘老师,也是这么写。

可是,还是不行啊!

我们来把背后的道理一点点讲清楚。

**********

首先要说明一下:

根据前文的评点,这个用例规约可以不需要【计划员点击“新建订单”】或【计划员请求新建生产订单】这样一个步骤,但为了评点[07],我们暂时忽略这一点,强制认为有【计划员请求新建生产订单】这么一个步骤。

好,我们开始。

【计划员请求新建生产订单】这个步骤(功能需求),是建模人员在业务建模和需求工作流推导出来的,例如,从现状业务流程推导出目标系统有一个用例【计划员→创建生产订单】,然后再从这个用例推导需要哪些步骤,得到其中一个步骤【计划员请求新建生产订单】。

假设【计划员请求新建生产订单】这个步骤不再加其他补充约束,就这么一句功能需求,我们来看接下来怎么做。

接下来是分析工作流,我们会添加或更新【计划员界面】边界类。注意,这里说的是“添加或更新”。

如果在【计划员→创建生产订单】用例之前,已经有以计划员为Actor的其他用例进入过分析工作流,那么之前已经存在【计划员界面】这个分析边界类。

此时,分析【计划员→创建生产订单】的用例规约得到的边界类责任,被更新到已有的【计划员界面】边界类上,也许是新增责任,也许是复用已有的责任——是的,有可能之前分析别的用例时已经理出了完全一样的责任。

到此,即使还没有进入设计工作流的交互设计环节,只考虑分析的边界类,也已经看出问题了。

张逸老师设想了这样的图形界面实现:

点击“新建订单”。输入订单基本信息(订单编号、产品编码、数量、交期)……

其实也可以考虑在拥有某一个输入信息且拥有较多参考信息的已有窗体上操作,例如,在展示销售订单的窗体上请求生成生产订单(用例规约的简要描述有写:根据销售订单或预测需求在MES中创建生产订单)。

★张逸老师所给的用例规约中,“基本流程”以下的内容似乎和“简要描述”所说的“根据销售订单或预测需求在MES中创建生产订单”不一致,这个问题另外评点。

分析工作流的边界类只提炼输入、输出的责任以及需要流动的核心域Item,不假设任何的实现。

接下来是D-设计工作流,开始考虑具体的实现。

在设计工作流,和人类Actor交互的边界类(例如【计划员界面】),会比其他边界类多一个交互设计的环节。

===待续===

http://www.jsqmd.com/news/1328436/

相关文章:

  • 适合新媒体内容创作者2026零成本一键提取链接视频,每月可省22小时素材整理时间
  • 华东化工大学J. Mater. Chem. A:1000℃碳热冲击制备高熵合金/碳纳米片,实现-54.4 dB超强微波吸收
  • OpenHarmony中React Native滑动删除功能实现与优化
  • 2026汽车零部件检测如何选?5款工业相机专业测评合集 - 资讯在线
  • 终极指南:掌握这款开源Windows屏幕标注神器的核心功能
  • 二叉树遍历与递归:数据结构核心与应用实践
  • 2026北京奢侈品包包回收价格指南 - 一日一测评
  • AI Agent驱动F2A开发:从自然语言需求到完整可运行项目
  • 当孩子打开VS Code,他们面对的不是编程,而是工具本身 - 科技焦点
  • Matlab优化光伏逆变器无功响应配置方法
  • Android安全存储:DataStore与Keystore加密实践
  • 快速入门指南:用wxauto轻松构建你的微信自动化助手
  • 公众号排版不用愁|免费SVG动画工具+海量精美素材,新手也能上手 - 鹅鹅鹅ee
  • 空气悬挂直销方案:浩渺宇星减震科技解析 - 资讯在线
  • 太原装修行业优质 GEO 服务商大盘点,附获客效果与签单转化体系深度解析 - 资讯123
  • OpenClaw开源情报工具:模块化架构与实战应用解析
  • 重庆教育行业优质 GEO 服务商全业态大盘点,附获客效果与转化增长体系深度解析 - 资讯123
  • 3步搞定Windows电脑安装APK:告别模拟器的轻量级解决方案
  • 郑州芬尼销售门店哪家专业:【芬尼】明码实价 - 18002239949
  • 如何永久保存B站视频:m4s-converter跨平台无损转换工具完整指南
  • 聊聊蓝牙7.0之HDT
  • 智能网联汽车安全架构与车外直连通信技术解析
  • 汽车制造、五金件检测生产线质检不掉链——2026工业相机横向选型指南 - 资讯在线
  • 广州包包回收怎么选?闲置大牌包包规范变现攻略 - 奢侈品回收知识分享
  • 2026全国大学生电子设计竞赛:从零到一的系统性备赛指南与实战路径
  • 可口可乐披露勒索软件攻击:美国乳业生产被迫中断,供应链面临大考
  • OpenClaw开源AI框架解析:模块化设计与行业应用
  • 银川装修行业优质 GEO 服务商大盘点,附获客效果与签单转化体系深度解析 - 资讯123
  • MAA助手:明日方舟玩家的5分钟自动化终极指南,彻底解放你的游戏时间!
  • PT助手Plus:5分钟搞定PT站点种子管理的神器