1軟件工程第一章電子教案大同大學(xué)_第1頁(yè)
1軟件工程第一章電子教案大同大學(xué)_第2頁(yè)
1軟件工程第一章電子教案大同大學(xué)_第3頁(yè)
1軟件工程第一章電子教案大同大學(xué)_第4頁(yè)
1軟件工程第一章電子教案大同大學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩67頁(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)介

1、軟件工程- 原理、方法與應(yīng)用電子教案電子教案54學(xué)時(shí)課程安排n理論理論n內(nèi)容:基本原理、方法和技術(shù)內(nèi)容:基本原理、方法和技術(shù)n形式:講授、自學(xué)、討論形式:講授、自學(xué)、討論n實(shí)踐實(shí)踐n內(nèi)容:構(gòu)造一個(gè)應(yīng)用系統(tǒng)(包括分析、設(shè)計(jì)、內(nèi)容:構(gòu)造一個(gè)應(yīng)用系統(tǒng)(包括分析、設(shè)計(jì)、編碼、測(cè)試)編碼、測(cè)試)n形式:分組、分階段文檔、編碼、集成形式:分組、分階段文檔、編碼、集成軟件工程的主要內(nèi)容n軟件工程的基本概念軟件工程的基本概念n軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)模型n軟件開(kāi)發(fā)各階段的任務(wù)、技術(shù)、方法軟件開(kāi)發(fā)各階段的任務(wù)、技術(shù)、方法n傳統(tǒng)方法、面向?qū)ο蠓椒▊鹘y(tǒng)方法、面向?qū)ο蠓椒╪軟件工程管理軟件工程管理n軟件質(zhì)量保證軟件質(zhì)量保

2、證n軟件工程環(huán)境軟件工程環(huán)境第一章 緒論n軟件與軟件危機(jī)軟件與軟件危機(jī)n軟件工程學(xué)軟件工程學(xué)n傳統(tǒng)軟件工程和面向?qū)ο筌浖こ虃鹘y(tǒng)軟件工程和面向?qū)ο筌浖こ蘮軟件工程的應(yīng)用軟件工程的應(yīng)用軟件(定義一)軟件(定義一)n程序程序、軟件軟件與軟件產(chǎn)品與軟件產(chǎn)品獨(dú)唱獨(dú)唱-小合唱小合唱-合唱合唱-萬(wàn)人大合唱萬(wàn)人大合唱 | | |簡(jiǎn)單程序簡(jiǎn)單程序 較復(fù)雜程序較復(fù)雜程序 軟件軟件n軟件定義:軟件定義: 軟件軟件=程序程序+數(shù)據(jù)數(shù)據(jù)+文檔文檔程序:按事先設(shè)計(jì)的功能和性能需求執(zhí)行的指令程序:按事先設(shè)計(jì)的功能和性能需求執(zhí)行的指令序列序列數(shù)據(jù):是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù):是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔:與

3、程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文材料文檔:與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文材料 計(jì)算機(jī)軟件(定義二)計(jì)算機(jī)軟件(定義二)n計(jì)算機(jī)軟件指計(jì)算機(jī)系統(tǒng)中的計(jì)算機(jī)軟件指計(jì)算機(jī)系統(tǒng)中的程序及其文檔程序及其文檔n程序是程序是計(jì)算任務(wù)計(jì)算任務(wù)的的處理對(duì)象處理對(duì)象和和處理規(guī)則處理規(guī)則的描述的描述n任務(wù):以計(jì)算機(jī)為處理工具的任務(wù)都是計(jì)算任務(wù)任務(wù):以計(jì)算機(jī)為處理工具的任務(wù)都是計(jì)算任務(wù)n處理對(duì)象:數(shù)據(jù)(如數(shù)據(jù)、文字、圖形、圖像、處理對(duì)象:數(shù)據(jù)(如數(shù)據(jù)、文字、圖形、圖像、聲音等,它們只是表示,而無(wú)含義)或信息(數(shù)聲音等,它們只是表示,而無(wú)含義)或信息(數(shù)據(jù)及有關(guān)的含義)據(jù)及有關(guān)的含義)n處理規(guī)則一般指處理的動(dòng)作和步驟。

4、程序必須裝處理規(guī)則一般指處理的動(dòng)作和步驟。程序必須裝入計(jì)算機(jī)內(nèi)才能工作入計(jì)算機(jī)內(nèi)才能工作n文檔是為了便于了解程序所需的闡明性資料,文檔文檔是為了便于了解程序所需的闡明性資料,文檔一般是給人看的,不一定裝入計(jì)算機(jī)一般是給人看的,不一定裝入計(jì)算機(jī)軟件的分類(lèi)軟件的分類(lèi)n系統(tǒng)軟件系統(tǒng)軟件:屬于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層,:屬于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層,其它軟件一般都通過(guò)系統(tǒng)軟件發(fā)揮作用,它與具體其它軟件一般都通過(guò)系統(tǒng)軟件發(fā)揮作用,它與具體的應(yīng)用領(lǐng)域無(wú)關(guān)。如操作系統(tǒng)、編譯程序等。的應(yīng)用領(lǐng)域無(wú)關(guān)。如操作系統(tǒng)、編譯程序等。n支持軟件支持軟件:支持軟件的開(kāi)發(fā)和維護(hù)的軟件。如數(shù)據(jù):支持軟件的開(kāi)發(fā)和維護(hù)的軟

5、件。如數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件開(kāi)發(fā)環(huán)境等。庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件開(kāi)發(fā)環(huán)境等。n應(yīng)用軟件應(yīng)用軟件:特定應(yīng)用領(lǐng)域?qū)S玫能浖H鐚?shí)時(shí)軟件、:特定應(yīng)用領(lǐng)域?qū)S玫能浖?。如?shí)時(shí)軟件、嵌入式軟件、科學(xué)和工程計(jì)算軟件、事務(wù)處理軟件、嵌入式軟件、科學(xué)和工程計(jì)算軟件、事務(wù)處理軟件、人工智能軟件等人工智能軟件等。n 按軟件工作方式劃分:按軟件工作方式劃分: 實(shí)時(shí)處理軟件實(shí)時(shí)處理軟件 分時(shí)軟件分時(shí)軟件 交互式軟件交互式軟件 批處理軟件批處理軟件n 按軟件服務(wù)對(duì)象的范圍劃分:按軟件服務(wù)對(duì)象的范圍劃分: 項(xiàng)目軟件項(xiàng)目軟件 產(chǎn)品軟件產(chǎn)品軟件 n 按使用的頻度進(jìn)行劃分:按使用的頻度進(jìn)行劃分: 一次使用一次使用 頻繁

6、使用頻繁使用n 按軟件失效的影響進(jìn)行劃分:按軟件失效的影響進(jìn)行劃分: 高可靠性軟件高可靠性軟件 一般可靠性軟件一般可靠性軟件軟件的發(fā)展n 1946-1956年年 從計(jì)算機(jī)問(wèn)世到實(shí)用的高級(jí)程序語(yǔ)言出現(xiàn)前從計(jì)算機(jī)問(wèn)世到實(shí)用的高級(jí)程序語(yǔ)言出現(xiàn)前存儲(chǔ)容量比較小,運(yùn)算速度比較慢存儲(chǔ)容量比較小,運(yùn)算速度比較慢采用個(gè)體工作方式采用個(gè)體工作方式, ,用低級(jí)語(yǔ)言編寫(xiě)程序用低級(jí)語(yǔ)言編寫(xiě)程序應(yīng)用領(lǐng)域主要是以數(shù)值數(shù)據(jù)處理為主的科學(xué)應(yīng)用領(lǐng)域主要是以數(shù)值數(shù)據(jù)處理為主的科學(xué)計(jì)算,計(jì)算,其特點(diǎn)是輸入、輸出量較小其特點(diǎn)是輸入、輸出量較小衡量程序質(zhì)量的標(biāo)準(zhǔn)主要是功效,即運(yùn)行時(shí)間省、衡量程序質(zhì)量的標(biāo)準(zhǔn)主要是功效,即運(yùn)行時(shí)間省、占用

