软件工程习题200题之二
我的软件工程笔记99年末的一段,是当时几乎所有软件工程书籍的习题。这里整理出来,希望对大家学习软件工程有益。
1、 Statemate方法是如何解决实时设计的特殊问题的?
2、 什么是规格说明语言?它具有什么性质?
3、 什么是设计语言?它具有什么性质?
4、 CASE环境语言提出了什么要求?如何实现?
5、 什么是原型开发语言?它具有什么性质?
6、 如何使原型开发语言可执行?
7、 编程语言从心里工程角度看各具有什么特性?
8、 评价选择可用编程语言的准则是什么?
9、 举例说明编程语言对软件工程的各个步骤的影响。
10、 编程语言中的基础有哪些方面?
11、 第一代至第四代语言是如何划分的?各具有什么特点?包括那些语言?
12、 程序中与编程风格有关的因素有哪些?为建立良好的编程风格应遵循什么原则?
13、 提高编程效率应从哪些方面着手?
14、 人机界面设计包括哪些方面?
15、 在人机界面设计中应如何考虑用户的使用要求?
16、 人机界面的设计应遵循什么原则?
17、 人机交互方式分哪几种?
18、 如何采用结构化的分析方法和面向对象分析方法来明确人机界面设计的任务?
19、 在进行人机界面设计的初期(概要设计阶段)必须解决那些问题?
20、 人机界面的开发主要采用那些模型?
21、 界面设计有哪些一般准则?
22、 何为智能人机界面?智能人机界面由哪几部分构成?各部分之间存在什么关系?
23、 多媒体技术可用于解决人机界面设计中的什么问题?
24、 为什么在CASE中需要有数据库的支持?
25、 软件工程中有哪些数据需要管理?
26、 数据模型的评价准则有哪十个方面?他们对CASE有什么意义?
27、 CASE需要什么样的数据库支持?
28、 为什么说软件设计十分重要?
29、 完成良好的软件设计应遵循哪些原则?
30、 抽象有哪几种形式?他们各起什么作用?
31、 如何理解模块独立性?用什么指标来衡量模块独立性?
32、 为什么数据设计是设计活动中十分重要的一项?进行数据设计应遵循什么原则?
33、 何为体系结构设计?进行体系结构设计应遵循什么原则?
34、 什么是结构化设计?他在软件发展史上具有什么地位?
35、 过程设计语言具有哪些特征?
36、 什么是对象?对象有哪几种形式?
37、 什么是类?类与对象间是什么关系?
38、 面向对象方法特征有哪些?
39、 面向对象方法基本要点是什么?
40、 面向对象设计涉及那几个主要活动?面向对象设计如何体现三个主要的软件设计概念:抽象信息、隐藏和模块化?
41、 面向对象分析涉及那几个主要活动?如何应用系统建模?
42、 Booch方法中运用了那几类图表?他们各有什么作用?
43、 Booch方法包括那些开发步骤?
44、 Petri网是与分析与设计哪类系统?它是通过什么方式来反映系统动态行为的?
45、 运用Petri网进行系统建模与性能分析的具体步骤是什么?
46、 Petri网客分析系统哪些行为特征?这些特征含义是什么?
47、 Petri网的性能分析方法有哪几种?其原理各是什么?
48、 软件开发工具分哪几类?各完成什么工作?
49、 软件开发环境一般用来解决哪几类问题?
50、 何为CASE,Z-CASE含义是什么?
51、 环境集成包括那三个方面的集成?
52、 集成方式分哪几种?那种方式使集成思想得到充分体现?如何体现的?
53、 软件质量的含义是什么?
54、 影响软件质量的因素分哪两大类?
55、 Boehm和McCall等人从哪些方面来确定软件质量?他们有什么异同?
56、 ISO1985提出的关于软件质量度量模型有哪三个层次组成?它有哪些特点?
57、 软件质量的各种特性怎样度量?
58、 什么是软件质量保证的策略?现代软件质量保证的策略是什么?
59、 软件质量保证活动有哪七个主要方面?如缺少一两个方面行不行?是否还有没有考虑到的方面?
60、 为什么说软件正是技术评审是软件质量保证的一个最基本的活动?
61、 为什么在软件进行技术评审中要有一张预先设定的评审检查表?
62、 软件的缺陷为什么在软件开发和维护过程中会扩大?硬件会产生这样的问题吗?
63、 什么是Halstead软件科学度量?这种方法的实质是什么?它可以用来进行软件质量哪些方面的度量?它有哪些优缺点?
64、 什么是McCabe复杂性度量?这种方法的实质是什么?它可以用来进行软件质量哪些方面的度量?它有哪些优点?
65、 什么是软件可靠性和软件可用性?他们能否定量计算?
66、 什么是软件安全性?软件安全性与软件可靠性有什么不同?为什么有了软件可靠性还要考虑软件安全性?软件安全性应从哪些方面去考虑?
67、 为什么说软件质量保证中最重要的两个方面是:对软件质量保证活动和软件配置的审计;软件质量保证计划的制定和标准的采用?
68、 为什么说软件测试是软件开发中不可缺少的重要的遗患,但不是软件质量保证的“安全网”?
69、 为什么把软件测试的目标定义为只是发现错误?
70、 软件测试应当遵循什么原则?为什么要遵循这些原则?
71、 单元(模块)测试、组装测试和确认测试各自主要的目标是什么?他们之间有哪些不同?相互有什么关系?
72、 什么是黑盒子测试和白盒子测试?他们都适应哪些测试?
73、 单元测试时,为什么需要另外开发驱动程序和连接程序?
74、 比较在组装测试中,自顶向下与自底向上、先深度后宽度与先宽度后深度结合的优缺点。
75、 为什么说在确认测试阶段,如果发现对用户需求理解的错误,要修改就要付出极大的代价?
76、 什么是软件测试中逻辑覆盖?什么是语句、分支、条件、分支/条件、多重合循环覆盖?一般软件测试至少应保证哪些覆盖?为什么?
77、 什么叫邓家华分?在确定等价划分测试用例中,为什么在设计一个测试用例时,要使其尽可能多的覆盖未被覆盖过的合理的等价类,而是其只覆盖且仅一个未被覆盖过的不合理的等价类?
78、 什么是边界值分析?他与等价类划分有什么不同?
79、 什么是因果图?他用于何处?
80、 什么是程序图?他用于何处?
81、 纠错技术中的归纳法和演绎法的中心思想是什么?
82、 什么是软件测试中的回溯测试?他有什么用处?
83、 为什么实时系统测试较一般系统测试要困难得多?
84、 根据统计,软件维护国作量占软件整个生存周期工作量的10%~70%,这个比例随着时间的退役还在增加,为什么软件维护需要这么大的工作量?
85、 软件维护分哪几种类型?根据统计,在软件维护中,那种类型的维护所占的比重最大?那种类型的维护所占的比重最小?能说出他们的原因吗?
86、 软件维护工作有哪些特点?为什么?
87、 什么是软件维护的副作用?如何防止软件维护的副作用?
88、 什么是软件的可维护性?如何提高软件的可维护性?软件的可维护性与软件维护工作有什么关系?为什么在软件开发过程中,要特别重视软件的可维护性?
89、 软件的可维护性与那些软件质量特性有关?能确定它们的优先次序吗?
90、 什么是软件的反推工程和再生工程?他们主要用于何处?
91、 一个软件的维护任务的工作程序是什么?是否需要设立专门的维护机构?他们的职责是什么?
92、 如何保证和提高软件维护工作的质量和效率?
93、 有人说:“修改软件是危险的”,你对这句话有什么看法?
94、 在软件开发中,在重视技术问题的同时,为什么还要重视管理问题?两者哪个重要?有哪些主要的管理问题?
95、 什么是软件的工作范围?一个软件的工作范围应包括哪些主要内容?对他们有些什么具体要求?
96、 在确定了软件的工作范围之后,为什么还要确定软件开发所需要的人力资源、硬件资源和软件资源?他们对软件开发有什么影响?
97、 成本估算方法有哪几种?
98、 影响软件成本的主要因素有哪些具体方面?
99、 什么是IBM、SLIM和COCOMO成本估算模型?它们之间有什么不同?
100、 什么是软件生产率数据?有哪些主要因素影响这些数据?为什么要重视这些数据?这些数据对软件开发有什么意义?
101、 怎样具体进行软件成本估算?他们分哪几步?
102、 什么是软件开发工作量(人-周 或 人-月 或 人-年)?什么是软件开发时间(周期)(周或月或年)?什么是软件开发进度?三者之间有什么关系?
103、 在安排软件开发进度时,应该考虑哪些问题?为什么?
104、 什么是软件配置管理?他有什么作用?
105、 什么是基线?他在配置管理中有什么作用?
106、 什么是软件配置管理的机制?有哪几类机制?他们怎样实现软件配置管理?
107、 什么是软件开发组织?开发组织有哪几种方式?
108、 什么是主程序员小组?这种组织形式有什么好处?
109、 什么是软件产权?为什么软件产权要保护?
110、 什么是著作权、版权和专利权?他们有哪些异同?
111、 什么是商标权和商业秘密权?
112、 著作权有哪几种登记方式?办理软件著作权登记有哪些基本要求?
113、 著作权为什么要进行登记?
(完)