軟件工程復(fù)習(xí)題目+答案_第1頁(yè)
軟件工程復(fù)習(xí)題目+答案_第2頁(yè)
軟件工程復(fù)習(xí)題目+答案_第3頁(yè)
軟件工程復(fù)習(xí)題目+答案_第4頁(yè)
軟件工程復(fù)習(xí)題目+答案_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一、選擇題1、軟件是一種(2)性工業(yè)產(chǎn)品。(1)理論 (2)知識(shí)(或邏輯) (3)消耗 (4)體力2、需求分析是在(2)進(jìn)行的。(1)用戶 (2)用戶和分析人員之間 (3)開(kāi)發(fā)人員內(nèi)部 (4)使用和維護(hù)人員之間3、在軟件的可行性研究中經(jīng)常從不同角度對(duì)系統(tǒng)進(jìn)行可行性研究,其中從功能角度對(duì)系統(tǒng)進(jìn)行研究屬于(2)的研究。(1)經(jīng)濟(jì)可行性 (2)技術(shù)可行性 (3)操作可行性 (4)法律可行性4、在軟件工程項(xiàng)目中,不隨參與人員的增加而使軟件的生產(chǎn)率增加的主要問(wèn)題是(4)。(1)工作階段的等待時(shí)間 (2)生產(chǎn)原型的復(fù)雜性(3)參與人員所需的工作站數(shù) (4)參與人員之間的溝通困難5、需求分析階段的研究對(duì)象是

2、(1)。(1)用戶需求 (2)分析員要求 (3)系統(tǒng)需求 (4)軟硬件需求6、對(duì)某公司進(jìn)行調(diào)查分析,確定是否值得開(kāi)發(fā)一個(gè)新系統(tǒng)的工作是進(jìn)行(4)。()系統(tǒng)設(shè)計(jì)()系統(tǒng)分析()系統(tǒng)詳細(xì)調(diào)查()系統(tǒng)初步調(diào)查7、系統(tǒng)分析員應(yīng)當(dāng)(4)。()善于使用戶接受自已的觀點(diǎn)()善于使自已獲得成就()是用戶與計(jì)算機(jī)技術(shù)人員的有效協(xié)調(diào)與組織者()滿足上述所有條件8、數(shù)據(jù)流圖的繪制過(guò)程,是對(duì)新系統(tǒng)的需求進(jìn)行綜合分析和形成新系統(tǒng)(1)的過(guò)程。()邏輯模型()物理模型()總體方案()可行性報(bào)告9、系統(tǒng)測(cè)試的目的是(4)。()找出編碼錯(cuò)誤()找出數(shù)據(jù)錯(cuò)誤()要證明程序無(wú)錯(cuò)()發(fā)現(xiàn)軟件錯(cuò)誤10、一個(gè)模塊內(nèi)部各程序段都在同一張

3、表上操作,這個(gè)操作的內(nèi)聚性稱為(3)。(1)時(shí)間內(nèi)聚 (2)功能內(nèi)聚 (3)通信內(nèi)聚 (4)順序內(nèi)聚11、對(duì)象是面向?qū)ο箝_(kāi)發(fā)的基本成分,每個(gè)對(duì)象可用它的一組(3)和它可以執(zhí)行的一組操作來(lái)定義。(1)服務(wù) (2)參數(shù) (3)屬性 (4)調(diào)用12、最高程度也是最差的耦合是(2)。(1)公共耦合 (2)內(nèi)容耦合 (3)控制耦合 (4)數(shù)據(jù)耦合13、概要設(shè)計(jì)階段產(chǎn)生的文檔不包括(4)。(1)概要設(shè)計(jì)說(shuō)明書(shū) (2)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū) (3)用戶手冊(cè) (4)開(kāi)發(fā)進(jìn)度報(bào)告14、汽車有一個(gè)發(fā)動(dòng)機(jī),汽車和發(fā)動(dòng)機(jī)之間的關(guān)系是(2)。(1)一般具體關(guān)系 (2)整體部分關(guān)系 (3)分類關(guān)系 (4)is a 關(guān)系15、覆

4、蓋準(zhǔn)則最強(qiáng)的是(4)。(1)語(yǔ)句覆蓋 (2)判定覆蓋 (3)條件覆蓋 (4)路徑覆蓋16、下面對(duì)數(shù)據(jù)流圖描述不正確的是(4)。()是組織中信息運(yùn)動(dòng)的抽象()是系統(tǒng)模型的主要形式()它與對(duì)系統(tǒng)的物理描述無(wú)關(guān)()所描述的內(nèi)容是面向管理員的17、在基本的數(shù)據(jù)加工中,決策樹(shù)適合于表達(dá)(2)。()決策或判斷步驟較多的加工問(wèn)題()決策或判斷條件較多,各條件又相互組合的問(wèn)題()非結(jié)構(gòu)化決策問(wèn)題()半結(jié)構(gòu)化決策問(wèn)題18、調(diào)試應(yīng)該由(2)完成。(1)與源程序無(wú)關(guān)的程序員 (2)編制該源程序的程序員(3)不了解軟件設(shè)計(jì)的機(jī)構(gòu) (4)設(shè)計(jì)該軟件的機(jī)構(gòu)19、導(dǎo)出模塊結(jié)構(gòu)圖的基礎(chǔ)是(2)()系統(tǒng)結(jié)構(gòu)圖()數(shù)據(jù)流圖()數(shù)

5、據(jù)結(jié)構(gòu)圖()控制結(jié)構(gòu)圖20、程序員進(jìn)行程序設(shè)計(jì)的主要文檔依據(jù)是(2)()模塊說(shuō)明書(shū)()系統(tǒng)流程圖()控制流程圖()數(shù)據(jù)流圖21、面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言不同于其它語(yǔ)言的最主要特點(diǎn)是(3)。(1)模塊性 (2)抽象性 (3)繼承性 (4)共享性22、軟件部件的內(nèi)部實(shí)現(xiàn)與外部可訪問(wèn)性分離,這是指軟件的(3)。(1)繼承性 (2)共享性 (3)封裝性 (4)抽象性23、在確定類時(shí),候選的類是所有的(1)。(1)名詞 (2)形容詞 (3)動(dòng)詞 (4)代詞24、在面向?qū)ο蠓椒ㄖ校畔㈦[蔽的實(shí)現(xiàn)是通過(guò)對(duì)象的(3)。(1)分類性 (2)繼承性 (3)封裝性 (4)共享性25、每個(gè)對(duì)象可用它自已的一組屬性和它可以

6、執(zhí)行的一組(3)來(lái)表示。(1)行為 (2)功能 (3)操作 (4)數(shù)據(jù)26、面向?qū)ο蟮闹饕卣鞒龑?duì)象唯一性、封裝、繼承外,還有(1)。(1)多態(tài)性 (2)完整性 (3)可移植性 (4)兼容性27.開(kāi)發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做(C) A.軟件工程B.軟件周期 C.軟件危機(jī)D.軟件產(chǎn)生28.研究開(kāi)發(fā)所需要的成本和資源是屬于可行性研究中的(B)研究的一方面。 A.技術(shù)可行性B.經(jīng)濟(jì)可行性 C.社會(huì)可行性D.法律可行性29.黑盒測(cè)試在設(shè)計(jì)測(cè)試用例時(shí),主要需要研究(A) A.需求規(guī)格說(shuō)明與概要設(shè)計(jì)說(shuō)明B.詳細(xì)設(shè)計(jì)說(shuō)明 C.項(xiàng)目開(kāi)發(fā)計(jì)劃D.概要設(shè)計(jì)說(shuō)明與詳細(xì)設(shè)計(jì)說(shuō)明30

7、.若有一個(gè)計(jì)算類型的程序,它的輸入量只有一個(gè)X,其范圍是-1.0,1.0,現(xiàn)從輸入的角度考慮一組測(cè)試用例:-1.001,-1.0,1.0,1.001。設(shè)計(jì)這組測(cè)試用例的方法是(C) A.條件覆蓋法B.等價(jià)分類法 C.邊界值分析法D.錯(cuò)誤推測(cè)法31.下列屬于維護(hù)階段的文檔是(C) A.軟件規(guī)格說(shuō)明B.用戶操作手冊(cè) C.軟件問(wèn)題報(bào)告D.軟件測(cè)試分析報(bào)告32.快速原型模型的主要特點(diǎn)之一是(D) A.開(kāi)發(fā)完畢才見(jiàn)到產(chǎn)品B.及早提供全部完整的軟件產(chǎn)品 C.開(kāi)發(fā)完畢后才見(jiàn)到工作軟件D.及早提供工作軟件33.因計(jì)算機(jī)硬件和軟件環(huán)境的變化而作出的修改軟件的過(guò)程稱為( B) A.改正性維護(hù)B.適應(yīng)性維護(hù) C.完