7、內(nèi)存小占用內(nèi)存小主要研究?jī)?nèi)容是科學(xué)計(jì)算程序、服務(wù)性程序和程序主要研究?jī)?nèi)容是科學(xué)計(jì)算程序、服務(wù)性程序和程序庫(kù),研究對(duì)象是順序程序庫(kù),研究對(duì)象是順序程序n1956-1968年年 從實(shí)用的高級(jí)程序語(yǔ)言出現(xiàn)到軟件工程出現(xiàn)前從實(shí)用的高級(jí)程序語(yǔ)言出現(xiàn)到軟件工程出現(xiàn)前存儲(chǔ)器容量大,外圍設(shè)備得到迅速發(fā)展,出現(xiàn)存儲(chǔ)器容量大,外圍設(shè)備得到迅速發(fā)展,出現(xiàn)了高級(jí)程序設(shè)計(jì)語(yǔ)言了高級(jí)程序設(shè)計(jì)語(yǔ)言應(yīng)用領(lǐng)域包括應(yīng)用領(lǐng)域包括數(shù)據(jù)處理(非數(shù)值數(shù)據(jù)),其特?cái)?shù)據(jù)處理(非數(shù)值數(shù)據(jù)),其特點(diǎn)是計(jì)算量不大,但輸入、輸出量卻較大點(diǎn)是計(jì)算量不大,但輸入、輸出量卻較大高速主機(jī)與低速外圍設(shè)備的矛盾突出,出現(xiàn)了高速主機(jī)與低速外圍設(shè)備的矛盾突出,出現(xiàn)

8、了操作系統(tǒng)、并發(fā)程序、數(shù)據(jù)庫(kù)及其管理系統(tǒng)操作系統(tǒng)、并發(fā)程序、數(shù)據(jù)庫(kù)及其管理系統(tǒng)2020世紀(jì)世紀(jì)6060年代初提出了軟件一詞,開(kāi)始認(rèn)識(shí)到年代初提出了軟件一詞,開(kāi)始認(rèn)識(shí)到文檔的重要性文檔的重要性研究高級(jí)程序設(shè)計(jì)語(yǔ)言、編譯程序、操作系統(tǒng)、研究高級(jí)程序設(shè)計(jì)語(yǔ)言、編譯程序、操作系統(tǒng)、支持編程的工具及各種應(yīng)用軟件支持編程的工具及各種應(yīng)用軟件工作方式逐步從個(gè)體方式轉(zhuǎn)向合作方式工作方式逐步從個(gè)體方式轉(zhuǎn)向合作方式出現(xiàn)軟件危機(jī)出現(xiàn)軟件危機(jī)n1968年年-至今至今 從軟件工程出現(xiàn)到現(xiàn)在從軟件工程出現(xiàn)到現(xiàn)在硬件向巨型機(jī)和微型機(jī)二個(gè)方向發(fā)展,出現(xiàn)了硬件向巨型機(jī)和微型機(jī)二個(gè)方向發(fā)展,出現(xiàn)了計(jì)算機(jī)網(wǎng)絡(luò),軟件方面提出了軟件工

9、程,出現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò),軟件方面提出了軟件工程,出現(xiàn)了了“計(jì)算機(jī)輔助軟件工程計(jì)算機(jī)輔助軟件工程”(CASE)計(jì)算機(jī)的應(yīng)用領(lǐng)域滲透到各個(gè)業(yè)務(wù)領(lǐng)域,出現(xiàn)計(jì)算機(jī)的應(yīng)用領(lǐng)域滲透到各個(gè)業(yè)務(wù)領(lǐng)域,出現(xiàn)了嵌入式應(yīng)用,其特點(diǎn)是受制于它所嵌入的宿了嵌入式應(yīng)用,其特點(diǎn)是受制于它所嵌入的宿主系統(tǒng)主系統(tǒng)開(kāi)發(fā)方式逐步由個(gè)體合作方式轉(zhuǎn)向工程方式開(kāi)發(fā)方式逐步由個(gè)體合作方式轉(zhuǎn)向工程方式軟件工程方面的研究主要包括軟件開(kāi)發(fā)模型、軟件工程方面的研究主要包括軟件開(kāi)發(fā)模型、軟件開(kāi)發(fā)方法及技術(shù)、軟件工具與環(huán)境、軟件軟件開(kāi)發(fā)方法及技術(shù)、軟件工具與環(huán)境、軟件過(guò)程、軟件自動(dòng)化系統(tǒng)等過(guò)程、軟件自動(dòng)化系統(tǒng)等軟件方面研究以智能化、自動(dòng)化、集成化、并軟件

10、方面研究以智能化、自動(dòng)化、集成化、并行化、以及自然化為標(biāo)志的軟件開(kāi)發(fā)新技術(shù)行化、以及自然化為標(biāo)志的軟件開(kāi)發(fā)新技術(shù)軟件的特點(diǎn)軟件的特點(diǎn)n軟件是一種邏輯實(shí)體,而不是有形的系統(tǒng)軟件是一種邏輯實(shí)體,而不是有形的系統(tǒng)元件,其開(kāi)發(fā)成本和進(jìn)度難以準(zhǔn)確地估算元件,其開(kāi)發(fā)成本和進(jìn)度難以準(zhǔn)確地估算n軟件是被開(kāi)發(fā)的或被設(shè)計(jì)的,它沒(méi)有明顯軟件是被開(kāi)發(fā)的或被設(shè)計(jì)的,它沒(méi)有明顯的制造過(guò)程,一旦開(kāi)發(fā)成功,只需復(fù)制即的制造過(guò)程,一旦開(kāi)發(fā)成功,只需復(fù)制即可,但其維護(hù)的工作量大可,但其維護(hù)的工作量大n軟件的使用沒(méi)有硬件那樣的機(jī)械磨損和老軟件的使用沒(méi)有硬件那樣的機(jī)械磨損和老化問(wèn)題化問(wèn)題 軟件的其它特點(diǎn):軟件的其它特點(diǎn):n軟件的開(kāi)發(fā)

11、和運(yùn)行常受到計(jì)算機(jī)硬件軟件的開(kāi)發(fā)和運(yùn)行常受到計(jì)算機(jī)硬件的限制,的限制,對(duì)計(jì)算機(jī)硬件有著不同程度對(duì)計(jì)算機(jī)硬件有著不同程度的依賴(lài)性的依賴(lài)性n軟件的開(kāi)發(fā)至今軟件的開(kāi)發(fā)至今尚未完全實(shí)現(xiàn)自動(dòng)化尚未完全實(shí)現(xiàn)自動(dòng)化n軟件成本相當(dāng)昂貴軟件成本相當(dāng)昂貴n相當(dāng)多的軟件工作相當(dāng)多的軟件工作涉及到社會(huì)因素涉及到社會(huì)因素軟件軟件的特征(歸納)的特征(歸納)n軟件軟件是邏輯的,而不是是邏輯的,而不是物理的物理的n軟件開(kāi)發(fā)軟件開(kāi)發(fā)與人與人關(guān)系密切關(guān)系密切n軟件開(kāi)發(fā)成本大軟件開(kāi)發(fā)成本大n軟件軟件生產(chǎn)是簡(jiǎn)單生產(chǎn)是簡(jiǎn)單的拷貝的拷貝n軟件軟件不會(huì)磨損不會(huì)磨損和老化和老化n軟件軟件受受環(huán)境影響大環(huán)境影響大n軟件維護(hù)軟件維護(hù)易產(chǎn)生新的

12、問(wèn)題易產(chǎn)生新的問(wèn)題軟件技術(shù)進(jìn)步落后于需求增長(zhǎng)軟件開(kāi)發(fā)的發(fā)展過(guò)程軟件開(kāi)發(fā)的發(fā)展過(guò)程計(jì)算機(jī)應(yīng)用計(jì)算機(jī)應(yīng)用發(fā)展發(fā)展軟件數(shù)量多軟件數(shù)量多規(guī)模大規(guī)模大軟件成本高軟件成本高質(zhì)量低質(zhì)量低個(gè)體化軟件開(kāi)發(fā)方法個(gè)體化軟件開(kāi)發(fā)方法軟件維護(hù)困難軟件維護(hù)困難軟件危機(jī)軟件危機(jī)軟件工程軟件工程軟件危機(jī)軟件危機(jī) 定義:定義: 計(jì)算機(jī)計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程所遇軟件的開(kāi)發(fā)和維護(hù)過(guò)程所遇到的一系列嚴(yán)重問(wèn)題到的一系列嚴(yán)重問(wèn)題 軟件危機(jī)的表現(xiàn)軟件危機(jī)的表現(xiàn)n對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不正確對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不正確n用戶對(duì)用戶對(duì)“已完成的已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生生n軟件產(chǎn)品

13、的質(zhì)量往往靠不住軟件產(chǎn)品的質(zhì)量往往靠不住n軟件常常是不可維護(hù)的軟件常常是不可維護(hù)的n軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料n軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升升n軟件開(kāi)發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用軟件開(kāi)發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)迅速普及深入的趨勢(shì)軟件危機(jī)的原因軟件危機(jī)的原因n軟件是邏輯產(chǎn)品,開(kāi)發(fā)進(jìn)度、成本難以估計(jì)軟件是邏輯產(chǎn)品,開(kāi)發(fā)進(jìn)度、成本難以估計(jì)n缺乏或不完整、不一致的文檔給維護(hù)帶來(lái)困難缺乏或不完整、不一致的文檔給維護(hù)帶來(lái)困難n用戶對(duì)軟件需求的描述往往不夠精確,有遺漏,有二用戶對(duì)軟

