延安大學計算機學院實驗報告專用紙
姓名實驗室:軟體實驗室機號:實驗日期:年月日
班級軟體15課程名稱軟體設計與結構任課教師指導教師
實驗專案名稱軟體體系結構風格之kwic關鍵詞索引系統
實驗組別第組
學號教師評語及成績:
實驗成績:教師簽字:
一、實驗目的和要求
鞏固和加強《軟體體系結構》課程中關於軟體體系結構風格部分內容的理解。通過該實驗,一方面能夠根據有關軟體需求,設計合適的軟體體系結構;另方面有關人員課把它作為乙個理解軟體系統的基礎。
本次實驗通過kwic例項分析,理解和掌握多種軟體體系結構風格設計與實現。二、實驗內容
多種軟體風格設計與實現之kwic例項:(4選1)
三、實驗步驟:
1、採用主/子程式體系結構風格實現kwic關鍵詞索引系統
主程式/子程式風格(main program/subroutine style)將系統組織成層次結構
1延安大學計算機學院實驗報告專用紙
實驗室:軟體實驗室機號:實驗日期:年月日
包括乙個主程式和一系列子程式。
主程式是系統的控制器,負責排程各子程式的執行。各子程式又是乙個區域性的控制器,排程其子程式的執行。設計詞彙表:
主程式main()、子程式shift(), sort()方法,方法的呼叫,返回構件和連線件型別。
(1)構件:各類子程式,如shift(),sort()
(2)連線件:方法的呼叫(3)基本的計算模型:
子程式有shift(), sort()方法,shift()對單詞進行移位,sort()方法對單詞進行排序
(4)風格的基本不變性:主程式有順序地呼叫子程式,單執行緒控制。
主程式/子程式風格的重要設計決策與約束有以下幾個方面:
(1)基於宣告-使用(程式呼叫)關係建立連線件,以層次分解的方式建立系統部件,共同組成
層次結構。
(2)每乙個上層部件可以「使用」下層部件,但下層部件不能「使用」上層部件,即不允許逆方向呼叫。
(3)系統應該是單執行緒執行。主程式部件擁有最初的執行控制權,並在「使用」中將控制權轉移給下層子程式。
(4)子程式只能夠通過上層轉移來獲得控制權,可以在執行中將控制權轉交給下層的子子程式,並在自身執行完成之後必須將控制權還交給上層部件。
說明:主程式/子程式風格的主要實現機制是模組實現,它將每個子程式都實現為乙個模組,主程式實現為整個系統的起始模組。依照抽象規格的層次關係,實現模組也被組織為相應的層次機構,通過匯入/匯出關係相連線。
需要強調的是,雖然主程式/子程式風格非常類似於結構化程式的結構,但是主程式/子程式風格是基於部件與連線件建立的高層結構。它的部件不同於程式,而是更加粗粒度的模組。而且,在部件的實現模組內部,可以使用結構化方法,也可以使用物件導向方法,這並不妨礙整個系統的高層結構符合主程式/子程式風格的約定。
主程式/子程式風格的優點有:
2延安大學計算機學院實驗報告專用紙
實驗室:軟體實驗室機號:實驗日期:年月日
流程清晰,易於理解。強控制性。嚴格的層次分解和嚴格的控制權轉移使得主程式/子程式風格對程式的實際執行過程具備很強的控制能力,這帶來了乙個特點:
如果乙個子程式所連線的子子程式是正確的,那麼就很容易保證該子程式的「正確性」。所以,主程式/子程式風格比其他常見風格更能控制程式的「正確性」
四、實驗結果及體會
通過本次實驗認識到軟體體系結構風格是描述某一特定應用領域中系統組織方式的慣用模式。3
軟體設計與體系結構知識點
1.軟體設計的特徵 1 軟體設計的開端是出現某些新的問題需要軟體來解決,這些需要促使設計工作的開始,並成為整個設計工作最初的基礎 2 軟體設計的結果是給出乙個方案,它能夠用來實現所需的 可以解決問題的軟體,方案的描述可能是文字 圖表,甚至數學符號 公式等組成的文件或模型 3 軟體設計包含一系列的轉換...
軟體設計與體系結構實驗教學大綱
課程編號 zh36167 課程名稱 軟體設計與體系結構實驗 英文名稱 experiments in software design and architecture 學分 學時 0.5 17課程性質 必修 適用專業 軟體工程 先修課程 軟體工程 uml基礎 軟體需求及設計 程式設計 c c 或j a...
軟體設計師備考筆記之組成原理與體系結構
cpu組成 運算器 控制器。cpu功能 程式控制,操作控制,時間控制,資料處理。運算器功能 對資料進行加工處理的部件,它主要完成算術運算和邏輯運算,完成對資料的加工與處理。運算器組成 算術 邏輯單元 alu 累加器 acc 暫存器組,多路轉換器和資料匯流排等邏輯部件組成。控制器功能 步驟 從記憶體中...