計(jì)算機(jī)軟件技術(shù)基礎(chǔ)-課件 17ch10-SE_第1頁(yè)
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)-課件 17ch10-SE_第2頁(yè)
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)-課件 17ch10-SE_第3頁(yè)
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)-課件 17ch10-SE_第4頁(yè)
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)-課件 17ch10-SE_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三部分軟件工程一、課程性質(zhì)、目的與任務(wù)

《軟件工程》是計(jì)算機(jī)技術(shù)發(fā)展中的一門新興工程學(xué)科,具有較強(qiáng)的綜合性和實(shí)踐性,主要內(nèi)容包括

軟件工程概述

可行性研究與計(jì)劃

需求分析

軟件設(shè)計(jì)(概要設(shè)計(jì)、詳細(xì)設(shè)計(jì))

編碼與測(cè)試

軟件維護(hù)通過(guò)本課程的學(xué)習(xí),了解軟件項(xiàng)目開(kāi)發(fā)和維護(hù)的一般過(guò)程、軟件工程的階段劃分和開(kāi)發(fā)模型,掌握軟件開(kāi)發(fā)的方法(結(jié)構(gòu)化方法)和軟件文檔的編寫(xiě),為今后更深入地學(xué)習(xí)和從事軟件開(kāi)發(fā)工作打下良好的基礎(chǔ)。二、課程學(xué)習(xí)的要求

基本概念和基本知識(shí):軟件與軟件工程,生存周期與軟件開(kāi)發(fā)模型,結(jié)構(gòu)化分析、設(shè)計(jì)與編碼,軟件的評(píng)審、測(cè)試與維護(hù),項(xiàng)目計(jì)劃與項(xiàng)目管理。

基本技能:能用軟件工程的方法參與軟件項(xiàng)目的分析、設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)。

重點(diǎn):系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)維護(hù)。

難點(diǎn):需求分析、軟件測(cè)試。三、實(shí)踐性大作業(yè)

1.根據(jù)本門課程的學(xué)習(xí),設(shè)計(jì)一個(gè)小型軟件用來(lái)實(shí)現(xiàn)一定的功能,比如學(xué)生成績(jī)管理系統(tǒng)。

2.軟件的設(shè)計(jì)按照軟件工程的方法,各個(gè)階段必須有相應(yīng)文檔記錄,比如可行性分析報(bào)告,需求分析報(bào)告,詳細(xì)設(shè)計(jì)要有流程圖,編碼有源代碼(改進(jìn)前后的)。

3.軟件維護(hù)修改過(guò)程中,必須有文檔記錄修改原因,改進(jìn)前后優(yōu)缺點(diǎn)等內(nèi)容。

4.軟件不要求十分商業(yè)化,要求基本運(yùn)行正確,無(wú)重大錯(cuò)誤。

…第10章軟件工程概述學(xué)習(xí)目標(biāo):

1、掌握:軟件和軟件工程的基本概念

2、了解:軟件生存周期及軟件開(kāi)發(fā)的各種模型學(xué)習(xí)要點(diǎn):

軟件、軟件工程、軟件生存周期和軟件開(kāi)發(fā)模型學(xué)習(xí)內(nèi)容:

10.1軟件的概念

10.2軟件工程概念

10.3軟件開(kāi)發(fā)模型

10.1計(jì)算機(jī)軟件概念10.1.1軟件定義10.1.2軟件的特性10.1.3軟件的分類10.1計(jì)算機(jī)軟件概念10.1.1軟件定義☆軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。程序:程序是按事先設(shè)計(jì)好的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù):數(shù)據(jù)是指程序能正常處理信息和數(shù)據(jù)結(jié)構(gòu)。文檔:文檔是與程序運(yùn)行和維護(hù)有關(guān)的圖文資料。10.1.2軟件的特性軟件是一種邏輯實(shí)體,具有抽象性。軟件是在研制、開(kāi)發(fā)中被創(chuàng)造出來(lái)的一種產(chǎn)品,在它的開(kāi)發(fā)過(guò)程中沒(méi)有硬件明顯的制造過(guò)程。在軟件的運(yùn)行和使用期間,沒(méi)有硬件那樣的機(jī)械磨損,老化問(wèn)題。圖軟件/硬件產(chǎn)品失效率曲線硬件失效率曲線軟件失效率曲線軟件的特性軟件的開(kāi)發(fā)和運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依賴性。軟件本身是復(fù)雜的實(shí)際問(wèn)題的復(fù)雜性程序邏輯結(jié)構(gòu)的復(fù)雜性

