




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程世界城第1頁,課件共43頁,創作于2023年2月軟件工程=編程?軟件工程是一門學科,一種科學理論來指導軟件系統開發,標準化、自動化的過程考慮如何分解一個系統,以便各人分工開發;考慮如何說明每個部分的規格要求;怎樣才能易于維護編程單純的代碼編寫是軟件工程發展的前身是軟件工程中占據很少時間和空間的一部分第2頁,課件共43頁,創作于2023年2月學習目標課程性質課程目標考核方式幾點建議第3頁,課件共43頁,創作于2023年2月1課程性質“軟件工程”是高職高專院校計算機應用與軟件技術專業教學計劃中一門專業核心課程,它是研究軟件開發和軟件管理的一門工程科學。它的主要任務是掌握支持軟件開發和管理的理論、方法、技術、標準以及計算機輔助軟件工程的工具(Visio或Rose)環境等知識;使學生具有軟件開發能力(包括熟練進行程序設計語言的結構化編碼與可視化設計能力;UML的閱讀和建模能力;培養用軟件工程化及項目化的思想處理解決問題的能力等)。第4頁,課件共43頁,創作于2023年2月概括說:軟件開發能力最關鍵的步驟有三步:第5頁,課件共43頁,創作于2023年2月2課程目標1.學會接受一種軟件工程思想。掌握軟件工程的基本原理、概念與方法----主要包括軟件系統的可行性研究、需求分析、概要設計、詳細設計、編碼、測試、維護、面向對象、項目管理等方面的基本知識與方法。2.掌握軟件工程中的一些基本技術方法,如數據流圖、數據字典、結構分析方法(如Jackson方法等),面向對象分析方法、集成測試方法、項目管理的基本方法等。3.結合模擬案例,學會從實際中掌握從面向過程到面向對象思想理論的基本方法和技巧。掌握軟件開發文檔的組織編寫等。4.掌握一種工具。學期末能用Visio或Rose軟件完成大作業的設計(畫各種軟件工程圖)(指定或自找題目)5.把目前或以后要學的程序設計知識(C、Java、C#、VC++、等)提高到一定理論高度認識:編程能否用?學會思想比掌握一種工具更為重要。
溫馨提示:第6頁,課件共43頁,創作于2023年2月3考核方式平時成績(30%)到課情況上機作業答辯情況實驗報告項目成績項目文檔項目答辯(期中期末各一次)第7頁,課件共43頁,創作于2023年2月4學習資料教材軟件工程技術與實用開發工具第8頁,課件共43頁,創作于2023年2月4學習資料推薦教材張海藩:軟件工程導論(第5版)林銳:軟件工程思想人月神話第9頁,課件共43頁,創作于2023年2月1-5一點建議利用互聯網獲取信息使用信息搜索引擎學術資料博客論壇第10頁,課件共43頁,創作于2023年2月1-5一點建議參加國家軟件考試第11頁,課件共43頁,創作于2023年2月1-5一點建議認真;開放性大學之道,在明明德,在親民,在止于至善。知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有始終。知所先后,則近道矣。 ——大學玉不琢,不成器。人不學,不知道。 ——禮記·學記第12頁,課件共43頁,創作于2023年2月第一章軟件工程概述
現代軟件工程入門第13頁,課件共43頁,創作于2023年2月目標了解軟件工程的起因
掌握軟件開發模型了解面向對象軟件編程第14頁,課件共43頁,創作于2023年2月計算機軟件軟件-計算機系統中程序、數據及其相關文檔的完整集合運行時,能夠提供所要求功能和性能的指令或計算機程序集合。程序能夠滿意地處理信息的數據結構。描述程序功能需求以及程序如何操作和使用所要求的文檔。第15頁,課件共43頁,創作于2023年2月軟件產品的特性邏輯產品。不會用壞,不存在磨損、消耗問題。軟件產品的生產主是研制,軟件產品的成本主要體現在軟件的開發和研制上,軟件開發完成后,復制就產生了大量軟件產品。軟件產品的生產主要是腦力勞動,還未完全擺脫手工開發方式,而且必須是"定做"的。軟件費用不斷增加,成本相當昂貴。第16頁,課件共43頁,創作于2023年2月計算機軟件分類按功能分系統軟件:能夠控制計算機系統各部件(軟硬件)的協調、高效地工作和進程處理、資源共享管理等應用軟件:應用軟件是為特定的應用目的而開發的服務性軟件,它的服務領域涉及廣泛,例如企業信息系統,計算機輔助設計與制造(CAD,CAM)系統等
支撐軟件:是工具軟件,它幫助軟件開發人員開發自己的軟件產品,例如各種軟件開發工具,軟件測試工具第17頁,課件共43頁,創作于2023年2月計算機軟件分類按工作方式分實時處理軟件:實時系統與其他普通的系統之間的最大的不同之處就是要滿足處理與時間的關系
分時軟件:計算機把它的運行時間分為多個時間段,并且將這些時間段平均分配給用戶們指定的任務。輪流地為每一個任務運行一定的時間,直至完成所有任務
交互式軟件:可通過各種界面實現人機通信,使人們可以介入到程序內部,這種方式為用戶帶來很大方便批處理軟件:能將一批數據按要求的順序逐個處理,直至全部作業處理完畢第18頁,課件共43頁,創作于2023年2月計算機軟件發展第一代(20世紀60年代中期以前):程序設計階段
第二代(60年代中期到70年代中期):程序系統階段第三代(70年代中期到80年代中期):軟件工程階段第四代(80年代中期至今):軟件產業在世界經濟中已經占有舉足輕重的地位第19頁,課件共43頁,創作于2023年2月計算機軟件發展階段A.程序設計時代(1946-1956)B.程序系統時代(1956-1968)C.軟件工程時代(1968-今)生產方式個體手工勞動小集團合作生產工程化的生產工具機器語言、匯編高級語言數據庫、開發工具、開發環境、網絡、
分布式、面向對象技術開發方法追求編和技巧,追求程序運行效率個人技巧,開始提出結構化方法硬件特征價格貴、存儲容量小、運行可靠性差速度、容量、工作可靠性有明顯提高,價格降低,銷售有爆炸性增長向超高速、大容量、微型化以及網絡化方軟件特征只有程序、程序設計概念,不重視程序設計方法程序員數量猛增,已意識到軟件開發的重要性,開發技術沒有新的突破,大量軟件開發的需求已提出,開發人員的素質和工程兵的開發技術不適應規模大、結構復雜的軟件開發,產生了尖銳矛盾,導致軟件危機的產生開發技術有很大進步,但未能獲得突破性進展,軟件價格不斷上升,沒有完全擺脫軟件危機第20頁,課件共43頁,創作于2023年2月軟件危機美國IBM公司在1963年至1966年開發的IBM360機的操作系統。這一項目花了5000人一年的工作量,最多時有1000人投入開發工作,寫出了近100萬行源程序。......據統計,這個操作系統每次發行的新版本都是從前一版本中找出1000個程序錯誤而修正的結果。......第21頁,課件共43頁,創作于2023年2月軟件危機
這個項目的負責人F.D.Brooks事后總結了他在組織開發過程中的沉痛教訓時說:“......正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂的災難。......程序設計工作正像這樣一個泥潭,......一批批程序員被迫在泥潭中拼命掙扎,......誰也沒有料到問題竟會陷入這樣的困境......”。IBM360操作系統的歷史教訓成為軟件開發項目的典型事例為人們所記取。SoftwareCrisis!第22頁,課件共43頁,創作于2023年2月軟件危機經費預算經常突破,完成時間一再拖延。開發的軟件不能滿足用戶要求。開發的軟件可維護性差。開發的軟件可靠性差。第23頁,課件共43頁,創作于2023年2月軟件危機產生原因軟件的規模越來越大,結構越來越復雜。軟件開發管理困難而復雜。軟件開發費用不斷增加。軟件開發技術落后。生產方式落后。開發工具落后,生產率提高緩慢。概括起來兩個問題:如何開發軟件維護已有軟件第24頁,課件共43頁,創作于2023年2月解決軟件危機的辦法
BettermanagementDifferentteamorganizationsBetterlanguages&toolsUniformcodingconventions
必須意識到:“軟件”編程,它有自己的生命周期
(lifecycle)。大型軟件系統的開發與其它工程項目如建造橋梁、制造飛機、輪船等的開發是同理的。第25頁,課件共43頁,創作于2023年2月軟件工程定義研究軟件生產的一門學科,用科學知識和技術原理來定義、開發、維護軟件的一門學科。軟件工程三要素方法-完成軟件開發的各項任務的技術方法工具-為方法提供了自動或半自動的軟件支撐環境過程-將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發的目的第26頁,課件共43頁,創作于2023年2月軟件工程的本質關注大型程序的構造中心課題是控制復雜性軟件經常變化開發軟件的效率非常重要和諧的合作是開發軟件的關鍵軟件必須有效的支持它的用戶具有一種文化背景的人替具有另一種文化背景的人創造產品第27頁,課件共43頁,創作于2023年2月軟件工程目標(成功的建造一個大型軟件系統)a.付出較低的開發成本;b.面到要求的軟件功能;c.取得較好的軟件性能;d.開發的軟件易于移植;e.需要較低的維護費用;f.能按時完成開發任務,及時交付使用;g.開發的軟件可靠性高;第28頁,課件共43頁,創作于2023年2月軟件工程的基本原理(Principles)用分階段的生命周期計劃嚴格管理項目概要計劃里程碑計劃項目控制計劃產品控制計劃驗證計劃運行維護計劃堅持進行階段評審實行嚴格的產品控制——基準配置管理(Baselineconfigurationmanagement)采用現代程序設計技術結果應能清楚地審查—setstandards開發小組的成員應該少而精1+1<2承認不斷改進軟件工程實踐的必要性第29頁,課件共43頁,創作于2023年2月軟件工程方法學傳統方法學面向數據或者行為采用結構化技術開發劃分為若干階段,開發強調自頂向下的順序面向對象方法學模擬人類習慣的思維方式,接近人類認識世界解決問題的方法和過程以數據為主線,數據和對數據的操作緊密結合開發是一個反復迭代的演化過程4個要點:對象融合數據和操作的軟件構件類一組具有相同數據和操作的相似對象繼承子類擁有基類的數據和操作消息通信對象間的聯系方式第30頁,課件共43頁,創作于2023年2月軟件定義時期:問題定義回答“要解決的問題是什么”可行性研究回答“有可行的解決辦法嗎?”需求分析確定“系統必須做什么?”軟件開發時期:總體設計概括回答“應該怎樣實現系統”詳細設計詳細回答“應該怎樣實現系統”編碼和單元測試綜合測試運行維護時期:軟件維護軟件生命周期第31頁,課件共43頁,創作于2023年2月軟件生周存期弄清楚用戶要解決的問題是什么尋求解決問題的綜合效益較高的解決方案v確定系統所具備用戶所期望的功能設計軟件功能模塊,再單獨實現各個部分功能,再做實際測試軟件生存周期最后一個階段,主要是做好維護工作,滿足用戶需求,延長軟件使用壽命第32頁,課件共43頁,創作于2023年2月維護開發定義DefinitionFeasibilityStudyRequirementsAnalysisProgramDesignCoding&ModuleTestingIntegration&SystemTestingDelivery&MaintenanceSystemDesign瀑布模型(WaterfallModel)又可稱為生命周期瀑布模型,是傳統的軟件開發模型按照傳統的生命周期方法學開發軟件,從問題定義開始逐一按生命周期各階段順序進行,直至得到用戶確認第33頁,課件共43頁,創作于2023年2月瀑布模型特點階段間的順序和依賴性關系
階段間的順序是必須待前一階段的工作完成之后,才能進行下一階段的工作只要前一階段正確的輸出,后一階段的工作才有可能獲得正確的結果在于各階段的工作可以獨立進行,而且在不同的階段實施不同的管理和技術若在某一階段發現了問題,這可能需要追溯到之前的某個或某些階段,萬一問題發生在早期階段,則需要付出昂貴的代價
第34頁,課件共43頁,創作于2023年2月瀑布模型特點推遲實現實踐表明,編碼開始得越早,完成開發工作所需要的時間反而越長瀑布模型是使物理實現推遲到軟件開發的后期進行,這就大大降低了軟件的風險盡可能推遲程序的物理實現是瀑布模型開發軟件的一條重要的原則第35頁,課件共43頁,創作于2023年2月瀑布模型特點質量保證各階段都必須完成規定的文檔各階段結束前都要對本階段的工作和文檔進行評審,以便及時發現問題,改正錯誤經驗證明,越是早期的錯誤,暴露的時間就越晚,排除和改正錯誤所付出的代價也就越高第36頁,課件共43頁,創作于2023年2月軟件開發模型-瀑布模型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司晨間律動活動方案
- 公司組建志愿者活動方案
- 公司攝影采風活動方案
- 公司氛圍營銷大會策劃方案
- 公司春季活動方案
- 公司日常特色活動方案
- 公司機制策劃方案
- 公司組織編發活動方案
- 公司特色自助餐活動方案
- 公司突破億元活動方案
- 酒店用火用電安全管理制度
- 模具機加工管理制度
- 區畜牧局十五五總結及十五五規劃
- 2025年普通高等學校招生全國統一考試(全國I卷英語)及答案
- 銀行支行安全防范教育培訓制度
- DB31/T 1096-2018醫院日間手術管理規范
- DB32-T 5119-2025 鋰離子電池工廠生產安全技術規范
- 中醫診所掛證醫生合同6篇
- 六年級下冊“快樂讀書吧”練習題試題及答案
- ★教導型組織-行動管理模式(三)
- 朗文英語2B英語復習資料
評論
0/150
提交評論