【2022冲刺模拟一】软件设计师下午卷《案例分析》_第1页
【2022冲刺模拟一】软件设计师下午卷《案例分析》_第2页
【2022冲刺模拟一】软件设计师下午卷《案例分析》_第3页
【2022冲刺模拟一】软件设计师下午卷《案例分析》_第4页
【2022冲刺模拟一】软件设计师下午卷《案例分析》_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑【2022冲刺模拟一】软件设计师下午卷《案例分析》【2022冲刺模拟一】软件设计师下午卷《案例分析》

1.【[材料型]问答题】5分|【问题1】

使用说明中的词语,给出图1-7所示的外部实体E1-E4的名称。

2.【[材料型]问答题】5分|【问题2】

使用说明中的词语,给出图1-8所示的数据存储D1-D3的名称。

3.【[材料型]问答题】5分|【问题3】

0层数据流图1-8中缺少了4条数据流,根据说明及顶层数据流图1-7所提供的信息,分别指出这4条数据流的起点和终点。

补充的数据流

4.【[材料型]问答题】5分|【问题1】

根据问题描述,填写图3-21中(1)-(4)处联系的类型。联系类型分为一对一、一对多和多对多3种,分别使用1:1、1:n或1:*、m:n或*:*表示。

5.【[材料型]问答题】5分|【问题2】

补充图3-21所示的联系并指明其联系类型。联系名可为联系1,联系2,……。

6.【[材料型]问答题】2分|【问题3】

根据图3-21和说明,将逻辑结构设计阶段生成的关系模式中的空(5)-(8)补充完整。

7.【[材料型]问答题】3分|【问题4】

根据问题描述,写出客户、委托书和派工单这3个关系的主键。

8.【[材料型]问答题】5分|【问题1】

请使用说明中的术语,给出图2-26中类Customer和类Person的属性。

9.【[材料型]问答题】5分|【问题2】

识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)~(6)。

10.【[材料型]问答题】5分|【问题3】

根据说明中的叙述,抽象出如表2-6所示的方法,请指出图2-26中的类CustomerInformationSystem和InstitutionalCustomer应分别具有其中的哪些方法。

表2-6抽象出的方法

11.【问答题】15分|阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。【说明】设有整数数组A[1:N](N1),其元素有正有负。下面的流程图在该数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M。例如,若数组元素依次为3,-6,2,4,-2,3,-1,则输出K=3,L=4,M=7。该流程图中考察了A[1:N]中所有从下标i到下标j(j≥i)的各元素之和S,并动态地记录其最大值M。【流程图】

注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值

12.【问答题】15分|(本题为选做题,选做题共2道,请任选其一作答,若2道题都作答,按照题号小的1道计分)阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下C++代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物品(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账,设计如图5-1所示类图。

【C++代码】usingnamespacestd;classBook;classVisitor{public:virtualvoidvisit(Book*book)=0;//其它物品的visit方法};classItem{public:virtualvoidaccept(Visitor*visitor)=0;virtualdoublegetPrice()=0;};classBook(1){private:doubleprice;public:Book(doubleprice){//访问本元素(2);}voidaccept(Visitor*visitor){(3);}doublegetPrice(){returnprice;}};classCashier(4){private;doubletotalForCart;public://访问Book类型对象的价格并累加(5){//假设Book类型的物品价格超过10元打8折if(book-getPrice()10.0){totalForCart+=book-getPrice();}elsetotalForCart+=book-getPrice()*0.8;}//其它visit方法和折扣策略类似,此处略doublegetTotal(){returntotalForCart;}};classShoppingCart{private:vectoritem*items;public:doublecalculatePrice(){Cashier*visitor=newCashier();for(inti=0;iitems.size();i++)(6);}doubletotal=visitor-getTotal();returntotal;}voidadd(Item*e){items.push_back(e);}};

13.【问答题】15分|(本题为选做题,选做题共2道,请任选其一作答,若2道题都作答,按照题号小的1道计分)阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下Java代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物件(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账。设计如图5-1所示类图。

【Java代码】interfaceItem{publicvoidaccept(Visitorvisitor);publicdoublegetPrice();}classBook(1){privatedoubleprice;publicBook(doubleprice){(2);}publicvoidaccept(Visitorvisitor){//访问本元素(3);}publicdoublegetPrice(){returnprice;}}//其它物品类略interfaceVisitor{publicvoidvisit(Bookbook);//其它物品的visit方法}classCashier(4){privatedoubletotalForCart;//访问Book类型对象的价格并累加(5){//假设Book类型的物品价格超过10元打8折if(book.getPrice()10.0){totalForCart+=book.getPrice();}elsetotalForCart+=book.getPrice()*0.8;}//其它visit方法和折扣策略类似,此处略publicdoublegetTotal(){returntotalForCart;}}classShoppingCart{//normalshoppingcartstuffprivatejava.util.ArrayListitems=newjava.util.ArrayList();publicdoublecalculatePrice()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论