濱州學院面向對象軟件工程期末複習題

一.面向對象軟件工程概述

 

1.封裝是指把對象的(A)結合在一起,組成一個獨立的對象。

A.屬性和操作 B.信息流 C.消息和事件 D.數據的集合

2.狀態圖和活動圖建立了UML面向對象開發過程中的對象動態(B)模型。

A.交互      B.狀態       C.體系結構     D.軟件複用

3.UML的(C)模型圖由活動圖、順序圖、狀態圖和合作圖組成。

A.用例 B.靜態 C.動態 D.系統

4.在UML的需求分析建模中,對用例模型中的用例進行細化說明應使用(A)。

A.活動圖     B.狀態圖       C.配置圖    D.構建圖

5.設計模式就是對(D)的描述或解決方案,往往直接對應一段程序代碼。

A.某個構件 B.成熟的設計 C.一個用例 D.特定問題

6.類和對象都有屬性,它們的差別是:類描述了屬性的類型,而對象的屬性必須有(C)。

A.正負號        B.動作            C.具體值          D.私有成員

7.順序圖的模型元素有(A)、消息、生存線、激活期等,這些模型元素表示某個用例中的若干個對象和對象之間所傳遞的消息,來對系統的行爲建模。

A.對象        B.箭頭        C.活動        D.狀態

8.狀態圖可以表現(B)在生存期的行爲、所經歷的狀態序列、引起狀態轉移的事件以及因狀態轉移而引起的動作。

A.一組對象      B.一個對象       C.多個執行者      D.幾個子系統

9.使得在多個類中能夠定義同一個操作或屬性名,並在每一個類中有不同的實現的一種方法是(B)。

A.繼承 B.多態性 C.約束 D.接口

 

二.面向對象軟件工程概述_2

1.封裝是指把對象的(A)結合在一起,組成一個獨立的對象。

A.屬性和操作 B.信息流

C.消息和事件 D.數據的集合

2.類和對象都有屬性,它們的差別是:類描述了屬性的類型,而對象的屬性必須有(C)。

A.正負號     B.動作       C.具體值        D.私有成員

3.在下列軟件生存週期模型中,規定了由前至後、相互銜接的固定次序的模型是(A)。

A.瀑布模型   B.增量模型     C.噴泉模型    D.螺旋模型

4.使得在多個類中能夠定義同一個操作或屬性名,並在每一個類中有不同的實現的一種方法是(B)。

A.繼承 B.多態性 C.約束 D.接口

5.下列關於面向對象的分析與設計的描述,正確的是(B)。

A.面向對象設計描述軟件要做什麼

B.面向對象分析不需要考慮技術和實現層面的細節

C.面向對象分析的輸入是面向對象設計的結果

D.面向對象設計的結果是簡單的分析模型

6.通常對象有很多屬性,但對於外部對象來說某些屬性應該不能被直接訪問,下面哪個不是UML中類成員訪問限定性(D)

A.Public  B.Protected C.Private D.friendly

7.一個對象和另一個對象之間,通過消息來進行通信。消息通信在面向對象的語言中即(B)

A.方法實現   B.方法調用   C.方法嵌套 D.方法定義

8.(C)不是軟件需求規格說明書中應包括的內容。
A.功能需求    B.性能需求      C 數據結構      D 驗收標準

9.軟件複用技術的目的是降低軟件(C)、提高軟件開發的效率和縮短軟件開發週期。

A.技術難度 B.資源浪費 C.開發和維護的成本 D.代價

10.面向對象方法中(D)機制是子類可以自動擁有父類的全部操作。

A.約束 B.對象映射 C.信息隱藏 D.繼承

11.在UML中面向對象的概念有很多,下列哪個不是(D)

A.抽象 B.繼承 C.封裝 D.線程

12.在軟件的需求分析中,開發人員要通過用戶解決的最重要的問題是(A)。

A.要讓軟件做什麼  B.要給該軟件提供哪些信息

C.要求軟件達到的工作效率爲多大

D.要使軟件具有何種結構

13.下列關於面向對象的分析與設計的說法中,不正確的是(B)。

A.面向對象分析側重於理解問題        

B.面向對象設計不需要考慮技術和實現層面的細節

C.面向對象分析描述軟件要做什麼   

