面对一个复杂业务系统,我不会先问需要多少个页面。我会先找四样东西:谁在使用、他们处理什么对象、对象会经过哪些状态、出了问题由谁接住。
以服务订单为例,订单不只是数据库里的一行。它可能经历待确认、待付款、处理中、已完成、已取消和售后中。不同角色能看到的内容不同,能够执行的动作也不同。支付成功但业务处理失败、服务完成但客户没有确认、退款申请已经提交但钱还没有到账,都是必须单独处理的状态。
如果这些关系没有说清楚,页面越多,混乱越难发现。一个按钮可能同时代表申请、批准和完成;一个“成功”提示可能掩盖外部系统还没有返回结果。
我通常先画一张简单的对象与状态图,再选择一条关键路径。然后让页面、接口、数据、权限、任务和异常处理一起经过这条路径。需要人工确认的地方写明,需要等待外部结果的地方保留中间状态。
最后才是扩展更多角色、报表和自动化。系统的复杂度不会消失,但可以被放在正确的位置,让使用者不必靠记忆和猜测维持日常工作。