1、软件设计:软件工程习题200题之二 我的软件工程笔记99年末的一段,是当初几乎所有软件工程书籍的习题。这里整顿出来,希望对大家学习软件工程有益。 1、 什么是软件危机?产生软件危机的原因?怎样消除? 2、 什么是软件工程?包括哪些内容? 3、 软件生存周期包括哪些内容? 4、 软件开发模型有几个?各有什么特点? 5、 软件技术审查和管理复审的作用是什么? 6、 软件开发与写程序有什么不一样? 7、 在软件开发的早期阶段,为何要进行可行性研究?应当从哪些方面研究目标系统的可行性? 8
2、 一个软件开发系统的可行性研究报告应怎样编写? 9、 数据流图有哪几个基本符号? 10、 画数据流图标准是什么? 11、 数据流图在软件分析中的作用是什么? 12、 数据字典的作用? 13、 什么是数据字典?有几个定义?各自特点是什么? 14、 有几个效益的分析措施? 15、 需求分析的任务是什么? 16、 需求分析一般采取哪些分析技术? 17、 什么是结构化分析?他的结构化体目前哪里? 18、 简述面对对象分析技术的重要步骤? 19、 原
3、型开发技术的目标,特点是什么? 20、 简述总体设计的一般过程? 21、 什么叫软件结构?什么叫软件工程?二者之间关系? 22、 解释深度、宽度、扇出、扇入对软件的影响。 23、 什么叫模块化?M代表的含义是什么? 24、 模块化的三个重要特性是什么?阐明各自的作用。 25、 举例阐明各种耦合情况和各种内聚情况。 26、 简述设计准则的内容。 27、 简述层次方框图与软件结构图的异同点。 28、 事物型软件结构图有什么特点?原因是什么? 29、 详细设计的
4、任务是什么? 30、 什么是结构化程序设计?用N-S图表示三种基本结构。 31、 简述Jackson程序设计措施的重要内容。 32、 简述Wariner程序设计措施的重要内容。 33、 McaHei(Muahe,笔记有些含糊,未校正)措施的核心是什么?有何用途? 34、 简述程序设计语言两次本质性变化的内容及意义。 35、 C语言属于第几代语言?第四代语言特点是什么? 36、 简述高级语言的应用特点和内在特点。 37、 试分析程序设计语言特点及软件可靠性、可了解性、可修改性、可测试
5、性及成本的关系。 38、 选择一个语言的实用标准是什么? 39、 简述开发环境、计算机体系结构、软件设计措施、软件开发过程与程序设计语言之间的促进和制约作用。 40、 程序的编码格调重要体目前哪几个方面? 41、 软件测试的基本任务是什么?测试与调试区分是什么? 42、 软件测试的目标是什么? 43、 软件测试分几个步骤进行?每个步骤处理什么问题? 44、 软件测试有几个措施?每种措施的特点是什么? 45、 软件犯错有几个类型?验证其程序正确性有几个措施? 46、 什么
6、是单元测试和集成测试?他们各有什么特点? 47、 简述渐增式测试措施与非渐增式测试措施的优劣。 48、 简述存根程序 驱动程序的作用。 49、 编 最大、最小公倍数程序,并为它设计测试用例。 50、 测试的详细任务是什么?为何说调试是软件开发过程中最艰巨的任务? 51、 举出几个常用的测试工具,阐明他们的使用方法。 52、 MTTF的含义是什么?怎样计算Et值? 53、 假设有一个由1000行Pascal语句组成的程序(编译后约有5000条机器指令),请估算对它进行测试期间将发觉多少错误。为何?
7、 54、 什么叫软件维护?软件维护的基本内容是什么? 55、 软件维护分几类?每类的基本内容是什么?占软件维护总工作量的百分比是多少? 56、 软件维护有哪些特点? 57、 简述软件的维护过程。 58、 软件的可维护性与哪些原因有关?在软件开发过程中应采取哪些措施才能提升软件产品的可维护性? 59、 什么是软件工程的文档?分哪两大类?每类内容是什么? 60、 计算软件价格时,应不应当把维护费用计入成本?为何? 61、 软件项目分几类?划分依据是什么? 62、 简述软件项目
8、标特点和项目中人员的特点对软件管理的影响。 63、 软件职能管理的详细内容是什么? 64、 为何说“时间和人员不能互换”?试阐明其原因。 65、 变动分两类,论述每类特点及二者之间的区分。 66、 谈谈你对软件当代技术的了解,预测一下软件发展方向。 67、 计算机技术已不再是单一学科的发展,它是许多有关学科的融合和渗透。举例阐明你所熟悉的这方面的技术、措施和应用。 68、 何为软件?软件可分哪几个类? 69、 软件危机重要有哪些体现? 70、 什么是软件工程?试阐明软件工程是怎样克服
9、软件危机的。 71、 面对对象生存期模型与老式的生存期模型有什么区分? 72、 列出两种以上的软件开发过程模型。并阐明各自的特点。 73、 分析员职责是什么?分析员应具备什么条件? 74、 分析员应采取哪些措施来明确需求? 75、 建立系统模型有什么作用? 76、 建立良好的规格阐明的标准有哪些? 77、 为何要进行规格阐明评审? 78、 数据流图作用是什么? 79、 数据字典的作用是什么?数据字典中包括了哪些信息? 80、 何为结构化分析措施?他在
10、发展过程中得到了哪些扩充? 81、 什么是面对数据流的设计?数据流包括哪几个? 82、 怎样完成从数据流图到程序结构图的转换? 83、 面对数据流的设计措施包括那些步骤? 84、 Jackson结构化编程措施是以控制技术为中心还是以数据结构为中心?为何? 85、 Jsp措施包括那些步骤? 86、 怎样表示数据的次序结构、选择结构、重复结构? 87、 回溯用于处理Jsp措施遇到了什么问题?为何Jsp往往会晤临这种问题而别的措施往往不会? 88、 为何Jsp措施会遇到结构冲突问题?怎样处
11、理? 89、 DSSD措施包括那些步骤? 90、 DSSD措施中,逻辑输出结构和逻辑过程结构的导出各起到什么作用? 91、 什么是原型?原型应具备什么特点? 92、 什么是原型开发?原型开发包括那几类? 93、 原型开发由哪几个步骤组成? 94、 用户界面原型开发措施有哪几个?与老式的用户界面开发措施相比具备哪些优点? 95、 面对对象语言必须支持那些概念? 96、 面对对象编程语言分几大类? 97、 试阐明面对对象编程语言用哪些机制支持面对对象措施的基本概念?
12、 98、 什么是实时系统?实时设计与其他系统设计有什么区分? 99、 实时系统设计有哪些要素? 100、 实时系统在进行任务同时时一般采取哪几个措施? 我的软件工程笔记99年末的一段,是当初几乎所有软件工程书籍的习题。这里整顿出来,希望对大家学习软件工程有益。 1、 Statemate措施是怎样处理实时设计的特殊问题的? 2、 什么是规格阐明语言?它具备什么性质? 3、 什么是设计语言?它具备什么性质? 4、 CASE环境语言提出了什么要求?怎样实现? 5、 什么是原
13、型开发语言?它具备什么性质? 6、 怎样使原型开发语言可执行? 7、 编程语言从心里工程角度看各具备什么特性? 8、 评价选择可用编程语言的准则是什么? 9、 举例阐明编程语言对软件工程的各个步骤的影响。 10、 编程语言中的基础有哪些方面? 11、 第一代至第四代语言是怎样划分的?各具备什么特点?包括那些语言? 12、 程序中与编程格调有关的原因有哪些?为建立良好的编程格调应遵照什么标准? 13、 提升编程效率应从哪些方面着手? 14、 人机界面设计包括哪些方面?
14、 15、 在人机界面设计中应怎样考虑用户的使用要求? 16、 人机界面的设计应遵照什么标准? 17、 人机交互方式分哪几个? 18、 怎样采取结构化的分析措施和面对对象分析措施来明确人机界面设计的任务? 19、 在进行人机界面设计的早期(概要设计阶段)必须处理那些问题? 20、 人机界面的开发重要采取那些模型? 21、 界面设计有哪些一般准则? 22、 何为智能人机界面?智能人机界面由哪几部分组成?各部分之间存在什么关系? 23、 多媒体技术可用于处理人机界面设计中的什么问
15、题? 24、 为何在CASE中需要有数据库的支持? 25、 软件工程中有哪些数据需要管理? 26、 数据模型的评价准则有哪十个方面?他们对CASE有什么意义? 27、 CASE需要什么样的数据库支持? 28、 为何说软件设计十分重要? 29、 完成良好的软件设计应遵照哪些标准? 30、 抽象有哪几个形式?他们各起什么作用? 31、 怎样了解模块独立性?用什么指标来衡量模块独立性? 32、 为何数据设计是设计活动中十分重要的一项?进行数据设计应遵照什么标准?
16、 33、 何为体系结构设计?进行体系结构设计应遵照什么标准? 34、 什么是结构化设计?他在软件发展史上具备什么地位? 35、 过程设计语言具备哪些特性? 36、 什么是对象?对象有哪几个形式? 37、 什么是类?类与对象间是什么关系? 38、 面对对象措施特性有哪些? 39、 面对对象措施基本要点是什么? 40、 面对对象设计包括那几个重要活动?面对对象设计怎样体现三个重要的软件设计概念:抽象信息、隐藏和模块化? 41、 面对对象分析包括那几个重要活动?怎样应用系统建模?
17、 42、 Booch措施中利用了那几类图表?他们各有什么作用? 43、 Booch措施包括那些开发步骤? 44、 Petri网是与分析与设计哪类系统?它是通过什么方式来反应系统动态行为的? 45、 利用Petri网进行系统建模与性能分析的详细步骤是什么? 46、 Petri网客分析系统哪些行为特性?这些特性含义是什么? 47、 Petri网的性能分析措施有哪几个?其原理各是什么? 48、 软件开发工具分哪几类?各完成什么工作? 49、 软件开发环境一般用来处理哪几类问题? 50、
18、 何为CASE,Z-CASE含义是什么? 51、 环境集成包括那三个方面的集成? 52、 集成方式分哪几个?那种方式使集成思想得到充足体现?怎样体现的? 53、 软件质量的含义是什么? 54、 影响软件质量的原因分哪两大类? 55、 Boehm和McCall等人从哪些方面来确定软件质量?他们有什么异同? 56、 ISO1985提出的有关软件质量度量模型有哪三个层次组成?它有哪些特点? 57、 软件质量的各种特性怎样度量? 58、 什么是软件质量确保的方略?当代软件质量确保的方略是什么
19、 59、 软件质量确保活动有哪七个重要方面?如缺乏一两个方面行不行?是否尚有无考虑到的方面? 60、 为何说软件正是技术评审是软件质量确保的一个最基本的活动? 61、 为何在软件进行技术评审中要有一张预先设定的评审检查表? 62、 软件的缺陷为何在软件开发和维护过程中会扩大?硬件会产生这么的问题吗? 63、 什么是Halstead软件科学度量?这种措施的实质是什么?它能够用来进行软件质量哪些方面的度量?它有哪些优缺陷? 64、 什么是McCabe复杂性度量?这种措施的实质是什么?它能够用来进行软件质量哪些方面
20、的度量?它有哪些优点? 65、 什么是软件可靠性和软件可用性?他们能否定量计算? 66、 什么是软件安全性?软件安全性与软件可靠性有什么不一样?为何有了软件可靠性还要考虑软件安全性?软件安全性应从哪些方面去考虑? 67、 为何说软件质量确保中最重要的两个方面是:对软件质量确保活动和软件配备的审计;软件质量确保计划的制定和标准的采取? 68、 为何说软件测试是软件开发中不可缺乏的重要的遗患,但不是软件质量确保的“安全网”? 69、 为何把软件测试的目标定义为只是发觉错误? 70、 软件测试应当遵照什么标准?为何要
21、遵照这些标准? 71、 单元(模块)测试、组装测试和确认测试各自重要的目标是什么?他们之间有哪些不一样?相互有什么关系? 72、 什么是黑盒子测试和白盒子测试?他们都适应哪些测试? 73、 单元测试时,为何需要另外开发驱动程序和连接程序? 74、 比较在组装测试中,自顶向下与自底向上、先深度后宽度与先宽度后深度结合的优缺陷。 75、 为何说在确认测试阶段,假如发觉对用户需求了解的错误,要修改就要付出极大的代价? 76、 什么是软件测试中逻辑覆盖?什么是语句、分支、条件、分支/条件、多重叠循环覆盖?一般软件测试最
22、少应确保哪些覆盖?为何? 77、 什么叫邓家华分?在确定等价划分测试用例中,为何在设计一个测试用例时,要使其尽也许多的覆盖未被覆盖过的合理的等价类,而是其只覆盖且仅一个未被覆盖过的不合理的等价类? 78、 什么是边界值分析?他与等价类划分有什么不一样? 79、 什么是因果图?他用于何处? 80、 什么是程序图?他用于何处? 81、 纠错技术中的归纳法和演绎法的中心思想是什么? 82、 什么是软件测试中的回溯测试?他有什么用处? 83、 为何实时系统测试较一般系统测试要困难得多? 84
23、 依照统计,软件维护国作量占软件整个生存周期工作量的10%~70%,这个百分比伴随时间的退役还在增加,为何软件维护需要这么大的工作量? 85、 软件维护分哪几个类型?依照统计,在软件维护中,那种类型的维护所占的比重最大?那种类型的维护所占的比重最小?能说出他们的原因吗? 86、 软件维护工作有哪些特点?为何? 87、 什么是软件维护的副作用?怎样预防软件维护的副作用? 88、 什么是软件的可维护性?怎样提升软件的可维护性?软件的可维护性与软件维护工作有什么关系?为何在软件开发过程中,要尤其重视软件的可维护性? 89、 软件的可维护性与那些软件质量特性有关?能确定它们的优先次序吗? 90、 什么是软件的反推工程和再生工程?他们重要用于何处? 91、 一个软件的维护任务的工作程序是什么?是否需要设置专门的维护机构?他们的职责是什么?






