軟件工程(完整版)_第1頁(yè)
軟件工程(完整版)_第2頁(yè)
軟件工程(完整版)_第3頁(yè)
軟件工程(完整版)_第4頁(yè)
軟件工程(完整版)_第5頁(yè)
已閱讀5頁(yè),還剩747頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、陳春玲南京郵電大學(xué)軟件學(xué)13809029453,V4.1,高級(jí)軟件項(xiàng)目,目的和要求:了解軟件開發(fā)技術(shù)的發(fā)展和現(xiàn)狀,掌握現(xiàn)在的大型軟件系統(tǒng)的開發(fā)方法和技術(shù),以標(biāo)準(zhǔn)化的方式開發(fā)大型軟件重點(diǎn)和難點(diǎn):確立面向?qū)ο筌浖_發(fā)方法的想法,用統(tǒng)一建模語言(UML )構(gòu)建復(fù)雜軟件系統(tǒng)可視化的系統(tǒng)模型。 先修課:對(duì)象程序設(shè)計(jì),數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)學(xué)時(shí): 40教材和參考書: (1)周之英,現(xiàn)代軟件工程(中、下),科學(xué)出版社(2)鄭人杰等實(shí)用軟件工程(第二版),清華大學(xué)出版社(3)張龍祥,UML和系統(tǒng)分析設(shè)計(jì)Mary Shaw Software Architecture,清華大學(xué)出版社,高級(jí)

2、軟件項(xiàng)目教育內(nèi)容第一章軟件工程概要1軟件技術(shù)概要(概念和特征,計(jì)算機(jī)軟件技術(shù),軟件復(fù)用) 2軟件危機(jī)(發(fā)生原因,解決3軟件工程(概念、原理、開發(fā)方法的概要、軟件工程環(huán)境)第二章需求分析工序1需求分析工序概要2需求分析工序3需求分析技術(shù)第三章軟件開發(fā)的結(jié)構(gòu)化方法1問題的定義、可行性研究2結(jié)構(gòu)化分析和設(shè)計(jì)3軟件測(cè)試, 程序調(diào)試第4章軟件開發(fā)的面向?qū)ο蟮姆椒?面向?qū)ο蟮姆椒ǖ母乓?面向?qū)ο蟮姆治龊驮O(shè)計(jì)3面向?qū)ο鬁y(cè)試第5章統(tǒng)一建模語言UML和實(shí)例1 UML的概要2 UML視圖3可視建模工具Rose 4 UML 面向?qū)ο箝_發(fā)的設(shè)計(jì)模式1設(shè)計(jì)模式概要24個(gè)設(shè)計(jì)模式3設(shè)計(jì)模式目錄4設(shè)計(jì)模式的選擇和使用, 第

3、7章軟件體系結(jié)構(gòu)1軟件體系結(jié)構(gòu)概要2體系結(jié)構(gòu)不一致問題3軟件體系結(jié)構(gòu)描述語言4體系結(jié)構(gòu)樣式第8章分布式系統(tǒng)和部件技術(shù)1分布式系統(tǒng)和部件技術(shù)概要2 CORBA技術(shù)3 COM技術(shù), 第一章軟件工程概要第一章軟件工程概要1.1軟件技術(shù)概要1.2軟件危機(jī)1.3軟件工程1.4軟件工程環(huán)境是在學(xué)習(xí)了“高級(jí)編程語言”和“數(shù)據(jù)結(jié)構(gòu)”后形成的但是,開發(fā)大軟件有很多困難。 例如,收到項(xiàng)目后,應(yīng)該從哪里開始,應(yīng)該用什么樣的方法開發(fā),應(yīng)該用什么樣的順序開發(fā),如何評(píng)價(jià)軟件的好壞等,是第一次參加大軟件的開發(fā)者面臨的問題。 因此,我們必須學(xué)習(xí)軟件工程。 第一章軟件工程概要、南京郵電大學(xué)軟件學(xué)院陳春玲、高級(jí)軟件工程、一、軟件

