




已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1 5 1 2軟件工程概述 2 軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分 它是包括程序 數(shù)據(jù)及其相關(guān)文檔的完整集合程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā) 維護(hù)和使用有關(guān)的圖文材料 3 軟件的分類 按軟件的功能進(jìn)行劃分 系統(tǒng)軟件 支撐軟件 應(yīng)用軟件系統(tǒng)軟件操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)設(shè)備驅(qū)動程序通信處理程序等 4 支撐軟件文本編輯程序文件格式化程序程序庫系統(tǒng)支持需求分析 設(shè)計(jì) 實(shí)現(xiàn) 測試和支持管理的軟件 5 應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學(xué)計(jì)算軟件計(jì)算機(jī)輔助設(shè)計(jì) 制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療 制藥軟件事務(wù)管理 辦公自動化軟件計(jì)算機(jī)輔助教學(xué)軟件 6 軟件發(fā)展階段 程序設(shè)計(jì)階段 50至60年代程序系統(tǒng)階段 60至80年代 這一時(shí)期主要圍繞軟件項(xiàng)目 開展了開發(fā)模型 支持工具以及開發(fā)方法的研究 如 瀑布模型 結(jié)構(gòu)化方法 自頂向下 結(jié)構(gòu)化語言 Pascal C語言 管理方法 費(fèi)用估算 文檔復(fù)審 支持工具 計(jì)劃 配置管理工具等 軟件工程階段 80年代以后開展了有關(guān)軟件生產(chǎn)技術(shù) 軟件復(fù)用技術(shù) 軟件生產(chǎn)管理的研究和實(shí)踐 提出具有廣泛應(yīng)用前景的面向?qū)ο蠓椒ê拖嚓P(guān)的語言 C VisualC 近年來 軟件工程的研究從過程轉(zhuǎn)向產(chǎn)品更加注重程序的開發(fā)范型和軟件生產(chǎn) 高智能 自動化CASE成為軟件工程技術(shù)研究的熱點(diǎn) 7 軟件工程的定義 Boehm 運(yùn)用現(xiàn)代科學(xué)技術(shù)知識來設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序及為開發(fā) 運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料FritzBauer 建立并使用完善的工程化原則 以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法IEEE 軟件工程是開發(fā) 運(yùn)行 維護(hù)和修復(fù)軟件的系統(tǒng)方法但主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則的重要性 8 軟件工程三要素 方法 工具和過程 軟件工程方法為軟件開發(fā)提供了 如何做 的技術(shù)軟件工程工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境軟件工程過程定義了 方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開發(fā)各個(gè)階段完成的里程碑 9 軟件工程項(xiàng)目的基本目標(biāo) 付出較低的開發(fā)成本達(dá)到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護(hù)費(fèi)用能按時(shí)完成開發(fā)工作 及時(shí)交付使用 10 軟件生存期 軟件有一個(gè)孕育 誕生 成長 成熟 衰亡的生存過程 這個(gè)過程即為計(jì)算機(jī)軟件的生存期軟件生存期六個(gè)步驟 問題定義和可行性研究 制定計(jì)劃 需求分析 設(shè)計(jì) 總體設(shè)計(jì)和詳細(xì)設(shè)計(jì) 程序編碼 測試及運(yùn)行維護(hù) 11 制定計(jì)劃 確定要開發(fā)軟件系統(tǒng)的總目標(biāo)給出功能 性能 可靠性以及接口等方面的要求完成該軟件任務(wù)的可行性研究估計(jì)可利用的資源 計(jì)算機(jī)硬件 軟件 人力等 成本 效益 開發(fā)進(jìn)度制定出完成開發(fā)任務(wù)的實(shí)施計(jì)劃 連同可行性研究報(bào)告 提交管理部門審查 12 需求分析 對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義編寫軟件需求說明書或系統(tǒng)功能說明書及初步的系統(tǒng)用戶手冊提交管理機(jī)構(gòu)評審 13 軟件設(shè)計(jì) 概要設(shè)計(jì) 把各項(xiàng)需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu) 結(jié)構(gòu)中每一組成部分都是意義明確的模塊 每個(gè)模塊都和某些需求相對應(yīng)詳細(xì)設(shè)計(jì) 對每個(gè)模塊要完成的工作進(jìn)行具體的描述 為源程序編寫打下基礎(chǔ)編寫設(shè)計(jì)說明書 提交評審 14 程序編寫 把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼 即寫成以某一種特定程序設(shè)計(jì)語言表示的 源程序清單 寫出的程序應(yīng)當(dāng)是結(jié)構(gòu)良好 清晰易讀的 且與設(shè)計(jì)相一致的 15 軟件測試 單元測試 查找各模塊在功能和結(jié)構(gòu)上存在的問題并加以糾正組裝測試 將已測試過的模塊按一定順序組裝起來按規(guī)定的各項(xiàng)需求 逐項(xiàng)進(jìn)行有效性測試 決定已開發(fā)的軟件是否合格 能否交付用戶使用 16 運(yùn)行 維護(hù) 改正性維護(hù)運(yùn)行中發(fā)現(xiàn)了軟件中的錯誤需要修正適應(yīng)性維護(hù)為了適應(yīng)變化了的軟件工作環(huán)境 需做適當(dāng)變更完善性維護(hù)為了增強(qiáng)軟件的功能需做變更 17 軟件生存期 開發(fā) 模型 軟件生存期模型直觀地表達(dá)軟件開發(fā)全部過程 明確規(guī)定要完成的主要活動和任務(wù) 瀑布模型 演化模型 螺旋模型 18 瀑布模型的特點(diǎn) 從上一階段接受本階段工作的對象作為輸入本階段的工作成果作為輸出傳入下一階段評估各階段 若本階段工作得到確認(rèn) 繼續(xù) 否則返回前一階段可以增加反饋線來表示具有反饋回路的瀑布模型 19 瀑布模型 20 由于在項(xiàng)目開發(fā)的初始階段人們對軟件的需求認(rèn)識常常不夠清晰 用戶只能給出系統(tǒng)的核心 并根據(jù)實(shí)現(xiàn)的核心系統(tǒng)有效地提出反饋 來支持系統(tǒng)的最終設(shè)計(jì)和實(shí)現(xiàn) 第一次只是試驗(yàn)開發(fā)核心系統(tǒng) 其目標(biāo)只是在于探索可行性 弄清軟件需求第二次則在此基礎(chǔ)上提出精化系統(tǒng) 獲得較為滿意的軟件產(chǎn)品 演化模型的特點(diǎn) 21 核心系統(tǒng)開發(fā) 演化模型 22 螺旋模型沿著螺線旋轉(zhuǎn) 在四個(gè)象限上分別表達(dá)了四個(gè)方面的活動制定計(jì)劃 確定軟件目標(biāo) 選定實(shí)施方案 弄清項(xiàng)目開發(fā)的限制條件風(fēng)險(xiǎn)分析 分析所選方案 考慮如何識別和消除風(fēng)險(xiǎn)實(shí)施工程 實(shí)施軟件開發(fā)客戶評估 評價(jià)開發(fā)工作 提出修正建議 螺旋模型的特點(diǎn) 23 螺旋模型 24 嵌入式系統(tǒng)的設(shè)計(jì)過程 25 如圖A所示 首先從系統(tǒng)需求開始 然后是規(guī)格說明 在這一步對想要做的工作進(jìn)行更加細(xì)致地描述 但是規(guī)格說明只對系統(tǒng)如何工作 工作過程 進(jìn)行了描述 這些描述并不涉及它的組成 系統(tǒng)內(nèi)部的詳細(xì)構(gòu)造要在開發(fā)系統(tǒng)的體系結(jié)構(gòu)時(shí)才能展現(xiàn)出來 這一階段以大的構(gòu)件為單位給出了系統(tǒng)的結(jié)構(gòu) 一旦知道了需要的構(gòu)件 就可以設(shè)計(jì)這些構(gòu)件 包括軟件模塊和任何所需要的專用硬件模塊 在這些構(gòu)件的基礎(chǔ)上 可以構(gòu)造出所需要的完整的系統(tǒng) 26 1 系統(tǒng)需求分析確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo) 并提煉出設(shè)計(jì)規(guī)格說明書 作為正式設(shè)計(jì)指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn) 系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面 功能性需求是系統(tǒng)的基本功能 如輸入輸出信號 操作方式等 非功能性需求包括系統(tǒng)性能 成本 功耗 體積 重量等因素 2 體系結(jié)構(gòu)設(shè)計(jì)描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能需求 包括對硬件 軟件和執(zhí)行裝置的功能劃分以及系統(tǒng)的軟件 硬件選型等 一個(gè)好的體系結(jié)構(gòu)是設(shè)計(jì)成功與否的關(guān)鍵 27 3 硬件 軟件設(shè)計(jì)基于體系結(jié)構(gòu) 對系統(tǒng)的軟件 硬件進(jìn)行詳細(xì)設(shè)計(jì) 為了縮短產(chǎn)品開發(fā)周期 軟硬件設(shè)計(jì)往往并行的 4 系統(tǒng)集成把系統(tǒng)的軟件 硬件和執(zhí)行裝置集成在一起 進(jìn)行調(diào)試 發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過程中的錯誤 5 系統(tǒng)測試對設(shè)計(jì)好的系統(tǒng)進(jìn)行測試 看其是否滿足規(guī)格說明書中給定的功能要求 28 需求分析 在設(shè)計(jì)一個(gè)系統(tǒng)之前 必須清楚在設(shè)計(jì)什么 在設(shè)計(jì)的最初階段 截取這些信息 以此來設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu)和構(gòu)件 這一階段的任務(wù)通常通過兩種過程來實(shí)現(xiàn) 首先 從客戶那里收集系統(tǒng)的非形式描述 這叫做需求 然后 對需求進(jìn)行提煉 得到系統(tǒng)的規(guī)格說明 這些規(guī)格說明里包含了進(jìn)行系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)所需要的足夠信息 29 1 需求與規(guī)格說明 區(qū)分需求和規(guī)格說明是必要的 因?yàn)樵诳蛻絷P(guān)于所需系統(tǒng)的描述和體系結(jié)構(gòu)系統(tǒng)設(shè)計(jì)師所需的信息之間存在極大的距離 嵌入式系統(tǒng)的客戶通常不是嵌入式系統(tǒng)的設(shè)計(jì)人員 甚至也不是最終產(chǎn)品的設(shè)計(jì)人員 他們對嵌入式系統(tǒng)的理解是建立在他們想象的與系統(tǒng)之間的交互的基礎(chǔ)上的 對系統(tǒng)可能有一些不切實(shí)際的期望 或者是使用他們自己的話而不是專業(yè)術(shù)語來表達(dá)其需求 將客戶的描述轉(zhuǎn)化為系統(tǒng)設(shè)計(jì)者的描述的結(jié)構(gòu)化方法就是從客戶的需求中獲取一組一致性的需求 然后從中整理成正式的規(guī)格說明 30 通常 需求包括功能部分和非功能部分 當(dāng)然 我們必須從中獲取系統(tǒng)的基本功能 但是 只有功能的描述是不夠的 非功能需求包括 1 性能系統(tǒng)的處理速度通常是該系統(tǒng)的實(shí)用性和最終成本的主要決定因素 正如我們已經(jīng)注意到的 性能是軟件性能度量 如執(zhí)行一個(gè)用戶級函數(shù)的大致時(shí)間和必須完成的一個(gè)特定操作的硬時(shí)限 的組合 31 2 價(jià)格產(chǎn)品最終的成本或者銷售價(jià)格也是一個(gè)主要的考慮因素 產(chǎn)品的成本包含兩個(gè)主要部分 生產(chǎn)成本 包括購買構(gòu)件以及組裝它們的花費(fèi) 不可再生的工程成本 NRE 包括人力成本以及設(shè)計(jì)系統(tǒng)的其他花費(fèi) 3 系統(tǒng)的尺寸和重量最終產(chǎn)品的物理特性會因?yàn)槭褂玫念I(lǐng)域不同而大不相同 一臺控制裝配線的工業(yè)控制系統(tǒng)通常裝配在一個(gè)標(biāo)準(zhǔn)尺寸的柜子里 它對重量沒有什么約束 但是手持設(shè)備對系統(tǒng)的尺寸和重量就有很嚴(yán)格的限制 32 4 功耗對于那些靠電池來供電的系統(tǒng)以及其他一些電器來說 電源是十分重要的 電源問題在需求階段以電池壽命的方式提出 因?yàn)轭櫩屯ǔ2荒軌蛞酝邽閱挝幻枋鲈试S的功率 33 2 確認(rèn)需求 確認(rèn)需求不僅需要理解什么是用戶需要的 而且需要理解他們是如何表達(dá)這些需求的 精煉系統(tǒng)需求的好方法 至少是精煉用戶界面部分 方法是建立一個(gè)模型 這個(gè)模型可以使用已存數(shù)據(jù)來模擬功能 并且可以在個(gè)人電腦或工作站上運(yùn)行 它應(yīng)該讓用戶了解系統(tǒng)是如何使用的 以及用戶如何和它進(jìn)行交互 通常 設(shè)備的非功能模型可以讓用戶了解系統(tǒng)的特性 比如系統(tǒng)的尺寸和重量 34 3 簡單的需求表格 對一個(gè)大系統(tǒng)進(jìn)行需求分析是一項(xiàng)復(fù)雜而費(fèi)時(shí)的工作 但是 取得相對少量的格式清晰 簡單的信息是理解系統(tǒng)需求的一個(gè)好的開始 表A展示了一個(gè)需求表格的樣本 這個(gè)表格在某項(xiàng)工程的開始時(shí)填寫 在考慮系統(tǒng)基本特征時(shí)可以將這個(gè)表格作為檢查表 表格內(nèi)容包括 35 1 名稱這一項(xiàng)十分簡單 但卻十分有用 給該項(xiàng)工程取一個(gè)名字不僅在和別人討論這個(gè)工程時(shí)更加方便 也可以使設(shè)計(jì)的目的更加明確 2 目的這一項(xiàng)可以是簡單的一到兩行的關(guān)于系統(tǒng)將要滿足的需求的描述 如果你不能用一兩句話來描述你所設(shè)計(jì)的系統(tǒng)的主要特性的話 說明你還不是十分了解它 36 3 輸入和輸出這兩項(xiàng)內(nèi)容比較復(fù)雜 對系統(tǒng)的輸入和輸出包含了大量細(xì)節(jié) 數(shù)據(jù)類型 模擬電信號 數(shù)字?jǐn)?shù)據(jù) 機(jī)械輸入 數(shù)據(jù)特性 周期性到達(dá)的數(shù)據(jù) 比如數(shù)字音頻信號 或者是用戶的輸入 每個(gè)數(shù)據(jù)元素多少位 輸入 輸出設(shè)備的類型 按鍵 模 數(shù)轉(zhuǎn)換器 視頻顯示器 37 4 功能這一項(xiàng)是關(guān)于系統(tǒng)所做的工作的更加詳細(xì)的描述 從輸入到輸出進(jìn)行分析是提出功能的一種好方法 當(dāng)系統(tǒng)接收到輸入時(shí) 它執(zhí)行哪些動作 用戶通過界面輸入的數(shù)據(jù)如何對該功能產(chǎn)生影響 不同功能之間是如何相互作用的 38 5 性能許多嵌入式系統(tǒng)都要花費(fèi)一定的時(shí)間來控制物理設(shè)備 或是處理從外界輸入的數(shù)據(jù) 在大部分情況下 這些計(jì)算必須在一定的時(shí)間內(nèi)處理完 對性能的要求必須盡早地明確 因?yàn)檫@些要求在執(zhí)行過程中得認(rèn)真加以考慮 以便隨時(shí)檢查我們的系統(tǒng)是否達(dá)到了這些要求 39 6 生產(chǎn)成本這中間主要包含了硬件構(gòu)件的花費(fèi) 如果你不能確定將要花費(fèi)在硬件構(gòu)件上的費(fèi)用的確切數(shù)目 那么你起碼得對最終產(chǎn)品的價(jià)格有一個(gè)粗略的了解 因?yàn)閮r(jià)格最終影響了系統(tǒng)的體系結(jié)構(gòu) 一臺將要以100元出售的設(shè)備的內(nèi)部結(jié)構(gòu)和一臺打算以1000元出售的機(jī)器的內(nèi)部結(jié)構(gòu)肯定是不同的 40 7 功耗對系統(tǒng)的功耗你可能只有一個(gè)粗略的了解 但是 沒有關(guān)于這方面的信息是不行的 通常 決定系統(tǒng)是靠電池供電還是通過墻上的插座供電是系統(tǒng)設(shè)計(jì)過程中的一個(gè)重大決定 靠電池供電的系統(tǒng)必須認(rèn)真地對功耗問題進(jìn)行考慮 8 物理尺寸和重量對系統(tǒng)的物理尺寸和重量有一定的了解有助于對系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì) 一臺臺式機(jī)在對構(gòu)件的選擇上比那些佩帶式錄音機(jī)要寬松得多 41 4 需求的內(nèi)部一致性 在寫完需求分析以后 你應(yīng)該對它們的內(nèi)部一致性進(jìn)行檢查 是否忘記了給某個(gè)功能指定輸入或輸出 是否考慮了系統(tǒng)運(yùn)行的所有方式 是否把一些不切實(shí)際的要求放到了一個(gè)電池供電 低成本的機(jī)器中了 42 示例AGPS移動地圖的需求分析移動地圖是一種手持設(shè)備 該設(shè)備為用戶顯示他當(dāng)前所處位置周圍的地形的一張地圖 地圖的內(nèi)容隨著用戶以及該設(shè)備所處的位置的改變而改變 移動地圖從GPS上得到其位置信息 GPS是一個(gè)衛(wèi)星導(dǎo)航系統(tǒng) 移動地圖的顯示如圖B所示 43 針對GPS移動地圖我們有什么需求 下面是一些最初的清單 功能性本系統(tǒng)主要針對高速公路上開車的用戶或類似用戶 系統(tǒng)應(yīng)展示可在標(biāo)準(zhǔn)地形圖數(shù)據(jù)庫中得到的主要道路和其他陸地標(biāo)志 用戶界面屏幕至少應(yīng)該有400 600像素分辨率 該設(shè)備的控制按鈕不應(yīng)多于三個(gè) 按下按鈕時(shí)菜單系統(tǒng)應(yīng)在屏幕上彈出 允許用戶系統(tǒng)控制做出選擇 性能地圖應(yīng)該平滑滾動 加電后 顯示在1秒鐘內(nèi)出現(xiàn) 系統(tǒng)應(yīng)可以核查其位置并在15秒內(nèi)顯示當(dāng)前地圖 44 4 成本單個(gè)設(shè)備售價(jià) 零售價(jià) 不高于4000元 5 設(shè)備物理尺寸和重量應(yīng)非常適于放在手掌中 6 功耗四節(jié)5號電池至少可以連續(xù)運(yùn)行8小時(shí) 注意 上述許多需求并不是按工程單位規(guī)定的 例如 物理尺寸是相對于手而不是用厘米標(biāo)出的 雖然這些需求必須最終轉(zhuǎn)換成可以被設(shè)計(jì)者使用的某種東西 但是保持某種顧客想要的記錄將有助于解決設(shè)計(jì)期間后期出現(xiàn)的有關(guān)規(guī)格說明的問題 45 基于上述討論 讓我們?yōu)橐苿拥貓D系統(tǒng)編寫一份需求表格 如表B 46 表B加上了設(shè)計(jì)人員所要使用的某些用工程術(shù)語表述的需求 它提供了設(shè)備的實(shí)際尺寸 生產(chǎn)成本與銷售價(jià)格有關(guān) 通過使用簡單的經(jīng)驗(yàn)法則可以得到 銷售價(jià)4 5倍于所售商品的成本 所有構(gòu)件的成本之和 47 規(guī)格說明 規(guī)格說明更精確一些 它起到客戶和生產(chǎn)者之間的合同的作用 正因?yàn)槿绱?規(guī)格說明必須小心編寫 以便精確地反映客戶的需求并且作為設(shè)計(jì)時(shí)必須明確遵循的要求 48 規(guī)格說明應(yīng)該足夠明晰 以便別人可以驗(yàn)證它是否符合系統(tǒng)需求并且完全滿足客戶的期望 它亦不能有歧義 設(shè)計(jì)者應(yīng)知道什么是他們需要構(gòu)造的 設(shè)計(jì)者可能碰到各種不同類型的由于不明確的規(guī)格說明而導(dǎo)致的問題 如果在某個(gè)特定的狀況下的某些特性的行為在規(guī)格說明中不明確 那么設(shè)計(jì)者可能實(shí)現(xiàn)錯誤的功能 如果規(guī)格說明的全局特征是錯的或者是不完整的 那么由該規(guī)格說明建造的整個(gè)系統(tǒng)體系結(jié)構(gòu)可能就不符合實(shí)現(xiàn)的要求 49 GPS系統(tǒng)的規(guī)格說明包括下列構(gòu)件 從GPS衛(wèi)星接收數(shù)據(jù) 查詢地圖數(shù)據(jù)庫 刷新用戶界面 必須執(zhí)行的滿足客戶需求的操作 保持系統(tǒng)運(yùn)行所需的后備動作 如操縱GPS接收機(jī) 50 體系結(jié)構(gòu)設(shè)計(jì) 規(guī)格說明不講系統(tǒng)如何做 而只是講系統(tǒng)做什么 描述系統(tǒng)如何實(shí)現(xiàn)那些功能是體系結(jié)構(gòu)的目的 體系結(jié)構(gòu)是系統(tǒng)整體結(jié)構(gòu)的一個(gè)計(jì)劃 而后用于設(shè)計(jì)搭建整個(gè)體系結(jié)構(gòu)的構(gòu)件 51 圖C以框圖形式展示了樣例系統(tǒng)體系結(jié)構(gòu) 這些框圖展示了它的主要操作和其間的數(shù)據(jù)流 框圖仍很抽象 還沒有規(guī)定運(yùn)行在CPU上的軟件執(zhí)行什么操作 專用硬件完成什么等等 不過 為描述如何實(shí)現(xiàn)在規(guī)格說明中規(guī)定的功能框圖還要做許多事情 例如 可以清楚地看到需要搜索地形圖數(shù)據(jù)庫 繪制顯示的結(jié)果 52 只有在設(shè)計(jì)了一個(gè)并未注重太多實(shí)現(xiàn)細(xì)節(jié)的初始體系結(jié)構(gòu)之后 才可能把系統(tǒng)框圖細(xì)分成硬件和軟件兩大部分 如圖D所示 硬件框圖展示了有一個(gè)CPU 周圍有存儲器和I O設(shè)備 存儲器有兩種 一種是針對像素顯示的幀緩沖器 另一種是CPU使用的通用程序 數(shù)據(jù)存儲器 軟件框圖基本上與系統(tǒng)框圖一致 但是增加了一個(gè)計(jì)時(shí)器 控制何時(shí)讀取用戶界面上的按鈕 并在屏幕上繪制數(shù)據(jù) 為了得到一個(gè)真正完整的體系結(jié)構(gòu)描述 我們需要更多細(xì)節(jié) 比如軟件框圖中的單元在硬件框圖的什么地方執(zhí)行 何時(shí)操作準(zhǔn)時(shí)執(zhí)行等 53 體系結(jié)構(gòu)描述必須同時(shí)滿足功能上和非功能上的需求 不僅所需求的功能要體現(xiàn) 而且必須符合成本 速度 功率和其他非功能上的約束 先從系統(tǒng)體系結(jié)構(gòu)開始 逐步把這一結(jié)構(gòu)細(xì)化為硬件和軟件體系結(jié)構(gòu)是確保系統(tǒng)符合所有規(guī)格說明的一種好方法 首先集中考慮系統(tǒng)框圖中的功能元素 然后在建造硬件和軟件體系結(jié)構(gòu)時(shí)考慮非功能約束 54 設(shè)計(jì)硬件構(gòu)件和軟件構(gòu)件 體系結(jié)構(gòu)描述告訴我們需要什么樣的構(gòu)件 構(gòu)件設(shè)計(jì)使得構(gòu)件與體系結(jié)構(gòu)和規(guī)格說明一致 構(gòu)件通常既包括硬件 現(xiàn)場可編程門陣列 FPGA 電路板等等 還包括軟件模塊 一些構(gòu)件是現(xiàn)成的 如CPU 存儲器芯片 在移動地圖中 GPS接收器是預(yù)先設(shè)計(jì)的標(biāo)準(zhǔn)構(gòu)件 利用標(biāo)準(zhǔn)軟件模塊 訪問標(biāo)準(zhǔn)地形數(shù)據(jù)庫 這些數(shù)據(jù)庫的數(shù)據(jù)不僅使用預(yù)定義的格式 而且被高度地壓縮以節(jié)省存儲空間 在這些訪問函數(shù)中使用標(biāo)準(zhǔn)軟件不僅節(jié)約設(shè)計(jì)時(shí)間 也較快地實(shí)現(xiàn)像數(shù)據(jù)解壓縮這樣的專用函數(shù) 55 有些構(gòu)件 即使使用標(biāo)準(zhǔn)集成電路 也必須自己設(shè)計(jì)連接它們的印刷線路板 同時(shí) 很有可能要做大量定制編程 當(dāng)然 建立嵌入式軟件模塊時(shí) 必須確保系統(tǒng)實(shí)時(shí)性良好并且在允許的范圍內(nèi)不占用更多的存儲空間 移動地圖軟件例子中的電能消耗特別重要 可能要非常小心地讀寫存儲器以減小功耗 例如 由于存儲器訪問是主要的功耗來源 存儲器事務(wù)必須精心安排以避免多次讀取同樣的數(shù)據(jù) 56 系統(tǒng)集成 只有建立構(gòu)件后才能將它們合并得到一個(gè)能運(yùn)轉(zhuǎn)的系統(tǒng) 在系統(tǒng)集成中通常可以發(fā)現(xiàn)錯誤 而好的計(jì)劃能快速找到這些錯誤 按階段架構(gòu)系統(tǒng)并且正確運(yùn)行選好的測試 經(jīng)常能更容易地找到這些錯誤 如果每次只對一部分模塊排錯 很可能更容易發(fā)現(xiàn)和識別簡單的錯誤 只有在早期修正這些簡單的錯誤 才能發(fā)現(xiàn)那些只有在系統(tǒng)高負(fù)荷時(shí)才能確定的 比較復(fù)雜或是含混的錯誤 57 必須確保在體系結(jié)構(gòu)和各構(gòu)件設(shè)計(jì)階段盡可能容易地按階段組裝系統(tǒng)和相對獨(dú)立地測試系統(tǒng)功能 因?yàn)榍度胧较到y(tǒng)使用的調(diào)試工具比在桌面系統(tǒng)中可找到的工具有限得多 因此 要在系統(tǒng)集成時(shí)發(fā)現(xiàn)問題 需要詳細(xì)地觀察系統(tǒng)以準(zhǔn)確確定錯誤 58 系統(tǒng)測試 對設(shè)計(jì)好的系統(tǒng)進(jìn)行測試 看其是否滿足規(guī)格說明書中給定的功能要求 針
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 動土安全施工協(xié)議書
- 土地合同擬訂協(xié)議書
- 醫(yī)院廉潔購銷協(xié)議書
- 區(qū)域出租合同協(xié)議書
- 2025年財(cái)務(wù)管理的核心試題及答案
- 勞務(wù)派遣內(nèi)部協(xié)議書
- 廚具餐椅轉(zhuǎn)讓協(xié)議書
- 合伙合作建房協(xié)議書
- 商住項(xiàng)目收購協(xié)議書
- 合伙合作規(guī)劃協(xié)議書
- 圍術(shù)期室性早搏處理
- 《心理健康教育》課件-關(guān)愛心靈擁抱陽光
- 腸道疾病的診療培訓(xùn)課件
- 新一代國際結(jié)算系統(tǒng)需求規(guī)格說明書(遠(yuǎn)期結(jié)售匯)V1.0
- 山東省施工現(xiàn)場監(jiān)理表格目錄及格式匯編
- 消化內(nèi)科護(hù)理試題及答案
- 下載深圳市勞動合同
- 色彩與服裝色彩搭配
- 醫(yī)療廢物的分類及處理流程PPT
- (2.6.1)-1-5使蜂鳴器鳴叫
- HY/T 0305-2021養(yǎng)殖大型藻類和雙殼貝類碳匯計(jì)量方法碳儲量變化法
評論
0/150
提交評論