⑴ 软件工程试题,谁知道答案
一, 单项选择题(每题1分,共10分):
1. ( ) 计算机系统就是:
A) 主机,显示器,硬盘,软驱,打印机等.
B) CPU,存储器,控制器,I/O接口及设备.
C) 计算机硬件系统和软件系统.
D) 计算机及其应用系统.
2.( )产生软件危机的原因主要与两个方面的问题有关:
A) 软件在计算机中很难识别,存在磁盘中也看不到.
B) 软件设计对人的智商要求很高,也要求很高的资金投入.
C) 软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用
的方法不正确.
D) 软件很难理解,硬件也很复杂.
3.( )软件开发瀑布模型中的软件定义时期各个阶段依次是:
A) 可行性研究,问题定义,需求分析.
B) 问题定义,可行性研究,需求分析.
C) 可行性研究,需求分析,问题定义.
D) 以上顺序都不对.
4.( )软件维护的四类维护活动是:
A) 改正性维护,适应性维护,完善性维护和预防性维护.
B) 适应性维护,完善性维护,抢救性维护和辅助性维护.
C) 改正性维护,适应性维护,完善性维护和辅助性维护.
D) 适应性维护,完善性维护,抢救性维护和预防性维护.
5.( ) 可行性研究主要从以下几个方面进行研究:
A) 技术可行性,经济可行性,操作可行性.
B) 技术可行性,经济可行性,系统可行性.
C) 经济可行性,系统可行性,操作可行性.
D) 经济可行性,系统可行性,时间可行性.
6.( ) 系统逻辑模型主要由以下内容:
A) 数据流程图,数据字典,简要的算法描述.
B) 程序流程图,Jackson图,IPO图.
C) 数据流程图,数据字典,ER图.
D) Jackson图,ER图,IPO图.
7. ( ) 耦合是对软件不同模块之间互连程度的度量.各种耦合按从强到弱排列如下:
A) 内容耦合,控制耦合,数据耦合,公共环境耦合.
B) 内容耦合,控制耦合,公共环境耦合,数据耦合.
C) 内容耦合,公共环境耦合,控制耦合,数据耦合.
D) 控制耦合,内容耦合,数据耦合,公共环境耦合.
8. ( ) 在详细设计阶段所使用到的设计工具是:
A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.
B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图.
C) 判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图.
D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图.
9. ( ) 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:
A) 模块的作用域应在模块的控制域之内.
B) 模块的控制域应在模块的作用域之内.
C) 模块的控制域与模块的作用域互相独立.
D) 以上说法都不对.
10. ( ) 包含所有可能情况的测试称为穷尽测试.下面结论成立的是:
A) 只要对每种可能的情况都进行测试,就可以得出程序是否符合要求的结论.
B) 一般来说对于黑盒测试,穷尽测试是不可能作到的.
C) 一般来说对于白盒测试,穷尽测试是不可能作到的.
D) 在白盒测试和黑盒测试这两个方法中,存在某一个是可以进行穷尽测试的.
二, 填空题(每题1分,共10分)
1.软件危机是指在( )所遇到的一系列严重问题.
2.在软件开发的各个阶段经过阶段评审后的文档和程序代码成为( ).
3.结构程序设计的基本思想是( ).
4.总体设计的第二项任务是设计软件的结构,即确定( ).
5.描绘物理系统的传统工具是( ).
6.如果模块内所有元素都使用同一个输入数据和产生同一个输出,称为( )内聚.
7.数据流程图按照信息流的类型主要分为( )两种.
8.( )年,( )和( )证明了SISO程序只需要三种基本控制结构.
9. 从应用特点分类,高级语言主要分为( ),( )和( )三类.
10. 黑盒测试又称为( ),白盒测试也称为( ).
三, 多项选择题(以下各题均有两个以上的正确答案.将正确答案的标号填入各题前面括号
内,注意多选或少选该题均不得分,每题2分,共20分):
1.( )软件开发各个阶段所耗费的时间或工作量是:
A) 可行性研究占5%;
B) 综合测试占40%;
C) 设计阶段在所有开发阶段所占的比例最大.
D) 编码和单元测试占20%.
E) 以上说法都不对.
2.( )对软件开发与维护,以下观点是正确的:
A) 为了加快开发速度,可以一边写程序,一边设计文档.
B) 对于软件而言,程序和软件配置成分是同等重要的,不能重此偏0.
C) 把软件漫长的生命周期划分为若干个阶段的出发点是降低开发的困难程度和
简化复杂性.
D) 可行性研究的主要任务就是确定软件项目的工程规模和目标.
E) 面向对象的方法学比传统的软件开发方法开发软件容易,开发效率提高.
3.( ) 对于以下图形工具的作用,
A) 数据流程图和数据字典共同构成软件的高层数据模型.
B) 层次图是用来描述软件结构的,不能用于描述数据结构.
C) IPO图能方便地描绘输入数据,对数据的处理和输出数据的关系,它是美国微
软公司发明并逐渐发展完善起来的.
D) ER图描述现实世界中的实体,不涉及这些实体在系统中的实现方法.
E) Yourdon图实际上也是结构图,所以它与层次方框图是等价的.
4.( ) 面向数据结构的设计方法有:
A) Jackson方法.
B) Warnier方法.
C) Halstead方法.
D) PAD方法.
E) G. M y e r s方法.
5.( )以下测试方法是白盒测试方法的是:
A) 判定覆盖和边界值分析法.
B) 等价划分和错误推测法.
C) 路径覆盖和判定/条件覆盖法.
D) 条件组合覆盖和语句覆盖法.
E) 条件覆盖和错误推测法.
6.( )以下关于集成测试的论述,正确的是:
A) 先对每个模块分别测试,然后统一组装成软件系统的方法称为非渐增式测试.
B) 自顶向下的集成测试本质上是渐增式测试方法.
C) 存根模块是渐增式测试方法中使用的,在非渐增式测试中也用不到桩模块.
D) 一般来说,存根模块和桩模块在用过以后,不会作为软件的正式模块而存在.
E) 由于是对程序进行测试,测试方案的设计一般在详细设计阶段完成以后才进行.
7. ( ) 对于程序设计,正确的陈述是:
A) 为了减少程序的长度,最好不要在程序中增加注释.
B) 变量名以简洁为好,名字太长了难以理解,增加了程序的复杂性.
C) 程序语句要求体现层次性,以使结构清晰明显.
D) 数据结构的组织和复杂程度在设计期间确定,但数据说明的风格是在写程序时确
定的.
E) 对所有的输入数据都要进行检验,以便确定其合法性.
8. ( ) 内聚标志一个模块内各个元素彼此结合的紧密程度.
A) 内聚是信息隐蔽和局部化概念的自然扩展.理想内聚的模块只做臆见事情.
B) 一个模块所包含的任务必须在同一段时间内执行,该模块的内聚为时间内聚.
C) 一个模块内的处理元素是相关的,必须以特定次序执行,称为过程内聚.
D) 顺序内聚和功能内聚是高内聚,而偶然内聚和逻辑内聚是低内聚.
E) 时间内聚,通信内聚,过程内聚是中等程度的内聚.
9. ( )McCabe方法对程序复杂程度的定量度量的结果称为程序的环行复杂度,
其计算公式是:V(G)=m-n+p.
A) 应用McCabe方法的前提是对应的程序图变换成强连通图.
B) V(G)代表程序图G的线性无关环的个数.
C) 一般对于结构化程序,p恒等于1.
D) m是有向图G中的弧数.
E) n是有向图G中的节点数.
10.( )详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统.
A) 详细设计阶段不具体的编写程序.
B) 详细设计阶段的设计结果基本决定了最终的程序代码质量.
C) 详细设计的目标不仅要逻辑上正确的实现每个模块的功能,而且对每个模块的处
理过程也应确保简明易懂,清晰具体.
D) 详细设计的关键技术是结构程序设计技术.
四, 基本概念题(每题2分,共10分)
1. 软件工程.
2. 软件测试.
3. 数据流图及其组成和作用.
4. 结构化分析方法.
5. 信息隐蔽原理.
五, 叙述分析题:(每题5分,共20分)
1. 试述对用户要求没有完整的认识就匆忙着手编写程序是许多软件开发工程失败的主要
原因.
2. 简述软件可靠性和可用性的定义,平均无故障时间的计算公式及应用.
3. 简述软件重用的定义,范围和主要技术.
4. 说明软件测试在软件开发阶段的地位和作用.比较测试和调试的异同点.
六, 设计,作图,计算题(每题5分,共30分)
1.以下是某系统的数据流程图,请将其转换成相应的SC图.
2. 研究下面的伪码程序,完成以下问题:
START
INPUT X,N
DIMENSION A(N),F(N)
DO I=1 TO N
INPUT F(I)
END DO
K=0
DO WHILE (KA(K)=0
DO J=1 TO N-K
A(K)=A(K)+F(J)*F(J+K)/(N-K+1)
END DO
PRINT K*X,A(K)
K=K+1
END DO
STOP
A) 画出等价的控制流程图,.
B) 判断是否结构化的,说明理由.
C) 写出对应的PAD图.
D) 用McCabe方法计算环行复杂度.
3. 为方便储户,某银行拟开发计算机储蓄系统.储户填写的存款单或取款单由业务员键
入系统.如果是存款,系统记录存款人姓名,住址,存款类型,存款日期,利率等信
息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户.
1)画出该系统的高层数据流程图和第二层细化流程图.
2)对数据流定义数据字典.
4. 某航空公司规定,乘客可以免费托运不超过20公斤的行李.当行李重量超过20公斤
时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元.对残疾乘客超重部分
在舱位等次相同的情况下收费减半.用判定表描述行李托运费的处理过程.
5.设计程序,先读入三个整数值代表一个三角形的三条边,然后根据这三个值判断该三
角形属于不等边,等腰或等边三角形中的哪一种.请设计满足判定/条件覆盖标准的测试
方案.
6.设模块RootForSquare(int a,int b,int c,int *x,int *y) 的功能是一元二次方程求根.请使用
等价划分法来设计测试方案.
⑵ 软件工程师笔试题集
用友笔试题目NET面试题专栏 (部分)
用友, 笔试, NET, 专栏, 题目
1、 面向对象的语言具有___封装__性、___继承__性、___多态_性。
2、 能用foreach遍历访问的对象需要实现 __ IEnumerable __接口或声明__GetEnumerator __方法的类型。
3、 以下叙述正确的是:
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。
C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
4、 简述 private、 protected、 public、 internal 修饰符的访问权限。
Private 私有成员:只有本类内部可以访问
Protected 受保护成员:只有本类和本类的子类可以访问
Public 公有成员:完全公开,没有访问限制
Internal :在同一命名空间下可以访问
5、写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)
select top 10 * from A where id not in (select top 30 id from A)
5、 DataReader与DataSet有什么区别?
(1)、dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表;
(2)、dataset连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接
(3)、datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
6、 简述什么是装箱?
把一个值类型的数据转换为引用类型的数据的过程叫装箱。
7、 下列选项中,(c)是引用类型。
a) enum类型 b) struct类型
c) string类型 d) int类型
8、 一个数据库中的一个表中有 year 、salary这两个字段,原表中数据如原表,请用SQL查询出结果显示的数据:
原表中数据:
year salary
—————————————–
2000 1000
2001 2000
2002 3000
2003 4000
结果表中数据:
year salary
——————————————
2000 1000
2001 3000
2002 6000
2003 10000
写出SQL语句如下:
create table test([year] int ,salary int)
insert test(year,salary) values(2000,1000)
insert test(year,salary) values(2001,2000)
insert test(year,salary) values(2002,3000)
insert test(year,salary) values(2003,4000)
select t1.year, (select sum(salary) from test as t2 where t2.year
⑶ 有谁有.net软件工程师笔试题目,给我一份啊,非常感谢
.net软件工程师笔试题目
1. 请为ASP.Net下一个定义。
2. 请解释B/S,并比较C/S,给出B/S的优点。
3. 请说明人们提出“面向对象编程”概念的用意是什么?
4. 阅读以下C++代码,并回答问题。
CPerson *aPerson = new CChinese();
aPerson->Say();
aPerson = new CAmerican();
aPerson->Say();
return 0;
(1) 上述代码的范型是“结构化编程”、“面向对象编程”、“泛型编程”中的哪一种,为什么?
(2) 为上述代码构造一个函数签名。
(3) 说出上述代码存在的问题。
(4) 请说出“CPerson”、“CChinese”、“CAmerican”三者之间的关系。
(5) 请说明第二个“aPerson->Say( )”代码调用的是“CChinese”还是“CAmerican”的“Say”函数?这体现了什么特征?
5. 请说出三种程序的基本结构。
6. 请说明什么是“客户程序”。
7. 请指出以下哪几个变量名取得比较好?
(1)abc (2)m_Name (3)aCat (4)curTime (5)currentTime
(6)seekCount4Person (7)sc_Person (8)found (9)fnd
(10)iCount (11)count
8. 请说明“关系表达式和逻辑表达式”与“命题逻辑和谓词逻辑”之间的关系。
9. 请说出C++中独立函数的构成元素。
10. 请解释“接口”的概念。
11. 阅读以下C++代码,并回答问题。
int add( int x = 0, int y = 0 )
{ return x + y;}
float add( float x = .0f, float y = .0f )
{ return x + y;}
double add( double x, double y )
{ return x + y;}
void main(void){
cout << add( 1, 2 ) << endl;
cout << add( 3.5, 4.7 ) << endl;
cout << add( ) << endl; }
(1) 上述代码使用到的是“Overload”技术还是“Override”技术?
(2) 在C++中可以采用什么技术简化上述代码,请实现之。
(3) 说出上述代码存在的问题。
12. 请说出C++中“成员变量的私有”、“定义类的成员”、“某个类是另外一个类的子类”、“Override和virtual成员函数”四种代码表现分别体现了面向对象的四大基本特征的哪一个?
13. 请说出C++中“类的组合”、“成员函数的参数为某个类的对象”、“某个类是另外一个类的子类”、“纯虚成员函数”四种代码表现分别体现了面向对象的四种基本关系的哪一种?
14. 请说出为什么在C++中析构函数最好定义为虚函数?
15. 请说明C++中,怎样让一个客户程序无法实例化某个类的对象。
16. 请说明C++中,怎样让整个程序只能实例化一次某个类的对象。
17. 请看以下的UML图,编写“CAnimal”、“CDog”、“CEye”三个类的C++声明代码。
18. 阅读以下C++代码,并回答问题。
class CString {
public:
int Compare(const char* s);
CString(CString& s);
int Compare(CString& s);
CString& Add(CString& s);
int GetLength();
const char* C_Str();
CString(char c, unsigned int n = 1);
CString(const char* s);
CString();
virtual ~CString();
protected:
int CalLength(const char* s);
void Clear();
void Init();
private:
unsigned int m_length;
char* m_str;
};
(1) 请说明该类有几个构造函数?
(2) “const char* C_Str()”为什么要加上const关键字?
(3) 如果“CString s = otherString;”会不会调用构造函数,如果调用将会调用哪个构造函数?
(4) 请实现“GetLength”成员函数。
(5) 请实现“CString(char c, unsigned int n = 1);”构造函数。
(6) 请实现“Compare(const char*s);”成员函数。
(7) 请实现“Clear();”成员函数。
(8) 如果增加“InputString”成员函数用于从键盘输入字符串,请问是否合适,为什么?
(9) 请问代码“Compare(CString& s){ return Compare(s.C_Str());}”是否可行,如果可行,有什么好处?
19. 请说明数据库中View是“外模式”、“模式”还是“内模式”?
20. 请看下属公式说明的是什么连接运算?
21. 阅读以下数据库模式,并回答问题。
Course( CourseID#, Name, CheckType, Property )
Student( StudentID#, Name, ClassID )
Class( ClassID#, Name, SpecialityID, DepartmentName )
Speciality(SpecialityID#, Name, DepartmentID )
Department(DepartmentID#, Name, Address )
ChooseCourse(StudentID#, ClassID#, CourseID#, Term#, Score1, Score2)
注意:上述“#”表示主码。
(1) 写SQL,求每门课程的修读人数(结果中包含课程名称)。
(2) 写SQL,求修读人数大于30人的课程(结果中包含课程名称)。
(3) 写SQL,求修读课程数多于1门的学生(结果中包含学生姓名)。
(4) 写SQL,求“信管04-1班”每位同学选修的学分总数(结果中包含学生姓名)。
(5) 写SQL,求每个学院(部门)的学生人数 。
(6) 请说出上述数据库模式是否符合第四范式?如果不符合,请将其进行规范化处理。
(7) 请说出为什么需要规范化处理?
(8) 请为上述规范化到第四范式的数据库绘制出概念模型(ER图)。
22. 请完成下表的填写。
隔离级别
脏读
不可重复读取
幻像
READ UNCOMMITTED
READ COMMITTED(默认)
否
REPEATABLE READ
是
SERIALIZABLE
否
注意:“是”表示某隔离级别会出现某种错误的情况,“否”则反之。
23. 请按照下图解释“三层系统架构”。
Presentation
Business
Data
DB
网页
24. 请完成以下翻译(可以精简成内容提要)。
Passage One:
The .NET Framework provides a first-class foundation for building and consuming Web services based off of the fundamental protocols of XML, SOAP, and WSDL. But despite the interoperable and loosely coupled beauty of these traditional Web services, before long one finds one's self wanting for more. For instance, in the area of security, it seems contradictory to depend on HTTP security mechanisms when SOAP messages were designed to hold metadata-like security information. Similarly, the request/response nature of HTTP, which fits perfectly for many message exchange patterns, seems like an overly restrictive one-size-fits-all solution when other message exchange patterns would fit your business needs better. This is a particularly frustrating restriction because the SOAP specification goes out of its way to avoid such limitations in Web service message exchange.
Web Services Enhancements (WSE) is the Microsoft extension to the Web service support in the .NET Framework that builds on the foundation of XML, SOAP, and WSDL with higher-level protocols that support such things as message-based security, policy-based administration, and the flexibility to move message-exchange out of the HTTP-only world. The result is a Web service platform that can save developers from the tedious, time-consuming, and fragile world of developing higher-level requirements themselves. Instead they can rely on the supported and interoperable solution that is provided by WSE.
Passage Two:
The BaseDataBoundControl is the root of all data-bound control classes. It defines the DataSource and DataSourceID properties and validates their assigned content. DataSource accepts enumerable objects obtained and assigned the ASP.NET 1.x way.
Mycontrol1.DataSource = dataSet;
Mycontrol1.DataBind();
DataSourceID is a string and refers to the ID of a bound data source component. Once a control is bound to a data source, any further interaction between the two (in both reading and writing) is handled out of your control and hidden from view. This is both good and bad news at the same time. It is good (rather, great) news because you can eliminate a large quantity of code. The ASP.NET framework guarantees that correct code executes and is written according to recognized best practices. You're more proctive because you author pages faster with the inherent certainty of having no subtle bugs in the middle. If you don't like this situation—look, the same situation that many ASP.NET 1.x developers complained about—you can stick to the old-style programming that passes through the DataSource property and DataBind method. Also in this case, the base class saves you from common practices even though the saving on the code is less remarkable.
⑷ 求解软件工程测试题
把流程图给他画出来,立马显而易见
⑸ 软件工程考试题
问题识别 就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行是所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标.
分析与综合 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型).
制订规格说明书 即编制文档,描述需求的文档称为软件需求规格说明书.请注意,需求分析阶段的成果是需求规格说明书(好象软考曾经考过这个问题),向下一阶段提交.
评审 对功能的正确性,完整性和清晰性,以及其它需求给予评价.评审通过才可进行下一阶段的工作,否则重新进行需求分析。