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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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

方法

過程

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

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論