选择题(20%):1、软件设计中划分模块的一个准则是()C、高内聚低耦合2、Jackson设计方法是由英国的M.Jackson提出的,它是一种面向()的软件设计方法。C、数据结构3、试判断下列叙述中,哪个是正确的()c、事务分析和变换分析的设计步骤是基本相似的4、()是用户和设计交换最频繁的方法。A、原型化方法5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()C、软件开发工具和软件开发的环境6、下列语言中哪个语言是低级语言()D、汇编语言7、软件测试的目的是()D、尽可能多的发现软件系统中的错误8、使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。A、程序的内部逻辑9、软件维护工作的最主要部分是()C、完善性维护10、PDL是()语言。B、伪码式11、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。C、封装12、软件生命周期中所花费用最多的阶段是()D、软件维护13、需求分析中开发人员要从用户那里了解()A、软件做什么14、测试的关键问题是()D、如何选择测试用例15、()是将系统化的、规范化的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。D、软件工程方法学16、()意味着一个操作在不同的类中可以有不同的实现方式。A、多态性17、单元测试的测试用例主要根据()的结果来设计。D、详细设计18、随着软硬件环境变化而修改软件的过程是()B、适应性维护19、在白盒测试技术测试用例的设计中,()是最弱的覆盖目标。A、语句覆盖20、结构化程序设计的一种基本方法是()C、逐步求精法21、不适合作为科学工程计算的程序设计语言是()D、Prolog22、只有单重继承的类层次结构是()层次结构。C、树型23、面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。C、UML语言24、瀑布模型本质上是一种()A、线性顺序模型25、软件维护产生的副作用,是指()C、因修改软件而造成的错误26、软件详细设计的主要任务是确定每个模块的()A、算法和使用的数据结构27、软件结构图的形态特征能反映程序重用率的是()C、扇入28、为了提高模块的独立性,,模块内部最好是()C、功能内聚29、软件结构图中,模块框之间若有直线连接,表示它们之间存在()A、调用关系30、“软件危机”是指()C、软件开发和维护中出现的一系列问题31、具有风险分析的软件生命周期模型是()C、螺旋模型32、数据流图(DFD)中的每个数据处理至少需要()D、一个输入数据流和一个输出流33、下列哪个阶段不属于软件生存周期的三大阶段()C、编码阶段34、需求分析是()A、软件开发工作的基础35、原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要()B、完整的生命周期36、软件维护中,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程测称为()A、改正性维护37、一般来说,投入运行的软件系统中有错误()A、不是不可以理解的填空题(20%):1、软件生存周期一般可以划分为:2、基于软件的功能划分,软件可划分为系统软件、支撑软件、应用软件三种。3、可行性研究应从、、、法律可行性和开放方案可行性等方面研究。4、系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件。5、数据流图的基本四种成分:数据输入的源点和数据输出汇点、、、。6、结构化分析方法是面向数据流进行需求分析的方法,它使用数据流图DFD与数据字典DD来描述。7、继承性是自动地共享类、子类和对象中的方法和数据的机制。8、软件详细设计工具可分为3类:、和。9、为了在软件开发过程中保证软件的质量,主要采用下述措施:审查、复查和管理复审、测试。10、大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。11、为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。12、软件结构是以模块为基础而组成的一种控制层次结构。13、如果知道软件的规格说明书描述的程序功能,那么就可以采用黑盒测试方法进行测试。14、当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是数据耦合。15、软件概要设计关键的一步是确定软件的体系结构,它直接影响下一阶段详细设计和编码的工作。16、数据流图中的箭头表示,椭圆或圆形表示,矩形表示。17、软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个自底向上或相反集成的过程。18、按数据流的类型,面向数据流的设计方法有两种设计策略,它们是和。19、数据流图仅反映系统必须完成的逻辑功能,所以它是一种功能模型。20、软件结构中的深度表示软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。21、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。22、常见的软件概要设计方法有三大类:以数据流图为基础构造模块结构的结构化设计方法(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承、和通信为基础的面向对象设计方法(OOD)。23、数据流图和数据字典共同构成系统的逻辑模型。24、软件测试的方法有黑盒测试(功能测试)和白盒测试(结构测试)。25、单元测试一般以白盒测试技术为主,黑盒测试技术为辅。26、成本估计方法主要有自顶向下估计、自底向上估计和算法模型估计三种类型。名词解释(30%)1、什么是软件工程?是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。2、耦合性和内聚性有几种类型?其耦合度、内聚强度的顺序如何?耦合:(由低到高)数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合;设计原则为尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完成不用内容耦合;内聚:(由弱到强)低内聚分为偶然内聚、逻辑内聚、时间内聚;中内聚分为过程内聚、通信内聚;高内聚分为顺序内聚、功能内聚3、简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?(1)需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。(2)三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。4、什么是黑盒测试法、白盒测试法?(1)黑盒测试法是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确的输出信息。(2)白盒测试法是把程序看成装在一个透明的百盒子里面,测试者要完全知道程序的结构和处理算法,它按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。5、简述结构化程序设计方法的基本特点。(1)尽可能少用goto语句的程序设计方法;(2)每个代码块都单入单出;(3)使用控制结构:顺序、选择和循环+Do_UNTIL和Do_CASE;(4)自顶向下逐步求精。6、衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?(1)衡量模块独立性的两个定性标准是耦合和内聚;(2)耦合是指对一个软件结构内不同模块彼此之间相互依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度;(3)在我们的软件设计中,关于模块独立性我们追求的目标是高内聚低耦合。问答题(30%):