試題一(共25分)
閱讀以下關(guān)于軟件架構(gòu)風(fēng)格的敘述,在答題紙上回答問題1和問題2。
某軟件公司為其新推出的字處理軟件設(shè)計了一種腳本語言,專門用于開發(fā)該字處理軟件的附加功能插件。為了提高該語言的編程效率,公司組織軟件工具開發(fā)部門為腳本語言研制一套集成開發(fā)環(huán)境。軟件工具開發(fā)部門根據(jù)字處理軟件的特點,對集成開發(fā)環(huán)境進(jìn)行了需求分析,總結(jié)出以下3項核心需求:
(1)集成開發(fā)環(huán)境需要提供對腳本語言的編輯、語法檢查、解釋、執(zhí)行和調(diào)試等功能的支持,并要實現(xiàn)各種功能的靈活組合、配置與替換。
(2)集成開發(fā)環(huán)境需要提供一組可視化的編程界面,用戶通過對界面元素拖曳和代碼填充的方式就可以完成功能插件核心業(yè)務(wù)流程的編寫與組織。
(3)在代碼調(diào)試功能方面,集成開發(fā)環(huán)境需要實現(xiàn)在腳本語言編輯界面中的代碼自動定位功能。具體來說,在調(diào)試過程中,編輯界面需要響應(yīng)調(diào)試斷點命中事件,并自動跳轉(zhuǎn)到當(dāng)前斷點處所對應(yīng)的代碼。
針對上述需求,軟件工具開發(fā)部門對集成開發(fā)環(huán)境的架構(gòu)進(jìn)行分析與設(shè)計,王工認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用管道-過濾器的架構(gòu)風(fēng)格實現(xiàn),李工則認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用以數(shù)據(jù)存儲為中心的架構(gòu)風(fēng)格來實現(xiàn)。公司組織專家對王工和李工的方案進(jìn)行了評審,最終采用了李工的方案。
【問題1】(12分)
請用200字以內(nèi)的文字解釋什么是軟件架構(gòu)風(fēng)格,并從集成開發(fā)環(huán)境與用戶的交互方式、集成開發(fā)環(huán)境的擴(kuò)展性、集成開發(fā)環(huán)境的數(shù)據(jù)管理三個方面說明為什么最終采用了李工的設(shè)計方案。
【問題2】(13分)
在對軟件系統(tǒng)架構(gòu)進(jìn)行設(shè)計時,要對架構(gòu)需求進(jìn)行分析,針對特定需求選擇最為合適的架構(gòu)風(fēng)格,因此實際的軟件系統(tǒng)通常會混合多種軟件架構(gòu)風(fēng)格。請對核心需求進(jìn)行分析,說明為了滿足需求(2)和(3),分別應(yīng)采用何種架構(gòu)風(fēng)格,并概要說明采用相應(yīng)架構(gòu)風(fēng)格后的架構(gòu)設(shè)計過程。