01. 软件需求就是系统必须完成的事及必须具备的品质。需求是多层次的,其中()是指反映企业或客户对系统高层次的目标要求,通常来自项目投资人,购买产品的客户,客户单位的管理人员,市场营销部门或产品策划部门。()的获取通常采取访谈和问卷调查等方式进行。()包括功能需求,非功能需求和设计约束等。
A.基本需求
B.业务需求
C.用户需求
D.系统需求
解答:B|C|D。所有的需求中,业务需求是层级最高的需求。
业务需求 | 反映企业或客户对系统高层次的目标要求,通常来自项目投资人,购买产品的客户,客户单位的管理人员,市场营销部门或产品策划部门等。 |
系统需求 | 从系统的角度来说明软件的需求,包括功能需求,非功能需求和设计约束等。 |
用户需求 | 描述的是用户的具体目标。或用户要求系统必须能完成的任务。也就是说用户需求描述了用户能使用系统来做些什么,通常采用用户访谈和问卷调查的方式,对系统使用的场景进行整理,从而建立用户需求。 |
02.UML用系统视图描述系统的组织结构。其中()对系统的物理代码的文件和构件进行建模。
A.构件视图
B.物理视图
C.实现视图
D.部署视图
解答:答案选C。考查了4+1视图。进程视图可以用活动图来表现。
03.UML通过5个视图来定义系统架构,()表示了设计模型中在架构方面具有重要意义的类,子系统,包和用例实现的子集。
A.逻辑视图
B.用例视图
C.进程视图
D.部署视图
解答:答案选择A。
用例视图 | 最终用户 | 最基本的需求分析模型 |
逻辑视图 | 系统分析设计人员 | 也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类,子系统,包和用例实现的子集 |
进程视图 | 系统集成人员 | 可执行线程和进程作为活动类的建模。它是逻辑视图的一次执行实例,描述了并发与同步结构 |
实现视图 | 程序员 | 对组成基于系统的物理结构的文件或构件进行建模 |
部署视图 | 系统和网络工程师 | 把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构 |
04.UML用关系把事物结合在一起,其所包含的四种关系中,()描述一组对象之间连接的结构关系;()描述特殊元素的对象可以替换一般元素的对象。
A.依赖关系
B.关联关系
C.泛化关系
D.实现关系
解答:B|C。
依赖关系 | dependency | 两个数之间的语义关系。其中一个事物发生变化会影响另一个事物的语义 |
关联关系 | association | 一组对象之间连接的结构关系 |
泛化关系 | generalization | 是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。 |
实现关系 | realization | 实现类之间的语义关系,其中的一个类指定了另一个类保证执行的契约 |
05.面向对象的任务不包含()
A.建模系统功能
B.发现并确定业务对象
C.建模各个对象状态
D.组织对象并确定对象间关系
解答:C。粗略的在分析阶段,细致的在设计阶段。建模各对象的状态更加的细节,所以选C。
06.面向对象分析中,构建用例模型一般分为四个阶段,其中除了()阶段之外,其他阶段是必须的。
A.识别参与者
B.合并需求获得用例
C.细化用例描述
D.调整用例模型
解答:答案选择D。调整用例模型包括调整扩展关系,包含关系,泛化关系等。该阶段不一定是必须的。细化用例描述包括用例名称,简要说明,事件流,非功能需求,前置后置条件,扩展集等。 除了用例模型外还有分析模型。分析模型包括了定义概念类,识别类之间的关系,为类添加职责,建立交互图。
07.软件需求分析所要做的工作是()因此进行需求分析时()。
A.确定软件开发阶段的适用工具
B.清晰描述软件的功能和性能
C.为原始问题及目标软件建立物理模型
D.不仅解决目标系统做什么,还要解决目标系统怎么做的问题
A.应充分发挥分析人员的想象力
B. 应充分发挥分析人员和用户的想象力
C.应注意一切信息与需求都是站在开发方的角度上考虑
D.应注意一切信息与需求都是站在应用的角度上考虑
解答:B|D。物理模型是分析阶段的产出物。
08.下列活动,()不属于需求开发活动的范畴。
A.根据系统需求识别和确认系统功能
B.将所收集的用户需求编写成文档和模型
C.针对系统特点,考虑并确定系统开发平台与程序设计语言
D.了解实际用户任务和目标以及这些任务所支持的业务需求
解答:答案选择C。需求是解决做什么的问题,而C太细节了。
09.软件需求开发是指从情况收集,分析和评价到编写文档,评审等一系列产生需求的活动,分为获取情况,分析,()和评审四个阶段。
A.制定规格说明
B.形成需求基线
C.跟踪需求变更
D.控制需求版本
解答:答案是A。其实是想说制定需求规格说明书。经过评审以后才形成基线,这里要搞清楚这个。需求开发和需求管理是怎么连接起来的?是通过评审后形成的基线将两者联系在了一起。
10.软件需求管理是软件项目开发过程中控制和维持需求约定的活动,包括()版本控制,需求跟踪,需求状态跟踪等活动。
A.需求发现
B.需求变更控制
C.需求排序
D.需求评估
解答:答案选择B。需求管理包括变更控制,版本控制,需求跟踪,需求状态跟踪。需求管理很好地支持了需求开发工作; 需求开发也包括四个部分:需求获取,需求分析,需求定义(需求规格说明书),需求验证。需求开发形成需求基线,通过需求基线实现对需求的管理。
软件需求是指用户对系统在功能,行为,性能,设计约束等方面的期望。
软件需求是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同,标准,规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。
11.以下关于需求获取的叙述中,正确的是()。
A.问卷调查可以在短时间内,以低廉的价格从大量的回答中收集数据。
B.用户访谈是最为灵活,成本最低的一种需求获取方法
C.抽样能够提高需求获取的效率,且不会受到系统分析师的主观因素影响
D.用户访谈的成功与否与系统分析师的人际沟通能力无关。
解答:答案选择A。抽样是由系统分析师主观因素在里面的。
12.某在线平台的支付功能需求描述如下:客户进行支付时,可以使用信用卡支付或者支付宝支付,从中抽象出三个用例:支付,支付宝支付,行用卡支付。这三个用例之间的关系是:
解答:答案是A。应该用空心箭头。其他几个错的更加离谱了,所以选A。
13.面向对象动态分析模型系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。其中交互模型包括(),其他行为模型还有()。
A.顺序图和协作图
B.顺序图和状态图
C.协作图和活动图
D.状态图和活动图
A.顺序图和协作图
B.顺序图和状态图
C.协作图和活动图
D.状态图和活动图
解答:A|D。顺序图,协作图,定时图是三大交互图。协作图都是UML1.0的叫法,现在UML2.0都称作通信图。
14.需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学,准备充分,对获取出来的结果影响很大。在多种需求获取方式中,()方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大,记录较为困难,需要足够的领域知识等问题。()方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集的偏差。()方法通过高度组织的群体会议,来分析企业内的问题,并从中获取系统需求。
A.用户访谈
B.问卷调查
C.联合需求计划
D.采样
解答:A|D|C。每一次访谈和用户沟通的信息量都是比较大的。如果没有领域知识,连怎么问都不知道。看到采样抽样这些关键字后,一般就要和数理统计联系在一起。
用户访谈 | 1对1-3,有代表性的用户 |
问卷调查 | 用户多,无法一一访谈 |
现场观摩 | 针对较为复杂的流程和操作 |
联合需求计划JRP | 高度组织的群体会议,各方参与,成本较高 |
情节串联板 | 一系列图片,通过这些图片来讲故事 |
收集资料 | 把与系统相关的,对系统开发有益的信息收集起来 |
参加业务实践 | 有效地发现问题的本质和寻找解决问题的办法 |
阅读历史文档 | 对收集数据性的信息较为有用 |
抽样调查 | 降低成本。样本大小=α(可信度系数/可接受的错误)² α一般取0.25 |
01.以下关于面向对象的设计中,错误的是()。
A.类的属性用于封装数据,类的方法用于封装行为。
B. 面向对象的基本思想包括抽象,封装封装和可扩展性。
C.对象继承和多态可用来实现可扩展性
D.对象持久化是指将数据库中的数据加载到内存中供应用程序访问。
解答:答案选择D。
02.采用面向对象技术设计银行管理系统。账户类应设计为(),账户管理类应设计为()
A.控制类
B.边界类
C.接口类
D.实体类
解答:D|A。账户管理员类是实体类。面向对象分析类可以分为边界类,控制类和实体类。
边界类 | 是一种用于对系统外部环境与内部运作之间交互进行建模的类。 |
控制类 | 用于对一个或多个用例所特有的控制行为进行建模,描述用例业务逻辑的实现。 |
实体类 | 用于对必须存储的信息和相关行为建模的类,用于保存和更新一些现象的有关信息 |
03.雇员类含有计算报酬的行为,利用面向对象的(),可以使得其派生类专职雇员类和兼职雇员类计算报酬的行为有相同的名称,但又不同的计算方法。
A.多态性
B.继承性
C.封装性
D.复用性
解答:答案选择A。
04.面向对象设计是模型驱动和用例驱动的,整个设计过程将()作为输入,并生成()作为输出。
A.逻辑数据流图
B.设计文档和用户说明
C.需求类图
D.需求模型
A.物理数据流图
B.设计文档和用户说明
C.设计类图和系统顺序图
D.设计模型
解答:D|D。设计类图和系统时序图过于单一了。它的完善性是不够的。需求模型进一步可以分为用例模型和分析模型。
05.以下关于软件系统模块结构设计的叙述中,正确的是()
A.当模块扇出过大时,应把下级模块进一步分解为若干个子模块。
B.当模块扇出过小时,应适当增加中间的控制模块。
C.模块的扇入大,表示模块的复杂度较高
D.模块的扇入大,表示模块的复用程度高
解答:D。在结构化的年代希望扇入比较大扇出比较小,扇入大说明有很多上层模块来调用。
07.以下关于依赖倒置的原则的叙述,正确的是()。
A.要针对实现编程,而不是针对接口编程
B.在程序中尽量使用具体类进行编程,而少使用抽象类层。
C.在程序代码中传递参数时或子组合关系中,尽量引用层次高的抽象层次
D.软件实体应对扩展开放而对修改关闭。
解答:C。就是依赖倒置原则的一个应用。D不是依赖倒置原则,而是开闭原则。中介者模式与代理模式,中介者是在多个类的中间,传递信息。针对实现的编程是紧耦合,针对接口编程就不存在紧耦合的问题了,这就是依赖倒置的原则。家用PC机就是面向接口的,而电视机电路板都焊接在一起,无法单独替换,他就是面向实现的编程。
08.某公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询的关键字,如果当前的查询环境下没有相关的内容,则系统会将查询按一定的顺序转发给其他的查询环境,基于上述需求,采用()最合适。
A.责任链模式
B.桥接模式
C.装饰模式
D.适配者模式
解答:答案选择A。
09.某软件公司基于面向对象技术开发了一套图形界面构建库,在使用该库构建某图形界面时,用户要求为界面定制一些特效显示效果,如带滚动条,能够显示艺术字体的透明窗体等。针对这种需求,公司采用()最为灵活。
A.桥接模式
B.命令模式
C.组合模式
D.装饰模式
解答:答案选择D。
10.关于设计模式,下列说法正确的是()
A.原型模式和模版方法属于创建型模式。
B.组合模式和代理模式属于结构型模式。
C.桥接模式和状态模式属于行为型模式。
D.外观模式和中介模式属于创建型模式。
解答:答案选择B。状态模式是行为模式,桥接模式属于结构模式。
11.界面是系统与用户交互的最直接的层面。某博士提出了著名的人机交互“黄金三原则”,包括保持界面一致,减轻用户记忆负担和()。
A.遵循用户认知理解
B.降低用户培训成本
C.置于用户控制之下
D.注意资源协调方式
解答:C。
12.某网站系统在用户登录时使用数字效验码,为了增强安全性,现在要求在登陆效验码中增加字母或图片,如果直接修改原有的生成登陆效验码的程序代码,则违反了面向对象设计中的()。
A.开闭原则
B.里式交换原则
C.最少知识原则
D.组合复用原则
解答:答案选择A。
13.下面关于观察者模式描述不正确的是()
A.观察者模式实现了表示层与数据层的分离。
B.观察者模式定义了稳定的更新消息传递机制。
C.在观察者模式中,相同的数据层不可以有不同的表示层。
D.观察者模式定义了对象之间的一种一对多的依赖关系
解答:答案选择C。一个东西变了会通知多个地方它已经变了,这就是观察者模式的思想。
01. 软件风险是指再软件开发过程中面临的一些不确定性和可能造成的损失。软件风险大致可以分为三类:项目风险,技术风险和商业风险。下列叙述中()属于商业风险。
A. 软件的开发实践可能会超出预期时间
B. 采用的开发技术过于先进,技术本身尚不确定
C. 软件开发过程中需求一致未能稳定下来
D. 软件开发过程没有得到预算或人员上的保证。
解答:答案选择D。在选项D中,作为系统分析师我们无法保证人员的情况,所以不是项目风险。商业风险不是项目经理能够管控的风险。
项目风险 | 项目复杂性,规模和结构的不确定性 | |
潜在的预算,进度,人员和组织,资源用户和需求问题 | ||
技术风险 | 潜在的设计,实现,接口,测试和维护方面的问题 | |
规格说明的多义性,技术上的不确定性,技术陈旧或最新技术(不成熟) | ||
商业风险 | 市场风险 | 系统虽然优秀,但不是市场真正所想要的 |
策略风险 | 系统不再符合企业的信息系统战略 | |
销售风险 | 开发了销售部门不知道如何推销的系统 | |
管理风险 | 由于重点转移或人员变动而失去上级支持 | |
预算风险 | 开发过程没有得到预算或人员的保证 |
02.软件项目中,技术风险威胁到要开发软件的质量及交付时间,而()不属于技术风险。
A.采用先进技术开发目前尚无用户真正需要的产品或系统
B.软件需要使用新的或未经证实的硬件接口。
C.产品的需求中要求开发某些程序构件,这些构件与以前所开发过的构件完全不同。
D.需求中要求使用新的分析,设计或测试方法。
解答:答案选择A。是商业风险中的市场风险。系统虽然优秀,但不是用户真正需要的。
03.正式技术评审FTR是一种由软件工程师进行的软件质量保证活动。下面活动不属于FTR范畴的是()。
A.在软件的任何一种表现形式中发现功能,逻辑或实现的错误。
B.明确声明软件的功能和性能需求,明确文档化的开发标准。
C.证实经过复审的软件确实满足需求
D.保证软件的表示符合预定义标准
答案选择B。 在软件的任何一种表示形式中发现功能,逻辑或实现的错误。 证实经过复审的软件的确满足需求 保证软件的表示符合预定义的标准 使项目更易于管理 得到以一种一致的方式开发的软件
04.软件配置管理SCM是一组用于在计算机软件()管理变化的活动。
A.交付使用后
B.开发过程中
C.整个生命周期内
D.测试过程中
解答:答案选择C。
05.某软件公司分为研发,人力资源管理,市场营销等部门,通过部门之间互相协作完成项目。该公司的组织结构属于()。
A.矩阵型组织结构
B.职能型组织结构
C.产品型组织结构
D.协作型组织结构
解答:答案选择B。
06.软件配置管理的活动主要有编制配置管理计划,配置标识,(),配置状态报告,配置评价,发行管理和交付。
A.配置控制
B.配置实现
C.配置测试
D.配置跟踪
解答:答案选择A。
07.PERT图是进度安排的常用图形描述方法之一,它能够(),在PERT图上面通过()分析可以计算完成整个项目的最短工期。
A.描述每个任务的进展情况以及各个任务之间的并行性。
B.反映各个任务之间的依赖关系
C.以日历为基准描述项目任务
D.用条形表示每个任务的持续时间A.松弛时间
B.依赖关系
C.关键路径
D.并行关系
解答:B|C。PERT图是在单代号网络图的基础上加了最早最晚开始时间等信息的图。在项目管理中还涉及到最早最晚时间的概率分布的信息。
08.()把软件项目整体或者主要的可交付成果分解为易于管理,方便控制的若干子项目,再将子项目继续分解为工作包的过程。在每个分解单元中,都存在可交付成果和里程碑,该模型的主要用途是()。
A.分层数据流图
B.软件模块图
C.工作分解结构
D.PERT图A.描述软件项目的功能需求
B.定义项目边界,有助于防止范围蔓延
C.对软件的静态结构进行建模
D.刻画软件开发活动之间的依赖关系
解答:答案选择C|B。
09.项目管理中使用的甘特图()。
A.使管理者明确一个作业的延迟对另一个作业的影响
B.清晰的表明了各个作业之间的衔接关系
C.清晰的定义了关键路径
D.可以随时将实际进度与计划进度相互比较
解答:D。
11.某工程有七个作业A~G,按计划,完成各作业所需的时间以及作业之间的衔接关系见下表:
作业名 A B C D E F G 所需时间(周) 5 6 5 10 8 3 4 紧后作业 CD CDE F G G - - 按照上述计划,该工程的总工期预计为()周。
在工程实施了10周后,经理对进度进行了检查,结果是作业A和B已经完成,作业D完成了30%,作业E完成了25%,其他作业都还没有开始。
如果随后安全按原计划实施,则总工期将()完成。
A.20
B.25
C.33
D.41
A.提前1周
B.推迟1周
C.推迟2周
D.推迟3周
解答:答案选择A|B。首先根据题目应该先求出关键路径:BDG。而在关键路径上B已经全部完成,D还有70%没有完成,按照计划还需要7周,G没有开始需要4周,加上已经完工了10周,总共需要21周。关键路径是20周,那么就推迟一周。
阅读下说明,回答问题1-4,将解答填入答题纸的对应栏内。
【说明】
某项目细分为A,B,C,D,E,F,G,H共八个模块,而且各模块之间的依赖关系和持续时间如下表所示。
活动代码 紧前活动 活动持续时间(天) A - 5 B A 3 C A 6 D A 4 E B,C 8 F C,D 5 G D 6 H E,F,G 9 【问题1】
计算该活动的关键路径和项目的总工数。
【问题2】
1)计算活动B,C,D的总时差
2)计算活动B,C,D的自由时差
3)计算活动D,G的最迟开始时间
【问题3】
如果活动G尽早开始,但工期延迟了5天,则该项目的工期会拖延多少天?请说出理由。
总时差 | 在不延误总工期的前提下,该活动的机动时间 |
自由时差 | 在不影响紧后活动的最早开始时间的前提下,该活动的机动时间 |
解答:
【问题1】
关键路径:ACEH=5+6+8+9=28天(项目总工数)
【问题2】
因为C在关键路径上,所以C 的总时差和自由时差都为0天
B的总时差和自由时差一样都是3天。
D的总时差为4天,自由时差为2天。
D的最迟开始时间为第9天。G的最迟开始时间为第13天。
【问题3】
如果G延期了5天,那么G=6+5=11天,那么关键路径也发生了变化。
关键路径变为了ADGH=5+4+11+9=29天。该项目将比原先延迟一天完成。因为D 的总时差为4天,而延迟到了5天,那么关键路径就发生变化了。