軟件設計師考前模擬試題及答案解析八
試題1
閱讀以下某建賬軟件的技術說明和數據流圖,根據要求回答問題1~問題5。(15分)
【說明】
某商業銀行已有一套基于客戶機/服務器(C/S)模式的儲蓄系統X和一套建賬軟件Y。建賬軟件Y主要用于將儲蓄所手工處理的原始數據轉換為系統X所需的數據格式。該建賬軟件具有以下功能。
(1)分戶賬錄入:手工辦理業務時建立的每個分戶賬數據均由初錄員和復錄員分別錄入,以確保數據的正確性。
(2)初錄/復錄比對:將初錄員和復錄員錄入的數據進行一一比較,并標記兩套數據是否一致。
(3)數據確認:當上述兩套數據完全一致后,將其中任一套作為最終進入系統X的原始數據。
(4)匯總核對和打印:對經過確認的數據進行匯總,并和會計賬目中的相關數據進行核對,以確保數據的整體正確性,并打印輸出經過確認的數據,為以后核查可能的錯誤提供依據。該建賬軟件需要打印的分戶賬清單樣式如表7所示。
表7 分戶賬清單樣式表
儲 蓄 所 |
賬 號 |
開 戶 日 |
戶 名 |
其他分戶賬數據 |
儲蓄所A |
6436 1357 2008 2010 999 |
2008-08-15 |
小郭 |
… |
… |
… |
… |
… | |
儲蓄所A合計 |
共XXXX戶,總余額YYYYYYY.YY元 | |||
儲蓄所B |
8436 1357 2008 2009 888 |
2008-08-25 |
小謝 |
|
… |
… |
… |
… | |
儲蓄所B合計 |
共XXXX戶,總余額YYYYYYY.YY元 | |||
… |
… | |||
儲蓄所N |
… |
… |
… |
… |
… |
… |
… |
… | |
儲蓄所N合計 |
共XXXX戶,總余額YYYYYYY.YY元 |
(5)數據轉換:將經過確認的數據轉換為儲蓄系統X需要的中間格式數據。
(6)數據清除:為加快初錄和復錄的處理速度,在數據確認之后,可以有選擇地清除初錄員和復錄員錄入的數據。
該軟件的數據流圖如圖11~圖13所示,圖中部分數據流數據文件的格式如下。
初錄分戶賬 = 儲蓄所號 + 賬號 + 戶名 + 開戶日 + 開戶金額 + 當前余額 + 性質
復錄分戶賬 = 儲蓄所號 + 賬號 + 戶名 + 開戶日 + 開戶金額 + 當前余額 + 性質
會計賬目 = 儲蓄所號 + 總戶數 + 總余額
操作結果 = 初錄操作結果 + 比對操作結果 + 復錄操作結果
![]() |
圖 11 建帳軟件頂層數據流圖 圖 12 建帳軟件第0層數據流圖 |
![]() |
圖 13 建帳軟件第1層數據流圖 |
【問題1】(2分)
不考慮數據確認處理(加工2),請指出圖3-19~圖3-21數據流圖中可能存在的錯誤。
【問題1】答案解析:
這是一道要求考生掌握分層數據流圖輸入/輸出平衡原則的分析題。本題的解答思路如下。
每個加工必須既有輸入數據流,又有輸出數據流。但一個加工的輸入數據流不要與輸出數據流同名。在整套數據流圖中,每個數據存儲必須既有讀的數據流,也有寫的數據流。但在某張子圖中,可能只有讀沒有寫,或者是只有寫而沒有讀。
在數據流圖(DFD)中,加工處理是對輸入數據進行相關處理并生成輸出數據的過程,因此,對于DFD中的每個加工處理至少要有一個輸入數據流和一個輸出數據流。根據這一原則仔細檢察圖11~圖13可知,在建賬軟件第0層數據流圖(見圖12)中,數據確認處理(加工2)和數據清除處理(加工6)只有輸出數據流而沒有輸入數據,這是圖12中存在的錯誤之處。由于題目中已說明“不考慮數據確認處理(加工2)”,因此,本試題的正確答案是“在建賬軟件第0層數據流圖(圖12)中,數據清除處理(加工6)沒有輸入數據流”。
【問題2】(4分)
請使用【說明】中的詞匯,給出數據確認處理所需的數據流,在圖13建賬軟件第1層數據流圖中的全部可選起點。
【問題2】答案解析:
這也是一道要求考生掌握分層數據流圖輸入/輸出平衡原則的綜合分析題。本題的解答思路如下。
在本試題說明中關于“數據確認”功能的描述--“數據確認:當上述兩套數據(即初錄員和復錄員錄入的數據)完全一致后,將其中任一套作為最終進入系統X的原始數據”中,“進入系統X”其對應于建賬軟件第0層數據流圖(見圖12)中“數據確認”處理。由此可知,在圖13建賬軟件第1層數據流圖中,無論是“初錄數據”數據存儲還是“復錄數據”數據存儲都可作為“數據確認”處理的數據源。
【問題3】(2分)
請使用【說明】中數據字典條目定義形式,將以下(1)和(2)空缺處的內容填寫完整。
初錄數據 = (1)
復錄數據 = (2)
【問題3】答案解析:
由題干中給出的關鍵信息“分戶賬錄入:手工辦理業務時建立的每個分戶賬數據均由初錄員和復錄員分別錄入……”和“初錄/復錄比對:將初錄員和復錄員錄入的數據進行一一比較,并標記兩套數據是否一致”可知,初錄員錄入的“初錄數據”中應包含“初錄分戶賬”和“一致性標志”,而復錄員錄入的“復錄數據”中應包含“復錄分戶賬”和“一致性標志”。然后將它們表達成【說明】中數據字典條目定義形式如下。
初錄數據 = 初錄分戶賬 + 一致性標志(或初錄數據 = 手工分戶賬 + 一致性標志)
復錄數據 = 復錄分戶賬 + 一致性標志(或復錄數據 = 手工分戶賬 + 一致性標志)
【問題4】(2分)
請使用【說明】中數據字典條目定義形式,給出圖12中的“手工分戶賬”數據流和圖13中的“初錄分戶賬”和“復錄分戶賬”的關系。
【問題4】答案解析:
這是一道要求考生掌握分層數據流圖中父圖與子圖平衡原則的綜合分析題。本題的解答思路如下。
任何一個數據流子圖必須與它上一層父圖的某個加工相對應,即父圖中某加工的輸入/輸出數據流必須與它的子圖的輸入/輸出數據流在數量和名字上相同。但如果父圖中的數據流是由子圖中的幾個數據流合并而成,即子圖中組成這些數據流的數據項全體正好是父圖中的這一個數據流,這種情況下也認為是平衡的。
在建賬軟件第0層數據流圖(見圖12)中,“手工分戶賬”數據流是“1錄入比對”處理的輸入數據流,而“1錄入比對”處理包含了建賬軟件第1層數據流圖(見圖13)中的“1.1初錄”處理、“1.2復錄”處理和“1.3比對”處理。在圖13中,“1.1初錄”處理的輸入數據流是“初錄分戶賬”,“1.2復錄”處理的輸入數據流是“復錄分戶賬”,因此,“手工分戶賬”數據流包含了“初錄分戶賬”和“復錄分戶賬”,將其表達成本試題【說明】所示例的數據字典條目定義形式如下。
手工分戶賬 = 初錄分戶賬 + 復錄分戶賬
【問題5】(不定項選擇題,3分)
加工1(錄入比對處理)除能夠檢查出初錄數據和復錄數據不一致之外,還應檢測的錯誤有 (3) 。
【供選擇的答案】
(3) A.顯示器無法顯示 B.輸入的無效字符
C.輸入數據的格式 D.輸入數據的界限
E.打印機卡紙 F.重復錄入同一賬戶
G.輸入的半個漢字 H.匯總數據與會計賬目不符
【問題5】答案解析:
由【問題3】要點解析可知,建賬軟件第0層數據流圖(見圖12)中“1錄入比對”處理包含了第1層數據流圖(圖13)中的“1.1初錄”、“1.2復錄”和“1.3比對”這3個處理。結合題干給出的關鍵信息“初錄/復錄比對:將初錄員和復錄員錄入的數據進行一一比較,并標記兩套數據是否一致”和常識可知,加工1(錄入比對處理)除能夠檢查出初錄數據和復錄數據不一致之外,還應檢測的錯誤有①輸入的無效字符(如在“賬號”數據項中輸入了小數點、$和@等其他字符)、②輸入數據的格式(如“賬號”數據項規定每4位數字后加一位半角空格字符等)、③輸入數據的界限(例如“開戶日”的數值是否超過了當前日期等)、④輸入的半個漢字(在某些運行環境中(或輸入法)中可能存在這種情況)和⑤(初錄員/復錄員)重復錄入同一賬戶等。
由題干給出的關鍵信息“匯總核對和打印:對經過確認的數據進行匯總,并和會計賬目中的相關數據進行核對……”可知,檢查匯總數據和會計賬目是否相符是在圖12中處理“3匯總核對”所完成的功能;數據打印是在圖12中處理“4打印清單”所完成的功能。同時根據常識可知,“1錄入比對”處理通常未涉及檢查“顯示器無法顯示”和“打印機卡紙”等硬件故障的功能。
【問題6】(2分)
打印分戶賬清單(表7)時,必須以“ (4) ”作為關鍵字進行排序才能滿足系統需求。
【供選擇的答案】
(4) A.儲蓄所 B.賬號 C.開戶日
D.戶名 E.其他分戶賬數據 F.總戶數和總余額
【問題6】答案解析:
仔細閱讀分戶賬清單樣式表(見表7)可知,表中數據是按照“儲蓄所”這一數據字段進行分組的,每一分組中均通過“共XXXX戶,總余額YYYYYYY.YY元”格式給出了儲蓄所的統計數據。這就要求在數據查詢/打印操作中,至少要按照“儲蓄所”這一數據字段進行排序才能實現。在實際應用中,在軟件實現時也可以按照“賬號”和“開戶日”等數據字段進行排序,但從表7數據格式中無法確定是否需要這些排序工作。
【編輯推薦】