軟件的開(kāi)發(fā)成本相當(dāng)昂貴。相當(dāng)多的軟件工作涉及到社會(huì)因素。10.1.3軟件的分類1.基于軟件的功能劃分:系統(tǒng)軟件

是與計(jì)算機(jī)硬件緊密配合的以使計(jì)算機(jī)各個(gè)部件、相關(guān)軟件及數(shù)據(jù)協(xié)調(diào)、高效工作的軟件,如:操作系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)備驅(qū)動(dòng)程序通信處理程序等軟件的分類支撐軟件

它是協(xié)助用戶開(kāi)發(fā)軟件的工具性軟件,包括幫助程序人員開(kāi)發(fā)軟件產(chǎn)品的工具。文本處理程序文件格式化程序磁盤(pán)向磁帶進(jìn)行數(shù)據(jù)傳輸?shù)某绦虺绦驇?kù)系統(tǒng)支持需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和支持管理的軟件軟件的分類應(yīng)用軟件

是在特定領(lǐng)域內(nèi)開(kāi)發(fā),為特定目的服務(wù)的一類軟件。幾乎所有的領(lǐng)域都有計(jì)算機(jī)的應(yīng)用軟件。如:工程與科學(xué)計(jì)算軟件(Matlab)計(jì)算機(jī)輔助設(shè)計(jì)/制造軟件(CAD/CAM)系統(tǒng)仿真軟件(SIMULINK)智能產(chǎn)品嵌入軟件(LABVIEW)醫(yī)療、制藥軟件(HIS)事務(wù)管理、辦公自動(dòng)化軟件(OFFICE)計(jì)算機(jī)輔助教學(xué)軟件(CAI)商業(yè)數(shù)據(jù)處理軟件(如財(cái)務(wù)軟件)10.2軟件工程概念10.2.1軟件危機(jī)10.2.2軟件工程的定義和研究?jī)?nèi)容10.2.1軟件危機(jī)1968年,北約組織的計(jì)算機(jī)科學(xué)家們?cè)诼?lián)邦德國(guó)召開(kāi)的國(guó)際會(huì)議上討論了軟件危機(jī)問(wèn)題,同時(shí)也是在這個(gè)會(huì)議上提出了“軟件工程”這個(gè)名詞,導(dǎo)致了一門新的工程學(xué)科的正式誕生。簡(jiǎn)單地說(shuō),所謂軟件危機(jī),就是指在軟件開(kāi)發(fā)和軟件維護(hù)過(guò)程中所存在的一系列嚴(yán)重問(wèn)題。1.軟件危機(jī)軟件危機(jī)的表現(xiàn)

(1)不能準(zhǔn)確估計(jì)軟件開(kāi)發(fā)的成本與進(jìn)度;(2)用戶對(duì)“已完成的”軟件系統(tǒng)經(jīng)常不滿意;(3)軟件產(chǎn)品質(zhì)量往往靠不??;(4)軟件難以維護(hù);(5)軟件無(wú)完整的文檔,無(wú)法用以管理和控制軟件的開(kāi)發(fā)和維護(hù);軟件危機(jī)的表現(xiàn)

(6)軟件費(fèi)用急劇上升;圖2計(jì)算機(jī)系統(tǒng)硬件、軟件成本比例變化軟件危機(jī)的表現(xiàn)

