南京師范大學軟件工程方法與實踐_第1頁
南京師范大學軟件工程方法與實踐_第2頁
南京師范大學軟件工程方法與實踐_第3頁
南京師范大學軟件工程方法與實踐_第4頁
南京師范大學軟件工程方法與實踐_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程-方法與實踐竇萬峰計算機科學與技術學院南京師范大學2009年8月第一部分:軟件工程與過程什么是軟件工程?什么是工程化思想?什么是軟件過程?有哪些過程模型?如何建立過程模型?什么是統(tǒng)一過程?什么是敏捷過程?有哪些模型?什么是軟件工程實踐?注:本部分的實驗課參照實驗教材實驗1和實驗2進行第1章概述(主要內容)軟件工程的基本概念軟件工程化思想軟件工程兩大范型軟件工程思想與基本原理軟件工程基本活動軟件工程定義B.W.Boehm的定義:運用現(xiàn)代科學技術知識來設計并構造計算機程序及為開發(fā)、運行和維護這些程序所必須的相關文件資料。FritzBauer的定義:軟件工程是為了經濟地獲得能夠在實際機器上有效運行的可靠軟件而建立和使用的一系列完善的工程化原則。1983年美國《IEEE軟件工程標準術語》的定義為:軟件工程是開發(fā)、運行、維護和修復軟件的系統(tǒng)方法,其中“軟件”的定義為:計算機程序、方法、規(guī)則、相關的文檔資料以及在計事機上運行時所必需的數(shù)據(jù)。什么是軟件?三要素:程序文檔數(shù)據(jù)特性:復雜性一致性不會磨損和“老化”易變性移植性成本高軟件演化第一代:程序設計階段。1946年到60年代初,其主要特征是程序生產方式為個體手工方式。第二代:程序系統(tǒng)階段。60年代初到70年代初,軟件工程學科誕生。軟件的開發(fā)方式由個體生產發(fā)展到了小組生產,軟件的開發(fā)與維護費用以驚人的速度增加,維護困難,導致軟件危機。第三代:傳統(tǒng)軟件工程階段。20世紀70年代中期至80年代中期,軟件工程師把工程化的思想加入到軟件的開發(fā)過程中,用工程化的原則、方法和標準來開發(fā)和維護軟件。第四代:面向對象階段。20世紀80年代中期至今,面向對象的方法學受到了人們的重視,促進了軟件業(yè)的飛速發(fā)展,軟件產業(yè)在世界經濟中已經占有舉足輕重的地位。軟件危機兩個方面的問題:如何開發(fā)如何維護表現(xiàn):軟件的規(guī)模大復雜度增加軟件的需求量增大價格昂貴供需差增大開發(fā)速度慢質量難以保證軟件危機解決途徑重視需求分析,明確與確切表達需求重視與客戶溝通與交流統(tǒng)一的、公認的方法論和規(guī)范指導重視設計和實現(xiàn)過程的資料充分的檢測工作軟件工程化思想把軟件看作是一個工程產品兩個方面:軟件開發(fā)技術軟件工程管理原因:缺乏軟件過程控制能力能力成熟模型(CapabilityMaturityModel)軟件工程兩大范型傳統(tǒng)的結構化范型特征:結構化技術要么面向行為,要么面向數(shù)據(jù)構成結構化范型的技術包括:結構化分析結構化設計結構化編程結構化測試結構化維護軟件工程程兩大范范型面向對象象范型特征:將將對象視視作一個個融合了了數(shù)據(jù)及及在其上上操作的的行為的的、統(tǒng)一一的軟件件組件。。技術包括括:面向對象象分析面向對象象設計面向對象象編程面向對象象測試面向對象象維護優(yōu)勢:對象的概概念符合合業(yè)務或或領域的的客觀實實際維護容易易軟件工程程基本原原理分階段的的軟件生生存周期期堅持進行行階段評評審實行嚴格格的產品品控制采用現(xiàn)代代程序設設計技術術明確職責責開發(fā)小組組的人員員應少而而精不斷改進進開發(fā)過過程軟件工程程思想推遲實現(xiàn)現(xiàn)的觀點點逐步求精精的觀點點分解與抽抽象的觀觀點信息隱蔽蔽觀點質量保證證觀點軟件工程程基本活活動開發(fā)活動動軟件生命命周期模模型項目管理理活動項目的范范圍(要要做的內內容)進度(要要花費的的時間))成本(要要耗費的的資源))過程改進進活動關注質量量軟件開發(fā)發(fā)的最佳佳實踐過程定義義和改進進小結軟件工程程的是主主旨以工工程化的的思想進進行軟件件開發(fā),,以生產產高質量量和高效效率的軟軟件。軟件工程程化思想想的核心心是,把把軟件看看作是一一個工程程產品。。軟件工程程方法學學分別是是傳統(tǒng)結結構化范范型和面面向對象象范型。。軟件工程程活動包包括開發(fā)發(fā)活動、、管理活活動和過過程改進進活動。。第2章軟軟件過過程(內內容提要要)什么是軟軟件過程程?什么軟件件生命周周期?能力成熟熟度模型型敏捷過程程軟件過程程實踐軟件過程程定義:軟件過程程是為了了開發(fā)出出軟件產產品,或或者是為為了完成成軟件工工程項目目而需要要完成的的有關軟軟件工程程的活動動通常使用用生命周周期模型型簡潔地地描述軟軟件過程程層次:軟件工程程是一門門建立在在以質量量焦點為為基礎,,分過程程、方法法和工具具三個研研究層次次的綜合合技術過程方法法與工具具工具

方法

過程

質量焦點軟件過程程框架定義:框架是實實現(xiàn)整個個軟件開開發(fā)活動動的基礎礎,并且且那些與與過程有有關的角角色、職職責的定定義以及及實現(xiàn)也也都離不不開框架兩個方面組織及管理框架技術及工具框架軟件過程程模型把軟件生生命周期期中各項項開發(fā)活活動的流流程用一一個合理理的框架架—開發(fā)發(fā)模型來來規(guī)范描描述,這這就是軟軟件過程程模型。。軟件生命命周期模模型軟件生命命周期劃分為定定義、開開發(fā)和運運行三個個階段細分為六六個階段段:問題的定定義及規(guī)規(guī)劃需求分析析軟件設計計程序編碼碼軟件測試試運行維護護能力成熟熟度模型型集成CMM(CapabilityMaturityModel)是是指“能能力成熟熟度模型型”CMM是是由美國國卡內基基-梅隆隆大學的的軟件工工程研究究所(SEI))開發(fā)的的軟件成成熟度模模型。思想:管管理軟件件過程的的方法不不當引起起的問題題,導致致新軟件件技術的的運用并并不會自自動提高高軟件的的生產率率和質量量。CMM為為軟件企企業(yè)的過過程能力力提供了了一個階階梯式的的改進框框架,它它基于過過去所有有軟件工工程過程程改進的的成果,,吸取了了以往軟軟件工程程的經驗驗教訓,,提供了了一個基基于過程程改進的的框架。。能力成熟熟度模型型集成((CMMI--CapabilityMaturityModelIntegration))是CMM模型型的最新新版本。。CMM概概述為企業(yè)的的發(fā)展規(guī)規(guī)定過程程成熟級級別,分分為5級級(Version1.0):初始級((Initial)::一般企企業(yè)皆具具有可重復級級(Repeatable)):成功功經驗可可以重復復定義級((Defined)::一套完完整的企企業(yè)過程程,人員員自覺遵遵守(培培訓)管理級((Managed)::過程&產品可可度量和和控制優(yōu)化級((Optimizing)::過程持持續(xù)改進進從無序到到有序、、從特殊殊到一般般、從定定性管理理到定量量管理、、最終達達到動態(tài)態(tài)優(yōu)化CMM概概述(續(xù)續(xù))2.Repeatable1.Initial3.Defined4.ManagedDisciplinedProcessStandard,ConsistentProcessPredictableProcessContinuouslyImprovingProcessUnpredictableandpoorlycontrolledCanrepeatpreviouslymasteredtasksProcesscharacterized,fairlywellunderstoodProcessmeasuredandcontrolledFocusonprocessimprovement5.OptimizingProjectManagementIntegratedEngineeringProcessProductandProcessQualityManagingChangeDisorderDisciplinedPredictableImmatureMatureCMM的的概念模模型關鍵過程程域KPA:代代表一組組相關的一般特性CF(CommonFeatures):進一步細分KPA的工作。五個特性:承諾(commitment)準備(ability)執(zhí)行(activity)度量分析(measurement&analysis)驗證(verifyingimplementation)CMM的的五個級級別Level1:初始始級過程無序序且不可可見OutInCMM的的五個級級別Level2:可重重復級Milestone可可見,按按計劃開開發(fā)CMM的的五個級級別Level2的6個個KPA:側重重于管理理需求管理理(RequirementsManagement)軟件項目目計劃((SoftwareProjectPlanning)軟件項目目的跟蹤蹤和監(jiān)控控(SoftwareProjectTackingandOversight)軟件子合合同管理理(SoftwareSubcontractManagement)軟件質量量保證((SoftwareQualityAssurance)軟件配置置管理((SoftwareConfigurationManagement)CMM的的五個級級別Level3:定義義級每個階段段的內部部活動可可見標準過程程和項目目定義過過程裁剪剪CMM的的五個級級別Level3的7個個KPA:工程程過程++企業(yè)理理念機構過程程關注((OrganizationProcessFocus))機構過程程定義((OrganizationProcessDefinition)培訓計劃劃(TrainingProgram))集成軟件件管理((IntegratedSoftwareManagement)-過過程裁剪剪和定義義軟件產品品工程((SoftwareProductEngineering)--過程執(zhí)執(zhí)行組間協(xié)調調(IntergroupCoordination)對等審查查(PeerReviews)CMM的的五個級級別Level4管理理級過程可度度量,預預測值與與結果之之間的偏偏差可控控CMM的的五個級級別Level4的2個個KPA:預測測+量化化管理定量過程程管理((QuantitativeProcessManagement)--過程度度量軟件質量量管理((SoftwareQualityManagement)-產產品度量量CMM的的五個級級別Level5優(yōu)化化級過程動態(tài)態(tài)調整、、新技術術的采用用CMM的的五個級級別Level5的3個個KPA:動態(tài)態(tài)優(yōu)化缺陷預防防(DefectPrevention)技術改變變管理((TechnologyChangeManagement)過程改變變管理((ProcessChangeManagement)能力成熟熟度模型型集成CMMI--CapabilityMaturityModelIntegration是CMM模型型的最新新版本。。CMMI有兩種種表示方方法:和軟件CMM一一樣的階階段式表表現(xiàn)方法法連續(xù)式的的表現(xiàn)方方法過程管理理項目管理理工程支持CMMI的目標標是質量量、時間間表和最最低的成成本敏捷過程程敏捷不是是一個過過程,是是一類過過程的統(tǒng)統(tǒng)稱。敏捷方法法的兩大大主要特特征:對“適應應性”的的強調對“人””的關注注做法:引入迭代代式的開開發(fā)手段段將整個軟軟件生命命周期分分解為若若干個小小的迭代代周期獲取切實實有效的的客戶反反饋提出12條基本本原則極限編程程極限編程程(eXtremeProgramming,,XP))是一種種軟件工工程方法法學,是是敏捷開開發(fā)中最最富有成成效的方方法學之之一由KentBeck在1996年提提出具有強溝通、、簡化設計、、迅速反饋等等特點適合于規(guī)模小小、進度緊、、需求不穩(wěn)定定、開發(fā)小項項目的小團隊隊。極限編程特點:XP模型是““輕量型”或或“靈活”的的軟件過程模模型與面向對象語語言結合的開開發(fā)方案“專家協(xié)作””的開發(fā)方式式,解決難點點問題核心有四個要要點:交流簡單反饋勇氣結對編程結對編程(Pair-Programming)是XP中非常重要要的實踐之一一。定義:兩個人人坐在同一臺臺計算機前面面,使用相同同的鍵盤和鼠鼠標來開發(fā)同同樣的一個模模塊,一個稱稱為駕駛者(Driver),負責責代碼的鍵入入,另外一個個稱為領航員員(Navigator),負責監(jiān)監(jiān)看與決策,,包括低級錯錯誤和方向性性的錯誤。當當出現(xiàn)的一個個問題對其中中一個人來說說,難以解決決,而恰好是是另外一個人人的強項的時時候,那么角角色就會發(fā)生生轉換。結對編程優(yōu)勢:可以減少風險險可以使團隊生生產效率更高高是知識傳播的的最好途徑可以打造出最最佳的合作團團隊??梢陨筛煤玫拇a三個方面的應應用:教育學結對學學習工業(yè)界結對開開發(fā)與編程分布式結對編編程環(huán)境結對編程研究究教育學研究結對編程學習習效果研究結對雙方的相相容性研究結對編程過程程研究軟件工業(yè)界結對編程實踐踐方式社會動力學研研究個人編程能力力的增強分布式結對編編程結對編程開發(fā)發(fā)環(huán)境研究開發(fā)結對編程程工具的需求求適合開展分布布式結對編程程的工具研究究自適應軟件開開發(fā)自適應軟件開開發(fā)(AdaptiveSoftwareDevelopment)由JimHighsmith提出著眼于人員協(xié)協(xié)作和團隊自自我組織,類類似于收集人人們創(chuàng)意的容容器生命周期三個個階段包括::思考:啟動項項目并完成自自適應循環(huán)計計劃協(xié)作:溝通與與信任學習:改進真真正的理解水水平,通過焦焦點組、正式式技術評審和和事后剖析方方式進行學習習動態(tài)系統(tǒng)開發(fā)發(fā)動態(tài)系統(tǒng)開發(fā)發(fā)(DynamicSystemDevelopmentMethod))是一種使用用增量原型開開發(fā)模式完全全滿足對時間間約束的系統(tǒng)統(tǒng)構建和維護護的敏捷軟件件開發(fā)方法。。借用Pareto(佩瑞瑞多)原則::即如果交付付整個應用系系統(tǒng)需用100%時間,,那么80%的應用系統(tǒng)統(tǒng)可以用20%的時間交交付建議使用迭代代軟件過程動態(tài)系統(tǒng)開發(fā)發(fā)生命周期的的敏捷過程模模型:可行性研究業(yè)務研究功能模型迭代代設計和構建迭迭代實現(xiàn)特征驅動開發(fā)發(fā)特征驅動開發(fā)發(fā)(Feature-Drivendevelopment)把軟軟件開發(fā)項目目作為一個系系統(tǒng),即生產產軟件的系統(tǒng)統(tǒng)定義六種關鍵鍵項目角色::項目經理,負責報告進進度情況、管管理預算、籌籌措人員,以以及管理設備備、辦公場地地和資源等主設計師,負責系統(tǒng)的的整體設計開發(fā)經理,負責領導日日常開發(fā)活動動,解決主程程序員們自己己無法解決的的日常的資源源沖突問題。。主程序員,參與高層的的需求分析和和設計活動,,領導3-6人開發(fā)小組組負責新軟件件特征的底層層分析、設計計和開發(fā)工具具。類的所有者,是主程序員員領導的開發(fā)發(fā)小組的成員員,對新軟件件系統(tǒng)所需要要的特征進行行設計、編碼碼、測試和編編寫文檔。領域專家,是客戶、用用戶、業(yè)主、、業(yè)務分析專專家或者所有有這些的混合合。軟件工程實踐踐軟件工程實踐踐的精髓是理理解問題、計計劃解決方案案、實施計劃劃和檢查結果果的精確度等等方面通用的框架活活動包括:溝通計劃建模部署普適性活動軟件工程實踐踐核心原則:存在價值保持簡潔維護視圖生產者要讓消消費者理解面向未來計劃復用認真思考軟件工程實踐踐溝通實踐:包包括決定項目目涉及人的信信息和溝通需需求計劃實踐:是是軟件開發(fā)過過程的準備階階段,包括定定義問題、可可行性分析、、制定計劃建立模型實踐踐:創(chuàng)建分析析模型和設計計模型小結軟件工程是一一種層次化技技術,包括過過程、技術和和工具。軟件過程是為為了獲得高質質量軟件所需需要完成的一一系列任務的的框架,它規(guī)規(guī)定了完成各各項任務的工工作步驟。軟件過程框架架定義了若干干個小的框架架活動,為完完整的軟件開開發(fā)過程建立立了基礎。軟軟件過程框架架的通用過程程框架活動包包括溝通、計計劃、建模、、構建和部署署。能力成熟度模模型(CMM)是改進軟軟件過程的有有效策略。它它的基本思想想是通過改進進對軟件過程程的管理來提提高軟件生產產率和軟件質質量。敏捷方法是一一組敏捷實踐踐技術的總稱稱,包括極限限編程、自適適應軟件開發(fā)發(fā)、動態(tài)系統(tǒng)統(tǒng)開發(fā)和特征征驅動開發(fā)等等等。軟件工程實踐踐包括概念、、原則、方法法和在整個軟軟件開發(fā)過程程中所使用的的工具。軟件工程實踐踐的通用框架架活動包括溝溝通實踐、計計劃實踐、建建模實踐、構構造實踐和部部署實踐。第3章軟軟件過程模型型(內容提要要)瀑布模型增量模型螺旋模型協(xié)同開發(fā)模型型面向對象模型型面向方面的軟軟件開發(fā)瀑布模型瀑布模型提供供了軟件開發(fā)發(fā)的基本框架架。瀑布模型將軟軟件生命周期期劃分為軟件件計劃、需求求分析和定義義、軟件設計計、軟件實現(xiàn)現(xiàn)、軟件測試試、軟件運行行和維護這6個階段,規(guī)規(guī)定了它們自自上而下、相相互銜接的固固定次序,如如同瀑布流水水逐級下落而而得名它是一個軟件件開發(fā)架構,,開發(fā)過程是是通過一系列列階段順序展展開的。每個階段都會會產生循環(huán)反反饋各個階段產生生的文檔是維維護軟件產品品時必不可少少的,沒有文文檔的軟件幾幾乎是不可能能維護的。瀑布模型示意意圖系統(tǒng)需求軟件需求需求分析設計編碼維護測試瀑布模型特點點順序性和依賴賴性推遲實現(xiàn)質量保證的觀觀點是一種線性模模型強調文檔的作作用增量模型增量模型(IncrementalModel)也稱為為漸增模型,,是在項目的的開發(fā)過程中中以一系列的的增量方式開開發(fā)系統(tǒng)。軟件被作為一一系列的增量量構件來設計計、實現(xiàn)、集集成和測試,,每一個構件件是由多種相相互作用的模模塊所形成的的提供特定功功能的代碼片片段構成.增量方式包括括:增量開發(fā):以以一定的時間間間隔開發(fā)部部分工作軟件件增量提交:以以一定的時間間間隔增量方方式向用戶提提交工作軟件件及相應文檔檔增量模型融合合了線性順序序模型的基本本成份和原型型實現(xiàn)模型的的迭代特征。。增量模型分為漸增模型型和原型模型型漸增模型是瀑瀑布模型的變變種,有兩類類漸增模型::增量構造模型型:它在瀑布布模型基礎上上,對一些階階段進行整體體開發(fā),對另另一些階段進進行增量開發(fā)發(fā)。前面的開開發(fā)階段按瀑瀑布模型進行行整體開發(fā),,后面的開發(fā)發(fā)階段按增量量方式開發(fā)。。演化提交模型型:它在瀑布布模型的基礎礎上,所有階階段都進行增增量開發(fā),也也就是說不僅僅是增量開發(fā)發(fā),也是增量量提交。增量構造模型型需求分析設計編碼1測試1測試2編碼2編碼3測試3螺旋模型螺旋模型(SpiralModel)是結合合了瀑布模型型和快速原型型模型的迭代代開發(fā)模型強調了其他模模型均忽略了了的風險分析析:風險識別風險分析風險控制特別適合于大大型復雜的系系統(tǒng)每一個周期都都包括需求定定義、風險分分析、工程實實現(xiàn)和評審螺旋模型示意意圖螺旋模型活動動四個象限分別別代表了以下下活動:制定計劃:確確定軟件目標標,選定實施施方案,確定定項目開發(fā)的的限制條件;;風險分析:分分析評估所選選方案,考慮慮如何識別和和消除風險;;實施工程:實實施軟件開發(fā)發(fā)和驗證;客戶評估:評評價開發(fā)工作作,提出修正正建議,制定定下一步計劃劃。螺旋模型是風風險驅動的模模型協(xié)同開發(fā)模型型協(xié)同開發(fā)模型型(CollaborativeDevelopmentModel,簡簡稱CDM)),有時也叫叫做協(xié)同工程程,可以表示示為一系列框框架活動、軟軟件工程動作作和任務以及及相應的狀態(tài)態(tài)。在某一特定時時間,建?;罨顒涌赡芴幱谟谌魏我环N狀狀態(tài)。協(xié)同開發(fā)模型型定義了一系系列事件,這這些事件將觸觸發(fā)軟件工程程活動、動作作或任務的狀狀態(tài)轉換。協(xié)同開發(fā)模型型空狀態(tài)開發(fā)狀態(tài)等待變更狀態(tài)評審狀態(tài)修改狀態(tài)建立基線狀態(tài)結束狀態(tài)建?;顒用嫦驅ο筮^程程模型面向對象是一一種的程序設設計方法,或或者說它是一一種程序設計計范型?;舅枷胧鞘故褂脤ο?,類類,繼承,封封裝,消息等等基本概念來來進行程序設設計。面向對象的要要素:抽象:強調實實體的本質、、內在的屬性性,忽略一些些無關緊要的的屬性。類實實現(xiàn)了對象的的數(shù)據(jù)(即狀狀態(tài))和行為為的抽象,是是對象的共性性的抽象。封裝性:指所所有軟件部件件內部都有明明確的范圍以以及清楚的外外部邊界。共享性:面向對象的特特征:對象惟惟一性;分類類性;繼承性性;多態(tài)性((多形性)。。統(tǒng)一過程模型型統(tǒng)一過程(UnifiedProcess,,UP)是是風險驅動的的、基于用例例技術的、以以架構為中心心的、迭代的的、可配置的的軟件開發(fā)流流程。統(tǒng)一過程是以以用例驅動的的,以架構為為中心,迭代代和增量的過過程。統(tǒng)一過程是一一個軟件開發(fā)發(fā)過程,是一一個通用的過過程框架:初始細化構造移交統(tǒng)一過程的四四個階段統(tǒng)一過程五個個核心工作流流需求(RequirementsCapture):致致力于開發(fā)正正確的系統(tǒng)分析(Analysis):更精確確地理解需求求設計(Design)::深入理解與與非功能性需需求和約束相相聯(lián)系的問題題實現(xiàn)(Implementation):實現(xiàn)現(xiàn)系統(tǒng)與集成成測試(Test):驗證證實現(xiàn)的結構構核心工作流統(tǒng)一過程準則則準則迭代的開發(fā)軟軟件需求管理基于構件的體體系結構可視化軟件建建模驗證軟件質量量控制軟件的變變更統(tǒng)一過程主要要的優(yōu)點是提提高了團隊生生產力構件集成模型型構件集成模型型是基于構件件的開發(fā)模型型構件集成模型型:整個系統(tǒng)模塊塊化復用構件庫中中的軟件構件件構件集成模型型是演化形的的,開發(fā)過程程是迭代的5個階段:軟件的需求分分析和定義體系結構設計計構件庫建立應用軟件構建建測試和發(fā)布構件集成模型型需求分析和定義體系結構設計構件庫建立測試和發(fā)布應用軟件構建1:N面向方面的軟軟件開發(fā)面向方面的軟軟件開發(fā)(Aspect-OrientedSoftwareDevelopment,簡稱AOSP)是一一系列新興技技術,用以尋尋找軟件系統(tǒng)統(tǒng)中新的模塊塊化特性。強調獨立描述述關注點方面需求(AspectualRequirement)定義了那那些對整個軟軟件體系結構構產生影響的的橫切關注點點:對等關注點,,這種關注點點是相互獨立立的,沒有任任何一個對等等關注點比另另一個更重要要。如ATM的取款、、轉帳和存款款等擴展(extension)),是在基基礎組件((base)之上定定義的組件件,它用來來表示附加加的服務或或功能。如如在圖書館館系統(tǒng)中,,當還書時時發(fā)現(xiàn)該書書已經超期期,那么系系統(tǒng)就要計計算罰金。。計算罰金金功能就是是還書的擴擴展。對等關注點點對等關注點點(分離限限制)擴展展對等等關關注注點點((分分離離限限制制))問題題::纏繞繞((tangling)),,各各個個組組件件包包含含滿滿足足不不同同關關注注點點的的實實現(xiàn)現(xiàn)((也也就就是是編編碼碼))分散散((Scattering)),,某某個個特特定定關關注注點點的的實實現(xiàn)現(xiàn)是是分分散散在在多多個個組組件件中中。。分離離擴擴展展是是一一種種使使復復雜雜問問題題易易于于理理解解的的技技術術。。關注注點點分分離離技技術術關注注點點分分離離技技術術((ConcernSeparationTechnique))對對關關注注點點進進行行建建模模和和結結構構化化。。用例例技技術術關注注點點合合成成機機制制關注注點點合合成成機機制制((ConcernCompositionMechanism))將將關關注注點點合合成成發(fā)生生在在編編譯譯時時、、編編譯譯后后,,甚甚至至是是運運行行時時擴展展相相互互分分離離擴展展相相互互分分離離Jacobson早早在在1986發(fā)發(fā)表表的的論論文文““支支持持易易于于變變化化的的實實時時系系統(tǒng)統(tǒng)的的語語言言””術語語::表表示示原原有有程程序序、、擴擴展展基基礎礎的的術術語語existion;;表表示示添添加加到到existion的的新新功功能能的的術術語語extensions。。擴展展在編編譯譯或或運運行行階階段段,,而而非非編編碼碼階階段段,,往往existion中中插插入入extensions((擴擴展展))原有有系系統(tǒng)統(tǒng)的的源源代代碼碼甚甚至至二二進進制制代代碼碼都都與與任任何何擴擴展展之之間間保保持持了了清清晰晰性性和和無無關關性性優(yōu)點點::擴展展更更為為簡簡單單系統(tǒng)統(tǒng)將將更更易易于于理理解解序列列變變化化器器小結結軟件件開開發(fā)發(fā)模模型型是是指指軟軟件件開開發(fā)發(fā)全全部部過過程程、、活活動動和和任任務務的的結結構構框框架架,,能能清清晰晰、、直直觀觀地地表表達達軟軟件件開開發(fā)發(fā)全全過過程程,,明明確確規(guī)規(guī)定定了了要要完完成成的的主主要要活活動動和和任任務務,,用用來來作作為為軟軟件件項項目目工工作作的的基基礎礎。。瀑布布模模型型是是一一種種線線性性模模型型,,文文檔檔驅驅動動的的模模型型。。增量量提提交交模模型型采采用用一一系系列列的的增增量量方方式式開開發(fā)發(fā)系系統(tǒng)統(tǒng)。。螺旋旋模模型型結結合合瀑瀑布布模模型型和和快快速速原原型型,,是是一一種種風風險險驅驅動動的的開開發(fā)發(fā)模模型型協(xié)同同開開發(fā)發(fā)模模型型是是一一種種時時間間驅驅動動的的活活動動網網絡絡模模型型。。統(tǒng)一一過過程程模模型型是是以以用用例例驅驅動動的的,,以以架架構構為為中中心心,,迭迭代代和和增增量量的的過過程程。。構件件集集成成模模型型利利用用模模塊塊化化方方法法將將整整個個系系統(tǒng)統(tǒng)模模塊塊化化,,復復用用構構件件庫庫中中的的軟軟件件構構件件,,通通過過組組合合手手段段提提高高應應用用軟軟件件系系統(tǒng)統(tǒng)過過程程的的效效率率和和質質量量。。面向向方方面面的的軟軟件件開開發(fā)發(fā)是是一一系系列列新新興興技技術術,,用用以以尋尋找找軟軟件件系系統(tǒng)統(tǒng)中中新新的的模模塊塊化化特特性性,,允允許許對對軟軟件件系系統(tǒng)統(tǒng)中中多多種種關關注注點點進進行行獨獨立立描描述述,,同同時時又又能能自自動動統(tǒng)統(tǒng)一一組組合合到到工工作作系系統(tǒng)統(tǒng)之之中中。。第4章章案案例例研研究究出卷卷系系統(tǒng)統(tǒng)短信信系系統(tǒng)統(tǒng)POS機機系系統(tǒng)統(tǒng)ATM機機系系統(tǒng)統(tǒng)圖書書館館系系統(tǒng)統(tǒng)出卷卷系系統(tǒng)統(tǒng)系統(tǒng)統(tǒng)支支持持人人工工輔輔助助和和自自動動出出卷卷。。系統(tǒng)統(tǒng)應應能能夠夠進進行行題題庫庫管管理理系統(tǒng)統(tǒng)能能夠夠進進行行試試卷卷管管理理,,應應完完成成試試卷卷修修改改、、刪刪除除和和打打印印等等。。試試卷卷能能夠夠按按照照給給定定的的樣樣式式進進行行輸輸入入。。系統(tǒng)統(tǒng)應應能能支支持持不不同同的的科科目目。。系統(tǒng)統(tǒng)能能夠夠在在所所有有流流行行的的技技術術環(huán)環(huán)境境下下運運行行,,優(yōu)優(yōu)好好的的圖圖形形界界面面。。系統(tǒng)統(tǒng)應應該該具具有有很很好好的的可可擴擴展展性性。。試題題不不允允許許重重復復出出現(xiàn)現(xiàn),,至至少少三三次次不不能能重重復復。。試卷符符合要要求的的96%以以上即即可結結束,,允許許教師師調整整。應能進進行試試卷分分析。。短信系系統(tǒng)短信發(fā)發(fā)送::客戶戶選擇擇一個個或多多個目目標人人員、、編輯輯內容容、立立即或或定時時發(fā)送送通知知信息息。短信人人工應應答::用戶戶察看看收到到的短短信內內容,,并確確定回回復內內容回回復詢詢問者者。短信自自動應應答::根據(jù)據(jù)短信信詢問問內容容,并并依據(jù)據(jù)規(guī)則則自動動回復復詢問問者。。短信接接收::接收收外部部短信信。短信確確認::確認認接收收方是是否接接收。。客戶資資料維維護::添加加、刪刪除和和更新新用戶戶。短信息息維護護:預預設短短消息息內容容接口要要求::支持持移動動終端端通過過串口口通信信;支支持與與移動動網關關通信信。POS機系系統(tǒng)收銀員員可以以記錄錄銷售售商品品信息息,系系統(tǒng)計計算總總價。。收銀員員能夠夠通過過系統(tǒng)統(tǒng)處理理支持持,包包括現(xiàn)現(xiàn)金支支付、、信用用卡支支付和和支票票支付付。經理還還能處處理顧顧客退退貨。。系統(tǒng)要要求具具有一一定的的容錯錯性,,即如如果遠遠程服服務((如庫庫存系系統(tǒng)))暫時時中斷斷,系系統(tǒng)必必須仍仍然能能夠獲獲取銷銷售信信息并并且至至少能能夠處處理現(xiàn)現(xiàn)金付付款。。POS機必必須支支持日日益增增多的的各種種的客客戶終終端和和接口口,比比如多多種形形式的的用戶戶圖形形界面面、觸觸摸屏屏輸入入裝置置、無無線PDA等。。系統(tǒng)需需要一一種機機制提提供靈靈活的的處理理不同同客戶戶獨特特的業(yè)業(yè)務邏邏輯規(guī)規(guī)則和和定制制能力力。ATM機系系統(tǒng)ATM機處處理銀銀行儲儲戶的的各種種操作作,并并與分分行計計算機機通信信;各分理理處的的計算算機保保存各各自的的帳戶戶,負負責錄錄入帳帳戶和和事務務數(shù)據(jù)據(jù);分行計計算機機與撥撥款分分理處處結帳帳;ATM機與與用戶戶接口口接受受現(xiàn)金金卡,,與分分行計計算機機通信信完成成事務務,發(fā)發(fā)放現(xiàn)現(xiàn)金,,打印印票據(jù)據(jù);系統(tǒng)需需要記記錄保保管和和安全全措施施;系統(tǒng)必必須正正確處處理同同一帳帳戶的的并發(fā)發(fā)訪問問。圖書館館系統(tǒng)統(tǒng)圖書館館系統(tǒng)統(tǒng)有借借書者者、管管理員員、系系統(tǒng)管管理員員和一一般瀏瀏覽者者四種種角色色。借借書者者是圖圖書館館的會會員,,擁有有自己己的帳帳戶,,可以以借閱閱圖書書;一般瀏瀏覽者者是非非圖書書館會

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論