




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
為什么要學(xué)習(xí)這門課程正確理解和認(rèn)識“軟件”的概念及其特點軟件是PC的靈魂掌握軟件工程的原則、方法和思想來系統(tǒng)地開發(fā)軟件,尤其是復(fù)雜、龐大軟件的開發(fā)從程序員到軟件工程師了解和接觸各種軟件開發(fā)技術(shù)和工具軟件工程是軟件技術(shù)和管理人員必備的課程軟件開發(fā)與人才需求現(xiàn)有模式小作坊的、一人身兼多職英雄式的軟件開發(fā)生產(chǎn)模式大規(guī)模的軟件生產(chǎn),專業(yè)化分工越來越細(xì),團隊合作開發(fā)對人才的要求除精通開發(fā)技術(shù)外更需要軟件工程意識和團隊合作精神教程軟件工程導(dǎo)論(第6版)張海藩等編著清華大學(xué)出版社教學(xué)內(nèi)容軟件工程概述(第1章)可行性研究(第2章)需求分析(第3章)系統(tǒng)設(shè)計(第5章)詳細(xì)設(shè)計(第6章)系統(tǒng)實現(xiàn)(第7章)系統(tǒng)維護(第8章)教學(xué)內(nèi)容面向?qū)ο蠓椒▽W(xué)引論(第9章)面向?qū)ο蠓治觯ǖ?0章)面向?qū)ο笤O(shè)計(第11章)面向?qū)ο髮崿F(xiàn)(第12章)軟件項目管理(第13章)資源/UML軟件工程組織/希賽/中國最大的開發(fā)者技術(shù)社區(qū)——《程序員》刊物官方網(wǎng)站/賽迪教育——信息產(chǎn)業(yè)部電子教育與考試中心唯一指定軟考遠(yuǎn)程輔導(dǎo)平臺/軟件測試網(wǎng)軟件工程概述內(nèi)容軟件的定義和特點軟件危機概況、原因和消除途徑軟件工程介紹概況、基本原理、軟件工程方法學(xué)軟件生命周期軟件過程瀑布模型、快速原型模型、增量模型、螺旋模型等軟件軟件=程序?
《IEEEStandardGlossaryofSoftwareEngineeringTerminology》計算機程序、規(guī)程以及運行計算機系統(tǒng)可能需要的相關(guān)文檔和數(shù)據(jù)。程序:在運行時,能提供所希望的功能和性能的指令序列。數(shù)據(jù):使程序能夠正確運行的數(shù)據(jù)結(jié)構(gòu)文檔:描述程序研發(fā)過程、方法及使用的文檔軟件中的文檔促進對軟件的開發(fā),管理和維護;便于各種人員(用戶,開發(fā)人員)的交流軟件本質(zhì)特性復(fù)雜性軟件在規(guī)模上可能比任何由人類創(chuàng)造的其他實體都要復(fù)雜,復(fù)雜性是軟件的本質(zhì)特征軟件的復(fù)雜形是必要屬性大量的組合狀態(tài)豐富的結(jié)構(gòu)和相互依賴性良好的接口用以封裝內(nèi)部的復(fù)雜性開發(fā)問題也會增加復(fù)雜性高效率的代碼通常是復(fù)雜的重用通用化的組件意味著復(fù)雜的狀態(tài)連接復(fù)雜的代碼難以維護,導(dǎo)致設(shè)計上的更復(fù)雜軟件本質(zhì)特性復(fù)雜性Windows95有1000萬行代碼Windows2000有5000萬行代碼Exchange2000和Windows2000開發(fā)人員結(jié)構(gòu)軟件本質(zhì)特性一致性軟件必須遵從人為的慣例并適應(yīng)已有的技術(shù)和系統(tǒng)軟件必須遵循各種接口、協(xié)議和標(biāo)準(zhǔn)有些情況下,兼容性是軟件開發(fā)的目標(biāo)軟件需要隨接口的不同而改變,隨時間的推移而變化,而這些變化是不同的人設(shè)計的結(jié)果。許多復(fù)雜性來自保持與其他接口的一致,對軟件的任何再設(shè)計,都無法簡化這些復(fù)雜特性。軟件本質(zhì)特性可變性軟件產(chǎn)品扎根于文化的母體中,如各種應(yīng)用、用戶、自然及社會規(guī)律、計算機硬件等,后者持續(xù)不斷地變化著,這些變化無情地強迫著軟件隨之變化。所有成功的軟件都會發(fā)生變更!當(dāng)人們發(fā)現(xiàn)軟件很有用時,會在原有應(yīng)用范圍的邊界,或者在超越邊界的情況下使用軟件;功能擴展的壓力主要來自那些喜歡基本功能,又對軟件提出了很多新用法的用戶們。軟件本質(zhì)特性可變性軟件退化軟件本質(zhì)特性不可見性軟件是不可見的和無法可視化的軟件的客觀存在不具有空間的形體特征定義“需要做什么”成為軟件開發(fā)的根本問題人們一直試圖使用不同的技術(shù)進行軟件可視化控制流程、數(shù)據(jù)流、依賴關(guān)系、UML、……這些技術(shù)仍然無法給出準(zhǔn)確的、完整的描述軟件仍然保持著無法可視化的固有特性,從而剝奪了一些具有強大功能的概念工具的構(gòu)造思路。這種缺憾不僅限制了個人的設(shè)計過程,也嚴(yán)重地阻礙了相互之間的交流。軟件分類按工作方式劃分實時處理軟件分時軟件交互式軟件批處理軟件軟件分類按功能劃分系統(tǒng)軟件與計算機硬件緊密配合在一起,使計算機系統(tǒng)各個部件、相關(guān)的軟件和數(shù)據(jù)協(xié)調(diào)、高效地工作的軟件支撐軟件能協(xié)助用戶開發(fā)軟件的工具性軟件,其中包括幫助程序人員開發(fā)軟件產(chǎn)品的工具,也包括幫助管理人員控制開發(fā)的進程的工具應(yīng)用軟件:在特定領(lǐng)域內(nèi)開發(fā),為特定目的服務(wù)的一類軟件軟件分類按規(guī)模(人力、時間、源程序行數(shù))劃分軟件分類按用途通用軟件面向市場公開銷售的獨立運行系統(tǒng)。例如:操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、字處理軟件等。定制軟件由客戶委托,在合同約束下開發(fā)的軟件例如:網(wǎng)上書店、圖書管理系統(tǒng)、空中交通管理系統(tǒng)等。軟件的發(fā)展計算機軟件發(fā)展的三個時期程序設(shè)計階段(60年代中期之前)硬件通用,軟件專用;程序規(guī)模小,編寫者和使用者為同一人(同組人)。程序系統(tǒng)階段(60年代中期-70年代中期)出現(xiàn)“軟件作坊”、產(chǎn)品軟件;“個體化”開發(fā)方法。軟件工程階段(70年代中期之后)軟件開發(fā)成為一門新興的工程學(xué)科——軟件工程。軟件的發(fā)展各階段特點軟件危機概念軟件危機指的使軟件開發(fā)和維護過程中遇到的一系列嚴(yán)重問題,包含兩方面的問題:如何開發(fā)軟件,怎樣滿足對軟件的日益增長的需求如何維護數(shù)量不斷膨脹的已有軟件軟件危機軟件危機的主要表現(xiàn)對軟件開發(fā)成本和進度的估計不準(zhǔn)確產(chǎn)品不符合用戶的要求軟件質(zhì)量不高、可靠性差軟件常常不可維護、錯誤難以改正缺乏適當(dāng)?shù)奈臋n資料軟件成本占系統(tǒng)總成本的比例逐年上升軟件開發(fā)速度跟不上計算機發(fā)展速度軟件危機軟件危機-開發(fā)成本高軟件危機軟件技術(shù)進步落后于需求增長軟件危機產(chǎn)生軟件危機的主要原因客觀:軟件本身特點邏輯部件,難以控制質(zhì)量規(guī)模龐大,結(jié)構(gòu)復(fù)雜主觀:不正確的開發(fā)方法,落后的開發(fā)工具忽視需求分析錯誤認(rèn)為:軟件開發(fā)=程序編寫輕視軟件維護軟件危機解決軟件危機的途徑技術(shù)措施使用更好的軟件開發(fā)方法和開發(fā)工具組織管理措施軟件開發(fā)不是某種個體勞動的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項目。軟件工程指導(dǎo)計算機軟件開發(fā)和維護的一門科學(xué)。采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效維護。產(chǎn)生1968年,北大西洋公約組織(NATO),召開的有關(guān)計算機軟件會議上正式提出“軟件工程”術(shù)語。[IEEE1993年]定義軟件工程(SoftwareEngineer)軟件工程本質(zhì)特性關(guān)注大型程序構(gòu)造中心課題:簡化復(fù)雜性變動成本控制提高開發(fā)效率和諧開發(fā)軟件必須有效支持用戶功能、性能和可用性開發(fā)者和使用者來自不同文化背景連接著的角色
軟件工程的基本原理軟件工程的原則和信條100多條B.W.Boehm的7條基本原理
軟件工程的基本原理用分階段的生命周期計劃嚴(yán)格管理經(jīng)統(tǒng)計表明,不成功的軟件項目中有一半左右是由于計劃不周造成的。Boehm認(rèn)為,在軟件的整個生命周期中應(yīng)制定并嚴(yán)格執(zhí)行六類計劃:項目概要計劃、里程碑計劃、項目控制計劃、產(chǎn)品控制計劃、驗證計劃、運行維護計劃。
軟件工程的基本原理堅持進行階段評審大部分錯誤是在編碼之前造成的錯誤發(fā)現(xiàn)與改正得越晚,所需付出的代價越高。因此,在每個階段都進行嚴(yán)格的評審,以便盡早發(fā)現(xiàn)在軟件開發(fā)過程的錯誤
軟件工程的基本原理實行嚴(yán)格的產(chǎn)品控制在軟件開發(fā)過程中不要隨意改變需求,因為改變某項需求往往需要付出較高的代價,但在實踐中用戶往往會提出需求變更,因此需要采取科學(xué)的產(chǎn)品控制技術(shù)。目前主要實行基準(zhǔn)配置管理:基準(zhǔn)配置是指經(jīng)過階段評審后的軟件配置成分,如各個階段產(chǎn)生的文檔或程序代碼。對涉及基準(zhǔn)配置的修改,必須經(jīng)過嚴(yán)格的評審,通過后才能實施修改。
軟件工程的基本原理采用現(xiàn)代程序設(shè)計技術(shù)實踐表明:采用先進的技術(shù)既可提高軟件開發(fā)的效率,又可提高軟件維護的效率。80年代及之前:結(jié)構(gòu)化分析、設(shè)計技術(shù)90年代:面向?qū)ο蠓治?、設(shè)計技術(shù)
軟件工程的基本原理結(jié)果應(yīng)能清楚地審查軟件產(chǎn)品是看不見、摸不著的邏輯產(chǎn)品,開發(fā)過程難以評價和管理。根據(jù)軟件開發(fā)項目的總目標(biāo)及完成期限,規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),使所得的結(jié)果能夠清楚地審查
軟件工程的基本原理開發(fā)小組的人員應(yīng)該少而精開發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開發(fā)效率的重要因素。開發(fā)小組人員數(shù)目的增加,使相互交流復(fù)雜、費用增加。
軟件工程的基本原理承認(rèn)不斷改進軟件工程實踐的必要性遵循前6條基本原理,就能夠按照當(dāng)代軟件工程基本原理實現(xiàn)軟件的工程化生產(chǎn),但不能保證趕上時代前進的步伐。積極主動采納新的軟件技術(shù),且不斷總結(jié)經(jīng)驗。軟件工程方法學(xué)軟件工程生命周期中采用的一整套技術(shù)方法的集合傳統(tǒng)方法學(xué)面向?qū)ο蠓椒▽W(xué)軟件工程的三要素過程(Process)支持軟件生命周期的所有活動方法(Method)為完成軟件生命周期的一系列活動提供“怎么做”的技術(shù)工具(Tool)為“方法”提供一系列自動、半自動的軟件支撐環(huán)境傳統(tǒng)方法學(xué)采用結(jié)構(gòu)化技術(shù)完成軟件開發(fā)的各項任務(wù)并使用適當(dāng)?shù)能浖ぞ呋颦h(huán)境來支持技術(shù)的運用把生命周期劃分為若干個階段,然后分階段完成,前一階段的技術(shù)標(biāo)準(zhǔn)是后一階段的開始并分階段審查結(jié)果面向?qū)ο蠓椒▽W(xué)既面向數(shù)據(jù)又面向行為的方法學(xué)把對象作為融合數(shù)據(jù)和操作的統(tǒng)一軟件構(gòu)件所有對象都劃分類,類定義數(shù)據(jù)和操作按父類子類關(guān)系,組成層次結(jié)構(gòu)對象間發(fā)送消息軟件生命周期軟件從提出需求開始直到該軟件報廢為止的整個時期。軟件定義問題定義、可行性研究、需求分析軟件開發(fā)系統(tǒng)設(shè)計總體設(shè)計、詳細(xì)設(shè)計系統(tǒng)實現(xiàn)編碼、單元測試綜合測試軟件維護軟件生命周期問題定義做什么,問題性質(zhì)、目標(biāo)、規(guī)??尚行匝芯渴欠裰档?,是否能做需求分析->規(guī)格說明書(Specification)明確細(xì)致的確定做什么系統(tǒng)邏輯模型數(shù)據(jù)流圖數(shù)據(jù)字典簡要算法軟件生命周期概要設(shè)計幾種可能的方案和架構(gòu)模塊化詳細(xì)設(shè)計模塊的細(xì)化功能描述數(shù)據(jù)結(jié)構(gòu)軟件生命周期編碼與單元測試綜合測試集成測試按軟件結(jié)構(gòu)把模塊組裝測試按規(guī)格說明書測試,由用戶驗收維護改正性適應(yīng)性,修改適應(yīng)環(huán)境完善性,功能完善預(yù)防性軟件過程為了獲得高質(zhì)量軟件所需完成的一系列任務(wù)框架,規(guī)定了完成各項任務(wù)的步驟描述為了開發(fā)高質(zhì)量的軟件,什么人在什么時候做什么事以及怎樣做。使用資源將輸入轉(zhuǎn)化為輸出的活動所構(gòu)成的系統(tǒng)軟件開發(fā)過程應(yīng)該明確定義以下元素:過程中所執(zhí)行的活動及其順序關(guān)系。每一個活動的內(nèi)容和步驟。團隊人員的工作和職責(zé)。軟件過程模型–瀑布模型特點順序性和依賴性推遲實現(xiàn)不要急著寫代碼階段性評審質(zhì)量保證缺陷用戶對系統(tǒng)的認(rèn)識在開發(fā)階段僅來自文檔無法處理用戶的模糊需求軟件過程模型–快速原型模型特點線性順序開發(fā),無反饋軟件過程模型–增量模型優(yōu)點:能較短時間內(nèi)提交可完成部分工作的產(chǎn)品;可以使用戶有充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品。文檔系統(tǒng):字處理,文法檢測,頁面排版分步完善軟件過程模型–增量模型并發(fā)程度高,集成風(fēng)險更大軟件過程模型–螺旋模型特點可把它看作在每個階段之前都增加風(fēng)險分析的快速原型模型。軟件過程模型–螺旋模型軟件過程模型–螺旋模型螺旋模型優(yōu)點以風(fēng)險驅(qū)動開發(fā)過程,強調(diào)可選方案和約束條件從而支持軟件的重用。關(guān)注于早期錯誤的消除,將軟件質(zhì)量作為特殊目標(biāo)融入產(chǎn)品開發(fā)之中。螺旋模型缺點要求許多客戶接受和相信風(fēng)險分析并做出相關(guān)反應(yīng)是不容易的,往往適應(yīng)于內(nèi)部的大規(guī)模軟件開發(fā)。需要軟件開發(fā)人員具備風(fēng)險分析和評估的經(jīng)驗,否則將會帶來更大的風(fēng)險。軟件過程模型–噴泉模型特點典型的面向?qū)ο筌浖_發(fā)過程模型之一圓圈代表各個階段互相交疊,他準(zhǔn)確反映了各個行為之間的交疊。某個階段內(nèi)的箭頭代表那個階段內(nèi)的迭代維護圓圈較小,代表使用面向?qū)ο蟮姆缎蜁r,維護的工作量減少了軟件過程模型–噴泉模型噴泉模型優(yōu)點具有更多的增量和迭代性質(zhì),生存期的各個階段可以相互重迭和多次反復(fù)在項目的整個生存期中還可以嵌入子生存期采用面向?qū)ο蠓椒▽崿F(xiàn)的這種在概念上和表示方法上的一致性保證了開發(fā)活動間的無縫過渡噴泉模型缺點面向?qū)ο蠓独蠼?jīng)常對開發(fā)活動進行迭代,這就有可能造成在使用噴泉模型的開發(fā)過程過于無序。Rational統(tǒng)一過程RUP(RationalUnifiedProcess)軟件開發(fā)經(jīng)驗迭代式開發(fā)->容納需求變更/減少風(fēng)險管理需求->使用用例和腳本使用基于構(gòu)件的體系結(jié)構(gòu)->功能清晰的模塊和子系統(tǒng)可視化建模->模型可為文字、圖形、數(shù)學(xué)表達式驗證軟件質(zhì)量->質(zhì)量評估內(nèi)建在貫穿于整個開發(fā)過程的、由全體成員參與的所有活動中控制軟件變更->控制、跟蹤、監(jiān)控修改Rational統(tǒng)一過程初始精化構(gòu)建移交初始精化1精化2構(gòu)建1構(gòu)建2構(gòu)建3移交1移交2環(huán)境工作流業(yè)務(wù)建模需求分析與設(shè)計實現(xiàn)測試部署項目管理階段配置與變更管理Rational統(tǒng)一過程1.業(yè)務(wù)建模:描述了如何擬定新目標(biāo)組織的前景,并基于該前景來確定該組織在業(yè)務(wù)用例模型和業(yè)務(wù)對象模型中的流程、角色以及職責(zé)。主要角色:業(yè)務(wù)流程分析員、業(yè)務(wù)設(shè)計員、業(yè)務(wù)模型復(fù)審員主要工件:業(yè)務(wù)模型(包括業(yè)務(wù)用例模型和業(yè)務(wù)對象模型)2.需求:描述系統(tǒng)應(yīng)該做什么,即捕獲需求,并使開發(fā)人員和用戶就這一需求描述達成共識。主要角色:系統(tǒng)分析員、用戶界面設(shè)計員、需求復(fù)審員主要工件:用例模型和用戶界面模型Rational統(tǒng)一過程3.分析設(shè)計:將需求轉(zhuǎn)化成對未來系統(tǒng)的設(shè)計,為系統(tǒng)開發(fā)一個健壯的結(jié)構(gòu),并調(diào)整設(shè)計使其與實現(xiàn)環(huán)境相匹配,優(yōu)化其性能。主要角色:架構(gòu)設(shè)計師、架構(gòu)復(fù)審員
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中式餐廳裝修設(shè)計合同
- 濮陽醫(yī)學(xué)高等??茖W(xué)校《Java+Web開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴陽信息科技學(xué)院《數(shù)據(jù)庫原理及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆湖北省荊州市荊州中學(xué)高三二模生物試題試卷(B版)含解析
- 河北勞動關(guān)系職業(yè)學(xué)院《日本文化概況》2023-2024學(xué)年第一學(xué)期期末試卷
- 麗水學(xué)院《第一外國語(日)》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆現(xiàn)代職業(yè)技術(shù)學(xué)院《書法與板書設(shè)計實踐教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海健康醫(yī)學(xué)院《企業(yè)運營管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽體育學(xué)院《外國文學(xué)史二》2023-2024學(xué)年第二學(xué)期期末試卷
- 潞安職業(yè)技術(shù)學(xué)院《新媒體數(shù)據(jù)分析與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 體外膈肌起搏器
- “數(shù)學(xué)悖論”-辛普森悖論
- 六宮格數(shù)獨100題
- 工程項目跟蹤審計送審資料清單
- 中文產(chǎn)品手冊機架效果器tcelectronic-triplec manual chinese
- 人衛(wèi)版內(nèi)科學(xué)第九章白血?。ǖ?節(jié))
- 食堂設(shè)備維修記錄
- DB65∕T 4357-2021 草原資源遙感調(diào)查技術(shù)規(guī)程
- 幼兒園繪本:《閃閃的紅星》 紅色故事
- 植物生理學(xué)_第七版_潘瑞熾_答案
- FZ∕T 60021-2021 織帶產(chǎn)品物理機械性能試驗方法
評論
0/150
提交評論