软件设计师知识点
UML建模
一.UML类图关系
总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖。
聚合的局部和整体可以分离,组合则不可分离,同生命周期。
二.UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
包含:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含的关系来表示它们。其中这个提取出来的公共用例成为抽象用例,而把原始用例成为基本用例或基础用例。其中“<>”是包含关系的构造型,箭头指向抽象用例。
例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。
扩展:如果一个用例明显地混合了两种或者两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样可能会使描述更加清晰。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此他能根据基用例中扩展点的当前状态来决定是否执行自己。而扩展用例对基用例不可见。如机房收费系统中“维护学生信息”操作时如果发现信息有误或者更新则需要使用“修改学生信息”用例完成更新,所以用例“查询上机记录”和“导出EXCEL”之间的关系就是扩展关系。“<>”是扩展关系的构造型,箭头指向基本用例。
包含关系和扩展关系的联系和区别
联系:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。
区别:
包含关系中基本用例的基本流执行时,包含用例一定会执行。
****扩展关系中基本用例的基本流执行时,扩展用例不一定执行