还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
年下半年软件设计师考试下午真题(参考答2018案)•阅读下列说明和图,回答问题至问题将解答填入答题纸的对应栏内14,【说明】某房产中介连锁企业欲开发一个基于的房屋中介信息系统,以有效管理房源和客户,提高成Web交率该系统的主要功能是.房源采集与管理系统自动采集外部网站的潜在房源信息,保存为潜在房源由经纪人联系确1认的潜在房源变为房源,并添加出售/出租房源的客户由经纪人或客户登记的出售/出租房源,系统将其保存为房源房源信息包括基本情况、配套设施、交易类型、委托方式、业主等经纪人可以对房源进行更新等管理操作.客户管理求租/求购客户进行注册、更新,推送客户需求给经纪人,或由经纪人对求租/求购2客户进行登记、更新客户信息包括身份证号、姓名、手机号、需求情况、委托方式等房源推3荐根据客户的需求情况(求购/求租需求情况以及出售/出租房源信息),向已登录的客户推荐房源.交易管理经纪人对租售客户双方进行交易信息管理,包括订单提交和取消,设置收取中介费4比例财务人员收取中介费之后,表示该订单已完成,系统更新订单状态和房源状态,向客户和经纪人发送交易反馈.信息查询客户根据自身兖询需求兖询房屋供需信息5现采用结构化方法对房屋中介信息系统进行分析与设计,获得如图所示的上下文数据流图和图1-1所示的层数据流图1-20程数进行调整描述会员等级调整的状态图如图6-1所示现采用状态(State)模式实现上述场景,得到如图所示的类图6-2JavafW]importjava.util.*;abstractclassCStace{〃堆程数publicintflyMiles;public⑴;//根据累枳里.程数调整会员等级}//非会员classCNoCustomcrcxicndsCStatc{publicdoubletravdintmiles.FrcqucnlFlycrcontext{Systcm.out.pnntlnMYourtravelwillnotaccountfbr图会员等微调都状态图图2状出模式类图〃不points;returnmiles;累枳里程数}JclassCBasicextendsCSiate〃杆卡会公publicdoubletravelintmiles.FrequentFlyercontext{i{context.flyMiles*25000contcxt.flyMilcs500002;iftcontext.flyMiles=500003returnmiles;〃金卡会员classCGoldextendsCStttc publicdoubletravxMintmiles.FrequcnlFlycrcontext{iHcontext.flyMilesx25000,context.IlyMilcs500004;iRcontcxt.flyMilcs25000⑸____________;//累枳里/数returnmiles♦
0.5*milcs;〃做长会员classCSilverextendsCSutc publicdoubletraveKmtmiles,FrcquentFlycrcontext{iRcontcxi.flyMiles■25000context.setSutenewCBasic;ifcontext.IlyMiles•50000context.sctStiteCncwCGold;//窜枳强数returnmiles-►O.25*milcs;IVclassFrequcntFlycr{CStotcstale.doubleflyMilcs;publicFrequentFlyerOMate・newCNoCustomcrt;HyMilcs-O;sctSutcsUte;publicvoidsctSuitdCSutesutethis.sutcsuic;|publicvoidtnvekinlmilesdoublebonusMilcs-sutc.traveKmiles,this;flyMilcsflyMiles♦bonusMilcs;【问题1](4分)使用说明中的词语,给出图中的实体的名称1-1E1-E4【问题2】(4分)使用说明中的词语,给出图中的数据存储的名称1-2DI-D4【问题3](3分)根据说明和图中术语,补充图中缺失的数据流及其起点和终点1-2【问题4](4分)根据说明中术语,给出图中数据流客户信息“、“房源信息”的组成1-1•阅读下列说明,回答问题至问题将解答填入答题纸的对应栏内14,【说明】某集团公司拥有多个分公司,为了方便集团公司对分公司各项业务活动进行有效管理,集团公司决定构建一个信息系统以满足公司的业务管理需求【需求分析】.分公司关系需要记录的信息包括分公司编号、名称、经理、联系地址和电话分公司编号唯一标I识分公司信息中的每一个元组每个分公司只有一名经理,负责该分公司的管理工作每个分公司设立仅为本分公司服务的多个业务部门,如研发部、财务部、采购部、销售部等部门关系需要
2.记录的信息包括部门号、部门名称、主管号、电话和分公司编号部门号唯一标识部门信息中的每一个元组每个部门只有一名主管,负责部门的管理工作每个部门有多名员工,每名员工只能隶属于一个部门.员工关系需要记录的信息包括员工号、姓名、隶属部门、岗位、电话和基本工资其中,员工号3唯一标识员工信息中的每一个元组.岗位包括:经理、主管、研发员、业务员等【概念模型设计】根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图所示2-1图2-1实体联系图【关系模式设计】分公司(分公司编号,名称,(a),联系地址,电话)部门(部门号,部门名称,(b),电话)员工(员工号,姓名(c),电话,基本工资)【问题1](4分)根据问题描述,补充个联系,完善图的实体联系图联系名可用联系、联系、42-112联系和联系代替,联系的类型为、和(或、和341:1l:n m:n1:11:*【问题2】(5分)根据题意,将关系模式中的空(a)-(c)补充完整【问题3】(4分)给出“部门“和“员工”关系模式的主键和外键【问题4】(2分)假设集团公司要求系统能记录部门历任主管的任职时间和任职年限,那么是否需要在数据库设计时增设一个实体为什么?•阅读下列说明,回答问题至问题将解答填入答题纸的对应栏内I3,【说明】社交网络平台(SNS)的主要功能之一是建立在线群组,群组中的成员之间可以互相分享或挖掘兴趣和活动每个群组包含标题、管理员以及成员列表等信息社交网络平台的用户可以自行选择加入某个群组每个群组拥有一个主页,群组内的所有成员都可以查看主页上的内容如果在群组的主页上发布或更新了信息,群组中的成员会自动接收到发布或更新后的信息用户可以加入一个群组也可以退出这个群组用户退出群组后,不会再接收到该群组发布或更新的任何信息现采用面向对象方法对上述需求进行分析与设计,得到如表所示的类列表和如图所示的类3-13-1图及3-1类列图34类图【问题1】(6分)根据说明中的描述,给出图中所对应的类名3-1QC3【问题2](6分)图中采用了哪一种设计模式说明该模式的意图及其适用场合3-1【问题3](3分)现在对上述社交网络平台提出了新的需求:一个群体可以作为另外一个群体中的成员,例如群体加入群体那么,群体中的所有成员就自动成为群体中的成员A BA B若要实现这个新需求,需要对图进行哪些修改?(以文字方式描述)3-1•阅读下列说明和代码,答问题至问题将解答写在答题纸的对应栏内C I13,【说明】给定一个字符序列箕中瓦上的二级结构是一纲字符对集B=Ebr..b»,E14C,GU.B合S-{K恸,其中ijw{12…E},并满足以下四个条件中的每对字符是和四肿组合之一;1S A.UMU.AMCG GC2S中的每对字符之间至少力.四个字符将箕隔开,即ij-4中每一个字符记为,的配对存在两种情况区不参与任何配对氏和字符配对,3S b.其中《不交叉原则若和是中的两个字符对,且〈则不成立.4b“b SB S ik,的具有最大可能字符对数的二级结构被称为最优配对方案.求解最优配对方案中的字BS符对数的方法如F假设用表示字符序列用的城优配对方案即二级结构中的字符对数,则CiJ b,b,•…S CiJ可以递归定义为,HUX CtJ-l.3ca—1♦1♦Ct♦1J-1部t/Ob的重且t/-4c卜面代码是算法的语艺实现,其中Cn字符序列长度B[字符序列C]Jtt优配对数盘数纲【代码】C#includestdk.hincludestdlib.hMcfincLEN100/•判断两个字符是否配对•/叱intisMatchchar charb{iRa—*A*b-V||a-Vb-,A*returnI;iRa-Vb-V||a-G,b—VreturnI;return0;/•求大配对数•/♦intRNA2charB[LEN],intn{inti.j.k.Uintmax;intQLEN]LEN]-{0|;fork-5;k-n-1;ki{fbri-l;i»n-k;4{fort,
2.;t-j-4;t1{if________£1_______maxC[il[t•I]♦I♦C[t♦I田・1Dmax,・I]♦I+C[t♦l]jT;Ci[j]*max;printfCc%dJ%dl-%d--JJ,CiUD;return4;【问题】分18根据题干说明,填充代码中的空C1-4o【问题】分24根据题干说明和代码,算法采用的设计策略为C5算法的时间复杂度为用表示6,0【问题】分〉33给定字符序列根据上述算法求得最大字符对数为ACCGGUAGU,7•阅读下列说明和代码,将应填入处的字句写在答题纸的对应栏内C++n【说明】某航空公司的会员积分系统将其会员划分为:普、银和金三个等级非会员kBasic kSilverPGold可以申请成为普卡会员会员的等级根据其一年内累积的里程数进行调整描述会员等NonMember级调整的状态图如图所示现采用状态模式实现上述场景,得到如图所示的类图5-1State5-2【】CMWincludeiostreamusingnamespacestd;提附引用classFrequcntFlyer;classCBasic;classCSilvenclassCGold;classCNoCustomcr;//classCStatc{//里程数private:intflyMilcs;public:_________02_____________;//根据累枳里程数调整会员等级;classFrequentFlyer{friendclassCBasic;friendclassCSilvcnfnendclassCGold;private:CStatc.stale;CStatc•nocustomcr;CStatc•basic;CStatc•silver;CStatc•gold;doubleflyMiles;public:FrequcntFlyerflyMiles-0;setStotcnocustomer;}voidsetStateCStatc♦statethis-statc»state;}voidtravdintmiles{doublebonusMilcs■statc-travclmiles,this;flyMiles=flyMiles+bonusMilcs;〃升会员classCNoCustomcr:publicCState{public://不累枳里程数doubletravclintmiles,FrequeniFlycr*contextcout«*Yourtravelwillnotaccountforpomts\nM;returnmiles;}};〃普会员classCBasic:publicCState]Kpublic:doubletravclintmiles.FrequenlFlyer*context{iHcontcxl-flyMilcs•25000contcxt-flyMiles500002___________;iHcontext-flyMiles250002;//索枳里程数returnmiles
0.5*miles;}};//金会员classCGold:publicCSutc{Kpublic:doubletravclintmiles,FrcqucntFlycr*context{iftcontcxt-flyMiles=25000context*flyMiles50000⑷ifcontext-flyMiles25000;//累枳里程数returnmiles+
0.5*miles;};//例会员classCSilver:publicCSutc{Kpublic:doubletravdintmiles,FrequcntFlycr*context{if|contcxt-flyMiles25000contcxt-sctStatecontcxt-bas!C;iRcontext-flyMiles=50000context-setStatecontcxt-goid;returnmiles♦O.25*milcs;•阅读下列说明和代码,将应填入处的字句写在答题纸的对应栏内Java n【说明】某航空公司的会员积分系统将其会员划分为:普卡、银卡和金卡Basic SilverGold三个等级非会员可以申请成为普卡会员会员的等级根据其一年内累积的里NonMember。