4、的概念和特征程序是一系列指令序列的集合,它被計(jì)算機(jī)理解和執(zhí)行。 文件是指用自然語言或形式化語言寫的文字資料和圖表,描述程序的內(nèi)容、構(gòu)成、設(shè)計(jì)、功能規(guī)格、開發(fā)狀況、測(cè)試結(jié)果和使用方法。 1.1軟件技術(shù)概要,第一章軟件技術(shù)概要1.1.1軟件的概念和特征1.1.2計(jì)算機(jī)軟件技術(shù)1.1.3軟件復(fù)用1.2軟件危機(jī)1.3軟件工程1.4軟件工程環(huán)境,高級(jí)軟件是計(jì)算機(jī)系統(tǒng)中與硬件子系統(tǒng)相互依賴的另一子系統(tǒng),是包含程序及其文檔資料的完整集合,提供了用戶和硬件子系統(tǒng)之間的接口。 隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,人們對(duì)軟件的認(rèn)識(shí)也在深化。 從下式的變化可以看出: 70年代以前:軟件程序; 70年代:軟件=程序文件80年代

5、以后:軟件=文檔程序。 在軟件可維護(hù)性越來越重要的今天,文檔的地位也空前提高,可以自動(dòng)生成。 與小型軟件不同,大型軟件的特點(diǎn)是,規(guī)模很大,現(xiàn)在的軟件是百兆臺(tái),所以要處理的數(shù)據(jù)量很多,消耗的內(nèi)存也很大。 對(duì)于實(shí)時(shí)軟件,不僅規(guī)模大,而且要求可靠性高。復(fù)雜的大型軟件在大量模塊中集成,模塊之間的關(guān)系、調(diào)用方法、數(shù)據(jù)和文件的關(guān)系非常復(fù)雜。 開發(fā)周期長(zhǎng)的大型軟件從立案到交貨,有數(shù)十人、數(shù)百人經(jīng)過數(shù)個(gè)月到數(shù)年的時(shí)間。 開發(fā)、保養(yǎng)、使用者不同的多學(xué)科綜合軟件開發(fā)者,不僅要有必要的軟件知識(shí),還應(yīng)該有多方面的專業(yè)知識(shí)和經(jīng)驗(yàn)。 二、計(jì)算機(jī)軟件技術(shù)、計(jì)算機(jī)軟件技術(shù)是計(jì)算機(jī)軟件開發(fā)所需的所有技術(shù)的總稱。 根據(jù)軟件分支學(xué)

6、科的內(nèi)容,計(jì)算機(jī)軟件技術(shù)包括以下領(lǐng)域: (1)軟件工程技術(shù)包括軟件開發(fā)原則和戰(zhàn)略、軟件開發(fā)方法和軟件過程模式、軟件標(biāo)準(zhǔn)和軟件質(zhì)量測(cè)量、軟件開發(fā)的第一章軟件工程概要1.1軟件技術(shù)概要1.1.1軟件的概念和特征1.1.2計(jì)算機(jī)軟件技術(shù)1.1.3軟件復(fù)用1.2軟件危機(jī)1.3軟件工程1.4軟件工程編程技術(shù)包括程序的結(jié)構(gòu)和算法設(shè)計(jì)、編程風(fēng)格、編程語言、編程方法和編程自動(dòng)化、程序正確性證明和程序轉(zhuǎn)換。 軟件工具環(huán)境技術(shù)包括人機(jī)界面技術(shù)、軟件自動(dòng)生成、軟件工具集成、軟件開發(fā)環(huán)境和軟件復(fù)用等。 系統(tǒng)軟件技術(shù)包括操作系統(tǒng)、編譯方法、分布式系統(tǒng)的分布式處理和并行計(jì)算、并行處理技術(shù)和多媒體軟件技術(shù),數(shù)據(jù)庫(kù)技術(shù)包括數(shù)

