知识卡片
鲁棒图的增量建模技巧
内容
画[[鲁棒图作为从功能需求到设计的桥梁]]的关键技巧是”增量建模”——很多人训练前会感叹”建模难”,但专门训练增量建模技巧之后往往会发现,建模能力的提升核心在于掌握符合思维规律的方法,而不是掌握某种一步到位的标准流程。增量建模的第一步是识别最”明显”的职责——不要认为设计和建模有严格的标准答案,先凭直觉找出自己认为最重要的那几个职责。以”按作者名搜索图书”功能为例:首先识别出搜索功能最终要在”结果界面”这个边界对象上显示”Search Result信息”,”获得搜索结果”是最重要的控制对象,输入是”作者名字”实体对象,输出是”Search Result信息”实体对象。第二步开始考虑职责间的关系、并发现新职责:”获得搜索结果”要生成”Search Result信息”,光有”作者名字”还不够,需要引入”图书信息”实体对象,或者把”书目信息”和”图书详细信息”拆分开(前者结构专为快速检索设计以提升性能)。第三步继续同样的思维方式,引入”显示搜索结果”控制对象,让顾客能真正从边界对象”结果界面”上看到结果。这个过程是靠设计者不断问自己问题来驱动的:”作者名字从何而来?”“用户的输入要不要做合法性检查?”“三个空格算不算合法的作者名字输入?”——每问出一个问题、给出一个答案,就可能发现一个此前遗漏的边界对象或控制对象(比如”Search界面”边界对象、”获得搜索条件”和”检查输入合法性”控制对象),模型逐渐从粗略走向完善。这个技巧还揭示了一条实践要领——”初步设计不应关注细节”:鲁棒图中不关心”活期账户销户界面”具体是对话框还是Web页面、不关心实体对象要不要持久化、不识别对象的属性和方法、也不标识控制流的严格顺序,这些细节都留给后续更细化的设计阶段处理,增量建模阶段只专注于发现职责本身。