《軟件需求分析、設計與建?!泛喆痤}樣題1(含答案)_第1頁
《軟件需求分析、設計與建?!泛喆痤}樣題1(含答案)_第2頁
《軟件需求分析、設計與建模》簡答題樣題1(含答案)_第3頁
《軟件需求分析、設計與建模》簡答題樣題1(含答案)_第4頁
《軟件需求分析、設計與建模》簡答題樣題1(含答案)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.Whatisobjecttechnology?Whatdoyouperceiveasobjecttechnology'sstrength?It'sweakness?Object【Asetofprinciples(abstraction,encapsulation,polymorphism)guidingsoftwareconstruction,togetherwithlanguages,databases,andothertoolsthatsupportthoseprinciples.】面向對象技術是一系列支持軟件開發(fā)的原則(抽象,封裝,多態(tài)性),以及支持這些原則的程序設計語言,數(shù)據(jù)庫和其它工具。【Reflectsasingleparadigm.Facilitatesarchitecturalandcodereuse.Reflectsrealworldmodelsmoreclosely.Encouragesstability.Isadaptivetochange】反映一個特定實例。有利于構件和代碼重用。更加真實地反映現(xiàn)實世界模型。具有更好的穩(wěn)定性。能適應需求的變化。2.WhatisUML?ListatleastthreebenefitsofdevelopingwithUML.【UMLisUnifiedModelingLanguage,itisalanguageforVisualizing,Specifying,Constructing,Documentingtheartifactsofasoftware-intensivesystem.】UML是統(tǒng)一建模語言,是一門用于對面向對象開發(fā)的產(chǎn)品進行可視化建模,說明,架構和文檔編制的標準語言?!綯heUMLbuildsmodelsthatareprecise,unambiguous,andcomplete.UMLmodelscanbedirectlyconnectedtoavarietyofprogramminglanguages.TheUMLaddressesdocumentationofsystemarchitecture,requirements,tests,projectplanning,andreleaserequirements.】UML幫助建立精確、完整、不含糊的模型。UML模型可以和多種程序設計語言建立直接連接。UML指導文檔編制,包括系統(tǒng)架構文檔,需求文檔,測試文檔,項目計劃,版本說明等。3.WhatprocesscharacteristicbestfittheUML?Describeeachcharacteristic.【Use-casedriven+Architecture-centric+Iterativeandincremental.】用例驅動以架構為中心迭代和增量開發(fā)4.Whatisause-casedrivenprocess?Whatisuse-case?What'sthebenefitsofusecase?【Usecasesdefinedforasystemarethebasisfortheentiredevelopmentprocess.為系統(tǒng)定義的用例作為整個開發(fā)過程的基礎。用例是描述系統(tǒng)所執(zhí)行的一系列順序事件流,并且某個角色可以看到執(zhí)行的結果【Benefitsofusecases:Concise,simple,andunderstandablebyawiderangeofstakeholders.Helpsynchronizethecontentofdifferentmodels.】簡潔明了,可被各個項目相關人理解。幫助實現(xiàn)不同模型間的同步。5.Whatissystem'sarchitecture?Whatisanarchitecture-centricProcess?【Asystem'sarchitectureisusedasaprimaryartifactforconceptualizing,constructing,managing,andevolvingthesystemunderdevelopment.】系統(tǒng)的架構是開發(fā)過程的最重要的一項產(chǎn)出,它定義了系統(tǒng)的概念、結構,是管理開發(fā)過程、展開系統(tǒng)的重要指導。以架構為中心的開發(fā)過程:統(tǒng)一開發(fā)過程強調架構是項目小組給系統(tǒng)定形的中心,因為一個模型難以反映系統(tǒng)的各個方面,統(tǒng)一開發(fā)過程支持多個模型和視圖。6.Whatisaniteration?WhatisthebenefitsofIterativeDevelopment?迭代:迭代是在既定計劃和評價標準之下執(zhí)行的一系列軟件開發(fā)活動,每次迭代是一次集成的軟件開發(fā)過程包括測試,并產(chǎn)生一個可執(zhí)行的軟件版本。好處:迭代可以在大投資前解決可預見的風險。早期迭代可以獲得用戶反饋。連續(xù)地測試和集成的開發(fā)過程??陀^的里程碑集中在短期。通過對執(zhí)行過程的評估來衡量開發(fā)進度。部分可執(zhí)行部件可被配置?!綜riticalrisksareresolvedbeforemakinglargeinvestments.Initialiterationsenableearlyuserfeedback.Testingandintegrationarecontinuous.Objectivemilestonesfocusontheshortterm.Progressismeasuredbyassessingimplementations.Partialimplementationscanbedeployed.】7.WhatarethebasicprinciplesofOOtechnology?Describeeachindetail.【Abstraction+Encapsulation+Modularity+Hierarchy】抽象,封裝,模塊化,層次【Theessentialcharacteristicsofanentitythatdistinguishesitfromallotherkindsofentities.Definesaboundaryrelativetotheperspectiveoftheviewer..Isnotaconcretemanifestation,denotestheidealessenceofsomething.】抽象:提取出一個實體區(qū)分其它類型實體的本質特征,定義外界所能觀察到的邊界,并不具體表示某個實體,而是表示出其基本特征?!綡idesimplementationfromclients.】封裝:對用戶隱藏執(zhí)行過程?!綛reaksupsomethingcomplexintomanageablepieces.Helpspeopleunderstandcomplexsystems.】模塊化:將復雜系統(tǒng)分成幾個可控制的模塊,幫助人們理解復雜系統(tǒng)。層次:是一種從高到低有確定次序的結構,同一層的元素具有相同的抽象程度。8.Whatisusecasemodel?Whichartifactscanbeincludedinausecasemodel?【Amodelthatdescribesasystem'sfunctionalrequirementsintermsofusecases.Amodelofthesystem'sintendedfunctions(usecases)anditsenvironment(actors).用例模型:根據(jù)用例描述系統(tǒng)的功能需求。用戶,角色和communicate-association。

