鲁棒图与系统需求分析
鲁棒图(Robustness Diagram)是由Ivar Jacobson于1991年发明的,用以回答“每个用例需要哪些对象”的问题。后来的UML并没有将鲁棒图列入UML标准,而是作为UML版型(Stereotype)进行支持。对于RUP、ICONIX等过程,鲁棒图都是重要的支撑技术。当然,这些过程反过来也促进了鲁棒图技术的传播。
而“鲁棒图(Robustness Diagram)”的作用,除了初步设计之外,就是检查用例规约是否正确和完善了。“鲁棒图”正是因为后者检查的作用,而得其名的——所以“鲁棒图(Robustness Diagram)”严格来讲所指不是“鲁棒性(Robustness)”。
http://blog.sina.com.cn/s/blog_63641501010184cb.html
1、概念
鲁棒图——是需求设计过程中使用的一种方法(鲁棒性分析),通过鲁棒分析法可以让设计人员更清晰、全面了解需求。它通常使用在需求分析后及需求设计前做软件架构分析之用,它主要注重于功能需求的设计分析工作。需求规格说明书为其输入信息,设计模型为其输出信息。它是从功能需求向设计方案过渡的第一步,重点是识别组成软件系统的高级职责模块、规划模块之间的关系。
包含三种图形:边界、控制、实体。
边界——起与外界交互的作用,它只能与控制对象和执行者有关系
控制——对业务控制、流程控制的作用,它能与边界对象和实体对象有关系
实体——业务元素的存储对象,与领域模型中的对象有良好的关系。它只能与控制对象有关系
2、特点
鲁棒图分析方法与具体的技术没有任何关系。它抛开了很多具体的技术细节,使用它分析需求的时候主要抓住概念性设计的本质,规划需求,分析需求,找出需求中关系问题的解决策略。常应用以下场景:
a、与用户讨论、收集需求时一般都使用用例,很少使用鲁棒图,但有时讨论到比较细节、复杂的业务规则,可使用鲁棒图来当场整理清楚业务规则。也方便后继的分析。
b、用户只提供简单需求,无法提供更多内容的时,使用鲁棒图主要是由需求或设计人员为用户整理出用户的业务需求及规则。
c、在需求不明确时,可用鲁棒图代替用例,好处是可同时分析出用例以及可能性预见的流程及逻辑对象。
d、在需求明确但复杂时,用来做系统功能设计分析。可分析出系统功能的流程及逻辑对象。
3、订单流程实例说明
a、需求用例
b、鲁棒分析图
以部门为主时分配审核、执行人员的鲁棒图
以人员为主时分配审核、执行人员的鲁棒图
在画鲁棒图时可粗可细。对需求的理解越不清楚越要画细些,才遗漏需求点,同时也可发现需求中的问题。
通过鲁棒分析法可以把需求中的名词和动词整理出来。名词产生将要使用的对象和对象属性,动词产生界面或其它形式的动作。