8、善性維護(hù)D.預(yù)防性維護(hù)34.軟件按照設(shè)計(jì)的要求,在規(guī)定時(shí)間和條件下達(dá)到不出故障,持續(xù)運(yùn)行的要求的質(zhì)量特性稱為(B) A.可用性B.可靠性 C.正確性D.完整性35.下列文檔與維護(hù)人員有關(guān)的有(C) A.軟件需求說(shuō)明書(shū)B(niǎo).項(xiàng)目開(kāi)發(fā)計(jì)劃 C.概要設(shè)計(jì)說(shuō)明書(shū)D.操作手冊(cè)36.在結(jié)構(gòu)化方法中全面指導(dǎo)模塊劃分的最重要的原則是(D) A.程序模塊化B.模塊高內(nèi)聚 C.模塊低耦合D.模塊獨(dú)立性二、填空題1、可行性研究的目的不是去開(kāi)發(fā)一個(gè)軟件項(xiàng)目,而是研究這個(gè)項(xiàng)目是否值得去開(kāi)發(fā),其中的問(wèn)題能否解決。2、軟件結(jié)構(gòu)的設(shè)計(jì)是以模塊為基礎(chǔ)的。3、軟件設(shè)計(jì)階段,是把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型。4

9、、需求分析的關(guān)鍵是必須準(zhǔn)確理解用戶的要求,同時(shí)要滿足用戶的要求。最終解決目標(biāo)系統(tǒng)“做什么”的問(wèn)題。5、數(shù)據(jù)流圖一般可分為變換型和事務(wù)型兩類。6、HIPO圖中H圖用于描述軟件總的模塊層次結(jié)構(gòu),IPO圖用于說(shuō)明模塊間的信息傳遞及模塊內(nèi)部的處理。7、詳細(xì)設(shè)計(jì)也稱過(guò)程設(shè)計(jì),它是軟件設(shè)計(jì)的第二階段,主要確定每個(gè)模塊的具體執(zhí)行過(guò)程。8、處理過(guò)程設(shè)計(jì)中最典型的方法是結(jié)構(gòu)化程序設(shè)計(jì)(SP)方法,其基本要點(diǎn)是采用的程序設(shè)計(jì)方法是自頂向下、逐步求精。9、測(cè)試用例由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。10、白盒法必須考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,以檢查處理過(guò)程的細(xì)節(jié)為基礎(chǔ),對(duì)程序中盡可能對(duì)的邏輯路徑進(jìn)行測(cè)試。11、

10、軟件測(cè)試過(guò)程中需要3類信息:軟件配置、測(cè)試配置和測(cè)試工具。12、在詳細(xì)設(shè)計(jì)階段,需要對(duì)處理過(guò)程的模塊和數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)做評(píng)審。13、對(duì)象具有狀態(tài),對(duì)象用數(shù)據(jù)值來(lái)描述它的狀態(tài)。14、數(shù)據(jù)流圖描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾部分組成,各部分之間有什么聯(lián)系等。15、任何程序都可由順序 、選擇和重復(fù)3種基本控制結(jié)構(gòu)構(gòu)造。這3種基本結(jié)構(gòu)的共同點(diǎn)是單入口、單出口。16、測(cè)試的目的就是發(fā)現(xiàn)程序中的錯(cuò)誤,而不是調(diào)試程序沒(méi)有錯(cuò)誤。17、面向數(shù)據(jù)流的設(shè)計(jì)又稱結(jié)構(gòu)化程序設(shè)計(jì)(SP),它是以需求分析階段產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu)。18、可行性分析包括技術(shù)可行性、經(jīng)濟(jì)上的可行性和社會(huì)可行性。19.

11、 純收入是指在整個(gè)生存周期之內(nèi)的累計(jì)經(jīng)濟(jì)效益與投資之差。20. 軟件概要設(shè)計(jì)的主要任務(wù)就是軟件結(jié)構(gòu)的設(shè)計(jì)。21. 在單元測(cè)試中,需要為被測(cè)模塊設(shè)計(jì)驅(qū)動(dòng)模塊和存根模塊。驅(qū)動(dòng)模塊用來(lái)模擬被測(cè)模塊的上級(jí)調(diào)用模塊,存根模塊用來(lái)代替被測(cè)模塊所調(diào)用的模塊。三、名詞解釋1、軟件測(cè)試軟件測(cè)試是指為了發(fā)現(xiàn)軟件中的錯(cuò)誤而執(zhí)行軟件的過(guò)程。它的目標(biāo)是盡可能多地發(fā)現(xiàn)軟件中存在的錯(cuò)誤,將測(cè)試結(jié)果作為糾錯(cuò)的依據(jù)。2、詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)又稱過(guò)程設(shè)計(jì),“怎樣實(shí)現(xiàn)”這個(gè)軟件系統(tǒng),對(duì)系統(tǒng)中的每個(gè)模塊給出具體的執(zhí)行過(guò)程。詳細(xì)設(shè)計(jì)主要包括代碼設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、輸入/輸出設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì)等。3、數(shù)據(jù)耦合如果兩個(gè)模塊彼此間通過(guò)參數(shù)交換信息

12、,而且交換的信息僅僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。4、模塊化模塊化就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問(wèn)的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求。5、信息隱蔽信息隱蔽是指在設(shè)計(jì)模塊時(shí),應(yīng)讓一個(gè)模塊內(nèi)包含的信息(過(guò)程和數(shù)據(jù))對(duì)于其他不需要這些信息的模塊來(lái)說(shuō)是不能訪問(wèn)的。6、耦合耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合強(qiáng)弱取決于模塊間接口的 復(fù)雜程度,進(jìn)入或訪問(wèn)一個(gè)模塊的點(diǎn),以及通過(guò)接口的數(shù)據(jù)。7、功能內(nèi)聚如果模塊內(nèi)所處理的元素屬于一個(gè)整體,完成一個(gè)單一的功能,則稱為功能內(nèi)聚。8、事務(wù)流事務(wù)流是指數(shù)據(jù)流圖中輸入流被分離成許多數(shù)

13、據(jù)流,形成許多加工路徑,并根據(jù)輸入值選擇其中一條路徑來(lái)執(zhí)行。9、集成測(cè)試集成測(cè)試,也叫組裝測(cè)試或聯(lián)合測(cè)試。 在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求 (如結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測(cè)試。模塊相互間的協(xié)調(diào)和通信是這個(gè)測(cè)試過(guò)程中的主要問(wèn)題,因此,這個(gè)步驟著重測(cè)試模塊的接口。10、需求分析需求分析是開(kāi)發(fā)人員準(zhǔn)確地理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的需求規(guī)格說(shuō)明的過(guò)程。需求分析的第一步是進(jìn)一步了解用戶當(dāng)前所處的情況,發(fā)現(xiàn)用戶所面臨的問(wèn)題和對(duì)目標(biāo)系統(tǒng)的基本需求;接下來(lái)應(yīng)該與用戶深入交流,對(duì)用戶的基本需求反復(fù)細(xì)化逐步求精,以

14、得出對(duì)目標(biāo)系統(tǒng)的完整、準(zhǔn)確和具體的需求。11、白盒測(cè)試白盒測(cè)試指把測(cè)試對(duì)象看成一個(gè)透明的白盒子,測(cè)試人員需了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程, 以檢查處理過(guò)程的細(xì)節(jié)為基礎(chǔ),對(duì)程序中盡可能多的邏輯路徑進(jìn)行測(cè)試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò),實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致,又稱為結(jié)構(gòu)測(cè)試。12、黑盒測(cè)試黑盒測(cè)試指把測(cè)試對(duì)象看成一個(gè)黑盒子,測(cè)試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程, 只在軟件的接口處進(jìn)行測(cè)試,依據(jù)需求規(guī)格說(shuō)明書(shū),檢查程序是否滿足功能要求,又稱為功能測(cè)試。13、漸增式測(cè)試漸增式測(cè)試是把下一個(gè)要測(cè)試的模塊同已經(jīng)測(cè)試好的那些模塊結(jié)合起來(lái)進(jìn)行測(cè)試,測(cè)試完以后再把下一個(gè)應(yīng)該測(cè)試的模塊結(jié)合