14、件需求的描述往往不夠精確,有遺漏,有二義義n軟件開(kāi)發(fā)人員對(duì)需求的理解與用戶的本來(lái)愿望有差異軟件開(kāi)發(fā)人員對(duì)需求的理解與用戶的本來(lái)愿望有差異n大型軟件項(xiàng)目需多人協(xié)同完成,缺乏管理經(jīng)驗(yàn)大型軟件項(xiàng)目需多人協(xié)同完成,缺乏管理經(jīng)驗(yàn)n開(kāi)發(fā)人員不能有效地、獨(dú)立自主地處理大型軟件的全開(kāi)發(fā)人員不能有效地、獨(dú)立自主地處理大型軟件的全部關(guān)系部關(guān)系n缺乏有力的方法學(xué)和工具的支持缺乏有力的方法學(xué)和工具的支持n軟件項(xiàng)目的特殊性和人類(lèi)智力的局限性軟件項(xiàng)目的特殊性和人類(lèi)智力的局限性軟件軟件危機(jī)的原因(歸納)危機(jī)的原因(歸納)n原因原因n客觀:客觀:軟件本身特點(diǎn)軟件本身特點(diǎn)n邏輯部件邏輯部件n規(guī)模龐大規(guī)模龐大n主觀:主觀:不正確

15、的開(kāi)發(fā)方法不正確的開(kāi)發(fā)方法n忽視需求分析忽視需求分析n錯(cuò)誤認(rèn)為:軟件開(kāi)發(fā)錯(cuò)誤認(rèn)為:軟件開(kāi)發(fā)=程序編寫(xiě)程序編寫(xiě)n輕視軟件維護(hù)輕視軟件維護(hù)克服軟件危機(jī)的途徑克服軟件危機(jī)的途徑n消除錯(cuò)誤的概念和做法消除錯(cuò)誤的概念和做法n推廣使用成功的開(kāi)發(fā)技術(shù)和方法推廣使用成功的開(kāi)發(fā)技術(shù)和方法n使用軟件工具和軟件工程支持環(huán)境使用軟件工具和軟件工程支持環(huán)境n加強(qiáng)軟件管理加強(qiáng)軟件管理軟件語(yǔ)言軟件語(yǔ)言software language 軟件語(yǔ)言是用于書(shū)寫(xiě)計(jì)算機(jī)軟件的語(yǔ)言。軟件語(yǔ)言是用于書(shū)寫(xiě)計(jì)算機(jī)軟件的語(yǔ)言。 它主要包括:它主要包括: 1.需求定義語(yǔ)言需求定義語(yǔ)言 2.功能性語(yǔ)言功能性語(yǔ)言 3.設(shè)計(jì)性語(yǔ)言設(shè)計(jì)性語(yǔ)言 4.實(shí)現(xiàn)

16、性語(yǔ)言(即程序設(shè)計(jì)語(yǔ)言)實(shí)現(xiàn)性語(yǔ)言(即程序設(shè)計(jì)語(yǔ)言) 5.文檔語(yǔ)言文檔語(yǔ)言1.需求定義語(yǔ)言需求定義語(yǔ)言requirements definition language需求定義語(yǔ)言用來(lái)書(shū)寫(xiě)軟件需求定義。需求定義語(yǔ)言用來(lái)書(shū)寫(xiě)軟件需求定義。 軟件需求定義是軟件功能需求和非功能需軟件需求定義是軟件功能需求和非功能需求的定義性描述。軟件功能需求刻畫(huà)軟件求的定義性描述。軟件功能需求刻畫(huà)軟件“做做什么什么”,軟件非功能需求刻畫(huà)諸如功能性限制、,軟件非功能需求刻畫(huà)諸如功能性限制、設(shè)計(jì)限制、環(huán)境描述、數(shù)據(jù)與通信規(guī)程及項(xiàng)目設(shè)計(jì)限制、環(huán)境描述、數(shù)據(jù)與通信規(guī)程及項(xiàng)目管理等管理等 典型的需求定義語(yǔ)言有典型的需求定義語(yǔ)言

17、有PSL語(yǔ)言(語(yǔ)言(Problem Statement Language問(wèn)題陳述語(yǔ)言)問(wèn)題陳述語(yǔ)言)2.功能性語(yǔ)言功能性語(yǔ)言functional language功能性語(yǔ)言用來(lái)書(shū)寫(xiě)軟件功能規(guī)約功能性語(yǔ)言用來(lái)書(shū)寫(xiě)軟件功能規(guī)約(functional specification) 軟件功能規(guī)約是軟件功能的嚴(yán)格而完軟件功能規(guī)約是軟件功能的嚴(yán)格而完整的陳述。通常它只刻畫(huà)軟件系統(tǒng)整的陳述。通常它只刻畫(huà)軟件系統(tǒng)“做什做什么么”的外部功能,而不涉及系統(tǒng)的外部功能,而不涉及系統(tǒng)“如何做如何做”的內(nèi)部算法。的內(nèi)部算法。 典型的功能性語(yǔ)言有廣譜語(yǔ)言、典型的功能性語(yǔ)言有廣譜語(yǔ)言、Z語(yǔ)言。語(yǔ)言。3.設(shè)計(jì)性語(yǔ)言設(shè)計(jì)性語(yǔ)言

18、design language設(shè)計(jì)性語(yǔ)言用來(lái)書(shū)寫(xiě)軟件設(shè)計(jì)規(guī)約設(shè)計(jì)性語(yǔ)言用來(lái)書(shū)寫(xiě)軟件設(shè)計(jì)規(guī)約(design specification) 軟件設(shè)計(jì)規(guī)約是軟件設(shè)計(jì)的嚴(yán)格而完整的軟件設(shè)計(jì)規(guī)約是軟件設(shè)計(jì)的嚴(yán)格而完整的陳述。一方面,它是軟件功能歸約的算法性細(xì)陳述。一方面,它是軟件功能歸約的算法性細(xì)化,刻畫(huà)軟件化,刻畫(huà)軟件“如何做如何做”的內(nèi)部算法,另一方的內(nèi)部算法,另一方面,它是軟件實(shí)現(xiàn)的依據(jù)。面,它是軟件實(shí)現(xiàn)的依據(jù)。典型的設(shè)計(jì)性語(yǔ)言有典型的設(shè)計(jì)性語(yǔ)言有PDL語(yǔ)言(語(yǔ)言(Program Design Language)4.實(shí)現(xiàn)性語(yǔ)言實(shí)現(xiàn)性語(yǔ)言 實(shí)現(xiàn)性語(yǔ)言用來(lái)書(shū)寫(xiě)計(jì)算機(jī)程序。實(shí)實(shí)現(xiàn)性語(yǔ)言用來(lái)書(shū)寫(xiě)計(jì)算機(jī)程序

19、。實(shí)現(xiàn)性語(yǔ)言也稱(chēng)編程語(yǔ)言或程序設(shè)計(jì)語(yǔ)言現(xiàn)性語(yǔ)言也稱(chēng)編程語(yǔ)言或程序設(shè)計(jì)語(yǔ)言(programming language) 程序設(shè)計(jì)語(yǔ)言可按語(yǔ)言的級(jí)別、對(duì)使用程序設(shè)計(jì)語(yǔ)言可按語(yǔ)言的級(jí)別、對(duì)使用者的要求、應(yīng)用范圍、使用方式、成分性質(zhì)者的要求、應(yīng)用范圍、使用方式、成分性質(zhì)等多種角度進(jìn)行分類(lèi)等多種角度進(jìn)行分類(lèi) A)按語(yǔ)言級(jí)別分按語(yǔ)言級(jí)別分: 低級(jí)語(yǔ)言低級(jí)語(yǔ)言和和高級(jí)語(yǔ)言高級(jí)語(yǔ)言 低級(jí)語(yǔ)言低級(jí)語(yǔ)言是與特定計(jì)算機(jī)體系結(jié)構(gòu)密切相關(guān)的是與特定計(jì)算機(jī)體系結(jié)構(gòu)密切相關(guān)的程序設(shè)計(jì)語(yǔ)言,如機(jī)器語(yǔ)言、匯編語(yǔ)言。其特點(diǎn)程序設(shè)計(jì)語(yǔ)言,如機(jī)器語(yǔ)言、匯編語(yǔ)言。其特點(diǎn)是與機(jī)器有關(guān),功效高,但使用復(fù)雜,開(kāi)發(fā)費(fèi)時(shí),是與機(jī)器有關(guān),功效高,

