資源描述:
《第31講程序設(shè)計(jì)與軟件開發(fā)基礎(chǔ)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、第31講程序設(shè)計(jì)與軟件開發(fā)基礎(chǔ)(五)教學(xué)目標(biāo)及基本要求:掌握軟件工程的基本概念,理解結(jié)構(gòu)化分析方法和結(jié)構(gòu)化設(shè)計(jì)方法,能利用這兩種方法提供的常用工具解決實(shí)際問題。教學(xué)重點(diǎn):軟件工程的基本概念,數(shù)據(jù)流圖,結(jié)構(gòu)化分析方法使用的常用工具。教學(xué)難點(diǎn):數(shù)據(jù)流圖教學(xué)內(nèi)容:1.軟件工程的基本概念2.結(jié)構(gòu)化分析方法教學(xué)時(shí)間:1學(xué)時(shí)主要內(nèi)容:7.4軟件工程基礎(chǔ)7.4.1軟件工程的基本概念1.軟件的定義和特點(diǎn)(1)定義計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)和相關(guān)文檔的集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計(jì)語言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語句)序列。數(shù)
2、據(jù)是使程序正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。(2)特點(diǎn)(1)表現(xiàn)形式不同:軟件是邏輯產(chǎn)品,具有很高的抽象性,缺乏可見性;硬件是物理部件,看得見、摸得著。(2)生產(chǎn)方式不同:軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程,一旦研制成功可以大量復(fù)制。(3)維護(hù)不同:軟件在運(yùn)行、使用期間不存在磨損、老化問題。(4)要求不同:硬件產(chǎn)品允許有誤差,而軟件產(chǎn)品卻不允許有誤差。(5)成本不同:軟件復(fù)雜性高,成本昂貴。另外軟件開發(fā)還涉及諸多的社會(huì)因素。2.軟件危機(jī)和軟件工程(1)軟件危機(jī)軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。實(shí)際上,幾乎
3、所有的軟件都不同程度地存在這些問題。具體地說,軟件危機(jī)主要表現(xiàn)在以下幾個(gè)方面。(1)軟件需求的增長得不到滿足。(2)軟件開發(fā)成本和進(jìn)度無法控制。(3)軟件質(zhì)量難以保證。(4)軟件不可維護(hù)或維護(hù)程度非常低。(5)軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。(2)軟件工程軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。它的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則。軟件工程的核心思想是把軟件產(chǎn)品看作是一個(gè)工程產(chǎn)品來處理。即把工程化的概念引入軟件生產(chǎn)當(dāng)中。代表的有結(jié)構(gòu)化的方法和面向?qū)ο蠓椒?。軟件工程包?個(gè)要素,即方法、工具和過程。
4、方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理、文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理。3.軟件工程過程與軟件生命周期(1)軟件工程過程軟件工程過程是把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)。它有兩方面的內(nèi)涵。其一,軟件工程過程是指為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動(dòng)。它通常包含4種基本活動(dòng)。①P(Plan):軟件規(guī)格說明。②D(Do):軟件開發(fā)。③C(Check):軟件確認(rèn)。④A(Action):軟件演進(jìn)。其二,從軟件開發(fā)的觀點(diǎn)看,它是使用適當(dāng)?shù)馁Y源為開發(fā)軟件進(jìn)行的一組開發(fā)活動(dòng)。所以軟件工程過程是將軟件工程的方法和工具綜合
5、起來,以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開發(fā)的目的。(2)軟件生命周期通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測試、交付使用以及維護(hù)等活動(dòng),這些活動(dòng)可以有重復(fù),執(zhí)行時(shí)也可以有迭代。還可以將軟件生命周期分為軟件定義、軟件開發(fā)和軟件運(yùn)行維護(hù)三大階段。①可行性研究與計(jì)劃制定:確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求。②需求分析:對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評(píng)審。③軟件設(shè)計(jì):在理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。編寫概要
6、設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書和測試計(jì)劃初稿,提交評(píng)審。④軟件實(shí)現(xiàn):把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。⑤軟件測試:設(shè)計(jì)測試用例,編寫測試分析報(bào)告。⑥運(yùn)行和維護(hù):將已交付的軟件投入運(yùn)行,并在運(yùn)行、維護(hù)中不斷地?cái)U(kuò)充和刪改。4.軟件工程的目標(biāo)與原則軟件工程的目標(biāo)可概括為在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性和可互操作性并滿足用戶需要的產(chǎn)品?;谏鲜瞿繕?biāo),軟件工程理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和軟件工程管理技術(shù)。為了達(dá)到軟件工程的目標(biāo),在軟件開發(fā)過程中必須遵循軟件工程的基本原則:抽象、信息隱蔽、模塊化、局部化、
7、確定性、一致性、完備性和可驗(yàn)證性,這些原則適用于所有的軟件項(xiàng)目。5.軟件開發(fā)工具與軟件開發(fā)環(huán)境軟件開發(fā)工具是為支持軟件人員開發(fā)和維護(hù)活動(dòng)而使用的軟件。它可以幫助開發(fā)人員完成一些煩瑣的程序編制和調(diào)試問題,使軟件開發(fā)人員將更多的精力和時(shí)間投入到最重要的軟件需求和設(shè)計(jì)上,提高軟件開發(fā)的速度和質(zhì)量。軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合,這些軟件工具按照一定的方法和模式組合起來,共同支持軟件生命周期內(nèi)各階段和各項(xiàng)任務(wù)的完成。7.4.2結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)