15、起來(lái)進(jìn)行測(cè)試。14、非漸增式測(cè)試非漸增式測(cè)試是先分別測(cè)試每個(gè)模塊,再把所有模塊按設(shè)計(jì)要求放在一起結(jié)合成所要的程序。15、軟件概要設(shè)計(jì)在需求分析的基礎(chǔ)上通過(guò)抽象和分解將系統(tǒng)分解成模塊,確定系統(tǒng)功能實(shí)現(xiàn),即把軟件需求轉(zhuǎn)換為軟件表示(只是描述軟件總的體系結(jié)構(gòu))的過(guò)程。16、模塊模塊是由邊界元素限定的相鄰程序元素(例如,數(shù)據(jù)說(shuō)明,可執(zhí)行的語(yǔ)句)的序列,而且有一個(gè)總體標(biāo)識(shí)符代表它。17、路徑覆蓋路徑覆蓋是指選取足夠多測(cè)試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次(如果程序圖中有環(huán),則要求每個(gè)環(huán)至少經(jīng)過(guò)一次)。18、條件覆蓋條件覆蓋是指不僅每個(gè)語(yǔ)句至少執(zhí)行一次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)

16、果。19、判定/條件覆蓋判定/條件覆蓋是指選取足夠多的測(cè)試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果。20、條件組合覆蓋條件組合覆蓋是更強(qiáng)的邏輯覆蓋標(biāo)準(zhǔn),它要求選取足夠多的測(cè)試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。四、簡(jiǎn)述題1、軟件設(shè)計(jì)的基本原理包括哪些內(nèi)容?軟件設(shè)計(jì)的基本原理: (1)模塊化(四個(gè)屬性:接口、功能、邏輯、狀態(tài))(2)抽象(3)信息隱蔽(4)模塊獨(dú)立性(兩個(gè)定性的度量標(biāo)準(zhǔn):耦合性與內(nèi)聚性)2、需求分析應(yīng)遵循的原則是什么?所有這些分析方法都遵守下述準(zhǔn)則:(1) 必須理解并描述問(wèn)題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立

17、數(shù)據(jù)模型。(2) 必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型。(3) 必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型。(4) 必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。3、為什么說(shuō)軟件測(cè)試是軟件開(kāi)發(fā)中不可缺少的重要一環(huán),但不是軟件質(zhì)量保證的安全網(wǎng)? 軟件測(cè)試是軟件開(kāi)發(fā)中不可缺少的重要一環(huán),原因是:A、測(cè)試的工作量約占整個(gè)項(xiàng)目開(kāi)發(fā)工作量的 40%左右,幾乎一半。如果是關(guān)系到人的生命安全的軟件,測(cè)試的工作量還要成倍增加。B、軟件測(cè)試代表了需求分析、設(shè)計(jì)、編碼的最終復(fù)審。 軟件測(cè)試不是軟件質(zhì)量保證的安全網(wǎng),因?yàn)檐浖y(cè)試只能發(fā)現(xiàn)錯(cuò)誤,不能保證沒(méi)有錯(cuò)誤。4、軟

18、件測(cè)試的目的是什么?為什么把軟件測(cè)試的目標(biāo)定義為只是發(fā)現(xiàn)錯(cuò)誤?軟件測(cè)試的目的有: 軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤。軟件測(cè)試的目標(biāo)定義為只是發(fā)現(xiàn)錯(cuò)誤,原因是軟件測(cè)試可以有兩個(gè)目標(biāo),一個(gè)是預(yù)防錯(cuò)誤,另一個(gè)是發(fā)現(xiàn)錯(cuò)誤。由于軟件開(kāi)發(fā)是人的創(chuàng)造性勞動(dòng),人的活動(dòng)不可能完美無(wú)缺,錯(cuò)誤可能發(fā)生在任何一個(gè)階段,因此預(yù)防錯(cuò)誤這一目標(biāo)幾乎是不可實(shí)現(xiàn)的,所以軟件測(cè)試的目標(biāo)定義為只是發(fā)現(xiàn)錯(cuò)誤。5、增量開(kāi)發(fā)和原型開(kāi)發(fā)有什么相同和不同的地方?增量模型和原型模型都是從概要的需求出發(fā)進(jìn)行開(kāi)發(fā)的,但兩者有明顯的不同。增量模型是從一些不完

19、整的系統(tǒng)需求出發(fā)開(kāi)始開(kāi)發(fā),在開(kāi)發(fā)過(guò)程中逐漸發(fā)現(xiàn)新的需求規(guī)格說(shuō)明,并進(jìn)一步充實(shí)完善該系統(tǒng),使之成為實(shí)際可用的系統(tǒng)。原型開(kāi)發(fā)的目的是為了發(fā)現(xiàn)并建立一個(gè)完整的經(jīng)過(guò)證實(shí)的需求規(guī)格說(shuō)明,并以此作為正式系統(tǒng)的開(kāi)發(fā)基礎(chǔ)。因此,原型開(kāi)發(fā)階段的輸出是需求的規(guī)格說(shuō)明,是為了降低整個(gè)軟件生成期的費(fèi)用而拉大需求分析階段的一種方法,大部分原型是 “用完就扔”的類型。6、簡(jiǎn)述結(jié)構(gòu)化程序設(shè)計(jì)方法的基本要點(diǎn)。(1)采用自頂向下,逐步求精的程序設(shè)計(jì)方法。 (2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序,分別是順序,選擇和重復(fù)。(3)采用主程序員組的組織形式。(4)采用單入口單出口的模塊形式。7、簡(jiǎn)述文檔在軟件工程中的作用。(1)提高軟件開(kāi)

20、發(fā)過(guò)程的能見(jiàn)度;(2)提高開(kāi)發(fā)效率;(3)作為開(kāi)發(fā)人員階段工作成果和結(jié)束標(biāo)志;(4)記錄開(kāi)發(fā)過(guò)程的有關(guān)信息便于使用與維護(hù); (5)提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料; (6)便于用戶了解軟件功能、性能。8、簡(jiǎn)述提高可維護(hù)性的方法。(1)建立明確的軟件質(zhì)量目標(biāo);(2)利用先進(jìn)的軟件開(kāi)發(fā)技術(shù)和工具;(3)建立明確的質(zhì)量保證工作;(4)選擇可維護(hù)的程序設(shè)計(jì)語(yǔ)言;(5)改進(jìn)程序文檔。9、什么是模塊的影響范圍?什么是模塊的控制范圍?他們之間應(yīng)該建立什么關(guān)系?模塊的影響范圍:受該模塊內(nèi)的一個(gè)判定影響的所有模塊的集合。模塊的控制范圍:模塊本身及其所有下屬模塊(直接或間接從屬于它的模塊)的集合。一個(gè)模塊的影響范

21、圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊應(yīng)與受其影響的模塊在層次上盡量靠近。10、可行性研究的任務(wù)是什么?首先需要進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模和目標(biāo),確定項(xiàng)目的約束和限制,把他們清楚地列舉出來(lái)。然后,分析員進(jìn)行簡(jiǎn)要的需求分析,抽象出該項(xiàng)目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型出發(fā),經(jīng)過(guò)壓縮的設(shè)計(jì),探索出若干種可供選擇的主要解決方法,對(duì)每種解決方法都要研究它的可行性,可從以下三個(gè)方面分析研究每種解決方法的可行性。技術(shù)可行性:對(duì)要開(kāi)發(fā)項(xiàng)目的功能、性能、限制條件進(jìn)行分析,確定在現(xiàn)有的資源條件下,技術(shù)風(fēng)險(xiǎn)有多大,項(xiàng)目是否能實(shí)現(xiàn)。經(jīng)濟(jì)可行性:進(jìn)行開(kāi)發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開(kāi)發(fā)的項(xiàng)

22、目是否值得投資開(kāi)發(fā)。社會(huì)可行性:要開(kāi)發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問(wèn)題,要開(kāi)發(fā)項(xiàng)目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。11、什么是軟件詳細(xì)設(shè)計(jì)?該階段的基本任務(wù)是什么?詳細(xì)設(shè)計(jì)是軟件設(shè)計(jì)的第二階段,主要確立每個(gè)模塊的實(shí)現(xiàn)算法、局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。其基本任務(wù)有:為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì);為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì);對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì),即確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu);其他設(shè)計(jì),根據(jù)軟件系統(tǒng)類型,還可能要進(jìn)行代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì);編寫詳細(xì)設(shè)計(jì)說(shuō)明書(shū);評(píng)審。12、什么是模型?開(kāi)發(fā)軟件時(shí)為什么要建立模型?所謂

