[0010]《软件工程》作业
- 格式:doc
- 大小:440.00 KB
- 文档页数:16
期末作业考核《软件工程》满分100分一、名词解释(每小题4分,共20分)1.软件生存周期①可行性研究②需求分析③总体设计④详细设计⑤编码⑥测试⑦维护2.概要设计是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现。
3.耦合性也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
4.类具有相似或相同性质的对象的抽象就是类。
5.对象是客观实体在问题域中的抽象。
二、简答题(每小题5分,共20分)1.软件产品具有哪些特性?⑴软件是一种逻辑产品,看不见也摸不着,因而具有无形性.⑵软件产品的生产主要是研制,通过复制就产生大量的软件产品.⑶软件产品不会用坏,不存在磨损,消耗问题.⑷软件产品的生产还未完全摆脱手工开发方式,大部分产品是"定做"的.⑸软件费用不断增加,软件成本相当昂贵。
2.什么是耦合?什么是内聚?耦合性:也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
内聚性:也称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
模块内元素联系越紧密,内聚性越高。
3.为什么软件测试不应该由程序的编写人员来做?因为程序员对他们的程序很了解,知道怎么操作不会出现BUG,而测试小组则不然,怎么能引出BUG 他就怎么去操作,相当于找茬.只有这样才能通过最后客户的验收测试.4.什么是编码风格?为什么要强调编码风格?编码风格实际上是指编程的基本原则在随着软件规模的增大,复杂性也有了增加,工作人员也逐渐看到在软件自下而上期中需要经常阅读程序,特别是在软件测试阶段和维护阶段,编写程序的人员与参与测试、维护的人员都要阅读程序,同时,也认识到阅读程序是软件开发和维护过程中的一个重要组成部分,且读程序的时间比写程序的时间还要多。
软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2简述软件的分类,并举例说明。
(1)1.4什么是软件工程? (1)1.5简述软件工程的基本原则。
(1)1.6软件生存周期分哪几个阶段?分别简述各个阶段的任务。
11.9简述各类软件过程模型的特点。
(2)1.10敏捷软件开发的特点是什么? (2)1.12简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统工程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可行性分析的任务。
(3)3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。
(3)3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?33.3 一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
43.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。
.53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1简述软件设计阶段的基本任务 (5)4.2软件设计与质量的关系是怎么样的? (6)4.4简述模块、模块化及模块化设计的概念。
(6)4.6耦合和软件可移植性的概念有何关系?举例说明自己的结论。
(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。
64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。
75.2分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。
软件工程-作业一、判断(共计50分,每题2.5分)1、测试计划、测试用例和有关的分析报告一般不用长期保存。
()A. 正确B. 错误参考答案:B2、类封装比对象封装更具体,更细致。
()A. 正确B. 错误参考答案:B3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
()A. 正确B. 错误参考答案:B4、面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。
()A. 正确B. 错误参考答案:A5、数据流图是结构化设计的最基本的工具。
()A. 正确B. 错误参考答案:B6、良好的面向对象程序设计风格,既包括传统的程序设计风格,也包括为适应而面向对象方法所特有的概念(如继承性)而必须遵循的一些新准则。
()A. 正确B. 错误参考答案:A7、模块化程序设计中,模块越小,模块化的优点越明显。
()A. 正确B. 错误参考答案:B8、软件测试的目的是证明软件是正确的。
()A. 正确B. 错误参考答案:B9、在软件开发中采用原型系统策略的主要困难是成本问题。
()A. 正确B. 错误参考答案:A10、结构化分析是面向数据流进行需求分析的方法。
()A. 正确B. 错误参考答案:A11、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。
()A. 正确B. 错误参考答案:A12、白盒测试无需考虑模块内部执行过程和程序结构,只要了解模块的功能即可。
()A. 正确B. 错误参考答案:B13、软件测试目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。
()A. 正确B. 错误参考答案:B14、UML是一种面向对象的建模方法。
()A. 正确B. 错误参考答案:B15、类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。
()A. 正确B. 错误参考答案:B16、开发一个软件项目总存在某些不确定性,即存在风险。
有些风险如果控制得不好,可能导致灾难性的后果。
()A. 正确B. 错误参考答案:A17、软件维护的目的就是修改程序中的错误。
《软件工程》作业第一章1.什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
2.简述产生软件危机的原因和解决的思路。
答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。
解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。
3.什么是软件工程?它有哪些本质特性?答: 软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
《软件工程》作业第一章1.什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和保护过程中所碰到的一系列严重问题。
归纳地说,软件危机包含下述双方面的问题:如何开发软件,以知足对软件日趋增添的需求;如何保护数目不停膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的预计常常很不正确。
用户对“已达成的” 软件系统不满意的现象常常发生。
软件产品的质量常常靠不住。
软件常常是不行保护的。
软件往常没有合适的文档资料。
软件成本在计算机系统总成本中所占的比率逐年上涨。
软件开发生产率提升的速度,远远跟不上计算机应用快速普及深入的趋向。
产生软件危机的原由:一方面与软件自己的特色有关,另一方面也和软件开发与保护的方法不正确有关。
软件不一样于硬件,它是计算机系统中的逻辑零件而不是物理零件。
管理和控制软件开发过程相当困难。
软件是规模宏大,并且程序复杂性将跟着程序规模的增添而呈指数上涨。
目前相当多的软件专业人员对软件开发和保护还有不省糊涂看法,在实践过程中或多或少地采纳了错误的方法和技术,这是使软件问题发展成软件危机的主要原由。
2.简述产生软件危机的原由和解决的思路。
答:软件危机产生的原由一方面与软件自己的特色有关,另一方面,是与已有软件开发、保护的方法不正确有亲密关系。
解决软件危机,既要有技术举措 (方法和工具 ),又要有必需的组织管理举措。
即采纳工程化的原则和方法组织软件开发是挣脱软件危机的一个主要出路。
3.什么是软件工程?它有哪些本质特征?答: 软件工程是指导计算机软件开发和保护的一门工程学科。
采纳工程的看法、原理、技术和方法来开发与保护软件,把经过时间考验而证明正确的管理技术和目前能够获取的最好的技术方法联合起来,以经济地开发出高质量的软件并有效地保护它。
软件工程本质特征: 1、软件工程关注于大型程序的结构; 2、软件工程的中心课题是控制复杂性; 3、软件常常变化; 4、开发软件的效率特别重要; 5、和睦地合作是开发软件的要点; 6、软件一定有效地支持它的用户; 7、在软件工程领域中是由拥有一种文化背景的人替拥有另一种文化背景的人创立产品。
一、填空(15分)1、需求分析的任务:1)。
确定目标系统的综合要求A。
目标系统的功能要求B。
目标系统的性能要求C。
目标系统运行的环境要求D。
目标系统的扩展要求2)。
分析目标系统的数据要求A。
需要哪些数据?B。
数据之间有什么联系?C。
数据有什么属性及数据结构?D。
对数据的处理逻辑?3)。
导出目标系统的逻辑模型4)。
修正系统流程图5)。
修正系统开发计划6)。
开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。
5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
1.第1题在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。
A.经济可性性B.技术可行性C.操作可行性D.法律可行性您的答案:A题目分数:2.5此题得分:2.52.第2题为了提高模块的独立性,模块内部最好是()。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚您的答案:C题目分数:2.5此题得分:2.53.第3题Jackson方法是一种面向()的方法。
A.对象B.数据结构C.数据流D.控制流您的答案:B题目分数:2.5此题得分:2.54.第4题需求分析阶段研究的对象是软件项目的()。
A.用户需求B.合理要求C.模糊要求D.工程要求您的答案:A题目分数:2.5此题得分:2.55.第5题面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。
A.系统设计B.详细设计C.软件设计D.编码您的答案:B题目分数:2.5此题得分:2.56.第6题程序控制的三种基本结构中,()结构可提供多条路径选择。
A.反序B.顺序C.循环D.分支您的答案:D题目分数:2.5此题得分:2.57.第7题下列属于黑盒测试的是()。
A.基本路径测试B.条件测试C.循环测试D.等价划分您的答案:D题目分数:2.5此题得分:2.58.第8题软件设计一般分为总体设计和详细设计,它们之间的关系是()。
A.全局和局部B.抽象和具体C.总体和层次D.功能和结构您的答案:A题目分数:2.5此题得分:2.59.第9题好的软件结构应该是()。
A.高耦合,高内聚B.低耦合,高内聚C.高耦合,低内聚D.低耦合,低内聚您的答案:B题目分数:2.5此题得分:2.510.第15题面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。
A.传递性B.继承性C.复用性D.并行性您的答案:B题目分数:2.5此题得分:2.511.第16题软件项目管理是()一切活动的管理。
软件工程作业1软件工程作业11. 引言软件工程是一门研究如何以系统性的、经济合理地开发、维护和运行软件的学科。
在软件工程的学习过程中,作业是非常重要的一环。
本文档主要阐述了软件工程作业1的相关内容。
2. 背景软件工程作业1是软件工程课程的第一个作业任务,旨在帮助学生初步了解软件工程的基本概念和方法。
通过完成作业1,学生应能独立思考问题、分析需求、设计解决方案,并按照规定的要求提交作业报告。
3. 作业要求软件工程作业1的要求如下:- 阅读并理解给定的需求文档- 思考并设计解决方案- 使用Markdown文本格式编写作业报告- 作业报告要求包含以下内容:- 对需求文档的理解- 解决方案的设计思路- 实现步骤的描述- 遇到的问题及解决方法- 作业的心得体会和反思4. 解决方案设计根据给定的需求文档,在设计解决方案时,可以参考以下步骤:1. 理解需求:仔细阅读并理解给定的需求文档,确保对需求有清晰的认识。
2. 分析需求:对需求进行系统性的分析,确定主要功能和模块,并将其进行合理划分。
3. 设计方案:根据需求的分析结果,设计合理的解决方案。
可以使用UML图表或其他适合的工具进行模块设计和流程图设计等。
4. 实施步骤:分阶段实施解决方案,按照设计的模块和流程进行编码和测试。
5. 问题解决:在实施过程中,可能会遇到一些问题,需要及时解决。
可以通过查阅相关资料、请教同学或老师等方式解决问题。
6. 作业报告:在完成作业后,按照要求使用Markdown文本格式编写作业报告。
将解决方案的设计思路、实现步骤和遇到的问题等内容详细描述,并总结体会和反思。
5. 遇到的问题与解决方法在完成软件工程作业1的过程中,可能会遇到一些问题,如:- 对需求的理解存在困难:可以通过多次阅读需求文档、请教同学或老师等方式解决。
- 编码和测试时遇到BUG:可以通过调试程序、打印日志等方式定位问题并解决。
- 缺乏有效的工具和资源:可以通过查阅相关资料、探索互联网等途径寻找合适的工具和资源。
软件工程是采用工程化的概念、原理、技术和方法指导计算机(C )的工程学科。
A、软件开发B、管理技术C、软件开发和维护D、程序设计【单选题】在软件生命周期法中,用户的参与主要在(A)。
A、软件定义期B、软件开发期C、软件维护期D、整个软件生命周期过程中生存周期的瀑布模型一般包括问题定义、可行性研究、( B )、设计、编码、测试、维护等几个阶段。
A、问题定义B、需求分析C、总体设计D、数据库设计软件工程把经过时间考验而证明正确的管理技术和当前能够得到的最好的__D__结合起来。
A、软件开发B、管理方法C、开发环境D、技术方法【单选题】生存周期的瀑布模型一般包括:问题定义、可行性研究、系统设计、编码、测试、__D 等几个阶段。
A、需求分析B、可行性分析C、程序设计D、维护【单选题】快速原型模型的主要特点之一是( D )。
A、开发完毕才见到产品B、及早提供全部完整的软件产品C、开发完毕后才见到工作软件D、及早提供可工作的软件开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )。
A、软件工程B、软件周期C、软件危机D、软件产生【单选题】瀑布模型把软件生命周期划分为软件定义、软件开发与( C )3个阶段,而每一个阶段又可细分为若干个更小的阶段。
A、详细设计B、可行性分析C、运行维护D、测试与排错划分软件生存周期的阶段时所应遵循的基本原则是( B )。
A、各阶段的任务尽可能相关性B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立【单选题】系统定义明确之后,应对系统的可行性进行研究。
可行性研究应包括(B )。
A、软件环境可行性、技术可行性、经济可行性B、经济可行性、技术可行性、操作可行性C、经济可行性、社会可行性、系统可行性D、经济可行性、实用性、社会可行性软件可行性分析是着重确定系统的目标和规模。
对功能、性能以及约束条件的分析应属于下列之中的_ B _。
《软件工程》作业第一章1.什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
2.简述产生软件危机的原因和解决的思路。
答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。
解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。
3.什么是软件工程?它有哪些本质特性?答: 软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
1、对象是00方法的核心,对象的类型有多种,但通常把如飞行,事故,演出,开会等称为(C) A,有形实体 B,作用 C,事件 D,性能说明
2、软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们(D)
1. A. 前者属于静态测试,后者属于动态测试 2. B. 前者属于动态测试,后者属于静态测试 3. C. 都属于静态测试 4. D. 都属于动态测试 3、数据流图是一种用来描述(A)的图形化工具
1. A. 系统信息流和数据流 2. B. 所有功能 3. C. 系统控制流和数据流 4. D. 系统物理组成 4、需求分析阶段的主要任务是确定(A)
1. A. 软件系统的功能 2. B. 软件开发方法 3. C. 软件开发工具 4. D. 软件开发费 5、汽车有一个发动机。汽车和发动机之间的关系是(B) 1. A. 继承关系 2. B. 聚合关系 3. C. 分类关系 4. D. 主从关系 6、 (B)和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整 1. A. E-R图 2. B. 数据字典 3. C. 层次方框图 4. D. 数据流程图 7、汽车有一种叫货车。汽车和火车之间的关系是(A) 1. A. 继承关系 2. B. 聚合关系 3. C. 分类关系 4. D. 主从关系 8、(A)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息是对外界隐蔽的, 外界只能通过有限的接口与对象发生联系
1. A. 封装 2. B. 消息 3. C. 继承 4. D. 多态性 9、消息是对象间交互的手段,消息刺激接受对象产生某种行为,消息的构成有三部分: 接受消息的对象,(B),若干变元。
1. A. 发出消息的对象 2. B. 消息名 3. C. 消息编号 4. D. 发送时间 10、数据字典是用来定义(B)中的各个成份的具体含义的 1. A. 流程图 2. B. 功能结构图 3. C. 系统结构图 4. D. 数据流图 11、要将一个复杂的系统分析清楚,传统软件工程常用的方法是结构化分析方法,结构化分析方法就是(A) 1. A. 面向数据流自顶向下,逐步求精的方法 2. B. 由内向外进行分析的方法 3. C. 先局部后整体的分析方法 4. D. 使用IPO图形工具分析的方法
12、一般来说,在软件生命周期中成本最高的阶段是(D) 1. A. 详细设计 2. B. 软件编码 3. C. 软件测试 4. D. 软件维护
13、模块的内聚性最高的是(D) 1. A. 逻辑内聚 2. B. 时间内聚 3. C. 过程内聚 4. D. 功能内聚
14、需求分析是要完整,准确,清晰,具体地确定系统所要完成的工作, 其主要根据是前一阶段的文档(D)
1. A. 用户手册和参考手册 2. B. 开发计划 3. C. 软件需求规格说明书 4. D. 可行性研究报告
15、数据流图(DFD)是(C)方法中用于表示系统的逻辑模型的一种工具 1. A. SP 2. B. SC 3. C. SA 4. D. SD
16、使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联 的信息是(B)
1. A. 数据对象,属性,方法 2. B. 数据对象,属性,联系 3. C. 数据表,属性,联系 4. D. 数据表,实体,联系 17、数据流图DFD中每个加工至少需要(B)
1. A. 一个输入流 2. B. 一个输出流和一个输入流 3. C. 一个输入或输出流 4. D. 一个输出流
18、(C)是指用户只能见到对象界面上的信息,对象内部对用户是隐藏的 1. A. 类 2. B. 消息名 3. C. 封装 4. D. 对象
19、提高程序可读性的最有力手段是(A)
1. A. 使用三种标准控制结构 2. B. 采用有实际意义的变量名 3. C. 显示说明一切变量 4. D. 给程序加注释
20、面向对象分析是对系统进行(A)的一种方法 1. A. 需求建模 2. B. 程序设计 3. C. 设计评审 4. D. 测试验收
21、尽可能利用硬件的特点以提高效率。 B ( 1. A.√ 2. B.× 22、重构工程也称修复和改造工程,它是在逆向工程所„的基础上修改成重构已有的系统,产生系统的一个新版本。(正确) 23、制定软件项目进度表的途径之一是软件开发小组根据提供软件产品的最后期限从后往钱安排时间。(正确) 24、在进行需求分析时同时考虑维护问题。 ( 正确 ) 25、进行概要设计时尽可能加强模块间的联系。 ( 错 ) 26、只要实行严格的产品控制就不用担心用户随意改需求。(错) 27、瀑布模型在实际的项目中严格顺序执行就基本可以成功。(错) 28、制定软件项目进度表的途经之一是软件项目开发组织根据项目和资源情况制定项目开发的初步计划和交付软件产品的日期。(正确) 29、确认测试任务是根据软件需求规格说明书。测试软件系统是否满足用户的需求。(正确)
30、确认测试任务是根据软件需求规格说明书,测试软件系统是否满足用户的需求。(正确) 31、软件=“完成特定功能的程序+数据结构+文档”。(正确) 32、选择时间效率和空间效率尽可能高的算法。 (错 )
33、使用维护工具或软件工程环境。 ( 正确 ) 34、即使测试过程没有发现任何错误,也不能说明软件没有错误。(正确) 35、重视程序结构的设计,使程序具有较好的层次结构。 (正确 ) 36、即使测试程序没有发现任何错误,也不能说明软件没有错误。(正确) 37、系统响应时间是指当用户执行了某个控制动作后(例如,按回车键,点鼠标键等),系统作出的反应时间。(正确) 38、采用信息隐藏原理指导模块设计可以支持模块的并行开发,减少软件测试和软件维护的工作量。(正确) 39、在模块原理中,模块的作用域应该在控制域内。(正确) 40、需求分析阶段所生成的文档主要是进度计划和可行性研究报告。(正确) 41、软件就是完成特定功能的程序集合。(错)
42、完成测试后,为缩短源程序长度而删去程序中的注释。 ( 错 ) 43、编码时尽可能使用全局变量。 ( 错 )
44、原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。(正确)
45、过程式程序设计语言的基本机制包括:消息传送,数据类型定义,多态,子程序,控制程序。(错)
46、提高程序可读性,尽可能使用高级语言编程。 ( 正确 ) 47、模块的接口设计要简单,以便降低复杂程度。(正确) 48、尽可能在软件开发过程中保证各阶段文档的正确性。 ( 正确 ) 49、面向对象分析有哪些启发性原则? ①设计结果应该清晰易懂②一般-特殊结构的深度应适当③设计简单的类④使用简单的协议⑤使用简单的服务⑥把设计变动减至最小 50、简述软件测试要经过哪几个步骤,每个步骤与什么文档有关? 测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。
单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。
确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。
平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。
51、决定软件可维护性的因素有哪些? 维护过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。首先必须建立一个维护组织,随后必须确定报告和评价的过程,而且必须为每个维护要求规定一个标准化的事件序列。此外,还应该建立一个适用于维护活动的记录保管过程,并且规定复审标准。(①维护组织②维护报告③维护的事件流④保存维护记录⑤评价维护活动)
52、提高可维护性的方法有哪些? 在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审. 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明.在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面. 在软件设计的复审中,因从便于修改,模块化和功能独立的目标出发,评价软