软件工程概述
-
【判断题】软件工程的中心课题是控制复杂性,控制复杂性常用的方法是将问题分解。问题分解的越细致、粒度越小,整个问题求解的复杂度就越低。
【正确答案】错
控制复杂性的常用方法是将问题分解,但是随着问题分解的越小,每个小问题单独解决的复杂度越低,但是小问题之间互相连接所需要的成本和复杂度会逐渐增加,所以总的问题求解复杂度并不会越来越低。所以我们要努力找到那个最佳的分解粒度。 -
【多选题】下面关于软件危机的描述中,正确的是()。
A.自从软件诞生之日,软件危机就存在,只是早期表现的并不明显。
B.产生软件危机的主要原因一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
C.软件危机常表现为软件不能按时交工,交付后的软件产品质量低下,产品难以维护。
D.软件危机主要关注于如何开发软件以满足对软件日益增长的需求。
【正确答案】ABC
D不正确,因为还有与维护相关的问题。 -
【单选题】下面属于软件工程方法学中的方法的是()
A.对于需求确定性软件问题,可以按照问题定义、需求分析、设计、实现、测试和部署的步骤进行顺序的软件产品开发。
B.在软件设计和开发过程中,可以使用Rational Rose创建和管理可视化模型。
C.为了有效捕获系统的功能性需求,可以采用use case(用例)的方法。
D.对于跨平台的软件产品,可以采用Java语言进行开发。
【正确答案】C
C是方法,A是过程,B是工具,D是具体的开发语言,不属于三元素。 -
【单选题】在以下关于软件生命周期的描述中,不正确的是()。
A.在可行性阶段主要判断客户提出的问题是否存在可行的软件求解方案,如果没有则马上终止该项目。
B.需求分析阶段主要解决的问题是将如何实现客户提出的需求。
C.在编码之前要先进行软件设计,这是形成软件质量的地方。
D.编码后要对产品进行一系列测试,以确定软件达到了预定的要求。
【正确答案】B
需求阶段的主要任务是确定客户的需求。 -
【单选题】下面的( )是软件构造活动的任务。
A.构建软件组件
B.设计用户界面
C.实施组件的单元测试
D.评估组件的质量
E.选项A和C
F.选项A、B、C和D
【正确答案】E
软件构造阶段主要进行代码的实现和单元测试。 -
【判断题】使用快速原型模型收集了客户的真实需求之后,可以在这个原型基础上快速扩充得到最终的软件系统。
【正确答案】错
快速原型只是为了获取用户需求,没考虑软件的质量特性,所以不建议从原型基础上扩充得到最终的系统。 -
【多选题】下面关于RUP生命周期的描述中,正确的是()
A.RUP每个生命周期包含四个连续的阶段:先启、精化、构建、移交;每个阶段结束于一个主要的里程碑;在每个阶段的结尾执行一次评估以确定该阶段的目标是否已经实现,如果结果令人满意,项目就可以进入下一个阶段。
B.每个阶段又进一步细分为一次或多次迭代过程,每次迭代过程可能经历全部九个核心工作流程
C.每次迭代过程要处理一组用例,并且要解决当前阶段最突出的风险问题
D.每次迭代会生成一个产品的可执行版本,与前面迭代产品相比功能上要有所增强,或者性能上有所完善
【正确答案】ABCD -
【多选题】下面关于微软过程的描述中,正确的是()
A.微软过程的每个生命周期发布一个递进的软件版本,各生命周期持续、快速地循环。
B.每个生命周期分为五个阶段:构想、计划、开发、稳定和发布阶段。
C.微软过程可看作是RUP的一个精简版本,即每个阶段精简为一次迭代完成。
D.微软过程相比于敏捷过程相当于后者的一个扩充版本,扩充了其每个生命周期内的各阶段的具体运作流程。
【正确答案】ABCD
需求分析
- 【单选题】各种需求方法都有它们共同适用的( )。
A.准则
B.基本原则
C.说明方法
D.描述方式
【正确答案】B
虽然各种分析方法都有独特的描述方法,但所有的分析方法还是有它们共同适用的基本原则。 - 【单选题】软件需求分析的任务不应包括( )。
A.确定逻辑模型
B.结构化程序设计
C.问题分析
D.信息域分析
【正确答案】B
软件需求分析的任务是通过与用户的合作,了解用户对待开发系统的要求;根据对用户要求的系统所在的信息域的调查、分析,确定系统的逻辑模型;并对求解的问题做适当的分解,使之适合于计算机求解。需求分析的结果是软件需求规格说明书。
结构化程序设计是在详细设计和编码阶段所采用的技术,而不是需求分析阶段要采用的技术。 - 【多选题】利用简易的应用规格说明技术获取需求的好处是()
A、 使得用户和开发人员不分彼此,能像一个团队一样齐心协力识别和精化需求
B、 能够获得较大范围和数量的用户对于目标软件产品的需求
C、 能够在需求会议上即时讨论并求精
D、 有能导出规格说明的具体步骤
【正确答案】 ACD
使用调查问卷的方式可以获得B好处 - 【单选题】下面哪项是百货店收银系统的非功能性需求?
A、 提供新鲜的蔬菜和水果
B、 买10个或10个以下商品的客户可以走特殊通道
C、 设有存包处
D、 为雇员发工资
【正确答案】 B
A与收银系统无关,D这个如果由收银系统完成的话那属于功能性需求,否则也与该收银系统无关,C与收银系统本身无关
非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性 - 【单选题】下列需求属于性能需求的是( )。
A、 并发访问数
B、 网络协议
C、 异常响应
D、 用户友好
【正确答案】A
B属于接口需求,C属于出错处理需求,D属于可用性需求 - 【单选题】下列需求属于设计约束的是( )。
A、 响应时间
B、 运行平台
C、 错误处理
D、 可维护
【正确答案】B
A是性能需求,C是出错处理需求,D是一种质量方面的需求 - 【多选题】下列哪些陈述可以作为软件需求( )。
A、 系统应支持大规模并发用户访问
B、 用户需凭用户名和密码登陆之后才可使用系统
C、 系统界面要美观大方
D、 当用户登录失败时,应弹窗提示失败原因
【正确答案】BD
AC两种描述都是无法验证的,即不满足需求的可测试性 - 【判断题】 软件需求是待开发产品或系统的功能描述。
【正确答案】错误
还包括非功能需求内容。 - 【填空题】当前系统的( A )模型描述现行系统的实际业务处理过程,反映了现行系统具体( B )的现实。当前系统的( C )模型描述现行系统的功能结构、数据组织以及动态行为,反映了现行系统( D )的本质。
目标系统是指待开发的新系统。根据计算机系统的特点,分析、比较目标系统和当前系统逻辑上的差别,确定目标系统的软件工作范围,采用自顶向下逐步分解的分析策略,确定目标系统的功能结构、数据组织以及动态行为,从而建立起目标系统的( E )模型。
供选择的答案:
A, C, E:① 对象 ② 物理 ③ 服务 ④ 过程 ⑤ 逻辑
B, D: ① 怎么做 ② 何时做 ③ 做什么 ④ 为何做 ⑤ 谁来做
请分别给出A、B、C、D、E对应的答案编号。
【正确答案】
A:②
B:①
C:⑤
D:③
E:⑤