(7)軟件生產(chǎn)效率低,供不應(yīng)求。圖3軟件技術(shù)的發(fā)展落后于需求軟件危機(jī)的原因

一方面與軟件本身的特點(diǎn)有關(guān),另一方面也與軟件的開(kāi)發(fā)和維護(hù)方法有關(guān)。造成軟件危機(jī)的原因有以下幾個(gè)方面:軟件的規(guī)模越來(lái)越龐大軟件開(kāi)發(fā)的管理困難軟件本身的獨(dú)有特點(diǎn)確實(shí)給開(kāi)發(fā)和維護(hù)造成一些客觀困難軟件開(kāi)發(fā)和維護(hù)中許多錯(cuò)誤認(rèn)識(shí)和方法的形成可以歸結(jié)于計(jì)算機(jī)發(fā)展早期軟件開(kāi)發(fā)的個(gè)體化特點(diǎn)軟件開(kāi)發(fā)技術(shù)落后生產(chǎn)方式落后。(手工方式開(kāi)發(fā))開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢。軟件危機(jī)解決之道:

借鑒其他工程領(lǐng)域的成功經(jīng)驗(yàn),基于軟件危機(jī)產(chǎn)生的主、客觀原因,從軟件工程技術(shù)和軟件工程管理兩方面來(lái)采取措施,防范軟件危機(jī)的發(fā)生。研究如何更好地開(kāi)發(fā)和維護(hù)計(jì)算機(jī)軟件的學(xué)科——軟件工程10.2.2軟件工程的定義和研究?jī)?nèi)容☆軟件工程--采用工程的概念、原理、技術(shù)和方法來(lái)指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。軟件工程是一門綜合性的交叉學(xué)科

—涉及計(jì)算機(jī)科學(xué)(著重于原理和理論)、工程科學(xué)(費(fèi)用估算、制定進(jìn)度、制定計(jì)劃和方案)、管理科學(xué)(軟件生產(chǎn)的管理)、數(shù)學(xué)和應(yīng)用領(lǐng)域知識(shí)(建立軟件開(kāi)發(fā)中各種模型和算法)。1.軟件工程的定義10.2.2軟件工程的定義和研究?jī)?nèi)容軟件工程所包含的三要素:

方法、工具和過(guò)程軟件方法:是完成軟件(工程項(xiàng)目)的技術(shù)手段。項(xiàng)目計(jì)劃和估算,系統(tǒng)和軟件需求分析,軟件設(shè)計(jì)、編碼、測(cè)試和維護(hù)等軟件工具:人類在開(kāi)發(fā)軟件的活動(dòng)中智力體力的擴(kuò)展和延伸,它自動(dòng)或半自動(dòng)地支持軟件的開(kāi)發(fā)和管理,支持各種軟件文檔的生成。最初是零散的;軟件工具箱;計(jì)算機(jī)輔助軟件工程(CASE)系統(tǒng)軟件“過(guò)程”:是開(kāi)發(fā)一個(gè)最終能滿足需求且達(dá)到目標(biāo)的軟件產(chǎn)品所需要的步驟定義了方法使用的順序、可交付產(chǎn)品(文檔、報(bào)告以及格式)的要求、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、軟件開(kāi)發(fā)過(guò)程各個(gè)階段完成的標(biāo)志。1.軟件工程的定義2.軟件工程的研究?jī)?nèi)容從內(nèi)容上說(shuō),軟件工程包括:軟件開(kāi)發(fā)技術(shù)理論與結(jié)構(gòu)(軟件可靠性理論、軟件開(kāi)發(fā)模型)軟件開(kāi)發(fā)方法、軟件開(kāi)發(fā)工具和環(huán)境等。軟件開(kāi)發(fā)管理軟件管理學(xué)(人員、計(jì)劃、標(biāo)準(zhǔn)、配置)、軟件經(jīng)濟(jì)學(xué)(成本估算、質(zhì)量評(píng)價(jià))等目的,是為了按照進(jìn)度和預(yù)算完成軟件計(jì)劃,實(shí)現(xiàn)預(yù)期的經(jīng)濟(jì)和社會(huì)效益。包括:計(jì)劃管理、成本管理、質(zhì)量管理、組織管理。軟件工程學(xué)研究的基本目標(biāo)