9.Listthreetypesofrelationshipsexistedbetweendifferentusecasesandgiveexamples.【用例泛化、包含用例、擴展用例】泛化關系,用例的泛化,子用例可以依賴父用例的結構,可以在父用例的基礎上增加額外的行為。(2)包含關系(include):位于兩個用例之間的包含關系意味著基用例顯式地在其指定位置將另一個用例包含進來(2)包含關系(include):位于兩個用例之間的包含關系意味著基用例顯式地在其指定位置將另一個用例包含進來,使其成為自己的行為的一部分。在具有包含關系的兩個用例中,波包含的那個用例不能單獨存在,它只能以實例的形式存在于包含它的用例之中。擴展關系:兩個用例之間的擴展關系,代表基用例可以隱式地包含另一個用例作為其行為的一10.Explainthefollowingdiagramandtheirelementswithexamples.usecasediagram【Ausecasemodelsadialogbetweenactorsandthesystem.Ausecaseisinitiatedbyanactortoinvokeacertainfunctionalityinthesystem.】用例圖(usecasediagram)就是由角色、用例以及它們之間的關系構成的圖。Activitydiagram【Anactivitydiagramintheuse-casemodelcanbeusedtocapturetheactivitiesinausecase.Itisessentiallyaflowchart,showingflowofcontrolfromactivitytoactivity.】活動圖是一種行為圖(behaviordiagram),通常用來表達業(yè)務流程、工作流或系統(tǒng)流程中一連串的動作。sequencediagram【Asequencediagramisaninteractiondiagramthatemphasizesthetimeorderingofmessages.】順序圖是強調消息傳遞的時間順序的一種交互圖。Collaborationdiagram【Acollaborationdiagramemphasizestheorganizationoftheobjectsthatparticipateinaninteraction.】協(xié)作圖強調對象在參與活動中的組織。classdiagram【Staticviewofasystem.IncludeThevocabularyofasystem,Collaborations,Alogicaldatabaseschema.】類圖(Classdiagram)是顯示了模型的靜態(tài)結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關系等。statechartdiagram【Astatechartdiagramshowsastatemachine.】狀態(tài)圖(StatechartDiagram)是描述一個實體基于事件反應的動態(tài)行為,顯示了該實體如何根據(jù)當前所處的狀態(tài)對不同的時間做出反應的。deploymentdiagram【Thedeploymentdiagramshows:Configurationofprocessingnodesatrun-time.Communicationlinksbetweenthesenodes.Componentinstancesandobjectsthatresideonthem.】部署圖(deploymentdiagram,配置圖)是用來顯示系統(tǒng)中軟件和硬件的物理架構。從部署圖中,可以了解到軟件和硬件組件之間的物理關系以及處理節(jié)點的組件分布情況。使用部署圖可以顯示運行時系統(tǒng)的結構,同時還傳達構成應用程序的硬件和軟件元素的配置和部署方式。11.Describethesimilaritiesanddifferencesbetweenthesequencediagramandcollaborationdiagram.【Semanticallyequivalent---Canconvertonediagramtotheotherwithoutlosinganyinformation.Modelthedynamicaspectsofasystem.Modelause-casescenario.】相同點:可以將一種圖轉換成另一種圖而不丟失任何信息。對系統(tǒng)的動態(tài)行為進行建模,對用例的情節(jié)進行建模?!綜ollaborationdiagrams:Sequencediagrams:-Showrelationshipsinaddition-Showtheexplicitsequenceofmessages.tointeractions.-Betterforvisualizingpatterns-Showfocusofcontrol.

