名词解释 软件工程 软件需求
体系结构风格优缺点
2017
软件工程 45分
软工今年的题型也变了好多,题目量明显增加,每题的分值都降了不少。往年一题答题普遍在10分、15分左右,今年很平均,每题6分,而且每题都给定了限定的角度。
一.名词解释(4分)
1.软件工程 2.持续集成
二.需求题(5分)
1.需求分哪几个层次?
2.根据图书馆管理系统各举一个每个需求的例子
三.体系结构题(6分)
某一系统能实现如下功能,将一组字符串交替执行大小写转换。例如 I love this game转化成I LoVe ThIs GaMe,根据某种体系结构风格,给出系统物理设计模块依赖图,并解释相应模块的职责。
这题给了一个图例,split指向lower、upper,然后upper指向merge
四.面向对象题(6分)
1.分析下面这个类的设计,如果合理,请解释原因,不合理则分析原因并作出修改
Public class Person{
String name;
Public gerAge(){};
}
五.交互、协作(6分)
下列是计算雇员所得税代码,请从交互和协作的角度分析代码是否合理
Public class Employee{
Double income;
Double getTax(){
Return income*tax.getTaxrate();
}
}
Public class Tax{
Double taxrate;
Double getTaxrate(){
Return taxrate;
}
}
六.面向对象(6分)
下列是网络选课系统的部分代码,请从面向对象角度使用多态对以下代码进行合理修改。
processCmd(int cmdID){
switch(cmdID){
case1:addCourse();break;
case2:removeCourse();break;
...
}
}
七.消除下列代码的重复(6分)
Private getTotalSum{
代码过长没来得及抄。。。
}
八.测试题(6分)
1.什么是黑盒测试?
2.有哪些黑盒测试的方法?
2016...
B 软件工程
软工包括两道问答题以及三道大题,自己做的不好,今年主要复习的是类图的点,没想到考的是用例。
问答题
1) 软件质量保障常用的是哪三种手段? (5分)
2) 给了5个需求描述,说出他们分别是哪种类型的需求。 (5分)
大题。
1) 分析ATM机的取款操作, 编写他的用例。 (这个点平时都没注意,平时都是理解,没想到这次是让编写用例描述,只能凭感觉写) (10分)
2) 分析下面代码违反了哪个面向对象原则?有什么后果?应如何改进? (10分)
public class Employee {
private string EmployeeName { get ; set;}
private int EmployeeNo {get ; set;}
public Employee insert() {
//database logic code
}
public Employee FindByID() {
// database logic code
}
public void GengerateReport() {
// set reportFormation
}
}
(这道题大概框架就是这个样子 , 具体的参数我不太记得了,不过应该不影响分析)
3) 一道关于契约式设计和防御式编程的代码修改题。 (15分)
这道题题目很长,具体我不太记得了,大概就是讲取款的操作,有几个条件:①取款金额必须是100的整数倍 ② 每次取款金额不能超过3000 ③每天的取款金额不能超过两万
(具体代码太长我忘了,这部分我没复习到,瞎写的,题目估计没多大帮助,教训就是一定要全面复习,感觉重点的类图,设计测试用例,都没考)