讀書筆記-軟件工程基礎(chǔ)知識課件_第1頁
讀書筆記-軟件工程基礎(chǔ)知識課件_第2頁
讀書筆記-軟件工程基礎(chǔ)知識課件_第3頁
讀書筆記-軟件工程基礎(chǔ)知識課件_第4頁
讀書筆記-軟件工程基礎(chǔ)知識課件_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件工程基礎(chǔ)知識軟件需求就是系統(tǒng)必須完成的事,以及必須具備的品質(zhì)。包括:功能需求、非功能需求、設(shè)計約束3方面需求工程包括需求開發(fā)和需求管理兩大工作。需求開發(fā)包括需求捕獲、需求分析、編寫規(guī)格說明書、需求驗證四個階段需求管理包括定義需求基線、處理需求變更、需求跟蹤等方面1徐二毛的讀書筆記軟件工程基礎(chǔ)知識2徐二毛的讀書筆記業(yè)務(wù)需求項目試圖/范圍文檔用戶需求質(zhì)量屬性SRS其它非功能需求設(shè)計約束系統(tǒng)需求功能需求用例文檔軟件工程基礎(chǔ)知識需求調(diào)查與問題定義WhatWhereHow需求捕獲技術(shù):1、用戶訪談(形式包括結(jié)構(gòu)化【準備好問題】與非結(jié)構(gòu)化【粗略想法】)準備問題——》訪談技巧——》應(yīng)該詢問的問題2、用戶調(diào)查3、現(xiàn)場觀摩4、文檔考古5、聯(lián)合討論會6-18人,1-5小時需求捕獲策略:迭代3徐二毛的讀書筆記軟件工程基礎(chǔ)知識可行性研究工作的任務(wù)技術(shù)可行性經(jīng)濟可行性(投資回報率)社會可行性(符合企業(yè)實際情況?符合員工利益?符合相關(guān)法規(guī)和行業(yè)規(guī)范)可行性研究工作的步驟:核實問題定義和目標研究分析現(xiàn)有系統(tǒng)(舊的軟件系統(tǒng)和舊的非計算機系統(tǒng))為新系統(tǒng)建模(建模的目的是為了獲得一個對新的系統(tǒng)的框架性認識、概念性認識)系統(tǒng)上下文關(guān)系范圍圖實體-關(guān)系圖用例模型域模型(OO思想)IPO表(輸入、處理、輸出)客戶復(fù)核4徐二毛的讀書筆記軟件工程基礎(chǔ)知識可行性研究工作的步驟:提出并評價解決方案確定最終推薦的解決方案(是否可行?什么地方最合理?)成本效益分析有兩個部分:A、成本估算

準確估算工作量:歷史數(shù)據(jù)和經(jīng)驗?zāi)P汀竟δ茳c分析、COCOMO分析ConstructiveCostModel,中文為構(gòu)造性成本模型】B、效益分析草擬開發(fā)計劃以書面的形式提交《可行性分析報告》并進行審查效益分析貨幣時間價值F=P(1+i)F:代表未來貨幣價值P:代表貨幣現(xiàn)在的價值i:代表年利率n:代表年數(shù)投資回收期:多少年才能將投資回收純收入投資回報率(ROI)ReturnOnInvestment5徐二毛的讀書筆記軟件工程基礎(chǔ)知識投資回報率(ROI)

