您的当前位置:首页软件设计师备考 | 案例专题之面向对象设计 概念与例题

软件设计师备考 | 案例专题之面向对象设计 概念与例题

2024-07-07 来源:乌哈旅游

相关概念

关系

依赖:一个事物的语义依赖于另一个事物的语义的变化而变化
关联:一种结构关系,描述了一组链,链是对象之间的连接。分为组合和聚合,都是部分和整体的关系,其中组合事物之间关系更强。两个类之间的关联,实际上是两个类所扮演角色的关联,因此,两个类之间可以有多个由不同角色标识的关联。箭头指向主体。
泛化:一般/特殊的关系,子类和父类之间的关系。子类指向父类比如学生和高中生、研究生、大学生的关系
实现:一个类元指定了另一个类元保证执行的契约
多重度:代表一个用例与另外一个用例的对应关系

类图

用例图

静态图,展现了一组用例、参与者以及它们之间的关系。

用例图中的参与者是人、硬件或其他系统可以扮演的角色;用例是参与者完成的一系列操作。用例之间的关系:包含(include)、扩展(extend)、泛化。

包含

(1)当可以从两个或两个以上的用例中提取公共行为时,应该使用包含的关系来表示它们。其中这个提取出来的公共用例成为抽象用例,而把原始用例成为基本用例或基础用例。其中<<include>>是包含关系的构造型,箭头指向抽象用例。
例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。
(2)一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。

例题

某中医医院拟开发一套线上抓药 APP,允许患者凭借该医院医生开具的处方线上抓药,
并提供免费送药上门服务。该系统的主要功能描述如下:

现采用面向对象分析与设计方法开发上述系统,得到如图 3-1所示的用例图以及图 3-2所示的类图。

【问题1】(7 分)
根据说明中的描述,给出图 3-1 中 A1、A3 所对应的参与者名称和 U1U4 处所对应的用例名称
【问题 2】(5 分)
根据说明中的描述,给出图|3-2 中 C1-C5 所对应的类名。
【问题 3】(3 分)
简要解释用例之间的 include、extend 和 generalize 关系的内涵。

回答1    A1:患者     A2:快递人员     A3:药师    U1:确认处方   U2:支付宝

回答2    C1:支付方式     C2:微信     C3:支付宝  (C2和C3可以互换)    C4:处方     C5:药品

回答3   

包含(include):一个用例包含另一个用例,当基本用例执行时,被包含用例一定会执行。包含关系由基本用例指向被包含用例,关系是一条带箭头的虚线,虚线上包含<<include>>。

扩展(extend):当一个用例执行时,可能会出现特殊情况和可选情况,这个时候就会执行扩展用例。扩展关系由扩展用例指向基本用例,关系是一条带箭头的虚线,虚线上包含<<extend>>。

泛化(generalize):父用例泛化子用例,子用例继承父用例的所有属性和行为,并且父用例可以出现的地方,子用例都可以将其替换。

  

因篇幅问题不能全部显示,请点此查看更多更全内容