軟件工程導(dǎo)論(整理).doc_第1頁
軟件工程導(dǎo)論(整理).doc_第2頁
軟件工程導(dǎo)論(整理).doc_第3頁
軟件工程導(dǎo)論(整理).doc_第4頁
軟件工程導(dǎo)論(整理).doc_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

一、軟件危機與軟件工程1、軟件危機 軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。(正常、不正常運行軟件都具有這種問題) 2、軟件危機的原因1)軟件本身特點造成;程序規(guī)模龐大;程序復(fù)雜性隨著程序規(guī)模的增加而呈指數(shù)上升。2)軟件開發(fā)與維護的方法不正確。主要表現(xiàn): (a)忽視軟件需求分析; (b)認為軟件開發(fā)就是寫程序并使之運行; (c)輕視軟件維護;3、解決軟件危機的途徑:1、組織管理:軟件開發(fā)不是某種個體勞動的神秘技巧,軟件開發(fā)應(yīng)該是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目。2、方法:應(yīng)該推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,并且研究探索更好更有效的技術(shù)和方法,盡快消除在計算機系統(tǒng)早期發(fā)展階段形成的一些錯誤概念和做法。3、工具:應(yīng)該開發(fā)和使用更好的軟件工具。在軟件開發(fā)的每個階段都有許多繁瑣重復(fù)的工作需要做,在適當(dāng)?shù)能浖ぞ咻o助下,開發(fā)人員可以把這類工作做得既快又好。4、軟件工程包括哪7條基本原理?1. 用分階段的生命周期計劃嚴格管理;2. 堅持進行階段評審;3. 實行嚴格的產(chǎn)品控制;4. 采用現(xiàn)代程序設(shè)計技術(shù);5. 結(jié)果能清楚地審查;6. 開發(fā)小組的人員應(yīng)該少而精;7. 承認不斷改進軟件工程實踐的必要性。5、軟件開發(fā)流程?1)、問題定義2)、可行性研究3)、需求分析4)、總體設(shè)計5)、詳細設(shè)計6)、編碼和單元測試7)、綜合測試8)、軟件維護6、軟件開發(fā)模型瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、rational統(tǒng)一過程、敏捷過程與極限編程、微軟過程二、可行性研究1. 系統(tǒng)流程圖 系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具,它的基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里面的每個部件(程序、文件、數(shù)據(jù)庫、表格、人工過程等),表達信息在各個部件之間流動的情況。 2. 數(shù)據(jù)流圖 數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動和處理的情況。3. 數(shù)據(jù)字典 數(shù)據(jù)字典:對數(shù)據(jù)流圖中包含的所有元素的定義的集合;三、需求分析1、需求分析目的及作用需求分析是軟件分析時期的最后一個階段,它的基本任務(wù)是準確地回答“系統(tǒng)必須做什么?”這個問題。需求分析的作用是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。2、需求分析的過程1)、 訪談 正式訪談:系統(tǒng)分析員提出事先準備好的問題。 非正式訪談:提出一些用戶可以自由回答的開放性問題,鼓勵被訪者說出 自己的想法。 需要訪問大量人員時,利用調(diào)查表訪問較佳。2) 、面向數(shù)據(jù)流自頂向下求精 借助數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO圖等,細化、完善詳細的數(shù)據(jù)流圖,等到各處理環(huán)節(jié)對應(yīng)的功能。3) 、簡易的應(yīng)用規(guī)格說明技術(shù) 面向團隊的需求收集法: (用戶與開發(fā)者配合)l 初步訪談;l 開發(fā)者和用戶分別寫出“產(chǎn)品需求”;l 開會討論,各自展示需求列表;l 得出一致意見,為需求列表制定小型規(guī)格說明;l 根據(jù)會議成果,起草完整的軟件需求規(guī)格說明。4)、快速建立軟件原型 快速建立能演示目標系統(tǒng)主要功能的程序。(1)第四代技術(shù) 包括:數(shù)據(jù)庫查詢和報表語言、程序和應(yīng)用系統(tǒng)生成器以及其他非常高級的非過程語言,其可以快速生成可執(zhí)行代碼(2)可重用的軟件構(gòu)件使用一組已有的軟件構(gòu)件來裝配原型 (3)形式化規(guī)格說明和原型環(huán)境四、總體設(shè)計1、軟件設(shè)計軟件設(shè)計一般包括( 總體設(shè)計 )和詳細設(shè)計階段等兩個階段,在軟件設(shè)計過程中應(yīng)該遵循的基本原理和相關(guān)概念有( 模塊化 )、( 抽象 )、( 逐步求精 )、( 信息隱藏和局部化 )和( 模塊獨立 )。2、面向數(shù)據(jù)流的設(shè)計方法面向數(shù)據(jù)流的軟件設(shè)計方法,一般是把數(shù)據(jù)流圖中數(shù)據(jù)流劃分為( 變換流 )和( 事務(wù)流 ),再將數(shù)據(jù)流圖映射為軟件結(jié)構(gòu)。3、啟發(fā)式規(guī)則1) 改進軟件結(jié)構(gòu)提高模塊獨立性2) 模塊規(guī)模應(yīng)該適中3) 深度、寬度、扇入和扇出都應(yīng)適當(dāng)4) 模塊的作用域應(yīng)該在控制域之內(nèi)5) 力爭降低模塊接口的復(fù)雜程度6) 設(shè)計單入口單出口的模塊7) 模塊功能應(yīng)該可以預(yù)測4、模塊間深度:表示軟件結(jié)構(gòu)中控制的層數(shù)、往往能粗略的標志一個系統(tǒng)的大小和復(fù)雜程度。寬度:是軟件結(jié)構(gòu)內(nèi)同一層次上的模塊總數(shù)的最大值。寬度越大系統(tǒng)月復(fù)雜扇出:是一個模塊直接控制(調(diào)用)的模塊數(shù)目,扇出過大意味著模塊過分復(fù)雜,需要控制和協(xié)調(diào)過多的下級模塊扇入:表明有多少個上級模塊直接調(diào)用它,扇入越大則共享該模塊的上級模塊數(shù)目越多。作用域:為受該模塊內(nèi)一個判定影響的所有模塊集合。七、測試1、測試:為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤測試方案;成功的測試時發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。2、測試種類(對象):單元測試(模塊)、白盒測試(結(jié)構(gòu)測試)、黑盒測試(軟件功能)、集成測試(發(fā)現(xiàn)與接口有關(guān)的問題)、確認測試(驗證軟件的有效性)3、調(diào)試:作為成功測試的后果出現(xiàn),也就是說,調(diào)試時在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。八、軟件維護1、軟件維護:在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程2、軟件維護特點1)機構(gòu)化維護與非結(jié)構(gòu)化維護差別巨大:非結(jié)構(gòu)化維護、結(jié)構(gòu)化維護2)維護代價高昂3)維護的為題很多九、面向?qū)ο蠓椒▽W(xué)引論:1、面向?qū)ο螅杭仁褂脤ο笥惺褂妙惡屠^承等機制,而且對象之間僅能通過傳遞消息實現(xiàn)彼此通信。2、三大模型:對象模型、動態(tài)模型、功能模型。十一、面向?qū)ο笤O(shè)計:1、面向?qū)ο笤O(shè)計準則1). 模塊化面向?qū)ο蟮能浖_發(fā)模式,支持了系統(tǒng)模塊化的原則:對象就是模塊。它把數(shù)據(jù)結(jié)構(gòu)和操作(方法)緊密地結(jié)合在一起構(gòu)成模塊。2). 抽象 類實際上是一種抽象數(shù)據(jù)類型,它對外開放的公共接口構(gòu)成了類的規(guī)格說明(協(xié)議),這種接口規(guī)定了外界可以使用的合法操作符,利用這些操作符可以對類的實例中包含的數(shù)據(jù)進行操作。3). 信息隱蔽 在面向?qū)ο蠓椒ㄖ校畔㈦[蔽通過對象的封裝性實現(xiàn):類結(jié)構(gòu)分離了類的接口與類的實現(xiàn),從而支持了信息隱蔽。4.) 弱耦合 弱的耦合可以提高軟件模塊的獨立性,避免某一部分模塊發(fā)生變化對其它模塊有較大的影響。5.) 強內(nèi)聚 面向?qū)ο笤O(shè)計中存在三種內(nèi)聚: A服務(wù)內(nèi)聚:一個服務(wù)應(yīng)該完成一個且完成一個功能。 B類內(nèi)聚:一個類應(yīng)該只有一個用途,它的屬性和服務(wù)應(yīng)該是高內(nèi)聚的。 C一般特殊內(nèi)聚:即基類派生類的內(nèi)聚。6.) 可重用 使用已經(jīng)存在的類(包括開發(fā)環(huán)境提供的類庫,及以往開發(fā)相似系統(tǒng)時創(chuàng)建的類),可以提高軟件重用性,提高軟件生產(chǎn)率。十二、面向?qū)ο髮崿F(xiàn)語言及工具1、簡述選擇面向?qū)ο笳Z言時應(yīng)該著重考慮哪4個實際因素? 1. 將來能否占主導(dǎo)地位 2. 可重用性 3. 類庫和開發(fā)環(huán)境4. 其他因素 有否提供技術(shù)支持?提供開發(fā)人員什么開發(fā)平臺?對機器性能的需求?集成已有軟件的容易程度2、良好的向?qū)ο蟪绦蛟O(shè)計風(fēng)格主要有哪些準則? 三種準則:1、 提高可重用性 2、提高可擴充性 3、提高健壯性 十三、管理技術(shù):1、軟件配置:軟件配置管理是在軟件的整個生命期內(nèi)管理變化的一組活動,具體說這組活動用來標識變化、控制變化、確保適當(dāng)?shù)膶崿F(xiàn)變化、向需要知道這類信息的人報告變化。2、簡述保證軟件質(zhì)量的三個

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論