ReturnOnInvestmentP=F1/(1+j)+F2/(1+j)+…+F/(1+j)P代表總投資n代表系統(tǒng)使用壽命j就是投資回報率F是第i年年底收益6徐二毛的讀書筆記軟件工程基礎(chǔ)知識需求建模用圖形表示需求就是需求建模,獲得分析模型。有助于檢測需求的不一致性、模糊性、錯誤及遺漏需求分析方法結(jié)構(gòu)化分析方法(SA,StructuredAnalysis)軟系統(tǒng)分析方法面向?qū)ο蠓治龇椒?OOA)面向問題域分析法(ProblemDomainOrientedAnalysis,PDOA)7徐二毛的讀書筆記軟件工程基礎(chǔ)知識結(jié)構(gòu)化分析包括如下工具:數(shù)據(jù)流圖(DFD,DataFlowDiagram)數(shù)據(jù)字典(DD)結(jié)構(gòu)化語言(SL)判定表判定樹如何做結(jié)構(gòu)化分析需求工作:研究“物質(zhì)環(huán)境”建立系統(tǒng)邏輯模型劃清人機界限數(shù)據(jù)流圖的五個基本元素過程實體數(shù)據(jù)存儲數(shù)據(jù)流實時連接結(jié)構(gòu)化分析的思路是依賴于數(shù)據(jù)流圖進行自頂而下的分析。課本P27頁的圖片有問題。8徐二毛的讀書筆記軟件工程基礎(chǔ)知識數(shù)據(jù)流圖事例:9徐二毛的讀書筆記Context圖就是頂層數(shù)據(jù)流圖,所以它的組成元素和數(shù)據(jù)流圖一致。上下文關(guān)系范圍圖把需求的范圍界定清洗,再通過數(shù)據(jù)流圖進行細化分解,關(guān)注過程編號規(guī)則,關(guān)注輸入輸出的一致性,否則就會存在明顯錯誤,且關(guān)注DFD0層圖的意思,不是頂層,而是對頂層的分解。DFD0層圖中不會出現(xiàn)0過程。軟件工程基礎(chǔ)知識決策表實例:例:問題要求:”……對功率大于50馬力的機器、維修記錄不全或已運行10年以上的機器,應(yīng)給予優(yōu)先的維修處理……”

。這里假定,“維修記錄不全”和“優(yōu)先維修處理”均已在別處有更嚴格的定義。請建立判定表10徐二毛的讀書筆記解答:①確定規(guī)則的個數(shù):這里有3個條件,每個條件有兩個取值,故應(yīng)有2*2*2=8種規(guī)則。②列出所有的條件茬和動作茬:③填人條件項。(二進制的真值表)。④填人動作樁和動作頂。這樣便得到形如圖的初始判定表。軟件工程基礎(chǔ)知識決策表實例:11徐二毛的讀書筆記軟件工程基礎(chǔ)知識數(shù)據(jù)字典符號:12徐二毛的讀書筆記軟件工程基礎(chǔ)知識實體關(guān)系圖:在E-R圖中,我們用一個圓角矩形表示實體,而在數(shù)據(jù)流圖中,我們有一個直角矩形表示外部實體。實體也有實例,表示實體的一個具體值,成為實體實例13徐二毛的讀書筆記學(xué)生學(xué)生學(xué)號姓名地址學(xué)生學(xué)號number姓名Text(10)地址Text(30)學(xué)生學(xué)號number(primarykey)姓名Text(10)地址Text(30)軟件工程基礎(chǔ)知識基數(shù):通常情況下我們需要對關(guān)系的多重性進行描述?;鶖?shù)定義了一個實體相對于另一個關(guān)聯(lián)實體的某個具體值得最小和最大具體值數(shù)量14徐二毛的讀書筆記正好一個(1…1)0或一個(0…1)1或多個(1…*)0或多個(0…*)軟件工程基礎(chǔ)知識面向問題域的分析方法(PDOA)和SA、OOA相比較,PDOA更多地強調(diào)描述,而較少強調(diào)建模,PDOA的描述主要包括如下兩方面:

關(guān)注問題域