7、據(jù)模型、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)、分布式數(shù)據(jù)庫(kù)、對(duì)象實(shí)時(shí)軟件技術(shù)網(wǎng)絡(luò)技術(shù)包括網(wǎng)絡(luò)軟件技術(shù)、調(diào)試過程、網(wǎng)絡(luò)管理、局域網(wǎng)技術(shù)、網(wǎng)絡(luò)互連技術(shù)、智能網(wǎng)絡(luò)等.網(wǎng)絡(luò)技術(shù)包括:網(wǎng)絡(luò)軟件技術(shù); 三、軟件重用,一.軟件重用(軟件重用)概要1968年提出了可重用庫(kù)的思想后,軟件重用的概念得到普及。 軟件復(fù)用是指在構(gòu)筑新軟件系統(tǒng)的過程中,再利用現(xiàn)有軟件產(chǎn)品(設(shè)計(jì)結(jié)構(gòu)、源代碼、文檔等)的技術(shù)。 軟件的復(fù)用有三個(gè)層次:知識(shí)的復(fù)用、方法的復(fù)用、軟件的組件的復(fù)用。 前兩個(gè)是知識(shí)工程學(xué)的范疇,這里只討論軟件成分的復(fù)用。 第一章軟件工程概要1.1軟件技術(shù)概要1.1.1軟件的概念和特征1.1.2計(jì)算機(jī)軟件技術(shù)1.1.3軟件的復(fù)用1

8、.2軟件危機(jī)1.3軟件工程1.4軟件工程軟件組件的復(fù)用包括以下三個(gè)級(jí)別:代碼的復(fù)用可以通過源代碼的剪切、源代碼的包含和繼承來實(shí)現(xiàn)。 設(shè)計(jì)結(jié)果的復(fù)用是指對(duì)某軟件系統(tǒng)的設(shè)計(jì)模型進(jìn)行復(fù)用。 適合于軟件系統(tǒng)的移植。 分析結(jié)果的復(fù)用是指將某軟件系統(tǒng)進(jìn)行復(fù)用的分析模型。 如果用戶的需求沒有變化,并且系統(tǒng)體系結(jié)構(gòu)發(fā)生了變化,則非常適合。 不屬于軟件復(fù)用的范疇:程序的反復(fù)執(zhí)行、執(zhí)行中的反復(fù)調(diào)用等。 軟件復(fù)用的優(yōu)點(diǎn):軟件復(fù)用利用現(xiàn)有軟件成分構(gòu)建新軟件,可以大幅度減少軟件開發(fā)所需的人才、物資、財(cái)力和開發(fā)時(shí)間,提高軟件的可靠性和維護(hù)性。 2 .軟件復(fù)用技術(shù)軟件復(fù)用技術(shù)被分為合成技術(shù)和生成技術(shù)兩種。 (1)使用合成技

9、術(shù)部品(component、組件、組件)合成軟件系統(tǒng)的技術(shù)。 零件是可重用的短軟件(也可以是二進(jìn)制形式),它提取某些函數(shù)、進(jìn)程、子例程、數(shù)據(jù)類型、算法等可重用軟件的組成部分,封裝功能細(xì)節(jié)和數(shù)據(jù)結(jié)構(gòu),具有詳細(xì)的接口。 Microsoft等公司提出了ole/com (objectlinkingembeding/componentobjectmodel,對(duì)象鏈接和嵌入/組件對(duì)象模型)的概念,并開發(fā)了各種獨(dú)立的標(biāo)準(zhǔn)組件用戶使用這些組件來整合自己的軟件,提高軟件質(zhì)量,使軟件維護(hù)變得容易,降低了軟件開發(fā)成本。目前有三項(xiàng)重要的零部件技術(shù),基于PS PS的PS技術(shù)微軟PS技術(shù)PS公司PR、PS的零部件技術(shù)標(biāo)準(zhǔn)