最終目標(biāo)是以較少投資獲得易維護(hù)、易理解、可靠、高效率的軟件產(chǎn)品。軟件工程學(xué)是研究軟件結(jié)構(gòu)、軟件設(shè)計(jì)與維護(hù)方法、軟件工具與環(huán)境、軟件工程標(biāo)準(zhǔn)與規(guī)范、軟件開(kāi)發(fā)技術(shù)與管理技術(shù)的相關(guān)理論。IEEE(國(guó)際電氣和電子工程師協(xié)會(huì))給出了關(guān)于軟件工程的一個(gè)更加綜合的定義(1993):(1)將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)過(guò)程(即將工程化應(yīng)用于軟件中);(2)上述方法的研究。10.3軟件開(kāi)發(fā)模型10.3.1瀑布模型10.3.2快速原型模型10.3.3螺旋模型(自學(xué))10.3.4敏捷軟件開(kāi)發(fā)(自學(xué))軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。它能清晰、直觀地表達(dá)軟件開(kāi)發(fā)全過(guò)程,明確規(guī)定了要完成的主要活動(dòng)和任務(wù),是用來(lái)作為軟件項(xiàng)目開(kāi)發(fā)的基礎(chǔ)。分類:

瀑布模型 快速原型模型 螺旋模型 敏捷軟件開(kāi)發(fā) 構(gòu)件組裝模型 噴泉模型

10.3.1瀑布模型軟件工程的基礎(chǔ)模型:瀑布模型又稱生存周期模型。(W.Royce在1970年提出)核心思想:遵循軟件生存期的劃分,明確規(guī)定各個(gè)階段的任務(wù),各個(gè)階段的工作自上而下、順序展開(kāi),如同瀑布流水,逐級(jí)下落。軟件生存周期的劃分軟件有一個(gè)孕育、誕生、成長(zhǎng)、成熟、衰亡的生存過(guò)程。這個(gè)過(guò)程即為計(jì)算機(jī)軟件的生存期。軟件生存周期的定義:是指從軟件項(xiàng)目的提出,包括研制、運(yùn)行、使用和維護(hù),直到最終被棄用的整個(gè)過(guò)程。軟件生存周期的劃分問(wèn)題定義可行性研究需求分析設(shè)計(jì)(概要設(shè)計(jì)、詳細(xì)設(shè)計(jì))編碼測(cè)試運(yùn)行與維護(hù)計(jì)劃時(shí)期開(kāi)發(fā)時(shí)期運(yùn)行時(shí)期軟件生存周期一般可分為以下階段:各階段的基本任務(wù)計(jì)劃時(shí)期:·(1)問(wèn)題定義--弄清“是什么?

·(2)可行性研究--有無(wú)解決辦法

·軟件開(kāi)發(fā)計(jì)劃--作用范圍,資源分析...

開(kāi)發(fā)時(shí)期:·(3)需求分析--弄清系統(tǒng)具體“做什么?”

·(4)軟件設(shè)計(jì):概要設(shè)計(jì)--建立軟件的總體結(jié)構(gòu)詳細(xì)設(shè)計(jì)--確定模塊的內(nèi)部過(guò)程、結(jié)構(gòu)及算法

·(5)編碼--選定語(yǔ)言,編寫(xiě)源程序

·(6)測(cè)試--查出并改正程序的錯(cuò)誤

運(yùn)行時(shí)期:·(7)運(yùn)行與維護(hù):糾正錯(cuò)誤、擴(kuò)充/完善功能

瀑布模型瀑布模型示意圖瀑布模型將軟件生命周期各活動(dòng)規(guī)定為依線性順序連接的若干階段的模型。

