2012-13《软件系统设计与体系结构》试卷A.doc

2012-13《软件系统设计与体系结构》试卷A.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
考试科目名称  软件系统设计与体系结构 A卷 考试方式: 闭卷    考试日期 2013 年 月 日 教师 丁二玉   系(专业)              年级        班级     学号             姓名           成绩      题号 一 二 三 四 五 六 七 八 九 十 分数 得分 1、(本题满分10分) 名词解释:(1)软件体系结构的4+1视图;(2)(GRASP)信息专家模式。 得分 2、(本题满分 10 分) 在实现功能完全相同的情况下,比较不同软件设计方案的优劣有哪些考虑因素?试举例说明。【提示:软件设计的审美标准】 得分 3、(本题满分 10 分) 现在有很多软件开发商们为软件开发的各个阶段(编译、编辑、调试、等等)提供的工具,这些工具都只能处理某个固定的阶段。假设你现在希望能够集成这些已有产品,以构建一个软件开发环境: Implicit Invocation和Blackboard两种体系结构风格哪个更合适?说明理由; 结合你所采用的体系结构风格,给出开发环境体系结构的模块描述。 得分 4、(本题满分 18 分) 下图说明了一个典型用例描述及其系统顺序图。 现在得到了用例的分析类图如下图所示。 请(1)将系统顺序图所体现的系统职责(即对外的消息交互)按照GRASP模式,逐一分配到类图中的对象,给出详细的分配过程;(2)假设用例所对应的模块采用了View、control和model的三层分离方式和集中式控制风格; 那么请建立并描述其设计类图(8分),要求给出详细的设计过程(10分)。 【提示:1、按照逐步的职责分配过程进行设计;2、要注意对View、DB等设计因素的处理;3、要注意对象创建问题】 得分 5、(本题满分 12 分) 某公司要建立一个员工薪资管理系统,希望建立如下图所示的列表显示。 设计师需要使用税务管理系统系统提供的已有代码Employee,其代码框架如下所示: public class Employee{ //属性:Name, Salary,Months,Award public string getName(){…} public double grossPay() {… } public double incomeTax()() {…} public double medicareTax()() {…} public double socialSecurityTax()() {…} } Employee中: getName()的结果就是列表中要显示的Name列数据 grossPay()的结果就是列表中要显示的Gross列数据 incomeTax()+medicareTax()+socialSecurityTax()是列表中要显示的Taxes列数据 列表中NetPay列数据应该是同一行“Gross –Taxes” (1)上述设计方案中需要使用哪个设计模式?(2分)为什么?(2分) (2)给出设计方案Model部分的代码框架(8分)。【提示,不需要涉及界面处理,只需要给出界面所需要的Data类的设计即可】 得分 6、(本题满分 12 分) 用observer模式编写程序: Student:有三个私有属性ID, name, birthday; Display: Display1: display(ID, name) ,显示 ID+name Display2:display(ID, birthday),显示ID+birthday Display3:modify(ID, name, birthday),修改student的三个列 Display 1~2为observer,Student为subject 实现每次Display 3中实现修改后Display 1~2自动更新; 得分 7、(本题满分 14 分) 交通控制系统为了实现在不同时段使用不同绿灯控制策略: 正常时间9:00-16:00:红灯50秒,黄灯3秒,绿灯30秒; 繁忙时间6:00-9:00,16:00-20:00:红灯30秒,黄灯3秒,绿灯60秒; 夜间20:00-6:00:一直是黄灯; 为交通口控制类Intersection编写绿灯控制程序如下: Intersection:: greenDuration() { switch (c

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档