D.面向對象設計側重於理解解決方案

14.內聚性和耦合性是度量軟件模塊獨立性的重要準則,進行軟件設計時應力求(B)

A.高內聚、高耦合      B.高內聚、低耦合   

C.低內聚、高耦合        D.低內聚、低耦合

15.軟件構件是已經通過全面測試並在(A)中運行的可複用、功能獨立、完整且具有通用性的程序模塊。

A.實際系統      B.試驗室

C.系統測試        D.用戶測試

16.在軟件開發中,下面不屬於設計階段的任務的是(B)。

A.定義模型算法          B.定義需求並建立系統模型

C.數據結構設計          D.給出系統模塊結構

17.軟件的集成測試工作最好由(D)承擔,以提高集成測試的效果。

A.該軟件的設計人員          B.該軟件開發組的負責人

C.該軟件的編程人員       

D.不屬於該軟件開發組的軟件設計人員

18.一個對象和另一個對象之間,通過消息來進行通信。消息通信在面向對象的語言中即(B)

A.方法實現 B.方法調用 C.方法嵌套 D.方法定義

 

 

1.軟件由 程序 、數據、 文檔  三部分組成。

2.在UML軟件開發過程的系統分析階段,產生的對象模型有三種分別爲對象的 靜態 模型、對象的  動態 模型和對象的 系統功能 模型。

3. 軟件工程 是指導計算機軟件開發和維護的一門工程學科。

4.軟件工程包括3個要素:方法、 工具  、過程。

 

 

一.簡述面向對象系統開發過程。

 

1.面向對象的分析(OOA)

2.面向對象的設計(OOD)(高層設計和類設計)

3.面向對象實現與測試

4.維護階段

 

二.什麼叫軟件生命週期,可將軟件生命週期分爲哪3個時期,每個時期又包含哪些階段?

 

1.一個軟件從定義到開發、使用和維護,直到最終被棄用,要經歷一個漫長的時期,通常把軟件經歷的這個時期稱爲軟件生命週期 。

2.由軟件定義、軟件開發和運行維護三個時期組成。

 

3.問題定義,可行性研究,需求分析,總體設計,詳細設計,編碼和單元測試,綜合測試,軟件維護。(包含關係的話自己畫一下,留空了)

 

三.簡述面向對象方法的優點。

 

1.與人類習慣的思維方法一致(漸進的認識過程、抽象、歸納、演繹)。

2.穩定性好

3.可重用性好

4.較易開發大型軟件產品

5.可維護性好(穩定性、容易修改、容易理解)

 

四.面向對象方法學的4個要點是什麼?

 

面向對象方法=對象+類+繼承+消息  

(1)認爲客觀世界是由各種對象組成的,任何事物都是對象,複雜的對象可以由比較簡單的對象以某種方式組合而成。

(2)把所有對象都劃分成各種對象類,每個對象類都定義了一組數據和一組方法。

(3)按照子類與父類的關係,把若干個對象類組成一個層次結構的系統。

(4)對象彼此之間僅能通過傳遞消息互相聯繫。

 

 

三. UML-4

 

1.狀態圖和活動圖建立了UML面向對象開發過程中的對象動態(B)模型。

A.交互      B.狀態       C.體系結構     D.軟件複用

2.UML的(C)模型圖由活動圖、順序圖、狀態圖和合作圖組成。

A.用例 B.靜態 C.動態 D.系統

3.順序圖的模型元素有(A)、消息、生存線、激活期等,這些模型元素表示某個用例中的若干個對象和對象之間所傳遞的消息,來對系統的行爲建模。

A.對象     B.箭頭        C.活動        D.狀態

4.在UML的需求分析建模中,對用例模型中的用例進行細化說明應使用(A)。

A.活動圖     B.狀態圖      C.配置圖   D.構件圖

5.狀態圖可以表現(B)在生存期的行爲、所經歷的狀態序列、引起狀態轉移的事件以及因狀態轉移而引起的動作。

A.一組對象    B.一個對象  C.多個執行者   D.幾個子系統

6.UML中,用例圖展示了外部Actor與系統所提供的用例之間的鏈接,UML中的外部Actor是指(D)

A.人員 B.單位   C.人員和單位 D.人員和外部系統

