小編在軟考最后一周,破釜沉舟的學(xué)習(xí)軟考的大題,找到了一些大題的做題技巧,特此分享給大家,希望所有參加軟考的同學(xué)都能盡自己百分百的努力,收獲最好的結(jié)果。 做題時可以重點找一下每類問題考察的考點以及提問問題的形式,然后分析解題的方法。 【一】數(shù)據(jù)流圖題: 本題考察的是軟考書上第六章,結(jié)構(gòu)化開發(fā)方法,主要是數(shù)據(jù)流圖相關(guān)內(nèi)容,重點難點部分是關(guān)于加工與數(shù)據(jù)流的相關(guān)知識,以及一些數(shù)據(jù)流平衡和數(shù)據(jù)流是否異常等問題。
問題題型解決方法
問題一
找外部實體(E1,E2…)
根據(jù)題意,找到外部的人、物、其他系統(tǒng),提供輸入或者輸出數(shù)據(jù)流的名詞
問題二
找數(shù)據(jù)存儲(D1,D2…)
本題比較簡單,一般看見0層圖中與數(shù)據(jù)存儲有關(guān)的數(shù)據(jù)流上標的是什么,就在其名稱后邊加上:(信息)表 即可,如:數(shù)據(jù)流上是路線線索,則其指向的數(shù)據(jù)存儲為:路線線索信息表
問題三
找缺失數(shù)據(jù)流
做題技巧:(1)注意數(shù)據(jù)流有5種:1>加工——>加工;2>加工——>數(shù)據(jù)存儲;3>加工——>外部實體;4>外部實體——>加工;5>數(shù)據(jù)存儲——>加工;切記,數(shù)據(jù)流不會出現(xiàn)實體——>實體,或者數(shù)據(jù)存儲——>數(shù)據(jù)存儲。(2)根據(jù)題意看清有哪些操作,對應(yīng)什么功能,確定數(shù)據(jù)流信息以及數(shù)據(jù)流的起點和終點。
問題四
此問題一般是比較靈活的題,常見的題型有幾種
具體看下邊的類型分析
類型分析:
問題四
類型一
解決方法
分解加工
根據(jù)題意找到本操作的描述中的動作以及標點符號的斷句
增加外部實體
看要求將有關(guān)的數(shù)據(jù)流(合并)的終點,指向增加的外部實體。有需要流出的數(shù)據(jù)起點為增加的外部實體
父圖和子圖平衡問題
(1)要保證父圖子圖的輸入和輸出數(shù)據(jù)在數(shù)量和名稱上一致。(2)三種不平衡的情況:黑洞:有輸入無輸出;奇跡:有輸入無輸出;灰洞:輸入不足以支持輸出
寫數(shù)據(jù)流的數(shù)據(jù)項
根據(jù)題意找到該數(shù)據(jù)流涉及到的數(shù)據(jù)項
【二】數(shù)據(jù)庫E-R圖: 此大題主要考察的是數(shù)據(jù)庫章節(jié)中的有關(guān)關(guān)系模式部分的內(nèi)容,關(guān)于各種聯(lián)系,以及主鍵外鍵,或者其他相關(guān)問題。
問題題型解決方法
問題一
補充實體聯(lián)系圖,并寫出聯(lián)系以及聯(lián)系的類型
根據(jù)題的描述,找到實體與實體之間的聯(lián)系,聯(lián)系的類型有:1:1; 1:n (或1:*);n:m(或 * :*)
問題二
補充關(guān)系模式
(1)根據(jù)題目給出的,以及關(guān)系1:1,1:n;n:m。
(2)注意將1:n的“1”寫到“n”中,如部門:員工=1:n,需要把部門號寫到員工(員工號,部門號...)這個關(guān)系模式中。
(3)多對多(n:m)的關(guān)系,要將關(guān)系單獨形成一個關(guān)系模式:如:多名教師可以教授多名學(xué)生,則有教授(教師號,學(xué)生號)這個關(guān)系模式
問題三
寫出完整性約束:主鍵、外鍵
主鍵:唯一標識一個元組的
外鍵:在此關(guān)系中包含此屬性,且此屬性在另一個關(guān)系中為主鍵,則稱此屬性為此關(guān)系的外鍵
問題四
問題四是本大題的最后一個問題,比較靈活
具體看類型分析
E-R圖問題四類型分析:
問題四
類型一
解決方法
添加實體,再補充實體聯(lián)系圖
注意:如果需要添加弱實體(雙矩形),則其關(guān)系是弱關(guān)系(雙菱形)。
注意:弱實體依賴于強實體,有強實體存在,弱實體才能存在
增加某些信息,需不需要添加實體
此類問題開增加的信息是描述誰的,就作為誰的屬性,如果關(guān)系圖上有,則不需要添加實體。
注意:如果是“抽出來”的關(guān)系,也可以有屬性
不同對象的屬性命名都為“編號”考試系統(tǒng)數(shù)據(jù)流圖,命名沖突嗎?
答:不沖突,命名沖突是對同一個對象而言,是指同一對象在不同關(guān)系模式中命名不同,在合并E-R模型時就產(chǎn)生命名沖突,如:教師這個對象,在教師表中命名為“教師編號”,而在職工表中卻命名為“職工編號”,這就是同一對象在不同表中的不同命名,如果兩個表需要合并,就會出現(xiàn)命名沖突。
模式中存在什么問題?
此問題要考慮關(guān)系模式的三范式是否滿足,不滿足會存在冗余,則要拆分關(guān)系模式
簡單屬性與復(fù)合屬性
簡單屬性:不可再分的;復(fù)合屬性:可以細分為更小的部分,如:通信地址:可以進一步劃分為郵編、省、市、街道等...
【三】UML圖題: 本題考察為軟考書上第七章面向?qū)ο笾蠻ML部分,重點有:用例圖,類圖,以及涉及到的八種關(guān)系。狀態(tài)圖,活動圖等也有考過,最好是都能掌握。
問題題型解決方法
問題一
對象題目,找參與者,找用例
注意:(1)參與者一般是人或物,名詞;用例一般是動作,功能
(2)找用例時,注意 和 關(guān)系,突破口。1、 a------->b ()關(guān)系,則a是拓展出來的用例,“b是被拓展的”;’如:打印訂單(a)------->訂單(b)()。2、a------->b()關(guān)系,則"b是被包含的”,如:查詢(a)------->查詢學(xué)生表 、查詢教師表....(b)
問題二
對應(yīng)題目和類圖找類
突破口:特殊的關(guān)系:泛化 / 繼承、聚合、組合、依賴等,對應(yīng)題目信息確定具體是哪個類
問題三
確定題目給出的屬性/方法屬于哪個類
對應(yīng)題目中的描述,和類圖結(jié)合,確定屬性屬于哪個類
問題四
其他題目
具體見下列表格,類型分析
UML題中其他問題:
問題 解決方法
根據(jù)題中的類圖,確定使用了哪種設(shè)計模式?為什么?
一定要看類圖,不能根據(jù)自己的主觀判斷。此前考過的有橋接模式、中介者模式等
多重度問題
(1)多重度:表示一個類的實例與另一個類的多少實例發(fā)生關(guān)聯(lián)
(2)需要在題目描述中,尋找關(guān)聯(lián)兩端的類之間的關(guān)系,雙向都要考慮
(3)區(qū)分0..*(可以取0、1、多),1..*(可以取1、多),*(不可以取1,必須是多個),1,0..1(0或者1),0..2/3
聚合和組合的區(qū)別
略
用例的基本事件流和備選事件流
基本事件流:描述該用例的基本流程,指每個流程都“正常”運作時所發(fā)生的事情,沒有任何備選流和異常流,而只有最有可能發(fā)生的事件流;
其他(備選)事件流:表示這個行為或流程是可選的或備選的,并不是總要總要執(zhí)行它們;
【四】算法題: 首先要先了解四大算法的思想和特點,然后重點是依照題意去走代碼,并且,算法題一般問題二,是問什么算法,這個根據(jù)題意和算法的特點就能做出來,問題三一般都是一個例子,這個題一般根據(jù)題意就能做出來,并且還能根據(jù)這個問題,去走代碼,更好的理解代碼。 簡單說一下每個算法的思想和特點,以及一般的考察點或題目特點:
算法
思想
特點
題目特點
考點
分治法
分而治之,分解,求解,合并
(1)遞歸
(2)折半
(3)分而治之,分解,求解,合并
一般都是折半問題
會考察分治法的遞歸式和時間復(fù)雜度
動態(tài)規(guī)劃法
求最優(yōu)解,每一種情況都會記錄(最優(yōu)子結(jié)構(gòu)),(通過重復(fù)子問題)最后找到最優(yōu)解
(1)最優(yōu)子結(jié)構(gòu)——出現(xiàn)式子
(2)重復(fù)子問題
(1)出現(xiàn)動態(tài)規(guī)劃的式子(最優(yōu)子結(jié)構(gòu))
(2)求最優(yōu)解
(1)一般代碼缺的空與動態(tài)規(guī)劃的條件和式子有關(guān)系
(2)時間復(fù)雜度(這個憑經(jīng)驗,看幾層循環(huán))
貪心法
局部最優(yōu)
(1)以“xx”為優(yōu)先順序
(2)可以取部分,不一定是每個物品的全部
(3)局部最優(yōu)
(1)出現(xiàn)“以什么什么為順序,優(yōu)先....”
(2)只考慮局部最優(yōu),每一步找最優(yōu)
如:背包問題:物品以最大單位價值編號順序,依次裝入背包中.......
會考察貪心算法的時間復(fù)雜度,以及貪心算法是否能達到最優(yōu)解(不能,只能保證局部最優(yōu))
回溯法
解空間樹
回退其上一個結(jié)點,直到找到一種方案滿足全部結(jié)點問題
一般出現(xiàn)“退回到上個結(jié)點”。如:皇后問題
回溯法是“深度優(yōu)先搜索”
算法題,看似很難,其實是因為我們對其代碼不熟悉,但是其思想很簡單,也是很實用的解決(復(fù)雜)問題的方法。 在做算法題時,最重要的是讀懂題意,尤其是題中有很多個條件限制,那么每一個條件都會出現(xiàn)在代碼中,我們在走代碼時,一定要對應(yīng)著題意,看其缺少什么限制條件,從而找出缺少的代碼句。 第二,就是不要把它想的很難考試系統(tǒng)數(shù)據(jù)流圖,代碼實在填不出來,后邊的問題二和問題三也能根據(jù)題和題的描述,做出來,至少保證拿到七八分。
【六】設(shè)計模式題:注意咱們一般都選第六題,考試的時候要注意用涂卡筆把選的題號涂上。 對于設(shè)計模式,首先要學(xué)其思想,以及每個模式對應(yīng)著解決什么問題,思想也是最重要的,會在以后的工作中用到。 其次,對于考試,考的是代碼,但是實質(zhì)是考察的類和類之間的關(guān)系:對應(yīng)類圖,找泛化/繼承關(guān)系,調(diào)用關(guān)系,依賴關(guān)系等。 考試做題技巧(套路>