23、模型,就是為了理解事物而對(duì)事物做出的一種抽象,是對(duì)事物的一種無(wú)歧義的書(shū)面描述。通常,模型由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成,利用它們來(lái)定義和描述問(wèn)題域中的術(shù)語(yǔ)和概念。為了開(kāi)發(fā)出復(fù)雜的軟件系統(tǒng),系統(tǒng)分析員應(yīng)該從不同角度抽象出目標(biāo)系統(tǒng)的特性,使用精確的表示方法構(gòu)造系統(tǒng)的模型,驗(yàn)證模型是否滿足用戶對(duì)目標(biāo)系統(tǒng)的需求,并在設(shè)計(jì)過(guò)程中逐漸把和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)加進(jìn)模型中,直至最終用程序?qū)崿F(xiàn)模型,對(duì)于那些因過(guò)分復(fù)雜而不能直接理解的系統(tǒng),特別需要建立模型。模型可以幫助我們思考問(wèn)題、定義術(shù)語(yǔ)、在選擇術(shù)語(yǔ)時(shí)作出適當(dāng)?shù)募僭O(shè),并且可以幫助我們保持定義和假設(shè)的一致性。建立模型的目的主要是為了降低復(fù)雜性。五、應(yīng)用題1、研

24、究生入學(xué)考試的科目為英語(yǔ)、數(shù)學(xué)、政治,錄取規(guī)則是:a) 總分200分以下(不含200分)不錄取。b) 總分200分以上(含200分)時(shí):i. 英語(yǔ)、數(shù)學(xué)均為60分以上(含60分)錄取。ii. 數(shù)學(xué)55分以上(含55分),英語(yǔ)70分以上(含70分)需參加復(fù)試。iii. 其它情況不錄取。用決策樹(shù)表達(dá)此項(xiàng)處理邏輯。2、某銀行發(fā)放貸款原則如下:() 對(duì)于貸款未超過(guò)限額的客戶,允許立即貸款;() 對(duì)于貸款已超過(guò)限額的客戶,若過(guò)去還款記錄好且本次貸款額在2萬(wàn)元以下,可作出貸款安排,否則拒絕貸款。請(qǐng)用結(jié)構(gòu)化語(yǔ)言描述該原則。3、銀行確定儲(chǔ)蓄類型部分?jǐn)?shù)據(jù)流圖如下:整存整取確定業(yè)務(wù)類型活期儲(chǔ)蓄零存整取存款單試作出

25、事務(wù)分析結(jié)構(gòu)的控制結(jié)構(gòu)圖。 4、高考錄取計(jì)分子系統(tǒng)有如下功能:() 計(jì)算標(biāo)準(zhǔn)分:根據(jù)考生原始分計(jì)算,得到標(biāo)準(zhǔn)分,存入考生分?jǐn)?shù)文件;() 計(jì)算錄取線分:根據(jù)標(biāo)準(zhǔn)分、招生計(jì)劃文件中的招生人數(shù),計(jì)算錄取線,存入錄取線文件。試根據(jù)要求畫(huà)出該系統(tǒng)的數(shù)據(jù)流圖。5、某旅館的電話服務(wù)如下:可以撥分機(jī)號(hào)和外線號(hào)碼。分機(jī)號(hào)是從7201至7299。外線號(hào)碼先撥9,然后是市話號(hào)碼或長(zhǎng)話號(hào)碼。長(zhǎng)話號(hào)碼是以區(qū)號(hào)和市話號(hào)碼組成。區(qū)號(hào)是從100到300中任意的數(shù)字串。市話號(hào)碼是以局號(hào)和分局號(hào)組成。局號(hào)可以是455,466,888,552中任意一個(gè)號(hào)碼。分局號(hào)是任意長(zhǎng)度為4的數(shù)字串。要求:寫出在數(shù)據(jù)字典中,電話號(hào)碼的數(shù)據(jù)條目的

26、定義(即組成)。6、某培訓(xùn)中心要研制一個(gè)計(jì)算機(jī)管理系統(tǒng)。它的業(yè)務(wù)是:將學(xué)員發(fā)來(lái)的信件收集分類后,按幾種不同的情況處理。1)如果是報(bào)名的,則將報(bào)名數(shù)據(jù)送給負(fù)責(zé)報(bào)名事務(wù)的職員,他們將查閱課程文件,檢查該課程是否額滿,然后在學(xué)生文件、課程文件上登記,并開(kāi)出報(bào)告單交財(cái)務(wù)部門,財(cái)務(wù)人員開(kāi)出發(fā)票給學(xué)生。2)如果是想注銷原來(lái)已選修的課程,則由注銷人員在課程文件、學(xué)生文件和帳目文件上做相應(yīng)的修改,并給學(xué)生注銷單。3)如果是付款的,則由財(cái)務(wù)人員在帳目文件上登記,也給學(xué)生一張收費(fèi)收據(jù)。要求:1).對(duì)以上問(wèn)題畫(huà)出數(shù)據(jù)流程圖。2).畫(huà)出該培訓(xùn)管理的軟件結(jié)構(gòu)圖的主圖。7.閱讀以下說(shuō)明和數(shù)據(jù)流圖,回答問(wèn)題1至問(wèn)題3。說(shuō)明

27、學(xué)生住宿服務(wù)系統(tǒng)幫助學(xué)生在就學(xué)的城市內(nèi)找以所需的住房,系統(tǒng)對(duì)出租的房屋信息、房主信息、需要租房的學(xué)生信息以及學(xué)生和房主的會(huì)面住處進(jìn)行管理和維護(hù)。房主信息包括姓名、地址、電話號(hào)碼以及系統(tǒng)分配的唯一身份標(biāo)識(shí)(ID)和密碼;房屋信息包括房屋地址、類型(單間/套間)、適合住宿的人數(shù)、房租、房主的ID以及現(xiàn)在是否可以出租(例如由于裝修原因,需等到裝修后才可出租或者房屋已被租出)。每當(dāng)房房屋信息發(fā)生變化時(shí),房主須通知系統(tǒng),系統(tǒng)將更新房到文件以便學(xué)生能夠獲得準(zhǔn)確的可租用房屋信息,房主向系統(tǒng)中加入可租用的房屋信息時(shí),需交納一定的費(fèi)用,由系統(tǒng)自動(dòng)給出費(fèi)用信息。房主可隨時(shí)更新房屋的各種屬性。學(xué)生可通過(guò)系統(tǒng)查詢現(xiàn)有

28、的可租用的房屋,但必須先在系統(tǒng)中注冊(cè)。學(xué)生信息包括姓名、現(xiàn)住址、電話號(hào)碼、出生日期、性別以及系統(tǒng)分配的唯一身份標(biāo)識(shí)(ID)和密碼。若學(xué)生希望租用某房屋,則需要發(fā)出租房請(qǐng)求,請(qǐng)求中包含房屋的詳細(xì)信息,系統(tǒng)將安排學(xué)生與房主會(huì)面的時(shí)間和地點(diǎn),并將會(huì)面信息通知學(xué)生和房主,會(huì)面信息包括會(huì)面時(shí)間、地點(diǎn)以及會(huì)面雙方的基本信息,系統(tǒng)將記錄會(huì)面信息。學(xué)生住宿服務(wù)系統(tǒng)的頂層圖如圖1-1所示;學(xué)生住宿服務(wù)系統(tǒng)的第0層DFD圖如圖1-2所示,其中,加工3的細(xì)化圖如圖1-3所示。 問(wèn)題1(6分)(1)數(shù)據(jù)流圖1-1缺少了一條數(shù)據(jù)流(在圖1-2中也未給出該數(shù)據(jù)流),請(qǐng)給出此數(shù)據(jù)流的起點(diǎn)和終點(diǎn),并采用說(shuō)明中的詞匯給出此數(shù)據(jù)

29、流名。起點(diǎn):學(xué)生住宿服務(wù)系統(tǒng) 終點(diǎn):房主 數(shù)據(jù)流名稱:費(fèi)用信息(2)數(shù)據(jù)流圖1-2中缺少了與"查詢房屋"加工相關(guān)的數(shù)據(jù)流,請(qǐng)指出此數(shù)據(jù)流的起點(diǎn)和終點(diǎn)。 起點(diǎn):房屋文件 終點(diǎn):查詢房屋(或者4)問(wèn)題2(4分)"安排會(huì)面"加工除需要寫入會(huì)面文件外,還需要訪問(wèn)哪些文件? 房主文件 學(xué)生文件問(wèn)題3(5分)請(qǐng)補(bǔ)齊下列數(shù)據(jù)字典條目:登錄信息=學(xué)生ID+密碼注冊(cè)信息=姓名+現(xiàn)住址+電話號(hào)碼+出生日期+性別數(shù)據(jù)流圖1-1 數(shù)據(jù)流圖1-2 數(shù)據(jù)流圖1-3 8. 乘客可以免費(fèi)攜帶50kg的行李。超過(guò)50kg,國(guó)內(nèi)乘客,坐頭等艙,超重部分按每千克8元收費(fèi);乘坐經(jīng)濟(jì)艙,超重部分

30、按每千克12元收費(fèi);對(duì)國(guó)外乘客,坐頭等艙,超重部分按每千克16元收費(fèi);坐經(jīng)濟(jì)艙,超重部分按每千克24元收費(fèi);殘疾乘客費(fèi)用減半。請(qǐng)用結(jié)構(gòu)化語(yǔ)言、判定樹(shù)、判定表中的任一種對(duì)行李費(fèi)用計(jì)算進(jìn)行描述。(257頁(yè))9、在一棟m層樓的大廈里,用電梯內(nèi)的和每個(gè)樓層的按鈕來(lái)控制n部電梯的運(yùn)動(dòng)。當(dāng)按下電梯按鈕請(qǐng)求在指定樓層停下時(shí),按鈕指示燈亮;當(dāng)電梯到達(dá)指定樓層時(shí),指示燈熄滅。除了大廈的最低層和最高層之外,每層樓都有兩個(gè)按鈕分別指示電梯上行和下行。當(dāng)這兩個(gè)按鈕之一被按下時(shí)相應(yīng)的指示燈亮,當(dāng)電梯到達(dá)此樓層時(shí)燈熄滅,電梯向要求的方向移動(dòng)。當(dāng)電梯無(wú)升降動(dòng)作時(shí),關(guān)門并停在當(dāng)前樓層。(1)請(qǐng)分別寫出電梯系統(tǒng)基本事件流和擴(kuò)展

31、事件流。(提示:起點(diǎn)在中間的某一層)(2)畫(huà)出電梯控制類的動(dòng)態(tài)模型(僅考慮一部電梯的情況)。10、下面是某程序的流程圖:(1)計(jì)算獨(dú)立路徑數(shù);(2)給出一組獨(dú)立路徑。t=a;a=b;b=t;a>ba>ca>db>cb>dc>dt=a;a=c;c=t;t=a;a=d;d=t;t=b;b=c;c=t;t=b;b=d;d=t;t=c;c=d;d=t;排序結(jié)果輸出T F T F T F T F T F T F (1)獨(dú)立路徑數(shù)=判斷數(shù)+1=6+1=7(2)路徑1:1-2-14-20路徑2:1-3-4-15-20路徑3:1-3-5-6-16-20路徑4:1-3-5-7

32、-8-17-20路徑5:1-3-5-7-9-10-18-20路徑6:1-3-5-7-9-11-12-19-20路徑7:1-3-5-7-9-11-13-20一選擇題1. 一切軟件開(kāi)發(fā)都毫無(wú)例外地必須從(4)。軟件功能出發(fā) 用戶出發(fā) 軟件性能出發(fā) 需求出發(fā)2. 在分析階段通常包含兩個(gè)方面的工作:建立一個(gè)以類圖表示的反映問(wèn)題域靜態(tài)關(guān)系的(4);建立一個(gè)以用例模型表示的反映(3)的動(dòng)態(tài)模型。 用戶需求 關(guān)系模型 系統(tǒng)行為 概念模型3. 發(fā)現(xiàn)類的基本方法不包括(4)。 確定客戶 跟蹤資金流 事件是潛在的類 系統(tǒng)是潛在的類4. 繼承的基本技巧和技術(shù)不包括(3)。 尋找相似之處 尋找已有的類 選擇性繼承 遵

33、循單句規(guī)則5. 關(guān)聯(lián)的多重性可用來(lái)表達(dá)一個(gè)(4)、特定值、無(wú)限定的范圍或者一組(1)。 取值范圍 屬性 對(duì)象 離散值6. 當(dāng)一個(gè)類沒(méi)有足夠的(1)去完成它的職責(zé)時(shí),就要依靠與其它類的協(xié)作來(lái)完成工作。 信息 操作 功能 數(shù)據(jù)7. 一般情況下,區(qū)分主要參與者與次要參與者應(yīng)該以使用系統(tǒng)時(shí)的(2)為依據(jù),或者以一個(gè)(4)是誰(shuí)發(fā)起的作為主要依據(jù)。 重要程度 業(yè)務(wù)量 業(yè)務(wù)過(guò)程 交互過(guò)程8. 前置條件描述了(2)之前系統(tǒng)必須滿足的條件。 系統(tǒng)運(yùn)行 執(zhí)行用例 系統(tǒng)啟動(dòng) 成功執(zhí)行9. 用例之所以被廣泛采用的主要原因是,用例詳細(xì)地描述了系統(tǒng)被使用時(shí)的(3),使得用戶能夠明白新系統(tǒng)到底是什么樣的。 執(zhí)行過(guò)程 操作細(xì)

34、節(jié) 行為細(xì)節(jié) 功能細(xì)節(jié)10. 順序圖描述了對(duì)象之間傳遞消息的(2),它用來(lái)表示用例中的(4)。 執(zhí)行順序 時(shí)間順序 操作順序 行為順序 11. RUP是重型方法論的典型代表,它的核心理念是:“(2)、以架構(gòu)為中心、迭代和增量的軟件開(kāi)發(fā)過(guò)程?!?測(cè)試驅(qū)動(dòng) 用例驅(qū)動(dòng) 模型驅(qū)動(dòng) 功能驅(qū)動(dòng)12. 如果說(shuō)用例圖顯示(2)應(yīng)該做什么,活動(dòng)圖則指明了(2)將如何實(shí)現(xiàn)它的目標(biāo)。 對(duì)象 系統(tǒng) 用例 參與者13基本事件流是參與者在用例中所遵循的(3)。 基本原則 執(zhí)行路徑 邏輯路徑 執(zhí)行步驟二填空題1. 需求調(diào)研是(了解問(wèn)題),分析是(定義問(wèn)題),而設(shè)計(jì)則是(解決問(wèn)題)。2. 建立概念模型的目的是幫助開(kāi)發(fā)團(tuán)隊(duì)理解

35、(問(wèn)題域)的各種概念、各種名詞、以及它們之間的各種關(guān)系。而建立用例模型的目的是幫助開(kāi)發(fā)團(tuán)隊(duì)(理解)用戶對(duì)系統(tǒng)的各種功能需求。3.類圖包含(類名)、(屬性)和操作等信息。4. 子類應(yīng)該從父類繼承所有的東西,這種概念叫做(純粹)繼承。如果不這樣的話,代碼將很難(理解)和維護(hù)。5. 關(guān)聯(lián)通過(guò)組合屬性和方法來(lái)實(shí)現(xiàn)。屬性(存儲(chǔ))維護(hù)關(guān)系的信息,方法(保證)信息是當(dāng)前可用的。6. 類的職責(zé)是類知道或要完成的(事情)。類所知道的事情是它的(數(shù)據(jù)),它要完成的事情就是它的(功能)。7. 概念模型是“幫助開(kāi)發(fā)團(tuán)隊(duì)了解并在此基礎(chǔ)上理解用戶所處的環(huán)境”,而用例模型則是“幫助開(kāi)發(fā)團(tuán)隊(duì)弄清楚用戶具體想解決什么問(wèn)題”。前

36、者是(靜態(tài)模型),為后者工作的展開(kāi)建立了一個(gè)總體框架;后者是(動(dòng)態(tài)模型),為實(shí)現(xiàn)前者注入了活力。兩者相輔相成,一般情況下,其(工作順序)不分先后,而是以一種(迭代的)方式向前推進(jìn)。8. 首先,用例是由一組(用例實(shí)例)組成的,用例實(shí)例也就是常說(shuō)的“使用場(chǎng)景”,就是用戶使用系統(tǒng)的一個(gè)特定的、實(shí)際的場(chǎng)景;其次,用例應(yīng)該給參與者帶來(lái)(可見(jiàn))價(jià)值,即參與者的參與應(yīng)該能得到好處;最后,用例是在(系統(tǒng)中)的,而不是(系統(tǒng)外)的東西。9. 用例是滿足需求的(過(guò)程),而需求則是過(guò)程背后所實(shí)現(xiàn)的(價(jià)值)。這正是用例建模的(核心思想)。10. 假設(shè)描述的是系統(tǒng)在使用用例之前必須滿足的狀態(tài),這些(條件)并沒(méi)有經(jīng)過(guò)用例

37、的檢測(cè),(用例)只是假設(shè)它們?yōu)檎妗?1. 識(shí)別用例時(shí)的一個(gè)常見(jiàn)錯(cuò)誤是把用例當(dāng)成是(單獨(dú))的步驟、操作或事務(wù)的處理。12. 構(gòu)建用例模型需要經(jīng)歷三個(gè)階段:確定系統(tǒng)的(參與者)、合并(需求)獲得用例、細(xì)化用例描述。13. 用例圖顯示了系統(tǒng)的(一組用例)、用例的參與者以及用例和參與者之間的(關(guān)系)。14. 順序圖主要有4個(gè)標(biāo)記符:對(duì)象、(生命線)、消息和(激活)。15. 狀態(tài)圖用來(lái)描述一個(gè)(特定)對(duì)象的所有可能狀態(tài)及其引起狀態(tài)(轉(zhuǎn)移)的事件。16. 活動(dòng)圖是用來(lái)對(duì)不同區(qū)域的工作如何(彼此交互)進(jìn)行建模,而狀態(tài)圖用來(lái)表示單個(gè)對(duì)象,以及對(duì)象的行為如何(改變)其狀態(tài)。17. 框架和類庫(kù)最重要的區(qū)別是:框架

38、是一個(gè)(半成品)的應(yīng)用程序,而類庫(kù)只包含一系列可被應(yīng)用程序(調(diào)用的類)。 18. 我們可以說(shuō),類庫(kù)是(死的),而框架是(活的)。應(yīng)用程序通過(guò)調(diào)用類庫(kù)來(lái)完成特定的功能,而框架則通過(guò)調(diào)用應(yīng)用程序來(lái)實(shí)現(xiàn)整個(gè)操作流程。19. 依賴倒置原則對(duì)我們的啟發(fā)是:依賴于抽象。因此,要針對(duì)(接口)編程,不針對(duì)(實(shí)現(xiàn))編程。20. 通常來(lái)說(shuō),“接口”就是(一種特殊的抽象類)。針對(duì)接口編程的組件不需要知道(對(duì)象)的具體類型和實(shí)現(xiàn),只需要知道抽象類定義了哪些接口,這減少了實(shí)現(xiàn)上的(依賴關(guān)系)。三問(wèn)答題1. 分析工作的主要內(nèi)容及結(jié)果是什么?分析工作的主要內(nèi)容是研究問(wèn)題域和用戶需求,運(yùn)用面向?qū)ο蟮挠^點(diǎn)和原則發(fā)現(xiàn)問(wèn)題域中與系

39、統(tǒng)責(zé)任有關(guān)的對(duì)象,以及對(duì)象的特征和相互關(guān)系。分析的結(jié)果是確定描述問(wèn)題域與系統(tǒng)責(zé)任所需的對(duì)象,定義對(duì)象的屬性、服務(wù)以及它們之間的關(guān)系。2. 類與對(duì)象之間有什么區(qū)別?類是對(duì)資源的定義,它所包含的信息主要用來(lái)描述某種類型實(shí)體的特征以及對(duì)該類型實(shí)體的使用方法。對(duì)象是具體的實(shí)體,它遵守類制定的規(guī)則。從軟件的角度看,程序通常包含的是類的集合以及類所定義的行為,而實(shí)際創(chuàng)建信息和管理信息的是遵守類的規(guī)則的對(duì)象。3. 組合與聚合有什么異同?同:兩者都可表示類之間整體和部分的關(guān)系,整體類都是由部分類組成。異:聚合關(guān)系是“has-a”關(guān)系,組合關(guān)系是“contains-a”關(guān)系;聚合關(guān)系表示整體與部分的關(guān)系比較弱,

40、而組合比較強(qiáng);聚合關(guān)系中代表部分事物的對(duì)象與代表聚合事物的對(duì)象的生存期無(wú)關(guān),一旦刪除了聚合對(duì)象不一定就刪除了代表部分事物的對(duì)象。組合中一旦刪除了組合對(duì)象,同時(shí)也就刪除了代表部分事物的對(duì)象。4. 建立概念模型有哪些步驟?1、找出問(wèn)題域中候選概念。用概念類分類列表和名詞短語(yǔ)分別識(shí)別的方法找出當(dāng)前需求中的候選概念類。 2、將概念繪制到概念模型中。在概念模型中描述找出的概念類。 3、在概念之間加入必要的關(guān)聯(lián)來(lái)記錄概念之間需要保持的聯(lián)系。在概念類之間添加必要的關(guān)聯(lián)來(lái)記錄那些需要保存記憶的關(guān)系。 4、為概念添加必要的屬性,來(lái)滿足需求信息。5. 什么是參與者?參與者(actor)是系統(tǒng)外部的一個(gè)實(shí)體,它以某

41、種方式參與了用例的執(zhí)行過(guò)程。參與者用于表示使用系統(tǒng)的對(duì)象,或者說(shuō),參與者由它們參與用例時(shí)所擔(dān)當(dāng)?shù)慕巧珌?lái)代表。6. 用例有什么特征?(1)用例總是由參與者啟動(dòng)。用例所代表的功能必須由參與者激活,而后才能執(zhí)行。一般情況下,參與者可能沒(méi)有意識(shí)到啟動(dòng)了一個(gè)用例。換句話,參與者需要系統(tǒng)完成的功能,其實(shí)都是通過(guò)用例具體完成的,參與者一定會(huì)直接或間接的命令系統(tǒng)執(zhí)行用例。 (2)用例為參與者提供結(jié)果值。用例必須為參與者提供實(shí)在的結(jié)果值,雖然這個(gè)值并不總是重要的,但是能被參與者識(shí)別。 (3)用例具有完整性。用例是一個(gè)完整的描述。雖然編程實(shí)現(xiàn)時(shí),一個(gè)用例可以被分解成幾個(gè)小用例(函數(shù)),每個(gè)小用例之間互相調(diào)用執(zhí)行,

42、一個(gè)小用例可以先執(zhí)行完畢,但是該小用例執(zhí)行結(jié)束并不能說(shuō)這個(gè)用例執(zhí)行結(jié)束。也就是說(shuō),不管用例內(nèi)部的小用例是如何通信工作的,只有最終產(chǎn)生了返回給參與者的結(jié)果值,才能說(shuō)用例執(zhí)行完畢。7. 什么是基本事件流?舉例說(shuō)明。參與者在用例中所遵循的邏輯路徑。因?yàn)樗枋隽水?dāng)各項(xiàng)工作都正常進(jìn)行時(shí)用例的工作方式,所以通常稱為基本路徑。事件流描述了用戶和執(zhí)行用例之間交互的每一步。例如,圖書(shū)館借出圖書(shū)用例的基本事件流: 管理員輸入借書(shū)證信息系統(tǒng)要確保借書(shū)證信息的有效性檢查是否有超期的借閱信息管理員輸入要借閱的圖書(shū)信息系統(tǒng)將借閱者的借閱信息添加到數(shù)據(jù)庫(kù)中系統(tǒng)顯示該借閱者的所有借閱信息8. 什么是邊界類?什么是實(shí)體類?什么

43、是控制類?邊界類:用于建立系統(tǒng)與其參與者之間交互的模型。這種交互通常包括接收來(lái)自用戶和外部系統(tǒng)的信息與請(qǐng)求以及將信息與請(qǐng)求提交到用戶和外部系統(tǒng)。實(shí)體類:實(shí)體類通常用于對(duì)持久的信息建模,即主要對(duì)諸如個(gè)體、實(shí)際對(duì)象或?qū)嶋H事件的某些現(xiàn)象或概念的信息及相關(guān)行為建模??刂祁悾捍韰f(xié)調(diào)、排序、事務(wù)處理以及其他對(duì)象的控制,經(jīng)常用于封裝與某個(gè)具體用例有空的控制。9. 順序圖有什么作用?順序圖的主要用途之一是為用例構(gòu)建邏輯模型,任何用例都可以使用順序圖進(jìn)行進(jìn)一步的闡明和實(shí)現(xiàn),即把用例所表達(dá)的需求,轉(zhuǎn)化為進(jìn)一步的、更加正式層次的精細(xì)表達(dá)。10. 請(qǐng)對(duì)順序圖和通信圖進(jìn)行比較。順序圖主要描述特定用例時(shí)系統(tǒng)各組成部分之

44、間交互的次序,強(qiáng)調(diào)的是交互的時(shí)間順序,而通信圖則從另一個(gè)角度描述系統(tǒng)對(duì)象之間的鏈接,強(qiáng)調(diào)的是交互的情況和參與交互的對(duì)象的整體組織。11. 什么是過(guò)程?為什么需要過(guò)程?一個(gè)過(guò)程定義了為達(dá)到某個(gè)確定的目標(biāo),需要什么人在什么時(shí)間以何種方式做何種工作。一個(gè)有效的過(guò)程為有效地開(kāi)發(fā)高質(zhì)量的軟件提供準(zhǔn)則,它獲取并提出當(dāng)前技術(shù)條件下可行的最佳實(shí)踐方案。因此,它可降低風(fēng)險(xiǎn)并增強(qiáng)預(yù)見(jiàn)性。12. 統(tǒng)一軟件開(kāi)發(fā)過(guò)程分為哪幾個(gè)階段?各個(gè)階段主要完成哪些工作?分四個(gè)階段:初始(先啟)、精化、構(gòu)建、交付(產(chǎn)品化)。先啟階段:明確項(xiàng)目目標(biāo)和范圍,其主要任務(wù)是理解與分析需求,生成用例模型框架,對(duì)優(yōu)先級(jí)較高的用例進(jìn)行細(xì)化。精化階

45、段:確立系統(tǒng)架構(gòu)和技術(shù)方向,完成部分優(yōu)先級(jí)最高的用例開(kāi)發(fā),并完善所有的用例模型。構(gòu)建階段:大規(guī)模并行實(shí)施設(shè)計(jì)、開(kāi)發(fā)、單元測(cè)試,即經(jīng)多次迭代,逐漸完成不同優(yōu)先級(jí)的用例開(kāi)發(fā)。產(chǎn)品化階段:產(chǎn)品驗(yàn)收、部署、發(fā)布,即進(jìn)行各種功能、性能測(cè)試,對(duì)其進(jìn)行產(chǎn)品化、部署,完成整個(gè)系統(tǒng)的開(kāi)發(fā)工作。13. 簡(jiǎn)述面向?qū)ο蟾鞣N模型的演化過(guò)程。(1)從需求出發(fā),創(chuàng)建問(wèn)題域一靜一動(dòng)兩個(gè)模型:概念模型和用例模型。首先利用“名詞動(dòng)詞法”從需求描述中提取相應(yīng)的類來(lái)建立概念模型,并添加主要屬性及識(shí)別它們之間的關(guān)聯(lián)關(guān)系;對(duì)于較復(fù)雜的應(yīng)用系統(tǒng),則必須首先進(jìn)行業(yè)務(wù)分析,建立業(yè)務(wù)模型后再建立概念模型。其次根據(jù)用戶需求編寫用例描述、繪制用例圖

46、,建立包括用例描述和用例圖在內(nèi)的用例模型,此時(shí)可以進(jìn)行用戶界面原型的創(chuàng)建,從中發(fā)現(xiàn)用戶的使用場(chǎng)景,建立開(kāi)發(fā)人員與用戶之間進(jìn)行溝通的共同基礎(chǔ)。用戶界面模型的創(chuàng)建既可以使用可視化語(yǔ)言,也可以簡(jiǎn)單地使用繪制草圖的方式來(lái)實(shí)現(xiàn)。(2)在用例模型的基礎(chǔ)上,進(jìn)行健壯性分析,目的是發(fā)現(xiàn)實(shí)體類、控制類和邊界類,并繪制健壯性分析圖,從而較平滑地從分析階段向設(shè)計(jì)階段過(guò)渡。如果用例較復(fù)雜,則我們?cè)诿枋鍪录鲿r(shí),可以借助活動(dòng)圖來(lái)表示。14. 識(shí)別用例和描述用例有什么區(qū)別?識(shí)別用例和描述用例并不是一回事。識(shí)別是指對(duì)系統(tǒng)需要做的事情進(jìn)行界定、探索和發(fā)現(xiàn)。描述用例則是指對(duì)用例中的流程和步驟進(jìn)行細(xì)化。描述用例貫穿了項(xiàng)目的整個(gè)生

47、命周期,而識(shí)別用例則必須盡可能早地完成。15. 組件與類有什么異同?共同點(diǎn):兩者都具有自己的名稱、都可以實(shí)現(xiàn)一組接口、都可以具有依賴關(guān)系、都可以被嵌套、都可以參與交互,并都可以擁有自己的實(shí)例。不同點(diǎn):組件描述了軟件設(shè)計(jì)的物理實(shí)現(xiàn),即代表了系統(tǒng)設(shè)計(jì)中特定類的實(shí)現(xiàn);而類則描述了軟件設(shè)計(jì)的邏輯組織和意圖。另外,每個(gè)組件可能包含很多的類,并實(shí)現(xiàn)很多的接口。16. 什么是開(kāi)閉原則?如何理解?開(kāi)閉原則是指一個(gè)軟件實(shí)體應(yīng)當(dāng)對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉,也就是說(shuō)在設(shè)計(jì)一個(gè)模塊的時(shí)候,應(yīng)當(dāng)使這個(gè)模塊可以在不被修改的前提下被擴(kuò)展,即實(shí)現(xiàn)在不修改源代碼的情況下改變這個(gè)模塊的行為。在開(kāi)閉原則的定義中,軟件實(shí)體可以指一個(gè)軟件

48、模塊、一個(gè)由多個(gè)類組成的局部結(jié)構(gòu)或一個(gè)獨(dú)立的類。開(kāi)閉原則中“開(kāi)”,是指對(duì)于組件功能的擴(kuò)展是開(kāi)放的,是允許對(duì)其進(jìn)行功能擴(kuò)展的; “閉”,是指對(duì)于原有代碼的修改是封閉的,即不應(yīng)該修改原有的代碼。17. 什么是接口隔離原則?如何理解?接口隔離原則是指使用多個(gè)專門的接口,而不使用單一的總接口,即客戶端不應(yīng)該依賴那些它不需要的接口。根據(jù)接口隔離原則,當(dāng)一個(gè)接口太大時(shí),我們需要將它分割成一些更細(xì)小的接口,使用該接口的客戶端僅需知道與之相關(guān)的方法即可。每一個(gè)接口應(yīng)該承擔(dān)一種相對(duì)獨(dú)立的角色,不干不該干的事,該干的事都要干。使用接口隔離原則拆分接口時(shí),首先必須滿足單一職責(zé)原則,將一組相關(guān)的操作定義在一個(gè)接口中,

49、且在滿足高內(nèi)聚的前提下,接口中的方法越少越好??梢栽谶M(jìn)行系統(tǒng)設(shè)計(jì)時(shí)采用定制服務(wù)的方式,即為不同的客戶端提供寬窄不同的接口,只提供用戶需要的行為,而隱藏用戶不需要的行為。18. 為什么說(shuō)要為人寫代碼,而不是為機(jī)器寫代碼?現(xiàn)代軟件工程理論更強(qiáng)調(diào)人在項(xiàng)目中的作用,因?yàn)殚_(kāi)發(fā)的程序首先是給人看的,而不是給機(jī)器看的。開(kāi)發(fā)程序時(shí)應(yīng)盡可能的提高可讀性,才有利于提高可維護(hù)性和可擴(kuò)展性,而程序的可讀性,不僅僅是注釋的規(guī)范,更多的還有規(guī)范的標(biāo)識(shí)符命名方式、清晰的的代碼格式和簡(jiǎn)潔的算法等,也是為了讓開(kāi)發(fā)人員更好地理解以便往后更深入的開(kāi)發(fā),所以說(shuō)要為人寫代碼,而不是為機(jī)器寫代碼。19. 什么是里氏替換原則?如何理解?里

