相關(guān)推薦:2021年下半年軟件設(shè)計師真題答案及解析(上午+下午)
該套試卷在線練習(xí):http://m.xiexiliangjiufa.com/exam/ExamMAL.aspx?sid=4888773
1、閱讀下列說明和圖,回答問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】某現(xiàn)代農(nóng)業(yè)種植基地為進一步提升農(nóng)作物種植過程的智能化,欲開發(fā)智慧農(nóng)業(yè)平臺,集管理和銷售于一體,該平臺的主要功能有:
1.信息維護。農(nóng)業(yè)專家對農(nóng)作物、環(huán)境等監(jiān)測數(shù)據(jù)的監(jiān)控處理規(guī)則進行維護。
2.數(shù)據(jù)采集。獲取傳感器上傳的農(nóng)作物長勢、土壤墑情、氣候等連續(xù)監(jiān)測數(shù)據(jù),解析后將監(jiān)測信息進行數(shù)據(jù)處理、可視化和存儲等操作。
3.數(shù)據(jù)處理。對實時監(jiān)測信息根據(jù)監(jiān)控處理規(guī)則進行監(jiān)測分析,將分析結(jié)果進行可視化并進行存儲、遠程控制對歷史監(jiān)測信息進行綜合統(tǒng)計和預(yù)測,將預(yù)測信息進行可視化和存儲。
4.遠程控制。根據(jù)監(jiān)控處理規(guī)則對分析結(jié)果進行判定,依據(jù)判定結(jié)果自動對控制器進行遠程控制。平臺也可以根據(jù)農(nóng)業(yè)人員提供的控制信息對控制器進行遠程控制。
5.可視化。實時向農(nóng)業(yè)人員展示監(jiān)測信息:實時給農(nóng)業(yè)專家展示統(tǒng)計分析結(jié)果和預(yù)測信息或根據(jù)農(nóng)業(yè)專家請求進行展示。
現(xiàn)采用結(jié)構(gòu)化方法對智慧農(nóng)業(yè)平臺進行分析與設(shè)計,獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。
【問題1】(4分)
使用說明中的詞語,給出圖1-1中的實體E1~E4的名稱。
【問題2】(4分)
使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1~D4的名稱。
【問題3】(4分)
根據(jù)說明和圖中術(shù)語,補充圖1-2中缺失的數(shù)據(jù)流及其起點和終點。
【問題4】(3分)
根據(jù)說明,“數(shù)據(jù)處理”可以分解為哪些子加工?進一步進行分解時,需要注意哪三種常見的錯誤?
信管網(wǎng)參考答案:
【問題1】(4分)
E1:傳感器;
E2:農(nóng)業(yè)專家;
E3:農(nóng)業(yè)人員;
E4:控制器
【問題2】(4分)
D1:監(jiān)控處理規(guī)則文件
D2:監(jiān)測信息表
D3:分析結(jié)果文件
D4:預(yù)測信息表
【問題3】(4分)
起點D1,終點P4,規(guī)則
起點E2,終點P5,請求
起點D3,終點P5,分析結(jié)果
起點D4,終點P5,預(yù)測信息
【問題4】(3分)
數(shù)據(jù)處理加工分為數(shù)據(jù)分析,可視化與存儲;
黑洞、奇跡、灰洞
查看解析:m.xiexiliangjiufa.com/st/459556927.html
2、回答問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)
【說明】
某汽車維修公司為了便于管理車輛的維修情況,擬開發(fā)一套汽車維修管理系統(tǒng),請根據(jù)下述需求描述完成該系統(tǒng)的數(shù)據(jù)庫設(shè)計。
【需求描述】
(1)客戶信息包括:客戶號、客戶名、客戶性質(zhì)、折扣率、聯(lián)系人、聯(lián)系電話??蛻粜再|(zhì)有個人或單位??蛻籼栁ㄒ粯?biāo)識客戶關(guān)系中的每一個元組。
(2)車輛信息包括:車牌號、車型、顏色和車輛類別。一個客戶至少有一輛車,一輛車只屬于一個客戶。
(3)員工信息包括:員工號、員工名、崗位、電話、家庭住址。其中,員工號唯一標(biāo)識員工關(guān)系中的每一個元組。崗位有業(yè)務(wù)員、維修工、主管。業(yè)務(wù)員根據(jù)車輛的故障情況填寫維修單。
(4)部門信息包括:部門號、名稱、主管和電話,其中部門號唯一-確定部門關(guān)系的每一個元組。每個部門只有一名主管,但每個部門有多名員工,每名員工只屬于一個部門。
(5)維修單信息包括:維修單號、車牌號、維修內(nèi)容、工時。維修單號唯一標(biāo)識維修單關(guān)系中的每一個元組。一個維修工可接多張維修單,但一張維修單只對應(yīng)一個維修工。
【概念模型設(shè)計】
根據(jù)需求階段收集的信息,設(shè)計的實體聯(lián)系圖,如圖2-1所示
【邏輯結(jié)構(gòu)設(shè)計】
根據(jù)概念模型設(shè)計階段完成的實體聯(lián)系圖,得出如下關(guān)系模式:
客戶(客戶號,客戶名,(a);折扣率,聯(lián)系人,聯(lián)系電話)
車輛(車牌號,(b),車型,顏色,車輛類別)
員工(員工號,員工名,崗位,(c),電話,家庭住址)
部門(部門號,名稱,主管,電話)
維修單(維修單號,(d),維修內(nèi)容,工時)
【問題1】(6分)
根據(jù)問題描述,補充3個聯(lián)系,完善圖2-1的實體聯(lián)系圖。聯(lián)系名可用聯(lián)系1、聯(lián)系2和聯(lián)系3代替,聯(lián)系的類型為1:1、1:n和m:n(或1:1、1:*和*.*)。
【問題2】(4分)
根據(jù)題意,將關(guān)系模式中的空(a)~(d)的屬性補充完整,并填入答題紙對應(yīng)的位置上。
【問題3】(2分)
分別給出車輛關(guān)系和維修單關(guān)系的主鍵與外鍵。
【問題4】(3分)
如果一張維修單涉及多項維修內(nèi)容,需要多個維修工來處理,那么哪個聯(lián)系類型會發(fā)生何種變化?你認(rèn)為應(yīng)該如何解決這一問題?
信管網(wǎng)參考答案:
【問題1】(6分)
聯(lián)系1:客戶和車輛,1:1
聯(lián)系2:部門和員工,1:n
聯(lián)系3:維修工和維修單,1:n
【問題2】(4分)
a:客戶性質(zhì) b:客戶號c:部門號d:車牌號,員工號
【問題3】(2分)
車輛關(guān)系的主鍵:(車輛號,客戶號)外鍵:客戶號
維修單關(guān)系的主鍵:維修單號外鍵:車牌號,員工號
【問題4】(3分)
維修工和維修單之間的聯(lián)系類型會發(fā)生變化,從1:n變成m:n。
查看解析:m.xiexiliangjiufa.com/st/459568337.html
3、閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某游戲公司欲開發(fā)一款吃金幣游戲。游戲的背景為一種回廊式迷宮(Maze),在迷宮的不同位置上設(shè)置有墻。迷宮中有兩種類型的機器人(Robos):小精靈(PacMan)和幽靈(Ghost)。游戲的目的就是控制小精靈在迷宮內(nèi)游走,吞吃迷宮路徑上的金幣,且不能被幽靈抓到。幽靈在迷宮中游走,并會吃掉遇到的小精靈。機器人游走時,以單位距離的倍數(shù)計算游走路徑的長度。當(dāng)迷宮中至少存在一個小精靈和一個幽靈時,游戲開始。
機器人上有兩種傳感器,使機器人具有一定的感知能力。這兩種傳感器分別是:
(1)前向傳感器(FrontSensor),探測在機器人當(dāng)前位置的左邊、右邊和前方是否有墻(機器人遇到墻時,必須改變游走方向)。機器人根據(jù)前向傳感器的探測結(jié)果,決定朝哪個方向運動。
(2)近距離傳感器(ProxiSesor),探測在機器人的視線范圍內(nèi)(正前方)是否存在隱藏的金幣或幽靈。近距離傳感器并不報告探測到的對象是否正在移動以及朝哪個方向移動。但是如果近距離傳感器的連續(xù)兩次探測結(jié)果表明被探測對象處于不同的位置,則可以推導(dǎo)出該對象在移動。
另外,每個機器人都設(shè)置有一個計時器(Timer),用于支持執(zhí)行預(yù)先定義好的定時事件。
機器人的動作包括:原地向左或向右旋轉(zhuǎn)90°;向前或向后移動。
建立迷宮:用戶可以使用編輯器(Editor) 編寫迷宮文件,建立用戶自定義的迷宮。將迷宮文件導(dǎo)入游戲系統(tǒng)建立用戶自定義的迷宮。
現(xiàn)采用面對家分析與設(shè)計方法開發(fā)該游戲,得到如圖3-1所示的用例圖以及圖3-2所示的初始類圖。
【問題1】(3分)
根據(jù)說明中的描述,給出圖3-1中U1~U3所對應(yīng)的用例名。
【問題2】(4分)
圖3-1中用例U1~U3分別與哪個(哪些)用例之間有關(guān)系,是何種關(guān)系?
【問題3】(8分)
根據(jù)說明中的描述,給出圖3-2中C1~C8所對應(yīng)的類名。
信管網(wǎng)參考答案:
【問題1】(3分)
U1編寫迷宮文件;U2導(dǎo)入迷宮文件;U3設(shè)置計時器
【問題2】(4分)
U1和U2與建立迷宮用例是泛化關(guān)系;U3與操作機器人是包含關(guān)系
【問題3】(8分)
C1 機器人(Robos)
C2 計時器(Timer)
C3小精靈(PacMan)
C4幽靈(Ghost)
C5 傳感器
C6 前向傳感器(FrontSensor)
C7 近距離傳感器(ProxiSesor)
C8 迷宮(Maze)
其中C3與C4可換;C6與C7可換
查看解析:m.xiexiliangjiufa.com/st/459573696.html
4、閱讀下列說明和C代碼,回答問題1至問題3,將解答寫答題紙的對應(yīng)欄內(nèi)。
【說明】
生物學(xué)上通常采用編輯距離來定義兩個物種DNA序列的相似性,從而刻畫物種之間的進化關(guān)系。具體來說,編輯距離是指將首一個字符串變換為另一個字符所需要的最小操作次數(shù)。操作有三種,分別為:插入一個字符、刪除一個字符以及將一個字符修改為另 一個字符。用字符數(shù)組str1和str2分別表示長度分別為len1和len2的字符串,定義二維數(shù)組d記錄求解編輯距離的子問題最優(yōu)解,則該二維數(shù)組可以遞歸定義為:
【問題1】 (8分)
根據(jù)說明扣C代碼,填充C代碼中的空(1)~(4)的。
【問題2】 (4分)
根據(jù)說明和C代碼,算法采用了(5)設(shè)計策略,時間復(fù)雜度為(6)(用O符號表示,兩個字符串的長度分別用m和n表示)。
【問題3】 (3分)
已知兩個字符串A="CTGA"和B="ACGCTA",根據(jù)說明和C代碼,可得出這兩個字符串的編輯距離為(7)。
信管網(wǎng)參考答案:
【問題1】
1、d[0][j]=j
2、str1[i-1]==str2[j-1]
3、d[i-1][i-1]
4、d[len1][len2]
【問題2】
5、動態(tài)規(guī)劃法
6、O(m*n)
【問題3】
7、4
查看解析:m.xiexiliangjiufa.com/st/459582835.html
5、閱讀下列說明和C++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
享元(flyweight)模式主要用于減少創(chuàng)建對象的數(shù)量,以降低內(nèi)存占用,提高性能?,F(xiàn)要開發(fā)一個網(wǎng)絡(luò)圍棋程序,允許多個玩家聯(lián)機下棋。由于只有一臺服務(wù)器,為節(jié)省內(nèi)存空間,采用享元模式實現(xiàn)該程序,得到如圖5-1所示的類圖。
信管網(wǎng)參考答案:
(1)virtual void DrawO {}
(2)Piece*
(3)Piece *
(4)piece->Draw0
(5)piece->Draw0
查看解析:m.xiexiliangjiufa.com/st/4595914371.html
6、閱讀下列說明和Java代碼,將應(yīng)填入(n)處的字句寫在題紙的對應(yīng)欄內(nèi)。
【說明】
享元(flyweight)模式主要用于減少創(chuàng)建對象的數(shù)量,以低內(nèi)存占用,提高性能?,F(xiàn)要開發(fā)一個網(wǎng)絡(luò)圍棋程序允許多個玩家聯(lián)機下棋。由于只有一臺服務(wù)器,為節(jié)內(nèi)存空間,采用享元模式實現(xiàn)該程序,得到如圖6-1所的類圖。
【Java代碼】
import java.util.*:
enum PieceColor {BLACK,WHITE}//棋子顏色
class PiecePos{//棋子位置
private intx;
private int y:
pubic PiecePos(int a,int b){x=a;y=b;}
public int getX0{retun x;}
public int getYO{return y;}
}
abstract class Piece{//棋子定義
protected PieceColor m_color;//顏色
protected Piecemopos m_pos;//位置
public Piece(PieceColor,color PiecePos
pos){m color=color;
{:sod=sod u
(1);
}
class BlackPiece extends Piece{
public BlackPiece(PieceColor
color,PiecePos pos){super(color,pos);}
public void drawO{
System out println("draw a black
piece");}
}
class WhitePiece extends Piece{
public WhitePiece(PieceColor
color,PiecePos pos){super(c
olor,pos):}
public void draw0{
System.out.println("draw a white
piece");
}
{
class PieceBoard{
//棋盤上已有的棋子
private static final
ArrayList<(2)>m_arrayPiece=new Arra
yList
private String m_blackName;//黑方名稱
private String m_whiteName;//白方名稱
public PieceBoard(String black,String
white){
m_blackName=black;m_whiteName=white;
}
//一步棋,在棋盤上放一顆棋子
public void SetePiece(PieceColor
color,PiecePos pos){
(3)piece=null;
if(color==PieceColor.BLACK)(//放黑子
piece=new BlackPiece(color,pos);//獲取一顆黑子
System.out.println(m_blackName+"在位置("+pos.getX0)
+","+pos.getYO+")");
(4):
{
else{//放白子
piece=new WhitePiece(color,pos);//獲取一顆白子
System.out.println(m whiteName+"在位置("+pos.getX0)+
","+pos.getYO+")");
(5):
}
m_arrayPiece.add(piece);
}
}
信管網(wǎng)參考答案:
(1)public abstract void draw( )
(2)Piece
(3)Piece
(4)piece.draw( )
(5)piece.draw( )
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學(xué)員考試保駕護航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |