




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SoftwareEngineering
軟件工程蒲蔚CollegeofComputerScienceandSoftwareEngineering四川大學(xué)計(jì)算機(jī)(軟件學(xué)院)
E-Mail:puwei@CellPhone1講軟件工程課程介紹主要內(nèi)容1.1課程學(xué)習(xí)目的1.2第一個(gè)事實(shí):軟件的重要性和軟件危機(jī)催生了軟件工程1.2.1軟件1.2.2軟件危機(jī)1.2.3軟件工程1.3再談?wù)n程目標(biāo)1.4課程內(nèi)容與課程安排1.5課程信息1.6補(bǔ)充1.7習(xí)題與思考題WhydoIneedtolearnsoftwareengineering?1.1課程學(xué)習(xí)目的development=Programming?場(chǎng)景:做一個(gè)軟件(developsoftware)需求分析人員過(guò)程技術(shù)設(shè)計(jì)人員架構(gòu)師項(xiàng)目經(jīng)理測(cè)試人員高管市場(chǎng)人員人……開(kāi)發(fā),需求分析,設(shè)計(jì)……項(xiàng)目管理測(cè)試,單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試……過(guò)程管理配置管理……質(zhì)量管理怎么做開(kāi)發(fā)(/建模),怎么做需求分析,怎么做設(shè)計(jì)……怎么實(shí)施項(xiàng)目管理怎么做測(cè)試,單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試……怎么進(jìn)行配置管理……怎么進(jìn)行質(zhì)量管理質(zhì)量保證人員配置管理人員1.1課程學(xué)習(xí)目的Development≠programming.Onepurposeofthiscourseistoconvinceyouthatallofthecontentofthiscoursearetrue,andonceyouareconvinced,giveyouabasicknowledgesothatyoucanapplyityourself.Inanotherword,youwilllearnhowtothinkandtosolveproblem.
軟件的重要性和軟件危機(jī)
催生了軟件工程1.2“軟件工程”告知的第一個(gè)事實(shí)1.2.1軟件計(jì)算機(jī)軟件計(jì)算機(jī)軟件=程序+數(shù)據(jù)結(jié)構(gòu)+文檔1.2.1軟件計(jì)算機(jī)系統(tǒng)適當(dāng)?shù)亟M織在一起的一系列系統(tǒng)元素的集合,這些系統(tǒng)元素互相配合、相互協(xié)作,通過(guò)對(duì)信息的處理而完成預(yù)先定義的目標(biāo)。計(jì)算機(jī)系統(tǒng)元素計(jì)算機(jī)軟件:程序+數(shù)據(jù)結(jié)構(gòu)+文檔計(jì)算機(jī)硬件:提供計(jì)算能力的設(shè)備+外設(shè)人員:硬、軟件的用戶和操作者數(shù)據(jù)庫(kù):大型的有組織的數(shù)據(jù)集合文檔:系統(tǒng)的描述信息過(guò)程:一系列的步驟1.2.1軟件計(jì)算機(jī)軟件的雙重作用作為一個(gè)產(chǎn)品,軟件扮演著信息交換的角色。作為產(chǎn)品生產(chǎn)的載體,軟件提供了計(jì)算機(jī)控制(操作系統(tǒng))、信息通信(網(wǎng)絡(luò))以及應(yīng)用程序開(kāi)發(fā)和控制(軟件工具和環(huán)境)的基礎(chǔ)平臺(tái)。1.2.1軟件計(jì)算機(jī)軟件的特征軟件是設(shè)計(jì)開(kāi)發(fā)的,而不是傳統(tǒng)意義上生產(chǎn)制造的。軟件不會(huì)“磨損”。雖然整個(gè)工業(yè)向著基于構(gòu)件的構(gòu)造模式發(fā)展,然而大多數(shù)軟件仍是根據(jù)實(shí)際的顧客需求定制的。1.2.1軟件軟件應(yīng)用領(lǐng)域P5以及應(yīng)全部或部分具備的屬性系統(tǒng)軟件應(yīng)用軟件工程/科學(xué)軟件嵌入式軟件產(chǎn)品線軟件Web應(yīng)用軟件(屬性)人工智能軟件開(kāi)放計(jì)算網(wǎng)絡(luò)資源開(kāi)源軟件新的挑戰(zhàn):“開(kāi)放計(jì)算”、“網(wǎng)絡(luò)資源”和“開(kāi)源軟件”網(wǎng)絡(luò)密集性并發(fā)性無(wú)法預(yù)知的負(fù)載量性能數(shù)據(jù)驅(qū)動(dòng)可用性內(nèi)容敏感性持續(xù)演化即時(shí)性美觀性安全性1.2.2軟件危機(jī)軟件生產(chǎn)發(fā)展程序設(shè)計(jì)時(shí)代(1946~1956)程序系統(tǒng)時(shí)代(1956~1968)軟件工程時(shí)代(1968至今):軟件工程的發(fā)展大致可以劃分為兩個(gè)階段60年代末~80年代初80年代初~現(xiàn)在狀況軟件系統(tǒng)的規(guī)模、復(fù)雜性以及在關(guān)鍵領(lǐng)域的廣泛應(yīng)用,促進(jìn)了軟件開(kāi)發(fā)過(guò)程采納工程化的方法進(jìn)行管理。“軟件工廠”的概念已經(jīng)提出。研究開(kāi)發(fā)模型、支持工具、開(kāi)發(fā)方法。軟件生產(chǎn)技術(shù),特別是軟件復(fù)用技術(shù)和軟件生產(chǎn)管理的研究和實(shí)踐。成果瀑布模型、結(jié)構(gòu)化語(yǔ)言(pascal等)、結(jié)構(gòu)化方法、各種管理方法(如費(fèi)用估算、文檔復(fù)審)。提出了具有廣泛應(yīng)用前景的面向?qū)ο蠓椒ê拖嚓P(guān)的編程語(yǔ)言。事件前期主要研究系統(tǒng)實(shí)現(xiàn)技術(shù);后期則開(kāi)始強(qiáng)調(diào)管理和軟件質(zhì)量。軟件過(guò)程改進(jìn)。在工業(yè)實(shí)踐中建立起一種量化的評(píng)估程序,判定軟件組織成熟的程度。關(guān)注的焦點(diǎn)軟件項(xiàng)目軟件過(guò)程1.2.2軟件危機(jī)軟件危機(jī)軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。1.2.2軟件危機(jī)軟件危機(jī)的具體表現(xiàn)對(duì)開(kāi)發(fā)成本和開(kāi)發(fā)進(jìn)度難以進(jìn)行準(zhǔn)確地估計(jì)用戶對(duì)軟件產(chǎn)品不滿意軟件產(chǎn)品的質(zhì)量難以保證軟件產(chǎn)品維護(hù)非常困難軟件產(chǎn)品沒(méi)有適當(dāng)?shù)奈臋n資料軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升軟件開(kāi)發(fā)效率的提高遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用快速普及的趨勢(shì)下一頁(yè)用戶對(duì)軟件產(chǎn)品不滿意返回1.2.2軟件危機(jī)軟件危機(jī)的成因硬件生產(chǎn)效率的快速提高軟件產(chǎn)品的規(guī)模越來(lái)越大軟件產(chǎn)品開(kāi)發(fā)的復(fù)雜度越來(lái)越高用戶需求不明確軟件開(kāi)發(fā)技術(shù)落后軟件產(chǎn)品生產(chǎn)效率較低整個(gè)軟件開(kāi)發(fā)過(guò)程缺乏正確的理論指導(dǎo)1.2.3軟件工程克服軟件危機(jī)人們面臨的不光是技術(shù)問(wèn)題,更重要的是管理問(wèn)題。管理不善必然導(dǎo)致失敗。要提高軟件開(kāi)發(fā)效率,提高軟件產(chǎn)品質(zhì)量,必須采用工程化的開(kāi)發(fā)方法與工業(yè)化的生產(chǎn)技術(shù)。在技術(shù)上,應(yīng)該采用基于重用的軟件生產(chǎn)技術(shù);在管理上,應(yīng)該采用多維的工程管理模式。1.2.3軟件工程軟件工程概括地說(shuō),軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。1.2.3軟件工程軟件工程層次圖工具質(zhì)量關(guān)注點(diǎn)過(guò)程方法圖軟件工程層次圖1.2.3軟件工程軟件工程:過(guò)程開(kāi)發(fā)要遵循一系列的可預(yù)測(cè)的步驟,也要靈活。軟件工程過(guò)程方法:過(guò)程框架過(guò)程模式指導(dǎo)過(guò)程的原則1.2.3軟件工程軟件工程:方法實(shí)踐的精髓:要構(gòu)建能夠適應(yīng)現(xiàn)代挑戰(zhàn)的軟件產(chǎn)品,需要在軟件工程實(shí)踐的框架之下,遵循如下的原則理解問(wèn)題(溝通和分析)計(jì)劃解決方案(建模和軟件設(shè)計(jì))實(shí)施計(jì)劃(代碼生成)檢查結(jié)果的正確性(測(cè)試與質(zhì)量保證)一般原則:指導(dǎo)實(shí)踐的原則:指導(dǎo)每個(gè)框架活動(dòng)的原則溝通原則:策劃原則:建模原則:構(gòu)造原則:部署原則:原則的層次體現(xiàn)具體的建模方法(技術(shù))和建模表示法1.2.3軟件工程軟件工程:方法需求模型到設(shè)計(jì)模型的轉(zhuǎn)化:需求模型的每個(gè)元素都提供了創(chuàng)建4種設(shè)計(jì)模型(元素)所必須的信息,這4種設(shè)計(jì)模型(元素)是完整的設(shè)計(jì)規(guī)格說(shuō)明所必須的。軟件設(shè)計(jì)過(guò)程的信息流如圖所示,由基于場(chǎng)景的(需求模型)元素、基于類的元素、面向流的元素和行為元素所表示的需求模型是設(shè)計(jì)任務(wù)的輸入。使用軟件工程學(xué)科提供的設(shè)計(jì)方法和設(shè)計(jì)表示法,將得到數(shù)據(jù)或類的設(shè)計(jì)、體系接口設(shè)計(jì)、接口設(shè)計(jì)和構(gòu)件設(shè)計(jì)。需求模型到設(shè)計(jì)模型的轉(zhuǎn)化基于場(chǎng)景的元素用例文本用例圖活動(dòng)圖基于類的元素類圖分析包CRC模型協(xié)作圖面向流的元素?cái)?shù)據(jù)流圖控制流圖處理敘述行為元素狀態(tài)圖順序圖構(gòu)件級(jí)設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)/類設(shè)計(jì)需求模型設(shè)計(jì)模型1.2.3軟件工程軟件工程層次圖工具質(zhì)量關(guān)注點(diǎn)過(guò)程方法圖軟件工程層次圖1.3再談?wù)n程目標(biāo)希望:正確理解軟件開(kāi)發(fā)的真實(shí)情況,不要“神話”不要理解不透的概念,要技術(shù)應(yīng)用的執(zhí)行力(以此去促進(jìn)概念的理解)會(huì)依據(jù)項(xiàng)目團(tuán)隊(duì)和要開(kāi)發(fā)的產(chǎn)品特點(diǎn),遵循過(guò)程實(shí)踐的指導(dǎo)原則選用調(diào)整過(guò)程模型。建模技術(shù)應(yīng)用,比方說(shuō),會(huì)用UML進(jìn)行用例建模、體系結(jié)構(gòu)建模等等。做做游戲:場(chǎng)景1:假設(shè)你是一個(gè)項(xiàng)目經(jīng)理,想在你接到一個(gè)軟件開(kāi)發(fā)項(xiàng)目,你首先需要思考的問(wèn)題是什么?你如何在《軟件工程》中尋求解決的靈感?場(chǎng)景2:假設(shè)你拿到了書面的對(duì)用戶需求的文字陳述,你如何建立需求模型?你如何在《軟件工程》中尋求解決的技術(shù)?1.4課程內(nèi)容和課程安排序名稱時(shí)間安排第1講軟件工程課程介紹4課時(shí);9月2日;第1周第2講軟件過(guò)程4課時(shí);9月9日;第2周第3講面向?qū)ο蟾拍詈蚒ML知識(shí)點(diǎn)講解4課時(shí);9月16日;第3周第4講面向數(shù)據(jù)流的結(jié)構(gòu)化分析和設(shè)計(jì)知識(shí)點(diǎn)講解4課時(shí);9月23日,第4周第5講需求工程8課時(shí);9月30日,10月7日;第5周,第6周4課時(shí),10月14日,按大綱要求:Lab1UMLmodelingofsystem;第7周4課時(shí),10月21日,按大綱要求:期中測(cè)驗(yàn);第8周第6講設(shè)計(jì)工程8課時(shí);10月28日,11月4日;第9周,第10周4課時(shí),11月11日,按大綱要求:Lab2GUIDesign;第11周第7講評(píng)審和測(cè)試4課時(shí),11月18日,第12周4課時(shí),11月25日,按大綱要求:Lab3SoftwareTesting;第13周第8講Web介紹4課時(shí),12月2日,第14周4課時(shí),12月9日,按大綱要求:Lab4Webapplication;第15周4課時(shí),12月16日,按大綱要求:FinalCourseReview,第16周下一節(jié)1.4.1第1講:軟件工程課程介紹Introduction:Softwareengineeringanditsplaceasanengineeringdiscipline.Introducethesoftwareengineeringandthebackground,thereferredknowledge.Introducethedevelopmentprocessesofthesoftwareindustry,analyzethereasonstobringoutthesoftwarecrisis,andintroducethebasicconceptsofsoftwareengineeringandthepurposetouseit.TextBook:Chap.14課時(shí);9月2日;第1周返回1.4.2第2講:軟件過(guò)程ProcessModels:Introducethethreelayersofsoftwareengineering:Process,MethodsandTools,introducetheCommonProcessFrameworkandthetasksofeachphase,analyzethesignificationandcharacteristicsoftheprocessmodels,includingtheLinearSequentialModel、PrototypingModel、RADModel、IncrementalModel、SpiralModel、AgileModel,etc.TextBook:Chap.2,34課時(shí);9月9日;第2周返回1.4.3第3講:面向?qū)ο蟾拍詈蚒ML知識(shí)點(diǎn)講解從本講開(kāi)始,我們進(jìn)入“建?!眱?nèi)容的講解。講解從建模的3W+1H開(kāi)始.而本講立足“面向?qū)ο箝_(kāi)發(fā)的觀點(diǎn)”,來(lái)了解“一門面向?qū)ο蠼<夹g(shù)”的建模語(yǔ)言:UML(UnifiedModelingLanguage,統(tǒng)一建模語(yǔ)言)TextBook:Part24課時(shí);9月16日;第3周返回1.4.4第4講:面向數(shù)據(jù)流的結(jié)構(gòu)化分析和設(shè)計(jì)知識(shí)點(diǎn)講解本講基于“結(jié)構(gòu)化開(kāi)發(fā)的觀點(diǎn)”,介紹面向數(shù)據(jù)流的建模方法和表示法。TextBook:Part24課時(shí);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課時(shí);9月30日,10月7日;第5周,第6周返回1.4.6(1)第6講:設(shè)計(jì)工程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課時(shí);10月28日,11月4日;第9周,第10周1.4.6(2)第6講:設(shè)計(jì)工程學(xué)習(xí)金字塔聽(tīng)講閱讀視聽(tīng)演示討論實(shí)踐教授給別人主動(dòng)學(xué)習(xí)被動(dòng)學(xué)習(xí)學(xué)習(xí)內(nèi)容平均留存率5%10%20%30%50%75%90%1.4.6(3)第6講:設(shè)計(jì)工程所以,做出如下安排:將23種設(shè)計(jì)模式分配給23位同學(xué)們來(lái)講解,預(yù)計(jì)6課時(shí),第11周,第12周。模式名講解人模式名講解人創(chuàng)建型模式FactoryMethodPatternAbstractFactoryPatternBuilderPatternPrototypePatternSingletonPattern結(jié)構(gòu)型模式AdapterPatternDecoratorPatternBridgePatternFacadePatternCompositePatternFlyweightPatternProxyPattern行為型模式ChainofResponsibilityPatternStatePatternCommandPatternStrategyPatternInterpreterPatternTemplateMethodPatternMediatorPatternVisitorPatternMementoPatternIteratorPatternObserverPattern返回1.4.7第7講:評(píng)審和測(cè)試SoftwareTestingStrategiesandTechniquesIntroducetheimportance,thepurposeandtheprinciplesofsoftwaretesting,thefactorwhichaffectsthetestability,thevariouskindsoftesting,andthewaystodesignthetestingcase.Introducethedifferencebetweenverificationandvalidation,thesoftwaretestingstructure,thewaystoperformthetesting,andtheintegrationtesting.IntroducethestrategiesofAlpha、Beta、System、Configuration、Compatibility、ForeignLanguagetesting.TextBook:Chap.17,18,194課時(shí),11月18日,第12周返回1.4.8第8講:Web介紹IntroductiontoWebEngineering:Introducethewebengineeringanditslayers:Process,methods,toolsandtechnology;Discusshowtoinitiate,analysis,designandtestforthewebapplications.TextBook:Chap.13,204課時(shí),12月2日,第14周返回1.5課程信息課程名稱:軟件工程導(dǎo)論(IntroductiontoSoftwareEngineering)課程性質(zhì):專業(yè)必修課程理論:16周,48學(xué)時(shí)實(shí)驗(yàn):16學(xué)時(shí),4個(gè)實(shí)驗(yàn)學(xué)分:4開(kāi)設(shè)學(xué)期:大學(xué)二年級(jí)秋季學(xué)期開(kāi)設(shè)對(duì)象:本科先行課程:C語(yǔ)言程序設(shè)計(jì),面向?qū)ο蟪绦蛟O(shè)計(jì)導(dǎo)論工具和環(huán)境:Project2007,RationalRose/MSVisio2003,MSOffice2003,VC++/Eclipses,Junit/Boundscheck,CVS,etc.教材:《SoftwareEngineering--APractitioner‘sApproach》
(《軟件工程——實(shí)踐者的研究方法(第7版)》)評(píng)分規(guī)則:Midterm(10%),Finalexam(40%),ClassParticipation(10%),Assignments(20%),Labs(20%)1.6補(bǔ)充關(guān)于“意外效應(yīng)法則”1.6補(bǔ)充關(guān)于“通用軟件工程過(guò)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 凝心聚力·追求卓越
- 公司部門的2025年度工作方案
- 2025年銷售工作方案格式演講稿
- 2025年春幼兒園德育工作方案
- 2025年老師個(gè)人教育教學(xué)工作方案
- 護(hù)理生理學(xué):消化與吸收
- 破宮產(chǎn)手術(shù)的術(shù)后護(hù)理
- 2025年人事工作總結(jié)與方案演講稿
- 生產(chǎn)主管述職報(bào)告
- 計(jì)算機(jī)虛擬儀器技術(shù)
- 小學(xué)數(shù)學(xué)新教材培訓(xùn)
- 汽修基礎(chǔ)理論知識(shí)單選題100道及答案解析
- 東方財(cái)富在線測(cè)評(píng)題答案
- 鐵路貨車偏載偏重標(biāo)準(zhǔn)
- 2025屆高考語(yǔ)文復(fù)習(xí):古詩(shī)詞鑒賞及答題技巧+課件
- 詩(shī)歌創(chuàng)作課(2023年浙江杭州中考語(yǔ)文試卷記敘文閱讀題及答案)
- 26個(gè)英文字母大小寫臨摹字貼(帶筆順)
- 廣東省高考物理考綱
- 2024年電工(高級(jí)技師)考前沖刺必會(huì)試題庫(kù)300題(含詳解)
- CJJT 164-2011 盾構(gòu)隧道管片質(zhì)量檢測(cè)技術(shù)標(biāo)準(zhǔn)
- 2024-2030年中國(guó)艾葉行業(yè)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
評(píng)論
0/150
提交評(píng)論