10、。 CORBA技術(shù)是異構(gòu)系統(tǒng)中的分布式部件技術(shù)。 CORBA (commobjectrequestbrokerarchitecture )是由OMG(Object Management Group )提出的應(yīng)用軟件體系結(jié)構(gòu)和對(duì)象技術(shù)規(guī)范。 其核心是一組標(biāo)準(zhǔn)語言、接口和協(xié)議,支持異構(gòu)應(yīng)用程序之間的互操作性和獨(dú)立于平臺(tái)和編程語言的對(duì)象重用。 1990年制定,開始制定階段性完善的零部件標(biāo)準(zhǔn)。 CORBA 3.0。 COM是微軟在新的企業(yè)應(yīng)用體系結(jié)構(gòu)下,將COM、DCOM和MTS集成在一起,形成真正適合企業(yè)級(jí)應(yīng)用的零部件技術(shù)。 “COM”容易引起誤會(huì)。 雖然以為是COM的新版本,但是COM的意思比CO

11、M豐富得多。 COM是中間件技術(shù)的規(guī)范,其要點(diǎn)是提供“服務(wù)”,以支持在操作系統(tǒng)上構(gòu)建的分布式企業(yè)級(jí)應(yīng)用程序。 COM是20世紀(jì)末發(fā)布Windows 2000后首次登場(chǎng)。 有三種方法將零件合成為更大的零件。 編譯標(biāo)準(zhǔn)庫(kù)的標(biāo)準(zhǔn)函數(shù)并通過連接程序與其他模塊一起合成系統(tǒng)。 消息的交換和繼承smalltalk。 在管道機(jī)構(gòu)UNIX中,用管道連接命令殼,將上一個(gè)命令的輸出作為下一個(gè)命令的輸入,用管道機(jī)構(gòu)連接多個(gè)殼命令,完成更復(fù)雜的系統(tǒng)。 (2)生成技術(shù)利用可復(fù)用的模式,通過生成程序來生成新的程序和段,所生成的程序可以看作是模式的例子。 可重復(fù)使用的模式有代碼模式和規(guī)則模式兩種。 可編碼模式多路復(fù)用的代碼模

12、式存在于應(yīng)用生成器中,且通過特定參數(shù)替換來生成抽象軟件模塊的特定實(shí)體。 各種程序生成器。 規(guī)則模式利用程序轉(zhuǎn)換系統(tǒng),把用超高級(jí)規(guī)格說明語言寫的程序轉(zhuǎn)換成某種可執(zhí)行語言的程序。 IDLCORBA的接口定義語言。 一、軟件危機(jī)的概要“軟件工程”起因于“軟件危機(jī)”。 60年代末發(fā)生的軟件危機(jī)使軟件陷入了“泥沼”。 什么是軟件危機(jī)? 軟件危機(jī)是軟件開發(fā)過程中面臨的一系列嚴(yán)重問題,如延長(zhǎng)開發(fā)周期、增加成本、降低可靠性等。 1.2軟件危機(jī),第一章軟件工程概要1.1軟件技術(shù)概要1.2.1軟件危機(jī)概要1.2.3解決方法1.3軟件工程1.4軟件工程環(huán)境,高級(jí)軟件工程,例1 IBM OS/360系統(tǒng),有346萬件

13、匯編文例2 1962年從美國(guó)向金星發(fā)射探測(cè)衛(wèi)星失敗的原因是,控制系統(tǒng)的FORTRAN循環(huán)語句DO5I=1.3,3錯(cuò)誤地寫為DO5I=1.3,空間對(duì)FORTRAN編譯器沒有意義,因此錯(cuò)誤寫的語句被視為代入語句do5i=1.3 DO 5 I=1, 3、3循環(huán)體5 K=X/Y 34.6,不僅不能正常工作的軟件,軟件危機(jī)也是軟件成本, 在開發(fā)成本和開發(fā)進(jìn)展的估計(jì)不正確這一點(diǎn)上也反映出軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升的用戶對(duì)“自己完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生的軟件產(chǎn)品的質(zhì)量軟件開發(fā)生產(chǎn)力的提高速度不及計(jì)算機(jī)應(yīng)用的普及和深入的趨勢(shì)。 二、軟件危機(jī)發(fā)生的原因是,在46年第一臺(tái)電腦“誕生