50、氏代換原則是指所有引用基類(父類)的地方必須能透明地使用其子類的對(duì)象。在軟件中如果能夠使用基類對(duì)象,那么一定能夠使用其子類對(duì)象。把基類都替換成它的子類,程序?qū)⒉粫?huì)產(chǎn)生任何錯(cuò)誤和異常,反過(guò)來(lái)則不成立,如果一個(gè)軟件實(shí)體使用的是一個(gè)子類的話,那么它不一定能夠使用基類。里氏代換原則是實(shí)現(xiàn)開(kāi)閉原則的重要方式之一,由于使用基類對(duì)象的地方都可以使用子類對(duì)象,因此在程序中盡量使用基類類型來(lái)對(duì)對(duì)象進(jìn)行定義,而在運(yùn)行時(shí)再確定其子類類型,用子類對(duì)象來(lái)替換父類對(duì)象。20. 對(duì)分析和設(shè)計(jì)模型進(jìn)行測(cè)試有什么優(yōu)點(diǎn)?(1)測(cè)試用例可在過(guò)程中更早的確定,甚至在需求確定之前。(2)漏洞可在開(kāi)發(fā)過(guò)程的早期檢測(cè)出來(lái),從而節(jié)省了時(shí)間、

51、金錢和精力。(3)可以在項(xiàng)目的早期檢查測(cè)試用例的正確性。四應(yīng)用題1. 考慮以下對(duì)習(xí)題管理系統(tǒng)的需求,識(shí)別候選類并說(shuō)明理由:該系統(tǒng)的需求陳述為:在一個(gè)公共習(xí)題庫(kù)的支持下,使各科教師可以在系統(tǒng)中編寫習(xí)題及其標(biāo)準(zhǔn)答案,并將編寫的習(xí)題及答案加入題庫(kù);或者從題庫(kù)中選取一組習(xí)題,組成一份向?qū)W生布置的作業(yè),并在適當(dāng)?shù)臅r(shí)候公布答案。學(xué)生可以在系統(tǒng)中完成教師布置的作業(yè),也可以在題庫(kù)中選擇更多的習(xí)題作練習(xí)。教師可以通過(guò)系統(tǒng)檢查學(xué)生的作業(yè),學(xué)生也可以在教師公布答案后對(duì)自己的練習(xí)進(jìn)行核對(duì)。系統(tǒng)維持對(duì)題庫(kù)的管理,并對(duì)教師及學(xué)生的權(quán)限進(jìn)行檢查:只有本課程的教師可以提交或修改習(xí)題,并指定哪些習(xí)題的答案可以向?qū)W生公開(kāi)。候選類

52、:教師、學(xué)生、班級(jí)、習(xí)題、習(xí)題板、考試題板、練習(xí)本、答案、題庫(kù)服務(wù)器2.超市銷售管理系統(tǒng)的需求描述如下,請(qǐng)識(shí)別候選類并說(shuō)明理由:該系統(tǒng)是超市業(yè)務(wù)管理系統(tǒng)的一個(gè)子系統(tǒng)。為了簡(jiǎn)化問(wèn)題,我們對(duì)它的功能作了適當(dāng)?shù)南拗疲褐回?fù)責(zé)前臺(tái)的銷售管理,而且不處理信用卡付款或會(huì)員優(yōu)惠等業(yè)務(wù)。其功能需求是:(1)為顧客選購(gòu)的商品計(jì)價(jià)、收費(fèi)、打印清單;(2)記錄每一種商品的編號(hào)、單價(jià)及現(xiàn)有數(shù)量;(3)幫助供貨員發(fā)現(xiàn)哪些商品將要脫銷,以便及時(shí)補(bǔ)充貨源;(4)隨時(shí)按上級(jí)系統(tǒng)的要求報(bào)告當(dāng)前的款貨數(shù)量、增減商品種類或修改商品價(jià)格;(5)交接班時(shí)結(jié)算貨款數(shù)目,報(bào)告上級(jí)系統(tǒng)。對(duì)這個(gè)系統(tǒng)而言,與系統(tǒng)進(jìn)行交互的活動(dòng)者有收款員、供貨員和

53、它的上級(jí)系統(tǒng)。由此我們會(huì)發(fā)現(xiàn)如下一些對(duì)象: 收款機(jī):該對(duì)象直接與收款員進(jìn)行交互,模擬收款員的登錄、售貨和結(jié)算等行為。 供貨員:此類對(duì)象用來(lái)與實(shí)際的供貨員進(jìn)行交互(提醒他們及時(shí)補(bǔ)充貨物)并模擬他們的行為(在增加貨物時(shí)修改) (系統(tǒng)中貨物的數(shù)量)。 上級(jí)系統(tǒng)接口:用來(lái)處理與上級(jí)系統(tǒng)的交互。 考慮到該系統(tǒng)問(wèn)題域內(nèi)部的事物和系統(tǒng)責(zé)任可以發(fā)現(xiàn)如下對(duì)象: 商品:這是系統(tǒng)中最顯著的對(duì)象,每一個(gè)對(duì)象的實(shí)例表示一種具體的商品,記錄該商品的名稱、價(jià)格、數(shù)量等信息,并通過(guò)相應(yīng)的服務(wù)動(dòng)態(tài)地保持這些信息的準(zhǔn)確性。 銷售事件:顧客購(gòu)買商品時(shí),只要通過(guò)一次計(jì)價(jià)收款就能完成所有的購(gòu)買,每一次這樣的事件都需要在系統(tǒng)中保存一段時(shí)

54、間,以便在匯成賬目時(shí)進(jìn)行必要的復(fù)查,因此要建立“銷售事件對(duì)象”。 賬冊(cè):記錄一個(gè)收款員在一個(gè)班次內(nèi)經(jīng)手的所有銷售事件的款、貨賬目,負(fù)責(zé)向上級(jí)系統(tǒng)報(bào)賬,并在交接班時(shí)進(jìn)行賬目交接。它的一個(gè)對(duì)象實(shí)例只針對(duì)一個(gè)收款員的一個(gè)班次,不是總賬(總賬在上級(jí)系統(tǒng)中)。按照常識(shí),我們可能會(huì)覺(jué)得超級(jí)市場(chǎng)的管理人員,例如“經(jīng)理”和“保安人員”也是系統(tǒng)的對(duì)象,但是我們會(huì)發(fā)現(xiàn)這兩個(gè)對(duì)象對(duì)本系統(tǒng)來(lái)說(shuō)是不需要的,因此我們可以刪除這些對(duì)系統(tǒng)來(lái)說(shuō)無(wú)用的對(duì)象。3. 寫出圖書(shū)館中借閱圖書(shū)的用例描述。用例名稱:圖書(shū)借閱 用例描述:圖書(shū)館工作人員輸入借閱證編號(hào)和圖書(shū)編號(hào)來(lái)完成圖書(shū)借閱參與者:圖書(shū)館工作人員前置條件:圖書(shū)館工作人員點(diǎn)擊“圖

55、書(shū)借閱”主事件流:1、輸入借閱證編號(hào) 2、輸入圖書(shū)編號(hào) 3、點(diǎn)擊“借閱” 4、顯示當(dāng)前借閱信息(書(shū)名,ISBN,借閱時(shí)間,應(yīng)歸還時(shí)間)備選事件流:1、點(diǎn)擊“重填”實(shí)現(xiàn)借閱證和圖書(shū)編號(hào)重新填寫 4. 寫出圖書(shū)館中歸還圖書(shū)的用例描述。用例名稱:圖書(shū)歸還用例描述:圖書(shū)館工作人員輸入圖書(shū)編號(hào)進(jìn)行圖書(shū)歸還參與者:圖書(shū)館工作人員前置條件:圖書(shū)館工作人員點(diǎn)擊“圖書(shū)歸還”主事件流: 1、輸入圖書(shū)編號(hào) 2、點(diǎn)擊“查詢” 3、顯示該書(shū)借閱信息(書(shū)名ISBN,借閱時(shí)間,應(yīng)歸還時(shí)間) 4、點(diǎn)擊“歸還” 5、提示“歸還成功” 備選事件流: 1、點(diǎn)擊重新填寫,實(shí)現(xiàn)圖書(shū)編號(hào)重新填寫5. 音像商店的問(wèn)題陳述如下:一個(gè)新的音像商店準(zhǔn)備向比較廣泛的人群銷售錄像帶和光碟。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論