特點(diǎn):(文檔驅(qū)動(dòng))(1)階段間的順序性和依賴性

①只有前一階段的工作完成以后,后一階段的工作才能開(kāi)始。 ②前一階段的輸出文檔,就是后一階段的輸入文檔。(2)推遲實(shí)現(xiàn)

物理實(shí)現(xiàn)推遲到軟件開(kāi)發(fā)的后期進(jìn)行,這就大大降低了軟件的風(fēng)險(xiǎn)。

(3)質(zhì)量保證

①每一階段都要完成規(guī)定的文檔。 ②每一階段都要對(duì)已完成的文檔進(jìn)行復(fù)審。瀑布模型適用于功能和性能明確、完整、無(wú)重大變化的軟件開(kāi)發(fā)。

特點(diǎn):局限性:是該模型缺乏靈活性,特別是無(wú)法解決軟件需求不明確或不準(zhǔn)確的問(wèn)題。

需求說(shuō)明難以將系統(tǒng)的一切描述得完整、準(zhǔn)確、一致并與環(huán)境相符。難以保證每個(gè)階段是正確和完整的。嚴(yán)格線性開(kāi)發(fā)存在障礙不支持軟件產(chǎn)品的演化,開(kāi)發(fā)過(guò)程中難以發(fā)現(xiàn)的錯(cuò)誤只有在最終產(chǎn)品運(yùn)行時(shí)才能發(fā)現(xiàn)。

10.3.2快速原型模型原型模型:是借助一些軟件開(kāi)發(fā)工具或環(huán)境盡可能快的構(gòu)造一個(gè)實(shí)際系統(tǒng)的簡(jiǎn)化模型。(軟件原型:是軟件的最初版本,以最少的費(fèi)用、最短的時(shí)間開(kāi)發(fā)出的,反映最后軟件的主要特征的系統(tǒng)。)特點(diǎn):(1)利用原型法技術(shù)能夠快速實(shí)現(xiàn)系統(tǒng)的初步模型,供開(kāi)發(fā)人員和用戶進(jìn)行交流,以便較準(zhǔn)確地獲得用戶的需求。(2)采用逐步求精的方法使原型逐步完善(3)避免了瀑布模型冗長(zhǎng)的開(kāi)發(fā)過(guò)程看不到產(chǎn)品雛形的現(xiàn)象聽(tīng)取用戶意見(jiàn)建造/修改原型用戶測(cè)試/運(yùn)行原型快速原型模型快速原型軟件開(kāi)發(fā)的生存期模型

符合人類認(rèn)識(shí)真理的過(guò)程和思維活動(dòng)快速原型模型使用原型模型必須有兩個(gè)前提:(1)是必須有快速建立系統(tǒng)原型模型的軟件工具和環(huán)境。(2)適用于不能預(yù)先確切定義需求的軟件開(kāi)發(fā)。(用戶必須積極參與原型的建造,建造原型僅僅是為了定義需求,之后就必須被拋棄,實(shí)際的軟件必須在充分考慮到軟件質(zhì)量和可維護(hù)性之后才被開(kāi)發(fā))

*軟件開(kāi)發(fā)方法軟件開(kāi)發(fā)模型:是開(kāi)發(fā)軟件項(xiàng)目的總體思路。軟件開(kāi)發(fā)方法: 是一種使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣來(lái)組織軟件生產(chǎn)過(guò)程的方法。(一般表述成一系列的步驟,每一步驟都與相應(yīng)的技術(shù)和符號(hào)相關(guān))軟件開(kāi)發(fā)的目標(biāo)是在規(guī)定的時(shí)間內(nèi),開(kāi)發(fā)出符合用戶需求的高質(zhì)量軟件。為了達(dá)到此目的,需要有成功的開(kāi)發(fā)方法。結(jié)構(gòu)化方法面向?qū)ο蟮拈_(kāi)發(fā)方法*軟件開(kāi)發(fā)方法結(jié)構(gòu)化方法(

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論