在形式語言中,方法G是一個四元組G=(VN,Vr,P,Z),其中VN為(1)。若方法G的產(chǎn)生式集P為: (1)Z→Bc (2)Z→Zc (3)B→Ab (4)B→Bb (5)A→Aa (6)A→a 則文法G是(2)文法,識別G的自動機(jī)為(3)。對于G來說,(4)為文法G可接受的字符串,(5)為文法G不可接受的字符串。
(1)
A.狀態(tài)標(biāo)志符
B.開始符
C.語句集
D.非終結(jié)符集合
(2)
A.短語
B.上下文有關(guān)
C.上下文無關(guān)
D.正則
(3)
A.圖靈機(jī)
B.下推自動機(jī)
C.有窮狀態(tài)自動機(jī)
D.線性界限自動機(jī)
(4)
A.aaabc
B.acbb
C.acbcab
D.acbbca
(5)
A.abbcc
B.acbc
C.aaabc
D.aabbccc
自底向上的估計法的特點是(6)
(6)
A.簡單、工作量小、誤差大
B.精度高,但缺少子任務(wù)(模塊)間的聯(lián)系
C.估算較精確,但區(qū)分類比較困難
D.復(fù)雜、不可行,一般不采用此種方法,但這種副作用可以通過詳細(xì)的設(shè)計文檔加以控制
以下屬于選擇類排序法的是(7)
(7)
A.堆棧排序法
B.插入排序法
C.冒泡排序法
D.快速排序法
下列對關(guān)系的敘述中(8)不正確的
(8)
A.關(guān)系中的每個屬性是不可分解的
B.在關(guān)系中元組的順序是無關(guān)緊要的
C.任意的一個二維表都是一個關(guān)系
D.在關(guān)系中任意兩個元組不能完全相同
對于“指針”和“鏈”,下面的說法正確的是,(9)
(9)
A.它們是數(shù)據(jù)物理組織的兩種形式
B.它們是數(shù)據(jù)邏輯組織的兩種形式
C.它們是數(shù)據(jù)物理組織的兩種基本工具
D.它們是數(shù)據(jù)邏輯組織的兩種基本工具
甲、乙同為生產(chǎn)鋰電池的廠家。甲得知乙研制出改進(jìn)鋰電池質(zhì)量的技術(shù)戾竅后,遂以不正當(dāng)方式獲取了該技術(shù),并加以利用。甲廠侵害了乙廠的(10)
(10)
A.技術(shù)秘密權(quán)
B.專利權(quán)
C.專利申請權(quán)
D.經(jīng)營信息權(quán)
參考答案:
1—5 D,D,C,A,B 形式語言首先于1956年由Chomsky進(jìn)行描述。該理論討論了語言與文法的數(shù)學(xué)理論,按照對文法規(guī)則的不同定義形式,對語言和文法進(jìn)行了分類。一般來說,Chomsky文法是一個四元組G=(VN,Vr,P,Z),其中VN為非終結(jié)符集合,Vr為由終結(jié)符組成的字母表集合,P是窮非空的重寫規(guī)則集合,Z是識別符號。文法G對應(yīng)的語言是能從該文法的識別符號產(chǎn)生的那些終結(jié)符號串(句子)組成的集合。
簡單來說,對于文法的分類分為4類:
O型文法也稱短語結(jié)構(gòu)文法可以由圖靈機(jī)識別。
1型文法也樂上下文有關(guān)文法,可以由線性界限自動機(jī)識別。
2型文法也稱上下文無關(guān)文法,可以由下誰自動機(jī)識別。
3型文法也稱正則文法可以由有窮狀態(tài)自動機(jī)識別。
具體的文法定義可以參照編譯原理中的相關(guān)概念。
某種文法可以接受的句子經(jīng)過簡單推理即可。
6、B 自底向上的估計法:這種方法的主要思想是把待開發(fā)的軟件細(xì)分,直到每一個子任務(wù)都已經(jīng)明確所需要的開發(fā)工作量,然后把它們加起來,得到軟件開發(fā)的總工作量。這是一種常見的估算方法。它的優(yōu)點是估算各個部分的準(zhǔn)確性高。缺點是缺少各項子任務(wù)之間相互間的聯(lián)系。
7、A 排序是數(shù)據(jù)處理中經(jīng)常使用的一種重要運算。包括插入排序,交換排序,選擇排序,分配排序等。選擇排序的基本方法是:每步從待排序的記錄中選出排序碼最小的記錄,順序入在已排序的記錄序列的最后,直到全部排完。通常包括,直接選擇排序,樹形選擇排序和堆棧選擇排序。
8、C 本題考查關(guān)系的基本概念。通常來說,一組域的笛卡兒積可以表示為一個二維表。表中的行對應(yīng)一個元組,表中的每列對應(yīng)一個域。而關(guān)系則是笛卡兒積的子集,換而言之,關(guān)系必須是滿足一定意義的二維表。關(guān)系通常來說要滿足幾條基本性質(zhì),其中,列也就是屬性順序無所謂,但是必須是不可以分解的,元組也就是行的順序無所謂但不能完全相同,分是必須取原子值等等。
9、D “指針”和“鏈”是數(shù)據(jù)邏輯組織的兩種基本工具。
10、A 由題可知甲廠侵害了乙雨季的技術(shù)秘密權(quán)
閱讀以下關(guān)于軟件工程管理方面的敘述,回答問題1和問題2
某大型企業(yè)集團(tuán)的信息工程部有一百多名專職的軟件工程師從事企業(yè)內(nèi)外的軟件開發(fā)與維護(hù)工作,該集團(tuán)分布地域廣闊,集團(tuán)內(nèi)采用了多種操作系統(tǒng)平臺和多類開發(fā)環(huán)境。王總工程師在總結(jié)近三年來的軟件開發(fā)工作時,發(fā)現(xiàn)有10%左右的軟件開發(fā)項目未能完成而被迫取消;其余25%的項目中大多也不能完全實現(xiàn)預(yù)定的目標(biāo),特別是在軟件測試環(huán)節(jié)出了很大問題。
王總工程師組織了信息工程啊內(nèi)有關(guān)的管理人員和業(yè)務(wù)骨干,召開了三次小結(jié)與分析會議,在會能上能下集中討論了軟件包工程管理有關(guān)的問題,在歸納的意見中出現(xiàn)了以下的一些內(nèi)容:
(1)軟件開發(fā)已經(jīng)逐漸成為一類工業(yè)化的生產(chǎn)過程,必須盡可能對其中的所有環(huán)節(jié)進(jìn)行有效的管理與控制。
(2)軟件工程管理與其它工程管理相比,主要的困難包括:軟件產(chǎn)品的不可見性(難以把握開發(fā)進(jìn)展與質(zhì)量要求等)、軟件開發(fā)過程的非標(biāo)準(zhǔn)化和許多軟件項目開發(fā)的“一次性”(缺少可借鑒的經(jīng)驗)等。
(3)軟件開發(fā)面對著進(jìn)度、成本、功能和性能四方面的主要約束,即要求在預(yù)定的期限內(nèi),使用規(guī)定的有限資源,滿足不斷增長的軟件功能與性能需求。從這個角度來看,必須強(qiáng)化軟件工程的管理。
(4)Client/Server與Browser/Serve模式等已成為當(dāng)前軟件體系結(jié)構(gòu)的主流。在日益復(fù)雜的分布式開發(fā)環(huán)境下,進(jìn)行跨平臺的團(tuán)隊開發(fā),實現(xiàn)代碼共享相當(dāng)困難,軟件工程管理在其中可以發(fā)揮其重大作用。
(5)從目前情況看,要注意軟件維護(hù)可能帶來的副作用,也就是沒有找到隱含的錯誤,在以后的軟件維護(hù)中一定要注意。
(6)跨平臺復(fù)雜環(huán)境多重結(jié)構(gòu)開發(fā)含有許多需要加以管理的對象類型,多樣化的團(tuán)體開發(fā)也應(yīng)加強(qiáng)管理。
(7)為使得開發(fā)人員對軟件產(chǎn)品的各個階段工作都進(jìn)行周密的思考,從而減少返工,所以測試計劃的編制是很重要的。
(8)一個大中型的應(yīng)用系統(tǒng)的開發(fā)可能包含有成百上千個軟件模塊以及數(shù)以百萬計的代碼行,任何一個編程人員不可能了解和追蹤該應(yīng)用系統(tǒng)所有的每一個片斷,因此使軟件代碼具有可管理性和可審核性將是軟件工程管理中的一項重要任務(wù)。
(9)要提高軟件的使用效率,要實施軟件復(fù)用。軟件復(fù)用是指重復(fù)使用已有軟件產(chǎn)品用于開發(fā)新的軟件系統(tǒng),以達(dá)到提高軟件系統(tǒng)的開發(fā)質(zhì)量與效率、降低開發(fā)成本的目的。軟件復(fù)用的兩個層次包括知識復(fù)用,方法和標(biāo)準(zhǔn)復(fù)用,軟件復(fù)用的級別包括代碼復(fù)用和分析結(jié)構(gòu)的復(fù)用。
(10)我們的長遠(yuǎn)目標(biāo)是需要建立一類軟件開發(fā)管理體系,能有效地輔助軟件開發(fā)全過程中對有關(guān)信息的收集和管理,這類體系應(yīng)是可重復(fù)使用權(quán)用的并可適用于各類軟件開發(fā)項目,使軟件資源在軟件的生命周期中保持完整。
(11)對外服務(wù)的軟件開發(fā)機(jī)構(gòu)應(yīng)當(dāng)努力取得ISO9000質(zhì)量認(rèn)證,并根據(jù)CMM9能力(成熟度模型)標(biāo)準(zhǔn)來改進(jìn)自己的開發(fā)過程,在這些質(zhì)量標(biāo)準(zhǔn)實現(xiàn)的過程中,軟件工程管理起著得要的作用。
【問題1】
王總工程師指出在上述十一條意見中,有三條的提法是不夠恰當(dāng)?shù)幕蛘呤遣粔蛉娴,請你指出其序號,并各?0字以內(nèi)文字說明理由。
【問題2】
信息工程部與王總工程師在詳細(xì)分析本集團(tuán)的軟件工程管理方面存在的各類問題時,發(fā)現(xiàn)在不少軟件項目實施過程中,隨著軟件開發(fā)規(guī)模的增大、復(fù)雜程度的增加,以尋找軟件中的錯誤為目的的測試工作就顯得更加困難。軟件測試這一環(huán)節(jié)較為薄弱,尤其是對軟件測試問題認(rèn)識上有些偏差。軟件測試包括人工測試和機(jī)器測試兩大部分。請你用250字以內(nèi)文字以提綱方式說明,軟件測試的一般步驟?(只需列出相應(yīng)的名稱并且簡要說明即可)
參考答案:
【問題1】
(6)從目前情況看,要注意軟件維護(hù)可能帶來的副作用,軟件維護(hù)帶來的副作用是修改軟件而造成的錯誤。
(7)為使開發(fā)人員對軟件產(chǎn)品的各個階段工作都進(jìn)行周密的思考,從而減少返工,所以軟件文檔的編制是很重要的。
(9)軟件復(fù)用有三個層次包括知識復(fù)用、方法和標(biāo)準(zhǔn)復(fù)用以及軟件成分復(fù)用,軟件復(fù)用的級別包括代碼復(fù)用、分析結(jié)構(gòu)和設(shè)計結(jié)果的復(fù)用。
【問題2】
軟件測試的一般步驟是:
(1)測試人員要閱讀有關(guān)資料,包括規(guī)格說明、設(shè)計文檔、使用說明書及在設(shè)計過程中形成的測試大綱、測試內(nèi)容及測試的通過準(zhǔn)則,全面熟悉系統(tǒng),編寫測試計劃,設(shè)計測試用例,作好測試前的準(zhǔn)備工作。
(2)為了保證測試的質(zhì)量,將測試過程分成幾個階段,即“代碼審查、單元測試、集成測試和驗收測試。代碼會審是由一組人通過閱讀、討論和爭論對程序進(jìn)行靜態(tài)分析的過程。單元測試集中在檢查軟件設(shè)計的最小單位—模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。集成測試是將模塊按照設(shè)計要求組裝起來同時進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。驗收測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)過上述的測試過程對軟件進(jìn)行測試后,軟件基本滿足開發(fā)的要求,測試宣告結(jié)束,經(jīng)驗收后,將軟件提交用戶。