1 / 43 《软件体系结构》实验报告项目名称设计模式实验二专业班级软件工程 1307 班学号3901130721 姓名谭淇蔚实验成绩:批阅教师:2015 年 12 月 31 日2 / 43 实验 3 设计模式实验二实验学时:4 每组人数:1 实验类型:3 (1:基础性2:综合性3:设计性4:研究性)实验要求:1 (1:必修2:选修3:其它)实验类别:3 (1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner 和任意一种面向对象编程语言实现几种常见的行为型设计模式,包括职责链模式、 命令模式、 观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式
二、实验内容1
某企业的 SCM(Supply Chain Management,供应链管理 ) 系统中包含一个采购审批子系统
该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5 万元以下 (不包括 5 万元)的采购单, 副董事长可以审批5 万元至 10 万元(不包括 10 万元)的采购单,董事长可以审批10 万元至 50 万元(不包括50 万元)的采购单,50 万元及以上的采购单就需要开董事会讨论决定
如下图所示:采购人员采购单主任副董事长董事长董事会金额< 5万元5万元≤金额< 10万元10万元≤金额< 50万元 金额≥ 50万元试使用职责链模式设计并模拟实现该系统
房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现
3 / 43 3
某软件公司欲开发一个基于Windows 平台的公告板系统
系统提供一个主菜单(Menu) ,在主菜单中包含了一些菜单项(MenuItem) ,可以通过Menu 类的 addMenuItem() 方法增加