




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