20、但使用復(fù)雜,開(kāi)發(fā)費(fèi)時(shí),難維護(hù)。難維護(hù)。 高級(jí)語(yǔ)言高級(jí)語(yǔ)言是不反映特定計(jì)算機(jī)體系結(jié)構(gòu)的程序設(shè)是不反映特定計(jì)算機(jī)體系結(jié)構(gòu)的程序設(shè)計(jì)語(yǔ)言,它的表示方法比低級(jí)語(yǔ)言更接近于待解計(jì)語(yǔ)言,它的表示方法比低級(jí)語(yǔ)言更接近于待解問(wèn)題的表示方法。其特點(diǎn)是在一定程度上與具體問(wèn)題的表示方法。其特點(diǎn)是在一定程度上與具體機(jī)器無(wú)關(guān),易學(xué)、易用、易維護(hù)。但高級(jí)語(yǔ)言程機(jī)器無(wú)關(guān),易學(xué)、易用、易維護(hù)。但高級(jí)語(yǔ)言程序經(jīng)編譯后產(chǎn)生的目標(biāo)程序的功效往往較低。序經(jīng)編譯后產(chǎn)生的目標(biāo)程序的功效往往較低。B) 按按用戶要求分用戶要求分: 過(guò)程式語(yǔ)言過(guò)程式語(yǔ)言和和非過(guò)程式語(yǔ)言非過(guò)程式語(yǔ)言 過(guò)程式語(yǔ)言(過(guò)程式語(yǔ)言(procedural languag

21、e)是通過(guò)指是通過(guò)指明一列可執(zhí)行的運(yùn)算及運(yùn)算次序來(lái)描述計(jì)算過(guò)程的明一列可執(zhí)行的運(yùn)算及運(yùn)算次序來(lái)描述計(jì)算過(guò)程的程序設(shè)計(jì)語(yǔ)言。如程序設(shè)計(jì)語(yǔ)言。如FORTRAN、COBOL、C等。等。 非過(guò)程式語(yǔ)言(非過(guò)程式語(yǔ)言(nonprocedural language )是是不顯式指明處理過(guò)程細(xì)節(jié)的程序設(shè)計(jì)語(yǔ)言。在這種不顯式指明處理過(guò)程細(xì)節(jié)的程序設(shè)計(jì)語(yǔ)言。在這種語(yǔ)言中盡量引進(jìn)各種抽象度較高的非過(guò)程性描述手語(yǔ)言中盡量引進(jìn)各種抽象度較高的非過(guò)程性描述手段,以期做到在程序中增加段,以期做到在程序中增加“做什么做什么”的描述成分,的描述成分,減少減少“如何做如何做”的細(xì)節(jié)描述。如第四代語(yǔ)言的細(xì)節(jié)描述。如第四代語(yǔ)言(4

22、GL)、)、函數(shù)式語(yǔ)言、邏輯式語(yǔ)言。函數(shù)式語(yǔ)言、邏輯式語(yǔ)言。 命令式語(yǔ)言(命令式語(yǔ)言(imperative language)即過(guò)程式語(yǔ)即過(guò)程式語(yǔ)言。言。 申述式語(yǔ)言(申述式語(yǔ)言(declarative language )是著重描是著重描述要處理什么,而非描述如何處理的語(yǔ)言。申述式語(yǔ)述要處理什么,而非描述如何處理的語(yǔ)言。申述式語(yǔ)言程序是關(guān)于問(wèn)題解的約束陳述,這些約束迫使含于言程序是關(guān)于問(wèn)題解的約束陳述,這些約束迫使含于實(shí)現(xiàn)中的算法處理機(jī)制生成一個(gè)解或一組解。如實(shí)現(xiàn)中的算法處理機(jī)制生成一個(gè)解或一組解。如函數(shù)函數(shù)式語(yǔ)言、邏輯式語(yǔ)言式語(yǔ)言、邏輯式語(yǔ)言。 B)按用戶要求分:按用戶要求分: 過(guò)程式語(yǔ)言

23、過(guò)程式語(yǔ)言和和非過(guò)程式語(yǔ)言非過(guò)程式語(yǔ)言 (也可稱(chēng):(也可稱(chēng):命令式語(yǔ)言命令式語(yǔ)言和和申述式語(yǔ)言)申述式語(yǔ)言) 函數(shù)式語(yǔ)言函數(shù)式語(yǔ)言(functional programming language)中中函數(shù)是構(gòu)造程序的基本成分,它提供一些設(shè)施用于構(gòu)函數(shù)是構(gòu)造程序的基本成分,它提供一些設(shè)施用于構(gòu)造更為復(fù)雜的函數(shù)。程序人員根據(jù)提出的問(wèn)題去定義造更為復(fù)雜的函數(shù)。程序人員根據(jù)提出的問(wèn)題去定義求解函數(shù)(即主程序),其中可能包含一些輔助函數(shù)。求解函數(shù)(即主程序),其中可能包含一些輔助函數(shù)。如如Lisp語(yǔ)言。語(yǔ)言。 邏輯式語(yǔ)言邏輯式語(yǔ)言(logic programming language)的基本的基本運(yùn)算單

24、位是謂詞。謂詞定義了變?cè)g的邏輯關(guān)系。例運(yùn)算單位是謂詞。謂詞定義了變?cè)g的邏輯關(guān)系。例如,如,Prolog語(yǔ)言的基本形式是語(yǔ)言的基本形式是Horn子句,其程序圍子句,其程序圍繞著某一主題的事實(shí)、規(guī)則和詢(xún)問(wèn)三類(lèi)語(yǔ)句組成。這繞著某一主題的事實(shí)、規(guī)則和詢(xún)問(wèn)三類(lèi)語(yǔ)句組成。這三類(lèi)語(yǔ)句分別用來(lái)陳述事實(shí)、定義規(guī)則和提出問(wèn)題。三類(lèi)語(yǔ)句分別用來(lái)陳述事實(shí)、定義規(guī)則和提出問(wèn)題。申述式語(yǔ)言(申述式語(yǔ)言(declarative language ) C)按應(yīng)用范圍分:按應(yīng)用范圍分: 通用語(yǔ)言通用語(yǔ)言和和專(zhuān)用語(yǔ)言專(zhuān)用語(yǔ)言 通用語(yǔ)言通用語(yǔ)言指目標(biāo)非單一的語(yǔ)言,如指目標(biāo)非單一的語(yǔ)言,如FORTRAN、COBOL、C等。等。

25、專(zhuān)用語(yǔ)言專(zhuān)用語(yǔ)言指目標(biāo)單一的語(yǔ)言,如自指目標(biāo)單一的語(yǔ)言,如自動(dòng)數(shù)控程序動(dòng)數(shù)控程序APT。 D)按使用方式分:按使用方式分: 交互式語(yǔ)言交互式語(yǔ)言和和非交互式語(yǔ)言非交互式語(yǔ)言 交互式語(yǔ)言交互式語(yǔ)言指具有反映人機(jī)交互作用指具有反映人機(jī)交互作用的語(yǔ)言,如的語(yǔ)言,如BASIC。 非交互式語(yǔ)言非交互式語(yǔ)言指不反映人機(jī)交互作用指不反映人機(jī)交互作用的語(yǔ)言,的語(yǔ)言,如如FORTRAN、COBOL。 E)按成分性質(zhì)分:按成分性質(zhì)分: 順序語(yǔ)言順序語(yǔ)言、并發(fā)語(yǔ)言并發(fā)語(yǔ)言、分布語(yǔ)言分布語(yǔ)言 順序語(yǔ)言順序語(yǔ)言指只含順序成分的語(yǔ)言,如指只含順序成分的語(yǔ)言,如FORTRAN、C。 并發(fā)語(yǔ)言并發(fā)語(yǔ)言指含有并發(fā)成分的語(yǔ)言,如

