该审稿系统共抽象出5个核心类,分别为Conference(会议)、User(用户)、Subject(会议主题)、Review(审阅意见)、Paper(稿件)
该审稿系统共抽象出5个核心类分别为Conference会议、User用户、Subject会议主题、Review审阅意见、Paper稿件各分类的属性与行为如下表所示2. 类间关系与约束说明在面向对象设计中类之间的关系定义了系统的静态结构本系统的核心关系如下聚合关系Conference会议与Paper稿件为聚合关系即一个会议可以包含多篇稿件稿件可以独立于会议存在。角色划分User用户分为三类角色普通用户、作者author、审稿人reviewer不同角色拥有不同的操作权限。业务约束为保证审稿公平性系统设置核心约束某一稿件的审稿人不可以是本稿件的作者使用对象约束语言OCL表示为reviewer.intersection(authors)-isEmpty即审稿人集合与作者集合的交集为空。3. 类抽象原则在面向对象分析过程中满足以下条件的概念应当被抽象为独立的类 1. 具有多个可区分的属性 2. 存在可执行的独立行为 3. 可以作为系统中独立的实体参与交互。 本系统中的5个类均符合上述原则是业务领域核心实体的合理抽象。二、配套试题一单项选择题每题2分共10题在UML类图中类的属性通常放在类矩形的哪个部分 A. 最上层 B. 中间层 C. 最下层 D. 任意位置本案例中Conference类和Paper类之间的聚合关系在UML类图中用哪种符号表示 A. 空心菱形箭头 B. 实心菱形箭头 C. 空心三角箭头 D. 虚线箭头面向对象设计中一个类只负责一项职责属于以下哪个设计原则 A. 开闭原则 B. 单一职责原则 C. 里氏替换原则 D. 接口隔离原则本系统中Review类的enterReview行为其核心功能是 A. 创建新的审稿任务 B. 录入审稿评价内容 C. 分配审稿人 D. 发布审稿结果以下哪个不属于UML类图中类之间的关系 A. 关联 B. 聚合 C. 继承 D. 执行对象约束语言OCL主要用于什么场景 A. 编写业务代码 B. 描述类图中的约束规则 C. 绘制类图 D. 测试系统功能本系统中User类分为作者、审稿人等角色这种角色划分最适合用以下哪种设计模式实现 A. 单例模式 B. 策略模式 C. 观察者模式 D. 工厂模式以下哪个类负责管理稿件的审阅结果信息 A. Conference B. User C. Paper D. Review开闭原则的核心含义是 A. 对修改开放对扩展封闭 B. 对扩展开放对修改封闭C. 对用户开放对开发者封闭 D. 对开发者开放对用户封闭本系统中稿件上传功能属于哪个类的行为 A. User B. Paper C. Review D. Conference二多项选择题每题3分共5题以下属于本系统中User类属性的有 A. name B. email C. passwd D. paperIDUML类图中类的组成部分包括 A. 类名 B. 属性 C. 方法/行为 D. 实例对象面向对象的三大基本特性包括 A. 封装 B. 继承 C. 多态 D. 模块化本审稿系统的核心业务约束包括 A. 一个会议可以包含多篇稿件 B. 审稿人不能是所审稿件的作者C. 用户必须注册才能投稿 D. 稿件可以属于多个会议以下属于面向对象设计原则的有 A. 单一职责原则 B. 依赖倒置原则 C. 迪米特法则 D. 快速迭代原则三判断题每题2分共10题类图描述的是系统的动态行为而非静态结构。 聚合关系表示整体与部分的关系部分不能独立于整体存在。 本系统中Paper类的updateStatus行为用于更新稿件的审稿状态。 面向对象设计中类是对象的实例对象是类的模板。 关联关系是类之间最常见的关系表示类之间的语义连接。 Review类的originality属性用于评价稿件的原创性。 类的行为只能修改自身类的属性不能修改其他类的属性。 本系统中用户可以同时拥有作者和审稿人两种角色。 UML是统一建模语言的缩写是面向对象建模的标准语言。 类图设计完成后就不能再进行修改调整。 四简答题每题5分共3题请简要说明本审稿系统中Conference类和Paper类的聚合关系的含义并说明聚合与组合的区别。请解释本系统中审稿人不能是所审稿件的作者这一约束的业务意义并用自然语言描述如何在系统中实现该约束。结合本案例说明在面向对象分析过程中将一个概念抽象为类的主要判断标准是什么三、试题参考答案一单项选择题答案B 解析UML类图的矩形分三层上层为类名中层为属性下层为方法/行为。A 解析聚合用空心菱形箭头表示组合用实心菱形箭头表示继承用空心三角箭头表示依赖用虚线箭头表示。B 解析单一职责原则要求一个类仅有一个引起它变化的原因只负责一项职责。B 解析enterReview行为的功能是输入审阅意见即录入审稿的各项评价内容。D 解析类之间的关系包括关联、聚合、组合、继承、依赖、实现等执行不属于类间关系。B 解析OCL是一种形式化语言用于描述UML模型中的约束规则不涉及具体实现代码。B 解析策略模式可以将不同角色的行为封装为不同的策略类实现角色行为的灵活切换。C 解析Paper类的result属性用于存储审阅结果负责管理稿件的最终审稿结论。B 解析开闭原则要求软件实体应当对扩展开放对修改封闭通过扩展实现需求变化而非修改已有代码。B 解析upload是Paper类的行为用于完成稿件的上传操作。二多项选择题答案ABC 解析paperID是Paper类的属性其余三项均为User类的属性。ABC 解析类图中类的表示由类名、属性、方法三部分组成实例对象不属于类的组成部分。ABC 解析封装、继承、多态是面向对象的三大基本特性模块化是软件工程的通用原则。ABC 解析稿件只能属于一个会议D选项错误其余均为系统核心约束。ABC 解析快速迭代是敏捷开发的原则不属于面向对象设计原则其余三项均为经典设计原则。三判断题答案× 解析类图描述的是系统的静态结构序列图、状态图等描述动态行为。× 解析聚合关系中部分可以独立于整体存在组合关系中部分不能独立于整体存在。√ 解析updateStatus行为的功能就是更新稿件的当前状态包括审稿进度、结果等。× 解析类是对象的模板对象是类的实例。√ 解析关联关系表示类之间的语义连接是最常见的类间关系。√ 解析originality属性的含义就是原创性用于评价稿件的创新程度。× 解析类的行为可以根据业务需要访问和修改其他类的属性只要符合封装的访问权限规则。√ 解析用户可以同时拥有多种角色只要在审阅特定稿件时不出现利益冲突即可。√ 解析UMLUnified Modeling Language是统一建模语言是面向对象建模的行业标准。× 解析类图是迭代设计的产物可以根据需求变化不断调整和优化。四简答题答案参考答案1聚合关系含义Conference会议和Paper稿件的聚合关系表示一个会议可以包含多篇稿件稿件是会议的组成部分但稿件可以独立于会议存在比如一篇稿件可以先投稿到A会议被拒后再投稿到B会议。2聚合与组合的区别聚合是弱的整体-部分关系部分可以脱离整体独立存在组合是强的整体-部分关系部分不能脱离整体独立存在整体销毁时部分也会被销毁。例如公司和员工是聚合关系员工可以离开公司独立存在人和心脏是组合关系心脏不能脱离人独立存在。参考答案1业务意义该约束是为了保证审稿过程的公平性避免审稿人因利益冲突给出不客观的评价保障学术会议的审稿质量和公信力。2实现方式在分配审稿人时系统首先获取目标稿件的所有作者ID列表然后从待分配的审稿人列表中过滤掉属于作者列表的用户仅从剩余用户中选择审稿人在审稿人提交意见时系统再次校验该审稿人是否属于该稿件的作者若属于则拒绝提交并提示冲突。参考答案在面向对象分析中判断一个概念是否应当抽象为类主要有以下标准1该概念具有多个可区分的属性能够描述其自身的状态例如本案例中的会议具有名称、提交期限、审稿期限等多个属性适合抽象为类2该概念具有独立的行为能够执行特定的操作例如会议具有创建会议、关闭审稿过程等行为3该概念可以作为独立的实体参与系统交互能够与其他类建立关联关系在业务流程中承担明确的角色。如果一个概念仅包含单个属性或者没有独立的行为通常不需要抽象为独立的类可以作为其他类的属性存在。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2570831.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!