14、”之后的很長(zhǎng)一段時(shí)間里,人們用計(jì)算機(jī)解決了一些“小問題”,并制定了一些小程序。隨著計(jì)算機(jī)硬件和軟件的發(fā)展,人們用計(jì)算機(jī)解決的問題越來越大,程序的規(guī)模也越來越大, 大型軟件的開發(fā)和小程序的編制有一定差異:第一章軟件工程概要1.1軟件技術(shù)概要1.2軟件危機(jī)1.2.1軟件危機(jī)概要1.2.2發(fā)生的原因1.2.3解決方法1.3軟件工程小程序需要確定要求、設(shè)計(jì)、制作、使用后,到維護(hù)為止通常一個(gè)人進(jìn)行的大軟件需要由用戶、項(xiàng)目負(fù)責(zé)人、分析師、初級(jí)程序員、資料員、操作員等組成開發(fā)團(tuán)隊(duì)合作完成。 文件。 小程序是作者頭腦中的“產(chǎn)品”,文件少的大軟件是集體勞動(dòng)的“產(chǎn)物”,必須有標(biāo)準(zhǔn)化文件,容易開發(fā)和維護(hù)。 產(chǎn)品。

15、小程序通常是一次,需要大的修改的情況下,倒不如放棄舊程序重新制作,但是大軟件的開發(fā)花費(fèi)很大的勞力和物資,所以不能簡(jiǎn)單地丟棄。 “版本”在不斷升級(jí),因?yàn)樗谂f軟件上進(jìn)行了多次更改以延長(zhǎng)其使用期。 大型軟件的開發(fā)提出了很多新的問題,但開發(fā)方法還只停留在編寫小程序的方法上,經(jīng)驗(yàn)和技術(shù)已經(jīng)滿足不了開發(fā)大型軟件的需要,軟件開發(fā)流程混亂,使用的開發(fā)方法和技術(shù)不合適,沒有合適的文件, 溝通困難、維護(hù)困難、開發(fā)成本高、軟件質(zhì)量低等問題是軟件危機(jī)的主要原因。 三、軟件危機(jī)的解決方法以“工程化”的思想指導(dǎo)軟件開發(fā)。 軟件危機(jī),軟件開發(fā)和開發(fā)像以前那樣的開發(fā)過程混亂,沒有標(biāo)準(zhǔn)化的文件,沒有個(gè)人工作的開發(fā),而是立足科

16、學(xué)理論,像產(chǎn)品的生產(chǎn),機(jī)器的開發(fā),大樓的建設(shè)一樣,以“工程化”的思想指導(dǎo)軟件開發(fā),解決軟件開發(fā)面臨的困難和混亂第一章軟件工程概要1.1軟件技術(shù)概要1.2.1軟件危機(jī)概要1.2.2發(fā)生原因1.2.3解決方法1.3軟件工程1.4軟件工程環(huán)境、高級(jí)軟件工程、技術(shù)上軟件工程技術(shù)、程序設(shè)計(jì)方法和技術(shù),基于軟件工程管理上以管理學(xué)為基礎(chǔ),加強(qiáng)對(duì)開發(fā)者、成本、項(xiàng)目、文件等的管理,管理軟件開發(fā)的全過程。 第一章軟件工程概要,南京郵電大學(xué)軟件學(xué)院陳春玲,高級(jí)軟件工程,30, 第一章軟件工程概要1.1軟件技術(shù)概要1.2軟件危機(jī)1.3軟件工程概念1.3.1軟件工程原理1.3.2軟件工程原理1.3.3軟件開發(fā)方法概要1.4軟件工程環(huán)境一、軟件工程概念軟件工程是工程的運(yùn)用技術(shù)和方法開發(fā)、維護(hù)軟件,經(jīng)過時(shí)間考

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論