7.UML的(B)模型圖由類圖、對象圖、包圖、構件圖和部署圖組成。

A.用例 B.靜態 C.動態 D.系統

8.(A)模型是開發者與客戶交流的紐帶。
A.用例      B.類          C 狀態         D 交互

9.自行車是一種交通工具,自行車和交通工具之間的關係是(D)

A.組合 B.關聯    C.依賴      D.泛化

10.UML的系統分析進一步要確立三個系統模型是(D)、對象動態模型和系統功能模型。

A.數據模型        B.體系結構模型

C.對象關係模型    D.對象靜態模型

11.下面(C)不是類圖中類與類之間的關係。

A.依賴關係      B.關聯關係

C.擴展關係    D.泛化關係

12.類圖中關聯的重數是指(B)。

A.一個類有多個方法被另一個類調用。

B.一個類的實例能夠與另一個類的多個實例相關聯。

C.一個類的某個方法被另一個類調用的次數。

D.兩個類所具有的相同的方法和屬性。

13.一個(C)遷移圖符可以有多個目標狀態,它們可以把一個控制分解爲並行運行的併發線程,或將多個併發線程接合成單個線程。

A.狀態      B.對象      C.活動      D.同步併發

14.UML客戶需求分析產生的用例模型描述了系統的(D)。

A.狀態     B.體系結構   C.靜態模型     D.功能要求

15.UML的系統分析進一步要確立的三個系統模型是(B)、對象動態模型和系統功能模型。

A.數據模型 B.對象靜態模型     C.對象關係模型    D.體系結構模型

16.(C)不是用例圖的主要成分。
A.用例        B. 執行者         C.狀態      D.系統

17.UseCase用來描述系統在事件做出響應時所採取的行動。用例之間是具有相關性的。在一個“訂單輸入子系統”中,創建訂單和更新訂單都需要檢查用戶帳號是否正確。那麼,用例“創建新訂單”、“更新訂單”與用例“檢查用戶帳號”之間是(C)關係。

A.聚集(aggregation )B.擴展(extend)

C.包含(include)    D.分類(classification)

18.順序圖描述(D)對象之間消息的傳遞順序。

A.某個  B.單個    C.一個類產生的       D.一組

19.狀態圖描述一個對象在不同(A)的驅動下發生的狀態遷移。

A.事件      B.對象      C.執行者      D.數據

20.順序圖和合作圖建立了UML面向對象開發過程中的對象動態(B)模型。

A.交互 B.體系結構   C.軟件複用        D.狀態

21.活動圖中動作狀態之間的遷移不是靠(B)觸發的,當活動(動作)狀態中的活動完成時遷移就被觸發。

A.對象      B.事件       C.執行者     D.系統

22.下列關於狀態圖的說法中,正確的是(B)。

A.狀態圖是UML中對系統的靜態方面進行建模的五種圖之一。

B.狀態圖是活動圖的一個特例,狀態圖中的多數狀態是活動狀態。

C.活動圖和狀態圖是對一個對象的生命週期進行建模,描述對象隨時間變化的行爲。

D.狀態圖強調對有幾個對象參與的活動過程建模,活動圖更強調對單個反應型對象建模。

 

1.   組合  是指“整體”擁有它的“部分”,它具有強的物主身份,表示事物的整體/部分關係較強的情況,整體不存在了部分也會隨之消失。

2.活動圖既可以描述對象的動態行爲,還可以用來描述   用例      

3.用例模型中的執行者可以是 人員   也可以是 外部系統   。

4.  順序   圖和  合作   圖用來表達對象之間的交互,是描述一組對象如何合作完成某個行爲的模型化工具。

5.用例圖中以實線方框表示系統的範圍和邊界,在系統邊界內描述的是 用例  ,在邊界外面描述的是  執行者   

6.軟件構件分爲  源代碼  構件、 二進制 構件和  可執行 構件。

7.交互模型描述系統中對象間的交互行爲。每一個交互都有  (發送者)   和  (接收者)    ,它們可以是整個系統、一個子系統、一個用例、一個對象類或一個操作。

8.活動圖中活動狀態的遷移不是由事件進行觸發,一個活動執行完畢          自動 進入 下一個 活動狀態。

 

1.簡述系統動態建模包括哪些模型。

 

交換模型和狀態模型

 

2.簡述用例建模的步驟。

 

(1)定義系統的邊界和範圍

(2)尋找和確定系統的執行者

(3)尋找和確定用例

(4)對用例進行描述

(5)定義用例之間的關係

(6)審覈用例模型

 

3.聚集和組合是關聯的特例。聚集表示類與類之間的關係是整體和部分的關係。請分別舉一組合聚合和組合的例子,並使用類圖中的符號表示出來,並用代碼實現。

(1)聚合

 

 

(2)組合

 

 

4.對於交通信號燈,每次紅燈只持續30秒,然後綠燈亮。綠燈持續25秒,黃燈亮。黃燈閃爍5秒後紅燈再一次亮。請用狀態圖描述信號燈。


                    

 

四.面向對象設計模式-2

 

1.設計模式就是對(D)的描述或解決方案,往往直接對應一段程序代碼。

A.某個構件 B.成熟的設計

C.一個用例 D.特定問題

2.(C)是指以設計複用爲目的,採用一種良好定義、正規的、一致的方式記錄的軟件設計經驗。

A.架構 B.模型    C.設計模式 D.一個對象成員

3.軟件複用是面向對象系統分析與設計的核心支持技術之一,軟件複用的核心是(D)。

A.對象類 B.模塊 C.設計模式     D.軟件構件技術

4.(C)是在不改變代碼外在行爲的前提下,對代碼做出修改,以改進程序內部結構。

A.版本控制    B.代碼調式 C.代碼重構    D.代碼走查

5.(B)不是敏捷軟件開發所突出強調的。
A.個體和交互 B.面面俱到的文檔  C.客戶合作  D 響應變化

6.設計模式的作用不包括(C)。
A.優化的設計經驗  B.極高的複用性  C.極高的耦合度  D.豐富的表達能力

7.設計模式在面向對象系統設計中是(D)的一種形式。

A.軟件調用   B.設計方法   C.子系統       D.軟件複用

8.設計模式的作用不包括(C)。
A.優化的設計經驗     B.極高的複用性

 C.極高的耦合度     D.豐富的表達能力

9.關於工廠模式下列說法正確的是(C)。

A.當面臨一系列相互依賴的對象的創建工作時使用工廠方法模式較適合。

B.當面臨一系列相互依賴的對象的創建工作時使用簡單工廠模式較適合。

C.當面臨一系列相互依賴的對象的創建工作時使用抽象工廠模式較適合。

D.以上都不對

10.一個設計模式的基本要素不包括(D)。

A.模式名稱      B.問題     C.解決方案        D. 程序代碼

11.(B)不是敏捷軟件開發所突出強調的。
A.個體和交互     B.面面俱到的文檔 

 C.客戶合作       D 響應變化

12.(D)不是好的極限編程實踐。
A.客戶作爲團隊成員    B.短交付週期

 C.結對編程    D.極高的開發速度

13.對依賴倒置原則(DIP)的理解,(A)是錯誤的。
A.高層模塊調用低層模塊,從而產生依賴

 B.低層模塊應該依賴於抽象   C .抽象不應該依賴於細節        

 D .細節應該依賴於抽象

14.(A)模式屬於創建型設計模式。

A.抽象工廠     B.適配器     C.代理      D.策略

15.在面向對象設計中,設計模式是系統(B)的基礎,正確的使用設計模式,有助於快速開發出可複用的系統。

A.分析 B.可複用 C.設計 D.實現(編程)

16.設計模式( B)具體的編程語言。

A.依賴於 B.獨立於       C.依附於    D.指定了

 

 

1. 單例 模式屬於對象創建型模式,它保證一個類僅有一個實例。

2.設計模式按照模式的目的將其分爲創建型、  結構型      行爲型    。這三種類型的設計模式,分別描述了對象在創建、組合以及以及相互作用的過程中如何降低它們之間的耦合性、提高複用性的種種方案。

3.  重構  是在不改變軟件現有功能的基礎上,通過調整程序代碼改善軟件的質量、性能,使其程序的設計模式和架構更趨合理,提高軟件的擴展性和維護性。

4. 命令  模式的動機是將調用操作的對象與知道如何實現該操作的對象解耦。

5.創建型模式就是描述怎麼創建一個 對象 ,它隱藏了其創建的具體細節,使程序代碼不依賴具體的對象。

6.行爲型模式就是描述算法以及對象之間的 職責 分配

 

 

1.簡述面向對象設計原則有哪些?

 

(1)單一職責原則

(2)開閉原則

(3)里氏代換原則

(4)依賴倒轉原則

(5)接口隔離原則

(6)合成複用原則

(7)迪米特法則

 

2.簡述什麼是面向對象設計模式及抽象工廠模式的意圖。

(1)面向對象軟件開發領域中,設計模式包括一些規則來完成一定任務。設計模式針對一些特定的問題,提出一種解決方案。

(2)提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。

 

3.簡述觀察者模式的動機和意圖。

 

    意圖:定義對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時, 所有依賴於它的對象都得到通知並被自動更新。

    動機:在軟件構建過程中,我們需要爲某些對象建立一種"通知依賴關係"。一個對象(目標對象)的狀態發生改變,所有的依賴對象(觀察者對象)都將得到通知。如果這樣的依賴關係過於緊密,將使軟件不能很好的抵禦變化。

使用面向對象技術,可以將這種依賴關係弱化,並形成一種穩定的依賴關係。從而實現軟件體系結構的鬆耦合。

 

4.簡述適配器模式的動機和意圖。

 

    意圖:將一個類的接口轉換成客戶希望的另外一個接口,使得原本由於 接口不兼容而不能一起工作的那些類可以一起工作。

    動機:在軟件系統中,由於應用環境的變化,常常要將一些顯存的對象放在新的環境中應用,但是新環境要求的接口是這些顯存對象所不滿足的。

 

 

 

五.極限編程和RUP(新)

 

1.(B)不是敏捷軟件開發所突出強調的。

A.個體和交互    B.面面俱到的文檔      C.客戶合作      D. 響應變化

2.(B)不是敏捷軟件開發應該遵循的原則。

A.軟件交付的時間間隔從幾周到幾個月,越短越好  B.開發後期,應儘量避免變化
C.儘早的、持續的交付有價值的軟件             D.業務人員和開發人員一起工作

3.(D)不是好的極限編程實踐。
A.客戶作爲團隊成員  B.短交付週期  C.結對編程  D.極高的開發速度

 

1.極限編程是以測試開始的,測試程序優先設計,測試成爲開發的基準,      測試驅動開發也就是客戶的需求驅動軟件的開發。

 

1.極限編程有哪些最佳實踐?

 

需求方面(客戶故事和客戶全程參與)

設計方面(簡單設計)

測試方面(測試驅動開發)

編碼方面(最佳實踐1:代碼重構

       最佳實踐2:結對編程

       最佳實踐3:集體代碼所有權

       最佳實踐4:強調編碼標準)

項目管理方面(最佳實踐1:持續集成

             最佳實踐2:短期交付

             最佳實踐3:可持續的開發速度

             最佳實踐4:系統隱喻

             最佳實踐5:計劃遊戲

             最佳實踐6:完整的團隊)

 

2.試對極限編程和RUP進行比較。

 

(1)敏捷開發與RUP相比裁剪了很多內容。

(2)敏捷過程中客戶的位置與作用是重要的,不可替代。

(3)在RUP中大量使用了UML建模,敏捷過程中不提倡面面俱到的文檔所謂敏捷建模就是不依賴於專業的建模工具(如Rational Rose,Microsoft Visio),而是大量使用白板(也可以是白紙,黑板等等)畫草圖。而且草圖也不一定完全遵循UML文法,只要是方便團隊成員之間的溝通和理解均可。

(4)在RUP中很注重軟件過程的管理,開發的監視和控制。所以會產生很多的相關文檔,而在敏捷項目中,我們團隊每個成員都是積極主動的參與者。所以我們最後的集成文檔是可以略掉的。同時我們還避免了很多監控和測試的文檔。

(5)一般來說,對於小型項目,硬件要求和系統複雜度都相對較低。所以很多團隊都省去了配置與變更管理這項工作流,而且效果很好。

(6)在敏捷鍾我們主張快速交付原型軟件,這就意味着我們必須對設計過程進行適當的簡化,越是簡單的設計就越容易開始項目。

(7)項目的需求是不可能一蹴而就的。迭代式的發現需求,響應需求是RUP和敏捷過程共同包含的。

 

3.簡述RUP有哪些最佳實踐?

 

迭代式開發

管理需求

使用基於構件的體系結構

可視化建模

檢驗質量

控制變更

 

六.測試

1.一個成功的測試可以(C)。

A.表明程序沒有錯誤       B.發現所有錯誤  

C.發現尚未發現的錯誤    D.提高軟件可靠性

2.在下列軟件生存週期模型中,哪一個是由Rational公司推出的軟件過程?(D)

A.瀑布模型    B.極限編程  

C.噴泉模型     D.RUP統一過程

3.在程序的規格說明中,對輸入條件有一句話:“…… 項數可以從1到999 ……” ,則在測試時可以劃分:(A)。

A.一個有效等價類和兩個無效等價類  

B.一個有效等價類和一個無效等價類

C.兩個有效等價類和兩個無效等價類  

D.兩個有效等價類和一個無效等價類

4.從測試完成程度來看,下列選項中測試覆蓋率最高的是(D)。

A.語句覆蓋      B.分支覆蓋   

C.條件組合覆蓋    D.路徑覆蓋

5.一個程序只有一個輸入S,其取值範圍是-60≤S≤60。現從輸入的角度設計了一組測

試數據:-200,20,200,設計這組測試用例的方法是(B)。

A.條件覆蓋            B.等價類劃分   

C.邊界值分析      D.錯誤推斷

6.使用(D)設計測試用例時,要選擇臨近邊界的合法數據和非法數據。

A.因果圖法               B.錯誤猜測法  

C.等價類劃分法       D.邊界值分析法

7.例如:在教師上崗方案中規定對教授、副教授、講師和助教分別計算分數,做相應的處理,則在測試時可以劃分(A)。

A.4個有效等價類和1個無效等價類   

B.1個有效等價類和1個無效等價類

C.5個有效等價類和1個無效等價類   

D.2個有效等價類和1個無效等價類

8.從測試完成程度來看,下列選項中測試覆蓋率最低的是(A)

A.語句覆蓋   B.分支覆蓋    C.條件組合覆蓋 D.路徑覆蓋

9.使用(D)設計測試用例時,要選擇臨近邊界的合法數據和非法數據。
A.因果圖法              B.錯誤猜測法  

C.等價類劃分法        D.邊界值分析法

 

1.在集成測試中,模塊的組裝方法分爲非漸增式和漸增式兩種方法。在漸增式測試方法中包括 自頂向下   自底向上 兩種集成策略。

2.測試任何軟件產品都有兩種基本的方法,通常,在測試過程的早期階段主要使用  白盒測試  ,而在測試的後期階段主要使用黑盒測試。

3.  Alpha   測試由用戶在開發者的場所進行,並且在開發者對用戶的“指導”下進行測試;  Beta   測試由軟件的最終用戶們在一個或多個客戶場所進行,即在開發者不能控制的環境中“真實”的應用。

4.在測試階段,測試步驟分爲模塊測試、  集成測試   、系統測試、驗收測試。

 

1.什麼是白盒測試技術、黑盒測試技術?

 一.(1)語句覆蓋

     (2)判定覆蓋

   (3)條件覆蓋

   (4)判定/條件覆蓋

   (5)條件組合覆蓋

   (6)路徑覆蓋

   (7)點覆蓋

   (8)邊覆蓋

 

二.(1)等價劃分

   (2)邊界值分析

   (3)錯誤推測

 

2.等價類劃分是一種黑盒測試技術,它把程序的輸入域劃分成若干個數據類,據此導出測試用例。若在程序的規格說明書中對輸入條件有這樣一句話:“……項數可以從1到999…….”,則需劃分幾個等價類,分別是什麼?

 

     則有效等價類是“1≤項數≤999”

 兩個無效等價類是“項數<1”或“項數>999

 

3.什麼是Alpha測試?什麼是Beta測試?

 

    Alpha測試由用戶在開發者的場所進行,並且在開發者對用戶的“指導”下進行測試;

    Beta測試由軟件的最終用戶們在一個或多個客戶場所進行,即在開發者不能控制的環境中“真實”的應用.

 

 (ps:這是我自己整理的期末複習題,希望能幫到大家)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章