东北大学软件需求分析与设计测试题_第1页
东北大学软件需求分析与设计测试题_第2页
东北大学软件需求分析与设计测试题_第3页
东北大学软件需求分析与设计测试题_第4页
东北大学软件需求分析与设计测试题_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

10名目\l“_TOC_250004“2007年上半年 3\l“_TOC_250003“设计题〔共15分〕 3某图书治理系统的主要功能如下: 3\l“_TOC_250002“编码题 4某玩耍公司现欲开发一款面对儿童的模拟玩耍该玩耍主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。玩耍需要模拟的鸭子种类及其特征 42007年下半年 6\l“_TOC_250001“设计题 6某唱片播放器不仅可以播放唱片而且可以连接电脑并把电脑中的歌曲刻录到唱片上〔同步歌曲。连接电脑的过程中还可自动完成充电。 6编码题 7某企业的选购审批是分级进展的5万元以下〔5万元〕5万元10万元〔10万元〕1050万元〔不包括50万元〕的选购单,50万元及以上的选购单就需要开会争论打算。 72008上半年 9设计题 9某汽车停车场欲建立一个信息系统,已经调查到的需求如下: 9编码题 11某企业欲开发一家用电器遥控系统即用户使用一个遥控器即可掌握某些家用电器的开与关。 11\l“_TOC_250000“2008年下半年 13设计题 13在线会议审稿系统〔ORS:OnlineReviewingSystem〕主要处理睬议前期的投稿和审稿事务,其功能描述如下: 13编码题 152009Application类和Document们之间的关系如图7-1ApplicationDocument类则表示应用程序翻开的文档。Application类负责翻开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示。2009...............................................................................................................................16设计题 16某银行打算开发一个自动存提款机模拟系统〔ATMSystem。系统通过读卡器CardReader〕读取ATM卡;系统与客户〔Customer〕的交互由客户掌握台〔CustomerConsole〕实现: 16编码题 182009现欲实现一个图像扫瞄系统要求该系统能够显示BMPJPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。2009...............................................................................................................................19设计题 19某企业为了便利员工用餐,为餐厅开发了一个订餐系统〔COS:Cafeteria Ordering................................................................................................................................................19编码题 212010现欲构造一文件/名目树承受组〔Composite〕设计模式来设计得到的类图2010...............................................................................................................................22设计题 22某运输公司打算为的售票机开发车票销售的掌握软件 22编码题 25某软件公司欲开发一款飞机飞行模拟系统该系统主要模拟不同种类飞机的飞行特征与起飞特征 252010年下半年 26设计题 26某网上药店允许顾客凭借医生开具的处,通过网络在该药店购置处方上的药品该网上药店的根本功能描述如27编码题 28某公司的组织构造图如图5-1所示,现承受组合(Composition)设计模式来构造该公司的组织构造,得到如图5-2所示的类图。 282011年上半年 30设计题 30一个简洁的图形编辑器供给应用户的根本操作包括创立图形创立元素选择元素以及删除图形 302011年下半年 30设计题 30Pay&Drive系统 30编码题 30某大型商场内安装了多个简易的纸巾售卖机 302007年上半年设计题〔15分〕阅读以下说明和图,答复以下问题13,将解答填入答题纸的对应栏内。[说明]某图书治理系统的主要功能如下:图书治理系统的资源名目中记录着全部可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态〔可借阅或已借出。者和介质类型〔CD或者磁带。系统为每个读者创立了一个借书记录文件,用来保存读者所借资源的相关信息。的类。表3-1给出了[说明]中消灭的所知名词。通过对表3-13-1UML〔类的说明如表3-2所示。[1]〔3分〕表3-2所给出的类并不完整,依据[说明]3-13-1中的〔a〕~〔c〕处补充完整。[2]〔6分〕依据[说明]中的描述,给出图3-1中的类CatalogItem以及〔b〔〕处所对应的类的关键属性〔使用表3-1中给出的词汇,其中,CatalogItem有4〔b〔c〕处对应的类各有2个关键属性。[3]〔6分〕[说明]中给出的描述,成图3-1中的(1)~(6)。答案:1资源名目图书唱片问题2CatalogItem的关键属性:索引号、名称、资源状态、出版时间(b)的关键属性有:作者、页数(c)的关键属性有:演唱者、介质类型问题3〔1〕1〔2〕0..* 〔3〕1〔4〕0..*〔5〕1〔6〕1或0..1编码题阅读以下说明和Java代码,将应填入〔n〕 处的字句写在答题纸的对应栏内。[说明]行特征和外观特征。玩耍需要模拟的鸭子种类及其特征如表7-1所示:为支持将来能够模拟更多种类鸭子的特征,承受策略设计模式(Strategy)设计的类图如图7-1所示:Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、CottonDuck和RedHeadDuck分别描述具体的鸭子种类,方法fly、quack和display分别表示不同种类的鸭子都具有FlyBehavior与QuackBehavior分别用于表示抽象的飞行行为与发FlyNoWay与FlyWithWingsQuackSqueakQuackNoWay以下代码中的空缺。[Java代码]FlyBehavior{publicvoidfly;};QuackBehavior{publicvoidquack;};classFlyWithWingsimplementsFlyBehavior{publicvoidfly{System.out.println(“使用翅膀飞行!“);}};classFlyNoWayimplementsFlyBehavior{publicvoidfly{System.out.println(“不能飞行!“);}};classQuackimplementsQuackBehavior{publicvoidquack{System.out.println(“发出\”嘎嘎\”声!“); }};classSqueakimplementsQuackBehavior{publicvoidquack{System.out.println(“发出空气与橡皮摩擦声!“);}};classQuackNoWayimplementsQuackBehavior{publicvoidquack{System.out.println(“不能发声!“);}};abstractclassDuck{protected FlyBehavior〔3〕;protected QuackBehavior〔4〕;publicvoidfly{ 〔5〕;}publicvoidquack{ 〔6〕;};public 〔7〕 voiddisplay;};classRubberDuckextendsDuck{publicRubberDuck{flyBehavior=new 〔8〕 ;quackBehavior=new 〔9〕 }publicvoiddisplay{/*此处省略显示橡皮鸭的代码*/ }};答案:(1) interface(2)interface(3)flyBehavior(4)quackBehavior(5)flyBehavior.fly(6)flyBehavior.quack(7)abstract(8)FlyNoWay(9)Squeak设计题

