




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程華南理工大學計算機科學與工程學院信息網絡中心/數園網絡有限公司開發存在的主要問題總結沒有明確的項目計劃,缺乏整體對項目進展的規劃項目沒有明確的的生命周期模型,沒有明確的階段性,無法衡量各個階段的進展情況。只能靠領導或者專家的經驗來評估。整個開發過程對上層管理者不可視,不能及時發現和糾正開發過程中存在的問題整個開發過程缺乏質量保證意識,目前基本上沒有質量改進和過程改進的計劃和措施,還是依靠幾個"專家"和"牛人"的力量。開發存在的主要問題項目缺乏過程控制,開發過程沒有納入配置管理,整個項目運作完成后,不能回顧開發過程中的工作產品。沒有配置管理,也會給開發人員帶來較大的隨意性,產生問題的幾率也會增大。項目之間的相互牽扯較多,一個人屬于多個項目,每個項目的人力投入、時間計劃很難估算。也給這些人進度延遲或者出現問題找到了托詞。沒有需求管理措施,什么需求應該接納,什么需求應該拒絕,需求如何跟蹤都沒有有效管理。開發存在的主要問題開發過程中一般較多關注功能實現,缺乏對可測試性、可維護性等等質量屬性方面的關注。開發過程中所使用的規程、規范、文檔模板、檢查單較少。針對開發過程、設計方法等方面的培訓資料較少,企業需要在緊張的工作中去培育員工多方面的管理和業務素質。制定了一些規范和標準,但可操作性還不強,需要更新和完善。開發存在的主要問題缺乏一些必要的IT支撐體系,如:缺陷跟蹤電子流,項目跟蹤電子流、質量保證電子流和必要的輔助工具。……不成熟組織軟件項目的特征1、缺乏確定的軟件過程和相應的管理和控制;2、即使給出了軟件過程,也不嚴格的遵循和強制執行;3、管理是完全被動的,管理者采用的策略是救火式的,即出了事才去解決,解決的時候也難以縱觀全局,往往只顧眼前;4、由于缺乏有依據的估算,制訂軟件預算和生產計劃時往往跟著感覺走,實際生產時則常常超標;5、如果強制在預定期限內完成,那么軟件的功能和質量肯定是得不到保證;
6、缺乏評價軟件產品質量和解決產品缺陷和過程問題的客觀基礎成熟組織軟件項目的特征具有在企業范圍內管理、控制軟件開發和維護過程的能力;現有人員和新進人員均了解所遵循的軟件過程,且工作活動均按照事先的計劃完成;在定義好的軟件過程中,所有項目和機構中的角色和責任分明;制定的計劃是有效的且與實際的工作進展一致;軟件過程在必要時可按照一定規則和程序加以修改;軟件產品和過程的具有一定的可控性。這主要體現在:成熟組織軟件項目的特征1.
管理者能夠監督軟件產品的質量和生產過程;2.
具有客觀的和定量化的措施來判斷產品質量并分析產品與生產過程中的問題;3.
計劃和預算有章可循,它是基于歷史數據的,從而是實際可行的;4.
預算的結果,包括成本、時間表、產品功能和質量等,通常能夠達到;5.
有關的參與者完全理解遵循軟件過程的價值并認真地遵循之;6.
具有支撐軟件過程的基礎設施,如標準過程庫、歷史數據庫等。不成熟組織軟件項目的結果救火英雄輩出錯誤付出高昂代價員工積極性降低企業生存壓力受到嚴重挑戰……數據分析0.117KLOC/人月軟件生產率軟件開發生產率對比0.3公司SEI數據分析數/KLOCBug率軟件Bug率對比0.5公司SEI7.3數據分析問題所占百分比錯誤類型XX產品XX版本問題按錯誤分布統計圖14.214.814.84.833.118.3接口需求編碼邏輯設計其他數據分析問題所占百分比錯誤類型設計問題分布設計思想錯誤設計缺陷更改設計新增設計32.1數據分析問題所占百分比錯誤類型需求問題分布244需求不明確需求不合理新增需求72華為流程化管理歷程介紹1、質量大會(萬人領廢品)給人的啟示2、流程化管理歷程3、取得的效果原微軟全球技術中心總經理唐俊會見朱鎔基時分析中國軟件企業的不足:中國軟件企業缺乏標準化的研發模式,缺乏了解正規的軟件研發流程的管理人員,缺乏真正熟悉軟件開發流程的高級程序員。印度軟件產業現狀:
2002年軟件產值為101億美元、出口76.8億美元,估計在2008年為850億美元,出口500億美元。全球最大的500家公司中有200多家采用印度軟件,美國最大的100家公司幾乎100%把印度作為國外軟件的首選地。印度成功的經驗:CMM流程化管理,全球CMM五級組織有42家,CMM四級組織有87家,印度有80多家。如何搜集、管理和使用信息,將決定你在競爭中的輸贏。中國不缺少軟件人才,缺少的只是群體作業和協同發展的全球戰略眼光以及市場運作的能力。——比爾·蓋茨第一章軟件工程概述§1.1軟件工程的背景和歷史軟件發展階段:程序設計階段—50至60年代程序系統階段—60至70年代軟件工程階段—70年代以后195019601970198019902000早期:面向批處理有限的分布自定義軟件第二階段:多用戶實時數據庫軟件產品第三階段:分布式系統嵌入“智能”低成本硬件消費者的影響第四階段:強大的桌面系統面向對象技術專家系統人工神經網絡并行計算網絡計算機軟件開發大事記
1945年6月30日,馮?諾依曼在EDVIC計算機設計報告草案中介紹了存儲程序的概念。圖靈謝絕了劍橋大學帝國學院研究的地位,參加了英國國家物理實驗室(NPL)數學部的工作。他把早先對可計算性的研究成果與他在戰時的電子學方面經驗結合在一起,以極大的熱情從事電子計算機的設計工作。他起草了關于自動計算機機器ACE(automaticcomputingengine)的報告,描述了存儲程序概念在計算機中的應用,闡明了用程序實現某些運算而程序員不必知道機器細節的情況,這就預言了以后對高級語言的開發,他甚至還想象遠程終端的使用,指出“利用電話線來控制遠距離的計算機是完全可能的”1945年軟件開發大事記
6月,馮?諾依曼(JohnvonNeumann)與高德斯坦等人發表了《電子計算機裝置邏輯結構初探》的論文,成為EDVAC的設計基礎。
1946年
10月,圖靈發表了一篇論文《計算機器與智能》(ComputingMachineryandIntelligence),指出如果一臺機器對于質問的響應與人類的響應完全無法區別,那么這臺機器就具有智能。今天,人們把這一論斷稱為圖靈測試,它奠定了人工智能的理論基礎。1950年軟件開發大事記
1951年開始使用子程序概念?;魻柋额D(BettyHolbertor)創建了一種分類-合并生成器,成為編譯系統的前驅。霍普研制成功第一個編譯程序A-O。1952年
IBM資助的一個委員會在JohnBackus領導下開始研制高級語言,設計用于科學與工程計算的FORTRAN語言。
IBM推出了IBM704,其機器性能較以前的計算機有了顯著提高。并且在IBM704上首次運行了符號匯編程序SAP(symbolicassemblyprogram),成為程序發展史上最有意義的事。它確立了匯編的基本形式。1954年1956年軟件開發大事記
1957年,在IBM704上運行了第一個高級語言FORTRAN,它適合科技運算,至今還在使用。
在高級語言方面出現了COMITⅡ,IPL-Ⅴ,IT等。COMITⅡ是用字符串處理與模式匹配的第一語言。IPL-Ⅴ是一種表處理語言,形式上與匯編語言類似,曾在60年代大量使用。IT是在IBM650小型機上實現的第一語言,對編譯程序的研究起了推動作用。1957年軟件開發大事記高級語言方面,MIT的JohnMcCarthy發明了LISP語言。它是為人工智能領域的應用而設計。至今仍在廣泛使用。ALGOL58出現:它由一個國際數學家小組設計,主要用于數學與科學計算。出現了第一個專用語言APT,用于數控機床的程序編寫。此外,還有用于商業數據處理的語言Flow-Matic。在象棋程序方面,AlexBernstein等人開發了運行在IBM704機的第一個成熟的程序。AlanNewell,JohnShaw,HerbertSimon還使用高級語言首次開發了模仿人類思維過程的程序。在1958年,空中交通管理系統開始開發。1958年軟件開發大事記
建立了數據處理系統委員會(CODASYL)以創建通用的商用語言COBOL。麥卡錫(JohnMcCarthy)開發了用于人工智能的表處理語言LISP。1959年
ALGOL60問世。它是在ALGOL58的基礎上,由一個國際數學家小組定義的。FORTRAN的設計者JohnBackus也參加了這項工作。ALGOL語言正是通過BackusNaurForm(即巴科斯?諾爾范式)這種元語言來定義的。ALGOL是使用遞歸的第一個主要的面向過程的語言。
COBOL語言的規格報告正式公布。它是自1959年5月,由GraceM.Hopper領導的小組在五角大樓支持下的工作的結果。
1960年軟件開發大事記出現了第一個模擬語言GPSS。它是GeneralPurposeSystemSimulator的縮寫。意為“通用系統模擬程序”。所謂模擬,就是用計算機來“做實驗”,通過模擬可得知“實驗”的反應與結果。MIT在IBM7090上開發了第一個實驗性分時系統CTSS(compatibletimesharingsystem)。當時的7090只有32K內存,監控程序為5K,剩下27K給用戶使用。CTSS成功地支持著32個用戶,允許他們同時用各自的終端來編譯程序和運行程序。CTSS對IBM后來的操作系統產生了很大的影響。
1961年軟件開發大事記在測試技術方面,Auerback公司提供了最早的基準程序Benchmark。在語音識別方面,貝爾實驗室的Kersta研制了用語音譜圖,發現同一個人同一個音的譜圖總是比不同的人發同一個音的譜圖更為相似。為此他創造了一個類似于“指紋”(fingerprint)的新詞“聲紋”(voiceprint),就是說像用“指紋”辨別人那樣,可以用“聲紋”來辨別人。這很有應用價值。貝爾實驗室的另一個小組開發了能設計、存儲及編輯合成音樂的軟件。美國斯坦福及普度大學首次建立計算機科學系。1962年軟件開發大事記貝爾實驗室發明了為字符串處理提供完善功能的一種獨特的編程語言SNOBOL。GPSS之后又一種模擬語言SIMSCRIPT問世。由大型軟件系統支持的美國半自動防空系統(SAGE)花費了80億美元才得以成功1963年軟件開發大事記5月1日,美國達特茅斯學院的凱梅尼(JohnKemeny)和湯姆斯(ThomasKurtz)發明了BASIC語言。他們認為FORTRAN等語言都是為專業人員設計的,而他們希望能為毫無經驗的人提供一種新的語言,特別是使用非計算機專業的大學生都能通過這種語言學會使用計算機。此外,在編程語言方面還出現了PL/1、Formac,以及IBM公司開發的報表生成程序:RPGⅡ。后者是一種使用方便的專用語言,用戶只需了解有關“輸入、文件描述、計算、輸出”這4個規格說明,就可用RPGⅡ產生報表。因此,有人曾說RPG是第四代編程語言的先兆。IBM經7年努力,完成了航空訂票系統。為分散于各地的機票代理機構提供方便。IBM在當年開發了計算機輔助設計系統。1964年軟件開發大事記開始了MAC工程,服務于大型分時系統。后來發展成為Multics操作系統。羅賓森(J.A.Robinson)的工作打下了邏輯程序設計的基礎。荷蘭計算機科學家迪克斯特拉(EdsgarW.Dijkstra)提出結構化編程技術,適合在軟件的詳細設計或低層設計及編碼實現階段采用。1965年IBM公司的P.H.Howard提出英文字符識別系統,推動了文字識別技術的發展。R.Casey和G.Nagy對漢字OCR(光學字符識別)進行了研究,并提出二級匹配的方法。1966年軟件開發大事記在模擬語言方面,出現了Simula67。這是第一個面向對象語言。它是挪威計算中心的O.J.Dahl和K.Nygaard用ALGOL語言開發的。在科學計算方面,出現了Reduce軟件包。美國科學家克努斯(DonaldKnuth)開發發表其經典巨作——TheArtofComputerProgramming。把算法與數據結構作為獨立實體從使用它們的程序中分離出來。1967年軟件開發大事記10月北大西洋公約組織(NATO)的科學委員會在德國加爾密斯(Garmisch)開會討論軟件可靠性及軟件危機的問題,產生了關于“軟件工程”的加爾密斯報告,簡稱G-報告。首次提出了關于“軟件工程”的問題。荷蘭科學家埃德EdsgarW.Dijkstra在ACM通信上發表了“GOTO語句值得考慮的害處”(GOTOStatementConsideredHarmful)的短文,指出調試修改程序的困難與它包含的GOTO數目成正比,假如取消了GOTO語句,將會使編程錯誤大幅減少。于是引發了一場關于結構化編程的大討論。在編程語言方面,國際信息處理聯合會(FP)的工作小組設計了ALGOL68。雖然它是ALGOL60的后繼者,但它卻是一種全新的語言。其設計目的是:為算法間的交流、為不同計算機上程序的可移植、為計算機科學的教育提供一種通用的程序設計語言。ALGOL68有很豐富的表達能力,有令人感興趣的優美結構。該聯合會還鼓勵使用六位數字的數據格式(YYMMDD)來表示日期進行信息交換,從而造成今天的2000年危機問題。此外,SeymourPapert、W.Feurzeig等開發了Logo語言。它作為LISP語言的一種方言,是專為兒童介紹計算機及其編程而研制的。它在用戶接口上開發完整的編程環境。在計算機圖形學方面,IvanE.Suterland提出窗口技術。
1968年軟件開發大事記貝爾實驗室的DennisM.Ritchie和K.Thompson用PDP-7匯編指令編寫了UNIX的第一版本V1。這一著名操作系統正式問世。UNIX的發展對計算機界、尤其是對軟件界產生了巨大而深刻的影響。10月,NATO的委員會又在意大利的羅馬開會討論軟件開發技術問題,產生了關于“軟件工程技術”的羅馬報告,簡稱R-報告。1969年WinstonRoyce在他的《管理大型軟件系統的開發》(ManagingtheDevelopmentofLargeSoftwareSystems)提出了著名的“瀑布模型”(Waterfalldevelopmentmethod)??绿兀‥.F.Codd)提出關系模型為數據庫技術的發展打下基礎。在編程語言方面,出現了用于系統程序設計的BLISS語言,它是BasicLanguageforImplementationofSystemSoftware的縮寫,用來編寫編譯程序和操作系統。1970年軟件開發大事記瑞士聯邦技術學院的NiklausWirth(尼可萊?沃斯)教授發明了第一個結構化的編程語言,并用17世紀法國著名科學家BlaisePascal(帕斯卡)的名字把它命名為Pascal語言。Pascal語言出現后,ALGOL68便銷聲匿跡了。這一年,Wirth教授還提出“自頂向下、逐步細化”的程序設計方法,成為從高層設計開始、貫穿整個中層設計、并延續到底層設計直到編碼完成的一種重要的軟件設計方法。FriedrichI.Bauer給軟件工程下了個定義:“確立并使用正確的工程原理和方法,以便能夠經濟地獲得可靠而有效的軟件?!卑湍盟梗―avidParnas)提出了信息隱蔽的原理,對軟件工程的發展產生了巨大影響。JohnKemeny和ThomasKurtz推出BASIC第6版,使BASIC成為相當穩定的通用語言。在計算機輔助教學領域出現TUTOR語言,它在CDC6500以及Cyber系列的PLATO控制下運行。1971年軟件開發大事記在編程語言方面,貝爾實驗室的DennisRitchie發明了C語言。它在MartinRichards的BCPL語言和KenTbompston的B語言的基礎上進行發展。最初的C語言是為編寫UNIX而設計的,并在PDP-11上首先實現。法國馬賽大學的AlanColmerature發明了PROLOG語言,它是用于人工智能領域的又一種編程語言,在歐洲和日本比較流行。Xerox公司的PaloAlto研究中心AlanKay(艾蘭?凱)發明了Smalltalk語言。它是一種面向對象的語言,適合使用鼠標工作的可視計算機系統(Visualcomputersystem),它體現了與傳統程序設計不同的觀念及風格。在軟件工程方面,D.Parnas進一步提出軟件結構問題和Parnas分解方法。特點是分解時每個模塊都隱藏著一個設計,使用這個方法能決定設計決策的層次,得到軟件的結構。在計算機科學的理論方面,計算復雜性理論提出了NP問題的思想。以此表明對于某些大規模的計算問題(如旅行商問題),其計算量是極其巨大的。當年,王安等發展了字處理系統。1972年軟件開發大事記在計算機輔助教學方面,加州大學的JohnA.Starkweather發明了PILOT語言。它是ProgrammedInquire,LearningOrTeaching的縮寫,意為“編程查詢及教學”。它的命令不多,使用簡單,都是針對CAI的需要而設計,適合開發教學課件(courseware)使用。在Zerox的研究人員開展了圖形用戶界面的工作。1973年在計算機輔助教學方面,加州大學的JohnA.Starkweather發明了PILOT語言。它是ProgrammedInquire,LearningOrTeaching的縮寫,意為“編程查詢及教學”。它的命令不多,使用簡單,都是針對CAI的需要而設計,適合開發教學課件(courseware)使用。在Zerox的研究人員開展了圖形用戶界面的工作。1974年軟件開發大事記M.A.Jackson提出JSP方法,即JacksonStructuredProgramming,它是適合中小型數據處理系統進行模塊結構設計的一種方法。CrayKildall創建了DigitalResearch公司,專門經銷CP/M系統軟件,在以后的8年里,CP/M占領了90%的8位機操作系統時常。為它開發的應用軟件達2000種之多。UNIX操作系統開始從貝爾實驗室走向社會,它的第六版增加了程序員工作臺PWB,形成早期的編程環境。CharlesH.Moore發明了Forth語言。Forth在微機用戶中擁有一小批熱情的支持者,雖大多數人對它一無所知。它的準則是把計算機的機時和存儲器視為寶貴的資源,必須最大限度地控制和利用這些資源。因此,Forth適合實時控制及工業機器人的編程這一年還出現了SPSS語言,它是StatisticalProgramsfortheSocialSciences的縮寫,意為用于社會科學的統計程序。勃洛克(FroderickBrooks)的著作“人月的秘密”(themythicalman-month)中說明了在拖延了的項目中增加人員只會使項目更為延期。美國國防部為降低軟件費用、提高嵌入式防務系統的可靠性,開展了規模宏大的統一高級語言的行動(1975年至1983年)。首先由國防部研究工程委員會建立了高級語言工作組,多次組織對語言需求的討論。1975年軟件開發大事記B.W.Boehm又對軟件工程給出定義:“在軟件(包括程序和文檔)設計、實現、測試、運行、維護的各個過程中,建立在科學基礎上的一套實用方法”。C.A.Hoare則認為軟件工程是“一種導致電子數字計算機具有強大功能的藝術,這種功能表現為人可以方便地使用計算機”。在軟件設計方法學方面,IBM公司的J.F.Stay提出HIPO設計方法。它建立在層次圖(HC)和輸入-處理-輸出圖(IPO)的基礎上,適用于高層設計。此外,HOS公司的M.Hamilton和S.Zeldin又提出HOS設計方法。1976年軟件開發大事記S.Jefferyh和T.A.Linden補充了軟件工程的定義,指出“軟件工程不只是一套工具和技術的集合,它是一種工程……,軟件工程同一般理解的其他類型的工程相比要豐富些,軟件工程師能從其他工程學科獲得借鑒;反過來,軟件工程當前開發的方針對其他領域的工程也是十分有用??傊?,作為一門工程學科,軟件工程已經到了羽翼豐滿的時候?!盨oftTech公司的D.T.Ross提出SADT結構化分析設計技術。11月,美國國防部高級語言工作組完成制定新語言可行性的經濟分析。通過大量評審,認為現存語言都不滿足對新語言的需求。同時,從投標語言中,選出四種方案:Softech的藍色語言、SRI黃色語言、Intermetrics的紅色語言、HoneywellBull的綠色語言。加州大學伯克利分校推出UNIX的1BSD版本。美國國家計算機和信息處理標準委員會(ANSC-X3)制定信息交換代碼ASCII的標準X3.4-1977。與之相關的標準已有X3.32-1973(ASCII控制字符的圖形)和X3.41-974(ASCII代碼擴充技術)以及后來制定的X3.64-1979(使用ASCII時的附加控制)。1977年軟件開發大事記美國國防部高級語言工作組把來自各國的近400名自愿者分為80個評審組,對四種候選方案進行評審。確定由紅色語言和綠色語言繼續競爭。1978年加州大學伯克利分校又以2BSD和UNIXV7為基礎,在32位VAX上研制成具有虛擬存儲訥訥公里的3BSDUNIX系統。Pascal語言的創始人Wirth在Pascal的基礎上,又開發了Modula-2語言。它克服了Pascal的許多缺點,并具有了現代的模塊特性。美國國防部新語言的評審中,綠色語言最后獲勝。它的主要設計者是法國人JeanIchbiah。5月,新語言正式命名為Ada,以紀念對編程做過重大貢獻的愛達?拉夫拉斯伯爵夫人。貝爾實驗室的L.R.Rabiner等利用聚類技術開發不定人的英語識別系統。1979年8月,Microsoft公司宣布為16位的微機提供UNIX的新品種XENIX。經過長期的努力,在1980年,由美國國防部確定把ADA語言用于過程控制與嵌入式應用。1980年軟件開發大事記B.W.Boehm出版了《軟件工程經濟學》,這一名著思想新穎、敘述生動,令人愛不釋手。他提出構造費用模型(COCOMO)作為軟件的估計模型。引起了軟件度量的發展。同年,R.Abbott總結了面向對象的設計方法學。IBM公司推出個人計算機IBMPC,Microsoft公司的MS-DOS也同時問世。IBM公司選擇PC-DOS為其新的個人計算機的操作系統。從而為BillGates的微軟公司的發展開辟了道路。IBM在同年又推出IBMPC/XT。DOS升為2.0版。美國AshtonTate推出微機用的關系數據庫dBASEⅡ。DBASEⅡ成為第一個PC數據庫系統,得到市場廣泛歡迎。AT&T公布UNIXSystemⅡ,成為第一個外部發行的版本。中國頒布了《信息交換用漢字編碼字符集?基本集》,國家標準代號GB2312-80。1981年軟件開發大事記SCO(Sants
CrusOperation)公司與Microsoft合作開發XENIX。JohnWarnock開發了Postscript的頁面描述語言。以后,形成著名的Adobe系統。Autodesk公司推出了AutoCAD第一版。1982年王永民發明了“五筆字型”漢字輸入法。AT&T公布了UNIXSystemV。伯克利分校公布了4.2BSD。ANSI批準了Ada標準。Apple公司推出用鼠標操作的圖標及下拉式菜單的工作方式。貝爾實驗室發展了C++語言。它原為1980年Bjarne
Stroustrup發明的“帶類的C”,即增加了面向對象程序設計所需的抽象數據類型——類。直到1983年,根據RickMasetti的建議,定名為C++。1983年軟件開發大事記FoxSoftware公司推出FoxBASE。Novell公司推出NetWareV1.0。10月15日,國際標準化組織ISO制定了開發系統互連參考模型OSI/RM,即ISO7498-1。它是指導信息處理系統互連、互通和協作的國際標準,是關于計算機通信系統結構的最重要的框架文件。它從邏輯上把網絡分成七層。Apple公司的Micintoch使計算機圖形學取得極大成功。1984年微軟公司推出Windows窗口操作系統,使PC更易操作,形成DOS操作系統的一個革命性的進步。AshtonTate公司dBASEⅡPlusKemeny和Kurtz對于BASIC流行速度之快、不同方言之多、標準化進展之慢感到驚訝。他們又研制了TrueBASIC,即保持初學者易用的優點,又實現了程序的結構化。ISO國際標準化組織提出軟件質量度量模型建議。該模型分高、中、低三層,各層增均有多項評價準則。1985年軟件開發大事記Oracle公司推出DistributedORACLE分布式關系數據庫。配有SQL,*PlusSQL,*FormSQL,*NetSQL,*CatePRO*C,Pro*FORTRAN等工具。出版了世界第一部電子圖書,《美國科學院百科全書》,它的3萬個圖,900萬字的內容就存儲在一張5.25英寸的CD-ROM光盤上。在軟件工程方面,WallStreetJournal一書把計算機輔助軟件工程CASE的概念大大地推廣開來。1986年卡內基?梅隆大學的軟件工程研究所的WattsHumphrey等人發表了“軟件過程成熟度框架”后來成為用于預測開發單位是否有能力生產可靠軟件的“能力成熟度模型CMM”IBM和Microsoft公司合作推出OS/2操作系統,為PS/2個人系統配套。OS/2被稱為32位微機的新一代操作系統。1987年軟件開發大事記BarryBoehm提出了軟件系統開發的“螺旋模型”,后來,該模型被認為能有效提高系統開發效率。ACM的一個工作組提出一份報告“ComputingasaDiscipline”(計算仍是一門科學)。它把計算機學科歸納為九個主題:算法與數據結構、體系結構、人工智能與機器人學、數據庫與情報檢索、人機通信、數值與符號計算、操作系統、編程語言、軟件工程與方法學。它還包括了三種不同的處理方法:理論、抽象、設計,構成計算機學科的3×9矩陣。UNIX的標準化過程早已啟動。通過了POSIXDraft13作為IEEE標準1003.1。POSIX的含義是“基于UNIX的可移植操作系統的接口與環境”。1988年美國卡內基?梅隆大學研制了SPHINX系統,使英語語音識別系統的識別率有了明顯提高。1989年軟件開發大事記TimBernersLee提出了關于WorldWideWeb原則,并同時給出了URLs、HTML和HTTP的概念。國際標準化組織接受了UNIX標準POSLX為國際標準ISO9945/1。微軟的Windows取得極大成功。1990年IBM與Microsoft分道揚鑣。DOS5.0版問世。本來,人們曾認為DOS的歷史會到4.0版為止。因為已有了Windows,有了OS/2。但是Microsoft認為Windows3.0的成功說明DOS的確不賴,沒有必要把它打入冷宮,如果需要,DOS6.0、DOS7.0也將會出現。Borland公司兼并了AshtonTate公司。Borland承諾將繼續支持和發展dBASE系列,該公司盡力樹立領導面向對象技術市場的形象。Novell公司兼并了DigitalResearch公司,于是RD的DOS和Novell產品配套出售。DR-DOS正是網絡功能見長的操作系統。6月13日,中國頒布了《計算機軟件保護條例》,并于同年10月1日開始實施。1991年軟件開發大事記1月,Intel公司和Microsoft公司聯合發表有關保持環境的APM標準。1992年伊利諾斯州大學的超級計算機應用研究中心的學生和研究人員開發了第一個基于圖形界面的Internet瀏覽器,名為NCSAMasaic。美國白宮發表了一份長達46頁的報告。闡述了克林頓政府的“NationalInformationIntfrtructure”(國家信息基礎建設)發展計劃。人們把NII常稱為“InformationSuperHighway”(信息高速公路)。由于克林頓總統親自掛帥,戈爾副總統具體組織,NII便如火如荼地展開。1993年Netscape公司首次推出它的瀏覽器。由此,在很短的時間內就培養了一群Internet的愛好者(Web沖浪者)1994年SUN公司推出Java及其集成開發環境。Java語言是基于Internet的編程語言,使得應用程序同時在不同平臺運行成為可能。Microsoft公司推出WindowS95。1995年軟件發展存在的問題硬件的發展一直超過軟件,難以發揮硬件的潛能建造程序的能力遠遠不能滿足人們對新程序的需求,不能滿足商業和市場的要求。軟件的可靠性越來越重要。軟件失敗,會造成巨大的經濟損失,有可能帶來災難。拙劣的設計和資源的缺乏難以支持和增強已有軟件。產業的觀點為什么需要長時間才能結束開發?為什么成本如此之高?為什么不能在軟件交付給客戶之前就發現所有的錯誤?為什么軟件開發過程中我們難以度量其進展?這種關注最終導致軟件工程實踐的出現老化的軟件工廠軟件的競爭軟件技術面臨的問題規模復雜性生產率
Windows95有1000萬行代碼Windows2000有5000萬行代碼Exchange2000和Windows2000開發人員結構Exchange2000Windows2000項目經理25人約250人開發人員140人約1700人測試人員350人約3200人軟件危機的主要特征軟件開發周期大大超過規定日期;
軟件開發成本嚴重超標;
軟件質量難于保證。改正一個問題需付出的代價需求分析結構設計詳細設計編碼集成測試系統測試現場改正一個問題的估計費用改正一個問題估計的工作量20200200010005.02.50.050.5(美元)(人天)yet,SuccessHasntComeEasily31%53%16%SuccessfullyChallengedCanceled
成功的標準:用戶在用用戶可很容易做完要做的事失敗的根本原因:開發人員寫出的東西達不到用戶要求(人的問題.技術問題)處在十字路口的中國軟件產業主權大國必須建立基于自主技術的、完整的軟件產業體系。軟件本國提供率:中國1/3左右,美國97%“印度模式”還是“中國模式”軟件人才結構不合理,缺乏中高級軟件人才,軟件人員缺乏軟件工程化的概念。軟件工程的定義
FritzBauer在NATO會議上給出的定義:“軟件工程是為了經濟地獲得可靠的和能在實際機器上高效運行的軟件而確立和使用的好的工程原則(方法)。”軟件工程的定義
IEEE【IEE83】給出的軟件工程定義:“軟件工程是開發、運行、維護和修復軟件的系統方法。”
IEEE【IEE93】給出了一個更加綜合的定義:“將系統化的、規范的、可度量的方法應用于軟件的開發、運行和維護的過程,即將工程化應用于軟件中?!?/p>
軟件工程的定義
軟件工程是應用計算機科學、數學及管理科學等原理開發軟件的工程。它借鑒傳統工程的原則、方法,以提高質量,降低成本為目的。
軟件工程的定義
軟件工程是一門交叉學科軟件工程的主要研究內容:軟件開發技術:軟件開發方法學軟件開發過程軟件工具和軟件工程環境軟件工程管理:軟件管理學軟件經濟學軟件心理學軟件工程所包含的內容不是一成不變的,隨著人們對軟件系統的研制開發和生產的理解。應用發展的眼光看待它。軟件工程—一種層次化技術工具方法過程質量焦點Softwareengineeringlayers軟件工程三個要素:過程、方法、工具軟件工程包括三個要素:方法、工具和過程
軟件工程方法為軟件開發提供了“如何做”的技術。它包括了多方面的任務,如項目計劃與估算、軟件系統需求分析、數據結構、系統總體結構的設計、算法的設計、編碼、測試以及維護等。軟件工程方法常采用某種特殊的語言或圖形的表達方法及一套質量保證標準。軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環境。如CASE、ISEE等。軟件工程的過程則是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟件開發各個階段完成的里程碑。軟件工程就是包含上述方法、工具及過程在內的一些步驟。軟件工程過程特性易理解性可見性可支持性可接受性可靠性健壯性可維護性速度軟件工程的一般視圖
工程是對技術(或社會)實體的分析、設計、建造、驗證和管理。因此工程須回答下列問題:要解決的問題是什么?要用于解決該問題的實體具有什么特點?如何實現該實體(解決方案)?如何建造該實體?采用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店師徒結對協議書
- 表演培訓轉讓協議書
- 門面認購民間協議書
- 避險搬遷補償協議書
- 停車場租戶合同協議書
- 合伙包工程合同協議書
- 便利店合作合同協議書
- Brand KPIs for second-hand apparel online shops I Need Brechó in Brazil-外文版培訓課件(2025.2)
- 0萬離婚補償協議書
- Brand KPIs for shoes Barker in the United Kingdom-外文版培訓課件(2025.2)
- 阿替普酶在心腦血管疾病中的應用
- 心悸-《中醫內科學》教案
- MOOC 數字電子技術基礎-華中科技大學 中國大學慕課答案
- 營區物業服務營區物業服務保密措施
- 國測省測四年級勞動質量檢測試卷
- 托槽粘結醫學課件
- 屋面防水修繕工程技術標樣本
- 藍曬創作方案
- 初中音樂八年級上冊 歡樂頌
- 醫院智慧后勤管理平臺建設規劃方案
- 酒店類抖音代運營方案綜合
評論
0/150
提交評論