26、指含有并發(fā)成分的語(yǔ)言,如Modula、Ada、并發(fā)并發(fā)Pascal。 分布語(yǔ)言分布語(yǔ)言指考慮到分布計(jì)算要求的語(yǔ)指考慮到分布計(jì)算要求的語(yǔ)言,如言,如Modula。5.文檔語(yǔ)言文檔語(yǔ)言 documentation languagen 文檔語(yǔ)言文檔語(yǔ)言用來(lái)書(shū)寫(xiě)軟件文檔。用來(lái)書(shū)寫(xiě)軟件文檔。 計(jì)算機(jī)軟件文檔是計(jì)算機(jī)開(kāi)發(fā)、維護(hù)和計(jì)算機(jī)軟件文檔是計(jì)算機(jī)開(kāi)發(fā)、維護(hù)和使用過(guò)程的檔案資料和對(duì)軟件本身的闡使用過(guò)程的檔案資料和對(duì)軟件本身的闡述性資料。述性資料。 通常用自然語(yǔ)言或半形式化語(yǔ)言書(shū)寫(xiě)。通常用自然語(yǔ)言或半形式化語(yǔ)言書(shū)寫(xiě)。軟件軟件危機(jī)解決途徑(歸納)危機(jī)解決途徑(歸納)n解決途徑解決途徑n組織管理組織管理n工程

27、項(xiàng)目管理方法工程項(xiàng)目管理方法n技術(shù)措施技術(shù)措施n軟件開(kāi)發(fā)技術(shù)與方法軟件開(kāi)發(fā)技術(shù)與方法n軟件工具軟件工具軟件工程學(xué)的范疇軟件工程學(xué)的范疇n軟件工程學(xué)軟件工程學(xué)n指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科 n工程管理工程管理+開(kāi)發(fā)技術(shù)開(kāi)發(fā)技術(shù)n軟件開(kāi)發(fā)技術(shù)軟件開(kāi)發(fā)技術(shù)n軟件開(kāi)發(fā)方法學(xué)軟件開(kāi)發(fā)方法學(xué)n軟件工具軟件工具n軟件工程環(huán)境軟件工程環(huán)境n軟件工程管理軟件工程管理n軟件管理學(xué)軟件管理學(xué)n軟件經(jīng)濟(jì)學(xué)軟件經(jīng)濟(jì)學(xué)n軟件度量學(xué)軟件度量學(xué)軟件工程定義軟件工程定義1968年年NATO(北大西洋公約組織北大西洋公約組織)會(huì)議上首次提出會(huì)議上首次提出nFritz Bauer:軟件工程是

28、為了經(jīng)濟(jì)地獲得可靠的軟件工程是為了經(jīng)濟(jì)地獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而建立和使用的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而建立和使用的好的工程原則好的工程原則nIEEE: 軟件工程是(軟件工程是(1)將系統(tǒng)化的、規(guī)范的、可)將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,即將工程化應(yīng)用于軟件中;(即將工程化應(yīng)用于軟件中;(2)()(1)中所述方法)中所述方法的研究的研究n計(jì)算機(jī)科學(xué)技術(shù)百科全書(shū):計(jì)算機(jī)科學(xué)技術(shù)百科全書(shū):軟件工程是應(yīng)用計(jì)算機(jī)軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和科學(xué)、數(shù)學(xué)及管理科學(xué)等原

29、理,以工程化的原則和方法制作軟件的工程方法制作軟件的工程軟件工程的框架軟件工程的框架 (目標(biāo)、過(guò)程、原則)(目標(biāo)、過(guò)程、原則)n 目標(biāo):目標(biāo): 生產(chǎn)具有生產(chǎn)具有正確性正確性、可用性可用性以及以及價(jià)格合宜價(jià)格合宜的產(chǎn)品的產(chǎn)品 正確性正確性反映軟件產(chǎn)品實(shí)現(xiàn)相應(yīng)功能規(guī)約的程度;反映軟件產(chǎn)品實(shí)現(xiàn)相應(yīng)功能規(guī)約的程度; 可用性可用性反映軟件的基本結(jié)構(gòu)、實(shí)現(xiàn)及其文檔為反映軟件的基本結(jié)構(gòu)、實(shí)現(xiàn)及其文檔為用戶可用的程度;用戶可用的程度; 價(jià)格合宜價(jià)格合宜反映軟件開(kāi)發(fā)與運(yùn)行的總代價(jià)滿足用反映軟件開(kāi)發(fā)與運(yùn)行的總代價(jià)滿足用戶要求的程度。戶要求的程度。n 過(guò)程(過(guò)程(Process):): 生產(chǎn)一個(gè)最終滿足需求且達(dá)到工

30、程目生產(chǎn)一個(gè)最終滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟標(biāo)的軟件產(chǎn)品所需要的步驟 軟件工程過(guò)程包括:開(kāi)發(fā)過(guò)程、運(yùn)作軟件工程過(guò)程包括:開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程、管理過(guò)程、支持過(guò)程、過(guò)程、維護(hù)過(guò)程、管理過(guò)程、支持過(guò)程、獲取過(guò)程、供應(yīng)過(guò)程、剪裁過(guò)程等獲取過(guò)程、供應(yīng)過(guò)程、剪裁過(guò)程等軟件工程的框架軟件工程的框架 (目標(biāo)、過(guò)程、原則)(目標(biāo)、過(guò)程、原則)n 原則:原則: 選取適宜的開(kāi)發(fā)模型選取適宜的開(kāi)發(fā)模型 采用合適的設(shè)計(jì)方法采用合適的設(shè)計(jì)方法 提供高質(zhì)量的工程支持提供高質(zhì)量的工程支持 重視軟件工程的管理重視軟件工程的管理軟件工程的框架軟件工程的框架 (目標(biāo)、過(guò)程、原則)(目標(biāo)、過(guò)程、原則)軟件生

31、存周期軟件生存周期 ( software life cycle)n軟件有一個(gè)孕育、誕生、成長(zhǎng)、成熟、衰軟件有一個(gè)孕育、誕生、成長(zhǎng)、成熟、衰亡的生存過(guò)程。這個(gè)過(guò)程即為計(jì)算機(jī)軟件亡的生存過(guò)程。這個(gè)過(guò)程即為計(jì)算機(jī)軟件的生存周期的生存周期n軟件生存周期大體可分為如下幾個(gè)活動(dòng):軟件生存周期大體可分為如下幾個(gè)活動(dòng):計(jì)算機(jī)系統(tǒng)工程計(jì)算機(jī)系統(tǒng)工程、需求分析需求分析、設(shè)計(jì)設(shè)計(jì)、編碼編碼、測(cè)試測(cè)試、運(yùn)行和維護(hù)運(yùn)行和維護(hù)n 計(jì)算機(jī)系統(tǒng)工程計(jì)算機(jī)系統(tǒng)工程計(jì)算機(jī)系統(tǒng)包括計(jì)算機(jī)硬件、軟件、使用計(jì)計(jì)算機(jī)系統(tǒng)包括計(jì)算機(jī)硬件、軟件、使用計(jì)算機(jī)系統(tǒng)的人、數(shù)據(jù)庫(kù)、文檔、規(guī)程等系統(tǒng)算機(jī)系統(tǒng)的人、數(shù)據(jù)庫(kù)、文檔、規(guī)程等系統(tǒng)元素。元素。計(jì)

32、算機(jī)系統(tǒng)工程的任務(wù):計(jì)算機(jī)系統(tǒng)工程的任務(wù):v確定待開(kāi)發(fā)軟件的總體要求和范圍,以及它與確定待開(kāi)發(fā)軟件的總體要求和范圍,以及它與其它計(jì)算機(jī)系統(tǒng)元素之間的關(guān)系其它計(jì)算機(jī)系統(tǒng)元素之間的關(guān)系v進(jìn)行成本估算,做出進(jìn)度安排進(jìn)行成本估算,做出進(jìn)度安排v進(jìn)行可行性分析,即從經(jīng)濟(jì)、技術(shù)、法律等方進(jìn)行可行性分析,即從經(jīng)濟(jì)、技術(shù)、法律等方面分析待開(kāi)發(fā)的軟件是否有可行的解決方案,面分析待開(kāi)發(fā)的軟件是否有可行的解決方案,并在若干個(gè)可行的解決方案中作出選擇。并在若干個(gè)可行的解決方案中作出選擇。n軟件需求分析軟件需求分析主要解決待開(kāi)發(fā)軟件要主要解決待開(kāi)發(fā)軟件要“做什么做什么”的問(wèn)題的問(wèn)題確定軟件的功能、性能、數(shù)據(jù)、界確定軟件