關(guān)注解系統(tǒng)的待求行為問題框架是PDOA的核心元素15徐二毛的讀書筆記軟件工程基礎(chǔ)知識軟件設(shè)計基本原則信息隱蔽原則提升軟件可維護性、可靠性模塊獨立性兩個準則度量模塊獨立性:模塊間耦合模塊內(nèi)聚模塊內(nèi)各元素之間的聯(lián)系越緊密,內(nèi)聚性越高,它與其它模塊之間的耦合性就減低,獨立性就越強,所以高內(nèi)聚、低耦合就是獨立性好的模塊,在設(shè)計模塊時爭取高內(nèi)聚內(nèi)聚性的7種類型功能內(nèi)聚(FC,FunctionCohesion)信息內(nèi)聚(IC,InformationCohesion)通信內(nèi)聚(CC,ComunicationCohesion)過程內(nèi)聚(PC,ProceduralCohesion)時間內(nèi)聚(經(jīng)典內(nèi)聚,ClassicalCohesion)邏輯內(nèi)聚(LC,LogicalCohesion)巧合內(nèi)聚(偶然內(nèi)聚CoincidentalCohesion)/ko??ns??d?ntl:/FICPCLC16徐二毛的讀書筆記軟件工程基礎(chǔ)知識耦合的強度依賴于以下幾個方面:模塊間互相調(diào)用模塊間傳遞數(shù)據(jù)的量模塊間互相施加的控制模塊間接口復(fù)雜程度一般模塊之間可能的連接方式有7種,它們構(gòu)成耦合性的7中類型:非直接耦合(NodirectiveCoupling)數(shù)據(jù)耦合(DataCoupling)標記耦合(StampCoupling)控制耦合(ControlCoupling)外部耦合(ExternalCoupling)公共耦合(CommonCoupling)內(nèi)容耦合(ContentCoupling)NDSC,ECC17徐二毛的讀書筆記軟件工程基礎(chǔ)知識結(jié)構(gòu)化設(shè)計方法是基于模塊化、自頂向下逐層細化、結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技術(shù)發(fā)展而來。系統(tǒng)結(jié)構(gòu)圖(SC,StructuredChart)重點反映模塊間的隸屬關(guān)系,而程序流程圖重點表達程序執(zhí)行的順序,以及執(zhí)行順序所以來的條件,結(jié)構(gòu)圖著眼于軟件系統(tǒng)的總體架構(gòu),只考慮模塊的作用,以及它和上下級模塊的關(guān)系,而程序流程圖則用來表達執(zhí)行程序的具體算法。18徐二毛的讀書筆記系統(tǒng)結(jié)構(gòu)圖中有4中類型模塊:傳入模塊:從下級取數(shù)【邏輯輸入數(shù)據(jù)流】,傳給上級傳出模塊:從上級取數(shù)【邏輯輸出數(shù)據(jù)流】,傳給下級變更模塊:從上級取數(shù)【變換數(shù)據(jù)流】,傳給上級協(xié)調(diào)模塊:從下級取數(shù),傳給下級。協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)軟件工程基礎(chǔ)知識系統(tǒng)結(jié)構(gòu)圖中的4中主要成分:模塊(矩形)模塊間的調(diào)用關(guān)系(兩個模塊,一上一下)模塊間的通信(長箭頭旁的短箭頭)輔助控制符號(條件調(diào)用棱形箭頭,循環(huán)調(diào)用環(huán)狀箭頭)19徐二毛的讀書筆記循環(huán)調(diào)用條件調(diào)用軟件工程基礎(chǔ)知識常用系統(tǒng)結(jié)構(gòu)圖有三種:變換型系統(tǒng)結(jié)構(gòu)圖物理輸入——》邏輯輸入——》邏輯輸出——》物理輸出事務(wù)型系統(tǒng)結(jié)構(gòu)圖混合型系統(tǒng)結(jié)構(gòu)圖詳細參考《面向數(shù)據(jù)流的設(shè)計方法.ppt》20徐二毛的讀書筆記軟件工程基礎(chǔ)知識用戶界面設(shè)計最好具備如下三點:可使用性靈活性復(fù)雜性和可靠性21徐二毛的讀書筆記軟件設(shè)計評審:設(shè)計負責(zé)人:提交設(shè)計報告待審稿高級管理人員:確定主審員,審批評審記錄主審員:確定評審組,確定評審結(jié)果并填寫評審記錄評審組軟件工程基礎(chǔ)知識軟件測試:為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,是根據(jù)開發(fā)階段的需求規(guī)格說明及程序內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批測試用例,并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程22徐二毛的讀書筆記“盡早地和不斷地進行軟件測試”應(yīng)該是軟件開發(fā)者的座右銘;程序員應(yīng)該避免檢查自己的程序;測試用例應(yīng)該有對應(yīng)的輸入輸出兩部分組成設(shè)計測試用例時,輸入條件應(yīng)該包括合理的和不合理的。嚴格執(zhí)行測試計劃,排除測試的隨意性軟件工程基礎(chǔ)知識-測試用例設(shè)計測試用例:是為特定目標開發(fā)的測試輸入、執(zhí)行條件、預(yù)期結(jié)果的集合設(shè)計測試用例通常有兩種方法:黑盒測試(功能測試、數(shù)據(jù)驅(qū)動測試),軟件接口測試、功能測試、性能測試,是否有數(shù)據(jù)結(jié)構(gòu)錯誤或者外部信息訪問錯誤不考慮程序內(nèi)部邏輯和特性,只依據(jù)程序的需求規(guī)格說明書白盒測試(結(jié)構(gòu)測試、邏輯驅(qū)動測試)允許利用程序的內(nèi)部邏輯結(jié)構(gòu)等相關(guān)信息,對程序所有邏輯路徑進行測試。程序模塊進行測試,測試內(nèi)部結(jié)構(gòu)的有效性23徐二毛的讀書筆記黑盒測試的測試用例設(shè)計方法需要有如下幾種:等價類劃分邊界值分析錯誤推測發(fā)因果圖白盒測試的測試用例設(shè)計方法:邏輯覆蓋法:語句覆蓋、條件覆蓋、判斷覆蓋、判斷-條件覆蓋、條件組合覆蓋、路徑覆蓋軟件工程基礎(chǔ)知識-軟件測試策略軟件開發(fā)的過程是自頂向下的,而軟件測試過程正好相反——自底向上單元測試(模塊測試通常在編碼階段進行)集成測試(組裝測試)確認測試(步驟:有效性測試——》軟件配置復(fù)查——》進行驗收測試)系統(tǒng)測試(把軟件放到整個計算機環(huán)境下,包括軟硬件平臺、某些支持軟件、數(shù)據(jù)和人員,真實環(huán)境)α測試β測試(在軟件交付使用之后,用戶將如何實際使用程序,對于開發(fā)者而言是不知道的,通常在軟件發(fā)布上市之前需要進行α測試β測試)24徐二毛的讀書筆記驅(qū)動模塊是指在單元測試和集成測試中,協(xié)調(diào)輸入輸出的測試程序樁模塊指模擬被調(diào)用單元的程序。單元測試可以測試:模塊接口、局域數(shù)據(jù)結(jié)構(gòu)、獨立路徑、錯誤處理路徑、邊界條件五方面集成測試時模塊組裝的兩種方式:一次性組裝方式、增殖式組裝方式。集成測試時應(yīng)當確定關(guān)鍵模塊,它具有如下特征:滿足某些軟件需求;在程序模塊結(jié)構(gòu)中位于較高層次;較復(fù)雜易發(fā)生錯誤;有明確定義的性能要求α測試:用戶在開發(fā)環(huán)境下測試,測試的目的是評價FLURPS(Function,Localization,Usable,Reliability,Performace,Support)功能、局域化、可使用性、可靠性、性能和支持。重視產(chǎn)品的界面和特色。β測試開發(fā)者通常不在現(xiàn)場,必須在α測試達到一定的可靠程度是才能開始。著重在于測試產(chǎn)品的支持性,處在軟件測試的最后階段,手冊才能完全定稿。β測試在真實生產(chǎn)環(huán)境下進行軟件工程基礎(chǔ)知識-軟件測試類型功能測試可靠性測試:評價指標有兩個(平均故障間隔時間MTBF,MeanTimeBetweenFailure;平均故障修復(fù)時間MTTR,MeanTimeToRepair)強度測試(敏感性測試)性能測試恢復(fù)測試啟動/停止測試配置測試安全性測試可使用性測試安裝測試過程測試容量測試文檔測試兼容性測試25徐二毛的讀書筆記面向?qū)ο蟮能浖y試該模型包括:OOA