ofcollaboration.-Betterforvisualizingalloftheofcollaboration.-Betterforvisualizingalloftheeffectsonagivenobject.-Easiertouseforbrainstormingsessions.不同點:交互圖根據(jù)交互行為顯示對象間的關系。更好的觀察協(xié)作模型。更好的觀察一個對象所受到的各種影響更適于運用于頭腦風暴會議。-Betterforvisualizingoverallflow.-Betterforreal-timespecificationsandforcomplexscenarios.】順序圖顯示外部消息的順序。顯示控制焦點。更好的觀察全部的事件流。更適于實時描述和描述復雜情景12.Definethedifferentrelationshipsinclassdiagram:dependency,association,aggregation,composition,generalization.【Dependency:一個類的改變可能影響或提供信息給其他類。?兩個類之間的依賴關系,表明其中的一個類(客戶類)依賴于另一個類(供應類)所提供的某些服務。Association:Thesemanticrelationshipbetweentwoormoreclassifiersthatspecifiesconnectionsamongtheirinstances.類之間的連接?關聯(lián):給出兩個或更多的類之間的語義聯(lián)系,說明了它們實體之間的關系。Aggregation:Aspecialformofassociationthatmodelsawhole-partrelationshipbetweentheaggregate(thewhole)anditsparts.聚合表示組成和整體的所有關系。Isan“isapartof“position:組合即強聚合,表示整體對組成的包容關系;Generalization:Arelationshipamongclasseswhereoneclasssharesthestructureand/orbehaviorofoneormoreclasses.Isan“isakindof”relationship.】表示一個類共享其它類的結構或者行為的一種類與類之間的關系。Isan“isakindof”relationship.13.Whatisanodeindeploymentdiagram?Listtwodiffenttypesofnodes.【Aphysicalelementthatexistsatrun-timeandrepresentsacomputationalresource.ProcessorNode+DeviceNode.】結點是存在于運行時系統(tǒng)中的物理元素,代表了一種可計算資源。處理機節(jié)點:運行軟件設備節(jié)點:由處理機控制的設備14.DescribetheextensibilitymechanismsofUML.【擴展機制extensibilitymechanisms.構造型stereotype(表示新的建模元素)標記值taggedvalue(表示新的建模屬性)約束constraint(表示新的建模語義)】15.WhatisthefunctionofStereotypes?Givetwoexamplesofstereotypes.16.Explainthesixbestpracticesofsoftwareengineering.【迭代的開發(fā)軟件DevelopIteratively需求管理ManageRequirements使用基于構件的體系結構UseComponentArchitectures可視化軟件建模ModelVisually(UML)驗證軟件質量ContinuouslyVerifyQuality控制軟件變更ManageChange】17.WhatisRUP?HowmanyphasesisinRUP?Describeeachphase'spurposeandmilestone.【RationalUnifiedProcess.初始階段:Inception目標是為系統(tǒng)建立商業(yè)案例和確定項目的邊界細化階段:Elaboration目標是分析問題領域,建立健全的體系結構基礎,編制項目計劃,淘汰項目中最高風險的元素構建階段:Construction所有剩余的構件和應用程序功能被開發(fā)并集成為產(chǎn)品,所有的功能被詳盡的測試交付階段:Transition目的是將軟件產(chǎn)品交付給用戶群體】18.Nameandbrieflydescribethe“4+1”viewsofarchitecture.【Use-caseview+Logicalview+Implementationview+Processview+Deploymentview】用例視圖,邏輯視圖,實現(xiàn)視圖,過程視圖+部署視圖【Analysis:-Focusonundrestandingtheproblem.-Idealizeddesign.-Behavior.-Systemstructure.【Analysis:-Focusonundrestandingtheproblem.-Idealizeddesign.-Behavior.-Systemstructure.-Functionalrequirements.-Asmallmodel.分析:集中在理解問題。是理想化設計行為。系統(tǒng)架構。功能需求。是一個小模型。Design:-Focusonunderstandingthesolution.-Operationsandattributes.-Performance.-Closetorealcode.-Objectlifecylces.-Nonfunctionalrequirements.Alargemodel.】設計:集中在理解解決方案。設計相關操作和屬性。性能。接近真實代碼。對象生命周期。非功能需求,是一個大模型。20.PleasedescribethewholeprocessofooanalysisanddesignwithUML.【KeyConceptsDefinetheHigh-LevelOrganizationofSubsystemsIdentifyKeyAbstractionsCreateUse-CaseRealizationsCheckpoints】關鍵概念:定義高層組織和子系統(tǒng)。識別關鍵的抽象。創(chuàng)建用例實現(xiàn)。設置檢查點?!綢dentifyclassesandsubsystemsIdentifysubsysteminterfacesUpdatetheorganizationoftheDesignModelCheckpoints】識別各個類和子系統(tǒng)。識別子系統(tǒng)的接口。校正設計模型的組織結構。設置檢查點。21.Whatisalayeredarchitecture?Giveexamplesoftypicallayers.【Applicationsubsystems->BussinessSpecific->Middleware->SystemSoftware】層次體系結構就是利用分層的處理方式來處理復雜的的功能,層次系統(tǒng)要求上層子系統(tǒng)使用下層子系統(tǒng)的功能,而下層子系統(tǒng)不能夠使用上層子系統(tǒng)的功能。C/S(兩層)體系結構)客戶機/服務器結構簡稱C/S結構或兩層體系結構。Whatareanalysismechanisms?Whataredesignmechanismas?Giveexamples.分析與設計規(guī)程的任務是研究欲采用的實現(xiàn)環(huán)境和系統(tǒng)構建的效用,結果是產(chǎn)生一個設計模型。設計模型包含了用例的實現(xiàn),可以表現(xiàn)對象是如何相互通信和運作實現(xiàn)用例的。在設計模型中可能包含對象類和子系統(tǒng)的接口定義,規(guī)定它們提供操作服務的責任。這個對象模型也可以在實施環(huán)境中采用,那就是用程序設計語言,分布等來表達。對于大型系統(tǒng)的項目,有時為系統(tǒng)分析的結果建立單獨的分析模型也是很有用的。分析模型是概念模型,因為是系統(tǒng)的一個抽象并回避了實現(xiàn)問題;設計模型是物理模型,因為它是實現(xiàn)的藍圖。分析模型對設計是通用的,即適用于多種設計;設計模型對設計不是通用的,針對特定的實現(xiàn)分析模型不太形式化;設計模型比較形式化分析模型開發(fā)費用比較低;設計模型開發(fā)費用比較高,是5倍的分析模型分析模型層數(shù)少;設計模型層數(shù)多分析模型勾畫系統(tǒng)的設計輪廓,包括系統(tǒng)架構;設計模型是進行系統(tǒng)的設計,包括系統(tǒng)架構分析模型不需要在整個軟件生命周期內做維護;設計模型需要在整個軟件生命周期內做維護分析模型定義作為構造系統(tǒng)基本輸入的架構,包括創(chuàng)建設計模型;設計模型在盡可能保持需求模型所定義結構的前提下構造系統(tǒng)Whatisananalysisclass?Nameanddescribethethreeanalysisstereotypes.Giveexamples.BoundaryClass:Intermediatesbetweentheinterfaceandsomethingoutsidethesystem.EntityClass:Keyabstractionsofthesystem..ControlClass:Use-casebehaviorcoordinator.】分析類是這樣的類:它代表問題域中的簡潔抽象;應該映射到真實世界的業(yè)務概念(并且據(jù)此仔細命名)。boundary類,中介本系統(tǒng)與其環(huán)境之間的協(xié)作。control類,封裝特定用例的行為。entity類,用于建模事物的永久信息。舉例:boundary?類:用戶界面類一人與系統(tǒng)之間的接口類;系統(tǒng)接口類一同其他系統(tǒng)之間的接口類;設備接口類一同外部設備,例如傳感器之間的接口類。控制類:設計課程注冊系統(tǒng),開始你可能引入了控制類CourseRegistrationController來協(xié)調整個過程。實體類:表由系統(tǒng)所管理的主要事物(例如,客戶(customer));24.WhatisUse-caserealization?What‘syourunderstandingsaboutthebenefitoftheuse-caserealizationstructure.【Usecaserealization是Usecase的實現(xiàn),通過描述這些抽象元素的協(xié)作關系來分析實現(xiàn)方式以及進一步細化】【use-caserealization的目的為了把需求和實現(xiàn)分離;一個用例實現(xiàn)可以實現(xiàn)幾個用例,一個用例也可以由多個用例實現(xiàn)來實現(xiàn)這樣具體的實現(xiàn)方案就可以不過分依賴于需求階段的用例劃分】25.Describethestepsoccuredintheuse-caseanalysis.【SupplementtheUse-CaseDescriptionForeachUse-CaseRealization:FindClassesfromUse-CaseBehavior,DistributeUse-CaseBehaviortoClassesForeachresultinganalysisclass:DescribeResponsibilities,DescribeAttributesandAssociations,QualifyAnalysisMechanismsUnifyAnalysisClassesCheckpoints】補充用例說明。找出用例中的行為,把行為合理分配給各個類。對每一個分析出來的類,描述其職責,屬性,和類間的關聯(lián),限定分析機制。統(tǒng)一分析類。查檢分析過程和結果。26.What'sthepackage,andWhyweneedpackage?【Ageneralpurposemechanismfororganizingelementsintogroups.Amodelelementthatcancontainothermodelelements.】【Apackagecanbeused:Toorganizethemodelunderdevelopment.Asaunitofconfigurationmanagement.】包是用來對元素分組的一種機制,是一種包含其它模型元素的模型元素。包能用來:在開發(fā)過程中組織模型。是配置管理的單元。27.Whatisasubsystem?Whatisaninterface?Howdoesasubsystemdifferfromapackage?【Isa“crossbetween”apackageandaclassRealizesoneormoreinterfacesthatdefine子系統(tǒng)是一種模型元素,它具有包(其中可包含其他模型元素)和類(其具有行為)的語義。子系統(tǒng)的行為由它所包含的類或其他子系統(tǒng)提供。子系統(tǒng)實現(xiàn)一個或多個接口,這些接口定義子系統(tǒng)可以執(zhí)行的行為。包:一旦模型變得很大,不能再維持平面結構,就需要對包分割。子系統(tǒng):如果某個協(xié)作中的各個類只是在相互之間進行交互,并且可生成一組定義明確的結果,就應將該協(xié)作和它的類封裝在一個子系統(tǒng)中。這一規(guī)則同樣適用于協(xié)作的子集??梢詫f(xié)作的任何部分或全部進行封裝和簡化,作為一個子系統(tǒng)。SubsystemsPackages^>ProvidebehanorADon"tprovidebehavioi1>Completelyencapsuhtetheir>Don'tcompletelyencapsulatetheLrcontcmscoiilents>AreeasilvreplacedpAMaynotbeeasilyreplaced^Whatisthepurposeofdescribingtherun-timearchitect

溫馨提示

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

評論

0/150

提交評論