33、的功能、性能、數(shù)據(jù)、界面等要求,生成軟件需求規(guī)約。面等要求,生成軟件需求規(guī)約。n 軟件設(shè)計(jì)軟件設(shè)計(jì)主要解決待開(kāi)發(fā)軟件主要解決待開(kāi)發(fā)軟件“怎么做怎么做”的問(wèn)題。的問(wèn)題。軟件設(shè)計(jì)通??煞譃橄到y(tǒng)設(shè)計(jì)(也稱(chēng)概要設(shè)軟件設(shè)計(jì)通??煞譃橄到y(tǒng)設(shè)計(jì)(也稱(chēng)概要設(shè)計(jì)或總體設(shè)計(jì))和詳細(xì)設(shè)計(jì)。計(jì)或總體設(shè)計(jì))和詳細(xì)設(shè)計(jì)。系統(tǒng)設(shè)計(jì)的任務(wù)是設(shè)計(jì)軟件系統(tǒng)的體系結(jié)構(gòu),系統(tǒng)設(shè)計(jì)的任務(wù)是設(shè)計(jì)軟件系統(tǒng)的體系結(jié)構(gòu),包括軟件系統(tǒng)的組成成分、各成分的功能和包括軟件系統(tǒng)的組成成分、各成分的功能和接口、成分間的連接和通信,同時(shí)設(shè)計(jì)全局接口、成分間的連接和通信,同時(shí)設(shè)計(jì)全局?jǐn)?shù)據(jù)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu);詳細(xì)設(shè)計(jì)的任務(wù)是設(shè)計(jì)各個(gè)組成成分的實(shí)現(xiàn)詳細(xì)設(shè)計(jì)的任務(wù)是

34、設(shè)計(jì)各個(gè)組成成分的實(shí)現(xiàn)細(xì)節(jié),包括局部數(shù)據(jù)結(jié)構(gòu)和算法等。細(xì)節(jié),包括局部數(shù)據(jù)結(jié)構(gòu)和算法等。n編碼編碼 用某種程序設(shè)計(jì)語(yǔ)言,將設(shè)計(jì)的結(jié)用某種程序設(shè)計(jì)語(yǔ)言,將設(shè)計(jì)的結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。果轉(zhuǎn)換為可執(zhí)行的程序代碼。n測(cè)試測(cè)試 發(fā)現(xiàn)并糾正軟件中的錯(cuò)誤和缺陷。發(fā)現(xiàn)并糾正軟件中的錯(cuò)誤和缺陷。測(cè)試主要包括單元測(cè)試、集成測(cè)試、測(cè)試主要包括單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。確認(rèn)測(cè)試和系統(tǒng)測(cè)試。n運(yùn)行和維護(hù)運(yùn)行和維護(hù) 在軟件運(yùn)行期間,當(dāng)發(fā)現(xiàn)了軟件在軟件運(yùn)行期間,當(dāng)發(fā)現(xiàn)了軟件中潛藏的錯(cuò)誤或需要增加新的功能中潛藏的錯(cuò)誤或需要增加新的功能或使軟件適應(yīng)外界環(huán)境的變化等情或使軟件適應(yīng)外界環(huán)境的變化等情況出現(xiàn)時(shí)對(duì)況出

35、現(xiàn)時(shí)對(duì)軟件進(jìn)行修改軟件進(jìn)行修改。軟件過(guò)程軟件過(guò)程 軟件過(guò)程是軟件生存周期中的軟件過(guò)程是軟件生存周期中的一系列相關(guān)的過(guò)程。過(guò)程是活動(dòng)的一系列相關(guān)的過(guò)程。過(guò)程是活動(dòng)的集合,活動(dòng)是任務(wù)的集合。集合,活動(dòng)是任務(wù)的集合。軟件過(guò)程有三層含義軟件過(guò)程有三層含義:個(gè)體含義個(gè)體含義,即指軟件產(chǎn)品或系統(tǒng)在生存周期中,即指軟件產(chǎn)品或系統(tǒng)在生存周期中的某一類(lèi)活動(dòng)的集合,如軟件開(kāi)發(fā)過(guò)程,軟件的某一類(lèi)活動(dòng)的集合,如軟件開(kāi)發(fā)過(guò)程,軟件管理過(guò)程等;管理過(guò)程等;整體含義整體含義,即指軟件產(chǎn)品或系統(tǒng)在所有上述含,即指軟件產(chǎn)品或系統(tǒng)在所有上述含義下的軟件過(guò)程的總體;義下的軟件過(guò)程的總體;工程含義工程含義,即指解決軟件過(guò)程的工程,它

36、應(yīng)用,即指解決軟件過(guò)程的工程,它應(yīng)用軟件工程的原則、方法來(lái)構(gòu)造軟件過(guò)程模型,軟件工程的原則、方法來(lái)構(gòu)造軟件過(guò)程模型,并結(jié)合軟件產(chǎn)品的具體要求進(jìn)行實(shí)例化,以及并結(jié)合軟件產(chǎn)品的具體要求進(jìn)行實(shí)例化,以及在用戶環(huán)境下的運(yùn)作,以此進(jìn)一步提高軟件生在用戶環(huán)境下的運(yùn)作,以此進(jìn)一步提高軟件生產(chǎn)率,降低成本。產(chǎn)率,降低成本。ISO12207軟件生存周期過(guò)程軟件生存周期過(guò)程 ISO/IEC 12207標(biāo)準(zhǔn)把軟件生存周標(biāo)準(zhǔn)把軟件生存周期中可以開(kāi)展的活動(dòng)分為期中可以開(kāi)展的活動(dòng)分為5個(gè)基本過(guò)程個(gè)基本過(guò)程,8個(gè)支持過(guò)程個(gè)支持過(guò)程和和4個(gè)組織過(guò)程個(gè)組織過(guò)程。每一個(gè)過(guò)。每一個(gè)過(guò)程劃分為一組活動(dòng),每項(xiàng)活動(dòng)進(jìn)一步劃程劃分為一組活

