A.面向对象
B.管道,过滤器
C.黑板
D.事件驱动
A.解释器
B.面向对象
C.黑板
D.隐式调用
试题四(共25分)
阅读以下关于数据库架构设计的叙述,回答问题1至问题3。
某软件公司欲开发一个社交网络系统,该系统能够接收多个不同种类客户端发送的信息,并将这些信息实时显示在每个客户端的页面上供客户阅读。该系统将为数以百万计的用户服务,因此,要求采用的数据库能够支持大量信息存储,能够满足并发读写要求,并要求随着数据规模的扩大,数据库系统要易于进行扩充。关于数据库架构的设计,王工和张工提出了两种模式:王工提出基于传统的关系型数据库模式,通过向上扩展(Scale-up)以满足数据库的可扩展性要求;李工提出利用新兴的NoSQL数据库模式,通过向外扩展(Scale-out)以满足数据库的可扩展性要求。项目组经过讨论,决定采用李工提出的设计方案。
【问题1】(11分)
请指出关系数据库模式和NoSQL模式在并发支持、存储与查询、扩展方式、索引方式和应用领域五个方面各自的特点,结果填入表4-1中(1)~(10);并针对应用需求,说明项目组选择李工提出的设计方案的原因。
【问题2】(8分)
与传统的关系型数据库相比,NoSQL数据库所支持的典型数据存储类型有哪些?
【问题3】(6分)
在实际应用中,NoSQL数据库存在的问题有哪些?
用户1:采用A、B、C、D、E和F模块
用户2:采用A、B、C、D、E、G和H模块
根据配置管理要求,以下做法正确的是(63) 。
(63)
A.在设计阶段用户1和用户2对应的相同模块的配置项可以合并为一个配置项
B.在设计阶段只需分别建立模块 F、G、H 的配置项,形成不同的基线
C.在设计阶段就要对两个用户所要求的所有模块分别建立配置项并形成基线
D.在后续开发阶段两个用户所要求的所有模块都要作为不同的分配置进行管理
阅读下列说明,从项目整体管理和配置管理的角度,回答问题1至问题3。
[说明]
老高承接了一个信息系统开发项目的项目管理工作。在进行了需求分析和设计后,项目人员分头进行开发工作,其间客户提出的一些变更要求也由各部分人员分别解决。各部分人员在进行自测的时候均报告正常,因此老高决定直接在客户现场进行集成。各部分人员分别提交了各自工作的最终版本进行集成,但是发现问题很多,针对系统各部分所表现出来的问题,开发人员又分别进行了修改,但是问题并未有明显减少,而且项目工作和产品版本越来越混乱。
请用200字以内的文字,分析出现这种情况的原因。
试题五(15分)
阅读以下说明,请回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
A信息系统集成公司有员工50多名,其中技术部开发人员有30多人。公司采用矩阵式的组织结构。公司的主营业务是开发企业信息化建设方面的项目,业务较为繁忙,一般有十多个项目在同时进行。由于技术人员有限,为保证各个项目的进展,人员在项目间的兼职与交叉很严重。一个技术开发人员在M项目上工作两天后,很可能转入Y项目工作,过了三天,又再回到M项目工作。项目的文档一般采用各自的命名方式进行管理,客户提出的修改也是各自负责,在技术开发人员的本地机上进行开发。当技术开发人员重新回到原项目时,他不得不花大量时间去熟悉原来的工作,找出原来的文档与程序等,还要了解项目组其他人的工作进展,向相关人员索求需要的开发成果。当一个项目进行到提交期限时,不得不花费大量的时间找出相匹配版本的相应成果,集成为符合客户要求的可交付的系统。
【问题1】 (4分)
针对本题案例中的情况,从软件配置管理的角度,分析出现这种情况的原因。
【问题2】 (6分)
请指出配置管理包括哪几方面的活动。
【问题3】(5分)
针对文档管理与软件配置管理的要求,在(1)~(5)中填写恰当内容(从候选答案中选择正确选项,将选项编号填入答题纸对应栏内)。
软件项目文档从项目周期角度可分为:开发文档、(1)、管理文档。
(1)候选答案:
A.非正式文档
B.产品文档
C.正式文档
D.设计文档
在软件开发流程中,把所有需要加以控制的配置项分为基线配置项和非基线配置项两类。基线配置项可能包括所有的(2)等。
(2)候选答案:
A.设计文档和源程序
B.各类计划
D.设计文档、源程序、各类计划
C.各类计划与被告
所有配置项的操作权限应由(3)严格管理;作为配置项的操作权限管理的基本原则,基线配置项向(4)开放读取的权限,非基线配置项向(5)开放。
(3)、(4)、(5)候选答案:
A.CMO(配置管理员)
B.PM(项目经理)
C.技术总监
D.软件开发人员
E.项目关系人
F.CCB及相关人员
G.PM、CCB及相关人员
阅读以下关于软件开发过程方面的叙述,回答问题1至问题3。
某公司要在现场开发一个网站应用系统,该系统的特点是规模不大;工期短;用户需求不明确;没有大的技术风险;系统中的一些模块可以外包给其他的公司开发,在选择开发过程时,项目组内产生了分歧。
王工提出采用XP(extreme programming,极限编程),理由是XP方法简洁,能减轻开发人员的负担、快速适应市场、缩短投资回收期。
李工认为采用XP在项目开发中存在一些问题,建议考虑原型开发方法。
双方就上述的问题展开了激烈的争论。项目组最后决定采用XP,但同时针对李工提出的XP中存在的问题采取了相应的措施。
小规模分布(small release)是XP的基本元素之一。试用200字以内文字分别说明:
(1)原型系统和XP小规模发布的系统的主要差别是什么?
(2)为什么该项目组没有采用原型开发方法?
阅读以下关于嵌入式实时操作系统软件的选型分析方面的叙述,回答问题1至问题3。
某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写的(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。
(1)该宇航嵌入式系统由数据处理机、信号处理机以及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如 FFT变换)后提交给数据处理机;数据处理机根据功能要求完成各种计算处理工作,并将结果输出。为了达到数据处理机和信号处理机的标准化,这两类处理机均采用同种处理机的体系结构(如PowerPC7410)。整个系统工作的最大周期为1s,最小周期为5ms。数据处理机上任务分布如下表所示。
(2)一周后,王工和李工提交了各自的实施方案,其共同之处在于两者均提出采用操作系统及相应的软件开发环境。但是,王工和李工在选择什么样的操作系统及开发环境方面出现了较大的分歧。王工的实施方案提出,为了满足本项目的技术要求,并有利于本所软件的长期发展,应选用具有硬实时处理能力的嵌入式实时操作系统及开发环境 (例如VxWorks等):而李工的实施方案指出,操作系统主要完成对计算机资源的管理与分配工作,考虑到人们对操作系统及软件开发工具的熟悉程度,本项目应选用具有大众化的、软件开发人员容易上手的嵌入式操作系统(例如WindowsCE、Linux等)。
(3)在两人争执不下的情况下,项目主管工程师组织了相关专家对王工和李工提交的实施方案进行了评审。最后,专家组一致认为王工的方案切实可行,操作系统的选型论证充分、客观,可以作为本所未来几年中相关项目的软件开发的基本环境。同时专家组还就具体实施选择嵌入式实时操作系统及开发环境产品时应着重考虑的相关问题提出了几点建议。
为什么专家组一致认为王工的实施方案切实可行?请用200字以内文字简要说明。
【问题1】(6分) 设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200字以内文字说明三者的作用。 【问题2】(9分) 请将项目组已经掌握的设计模式按照其作用分别归类到创建型、结构型和行为型模式中。 【问题3】(10分) 针对题目中所提出的设计要求(1)和(2),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。
概要叙述你参与分析和开发的关于中间件方面的软件项目以及你所担任的主要工作。