Test

OOD

Test

OOP

Test

oo單元測試

oo集成測試

oo系統(tǒng)測試軟件工程基礎(chǔ)知識-軟件維護軟件具有可維護性的三個因素:可理解性——子系統(tǒng)--〉模塊--〉功能--〉內(nèi)部處理過程可測試性可修改性軟件系統(tǒng)的文檔可分為:用戶文檔(描述軟件功能和使用方法)和系統(tǒng)文檔(需求規(guī)格說明書、設(shè)計報告、測試計劃等)兩大類采用軟件工程提升軟件可維護性注重可維護性的開發(fā)過程跨平臺、高內(nèi)聚低耦合、加強注釋、面向?qū)ο蟆y試文檔齊全、維護時的配置管理嚴格26徐二毛的讀書筆記可維護性度量:M=1/(1+MTTR)M:可維護指標MTTR:平均修復(fù)時間軟件維護分類:糾錯性維護(21%)、完善性維護(50%)、預(yù)防性維護(4%)、適應(yīng)性維護(25%)軟件維護活動分為:生產(chǎn)類(確認維護需求、設(shè)計、編碼、測試、培訓(xùn))和非生產(chǎn)類(熟悉原軟件編碼、理解原有軟件結(jié)構(gòu)等)軟件維護工作量模型:M=P+KM:維護用的總工作量P:生產(chǎn)類活動的工作量K:為經(jīng)驗常數(shù)C:軟件復(fù)雜度D:維護人員對軟件的熟悉程度軟件工程基礎(chǔ)知識-

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論