37、動(dòng),每項(xiàng)活動(dòng)進(jìn)一步劃分為一組任務(wù)。分為一組任務(wù)。 基本(基本(primary)過(guò)程(一)過(guò)程(一) 供各當(dāng)事方在軟件生存周期期間使用。供各當(dāng)事方在軟件生存周期期間使用。 包括:包括:n獲取(獲?。╝cquisition)過(guò)程)過(guò)程:確定需方和組織:確定需方和組織向供方獲取系統(tǒng)、軟件或軟件服務(wù)的活動(dòng)。向供方獲取系統(tǒng)、軟件或軟件服務(wù)的活動(dòng)。n供應(yīng)(供應(yīng)(supply)過(guò)程)過(guò)程:確定供方和組織向需:確定供方和組織向需方提供系統(tǒng)、軟件或軟件服務(wù)的活動(dòng)。方提供系統(tǒng)、軟件或軟件服務(wù)的活動(dòng)。 基本(基本(primary)過(guò)程(二)過(guò)程(二)n開(kāi)發(fā)(開(kāi)發(fā)(development)過(guò)程)過(guò)程:確定開(kāi)發(fā):確定開(kāi)

38、發(fā)者和組織定義并開(kāi)發(fā)軟件的活動(dòng)。者和組織定義并開(kāi)發(fā)軟件的活動(dòng)。n運(yùn)作(運(yùn)作(operation)過(guò)程)過(guò)程:確定操作者:確定操作者和組織在規(guī)定的環(huán)境中為其用戶提供運(yùn)和組織在規(guī)定的環(huán)境中為其用戶提供運(yùn)行計(jì)算機(jī)系統(tǒng)服務(wù)的活動(dòng)。行計(jì)算機(jī)系統(tǒng)服務(wù)的活動(dòng)。n維護(hù)(維護(hù)(maintenance)過(guò)程)過(guò)程:確定維護(hù):確定維護(hù)者和組織提供維護(hù)軟件服務(wù)的活動(dòng)。者和組織提供維護(hù)軟件服務(wù)的活動(dòng)。 支持(支持(supporting)過(guò)程(一)過(guò)程(一) 用于支持其他過(guò)程,它有助于軟件項(xiàng)目用于支持其他過(guò)程,它有助于軟件項(xiàng)目的成功和質(zhì)量提高。的成功和質(zhì)量提高。 包括:包括:n文檔編制(文檔編制(documentatio

39、n)過(guò)程)過(guò)程: 確定記確定記錄生存周期過(guò)程產(chǎn)生的信息所需的活動(dòng)。錄生存周期過(guò)程產(chǎn)生的信息所需的活動(dòng)。 n配置管理(配置管理(configuration management)過(guò)程過(guò)程: 確定配置管理活動(dòng)。確定配置管理活動(dòng)。 支持(支持(supporting)過(guò)程(二)過(guò)程(二)n質(zhì)量保證(質(zhì)量保證(quality assurance)過(guò)程)過(guò)程:確:確定客觀地保證軟件和過(guò)程符合規(guī)定的要求定客觀地保證軟件和過(guò)程符合規(guī)定的要求以及已建立的計(jì)劃所需的活動(dòng)。以及已建立的計(jì)劃所需的活動(dòng)。 n驗(yàn)證(驗(yàn)證(verification)過(guò)程)過(guò)程:根據(jù)軟件項(xiàng)目:根據(jù)軟件項(xiàng)目要求,按不同深度確定驗(yàn)證軟件所需的活

40、要求,按不同深度確定驗(yàn)證軟件所需的活動(dòng)。動(dòng)。n確認(rèn)(確認(rèn)(validation)過(guò)程)過(guò)程:確定確認(rèn)軟件所:確定確認(rèn)軟件所需的活動(dòng)。需的活動(dòng)。n聯(lián)合評(píng)審(聯(lián)合評(píng)審(joint review)過(guò)程過(guò)程:確定評(píng)價(jià):確定評(píng)價(jià)一項(xiàng)活動(dòng)的狀態(tài)和產(chǎn)品所需的活動(dòng)。一項(xiàng)活動(dòng)的狀態(tài)和產(chǎn)品所需的活動(dòng)。n審計(jì)(審計(jì)(audit)過(guò)程過(guò)程:確定為判斷符合要求、:確定為判斷符合要求、計(jì)劃和合同所需的活動(dòng)。計(jì)劃和合同所需的活動(dòng)。 n問(wèn)題解決(問(wèn)題解決(problem resolution)過(guò)程過(guò)程:確定一個(gè)用于分析和解決問(wèn)題的過(guò)程。確定一個(gè)用于分析和解決問(wèn)題的過(guò)程。 支持(支持(supporting)過(guò)程(三)過(guò)程(三)

41、 用于軟件組織建立和實(shí)現(xiàn)構(gòu)成相關(guān)用于軟件組織建立和實(shí)現(xiàn)構(gòu)成相關(guān)生存周期的基礎(chǔ)結(jié)構(gòu)和人事制度,并不生存周期的基礎(chǔ)結(jié)構(gòu)和人事制度,并不斷改進(jìn)這種結(jié)構(gòu)和過(guò)程。斷改進(jìn)這種結(jié)構(gòu)和過(guò)程。 包括:包括:n管理(管理(management)過(guò)程過(guò)程:確定生:確定生存周期過(guò)程中的基本管理活動(dòng)。存周期過(guò)程中的基本管理活動(dòng)。組織(組織(organizational)過(guò)程(一)過(guò)程(一)組織(組織(organizational)過(guò)程(二)過(guò)程(二)n基礎(chǔ)設(shè)施(基礎(chǔ)設(shè)施(infrastructure)過(guò)程)過(guò)程:確:確定建立生存周期過(guò)程基礎(chǔ)結(jié)構(gòu)的基本活定建立生存周期過(guò)程基礎(chǔ)結(jié)構(gòu)的基本活動(dòng)。動(dòng)。 n改進(jìn)(改進(jìn)(impro

42、vement)過(guò)程)過(guò)程: 確定一個(gè)確定一個(gè)組織為建立、測(cè)量、控制和改進(jìn)其生存組織為建立、測(cè)量、控制和改進(jìn)其生存周期過(guò)程所需開(kāi)展的基本活動(dòng)。周期過(guò)程所需開(kāi)展的基本活動(dòng)。 n培訓(xùn)(培訓(xùn)(training)過(guò)程)過(guò)程: 確定提供經(jīng)適當(dāng)確定提供經(jīng)適當(dāng)培訓(xùn)的人員所需的活動(dòng)。培訓(xùn)的人員所需的活動(dòng)。ISO/IEC 12207為軟件生存周期過(guò)程為軟件生存周期過(guò)程建立了一個(gè)公共框架,它提供了一組標(biāo)準(zhǔn)的建立了一個(gè)公共框架,它提供了一組標(biāo)準(zhǔn)的過(guò)程、活動(dòng)和任務(wù)。對(duì)于一個(gè)軟件項(xiàng)目,可過(guò)程、活動(dòng)和任務(wù)。對(duì)于一個(gè)軟件項(xiàng)目,可根據(jù)其具體情況對(duì)標(biāo)準(zhǔn)的過(guò)程、活動(dòng)和任務(wù)根據(jù)其具體情況對(duì)標(biāo)準(zhǔn)的過(guò)程、活動(dòng)和任務(wù)進(jìn)行剪裁,即刪除不適用

43、的過(guò)程、活動(dòng)和任進(jìn)行剪裁,即刪除不適用的過(guò)程、活動(dòng)和任務(wù)。務(wù)。ISO12207軟件生存周期過(guò)程(小結(jié))軟件生存周期過(guò)程(小結(jié))兩種程序設(shè)計(jì)方法兩種程序設(shè)計(jì)方法n程序設(shè)計(jì)的兩程序設(shè)計(jì)的兩次飛躍(見(jiàn)次飛躍(見(jiàn)P7)n結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)n程序程序=數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+算法算法n面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)n程序程序 = 對(duì)象對(duì)象 + 消息消息 面向過(guò)程和面向?qū)ο蟮木幋a面向過(guò)程和面向?qū)ο蟮木幋a存款取款利 息 結(jié)算帳 戶 余額帳 戶 余額利 息 結(jié)算存 款取 款兩類(lèi)軟件工程方法兩類(lèi)軟件工程方法n傳統(tǒng)軟件工程傳統(tǒng)軟件工程n軟件分析軟件分析 總體設(shè)計(jì)總體設(shè)計(jì) 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 面向過(guò)程的編碼面向

44、過(guò)程的編碼 測(cè)試測(cè)試 n面向?qū)ο筌浖こ堂嫦驅(qū)ο筌浖こ蘮軟件分析與對(duì)象抽取軟件分析與對(duì)象抽取 對(duì)象詳細(xì)設(shè)計(jì)對(duì)象詳細(xì)設(shè)計(jì) 面向?qū)ο蟮木幋a面向?qū)ο蟮木幋a 測(cè)試測(cè)試 軟件工程的應(yīng)用軟件工程的應(yīng)用n軟件工程指導(dǎo)中小型軟件軟件工程指導(dǎo)中小型軟件n軟件工程指導(dǎo)大型軟件軟件工程指導(dǎo)大型軟件n軟件工程的成就軟件工程的成就n軟件工程的局限軟件工程的局限軟件工程教育的定位軟件工程教育的定位我國(guó)軟件工程的專(zhuān)業(yè)教育與軟件人才我國(guó)軟件工程的專(zhuān)業(yè)教育與軟件人才的鏈之間的關(guān)系可描述為如下圖:的鏈之間的關(guān)系可描述為如下圖:軟件開(kāi)發(fā)工程師軟件開(kāi)發(fā)工程師架構(gòu)設(shè)計(jì)師架構(gòu)設(shè)計(jì)師產(chǎn)品經(jīng)理產(chǎn)品經(jīng)理項(xiàng)目管理者項(xiàng)目管理者系統(tǒng)分析師系統(tǒng)分析

45、師系統(tǒng)設(shè)計(jì)師系統(tǒng)設(shè)計(jì)師程序員程序員研究生教育研究生教育本科教育本科教育大專(zhuān)教育大專(zhuān)教育中專(zhuān)教育中專(zhuān)教育軟件工程教育的定位軟件工程教育的定位 觀點(diǎn):觀點(diǎn): 不同的人才培養(yǎng)或者不同軟件開(kāi)發(fā)的崗位對(duì)軟件工程的知識(shí)要求是不一樣的。 我們?cè)趯W(xué)習(xí)軟件工程知識(shí)與選用教材時(shí),充分地考慮到這一因素,采取因材取舍的原則。 不同的軟件工程教材,適用于不同層次的人員學(xué)習(xí),所以不同層次的人才選用不同的教材。例:海南紐康信息系統(tǒng)有限公司海南紐康信息系統(tǒng)有限公司 崗位能力規(guī)定1. 程序員崗位能力規(guī)定程序員崗位能力規(guī)定錄錄用用員員工工條條件件年齡范圍:年齡范圍:20-2520-25學(xué)歷要求:學(xué)歷要求:大專(zhuān)以上或中專(zhuān)以上并有計(jì)

46、算機(jī)相關(guān)證書(shū)大專(zhuān)以上或中專(zhuān)以上并有計(jì)算機(jī)相關(guān)證書(shū)專(zhuān)業(yè)要求:專(zhuān)業(yè)要求:計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)工作經(jīng)歷要求:工作經(jīng)歷要求:1. 1.有從事軟件編程的實(shí)習(xí)經(jīng)歷有從事軟件編程的實(shí)習(xí)經(jīng)歷3-63-6個(gè)月以上。個(gè)月以上。 2. 2.通過(guò)公司內(nèi)部實(shí)習(xí)期。通過(guò)公司內(nèi)部實(shí)習(xí)期。日語(yǔ)水平:日語(yǔ)水平:1. 1.相當(dāng)三級(jí)相當(dāng)三級(jí) 2. 2.或者有或者有4 4級(jí)證書(shū)級(jí)證書(shū) 3. 3.或者進(jìn)公司時(shí)能理解日語(yǔ)仕樣書(shū),熟悉日語(yǔ)環(huán)境或者進(jìn)公司時(shí)能理解日語(yǔ)仕樣書(shū),熟悉日語(yǔ)環(huán)境技術(shù)水平:技術(shù)水平:1. 1.熟悉和掌握基本的數(shù)據(jù)庫(kù)熟悉和掌握基本的數(shù)據(jù)庫(kù) 2. 2.熟悉和掌握熟悉和掌握2 2門(mén)開(kāi)發(fā)語(yǔ)言門(mén)開(kāi)發(fā)語(yǔ)言 3. 3.能

47、勝任項(xiàng)目中編程能勝任項(xiàng)目中編程能力要求:能力要求:1. 1.具備較強(qiáng)的學(xué)習(xí)能力具備較強(qiáng)的學(xué)習(xí)能力 2. 2.工作積極主動(dòng),有責(zé)任心,有良好的品質(zhì)意識(shí)工作積極主動(dòng),有責(zé)任心,有良好的品質(zhì)意識(shí)崗崗位位工工作作描描述述1. 1.能按時(shí)按質(zhì)完成軟件項(xiàng)目中的編碼工作能按時(shí)按質(zhì)完成軟件項(xiàng)目中的編碼工作2. 2.能按時(shí)按質(zhì)完成單體測(cè)試工作能按時(shí)按質(zhì)完成單體測(cè)試工作3. 3.能制作符合要求的測(cè)試報(bào)告能制作符合要求的測(cè)試報(bào)告4. 4.能認(rèn)真的參加項(xiàng)目?jī)?nèi)或部門(mén)、公司安排的培訓(xùn),并且能達(dá)到培訓(xùn)要求。能認(rèn)真的參加項(xiàng)目?jī)?nèi)或部門(mén)、公司安排的培訓(xùn),并且能達(dá)到培訓(xùn)要求。5. 5.每年的技術(shù)水平和日語(yǔ)水平考核有進(jìn)步。每年的技術(shù)