2007年下半年阅读以下说明和图,答复以下问题1至问题4,将解答填入答题纸的对应栏内。【说明】〔同步歌曲。连接电脑的过程中还可自动完成充电。关于唱片,还有以下描述信息:有两首歌曲的这三局部信息完全一样时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能消灭一次。3.条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么〔假设存在的话。3-13-1所3-2所示的描述播放器行为的UML状态图。3-1类列表类名ArtistSong艺术家歌曲BandMusicianTrackAlbum唱片1A1A1演奏0..*0..*B(3)(4)CD(1)(2)E(5)(6)F3-1初始类图3-2UML状态图1〔3分〕依据说明中的描述,使用表3-1给出的类的名称,给出图3-1中的A~F所对应的类。2〔6分〕依据说明中的描述,给出图3-1中〔1〕~〔6〕处的多重度。3〔4分〕类多重度图3-1类多重度4〔2分〕UML状态图,给出从“关闭”状态到“播放”状态所经过的最短大事序列〔假设电池一开头就是有电的。答案:1A.ArtistB.SongC.BandD.MusicianE.TrackF.Album问题2〔1〕0..*〔2〕2..*〔3〕0..1〔4〕1..*〔5〕1..*〔6〕1问题3 Track 0..1Track 0..14按任意键选择歌曲编码题Java〔n〕处的字句写在答题纸的对应栏内。【说明】5万元以下〔5万元〕510万元〔10万元〕的万元〔50万元〕的选购单,50万元及以上的选购单就需要开会争论打算。〔ChainofResponsibility〕7-1PurchaseRequestPurchaseRequest+Amount:Float+Number:Integer+Purpose:StringApprover-successor:Approver+SetSuccessor(aSuccesssor:Approver)+ProcessRequest(aRequest:PurchaseRequest)批准者选购单DirectorVicePresidentPresidentCongress主任副董事长董事长例会7-1设计类图[JavaclassPurchaseRequest{public doubleAmount; //一个选购的金额public intNumber; //选购单编号public StringPurpose; //选购目的};classApprover{ //审批者类public Approver{ successor=null;}public voidProcessRequest(PurchaseRequestaRequest){if(successor!=null){successor. 〔1〕;}}public voidSetSuccessor(ApproveraSuccesssor){successor=aSuccesssor;}private 〔2〕 successor;};classCongressextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){if(aRequest.Amount>=500000){/*打算是否审批的代码省略*/}else 〔3〕.ProcessRequest(aRequest);}};classDirectorextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){/*此处代码省略*/ }};classPresidentextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){/*此处代码省略*/}};classVicePresidentextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){/*此处代码省略*/}};publicclassrs{publicstaticvoidmain(String[]args)throwsIOException{CongressMeeting=newCongress;VicePresidentSam=newVicePresident;DirectorLarry=newDirector;PresidentTammy=newPresident;//构造责任链Meeting.SetSuccessor(null); Sam.SetSuccessor( 〔4〕 );Tammy.SetSuccessor( 〔5〕); Larry.SetSuccessor( 〔6〕 //构造一选购审批恳求PurchaseRequestaRequest=newPurchaseRequest;BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));aRequest.Amount=Double.parseDouble(br.readLine);〔7〕.ProcessRequest(aRequest); //开头审批return;}}答案:ProcessRequest(aRequest)2.Approver3.super4.Tammy5.Meeting6.Sam7.Larry2008上半年设计题试题三〔试题三〔15分〕阅读以下说明和图,答复以下问题1至问题4,将解答填入答题纸的对应栏内。【说明】某汽车停车场欲建立一个信息系统,已经调查到的需求如下:传感器,示意图如下:命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。费。付清停车费之后,将获得一张出场卡,用于离开停车场。当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。假设这张卡是有效的,系统命令栏杆发出栏杆抬起命令而发出告警信号。“车位已满“信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。依据上述描述,承受面对对象方法对其进展分析与设计,得到了如下表所示的类/用例/状态列表、以下图UML类/用例/状态列表用例名 说明 类名 说明 状态名停车场Carentry 汽车进入停车场CentralComputerCarexit 汽车离开停车场PaymentMachineCarPark

信息系统器保存车位信息

IdleDisableAwaitEntryReport Statistics 关信息

Barrier

AwaitTicketTakeCar entrywhenfullCar entrywhenfull没有车位时,汽场EntryBarrier入口的护栏护栏AwaitEnableExitBarrier〔b〕初始类图〔a〕用例图〔点击查看大图〕〔c〕入口护栏的状态图1】〔a〕U1、U2U3所对应的用例。2】依据说明中的描述,使用上页表给出的类的名称,给出图〔依据说明中的描述,使用上页表给出的类的名称,给出图〔b〕中的A~D所对应的类。所对应的状态。简要解释图〔a〕中用例U1和U3之间的extend关系的内涵。答案:U1:CarentryU2:CarexitU3:CarentrywhenfullA:CarParkB:BarrierC:EntryBarrierD:ExitBarrier其中,C、D的答案可以互换S1:IdleS2:AwaitTicketTakeS3:AwaitEnableS4:AwaitEntry行为从必需的行为中分别出来。Java〔n〕【说明】某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可掌握某些家用电器的开与关。〔a〕40021和2,按钮1312。由于遥控系统需要支持形式多样的电器,因此,该系统以下图〔b〕所示。〔点击查看大图〕〔a〕图〔b〕RomoteControlleronPressButton〔intbutton〕表示当遥控器按键按下时调用的方法,Command接口中on和offLight中turnLigtintdegree〕方法用于调整电灯灯光的强弱,参数degree0100时表示开灯并且将灯光亮度调整到最大;TVsetChannel〔intchannel〕方法表示设置电视播放的频道,参数channel0时表示关闭电11频道。【Java代码】classLight{//电灯类publicvoidtrunLight(intdegree){//调整灯光亮度,0,100};classTV{//电视机类publicvoidsetChannel(intchannel){//0,11};interfaceCommand{//抽象命令类voidon;voidoff;};classRemoteController{ //遥控器类protectedCommand[]commandsnewCommand[4];//44CommandpublicvoidonPressButton(intbutton){//按钮被按下时执行命令对象中的命令if(button%2==0)commands[button].on;elsecommands[button].off;}publicvoidsetCommand(intbutton,Commandcommand){〔1〕 =command;//设置每个按钮对应的命令对象}};classLightCommandimplementsCommand{ 电灯命令类protectedLightlight; //指向要掌握的电灯对象publicvoidon{light.trunLight(100);};publicvoidoff{light.〔2〕;};publicLightCommand(Lightlight){this.light=light;};};classTVCommandimplementsCommand{//电视机命令类protectedTVtv; //指向要掌握的电视机对象publicvoidon{tv.〔3〕;};publicvoidoff{tv.setChannel(0);};publicTVCommand(TV tv){this.tv=tv;};};};publicclassrs{publicstaticvoidmain(String[]args){LightlightnewLight;TVtvnewTV;//创立电灯和电视对象LightCommandlightCommand=newLightCommand(light);TVCommandtvCommand=newTVCommand(tv);RemoteControllerremoteController=newRemoteController;//设置按钮和命令对象remoteController.setCommand(0,〔4〕);…//123}}〔5〕〔6〕〔7〕之间的耦合性降至最小。参考答案〔1〕commands[button]〔2〕trunLight(0) 〔3〕setChannel(1)〔4〕lightCommand〔5〕RemoteController 〔6〕Light〔7〕TV2008年下半年设计题〔共15分〕阅读以下说明和图,答复以下问题14,将解答填入答题纸的对应栏内。【说明】〔ORS:OnlineReviewingSystem〕主要处理睬议前期的投稿和审稿事务,其功能描述如下:〔register〕成为作者或审稿人。作者登录〔login〕后提交稿件和扫瞄稿件批阅结果。提交稿件必需在规定提交时间范围内,其过程为先〔存储位置。上述几步假设未完成,则重复;假设完成,则上传稿件至数据库中,系统发送通知。审稿人登录后可设置兴趣领域、批阅稿件给出意见以及排列录用和〔或〕拒绝的稿件。〔或〕拒绝的稿件以及关闭审稿过程。其中关闭审稿过程须包括排列录用和〔或〕拒绝的稿件。系统承受面对对象方法开发,使用UML进展建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见表3-13-2和表3-33-1和图3-2所示。表3-1 参与者列表名称说明名称说明User用户Author作者Reviewer审稿人Pcchair委员会主席名称表说明3-2名称说明login登录系统register注册submitpaper提交稿件browsereviewresults扫瞄稿件批阅结果closereviewingprocesssetpreferenceslistaccepted/rejectedpapers

关闭审稿过程高定兴趣领域绝的稿件

assiagnpapertoreviewerenterreviewbrowsesubmittedpapers

扫瞄提交的稿件名称说明名称说明表名称说明名称说明selectpaperlocationselectpaperlocation选择稿件位置uploadpaper上传稿件electsubjectgroupentertitleandabstract选择主题类型输入标题和摘要sendnotification发送通知loginloginA1register《exted》submitBrowsereviewA2setA3enteru1u2〔2〕A4u3closereviewing3-1ORS用例图图3-2 提交稿件过程的活动图【问题1〔4分〕依据【说明】中的描述,使用表3-13-1A1~A4所对应的参与者。【问题2〔3分〕依据【说明】中的描述,使用表3-23-1U1~U3所对应的用例。【问题3〔4分〕依据【说明】中的描述,给出图3-1中〔1〕和〔2〕所对应的关系。【问题4〔4分〕3-23-33-2中Action1~Action4对应的活动。答案:[1(4”)]A1:UserA2:AuthorA3:ReviewerA4:PCChair[2(3”)]U1:Listaccepted/rejectedpapersU2:browsesubmittedpapersU3:assignPapertoreviewer[3(4”)](1)<<extend>>(2)<<include>>[4(4”)]Action1:entertitleandabstractAction2:SelectSubjectgroupAction3:SelectpaperlocationAction4:Uploadpaper编码题〔15分〕阅读以下说明和Java代码,将应填入〔n〕处的字句写在答题纸的对应栏内。【说明】某类库开发商供给了一套类库,类库中定义了Application类和Document类,它们之间的关系如图7-1所示,其中,Application类表示应用程序自身,而Document类则表示应用程序翻开的文档。Application类负责翻开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示。Document+save+open(docName:String)+close

Application-docs+canOpenDocument(docName:String)+addDocument(aDocuent:Document)+doCreateDocumentMyDocument+read

Application-docs+doCreateDocument图7-1 Application与Document关系图当开发一个具体的应用程序时,开发者需要分别创立自己的ApplicationDocument子类,例如图7-1 中的类MyApplication 和类MyDocument,并分别实现Application和Document类中的某些方法。ApplicationopenDocument方法承受了模板方法〔TemplateMethod〕设计模式,该方法定义了翻开文档的每一个主要步骤,如下所示:首先检查文档是否能够被翻开,假设不能翻开,则给出出错信息并返回;创立文档对象;通过文档对象翻开文档;通过文档对象读取文档信息;5Application的文档对象集合中。【Java代码】abstractclassDocument{publicvoidsave{/*存储文档数据,此处代码省略*/}publicvoidopen(StringdocName){ /* 翻开文档,此处代码省略*/}publicvoidclose{/* 关闭文档,此处代码省略*/ }publicabstractvoidread(StringdocName);};abstractclassAppplication{private Vector< 〔1〕 > docs;/*文档对象集合*/public booleancanOpenDocument(StringdocName){返回假值表示不行翻开,此处代码省略*/}publicvoidaddDocument(DocumentaDocument){/*将文档对象添加到文档对象集合中*/docs.add( 〔2〕);}publicabstractDocumentdoCreateDocument;/*创立一个文档对象*/publicvoidopenDocument(StringdocName){/*翻开文档*/if( 〔3〕){System.out.println(“文档无法翻开 !“);return;}(4) adoc= 〔5〕 ;(6) ;(7) ;(8) ;}};(1)Document(2)aDocument(3)!canOpenDocument(docName)(4)Document(5)docreateDocument(6)adoc.open(docName)(1)Document(2)aDocument(3)!canOpenDocument(docName)(4)Document(5)docreateDocument(6)adoc.open(docName)(7)adoc.read(docName)(8)addDocument(adoc)2009设计题【说明】〔ATMSysteCardReader〔Customer〕的交互由客户掌握台〔CustomerConsole〕实现;银行操作员〔Operator〕可掌握系统的启动SystemStartup〕和停顿〔SystemShutdown;系统通过网络和银行系统〔Ban〕通信。当读卡器推断用户已将TM卡插入后,创立会话〔Session。会话开头后,读卡器进展读卡,并要求客户输入个人验证码〔PIN户可从菜单项选择择如下事务〔Transactio:从TM卡账户取款〔Withdra;向TM卡账户存款〔Deposit;进展转账〔Transfe;查询〔Inquire〕ATM卡账户信息。个人验证码错误,则转个人验证码错误处理InvalidPINProces事务或退卡。选择退卡时,系统弹出ATM卡,会话完毕。系统承受面对对象方法开发,使用UML进展建模。系统的顶层用例图如图3-1所示,一次会话的序列图〔不考虑验证〕如图3-23-1。名称说明名称说明cardInserted()名称说明名称说明cardInserted()ATM卡已插入performTransaction()执行事务performSession()执行会话readCard()读卡readPIN()读取个人验证码PIN个人验证码信息creat(atm,this,card,pin)为当前会话创立事务create(this)cardATM卡信息doAgainATM创立会话执行下一个事务ejectCard()ATM卡【问题1〔7分〕依据【说明】中的描述,给出图3-1中A1和A2U1至U3所对应的用例,以及该图中空〔1〕所对应的关系〔U1U3的可选用例包括:SessionTransactionInsertCard、InvalidPINProcess和Transfer〕【问题2〔6分〕依据【说明】中的描述,使用表3-13-26~9对应的消息。【问题3〔2分〕3-1U3Withdraw、Deposit等四个用例之间的关系及其内涵。图3-1 ATM系统顶层用例图图3-2 的序列图〔无验证消息〕答案:编码题〔15分〕阅读以下说明和Java代码,将应填入 〔n〕 处的字句写在答题纸的对应栏内。【说明】现欲实现一个图像扫瞄系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够Windows和LinuxBMP、JPEGGIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持的文件格式和操作系统。为满足上述需求并削减所需生成的子类数目,承受桥接〔Bridge〕设计模式进展设计所得类图如图7-1所示。图7-1 类图承受该设计模式的缘由在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。【Java代码】classMatrix{ //各种格式的文件最终都被转化为像素矩阵//此处代码省略};abstractclassImageImp{public abstractvoiddoPaint(Matrixm); //m};classWinImpextendsImageImp{publicvoiddoPaint(Matrixm){/*windows系统的绘制函数绘制像素矩阵*/}};classLinuxImpextendsImageImp{publicvoiddoPaint(Matrixm){/*Linux系统的绘制函数绘制像素矩阵*/}};abstractclassImage{publicvoidsetImp(ImageImpimp){};〔1〕 =imp;}publicabstractvoidparseFile(StringfileName);protected 〔2〕 imp;class BMPextendsImage{public voidparseFile(StringfileName){/ /BMP文件并获得一个像素矩阵对象m〔3〕 ;// 显示像素矩阵m}};class GIFextendsImage{//此处代码省略};class JPEGextendsImage{//此处代码省略};publicclassjavaMain{publicstaticvoidmain(String[]args){上查看demo.bmp图像文件Imageimage1= 〔4〕 ;ImageImpimageImp1= 〔5〕 ;〔6〕 ;image1.parseFile(“demo.bmp“);}}答案:2009图像文件和5种操作系统,不考虑类Matrix和类javaMain,假设承受桥接设计模式则至少需要设计 〔7答案:2009设计题〔共15分〕阅读以下说明和UML图,答复以下问题1至问题4,将解答填入答题纸的对应栏内。【说明】某企业为了便利员工用餐,为餐厅开发了一个订餐系统〔 COS:Cafeteria OrderingSys约规律的订餐,在特别状况下可以掩盖预订。及记录收费〔对于没有注册 是1.2.3.4.5.6.7.8.

顾客恳求查看菜单;顾客选菜;顾客确认订单;系统显示可送餐时间;顾客指定送餐时间、地点和支付方式;Email1923工。系统承受面对对象方法开发,使用UML进展建模。系统的顶层用例图和一次订餐的活动图初稿分别如图3-1和图3-2所示。【问 依据【说明】中的描述,给出图3-1中A1和A2所对应的参与者。〔2据【说明】中的描述,给出图3-1中缺少的四个用例及其所对应的参与者。问8据【说明】中的描述,给出图3-2中〔1〕~〔4〕处对应的活动名称或图形符号。题〔1分〕问4题〔1分〕图3-1 COS系统顶层用例图图3-2 一次订餐的活动图答案:编码题阅读以下说明和Java代码,将应填入〔n〕编码题【Java代码】importjava.util.ArrayList;importjava.util.List;〔1〕classAbstractFile{protectedStringname;publicvoidprintName{System.out.println(name);}publicabstractbooleanaddChild(AbstractFilefile);publicabstractbooleanremoveChild(AbstractFilefile);publicabstractList<AbstractFile>getChildren;}classFileextendsAbstractFile{publicFile(Stringname){=name;}publicbooleanaddChild(AbstractFilefile){returnfalse;}publicbooleanremoveChild(AbstractFilefile){returnfalse;}publicList<AbstractFile>getChildren{return 〔2〕;}}classFolderextendsAbstractFile{privateList<AbstractFile>childList;publicFolder(Stringname){=name;this.childList=newArrayList<AbstractFile>;}publicbooleanaddChild(AbstractFilefile){returnchildList.add(file);}publicbooleanremoveChild(AbstractFilefile){returnchildList.remove(file);}public 〔3〕 <AbstractFile>getChildren{return 〔4〕;}}publicclassClient{publicstaticvoidmain(String[]args){// 构造一个树形的文件/名目构造AbstractFilerootFolder=newFolder(“c:\\“);AbstractFilecompositeFolder=newFolder(“composite“);AbstractFilewindowsFolder=newFolder(“windows“);AbstractFilefile=newFile(“TestComposite.java“);rootFolder.addChild(compositeFolder);rootFolder.addChild(windowsFolder);compositeFolder.addChild(file);// 打印名目文件树printTree(rootFolder);}privatestaticvoidprintTree(AbstractFileifile){ifile.printName;List<AbstractFile>children=ifile.getChildren;if(children==null) return;for(AbstractFilefile:children){〔5〕;}}}该程序运行后输出结果为:答案:2010答案:2010设计题某运输公司打算为的售票机开发车票销售的掌握软件答案:答案:试题三1、A1:乘客 A2:技术人员〔1〕n:m 〔2〕1:n U1:支付金额2、C1:连续/取消接口 C2:插卡口C3:车票键盘 C4:目的地键盘〔3〕+2..*〔4〕+1..*〔5〕+1..*〔6〕1..*3、Mediator模式的意图是定义一个对象,该对象将对象集合之间的交互封装起来。利用式可以降低对象之间的耦合程序,避开了相关对象之间的显式引。中介者模式广泛应用于GUI应用程序的开发过程,特别是玩耍开发的时候,借助这个模式,可以不必直接治理组件之间的简单的交互。编码题编码题某软件公司欲开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论