一. 单选题(共6题,34.8分)
1. (单选题)瀑布模型适合如下哪类软件的开发( )
- A. 大型复杂的、且需求尚不能完全确定的软件
- B. 开发中或运行后需求可能会发生变化的软件
- C. 有潜在开发风险的软件
- D. 规模较小、软件需求比较稳定的项目或子系统
正确答案: D
5.8分
2. (单选题)某软件开发公司欲开发一个库存管理软件,主要管理货物入库、出库流程,但是货物入库和出库流程有可能根据需要发生变化,该软件开发不适宜采用( )模型。
- A. 快速原型模型
- B. 螺旋模型
- C. 瀑布模型
- D. RUP统一过程模型
正确答案: C
5.8分
3. (单选题)在面向对象方法中,继承用于( )。
- A. 在已存在的类的基础上创建新类
- B. 在已存在的类中添加新的方法
- C. 在已存在的类中添加新的属性
- D. 在已存在的状态中添加新的状态
正确答案: A
5.8分
4. (单选题)下列哪个不是软件危机的主要表现
- A. 软件开发周期长,无法按期交付
- B. 软件开发成本高,超预算
- C. 软件质量差,问题频出
- D. 软件供不应求,量太少
正确答案: D
5.8分
5. (单选题)以下关于系统原型的叙述中,不正确的是( )。【2019上 29】
- A. 可以帮助导出系统需求并验证需求的有效性
- B. 可以用来探索特殊的软件解决方案
- C. 可以用来指导代码优化
- D. 可以用来支持用户界面设计
正确答案: C
5.8分
答案解析:
软件原型的主要用途是辅助需求确认或挖掘深层次需求,有时还可以起到验证设计方案(软件框架设计或软件用户界面设计)的作用。
6. (单选题)某企业拟开发一个企业信息管理系统,系统功能与多个部门的业务相关。现希望该系统能够尽快投入使用,系统功能可以在使用过程中断改善。则最适宜采用的软件过程模型为( )。【2018下 29】
- A. 瀑布模型
- B. 原型模型
- C. 演化(迭代)模型
- D. 螺旋模型
正确答案: C
5.8分
答案解析:
瀑布模型的最明显缺点就是从需求提出到软件给用户使用周期过长,原型模型是可以更有效的调研和确认需求,大多数原型是无法直接上线给用户生产使用的,因而只有演化模型才是针对部分主干需求或不完整的需求开发出软件的先期版本,在用户生产使用中不断完善软件更新版本的过程模型,螺旋模型主要特点在演化(迭代)模型的基础上增加了风险控制。
二. 多选题(共1题,5.8分)
7. (多选题)软件的特点包括以下哪些?( )
- A. 形态特征:软件是抽象的逻辑产品,而不是物理产品。
- B. 灵活复杂特性:软件具有极大灵活性,这也使其极为复杂,开发过程管理困难。
- C. 生产开发特性:软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理,开发成本和进度很难估计。
- D. 质量特性:软件交付前尽管经过严格的测试和使用,但仍不能保证软件没有潜伏的缺陷。
- E. 维护特性:软件使用过程不会磨损、老化,但维护工作却比硬件复杂得多,且在维护中可能产生新的缺陷(维护副作用)。
- F. 环境依赖特性:软件运行的硬件或软件环境的改变可能需要软件做适应性改变。
正确答案: ABCDEF
5.8分
三. 填空题(共2题,11.6分)
8. (填空题)ISO9126(2001)将软件质量要素确定为 、 、 、 、 、 ,2011年对ISO9126的修订和扩充,增加了 、 。
正确答案:
(1) 正确性
(2) 可靠性
(3) 有效性
(4) 可用性
(5) 可维护性
(6) 可移植性
(7) 安全性
(8) 兼容性
9. (填空题)软件工程的 、 、 、 、 构成了软件工程的五大要素。
正确答案:
(1) 项目
(2) 人
(3) 过程
(4) 方法和工具
(5) 软件制品
答案解析:
四. 简答题(共3题,17.4分)
10. (简答题)请列出RUP统一过程模型的两种过程及所包含的工作流。
正确答案:
RUP过程分为软件支持过程和软件生产过程两类。软件生产过程由①业务建模、②需求、③设计、④实现、⑤验证和确认(V&V)、⑥部署,共6个工作流组成;软件支持过程由①配置和变更管理、②项目管理、③环境工作流组成。
11. (简答题)简述软件工程的目标,并列出常见的软件工程原则。
正确答案:
软件工程的目标是在给定成本、进度的前提下,开发出满足用户或市场需要的高质量的软件产品。为达到这些目标,在软件开发过程中必须根据软件系统,特别是各子系统的功能、特点和实际情况,选取适宜的开发模型和设计方法,采用有效的软件项目管理方法。在此过程中必须遵循一下软件工程原则:①抽象、②信息隐藏、③模块化与强内聚和松耦合、④局部化、⑤一致性、⑥完全性、⑦可验证性,等。
12. (简答题)列举UML软件模型表示技术所包含的图形机制,及每种视图下可用的模型图。
正确答案:
UML包含以下5种视图,每种视图下的常用模型图如下:
①用例视图,包含用例图;
②结构视图,包含包图、类图和对象图;
③行为视图,包含交互图(顺序图和通信图)、活动图和状态图;
④构件视图,包含构件图;
⑤部署视图,包含部署图。
五. 名词解释(共5题,30.4分)
13. (名词解释)UML
正确答案:
UML,称为统一建模语言。是一种通过图形化表示机制从多个侧面对软件系统的分析和设计模型进行刻画的软件模型表示技术,其包含用例视图、结构视图、行为视图、构件视图和部署视图。
14. (名词解释)软件
正确答案:
软件是在计算机系统的支持下,能够完成特定功能和性能的程序、数据和相关文档,软件可形式化的表示为:软件=知识+程序+数据+文档。
15. (名词解释)软件过程
正确答案:
软件过程是描述、开发、维护软件制品,创建、管理和支持软件项目的一系列活动。
16. (名词解释)软件过程模型
正确答案:
为了描述、规范软件开发的管理和技术活动,需要建立软件过程模型,对软件开发过程的结构和属性进行抽象。软件过程模型定义了软件开发活动,给出了他们之间的逻辑关系,为软件工程管理提供里程碑和进度表,为软件开发提供框架和方法。
17. (名词解释)软件生命周期
正确答案:
软件生命周期是软件从概念形成、进化、运行到退役的全过程。传统的软件生存周期划分为软件需求、设计、编码与测试、运行与维护、退役几个阶段,与软件开发过程的阶段划分一一对应。
第一部分软件与软件工程
一. 单选题(共7题,35分)
1. (单选题)下列哪个不是软件危机的主要表现
- A. 软件开发周期长,无法按期交付
- B. 软件开发成本高,超预算
- C. 软件质量差,问题频出
- D. 软件供不应求,量太少
正确答案: D
5分
2. (单选题)极限编程(XP)的十二个最佳实践不包括( )。
- A. 小的发布
- B. 结对编程
- C. 持续集成
- D. 精心设计
正确答案: D
5分
3. (单选题)在面向对象方法中,继承用于( )。
- A. 在已存在的类的基础上创建新类
- B. 在已存在的类中添加新的方法
- C. 在已存在的类中添加新的属性
- D. 在已存在的状态中添加新的状态
正确答案: A
5分
4. (单选题)采用面向对象方法进行软件开发时,将汽车作为一个系统。以下( )之间不属于组成(Composition)关系。
- A. 汽车和座位
- B. 汽车和车窗
- C. 汽车和发动机
- D. 汽车和音乐系统
正确答案: D
5分
5. (单选题)在UML图中,( )图用于展示所交付系统中软件和硬件之间的物理关系。
- A. 类
- B. 构件
- C. 通信
- D. 部署
正确答案: D
5分
6. (单选题)一个类中成员变量和成员函数有时也可以分别被称为( )
- A. 属性和活动
- B. 值和方法
- C. 数据和活动
- D. 属性和方法
正确答案: D
5分
7. (单选题)以下关于文档的叙述中,不正确的是( )。
- A. 文档也是软件产品的一部分,没有文档的软件就不能称之为软件
- B. 文档只对软件维护活动有用,对开发活动意义不大
- C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量
- D. 高质量文档对于发挥软件产品的效益有着重要的意义
正确答案: B
5分
二. 填空题(共3题,15分)
8. (填空题)根据计算机科学对软件的定义描述,软件可形式化地表示为:软件= + + +
正确答案:
(1) 知识
(2) 程序
(3) 数据
(4) 文档
9. (填空题)软件工程的 、 、 、 、 构成了软件工程的五大要素。
正确答案:
(1) 项目
(2) 人
(3) 过程
(4) 方法和工具
(5) 软件制品
答案解析:
10. (填空题)ISO9126(2001)将软件质量要素确定为 、 、 、 、 、 ,2011年对ISO9126的修订和扩充,增加了 、 。
正确答案:
(1) 正确性
(2) 可靠性
(3) 有效性
(4) 可用性
(5) 可维护性
(6) 可移植性
(7) 安全性
(8) 兼容性
三. 简答题(共3题,15分)
11. (简答题)简述软件工程的目标,并列出常见的软件工程原则。
正确答案:
软件工程的目标是在给定成本、进度的前提下,开发出满足用户或市场需要的高质量的软件产品。为达到这些目标,在软件开发过程中必须根据软件系统,特别是各子系统的功能、特点和实际情况,选取适宜的开发模型和设计方法,采用有效的软件项目管理方法。在此过程中必须遵循一下软件工程原则:①抽象、②信息隐藏、③模块化与强内聚和松耦合、④局部化、⑤一致性、⑥完全性、⑦可验证性,等。
12. (简答题)列举UML软件模型表示技术所包含的图形机制,及每种视图下可用的模型图。
正确答案:
UML包含以下5种视图,每种视图下的常用模型图如下:
①用例视图,包含用例图;
②结构视图,包含包图、类图和对象图;
③行为视图,包含交互图(顺序图和通信图)、活动图和状态图;
④构件视图,包含构件图;
⑤部署视图,包含部署图。
13. (简答题)请列出RUP统一过程模型的两种过程及所包含的工作流。
正确答案:
RUP过程分为软件支持过程和软件生产过程两类。软件生产过程由①业务建模、②需求、③设计、④实现、⑤验证和确认(V&V)、⑥部署,共6个工作流组成;软件支持过程由①配置和变更管理、②项目管理、③环境工作流组成。
四. 名词解释(共7题,35分)
14. (名词解释)软件
正确答案:
软件是在计算机系统的支持下,能够完成特定功能和性能的程序、数据和相关文档,软件可形式化的表示为:软件=知识+程序+数据+文档。
15. (名词解释)软件生命周期
正确答案:
软件生命周期是软件从概念形成、进化、运行到退役的全过程。传统的软件生存周期划分为软件需求、设计、编码与测试、运行与维护、退役几个阶段,与软件开发过程的阶段划分一一对应。
16. (名词解释)软件过程
正确答案:
软件过程是描述、开发、维护软件制品,创建、管理和支持软件项目的一系列活动。
17. (名词解释)软件过程模型
正确答案:
为了描述、规范软件开发的管理和技术活动,需要建立软件过程模型,对软件开发过程的结构和属性进行抽象。软件过程模型定义了软件开发活动,给出了他们之间的逻辑关系,为软件工程管理提供里程碑和进度表,为软件开发提供框架和方法。
18. (名词解释)瀑布模型
正确答案:
瀑布模型也称软件生存周期模型,瀑布模型将软件开发过程分解为可行性研究、软件需求、设计、编码与调试、测试、运行与维护、退役几个阶段。它们既是软件开发过程的分解,也是软件生存周期的阶段划分。瀑布模型按照各阶段的目标和任务逐步进行开发,直至通过确认测试,向用户交付最终软件制品为止。
19. (名词解释)软件原型
正确答案:
就如同建筑物的模型一样,软件原型可理解为目标软件的一个模拟物,可能是目标软件的一个局部、一组用户界面、一组模拟动画或一款类似类似软件。软件原型是软件开发人员根据客户提出的软件(部分或全部)定义,快速地开发一个原型,原型向客户展示了待开发软件系统的全部或部分功能和性能,在征求客户对原型意见的过程中,进一步修改、完善、确认软件系统的需求并达到一致的理解。
20. (名词解释)UML
正确答案:
UML,称为统一建模语言。是一种通过图形化表示机制从多个侧面对软件系统的分析和设计模型进行刻画的软件模型表示技术,其包含用例视图、结构视图、行为视图、构件视图和部署视图。
第二部分软件需求
一. 单选题(共10题,62分)
1. (单选题)软件需求模型的质量要素不包括下列哪个( )
- A. 正确性
- B. 简单性
- C. 完全性
- D. 可行性
正确答案: B
6.2分
2. (单选题)下列哪项活动可不认为是需求工程的核心活动( )
- A. 需求获取
- B. 需求工程策划
- C. 需求分析
- D. 需求规范化
正确答案: B
6.2分
3. (单选题)某企业财务系统的需求中,属于功能需求的是( )。
- A. 每个月特定的时间发放员工工资
- B. 系统的响应时间不超过 3 秒
- C. 系统的计算精度符合财务规则的要求
- D. 系统可以允许100个用户同事查询自己的工资
正确答案: A
6.2分
4. (单选题)对于大中型软件系统而言,不一次性创立并完整地描述所有用例的全部细节,而是采用先创建框架用例,再精细化框架用例的两项活动。这体现了需求建模的什么方法(思想)
- A. 抽象与逐步求精
- B. 分解
- C. 多视点分析
- D. 分步骤
正确答案: A
6.2分
答案解析:体现了抽象原则,先从整体覆盖面上照顾软件需求,再探究每个需求项的详细内容。
5. (单选题)在需求获取活动的定义软件问题子活动中,理解业务背景步骤需要搜集目标领域内的业务术语或重要概念形成领域概念模型,其中领域概念模型需要用以下UML哪种图表示。
- A. 用例图
- B. 类图
- C. 活动图
- D. 对象图
正确答案: B
6.2分
答案解析:将每个概念看成一个面向对象世界中的对象类型,将概念之间的自然练习、业务逻辑或语义联系表示成类之间的关系,形成的用UML类图表示的目标领域概念模型。
6. (单选题)下列哪一个不是执行者与用例之间关系的意义
- A. 执行者触发用例执行
- B. 执行者从用例获取信息
- C. 执行者向用例提供信息
- D. 执行者关闭用例
正确答案: D
6.2分
7. (单选题)UML活动图(Activity Diagram)是实体为完成某项功能而执行的操作序列,其中某些操作可以并发和同步,其中实体在图中表示为( )。
- A. 泳道区域
- B. 活动
- C. 对象
- D. 控制流
正确答案: A
0分
8. (单选题)在需求分析的用例分析活动中,根据交互图中消息确定分析类的职责,其中“职责”表现为分析类的( )
- A. 类属性
- B. 类名称
- C. 类方法/操作
- D. 类对象
正确答案: C
6.2分
9. (单选题)根据交互图(顺序图)消息确定分析类的职责,其中分析类的“职责”是指( )
- A. 类名称
- B. 类属性
- C. 类方法/操作
- D. 类对象
正确答案: C
6.2分
10. (单选题)下列哪项活动不是构建需求分析模型过程的必要活动( )
- A. 精化领域概念模型
- B. 设置分析类
- C. 构造交互图
- D. 导出分析类图
正确答案: A
0分
二. 填空题(共3题,18.6分)
11. (填空题)软件需求是利益相关方对目标软件系统在 、 等方面的的期望,以及对目标软件系统在 、 等方面的要求和约束。
正确答案:
(1) 功能
(2) 质量
(3) 运行环境
(4) 资源消耗
12. (填空题)利益相关方对目标软件系统的期望和要求通常包括3个方面的内容,因此可将软件需求划分为功能需求、 和 3种类型。后两种可被统称为 。
正确答案:
(1) 质量需求
(2) 约束性需求;约束需求
(3) 非功能性需求;非功能需求
13. (填空题)下图为UML的 图,通常用来表示软件的结构模型,其中
称为 ,其表示图元的三个部分从上到下依次表示 、 和 ,“监测器”和“传感器”之间的连接边表示它们二者之间是 关系,如:<<control>>、<<entity>>之类的表示称为 。
正确答案:
(1) 类
(2) 类
(3) 类名
(4) 属性集合
(5) 操作集合
(6) 关联
(7) UML构造型
三. 简答题(共1题,6.2分)
14. (简答题)简述用例分析的导出分析类图活动所包含的子活动。
正确答案:
①创建初始的分析类图,以领域概念模型为基础创建初始分析类图;
②根据消息确定分析类的职责,原则上对每个分析类都应该安排一项职责来响应交互图中指向其对象的那条消息。
③根据消息传递确定分析类之间的连接,概念上可以认为交互图中的两个对象之间的消息传递有赖于他们分数的两个类之间的“消息传递通道”。
④根据交互图确立分析类的属性,实体类的属性取决于系统希望在该实体类的名下持久保存的哪些数据项。
⑤整理分析类图,全局的研究分析类图,视实际情况对它们进行必要的调整和优化。
四. 阅读理解(共2题,13.2分)
15. (阅读理解)
阅读下图,回答以下问题
(1) (单选题) 上图是UML的( )
- A. 类图
- B. 对象图
- C. 用例图
- D. 活动图
正确答案: C
1.5分
(2) (填空题) 其中
称为 ,
称为 。
正确答案:
(1) 用例;Use Case
(2) 执行者;参与者;Actor
1.5分
(3) (单选题) 上面的UML模型图最适合表示软件的( )模型
- A. 动态模型
- B. 功能模型
- C. 结构模型
- D. 物理模型
正确答案: B
1.5分
(4) (填空题) 上面的UML模型中
和
之间的连接边的意义为 , 或者 。
正确答案:
(1) 执行者触发用例的执行
(2) 向用例提供信息
(3) 从用例获取信息
1.7分
16. (阅读理解)
阅读下面UML模型图,回答问题
(1) (单选题) 上图UML模型图称为( )
- A. 用例图
- B. 顺序图
- C. 活动图
- D. 状态图
正确答案: B
1.7分
(2) (填空题) 图中顶部水平排列的矩形框,称为 ,每个矩形框垂直向下的虚线称为 ,附着在虚线之上的长条形矩形称为 ,连接两条虚线的水平带箭头上线称为 。
正确答案:
(1) 对象
(2) 生命线
(3) 操作执行期;活跃期
(4) 消息
0.4分
(3) (填空题) 上图UML模型图,是UML 图的一种表现形式,重点强调对象之间消息收发的时间序,另一种图称为 ,重点突出交换消息对象之间的合作关系。
正确答案:
(1) 交互
(2) 通信图
0.8分
(4) (单选题) 上图UML模型图的使用,以下描述不正确的是( )
- A. 适合描述软件中某个实体在外界事件刺激下的反应式动态行为
- B. 适合描述软件功能模型中某个用例(功能)的实现过程
- C. 适合表示用户界面模型中某个运行时刻界面之间的跳转关系及信息传递
- D. 适合表示软件或某个模块的内部设计元素之间的交互和协作
正确答案: A
第三部分软件设计
一. 单选题(共6题,33分)
1. (单选题)在软件设计阶段先设计软件体系结构,再设计体系结构各组成部分的实现细节,体现的是以下什么设计原则( )
- A. 抽象和逐步求精
- B. 模块分解
- C. 强内聚和松耦合
- D. 关注点分离
正确答案: A
5.5分
答案解析:先框架结构再填充细节的做法体现先抽象再逐步求精的的思想
2. (单选题)下列关于构件与其对外接口的关系描述不正确的是( )
- A. 构件的对外接口可以独立于构件单独起作用
- B. 构件通常只通过其对外接口起作用(与软件其它构成部分协作)
- C. 接口是构件的职责(服务)定义
- D. 构件内部元素实现了对外接口宣称的职责(服务)
正确答案: A
5.5分
答案解析:构件是可执行软件系统中某个可分离的物理模块,它具有精确定义的对外接口,并且外界只能通过接口来访问它。
3. (单选题)软件体系结构的5种视图中,哪种视图的体系结构最有可能是后续详细设计的主要参考框架( )
- A. 逻辑视图的体系结构
- B. 开发视图的体系结构
- C. 物理视图的体系结构
- D. 运行视图的体系结构
- E. 数据视图的体系结构
正确答案: A
0分
答案解析:逻辑视图指体系结构中各软件模块的逻辑功能划分(或职责分派),以及基于这种划分的协作行为;开发视图指软件源代码的程序分包及目录结构;物理视图指软件安装部署的物理机器及其网络连接;运行视图指软件运行时进程、线程的划分,它们之间的并发与同步;数据视图指持久数据的存储方案,数据传递、备份、恢复、同步方案。
4. (单选题)使用UML来表示屏幕模型时,屏幕上的按钮用以下哪个表示最合适( )
- A. UML类属性
- B. UML类图
- C. UML类方法
- D. UML交互图
正确答案: C
5.5分
5. (单选题)在真正开展用户界面设计之前,需要进行用户分析和任务分析活动,那么用户分析活动如果需要建模表示,通常使用UML( )
- A. 用例图
- B. 类图
- C. 包图
- D. 活动图
正确答案: B
0分
6. (单选题)详细设计模型模型的质量要求不包括( )
- A. 正确性
- B. 优化性
- C. 设计充分性
- D. 简单性
正确答案: D
5.5分
二. 多选题(共1题,5.5分)
7. (多选题)以下软件设计过程的活动中,哪些是核心活动( )
- A. 设计策划
- B. 体系结构设计
- C. 人机交互设计
- D. 详细设计
- E. 设计整合与验证
- F. 设计总结
正确答案: BD
5.5分
答案解析:
软件设计模型中的体系结构模型及其实现细节设计模型是必须要有的,对于有人机交互界面的软件,用户界面设计模型也是必须的,所以最核心活动是体系结构设计和详细设计。
三. 简答题(共6题,33分)
8. (简答题)列出软件设计的基本原则,并逐个简述之。
正确答案:
软件设计工作通常要遵循的原则有:抽象与逐步求精、模块化与强内聚和松耦合、信息隐藏和关注点分离。
软件设计抽象的原则是指,软件设计一般要自顶向下地经历一系列抽象级别从高到低的设计阶段,后续阶段会在前一阶段的基础上引入更接近于软件实现的设计元素,这一过程又称为“逐步求精”。
强内聚要求一个软件模块由逻辑相关性很强的代码组成,仅负责单项职责,这与通常所说的单一职责原则相吻合;松耦合要求软件系统中各模块尽可能独立地完成各自的职责,模块之间的接口尽可能少而且简单。
信息隐藏原则要求模块应设计的使其所含信息(过程和数据)对于那些不需要这些信息的模块不可访问,模块之间仅交换那些为完成系统功能必须交换的信息。
关注点分离原则要求设计师将若干性质不同的关注点分离开来,以便软件开发者能够在适当的时间分别处理不同的关注点,此后讲这些关注点的实现整合起来,形成局部或全局性的软件解。
9. (简答题)简述软件详细设计过程所包含的活动。
正确答案:
①用例设计,针对每个用例,基于体系结构和用户界面模型中的设计元素,设计用例的软件实现方案。
②子系统设计,任务是确定子系统的内部结构。
③构件设计,类似于子系统设计,更强调构件的可复用性设计。
④类设计,负责对前面添加的设计类进行设计精化,包括确定类的可见范围,定义类的操作和属性,精化类之间的关系。
⑤数据模型设计,任务包括确定持久数据条目及其组织方式,以及为提高数据存储和操作性能而设计的特定于持久存储机制的优化设施。
⑥设计整合与验证,整合前面获得的所有设计模型,检查并消除它们之间的不一致性,提出冗余性。
10. (简答题)简述软件体系结构设计的任务。
正确答案:
体系结构设计的任务是建立满足软件需求的软件体系结构,这种体系结构既要明确定义软件各个子系统、构件、关键类的职责划分及协作关系,同时也要给描述它们在物理运行环境下的部署模型,此外,体系结构还必须针对软件系统全局性、基础性的技术问题给出技术解决方案,这种方案构成了目标软件系统的技术基础设施。
11. (简答题)列出用户界面设计过程所包含的活动。
正确答案:
用户界面设计过程的主要活动如下:
- 用户分析、任务分析及建模;
- 概念设计;
- 界面流设计;
- 界面精化。
12. (简答题)在软件详细设计中简述什么是用例详细实现方案设计及目标和任务。
正确答案:
用例详细实现方案设计简称用例设计是指对软件需求的分析模型中的每个用例,在前述的体系结构和界面设计给出的设计元素的基础上,设计用例的详细实现方案。
目标是确保界面设计模型、体系结构模型与软件需求的符合性。
主要任务如下:
- 针对每个用例,联合采用体系结构设计中确定的软件设计元素(包括子系统、构件、关键设计类),以及用户界面设计中确定的界面类(包括屏幕类及输入表格类),完整的实现每个用例要求的业务处理功能和交互动作序列;
- 详细考察每个设计元素与其协作者之间的协作关系,以求更精确的定义这些设计元素,如补齐必要的细节、调整结构定义等。
13. (简答题)简述数据模型设计的任务。
正确答案:
数据模型设计的任务是:
- 确定设计模型中需要持久保存的数据条目,
- 基于数据模型设计这些数据条目的组织方式,
- 必要时还需设计特定与软件项目将采用的数据库管理系统的优化机制,以提高持久数据操作的性能。
四. 名词解释(共5题,28.5分)
14. (名词解释)模块内聚度
正确答案:
内聚度表示一个模块内部各部分成分彼此关联的紧密程度。内聚度表型形式分为:①偶然性内聚、②逻辑性内聚、③时间性内聚、④过程性内聚、⑤通信性内聚、⑥顺序性内聚和⑦功能性内聚。一般而言,前3种心事的内聚度较低,第④⑤两种内聚度居中,最后两种内聚度较高。模块的内聚度越高越好。
15. (名词解释)UML包
正确答案:
包是UML模型一种组织单元。它可以包含一组具有逻辑关联的UML模型元素(如用例、类等),模型图(如用例图腾、类图、交互图、状态图等),以及其他的包。包在模型管理过程中是配置管理的基本单元,同时也为访问控制提供基本手段。
16. (名词解释)软件体系结构
正确答案:
软件体系结构是从高层抽象的角度刻画组成软件系统的设计元素(包括子系统、构件及类)以及他们之间的逻辑关联。软件体系结构包括组件、连接件和约束三大要素,连接件表示组件之间的连接和交互关系,约束表示组件中的元素应该满足的条件,以及组件经由连接件组装成更大模块时应满足的条件。
答案解析:
17. (名词解释)设计模式
正确答案:
设计模式是指以设计复用为目的,采用一种良好定义的、正规的、一致的方式记录的软件设计经验。每条设计模式关注一般或特定设计环境下可能重复出现的设计问题,并给出经过充分实践考验的软件解决方案。
18. (名词解释)持久数据操作
正确答案:
持久数据操作是包括写入、查询、更新和删除4类基本操作以及由它们复合而成的业务数据操作。
写入操作将数据从运行时的软件系统保存之数据库;
查询操作按照特定的选择准则从数据库提取部分数据置入运行时软件系统中的指定对象;
更新操作以运行时软件系统中的(新)数据替换数据中复合特定准则的(旧)数据;
删除操作将复合特定准则的数据从数据库中删除。
第四部分软件实现
一. 单选题(共1题,20分)
1. (单选题)下列程序设计语言属于逻辑程序设计语言的是( )
- A. LISP
- B. PROLOG
- C. FORTRAN
- D. BASIC
正确答案: B
20分
二. 简答题(共2题,40分)
2. (简答题)简述程序设计语言选择的考虑因素。
正确答案:
为满足软件工程的需要,选择程序设计语言时应考虑:
(1)将设计翻译为代码的便利程度;
(2)编译器生成的目标代码的效率;
(3)源代码的可移植性;
(4)配套的开发工具;
(5)可维护性;
(6)程序设计语言的基本机制是否能满足软件分析设计模型的需要;
(7)语言在软件项目所属领域的应用是否普遍;
(8)项目需求中的技术约束;
(9)开发团队的技术方向。
3. (简答题)简述软件调试过程的活动
正确答案:
软件调试过程一般要实施一下活动:
①识别问题;
②收集信息;
③假设故障原因;
④追加测试;
⑤重复进行其他假设并验证。
三. 名词解释(共2题,40分)
4. (名词解释)软件实现
正确答案:
软件实现是指通过程序设计及编码的过程,把软件详细设计映照为计算机可以“理解”并最终可运行的代码。设计编写代码、单元测试、集成测试、调试和确认等多项活动,是一个迭代过程,除了要编写的代码完全符合软件设计确定的功能,还需要控制和降低程序复杂性、增加程序可维护性。
5. (名词解释)软件调试
正确答案:
在软件实现过程中,调试与测试形影相随,测试成功的标志是发现了故障,根据故障吉祥确定缺陷的原因和准确位置,并加以改正则主要依靠调试技术。
第五部分软件测试
一. 单选题(共3题,42.6分)
1. (单选题)以下关于测试的叙述中,正确的是( )。
- A. 实际上,可以采用穷举测试来发现软件中的所有错误
- B. 错误很多的程序段在修改后错误一般会非常少
- C. 测试可以用来证明软件没有错误
- D. 白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误
正确答案: D
14.2分
2. (单选题)在进行集成测试时, 常用的方法是 。
- A. 采用黑盒测试, 辅之以白盒测试
- B. 采用白盒测试, 辅之以黑盒测试
- C. 只使用黑盒测试
- D. 只使用白盒测试
正确答案: A
14.2分
3. (单选题)单元测试中用来模拟被测模块调用者的模块是( ),在大多数场合称为“主程序”,它接收测试数据并输出运行结果 。
- A. 父模块
- B. 子模块
- C. 驱动模块
- D. 桩模块
正确答案: C
14.2分
二. 填空题(共1题,14.2分)
4. (填空题)软件测试主要分为____、 ___、 ______、 _____四个阶段测试
正确答案:
(1) 单元测试
(2) 集成测试
(3) 确认测试
(4) 系统测试
三. 名词解释(共2题,28.4分)
5. (名词解释)软件测试
正确答案:
1983年IEEE软件工程标准术语给软件测试的定义是:使用人工或自动的手段运行软件系统的过程,目的在于检验系统是否满足规定的需求,或确定预期结果与实际结果之间的差异。
6. (名词解释)测试用例
正确答案:
为测试设计的输入数据称为测试用例,是针对程序的某一功能或运行路径设计的,数据数据是关键。测试用例还包括程序执行条件测试步骤和预期输出,用于核实程序或指定路径是否满足预期目标。
四. 阅读理解(共1题,14.8分)
7. (阅读理解)
阅读下图的程序代码(语句已经编序号),使用基本路径测试方法,为改程序确定基本路径,回答以下问题
(1) (简答题) 根据程序中已编的语句序号,画出流图。
正确答案:
流图如下:
0分
(2) (简答题) 根据画出的流图,计算程序的Cyclomatic复杂性V(G)。
正确答案:
根据流图可以看出流图共将平面分成了6个区域,故V(G)=6
0分
(3) (简答题) 指出程序的所有基本路径。
正确答案:
基本路径条数=V(G)=6,6条基本路径如下:
P1:1->2->8->11->14
P2:1->2->8->11->12->13->11->…->11->14
P3:1->2->3->8->9->10->8->…->11->14
P4:1->2->3->4->5->6->2->8->11->12->13->11->…->11->14
P5:1->2->3->4->5->7->2->3->8->9->10->8->…->11->14
P6:1->2->3->4->5->6->2->…->…->11->14
0分
(4) (简答题) 针对每一条独立路径设计测试用例。
我的答案:
R1:L1=[],L2=[]
R2:L1=[1],L2=[]
R3:L1=[],L2=[1]
R4:L1=[1],L2=[2]
R5:L1=[2],L2=[1]
正确答案:
测试用例如下表
路径序号 | 测试用例 |
P1 | L1.len=0 L2.len=0 L1.elem = {} //空表 L2.elem = {} //空表 |
P2 | L1.len=0 L2.len=1 L1.elem = {} //空表 L2.elem = {1} //含一个元素1 |
P3 | L1.len=1 L2.len=0 L1.elem = {1} //含一个元素1 L2.elem = {} //空表 |
P4 | L1.len=1 L2.len=1 L1.elem = {1} //含一个元素1 L2.elem = {2} //含一个元素2 |
P5 | L1.len=1 L2.len=1 L1.elem = {2} //含一个元素2 L2.elem = {1} //含一个元素1 |
P6 | L1.len=2 L2.len=1 L1.elem = {1, 3} //含两个元素,依次为1和3 L2.elem = {2} //含一个元素2 |
0分
答案解析:
第2个问题解析:区域如下:
(1)由2、3、8围成的封闭区域R1,
(2)由5、6、7围成的封闭区域R2,
(3)由2、3、4、5、7、2围成的封闭区域R3,
(4)由8、9、10围成的封闭区域R4,
(5)由11、12、13围成的封闭区域R4,
(6)除以上5个封闭区域外的开放区域R6,
第六部分软件维护
一. 单选题(共2题,40分)
1. (单选题)以下关于软件维护的叙述中,不正确的是( )
- A. 软件维护解决软件产品交付用户之后进行中发生的各种问题
- B. 软件维护期通常比开发期长得多,投入也大得多
- C. 软件可维护性是软件开发阶段各个时期的关键目标
- D. 相对于软件开发任务而言,软件维护工作要简单得多
正确答案: D
20分
2. (单选题)系统交付用户使用后,为了改进系统的图形输出而对系统进行修改的维护行为属于( )维护。
- A. 纠错性
- B. 适应性
- C. 完善性
- D. 预防性
正确答案: C
20分
二. 填空题(共1题,20分)
3. (填空题)软件交付并投入运行后,任何针对系统变更所做的工作都是维护,软件维护究其原因可分为 、 、 、 4类。
正确答案:
(1) 纠错性维护
(2) 适应性维护
(3) 完善性维护
(4) 预防性维护
三. 名词解释(共2题,40分)
4. (名词解释)软件维护副作用
正确答案:
软件维护的副作用是指由于维护或在维护过程中的其它一些不期望的行为引入的新的缺陷。副作用大致可分为以下3类,即①代码副作用、②数据副作用、③文档的副作用。
5. (名词解释)软件维护
正确答案:
软件维护是软件交付后保障软件生产活动,发挥软件社会和经济效益的关键。软件交付并投入运行后,任何针对软件系统变更所做的工作都称为软件维护。纠其原因可分为纠错性维护、适应性维护、完善性维护和预防性维护4类。
第七部分软件度量与管理
一. 单选题(共14题,77分)
1. (单选题)关注软件的结构内模块或构件间的关系复杂程度的软件复杂性是( )
- A. 软件体系结构复杂性
- B. 软件程序模块复杂性
- C. 软件数据复杂性
- D. 软件需求复杂性
正确答案: A
0分
2. (单选题)软件工程的度量和估算是软件工程的重要组成部分,度量可分为软件度量和软件项目度量两部分,下列属于软件项目度量的是( )
- A. 软件规模度量
- B. 软件质量度量
- C. 软件成本度量
- D. 软件复杂性度量
正确答案: C
0分
答案解析:
3. (单选题)McCall的三层次软件质量度量模型中起关键作用的是( )
- A. 质量要素
- B. 评价准则
- C. 用评价准则度量质量要素
- D. 用影响质量的因素定义评价准则
正确答案: B
5.5分
4. (单选题)在ISO9126软件质量度量模型中,软件质量特性( )包含质量子特性安全性。
- A. 功能性
- B. 可靠性
- C. 效率
- D. 可维护性
正确答案: A
5.5分
5. (单选题)软件可靠性说法不正确的是( )
- A. 软件可靠性是影响软件质量的重要因素
- B. 不可停机修复的系统是没有办法保证系统可靠的
- C. 可停机修复的系统的可靠性度量可以借助系统有效性测量
- D. 系统有效性指在时刻t系统正常运行的概率
正确答案: B
5.5分
6. (单选题)软件项目管理强调工作的( ),人员、进度、制品的可控性,及时进行风险分析和管理。
- A. 计划性
- B. 顺序性
- C. 完全性
- D. 可重复性
正确答案: A
5.5分
7. (单选题)软件开发活动产生的制品通常划分为若干制品集,关于软件制品描述错误的是( )
- A. 软件制品是软件工程的要素之一
- B. 管理制品集的形式有软件、文本、图形、图像和视频等
- C. 软件实现制品集是用程序设计语言及相关文档描述的
- D. 工程制品集包括需求集、设计集、实现集
正确答案: D
0分
答案解析:
8. (单选题)下列哪个模型不是软件项目工作量估算模型
- A. COCOMO模型
- B. COCOMOII模型
- C. McCall模型
- D. Putnam模型
正确答案: C
5.5分
9. (单选题)从宏观看,软件项目风险不包括以下哪个( )
- A. 项目风险
- B. 安全风险
- C. 商业风险
- D. 技术风险
正确答案: B
5.5分
10. (单选题)配置管理贯穿软件开发的整个过程。以下内容中,不属于配置管理的是( )。
- A. 版本控制
- B. 风险管理
- C. 变更管理
- D. 配置状态报告
正确答案: B
5.5分
11. (单选题)以下叙述中,( )不是一个风险。
- A. 由另一个小组开发的子系统可能推迟交付,导致系统不能按时交付客户
- B. 客户不清楚想要开发什么样的软件,因此开发小组开发原型帮助其确定需求
- C. 开发团队可能没有正确理解客户的需求
- D. 开发团队核心成员可能在系统开发过程中离职
正确答案: B
5.5分
12. (单选题)能力成熟度模型集成(CMMI)是若干过程模型的综合和改进。连续式模型和阶段式模型是CMMI提供的两种表示方法,而连续式模型包括6个过程域能力等级,其中( )使用量化(统计学)手段改变和优化过程域,以应对客户要求的改变和持续改进计划中的过程域的功效。
- A. CL2(已管理的)
- B. CL3(已定义级的)
- C. CL4(定量管理的)
- D. CL5(优化的)
正确答案: D
5.5分
13. (单选题)以下关于CMM的叙述中,不正确的是( )
- A. CMM是指软件能力成熟度模型
- B. CMM根据软件过程的不同成熟度划分了5个等级,其中,1级被认为成熟度最高,5级被认为成熟度最低
- C. CMMI的任务是将已有的几个CMM模型结合在一起,使之构成"集成模型"
- D. 采用更成熟的CMM模型,一般来说可以提高最终产品的质量
正确答案: B
5.5分
14. (单选题)以下不属于软件项目风险的是( )。
- A. 团队成员可以进行良好沟通
- B. 团队成员离职
- C. 团队成员缺乏某方面培训
- D. 招不到符合项目技术要求的团队成员
正确答案: A
5.5分
二. 填空题(共3题,16.5分)
15. (填空题)目前常用的软件规模度量有 、 和 ,可分别用于实现、设计和需求过程。
正确答案:
(1) 代码行度量
(2) 功能点度量
(3) 对象点度量
16. (填空题)目前比较常用的软件项目进度安排方法有 ① 、 ② 。两种方法都要生成描述项目进展状态的任务网络图。在网络图中,从任务开始到任务结束有许多条路径,完成这和那个任务的时间最长路径称为 ③ 路径。 ③ 路径上的某些任务完成时间的延误会拖延整个项目完成的时间。因此 ③ 路径是项目管理人员关注的焦点。 ④ 路径上的活动时间按照 ⑤ 的提示,有一定的调控余地。
正确答案:
(1) 程序评估与审查技术PERT
(2) 关键路径方法CPM
(3) 关键
(4) 非关键
(5) 甘特图
17. (填空题)软件项目工作量(成本)估算模型常见的有 、 、 和 。
正确答案:
(1) 一般经验估算模型
(2) COCOMO模型
(3) COCOMOII模型
(4) Putnam模型
三. 名词解释(共1题,6.5分)
18. (名词解释)软件配置项
正确答案:
软件开发过程的最终结果包括3类制品:计算机程序、描述程序的文档、数据结构,组成上述信息的所有项目构成一个软件配置,其中每一项称为一个软件配置项。是配置管理的基本单位。一个软件配置中最早的软件配置项是系统规约(即系统原始需求),随后是软件项目规划和软件需求规约,随着软件开发过程的不断深入,软件配置项迅速增加。
第八部分UML软件建模
一. 阅读理解(共2题,100分)
1. (阅读理解)
【2019下 试题三(共15分)】
阅读下列说明和图,回答问题1至问题3。
【说明】
某牙科诊所拟开发一套信息系统, 用于管理病人的基本信息和就诊信息。诊所工作人员包括:医护人员(Dental Staff)、 接待员(Receptionist) 和办公人员(Office Staff) 等。系统主要功能需求描述如下:
1.记录病人基本信息(Maintain patient info)。初次就诊的病人, 由接待员将病人基本信息录入系统。病人基本信息包括病人姓名、身份证号、出生日期、性别、首次就诊时间和最后一次就诊时间等。每位病人与其医保信息(Medical Insurance)关联。
2.记录就诊信息(Record office visit info)。 病人在诊所的每一次就诊,由接待员将就诊信息(Office Visit) 录入系统。就诊信息包括就诊时间、就诊费用、支付代码、病人支付费用和医保支付费用等。
3.记录治疗信息 (Record dental procedure)。 病人在就诊时,可能需要接受多项治疗,每项治疗(Procedure)可能由多位医护人员为其服务。治疗信息包括:治疗项目名称、治疗项目描述、治疗的牙齿和费用等。治疗信息由每位参与治疗的医护人员分别向系统中录入。
4.打印发票(Print invoices)。 发票(Invoice) 由办公人员打印。发票分为两种:给医保机构的发票(Insurance Invoice) 和给病人的发票(Patient Invoice)。 两种发票内容相同,只是支付的费用不同。当收到治疗费用后,办公人员在系统中更新支付状态(Enter payment)。
5.记录医护人员信息(Maintain dental staff info)。办公人员将医护人员信息录入系统。医护人员信息包括姓名、职位、身份证号、家庭住址和联系电话等。
6.医护人员可以查询并打印其参与的治疗项目相关信息(Search and print procedure info)。
现采用面向对象方法开发该系统,得到如图3-1所示的用例图和3-2所示的初始类图。
(1) (简答题)
【问题1】(6分)
根据说明中的描述,给出图3-1中A1~A3所对应的参与者名称和U1~U3所对应的用例名称。
正确答案:
A1:Receptionist
A2:Dental Staff
A3:Office Staff
U1:Maintain patient info
U2:Record office visit info
U3:Print invoices
16.6分
(2) (简答题)
【问题2】 (5分)
根据说明中的描述,给出图3-2中C1~C5所对应的类名。
正确答案:
C1:Patient Invoice
C2:Insurance Invoice
C3:Invoice
C4:procedure
C5:Office Visit
16.6分
(3) (简答题)
【问题3】 (4分)
根据说明中的描述,给出图3-2中类C4、C5、Patient 和Dental Staff的必要属性。
正确答案:
C4属性:治疗项目名称、治疗项目描述、治疗的牙齿、治疗的费用、医护人员等
C5属性:就诊时间、就诊费用、就诊费用、支付代码、病人支付费用、医保支付费用等
Patient属性:姓名、身份证号、出生日期、性别、首次就诊时间、最后一次就诊时间等
Dental Staff属性:姓名、职位、身份证号、家庭住址、联系电话等
16.8分
2. (阅读理解)
【2019上 试题三(共15分)】
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某图书公司欲开发一个基于Web的书籍销售系统,为顾客(Customer)提供在线购买书籍(Books)的功能,同时对公司书籍的库存及销售情况进行管理。系统的主要功能描述如下:
(1)首次使用系统时,顾客需要在系统中注册(Register detail)。顾客填写注册信息表要求的信息,包括姓名(name)、收货地址(address)、电子邮箱(email)等,系统将为其生成一个注册码。
(2)注册成功的顾客可以登录系统在线购买书籍(Buy books)。购买时可以浏览书籍信息,包括书名(title)、作者(author)、内容简介(introduction)等。如果某种书籍的库存量为0,那么顾客无法查询到该书籍的信息。顾客选择所需购买的书籍及购买数量 (quantities),若购买数量超过库存量,提示库存不足;若购买数量小于库存量,系统将显示验证界面,要求顾客输入注册码。注册码验证正确后,自动生成订单(Order),否则提示验证错误。如果顾客需要,可以选择打印订单(Print order)。
(3)派送人员(Dispatcher)每天早晨从系统中获取当日的派送列表信息(Produce picklist),按照收货地址派送顾客订购的书籍。
(4)用于销售的书籍由公司的采购人员(Buyer)进行采购(Recorder books)。采购人员每天从系统中获取库存量低于再次订购量的书籍信息,对这些书籍进行再次购买,以保证充足的库存量。新书籍到货时,采购人员向在线销售目录(Catalog)中添加新的书籍信息(Add books)。
(5)采购人员根据书籍的销售情况,对销量较低的书籍设置折扣或促销活动(Promote books)。
(6)当新书籍到货时,仓库管理员(Warehouseman)接收书籍,更新库存(Update stock)。
现采用面向对象方法开发书籍销售系统,得到如图3-1所示的用例图和图3-2所示的初始类图(部分)。
(1) (简答题)
【问题1】(6分)
根据说明中的描述,给出图3-1中A1〜A3所对应的参与者名称和U1〜U3处所对应 的用例名称。
正确答案:
A1:Buyer
A2:Warehouseman
A3:Dispatcher
U1:Register detail
U2:Buy books[Print order]
U3:Buy books
16.6分
(2) (简答题)
【问题2】(6分)
根据说明中的描述,给出图3-1中用例U3的用例描述。(用例描述中必须包括基本事件流和所有的备选事件流)。
正确答案:
U3用例描述:
参与者:顾客
主要事件流:
1. 顾客登录系统
2. 顾客浏览书籍信息;
3. 顾客检查某种书籍的库存量是否为0;
4. 顾客选择所学购买的书籍及购买数量;
5. 系统检查库存量是否足够;
6. 系统显示验证界面;
7. 顾客验证;
8. 系统自动生成订单;
备选事件流:
3a. 若库存量为0则无法查询到书籍信息,退回到2;
5a. 若购买数量超过库存量,则提示库存不足,并退回到4;
7a. 若验证错误,则提示验证错误,并退回到6;
8a. 若顾客需要可以选择打印订单。
10分
(3) (简答题)
【问题3】(3分)
根据说明中的描述,给出图3-2中C1〜C3所对应的类名。
正确答案:
C1:Customer
C2:Order
C3:Books
标签:单选题,yznu,模型,2023,视图,答案,软件,题库,正确 From: https://blog.csdn.net/weixin_58678536/article/details/139819239