48、水平和日語(yǔ)水平考核有進(jìn)步。2. 軟件工程師崗位能力規(guī)定軟件工程師崗位能力規(guī)定錄錄用用員員工工條條件件年齡范圍:年齡范圍:20-2720-27學(xué)歷要求:大專(zhuān)以上學(xué)歷要求:大專(zhuān)以上專(zhuān)業(yè)要求:計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)專(zhuān)業(yè)要求:計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)工作經(jīng)歷要求:工作經(jīng)歷要求:1.有從事軟件編程一年以上的相關(guān)工作經(jīng)歷有從事軟件編程一年以上的相關(guān)工作經(jīng)歷 2.通過(guò)公司內(nèi)部試用期通過(guò)公司內(nèi)部試用期日語(yǔ)水平:日語(yǔ)水平:1.相當(dāng)三級(jí)相當(dāng)三級(jí) 2.或者有或者有4級(jí)證書(shū)級(jí)證書(shū) 3.能理解日語(yǔ)仕樣書(shū),熟悉日語(yǔ)開(kāi)發(fā)環(huán)境達(dá)一年能理解日語(yǔ)仕樣書(shū),熟悉日語(yǔ)開(kāi)發(fā)環(huán)境達(dá)一年 技術(shù)水平:技術(shù)水平:1.熟悉運(yùn)用熟悉運(yùn)用SQL server、Or

49、acle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 2.熟悉運(yùn)用熟悉運(yùn)用VC、C+或或Java編程編程 3.能帶一個(gè)實(shí)習(xí)生能帶一個(gè)實(shí)習(xí)生 能力要求:能力要求:1.具備較強(qiáng)的學(xué)習(xí)能力具備較強(qiáng)的學(xué)習(xí)能力 2.工作積極主動(dòng),有責(zé)任心,有良好的品質(zhì)意識(shí)工作積極主動(dòng),有責(zé)任心,有良好的品質(zhì)意識(shí) 3.具有團(tuán)隊(duì)協(xié)作精神及溝通能力具有團(tuán)隊(duì)協(xié)作精神及溝通能力 崗崗位位工工作作描描述述1.能按時(shí)按質(zhì)完成軟件項(xiàng)目中的編碼工作能按時(shí)按質(zhì)完成軟件項(xiàng)目中的編碼工作2.能完成詳細(xì)設(shè)計(jì)的任務(wù)能完成詳細(xì)設(shè)計(jì)的任務(wù)3.能完成綜合測(cè)試任務(wù)能完成綜合測(cè)試任務(wù)4.能協(xié)助公司獨(dú)立擔(dān)當(dāng)帶好新手的任務(wù)能協(xié)助公司獨(dú)立擔(dān)當(dāng)帶好新手的任務(wù) 3. 高級(jí)軟件工程師崗位能力規(guī)定高級(jí)

50、軟件工程師崗位能力規(guī)定錄錄用用員員工工條條件件年齡范圍:年齡范圍:25歲以上歲以上學(xué)歷要求:本科以上或?qū)?撇⒂袑W(xué)歷要求:本科以上或?qū)?撇⒂?計(jì)算機(jī)相關(guān)技術(shù)證書(shū)計(jì)算機(jī)相關(guān)技術(shù)證書(shū) 專(zhuān)業(yè)要求:專(zhuān)業(yè)要求:計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)工作經(jīng)歷要求:工作經(jīng)歷要求:1.從事日本軟件編程的工作經(jīng)歷超過(guò)三年從事日本軟件編程的工作經(jīng)歷超過(guò)三年 2.有在項(xiàng)目中擔(dān)任技術(shù)骨干的經(jīng)驗(yàn)至少一年有在項(xiàng)目中擔(dān)任技術(shù)骨干的經(jīng)驗(yàn)至少一年 3.通過(guò)公司內(nèi)部試用期。通過(guò)公司內(nèi)部試用期。日語(yǔ)水平:日語(yǔ)水平:1.相當(dāng)三級(jí)相當(dāng)三級(jí) 2.能理解日語(yǔ)仕樣書(shū)能理解日語(yǔ)仕樣書(shū) 技術(shù)水平:技術(shù)水平:1.精通運(yùn)用精通運(yùn)用SQL server、Or

51、acle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 2.精通精通VC、C+或或Java,同類(lèi)技術(shù)運(yùn)用時(shí)間在三年以上,同類(lèi)技術(shù)運(yùn)用時(shí)間在三年以上 3.熟悉各種計(jì)算機(jī)開(kāi)發(fā)語(yǔ)言。熟悉各種計(jì)算機(jī)開(kāi)發(fā)語(yǔ)言。 能力要求:能力要求:1.具備較強(qiáng)的學(xué)習(xí)能力具備較強(qiáng)的學(xué)習(xí)能力 2.工作積極主動(dòng),有責(zé)任心,有良好的品質(zhì)意識(shí)工作積極主動(dòng),有責(zé)任心,有良好的品質(zhì)意識(shí) 3.具有團(tuán)隊(duì)協(xié)作精神及溝通能力具有團(tuán)隊(duì)協(xié)作精神及溝通能力 4.在項(xiàng)目組中有解決技術(shù)難題的能力或能起到項(xiàng)目組協(xié)理作用在項(xiàng)目組中有解決技術(shù)難題的能力或能起到項(xiàng)目組協(xié)理作用 崗崗位位工工作作描描述述1.能配合項(xiàng)目主管按時(shí)按質(zhì)完成項(xiàng)目任務(wù)。能配合項(xiàng)目主管按時(shí)按質(zhì)完成項(xiàng)目任務(wù)。2.在項(xiàng)目組內(nèi)擔(dān)當(dāng)技術(shù)骨干作用或擔(dān)當(dāng)部門(mén)協(xié)理作用。在項(xiàng)目組內(nèi)擔(dān)當(dāng)技術(shù)骨干作用或擔(dān)當(dāng)部門(mén)協(xié)理作用。3.首先理解項(xiàng)目中客戶規(guī)定的首先理解項(xiàng)目中客戶規(guī)定的“工具工具”,并能輔導(dǎo)組員掌握,并在整個(gè)項(xiàng)目中擔(dān)當(dāng),并能輔導(dǎo)組員掌握,并在整個(gè)項(xiàng)目中擔(dān)當(dāng)指導(dǎo)工作。指導(dǎo)工作。4.擔(dān)當(dāng)事業(yè)部?jī)?nèi)或公司安排的技術(shù)培訓(xùn)任

溫馨提示

  • 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)論