

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件工程導論,(Introduction to Software Engineering ),本講目標:,軟件工程是計算機專業(yè)一門重要的專業(yè)課。目的在于培養(yǎng)學生用工程化的原理及方法開發(fā)軟件系統(tǒng),把專業(yè)知識同實際項目結(jié)合起來,為將來從事計算機軟件的開發(fā)及應用維護工作打下堅實的基礎(chǔ)。 對于培養(yǎng)學生的軟件素質(zhì),提高學生的軟件開發(fā)能力與軟件項目管理能力具有重要的意義。,成績評定:,總目錄:,第1章 軟件工程學概述第2章 可行性研究第
2、3章 需求分析第4章 形式化說明技術(shù)第5章 總體設(shè)計第6章 詳細設(shè)計第7章 實現(xiàn)第8章 維護,第9章 面向?qū)ο蠓椒▽W引論第10章 面向?qū)ο蠓治龈戒汚 C++類庫管理系統(tǒng)的分析與設(shè)計附錄B 一個漢字行編輯程序的設(shè)計,第1章 軟件工程學概述,軟件工程:是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的
3、技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它,這就是軟件工程。,,,1.1 軟件危機,計算機系統(tǒng):是指適當?shù)慕M織在一起的一系列系統(tǒng)元素的集合,這些系統(tǒng)元素互相配合、相互協(xié)作,通過對信息的處理而完成預先定義的目標。,,對軟件的認識:1950:程序1960:程序+文檔(不包括管理文檔)1970:程序+文檔+數(shù)據(jù)1984:軟件管理是過程管理,CMM1.0能力成熟度模型1996:UML統(tǒng)一建模語言,,計算機系統(tǒng)4個不同的
4、發(fā)展階段:,,計算機軟件發(fā)展的4個階段,,,1.1.1 軟件危機的介紹,軟件危機(軟件蕭條、軟件困擾):是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。實際上,幾乎所有軟件都不同程度地存在這些問題。軟件危機包含下述兩方面的問題:如何開發(fā)軟件,滿足對軟件日益增長的需求;如何維護數(shù)量不斷膨脹的已有軟件。,,軟件危機的典型表現(xiàn):(1)對軟件開發(fā)成本和進度的估計常常很不準確;(2)用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)
5、常發(fā)生;(3)軟件產(chǎn)品的質(zhì)量往往靠不?。唬?)軟件常常是不可維護的;(5)軟件通常沒有適當?shù)奈臋n資料;(6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;(7)軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢 。,1.1.2 產(chǎn)生軟件危機的原因,(1)與軟件本身的特點有關(guān)軟件是邏輯部件。軟件不會被“用壞”,如果發(fā)現(xiàn)了錯誤,很可能是開發(fā)時期引入。軟件規(guī)模龐大,而且程序復雜性將隨著程序規(guī)模的增加而呈指數(shù)上
6、升。,,(2)與軟件開發(fā)與維護的方法不正確有關(guān)忽視軟件需求分析的重要性。對用戶要求沒有完整準確的認識就匆忙著手編寫程序。越早開始寫程序,完成它所需要用的時間往往越長。認為軟件開發(fā)就是寫程序并設(shè)法使之運行。程序只是完整的軟件產(chǎn)品的一個組成部分。一個軟件產(chǎn)品必須由一個完整的配置組成,軟件配置主要包括程序、文檔和數(shù)據(jù)等成分。在軟件開發(fā)的不同階段進行修改需要付出的代價是很不相同的,見圖1.1。,圖1.1 引入同一變動付出的代價隨時間變化的趨
7、勢,,輕視軟件維護。維護是極端艱巨復雜的工作,需要花費很大代價。軟件維護的費用占軟件總費用的55%~70%。軟件工程學的一個重要目標就是提高軟件的可維護性,減少軟件維護的代價。,1.1.3 消除軟件危機的途徑,對計算機軟件有正確的認識。認識到軟件開發(fā)是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目。應該推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功技術(shù)和方法,并繼續(xù)研究探索。應該開發(fā)和使用更好的軟件工具??傊瑸榱私鉀Q
8、軟件危機,既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。,1.2 軟件工程,1.2.1 軟件工程的介紹軟件工程:是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它,這就是軟件工程。,,軟件工程的代表性定義:Fritz Bauer:軟件工程是為了經(jīng)濟地獲得可靠的和能在
9、實際機器上高效運行的軟件而建立和使用的好的工程原則。IEEE:軟件工程是(1)將系統(tǒng)化的、規(guī)范的、可度量的方法應用于軟件的開發(fā)、運行和維護的過程,即將工程化應用于軟件中;(2)(1)中所述方法的研究。計算機科學技術(shù)百科全書:軟件工程是應用計算機科學、數(shù)學及管理科學等原理,以工程化的原則和方法制作軟件的工程。,,軟件工程的劃代(無公認的定義):①1970年末之前,傳統(tǒng)軟件工程,瀑布模型。②1980年后,面向?qū)ο筌浖こ?,面向?qū)ο笳Z
10、言以Smalltalk-80的出現(xiàn)為標志。③1984年后,軟件過程工程,掀起軟件過程運動,1991年出現(xiàn)的CMM是典型代表。④1990年后,構(gòu)件工程,基于構(gòu)件的軟件開發(fā)方法,可重用的構(gòu)件組裝成新系統(tǒng)。,,軟件工程的本質(zhì)特性:軟件工程關(guān)注于大型程序的構(gòu)造軟件工程的中心課題是控制復雜性軟件經(jīng)常變化開發(fā)軟件的效率非常重要和諧地合作是開發(fā)軟件的關(guān)鍵軟件必須有效地支持它的用戶在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文
11、化背景的人創(chuàng)造產(chǎn)品,1.2.2 軟件工程的基本原理,用分階段的生命周期計劃嚴格管理堅持進行階段評審實行嚴格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計技術(shù)結(jié)果應能清楚地審查開發(fā)小組的人員應該少而精承認不斷改進軟件工程實踐的必要性,1.2.3 軟件工程方法學,軟件工程包括技術(shù)和管理兩方面的內(nèi)容。管理:通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以達到既定目標的過程。技術(shù)(軟件工程方法學):通常把在軟件生命周期全過程中使用
12、的一整套技術(shù)方法的集合稱為方法學(methodology),也稱為范型(paradigm)。,,軟件工程方法學3要素:方法:是完成軟件開發(fā)的各項任務的技術(shù)方法,回答“怎樣做”的問題;工具:是為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;如,CASE(Computer-Aided Software Engineering )工具過程:需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。,,1. 傳統(tǒng)方法學(生命周期方法
13、學或結(jié)構(gòu)化范型)——強調(diào)自頂向下采用結(jié)構(gòu)化技術(shù)來完成軟件;劃分為若干個階段,然后順序地完成每個階段的任務;每個階段的任務相對獨立,而且比較簡單,降低了整個軟件開發(fā)工程的困難程度;前一個階段是后一個階段的前提和基礎(chǔ),而后一階段提出的解法更具體,細節(jié)更多;每個階段結(jié)束前必須從技術(shù)和管理兩方面對這個階段的開發(fā)成果進行嚴格的檢查,通過之后這個階段才算結(jié)束;保證質(zhì)量,提高可維護性;當軟件規(guī)模龐大,或者的需求模糊或隨時間而變化時,傳統(tǒng)方法
14、學往往不成功;維護起來仍然很困難。,,2. 面向?qū)ο蠓椒▽W——強調(diào)主動地多次反復迭代面向?qū)ο蠓椒ǎ喊褦?shù)據(jù)和行為看成同等重要,它是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法。面向?qū)ο蠓椒▽W4個要點:對象(object):融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為。類(class):類是對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義。繼承:按照父類與子類的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)。消息:對象彼此間僅能通過發(fā)送
15、消息互相聯(lián)系。,,面向?qū)ο蠓椒▽W的優(yōu)點:面向?qū)ο蠓椒▽W的盡量模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程。面向?qū)ο蠓椒▽W開發(fā)軟件的過程,是一個主動地多次反復迭代的演化過程,保證了在各項開發(fā)活動之間的平滑過渡。促進了軟件重用。最終的軟件產(chǎn)品由許多較小的、基本上獨立的對象組成,每個對象相當于一個微型程序,而且大多數(shù)對象都與現(xiàn)實世界中的實體相對應,降低了復雜性,提高了可理解性,簡化了開發(fā)和維護
16、工作。,,軟件四化:構(gòu)架平臺化組建業(yè)務化編碼自動化管理工廠化以面向?qū)ο蠹夹g(shù)為手段,以可重用軟件構(gòu)件化和體系架構(gòu)為基礎(chǔ),以工業(yè)化生產(chǎn)方式和管理支撐體系為核心的軟件新變革。,1.3 軟件生命周期,三個時期八個階段:軟件生命周期由軟件定義、軟件開發(fā)和運行維護(也稱為軟件維護)三個時期組成,每個時期又進一步劃分成若干個階段。,,1. 問題定義任務:問題是什么通過對客戶的訪問調(diào)查,系統(tǒng)分析員扼要地寫出關(guān)于問題性質(zhì)、工程目標和工程規(guī)
17、模的書面報告。經(jīng)過討論和必要的修改之后這份報告應該得到客戶的確認。結(jié)果:關(guān)于系統(tǒng)規(guī)模和目標的報告書,,2. 可行性研究任務:有可行的解嗎系統(tǒng)分析員需要進行一次大大壓縮和簡化了的系統(tǒng)分析和設(shè)計過程。研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法。結(jié)果:系統(tǒng)的高層邏輯模型(數(shù)據(jù)流圖、成本效益分析)可行性論證報告(立即進行/推遲進行/不能或不值得進行),,3. 需求分析任務:必須做什么主要是確定目標系統(tǒng)必
18、須具備哪些功能。系統(tǒng)分析員必須和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認的系統(tǒng)邏輯模型。結(jié)果:系統(tǒng)的邏輯模型(數(shù)據(jù)流圖、數(shù)據(jù)字典、簡要的算法描述)用規(guī)格說明書準確地記錄對目標系統(tǒng)的需求,,4. 總體設(shè)計任務:如何解決已提出的問題設(shè)計出實現(xiàn)目標系統(tǒng)的幾種可能的方案(低、中、高成本)。用適當?shù)谋磉_工具描述每種方案,分析優(yōu)缺點,推薦一個最佳方案,制定出實現(xiàn)最佳方案的詳細計劃。設(shè)計程序的體系結(jié)構(gòu)。結(jié)果:可能的解法(系統(tǒng)流
19、程圖、成本效益分析)推薦的系統(tǒng)體系結(jié)構(gòu)(層次圖或結(jié)構(gòu)圖),,5. 詳細設(shè)計任務:怎樣具體實現(xiàn)該系統(tǒng)詳細地設(shè)計每個模塊,確定實現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。結(jié)果:每個模塊的算法和數(shù)據(jù)結(jié)構(gòu)(程序流程圖、PAD圖、N-S圖等)。,,6. 編碼和單元測試任務:得到正確的程序模塊選取一種適當?shù)母呒壋绦蛟O(shè)計語言(必要時用匯編語言),把詳細設(shè)計的結(jié)果翻譯成用選定的語言書寫的程序;并且仔細測試編寫出的每一個模塊。結(jié)果:代碼和測試
20、報告,,7. 綜合測試任務:得到符合要求的軟件通過集成測試、驗收測試、現(xiàn)場測試、平行運行等方法對目標系統(tǒng)進一步測試檢驗。通過對軟件測試結(jié)果的分析可以預測軟件的可靠性;反之,根據(jù)對軟件可靠性的要求,也可以決定測試和調(diào)試過程什么時候可以結(jié)束。結(jié)果:測試計劃、詳細測試方案以及實際測試結(jié)果完整一致的軟件配置,,8. 軟件維護任務:使系統(tǒng)持久地滿足用戶的需要改正性維護,診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;適應性維護,修改軟件以
21、適應環(huán)境的變化;完善性維護,根據(jù)用戶的要求改進或擴充軟件;預防性維護,修改軟件為將來的維護活動做準備。每一項維護活動實質(zhì)上是經(jīng)歷了一次壓縮和簡化了的軟件定義和開發(fā)的全過程。結(jié)果:完整準確的維護記錄,各類維護工作量所占比例,維護工作量在軟件生命周期所占比例,1.4 軟件過程,軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。過程定義了運用方法的順序、應該交付的文檔資料、為保證軟件質(zhì)量
22、和協(xié)調(diào)變化所需要采取的管理措施,以及標志軟件開發(fā)各個階段任務完成的里程碑。為獲得高質(zhì)量的軟件產(chǎn)品,軟件過程必須科學、有效。,傳統(tǒng)的瀑布模型,實際的瀑布模型,1.4.1 瀑布模型,,瀑布模型的特點:1. 階段間具有順序性和依賴性前一階段的工作完成之后,才能開始后一階段的工作; 前一階段的輸出文檔就是后一階段的輸入文檔。2. 推遲實現(xiàn)的觀點對于規(guī)模較大的軟件項目來說,往往編碼開始得越早最終完成開發(fā)工作所需要的時間反而越長。3
23、. 質(zhì)量保證的觀點每個階段都必須完成規(guī)定的文檔,是“文檔驅(qū)動”的模型;每個階段結(jié)束前都要對所完成的文檔進行評審,盡早發(fā)現(xiàn)問題,改正錯誤。,,瀑布模型的優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法;嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。瀑布模型的缺點:只能通過文檔了解產(chǎn)品,不經(jīng)過實踐的需求是不切實際的。瀑布模型適用于: 需求是預知的; 軟件實現(xiàn)方法是成熟的; 項
24、目周期較短。,快速原型模型,1.4.2 快速原型模型,快速原型:是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集。,,快速原型模型的特點:快速原型模型不帶反饋環(huán),軟件產(chǎn)品的開發(fā)基本上是線性順序進行的??焖僭偷谋举|(zhì)是“快速”。應該盡可能快地建造出原型系統(tǒng),以加速軟件開發(fā)過程,節(jié)約成本。,,根據(jù)原型的不同作用,有三類原型模型:探索型原型——用于開發(fā)的需求分析階段實驗型原型——主要用于
25、設(shè)計階段演化型原型——用于及早向用戶提交一個原型系統(tǒng)快速原型模型的運用方式: 拋棄策略——探索型和實驗型采用此策略 附加策略——演化型快速原型采用此策略,1.4.3 增量模型,增量模型把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計、編碼、集成和測試。每個構(gòu)件由多個相互作用的模塊構(gòu)成,并且能夠完成特定的功能。,增量模型,,增量模型的優(yōu)點:人員分配靈活,剛開始不用投入大量人力資源。 當配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時,它提供了一種
26、先推出核心產(chǎn)品的途徑。 逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學習和適應新產(chǎn)品。增量模型的難點:軟件體系結(jié)構(gòu)必須是開放的。模型本身是自相矛盾的。整體——獨立構(gòu)件。不同的構(gòu)件并行地構(gòu)建有可能加快工程進度,但是冒無法集成到一起的風險。,,增量模型適用于:適用于需求經(jīng)常改變的軟件開發(fā)過程。如果在項目既定的商業(yè)要求期限之前不可能找到足夠的開發(fā)人員,在這種情況下,增量模型顯得特別有用。,1.4.4 螺旋模型,螺旋模型的基本思想:
27、使用原型及其他方法來盡量降低風險。把它看作在每個階段之前都增加了風險分析過程的快速原型模型。,簡化的螺旋模型,完整的螺旋模型,,螺旋模型的優(yōu)點:主要優(yōu)勢在于它是風險驅(qū)動的。對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標;減少了過多測試或測試不足所帶來的風險;維護只是模型的另一個周期,維護和開發(fā)之間沒有本質(zhì)區(qū)別。,,螺旋模型的缺點:采用螺旋模型需要具有相當豐富的風險評估經(jīng)驗和專門知識
28、,在風險較大的項目開發(fā)中,如果未能夠及時標識風險,勢必造成重大損失。 過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時間。 螺旋模型適用于:特別適用于龐大、復雜并具有高風險的系統(tǒng)。適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。,1.4.5 噴泉模型,噴泉模型:是典型的面向?qū)ο笊芷谀P汀?“噴泉”這個詞體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。為避免使用噴泉模型開發(fā)軟件時開發(fā)過程過分無序,應該把一個線性過程(例如,快速原型模型或圖中的中心垂線)
29、作為總目標。,,噴泉模型的優(yōu)點:該模型的各個階段沒有明顯的界限,開發(fā)人員可以同步進行開發(fā)。多次反復地增加或明確目標系統(tǒng),而不是本質(zhì)性的改動,降低錯誤的可能性。噴泉模型的缺點:由于噴泉模型在各個開發(fā)階段是重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,不利于項目的管理。要求嚴格管理文檔,使得審核的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情況。噴泉模型適用于:適用于面向?qū)ο蟮能浖_發(fā)過程。,,基于構(gòu)件的開發(fā)模型:支
30、持軟件復用。利用預先包裝好的軟件構(gòu)件來構(gòu)造應用系統(tǒng)。,,形式化方法模型:形式化方法是建立在嚴格數(shù)學基礎(chǔ)上的一種軟件開發(fā)方法。軟件開發(fā)的全過程中,從需求分析、規(guī)約、設(shè)計、編程、系統(tǒng)集成、測試、文檔生成、直至維護各個階段,凡是采用嚴格的數(shù)學語言,具有精確的數(shù)學語義的方法,都稱為形式化方法。,1.4.6 Rational統(tǒng)一過程,Rational統(tǒng)一過程(Rational Unified Process, RUP)是由Rational軟件公
31、司推出的一種完整而完美的軟件過程。RUP是一種迭代的,以架構(gòu)為中心的,用例驅(qū)動的軟件開發(fā)方法。RUP是一種具有明確定義和結(jié)構(gòu)的軟件工程過程。RUP還是一個過程產(chǎn)品,提供了可定制的軟件工程的過程框架。RUP被廣泛應用在不同工業(yè)領(lǐng)域中的不同企業(yè)中。,,RUP總結(jié)了6條軟件開發(fā)經(jīng)驗——最佳實踐:迭代式開發(fā)管理需求使用基于構(gòu)件的體系結(jié)構(gòu)可視化建模驗證軟件質(zhì)量控制軟件變更,UML的用例圖,RUP軟件開發(fā)生命周期(二維):,,1
32、.4.7 敏捷過程與極限編程,敏捷軟件開發(fā)宣言(價值觀聲明):個體和交互勝過過程和工具可以工作的軟件勝過面面俱到的文檔客戶合作勝過合同談判響應變化勝過遵循計劃根據(jù)上述價值觀聲明提出的軟件過程統(tǒng)稱為敏捷過程。,,極限編程(eXtreme Programming, XP):敏捷過程中最富盛名的一個廣泛適用于需求模糊且經(jīng)常改變的場合使得敏捷過程能夠較好地適應商業(yè)競爭環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束,XP項目的
33、整體開發(fā)過程,XP迭代開發(fā)過程,1.4.8 微軟過程,微軟過程準則微軟軟件生命周期(1)規(guī)劃階段(2)設(shè)計階段(3)開發(fā)階段(4)穩(wěn)定階段(5)發(fā)布階段,,微軟過程模型每一個生命周期發(fā)布一個遞進的版本,各生命周期持續(xù)快速地迭代循環(huán)優(yōu)點: 綜合了Rational統(tǒng)一過程和敏捷過程的優(yōu)點缺點:對方法、工具和產(chǎn)品等方面不夠全面,課后習題及解答,1-5 根據(jù)歷史數(shù)據(jù)可以做出如下的假設(shè) :對計算機存儲容量的需求大致按下面公式描
34、述的趨勢逐年增加:M=4080e0.28(Y-1960) 存儲器的價格按下面公式描述的趨勢逐年下降:P1=0.3×0.72Y-1974(美分/位)如果計算機字長為16位,則存儲器價格下降的趨勢為:P2=0.048×0.72Y-1974(美元/字)在上列公式中Y代表年份,M是存儲容量(字數(shù)),P1和P2代表價格?;谏鲜黾僭O(shè)可以比較計算機硬件和軟件成本的變化趨勢。要求計算:,課后習題及解答,(1) 在1985年
35、對計算機存儲容量的需求估計是多少?如果字長為16位,這個存儲器的價格是多少?(2) 假設(shè)在1985年一名程序員每天可開發(fā)出10條指令,程序員的平均工資是每月4000美元。如果一條指令為一個字長,計算使存儲器裝滿程序所需用的成本。(3) 假設(shè)在1995年存儲器字長為32位,一名程序員每天可開發(fā)出30條指令,程序員的月平均工資為6000美元,重復(1)、(2)題。,(1)在1985年對計算機存儲容量的需求,估計是如果字長為16位,則
36、這個存儲器的價格是(2)如果一條指令的長度為一個字,則使存儲器裝滿程序共需4474263條指令。在1985年一名程序員每天可開發(fā)出10條指令,如果每月有20個工作日,則每人每月可開發(fā)出10×20條指令。為了開發(fā)出4474263條指令以裝滿存儲器,需要的工作量是:,課后習題及解答,,程序員的月平均工資是4000美元, 開發(fā)出4474263條指令的成本是(3)在1995年對存儲容量的需求估計為:如果字長為32位,則
37、這個存儲器的價格是:如果一條指令為一個字長,則為使存儲器裝滿程序共需73,577,679條指令。在1995年一名程序員每天可開發(fā)出30條指令,每月可開發(fā)出600條指令,為了開發(fā)出可裝滿整個存儲器的程序,需要的工作量為,課后習題及解答,,課后習題及解答,開發(fā)上述程序的成本為:1-6 什么是軟件過程?它與軟件工程方法學有何關(guān)系?軟件過程是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。軟件過
38、程定義了運用技術(shù)方法的順序、應該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采取的管理措施,以及標志完成了相應開發(fā)活動的里程碑。軟件過程是軟件工程方法學的3個重要組成部分之一。,總結(jié):,軟件工程是計算機專業(yè)一門重要的專業(yè)課。目的在于培養(yǎng)學生用工程化的原理及方法開發(fā)軟件系統(tǒng),把專業(yè)知識同實際項目結(jié)合起來,為將來從事計算機軟件的開發(fā)及應用維護工作打下堅實的基礎(chǔ)。對于培養(yǎng)學生的軟件素質(zhì),提高學生的軟件開發(fā)能力與軟件項目管理能力具有重
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件項目管理與軟件工程過程文檔規(guī)范
- 軟件工程與項目管理實訓報告
- 軟件工程與管理專業(yè)
- 軟件工程與軟件質(zhì)量管理淺析
- 軟件工程項目管理思考及探索
- 軟件工程項目管理計劃書
- 企業(yè)軟件工程項目管理案例解析
- [計算機軟件及應用]軟件工程工具--軟件項目管理與工具
- 軟件工程畢業(yè)論文--項目任務管理系統(tǒng)
- 軟件工程項目投標風險管理研究.pdf
- 軟件工程及項目管理系統(tǒng)基礎(chǔ)知識
- 企業(yè)軟件工程項目管理案例解析 (1)
- 軟件工程倉庫管理系統(tǒng)
- 軟件架構(gòu)室+軟件工程實訓室采購項目
- 軟件工程與軟件文檔寫作
- 軟件架構(gòu)室+軟件工程實訓室采購項目
- 軟件工程項目中的軟件測試管理的研究與實踐.pdf
- 軟件工程項目中的軟件測試管理的研究與實踐(1)
- 軟件工程
- 軟件工程倉庫管理系統(tǒng)軟件測試
評論
0/150
提交評論