




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件設(shè)計(jì)與體系結(jié)構(gòu)主講教師:1第1章軟件工程與軟件設(shè)計(jì)n 1.1 軟件工程n 1.2 軟件生存周期n 1.3 軟件開發(fā)過(guò)程模型n 1.4 軟件設(shè)計(jì)n 1.5 軟件體系結(jié)構(gòu)n 1.6 小結(jié)第1章軟件工程與軟件設(shè)計(jì)n以計(jì)算機(jī)為核心的信息社會(huì)n軟件是信息化的靈魂n以工程化方法和思想開發(fā)軟件n軟件設(shè)計(jì)是軟件開發(fā)過(guò)程中的核心活動(dòng)之一1.1軟件工程n軟件危機(jī):在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題n軟件設(shè)計(jì):計(jì)算機(jī)軟件發(fā)展到一定階段,為了應(yīng)對(duì)軟件危機(jī)n計(jì)算機(jī)軟件=程序+數(shù)據(jù)+文檔n計(jì)算機(jī)軟件是邏輯和智力產(chǎn)品,不是物理產(chǎn)品1.1軟件工程n 軟件的應(yīng)用領(lǐng)域和分類系統(tǒng)軟件實(shí)時(shí)軟件嵌入式軟件科學(xué)和工
2、程計(jì)算軟件事物務(wù)理軟件人工智能軟件個(gè)人計(jì)算機(jī)軟件1.1軟件工程n軟件危機(jī)軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。即包含兩方面的問(wèn)題: (1)如何開發(fā)軟件 (2)如何維護(hù)軟件n軟件危機(jī)的原因軟件產(chǎn)品生產(chǎn)效率較低軟件供需失衡用戶需求不明確整個(gè)軟件開發(fā)過(guò)程缺乏正確的理論指導(dǎo)軟件產(chǎn)品的規(guī)模越來(lái)越大軟件產(chǎn)品開發(fā)的復(fù)雜度越來(lái)越高1.1軟件工程n 軟件工程軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科;將系統(tǒng)的、規(guī)范的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)的全過(guò)程及上述方法的研究;是用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)和管理方法;n 軟件工程要素:方法
3、、工具、過(guò)程方法:為軟件開發(fā)提供了“如何做”的技術(shù),是完成軟件工程項(xiàng)目的技術(shù)手段工具:人類在開發(fā)軟件的活動(dòng)中智力和體力的擴(kuò)展和延伸,為軟件工程方法提供自動(dòng)或半自動(dòng)的軟件支持環(huán)境過(guò)程:將方法和工具綜合起來(lái)以達(dá)到合理、及時(shí)地進(jìn)行軟件開發(fā)的目的1.1軟件工程n 軟件工程的目標(biāo)和原則在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可復(fù)用性、可適應(yīng)性、可移植性、可跟蹤性并滿足用戶需求的軟件產(chǎn)品。抽象、信息隱藏、模塊化、局部化、一致性、完全性、可驗(yàn)證性n目標(biāo)可修改性有效性可靠性可理解性可維護(hù)性可復(fù)用性可適應(yīng)性可移植性可追蹤性n抽象 采用分層次抽象,自頂向下、逐層細(xì)化的辦法
4、控制軟件開發(fā)過(guò)程的復(fù)雜性n信息隱蔽 將模塊設(shè)計(jì)成“黑箱”,實(shí)現(xiàn)的細(xì)節(jié)隱藏在模塊內(nèi)部,不讓模塊的使用者直接訪問(wèn)。這就是信息封裝,使用與實(shí)現(xiàn)分離的原則n模塊化 如 C 語(yǔ)言程序中的函數(shù)過(guò)程,C+ 語(yǔ)言程序中的類。模塊化有助于信息隱蔽和抽象,有助于表示復(fù)雜的系統(tǒng)。n局部化 要求在一個(gè)物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算機(jī)資源,保證模塊之間具有松散的耦合,模塊內(nèi)部具有較強(qiáng)的內(nèi)聚。這有助于控制解的復(fù)雜性n確定性 軟件開發(fā)過(guò)程中所有概念的表達(dá)應(yīng)是確定的、無(wú)歧義性的、規(guī)范的。n一致性 整個(gè)軟件系統(tǒng)的各個(gè)模塊應(yīng)使用一致的概念、符號(hào)和術(shù)語(yǔ)。程序內(nèi)部接口應(yīng)保持一致。軟件和硬件、操作系統(tǒng)的接口應(yīng)保持一致。系統(tǒng)規(guī)格說(shuō)明
5、與系統(tǒng)行為應(yīng)保持一致。用于形式化規(guī)格說(shuō)明的公理系統(tǒng)應(yīng)保持一致n完全性 軟件系統(tǒng)不丟失任何重要成分,可以完全實(shí)現(xiàn)系統(tǒng)所要求功能的程度。為了保證系統(tǒng)的完備性,在軟件開發(fā)和運(yùn)行過(guò)程中需要嚴(yán)格的技術(shù)評(píng)審。n可驗(yàn)證性 開發(fā)大型的軟件系統(tǒng)需要對(duì)系統(tǒng)自頂向下、逐層分解。系統(tǒng)分解應(yīng)遵循系統(tǒng)易于檢查、測(cè)試、評(píng)審的原則,以確保系統(tǒng)的正確性。軟件工程復(fù)雜問(wèn)題子問(wèn)題1子問(wèn)題2子問(wèn)題n程序1程序2程序n軟件系統(tǒng)解決原始問(wèn)題 集成分解1.2 軟件生存周期nSoftware life cyclen軟件產(chǎn)品從形成概念開始,經(jīng)過(guò)開發(fā)、使用和維護(hù),直到最后退役的全過(guò)程稱為軟件生存周期n軟件有一個(gè)孕育、誕生、成長(zhǎng)、成熟、衰亡的生存
6、過(guò)程。這個(gè)過(guò)程即為計(jì)算機(jī)軟件的生存周期n軟件定義-軟件開發(fā)-軟件使用和維護(hù)軟件定義(系統(tǒng)分析):可行性研究(軟件計(jì)劃)、需求分析軟件開發(fā)(系統(tǒng)設(shè)計(jì)):概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件實(shí)現(xiàn) (編碼、單元測(cè)試)、軟件測(cè)試(組裝測(cè)試、確認(rèn)測(cè)試)軟件使用、維護(hù)退役n可行性研究確定要開發(fā)軟件系統(tǒng)的總目標(biāo)給出功能、性能、可靠性以及接口等方面的要求完成該軟件任務(wù)的可行性研究估計(jì)可利用的資源 、成本、效益、開發(fā)進(jìn)度制定出完成開發(fā)任務(wù)的實(shí)施計(jì)劃,連同可行性研究報(bào)告,提交管理部門審查n需求分析對(duì)用戶提出的要求進(jìn)行分析并給出詳細(xì)的定義編寫軟件需求說(shuō)明書或系統(tǒng)功能說(shuō)明書及初步的系統(tǒng)用戶手冊(cè)提交管理機(jī)構(gòu)評(píng)審n 概要設(shè)計(jì) 把各項(xiàng)
7、需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個(gè)模塊都和某些需求相對(duì)應(yīng),編寫設(shè)計(jì)說(shuō)明書,評(píng)審n 詳細(xì)設(shè)計(jì) 對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的描述,為源程序編寫打下基礎(chǔ),編寫設(shè)計(jì)說(shuō)明書,提交評(píng)審n 軟件構(gòu)造把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼,即以某一種特定程序設(shè)計(jì)語(yǔ)言表示的“源程序清單”;程序應(yīng)當(dāng)是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計(jì)相一致的。n 軟件測(cè)試單元測(cè)試,查找各模塊在功能和結(jié)構(gòu)上存在的問(wèn)題并加以糾正 集成測(cè)試,將已測(cè)試過(guò)的模塊按一定順序組裝測(cè)試確認(rèn)測(cè)試,按規(guī)定的各項(xiàng)需求,逐項(xiàng)進(jìn)行有效性確認(rèn)測(cè)試,決定已開發(fā)的軟件是否合格,能否交付用戶使用n 使用與維護(hù):在用戶特定的環(huán)境
8、中,在測(cè)試通過(guò)后移交用戶使用改正性維護(hù):運(yùn)行中發(fā)現(xiàn)軟件中的錯(cuò)誤需要修正適應(yīng)性維護(hù):為了適應(yīng)變化了的軟件工作環(huán)境,需做適當(dāng)變更完善性維護(hù):為了增強(qiáng)軟件的功能需做變更1.3 軟件開發(fā)過(guò)程模型n軟件開發(fā)過(guò)程模型 是跨越整個(gè)生存期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架 瀑布模型 原型模型 螺旋模型 統(tǒng)一軟件開發(fā)過(guò)程nW. W. Royce 1970 提出n瀑布模型,是既自頂向下結(jié)構(gòu)化開發(fā)模型n優(yōu)點(diǎn):奠定了軟件工程方法的基礎(chǔ);流水依賴;便于分工協(xié)作;推遲現(xiàn)實(shí);文檔易修改;有復(fù)審質(zhì)量保證。n缺點(diǎn):用戶需求明確困難;用戶見面晚;糾錯(cuò)慢;難于克服系統(tǒng)分析員不懂專業(yè)領(lǐng)域的知識(shí),用戶不懂計(jì)算
9、機(jī)的困難,成功率低。適合于系統(tǒng)要求明確的小系統(tǒng)。帶反饋的瀑布模型快速原型模型n rapid prototype modeln 根據(jù)用戶提出的軟件定義,快速的開發(fā)一個(gè)原型,在征求用戶對(duì)原型意見的過(guò)程中,再進(jìn)一步修改、完善,直至達(dá)成一致。模擬軟件的人機(jī)界面開發(fā)一個(gè)原型,實(shí)現(xiàn)部分功能向用戶展示正在運(yùn)行的類似軟件n 優(yōu)點(diǎn):與用戶見面快;開發(fā)成功率高,適合于需求不確定的大系統(tǒng)。n 缺點(diǎn):周期長(zhǎng),開發(fā)成本高??焖僭湍P吐菪P蚽 螺旋模型沿著螺線旋轉(zhuǎn)(一個(gè)螺旋式周期 ),在四個(gè)象限上分別表達(dá)四個(gè)方面的活動(dòng),即:n 制定計(jì)劃確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制,選定完成目標(biāo)的策略n 風(fēng)險(xiǎn)分析分析
10、所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn),風(fēng)險(xiǎn)角度分析該策略n 實(shí)施工程實(shí)施軟件開發(fā),啟動(dòng)一個(gè)開發(fā)階段 n 客戶評(píng)估評(píng)價(jià)前一步開發(fā)工作,提出修正建議,計(jì)劃下一輪的工作 n 特點(diǎn)瀑布模型+快速原型+風(fēng)險(xiǎn)分析迭代過(guò)程統(tǒng)一軟件開發(fā)過(guò)程(RUP, Rational Unified Process )是一套軟件工程過(guò)程,是一套軟件工程方法的框架,各個(gè)組織可根據(jù)自身的實(shí)際情況,以及項(xiàng)目規(guī)模對(duì)RUP進(jìn)行裁剪和修改,以制定出合乎需要的軟件工程過(guò)程。n適合與統(tǒng)一建模語(yǔ)言(UML, Unified Model Language)結(jié)合起來(lái)使用n支持六大最佳軟件開發(fā)實(shí)踐迭代式開發(fā)管理需求基于構(gòu)建的軟件體系結(jié)構(gòu)可視化建模驗(yàn)證軟
11、件質(zhì)量控制變更統(tǒng)一軟件開發(fā)過(guò)程統(tǒng)一軟件開發(fā)過(guò)程n橫軸:時(shí)間軸,表示軟件開發(fā)的順序開啟階段精化階段構(gòu)建階段產(chǎn)品化階段n縱軸:“誰(shuí)”在“何時(shí)”、“如何”去做“何事”9個(gè)工作流程各個(gè)階段實(shí)施的工作流程,在不同的時(shí)間段內(nèi)工作流所占工作量不同1.4 軟件設(shè)計(jì)n 對(duì)軟件如何被開發(fā)出來(lái)的一種規(guī)范化描述軟件需求分析和軟件設(shè)計(jì)受到重視編碼所占比例越來(lái)越少n 軟件設(shè)計(jì)的重要性對(duì)軟件需求的直接體現(xiàn)為軟件實(shí)現(xiàn)提供直接依據(jù)考慮軟件系統(tǒng)的各種約束條件并給出相應(yīng)方案決定最終軟件系統(tǒng)的質(zhì)量及早發(fā)現(xiàn)軟件設(shè)計(jì)中存在的錯(cuò)誤減少軟件修復(fù)和維護(hù)的成本1.4 軟件設(shè)計(jì)n軟件設(shè)計(jì)的特征出現(xiàn)新的問(wèn)題需要軟件來(lái)解決、解決問(wèn)題和實(shí)施 決策的過(guò)程
12、、一系列轉(zhuǎn)換過(guò)程、滿足各種約束的 過(guò)程過(guò)程、不斷演化的過(guò)程、給出一個(gè)方案、 新思路、新想法n軟件設(shè)計(jì)的要素目標(biāo)描述、設(shè)計(jì)約束、產(chǎn)品描述、設(shè)計(jì)原理、開發(fā)規(guī)劃、使用描述1.5 軟件體系結(jié)構(gòu)n軟件設(shè)計(jì)是從軟件需求到軟件實(shí)現(xiàn)的活動(dòng),它把各種軟件需求轉(zhuǎn)換為能直接實(shí)現(xiàn)的軟件結(jié)構(gòu)n軟件需求與軟件設(shè)計(jì)之間存在難以逾越的鴻溝,如何有效的將軟件需求軟化為相應(yīng)的設(shè)計(jì)?n軟件需求?軟件設(shè)計(jì)軟件實(shí)現(xiàn) 軟件體系結(jié)構(gòu)1.5 軟件體系結(jié)構(gòu)n 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)是軟件系統(tǒng)的結(jié)構(gòu),包含軟件元素、軟件元素外部可見的屬性以及這些軟件元素之間的關(guān)系;軟件體系結(jié)構(gòu)是軟件系統(tǒng)的基本組織、包含構(gòu)件、構(gòu)件之間、構(gòu)件與環(huán)境之間的關(guān)系,以及相關(guān)的設(shè)計(jì)與演化原則;軟件體系結(jié)構(gòu)是程序或系統(tǒng)中組件的結(jié)構(gòu)、組件之間的相互關(guān)系、設(shè)計(jì)的基本原則以及隨時(shí)間進(jìn)化的指導(dǎo)方針;1.5 軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的發(fā)展歷程“無(wú)體系結(jié)構(gòu)無(wú)體系結(jié)構(gòu)”設(shè)計(jì)階段設(shè)計(jì)階段萌芽階段萌芽階段以匯編語(yǔ)言進(jìn)行小規(guī)模應(yīng)用程序開以匯編語(yǔ)言進(jìn)行小規(guī)模應(yīng)用程序開發(fā)為特征發(fā)為特征以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,不關(guān)心具體的建模細(xì)節(jié),劃分了體系不關(guān)心具體的建模細(xì)節(jié),劃分了體系結(jié)構(gòu)模型與傳統(tǒng)軟件結(jié)構(gòu)的界限,該結(jié)構(gòu)模型與傳統(tǒng)軟件結(jié)構(gòu)的界限,該階段以階段以KruchtenKruchten提出的提出的“4+14+1”模型為模型為標(biāo)志標(biāo)志出現(xiàn)了從不
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合同制員工管理核心流程 清華大學(xué)人事部
- 智能交通技術(shù)項(xiàng)目合作合同
- 電子商務(wù)網(wǎng)絡(luò)安全防御技能測(cè)試卷
- 產(chǎn)品銷售代理合同書及其附件
- 2023-2024學(xué)年廣東廣州白云區(qū)五年級(jí)上冊(cè)語(yǔ)文期末試卷及答案
- 2025年蚌埠市國(guó)有資本運(yùn)營(yíng)控股集團(tuán)有限公司招聘4人筆試參考題庫(kù)附帶答案詳解
- 2025年湖南興湘投資控股集團(tuán)有限公司春季校園招聘28人筆試參考題庫(kù)附帶答案詳解
- 廢棄礦山修復(fù)策略及實(shí)施方案解析
- 辦公樓改造項(xiàng)目可行性研究報(bào)告分析
- 居家辦公合同協(xié)議書
- 肛腸科的中醫(yī)特色護(hù)理【醫(yī)院中醫(yī)護(hù)理及保健知識(shí)】
- 夏至?xí)r節(jié)中醫(yī)養(yǎng)生
- 2023年江蘇師范大學(xué)科文學(xué)院招聘考試真題
- 《高溫熔融金屬吊運(yùn)安全規(guī)程》(AQ7011-2018)
- TCR-T療法簡(jiǎn)介演示
- 強(qiáng)國(guó)必須強(qiáng)軍軍強(qiáng)才能國(guó)安
- 農(nóng)貿(mào)市場(chǎng)規(guī)劃設(shè)計(jì)方案
- 出租屋消防培訓(xùn)課件
- 城市社會(huì)保障
- 變電安全典型案例培訓(xùn)
- 新視野大學(xué)英語(yǔ)(第四版)讀寫教程4(思政智慧版)課件 Unitr 4 Man and nature Section A
評(píng)論
0/150
提交評(píng)論