版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
SoftwareEngineering
軟件工程蒲蔚CollegeofComputerScienceandSoftwareEngineering四川大學計算機(軟件學院)
E-Mail:puwei@CellPhone1講軟件工程課程介紹主要內(nèi)容1.1課程學習目的1.2第一個事實:軟件的重要性和軟件危機催生了軟件工程1.2.1軟件1.2.2軟件危機1.2.3軟件工程1.3再談?wù)n程目標1.4課程內(nèi)容與課程安排1.5課程信息1.6補充1.7習題與思考題WhydoIneedtolearnsoftwareengineering?1.1課程學習目的development=Programming?場景:做一個軟件(developsoftware)需求分析人員過程技術(shù)設(shè)計人員架構(gòu)師項目經(jīng)理測試人員高管市場人員人……開發(fā),需求分析,設(shè)計……項目管理測試,單元測試、集成測試、系統(tǒng)測試……過程管理配置管理……質(zhì)量管理怎么做開發(fā)(/建模),怎么做需求分析,怎么做設(shè)計……怎么實施項目管理怎么做測試,單元測試、集成測試、系統(tǒng)測試……怎么進行配置管理……怎么進行質(zhì)量管理質(zhì)量保證人員配置管理人員1.1課程學習目的Development≠programming.Onepurposeofthiscourseistoconvinceyouthatallofthecontentofthiscoursearetrue,andonceyouareconvinced,giveyouabasicknowledgesothatyoucanapplyityourself.Inanotherword,youwilllearnhowtothinkandtosolveproblem.
軟件的重要性和軟件危機
催生了軟件工程1.2“軟件工程”告知的第一個事實1.2.1軟件計算機軟件計算機軟件=程序+數(shù)據(jù)結(jié)構(gòu)+文檔1.2.1軟件計算機系統(tǒng)適當?shù)亟M織在一起的一系列系統(tǒng)元素的集合,這些系統(tǒng)元素互相配合、相互協(xié)作,通過對信息的處理而完成預(yù)先定義的目標。計算機系統(tǒng)元素計算機軟件:程序+數(shù)據(jù)結(jié)構(gòu)+文檔計算機硬件:提供計算能力的設(shè)備+外設(shè)人員:硬、軟件的用戶和操作者數(shù)據(jù)庫:大型的有組織的數(shù)據(jù)集合文檔:系統(tǒng)的描述信息過程:一系列的步驟1.2.1軟件計算機軟件的雙重作用作為一個產(chǎn)品,軟件扮演著信息交換的角色。作為產(chǎn)品生產(chǎn)的載體,軟件提供了計算機控制(操作系統(tǒng))、信息通信(網(wǎng)絡(luò))以及應(yīng)用程序開發(fā)和控制(軟件工具和環(huán)境)的基礎(chǔ)平臺。1.2.1軟件計算機軟件的特征軟件是設(shè)計開發(fā)的,而不是傳統(tǒng)意義上生產(chǎn)制造的。軟件不會“磨損”。雖然整個工業(yè)向著基于構(gòu)件的構(gòu)造模式發(fā)展,然而大多數(shù)軟件仍是根據(jù)實際的顧客需求定制的。1.2.1軟件軟件應(yīng)用領(lǐng)域P5以及應(yīng)全部或部分具備的屬性系統(tǒng)軟件應(yīng)用軟件工程/科學軟件嵌入式軟件產(chǎn)品線軟件Web應(yīng)用軟件(屬性)人工智能軟件開放計算網(wǎng)絡(luò)資源開源軟件新的挑戰(zhàn):“開放計算”、“網(wǎng)絡(luò)資源”和“開源軟件”網(wǎng)絡(luò)密集性并發(fā)性無法預(yù)知的負載量性能數(shù)據(jù)驅(qū)動可用性內(nèi)容敏感性持續(xù)演化即時性美觀性安全性1.2.2軟件危機軟件生產(chǎn)發(fā)展程序設(shè)計時代(1946~1956)程序系統(tǒng)時代(1956~1968)軟件工程時代(1968至今):軟件工程的發(fā)展大致可以劃分為兩個階段60年代末~80年代初80年代初~現(xiàn)在狀況軟件系統(tǒng)的規(guī)模、復(fù)雜性以及在關(guān)鍵領(lǐng)域的廣泛應(yīng)用,促進了軟件開發(fā)過程采納工程化的方法進行管理?!败浖S”的概念已經(jīng)提出。研究開發(fā)模型、支持工具、開發(fā)方法。軟件生產(chǎn)技術(shù),特別是軟件復(fù)用技術(shù)和軟件生產(chǎn)管理的研究和實踐。成果瀑布模型、結(jié)構(gòu)化語言(pascal等)、結(jié)構(gòu)化方法、各種管理方法(如費用估算、文檔復(fù)審)。提出了具有廣泛應(yīng)用前景的面向?qū)ο蠓椒ê拖嚓P(guān)的編程語言。事件前期主要研究系統(tǒng)實現(xiàn)技術(shù);后期則開始強調(diào)管理和軟件質(zhì)量。軟件過程改進。在工業(yè)實踐中建立起一種量化的評估程序,判定軟件組織成熟的程度。關(guān)注的焦點軟件項目軟件過程1.2.2軟件危機軟件危機軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。1.2.2軟件危機軟件危機的具體表現(xiàn)對開發(fā)成本和開發(fā)進度難以進行準確地估計用戶對軟件產(chǎn)品不滿意軟件產(chǎn)品的質(zhì)量難以保證軟件產(chǎn)品維護非常困難軟件產(chǎn)品沒有適當?shù)奈臋n資料軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升軟件開發(fā)效率的提高遠遠跟不上計算機應(yīng)用快速普及的趨勢下一頁用戶對軟件產(chǎn)品不滿意返回1.2.2軟件危機軟件危機的成因硬件生產(chǎn)效率的快速提高軟件產(chǎn)品的規(guī)模越來越大軟件產(chǎn)品開發(fā)的復(fù)雜度越來越高用戶需求不明確軟件開發(fā)技術(shù)落后軟件產(chǎn)品生產(chǎn)效率較低整個軟件開發(fā)過程缺乏正確的理論指導1.2.3軟件工程克服軟件危機人們面臨的不光是技術(shù)問題,更重要的是管理問題。管理不善必然導致失敗。要提高軟件開發(fā)效率,提高軟件產(chǎn)品質(zhì)量,必須采用工程化的開發(fā)方法與工業(yè)化的生產(chǎn)技術(shù)。在技術(shù)上,應(yīng)該采用基于重用的軟件生產(chǎn)技術(shù);在管理上,應(yīng)該采用多維的工程管理模式。1.2.3軟件工程軟件工程概括地說,軟件工程是指導計算機軟件開發(fā)和維護的工程學科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它,這就是軟件工程。1.2.3軟件工程軟件工程層次圖工具質(zhì)量關(guān)注點過程方法圖軟件工程層次圖1.2.3軟件工程軟件工程:過程開發(fā)要遵循一系列的可預(yù)測的步驟,也要靈活。軟件工程過程方法:過程框架過程模式指導過程的原則1.2.3軟件工程軟件工程:方法實踐的精髓:要構(gòu)建能夠適應(yīng)現(xiàn)代挑戰(zhàn)的軟件產(chǎn)品,需要在軟件工程實踐的框架之下,遵循如下的原則理解問題(溝通和分析)計劃解決方案(建模和軟件設(shè)計)實施計劃(代碼生成)檢查結(jié)果的正確性(測試與質(zhì)量保證)一般原則:指導實踐的原則:指導每個框架活動的原則溝通原則:策劃原則:建模原則:構(gòu)造原則:部署原則:原則的層次體現(xiàn)具體的建模方法(技術(shù))和建模表示法1.2.3軟件工程軟件工程:方法需求模型到設(shè)計模型的轉(zhuǎn)化:需求模型的每個元素都提供了創(chuàng)建4種設(shè)計模型(元素)所必須的信息,這4種設(shè)計模型(元素)是完整的設(shè)計規(guī)格說明所必須的。軟件設(shè)計過程的信息流如圖所示,由基于場景的(需求模型)元素、基于類的元素、面向流的元素和行為元素所表示的需求模型是設(shè)計任務(wù)的輸入。使用軟件工程學科提供的設(shè)計方法和設(shè)計表示法,將得到數(shù)據(jù)或類的設(shè)計、體系接口設(shè)計、接口設(shè)計和構(gòu)件設(shè)計。需求模型到設(shè)計模型的轉(zhuǎn)化基于場景的元素用例文本用例圖活動圖基于類的元素類圖分析包CRC模型協(xié)作圖面向流的元素數(shù)據(jù)流圖控制流圖處理敘述行為元素狀態(tài)圖順序圖構(gòu)件級設(shè)計接口設(shè)計體系結(jié)構(gòu)設(shè)計數(shù)據(jù)/類設(shè)計需求模型設(shè)計模型1.2.3軟件工程軟件工程層次圖工具質(zhì)量關(guān)注點過程方法圖軟件工程層次圖1.3再談?wù)n程目標希望:正確理解軟件開發(fā)的真實情況,不要“神話”不要理解不透的概念,要技術(shù)應(yīng)用的執(zhí)行力(以此去促進概念的理解)會依據(jù)項目團隊和要開發(fā)的產(chǎn)品特點,遵循過程實踐的指導原則選用調(diào)整過程模型。建模技術(shù)應(yīng)用,比方說,會用UML進行用例建模、體系結(jié)構(gòu)建模等等。做做游戲:場景1:假設(shè)你是一個項目經(jīng)理,想在你接到一個軟件開發(fā)項目,你首先需要思考的問題是什么?你如何在《軟件工程》中尋求解決的靈感?場景2:假設(shè)你拿到了書面的對用戶需求的文字陳述,你如何建立需求模型?你如何在《軟件工程》中尋求解決的技術(shù)?1.4課程內(nèi)容和課程安排序名稱時間安排第1講軟件工程課程介紹4課時;9月2日;第1周第2講軟件過程4課時;9月9日;第2周第3講面向?qū)ο蟾拍詈蚒ML知識點講解4課時;9月16日;第3周第4講面向數(shù)據(jù)流的結(jié)構(gòu)化分析和設(shè)計知識點講解4課時;9月23日,第4周第5講需求工程8課時;9月30日,10月7日;第5周,第6周4課時,10月14日,按大綱要求:Lab1UMLmodelingofsystem;第7周4課時,10月21日,按大綱要求:期中測驗;第8周第6講設(shè)計工程8課時;10月28日,11月4日;第9周,第10周4課時,11月11日,按大綱要求:Lab2GUIDesign;第11周第7講評審和測試4課時,11月18日,第12周4課時,11月25日,按大綱要求:Lab3SoftwareTesting;第13周第8講Web介紹4課時,12月2日,第14周4課時,12月9日,按大綱要求:Lab4Webapplication;第15周4課時,12月16日,按大綱要求:FinalCourseReview,第16周下一節(jié)1.4.1第1講:軟件工程課程介紹Introduction:Softwareengineeringanditsplaceasanengineeringdiscipline.Introducethesoftwareengineeringandthebackground,thereferredknowledge.Introducethedevelopmentprocessesofthesoftwareindustry,analyzethereasonstobringoutthesoftwarecrisis,andintroducethebasicconceptsofsoftwareengineeringandthepurposetouseit.TextBook:Chap.14課時;9月2日;第1周返回1.4.2第2講:軟件過程ProcessModels:Introducethethreelayersofsoftwareengineering:Process,MethodsandTools,introducetheCommonProcessFrameworkandthetasksofeachphase,analyzethesignificationandcharacteristicsoftheprocessmodels,includingtheLinearSequentialModel、PrototypingModel、RADModel、IncrementalModel、SpiralModel、AgileModel,etc.TextBook:Chap.2,34課時;9月9日;第2周返回1.4.3第3講:面向?qū)ο蟾拍詈蚒ML知識點講解從本講開始,我們進入“建模”內(nèi)容的講解。講解從建模的3W+1H開始.而本講立足“面向?qū)ο箝_發(fā)的觀點”,來了解“一門面向?qū)ο蠼<夹g(shù)”的建模語言:UML(UnifiedModelingLanguage,統(tǒng)一建模語言)TextBook:Part24課時;9月16日;第3周返回1.4.4第4講:面向數(shù)據(jù)流的結(jié)構(gòu)化分析和設(shè)計知識點講解本講基于“結(jié)構(gòu)化開發(fā)的觀點”,介紹面向數(shù)據(jù)流的建模方法和表示法。TextBook:Part24課時;9月23日,第4周返回1.4.5第5講:需求工程RequirementsEngineering:Introducethemethodsanddisciplinestoacquireandanalyzetherequirements.Presentstherequirementsengineeringtasks:Inception,Elicitation,Elaboration,Negotiation,Specification,Validationandrequirementmanagement.Moreover,weprovidetheprocesstoinitiatetherequirementsengineering.TextBook:Chap.5BuildingtheAnalysisModeling:IntroducethemethodsofStructuralAnalysisModeling,aswellasthedesignmethodsanddisciplinesofthedatamodeling,suchasERD、DFD,etc;IntroducetheconceptsofDataDictionary,themethodstodoBehavioralModeling.TextBook:Chap.6,78課時;9月30日,10月7日;第5周,第6周返回1.4.6(1)第6講:設(shè)計工程DesignConceptsandPrinciplesIntroducetheconceptsofthedesignprocess,suchasDataDesign、ArchitecturalDesign、InterfaceDesign、Component-LevelDesign,analyzetherelationshipbetweenthesoftwaredesignanditsquality,thenintroducethePrinciplesofAbstraction、Refinement、Modularity、Cohesion、Couplinginthedesignprocess.TextBook:Chap.8ArchitecturalDesign:IntroducetheSoftwareArchitecture,analyzetheDataDesignintheArchitecturalDesign,introducethevarioussystemstructures,aswellasthemethodstomaptheanalysismodeltosystemstructures.TextBook:Chap.9Component-levelDesign:Introducethecomponentfromobject-oriented,conventionalandprocess-relatedviews;Discusshowtodesigntheclass-basedcomponents,conductthecomponent-leveldesignanddesigntheconventionalcomponents.TextBook:Chap.10(Chap.10大綱未要求)UserInterfaceDesign:IntroducetheprocessandPrinciplesoftheuserinterfacedesign;analyzetheimportantproblemsinthisdesign,aswellasthedesignguideandestimationmethods.TextBook:Chap.118課時;10月28日,11月4日;第9周,第10周1.4.6(2)第6講:設(shè)計工程學習金字塔聽講閱讀視聽演示討論實踐教授給別人主動學習被動學習學習內(nèi)容平均留存率5%10%20%30%50%75%90%1.4.6(3)第6講:設(shè)計工程所以,做出如下安排:將23種設(shè)計模式分配給23位同學們來講解,預(yù)計6課時,第11周,第12周。模式名講解人模式名講解人創(chuàng)建型模式FactoryMethodPatternAbstractFactoryPatternBuilderPatternPrototypePatternSingletonPattern結(jié)構(gòu)型模式AdapterPatternDecoratorPatternBridgePatternFacadePatternCompositePatternFlyweightPatternProxyPattern行為型模式ChainofResponsibilityPatternStatePatternCommandPatternStrategyPatternInterpreterPatternTemplateMethodPatternMediatorPatternVisitorPatternMementoPatternIteratorPatternObserverPattern返回1.4.7第7講:評審和測試SoftwareTestingStrategiesandTechniquesIntroducetheimportance,thepurposeandtheprinciplesofsoftwaretesting,thefactorwhichaffectsthetestability,thevariouskindsoftesting,andthewaystodesignthetestingcase.Introducethedifferencebetweenverificationandvalidation,thesoftwaretestingstructure,thewaystoperformthetesting,andtheintegrationtesting.IntroducethestrategiesofAlpha、Beta、System、Configuration、Compatibility、ForeignLanguagetesting.TextBook:Chap.17,18,194課時,11月18日,第12周返回1.4.8第8講:Web介紹IntroductiontoWebEngineering:Introducethewebengineeringanditslayers:Process,methods,toolsandtechnology;Discusshowtoinitiate,analysis,designandtestforthewebapplications.TextBook:Chap.13,204課時,12月2日,第14周返回1.5課程信息課程名稱:軟件工程導論(IntroductiontoSoftwareEngineering)課程性質(zhì):專業(yè)必修課程理論:16周,48學時實驗:16學時,4個實驗學分:4開設(shè)學期:大學二年級秋季學期開設(shè)對象:本科先行課程:C語言程序設(shè)計,面向?qū)ο蟪绦蛟O(shè)計導論工具和環(huán)境:Project2007,RationalRose/MSVisio2003,MSOffice2003,VC++/Eclipses,Junit/Boundscheck,CVS,etc.教材:《SoftwareEngineering--APractitioner‘sApproach》
(《軟件工程——實踐者的研究方法(第7版)》)評分規(guī)則:Midterm(10%),Finalexam(40%),ClassParticipation(10%),Assignments(20%),Labs(20%)1.6補充關(guān)于“意外效應(yīng)法則”1.6補充關(guān)于“通用軟件工程過
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計專業(yè)畢業(yè)生實習報告集合八篇
- 會計專業(yè)實習工作總結(jié)
- DB12T 447-2011 托兒所 幼兒園消毒衛(wèi)生規(guī)范
- DB12T 543-2014 南水北調(diào)工程監(jiān)理管理規(guī)范
- 中秋節(jié)老師的慰問信(6篇)
- 七夕節(jié)詩意文案(140句)
- 看電影課件教學課件
- DB12∕T 1051-2021 地面風速觀測數(shù)據(jù)均一化處理技術(shù)規(guī)程
- 高等數(shù)學教程 上冊 第4版 測試題 高數(shù)2-測試二
- 課件母版教學課件
- 2024年江蘇省安全生產(chǎn)知識競賽考試題庫(含答案)
- 2024年高中語文選修上冊理解性默寫全集(含答案)
- 電氣工程施工驗收規(guī)范
- 單位涉密人員保密審查表
- MTM(預(yù)定動作標準法)
- 集貿(mào)市場安全隱患分析報告
- MOOC 探索管理世界的心理與行為-組織行為學-西北大學 中國大學慕課答案
- 高血壓急癥的護理查房
- 精神病服藥自我管理
- 2021年公開選拔團委副書記專業(yè)知識試題及答案
- 舞蹈專業(yè)大學生生涯發(fā)展
評論
0/150
提交評論