2022年上半年软件设计师案例分析试题模拟试题及答案(2)

  • 试题一、阅读下列说明和java代码,将应填入(n)处的字句写在答题纸的对应栏内。
  • 【说明】
  • 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图6-1所示。

  • 采用状态(state)模式来实现该纸巾售卖机,得到如图6-2所示的类图。其中类state为抽象类,定义了投币、退币、出纸巾等方法接口。类soldstate、soldoutstate、noquarterstate和hasquarterstate分别对应图6-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。

  • 【java代码】
  • import java.util.*;
  • interface state {
  • public void insertquarter();    //投币
  • public void ejectquarter();    //退币
  • public void turncrank();   //按下“出纸巾”按钮
  • public void dispense();   //出纸巾
  • }
  • class tissuemachine {
  • (1)   soldoutstate, noquarterstate, hasquarterstate, soldstate, state;
  • state = soldoutstate;
  • int count = 0;    //纸巾数
  • public tissuemachine(int numbers) {  /* 实现代码省略 */ }
  • public state gethasquarterstate()  {  return hasquarterstate;  }
  • public state getnoquarterstate()   {  return noquarterstate;  }
  • public state getsoldstate()    {  return soldstate;   }
  • public state getsoldoutstate() {  return soldoutstate;    }
  • public int getcount()   {  return count;  }
  • // 其余代码省略
  • }
  • class noquarterstate implements state {
  • tissuemachine tissuemachine;
  • public void insertquarter() {
  • tissuemachine.setstate(  (2)  );
  • }
  • //构造方法以及其余代码省略
  • }
  • class hasquarterstate implements state {
  • tissuemachine tissuemachine;
  • public void ejectquarter() {
  • tissuemachine.setstate(  (3)  );
  • }
  • //构造方法以及其余代码省略
  • }
  • class soldstate implements state {
  • tissuemachine tissuemachine;
  • public void dispense() {
  • if(tissuemachine.getcount() > 0)  {
  • tissuemachine.setstate(  (4)  );
  • } else {
  • tissuemachine.setstate(  (5)  );  }
  • }
  • }
    查看答案


  • 考友试题答案分享:
  • 试题二、阅读下列说明,回答问题l至问题4,将解答填入答题纸的对应栏内。
  • 【说明】
  • 某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如下:
  • (1)开户。根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,账户信息(余额等)存入账户记录中;
  • (2)存款。客户可以向其账户中存款,根据存款金额修改账户余额;
  • (3)取款。客户可以从其账户中取款,根据取款金额修改账户余额;
  • (4)证券交易。客户和经纪人均可以进行证券交易(客户通过在线方式,经纪人通过电话),将交易信息存入交易记录中;
  • (5)检查交易。平台从交易记录中读取交易信息,将交易明细返回给客户。
  • 现采用结构化方法对该证券交易平台进行分析与设计,获得如图1-1所示的上下文数一据流图和图1-2所示的o层数据流图。

  • 【问题1](3分)
  • 使用说明中的词语,给出图1-1中的实体e1-e3的名称。
  • 【问题2】(3分)
  • 使用说明中的词语,给出图1-2中的数据存储d1-d3的名称。
  • 【问题3】(4分)
  • 根据说明和图中的术语,补充图1-2中缺失的数据流及其起点和终点。
  • 【问题4】(5分)
  • 实际的证券交易通常是在证券交易中心完成的,因此,该平台的“证券交易”功能需将交易信息传递给证券交易中心。针对这个功能需求,需要对图1-1和图1-2进行哪些修改,请用200字以内的文字加以说明。
    查看答案


  • 考友试题答案分享:
    506550529556:
  • e1:客户服务助理 e2:客户 e3:经纪人 d1:客户表 d2:客户账户表 d3:交易信息表 存款 -(存入)-> d2 取款 -(取出)-> d2 证券交易(在线)-(存入)-> d3 证券交易(电话)-(存入)-> d3 加入证券交易中心,将证券交易平台的数据流出至证券交易中心 加入证券交易中心,将d3数据传递至证券交易中心
    xjyiciguo:
  • 1、e1:客户服务助理 e2:客户 e3:经纪人 2、d1:客户记录表 d2:账户记录表 d3:交易记录表 3、存款记录 —— 存款——>d2 取款记录 —— 取款——>d2 客户信息 —— e2——>e1 交易信息 —— 证券交易——>d3