中文原创av,日韩黄色在线视频,欧美日韩操,亚洲精品国产精品国自产网站按摩,欧美日韩国产一区二区在线观看,男人久久久,亚洲精品久久网白云av

專業(yè)軟件設計師網(wǎng)站|培訓機構(gòu)|服務商(加客服微信:cnitpm或QQ:800184589進軟件設計師學霸群)

軟題庫 培訓課程
當前位置:信管網(wǎng) >> 軟件設計師 >> 案例分析 >> 文章內(nèi)容
2021年下半年軟件設計師《案例分析》真題模擬試題(6)
來源:信管網(wǎng) 2021年10月25日 【所有評論 分享到微信
  • 試題一:閱讀以下說明和C++代碼。將應填入 (n) 處的字句寫在答題紙的對應欄內(nèi)。
    【說明】
    傳輸門是傳輸系統(tǒng)中的重要裝置。傳輸門具有Open(打開)、Closed(關閉)、Opening (正在打開)、StayOpen(保持打開)和Closing(正在關閉)五種狀態(tài)。觸發(fā)傳輸門狀態(tài)轉(zhuǎn)換的事件有click、complete和timeout三種。事件與其相應的狀態(tài)轉(zhuǎn)換如下圖所示。

    下面的C++代碼1與C++代碼2分別用兩種不同的設計思路對傳輸門進行狀態(tài)模擬,請?zhí)钛a代碼中的空缺。
    【C++代碼1】
    const int CLOSED=1;   const int OPENING=2;
    const int OPEN=3;     const int CLOSING=4;
    const int STAYOPEN=5;  //定義狀態(tài)變量,用不同整數(shù)表示不同狀態(tài)
    class Door {
    Private:
    int state;  //傳輸門當前狀態(tài)
    void setState(int state){ this->state=state;}  //設置當前狀態(tài)
    public:
    Door():state(CLOSED.{};
    void getState(){    //根據(jù)當前狀態(tài)輸出相應的字符串
    switch(state){
    case OPENING: cout<<"OPENING"<<endl;    break;
    case CLOSED:  cout<<"CLOSED"<<endl;     break;
    case OPEN:    cout<<"OPEN"<<endl;       break;
    case CLOSING: cout<<"CLOSING"<<endl;    break;
    case STAYOPEN:cout<<"STAYOPEN"<<endl;   break;
    }
    };
    void click()  {    //發(fā)生click事件時進行狀態(tài)轉(zhuǎn)換
    if (  (1)  )    setState(OPENING.;
    else if (  (2)  )    setState(CLOSING.;
    else if (  (3)  )    setState(STAYOPEN);
    }
    void timeout(){    //發(fā)生timeout事件時進行狀態(tài)轉(zhuǎn)換
    if (state == OPEN)  setState(CLOSING.;
    }
    void complete(){    //發(fā)生complete事件時進行狀態(tài)轉(zhuǎn)換
    if (state == OPENING.    setState(OPEN);
    else if (state == CLOSING.  setState(CLOSED.;
    }
    };
    int main(){
    Door aDoor;
    aDoor.getState();aDoor.click();    aDoor.getState();
    aDoor.complete();aDoor.getState(); aDoor.click();
    aDoor.getState();aDoor.click();    aDoor.getState();    return 0;
    }
    【C++代碼2】
    class Door {
    public:
    DoorState *CLOSED,*OPENING,*OPEN,*CLOSING,*STAYOPEN,*state;
    Door();
    virtual~Door(){……//釋放申請的內(nèi)存,此處代碼省略);
    void setState(DoorState *state)  { this->state = state;}
    void getState(){
    //此處代碼省略,本方法輸出狀態(tài)字符串,
    //例如,當前狀態(tài)為CLOSED時,輸出字符串為“CLOSED”
    };
    void click();
    void timeout();
    void complete();
    };
    Door::Door(){
    CLOSED = new DoorClosed(this);    OPENING = new DoorOpening(this);
    OPEN = new DoorOpen(this);        CLOSING = new DoorClosing(this);
    STAYOPEN = new DoorStayOpen(this);state = CLOSED;
    }
    void Door :: click() {  (4)  ;)
    void Door :: timeout() {  (5)  ;)
    void Door :: complete() {  (6)  ;}
    class DoorState//定義一個抽象的狀態(tài),它是所有狀態(tài)類的基類
    {
    protected:Door *door;
    public:
    DoorState(Door *door) {this->door = door;}
    virtual~DoorState(void);
    virtual void click()  {}
    virtual void complete()  {}
    virtual void timeout()  {}
    };
    class DoorClosed :public DoorState{//定義一個基本的Closed狀態(tài)
    public:
    DoorClosed(Door *door) :DoorState(door)  {}
    virtual ~ DoorClosed(){}
    void click();
    };
    void DoorClosed :: click() {  (7)  ;}
    //其他狀態(tài)類的定義與實現(xiàn)代碼省略
    int main() {
    Door aDoor;
    aDoor.getState();aDoor.click();aDoor.getState();aDoor.complete();
    aDoor.getState();aDoor.timeout();aDoor.getState();return 0;
    }



    查看答案

    參考答案:

    參考解析:www.tronclassroom.com/st/245488533.html

  • 試題二:閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內(nèi)。
    【說明】
    某海外代購公司為擴展公司業(yè)務,需要開發(fā)一個信息化管理系統(tǒng)。請根據(jù)公司現(xiàn)有業(yè)務及需求完成該系統(tǒng)的數(shù)據(jù)庫設計。
    【需求描述】
    (1)記錄公司員工信息。員工信息包括工號、身份證號、姓名、性別和一個手機號,工號唯一標識每位員工,員工分為代購員和配送員。
    (2)記錄采購的商品信息。商品信息包括商品名稱、所在超市名稱、采購價格、銷
    售價格和商品介紹,系統(tǒng)內(nèi)部用商品條碼唯一標識每種商品。一種商品只在一家超市代購。
    (3)記錄顧客信息。顧客信息包括顧客真實姓名、身份證號(清關繳稅用)、一個手機號和一個收貨地址,系統(tǒng)自動生成唯一的顧客編號。
    (4)記錄托運公司信息。托運公司信息包括托運公司名稱、電話和和地址,系統(tǒng)自動生成唯一的托運公司編號。
    (5)顧客登錄系統(tǒng)之后,可以下訂單購買商品。訂單支付成功后,系統(tǒng)記錄唯一的支付憑證編號,顧客需要在訂單里指定運送方式:空運或海運。
    (6)代購員根據(jù)顧客的訂單在超市采購對應商品,一份訂單所含的多個商品可能由多名代購員從不同超市采購。
    (7)采購完的商品交由配送員根據(jù)顧客訂單組合裝箱,然后交給托運公司運送。托運公司按顧客訂單核對商品名稱和數(shù)量,然后按顧客的地址進行運送。
    【概念模型設計】
    根據(jù)需求階段收集的信息,設計的實體聯(lián)系圖(不完整)如圖2-1所示。

    【邏輯結(jié)構(gòu)設計】
    據(jù)概念模型設計階段完成的實體聯(lián)系圖,得出如下關系模式(不完整):
    員工(工號,身份證號,姓名,性別,手機號)
    商品(條碼,商品名稱,所在超市名稱,采購價格,銷售價格,商品介紹)
    顧客(編號,姓名,身份證號,手機號,收貨地址)
    托運公司司(托運公司編號,托運公司名稱,電話,地址)
    訂單(訂單ID,(a),商品數(shù)量,運送方式,支付憑證編號)
    代購(代購ID,代購員工號,(b))
    運送(運送D,配送員工號,托運公司編,訂單D,發(fā)運時間)
    【問題1】(3分)
    根據(jù)問題描述,補充圖2-1的實體聯(lián)系圖。
    【問題2】(6分)
    補充邏輯結(jié)構(gòu)設計結(jié)果中的(a)、(b)兩處空缺。
    【問題3】(6分)
    為方便顧客,允許顧客在系統(tǒng)中保存多組收貨地址。請根據(jù)此需求,增加“顧客地址”弱實體,對圖2-1進行補充,并修改“運送”關系模式。



    查看答案

    參考答案:

    參考解析:www.tronclassroom.com/st/3963110017.html

掃碼關注公眾號

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準!

信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質(zhì)量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。

信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。

相關內(nèi)容

發(fā)表評論  查看完整評論  

推薦文章