一选择:
1.在设计测试用例时,应当包括(C)
A、合理的输入条件
B、不合理的输入条件
C、合理的和不合理的输入条件
D、部分条件
2.在观察者模式中,表述错误的是( C )
A.观察者角色的更新是被动的。
B.被观察者可以通知观察者进行更新
C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行
D.以上表述全部错误
3.通过保证每个模块只完成一个特定的功能,这样可以大大减少模块间的(B)
A、内容耦合 B、控制耦合 C、公共耦合 D、数据耦合
4、UML是一种(A)
A、面向对象的程序设计语言
B、面向过程的程序设计语言
C、软件系统开发方法
D、软件系统建模语言
5、下面关于领域模型的描述,不正确的是(A)
A、领域模型就是软件对象图
B、应用UML表示法,领域模型被描述为一组没有定义操作的类图
C、创建领域模型的原因之一是帮助理解关键业务概念和词汇
D、领域模型和领域层使用相似的命令可以减少软件表示与我们头脑中的领域模型的差异
6、软件设计中的(B)设计指定各个组件之间的通信方式以及各组件之间如何相互作用
A、数据
B、接口
C、结构
D、组件
二、简答题
1、请简要说明需求分析的三个层次包括那些主要内容。
答:软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求。
业务需求反映了组织机构或客户对系统、产品高层次的目标要求。
用户需求文档描述了用户使用产品必须要完成的任务。
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
2、面向对象的测试和传统开发方法的测试有什么不同 ?
答:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块。
(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接
的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略。
3、软件工程的7条基本原理是什么?
答:1)用分阶段的生存周期计划严格管理
2)坚持进行阶段评审
3)实行严格的产品控制
4)采用现代程序设计技术
5)结果应能清楚地审查
6)开发小组的人员应少而精
7)承认不断改进软件工程实践的必要性
4、名词解释
(1) 多态:
(2) 重构:
(3) 模块化:
(4) 可修改性:
(5) 实现视图:
[答案与解析]
本题主要考查对于软件工程重要概念的理解与掌握。
多态:在面向对象语言中,接口的多种不同的实现方式即为多态;
重构:通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性;
模块化:是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性;
可修改性:可修改性描述了程序能够被正确修改的难易程度;
实现视图:也称开发视图,它描述了在开发环境中软件的静态结构。
5、用例建模的步骤:
1) 从需求中派生(抽象)用例,
2) 描述每个用例何时何地开始以及何时结束(高级用例)。
3) 根据描述用例上下文使用用例图访问子系统/方面。
4) 关联用例,并在需要时与参与者进行关联。
5) 逐步指定参与者和系统如何交互以完成业务任务(扩展用例)。
6、软件测试的步骤以及测试的对象是什么?
单元测试,测试对象为单元模块
集成测试:测试对象是组装后的程序模块
确认测试:测试对象是可运行的目标软件系统。
三:应用题
1.新闻管理系统主要用来发布新闻,管理员只需要一个,登录后可以 在后台发布新闻。任何人可以浏览新闻,浏览者可以注册成为系统会员,注册后 可对新闻进行评论。管理员在后台可以对新闻、评论、注册会员进行管理,如修改、删除。
请画出该新闻管理系统的用例图:
2.下面是某系学籍管理的一部分(A)(B)分别是同一模块A的两个不同的设计方案,你认为哪一个设计方案较好?请陈述理由
答:
我认为(b)方案较好。要评价一个软件结构设计,主要看模块的独立性,要从软件结构的耦合性和内聚性两个方面来衡量。对于(a)方案,模块A 与模块B 之间形成了控制耦合,因此独立性不高,而在B 模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚,内聚性不高。对于(b)方案,模块A 与B1 和B2 之间是数据耦合,独立性较强,在B1 和B2 内部,只完成单一的功能,是功能内聚,因此内聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。
3.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下。对其建立对象模型。
(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。
(2)报社下属多个发行站,每个站负责收集登陆订单,打印收款凭证等事务。
(3)报社负责分类并统计各个发行站送来的报刊订阅信息。