資源描述:
《軟件工程基礎(chǔ)課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、二級公共基礎(chǔ)知識第3章軟件工程基礎(chǔ)內(nèi)容提要軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書。結(jié)構(gòu)化設(shè)計方法,總體設(shè)計與詳細設(shè)計。軟件測試的方法,白盒測試與黑盒測試,測試用例設(shè)計,軟件測試的實施,單元測試、集成測試和系統(tǒng)測試。程序的調(diào)試23.1軟件工程基本概念3.1.1軟件定義與軟件特點1.軟件的定義和組成定義:計算機軟件(Software)是計算機系統(tǒng)中與硬件相互依賴的另一部分。組成:程序數(shù)據(jù)文檔國標(GB)定義與計算機系統(tǒng)的操作有關(guān)的計算機程序、規(guī)程、規(guī)則,以及可能有的文
2、件、文檔及數(shù)據(jù)。43.1.1軟件定義與軟件特點(續(xù))2.軟件的特點軟件是一種邏輯實體,而不是具體的物理實體,具有抽象性軟件沒有明顯的制造過程。對軟件的質(zhì)量控制,必須在軟件開發(fā)方面下功夫軟件不存在老化問題,但存在退化問題,必須要修改和維護對計算機系統(tǒng)有著依賴性——軟件移植的問題軟件復(fù)雜性高,開發(fā)和維護成本高軟件開發(fā)涉及諸多社會因素53.1.1軟件定義與軟件特點(續(xù))3.軟件的分類應(yīng)用軟件系統(tǒng)軟件操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)設(shè)備驅(qū)動程序……支撐軟件63.1.2軟件危機與軟件工程1.軟件危機軟件工程源自于軟件危機主要表現(xiàn):軟件需求的增長得不到滿足軟件
3、開發(fā)成本和進度無法控制軟件質(zhì)量難以保證軟件不可維護或維護程度非常低軟件成本不斷提高軟件開發(fā)生產(chǎn)效率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長歸結(jié)為成本、質(zhì)量和生產(chǎn)率等問題73.1.2軟件危機與軟件工程2.軟件工程的產(chǎn)生與定義軟件工程學——工程學的新興領(lǐng)域定義:國標(GB):應(yīng)用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序。德國人FritzBauer:軟件工程是建立并使用完善的工程化原則,以較經(jīng)濟的手段獲取能在實際機器上有效運行的可靠軟件的一系統(tǒng)方法。IEEE:將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件開發(fā)、運行和維護的
4、過程,即將工程應(yīng)用于軟件中。主要思想:在軟件開發(fā)過程中需要應(yīng)用工程化原則的重要性83.1.2軟件危機與軟件工程2.軟件工程的產(chǎn)生與定義軟件工程3個要素:方法工具過程93.1.3軟件工程過程與軟件生命周期1.軟件工程過程P(Plan)——軟件規(guī)格說明D(Do)——軟件開發(fā)C(Check)——軟件確認A(Action)——軟件演進103.1.3軟件工程過程與軟件生命周期軟件產(chǎn)品從提出、實現(xiàn)、使用維護、停止使用到退役的過程3個階段6個階段工作113.1.3軟件工程過程與軟件生命周期定義階段制定計劃:”能做嗎?“需求分析:“做什么?”開發(fā)階段:軟
5、件設(shè)計:“如何做?”,分為概要設(shè)計和詳細設(shè)計兩個階段。軟件實現(xiàn):“實現(xiàn)”,編碼。軟件測試:”做的怎么樣?“運行維護階段使用,不斷維護123.1.4軟件工程的目標與原則1.軟件工程的目標成功的項目:成本功能移植維護費用按時及時交付目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品133.1.4軟件工程的目標與原則2.軟件工程學的范疇143.1.4軟件工程的目標與原則3.軟件工程的原則抽象信息隱蔽模塊化局部化確定性一致性完備性可驗證性153.1.
6、5軟件開發(fā)工具與軟件開發(fā)環(huán)境1.軟件開發(fā)工具協(xié)助開發(fā)人員進行軟件開發(fā)活動所使用的軟件或環(huán)境需求分析工具、設(shè)計工具、編碼工具、排錯工具、測試工具等。2.軟件開發(fā)環(huán)境全面支持軟件開發(fā)全過程的軟件工具的集合計算機輔助軟件工程:CASE163.2結(jié)構(gòu)化分析方法3.2.1需求分析與需求分析方法1.需求分析定義:任務(wù):導出目標系統(tǒng)的邏輯模型,解決“做什么”的問題全面理解用戶的各項要求準確地表達各項要求主要工作:需求獲取需求分析編寫需求規(guī)格說明書需求審評183.2.1需求分析與需求分析方法2.需求分析方法結(jié)構(gòu)化分析方法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA)
7、面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)面向?qū)ο蠓治龇椒ǎ∣OA)靜態(tài)分析方法動態(tài)分析方法193.2.2結(jié)構(gòu)化分析方法1.關(guān)于結(jié)構(gòu)化分析方法結(jié)構(gòu)化程序設(shè)計理論在需求分析階段的運用面向數(shù)據(jù)流進行需求分析的方法自頂向下、逐層分解主要工具:數(shù)據(jù)流圖、數(shù)據(jù)字典203.2.2結(jié)構(gòu)化分析方法2.結(jié)構(gòu)化分析的常用工具數(shù)據(jù)流圖(DFD)數(shù)據(jù)字典判定樹判定表213.2.2結(jié)構(gòu)化分析方法數(shù)據(jù)流圖223.2.2結(jié)構(gòu)化分析方法數(shù)據(jù)流圖:基本圖形元素233.2.2結(jié)構(gòu)化分析方法數(shù)據(jù)流圖:分層數(shù)據(jù)流圖243.2.2結(jié)
8、構(gòu)化分析方法2.結(jié)構(gòu)化分析的常用工具數(shù)據(jù)字典結(jié)構(gòu)化分析方法的核心對數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋判定樹判定樹判定表253.2.3軟件需求規(guī)格說明書需求分析階段的最后成果作用:便于用