您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 软件工程导论期末考试题
第1页共3页一、单项选择题1.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型2.从实用角度看,数据规范化程度在大多数场合选用第(C)范式。A.1B.2C.3D.53.可行性分析研究的目的是(A)。A.项目值得开发否B.争取项目C.开发项目D.规划项目4.模块的内聚性最高的是(D)A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(B)A.软件工程B.软件危机C.软件周期D.软件产生6.需求分析阶段的任务是确定(D)A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能7.完整的软件结构通常用(B)图来表示。A.IPO图B.HIPO图C.PAD图D.DFD图8.在白盒法技术测试用例的设计中(A)是最弱的覆盖标准。A.语句B.路径C.条件组合D.判定9.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A.结合B.隐藏C.封装D.抽象10.在数据流图中,圆代表(C)。A.源点B.终点C.加工D.模块11.模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。A.松散B.紧密C.无法判断D.相等12.软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试(B)。A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑13.面向对象开发方法中,(C)是占主导地位的标准建模语言。A.Booch方法B.Coad方法C.UML语言D.OMT方法14.软件需求分析的主要任务是准确地定义出要开发的软件系统是(C)A.如何做B.怎么做C.做什么D.对谁做15.结构化程序设计的一种基本方法是(C)A.筛选法B.迭代法C.逐步求精法D.递归法二、填空题1.目前使用最广泛的软件工程学方法分别是传统方法学和(面向对象方法学)。2.数据流图中信息流的类型有(变换流)和事务流。3.软件的定义是:软件=程序+数据+(文档)。4.经典结构程序设计包括顺序、选择和(重复)三种结构。5.集成测试时对软件结构中上层使用自顶向下的集成测试方法,对软件结构中下层使用(自底向上)的集成测试方法。6.软件维护包括(改正性维护)、适应性维护、完善性维护、预防性维护。7.面向对象方法学建模得到的三个基本子模型是(对象建模).动态模型、功能模型。8.复杂大型问题的对象模型通常由主题层、类与对象层、结构层、(属性层)、及服务层5个层次组第2页共3页成。9.面向对象方法学是基于软件的重用。10.软件层次结构图中方框间的连线表示调用关系。三、简答题(每小题5分,共30分)1.简述软件工程的概念。答:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。2.简述典型的软件生命周期的各个阶段。答:软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。软件定义时期:问题定义、可行性研究和需求分析开发时期:总体设计、详细设计、编码和单元测试、综合测试。维护时期:主要任务是使软件持久地满足用户的需要。即每个有8个阶段及基本任务:1问题定义:回答要解决的问题是什么?2可行性研究:该问题有行的通的解决办法吗?若有解决问题的办法,则需要多少费用、资源、时间?3需求分析:回答“为了解决这个问题,目标系统必须做什么”,确定目标系统的功能4总体设计:回答“概括地说,应如何解决这个问题”。把确定的各项功能需求转换成需要的体系结构。设计软件的结构,确定程序由哪些模块组成及模块间的关系,同时设计该项目的应用系统的总体数据结构和数据库结构。5详细设计:回答“应怎样具体地实现这个系统”。为每个模块完成的功能进行具体描述,把功能描述转变为精确的、结构化的过程描述6编码和单元测试:把每个模块的控制结构转换成计算机可接受的程序代码。写出的程序应是结构好,清晰易读,并且与设计一致。7综合测试:通过各种类型的测试使软件达到预定的要求。8软件维护:通过各种必要的维护活动使系统持久地满足用户需要。3.简述传统方法学软件设计的基本原理及内容。传统方法学也称生命周期方法学或结构化范型。原理:采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。内容:把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。采用生命周期方法学可以大大提高软件开发的成功率,软件开发的生产率也能明显提高。4.以G.J.Myers的观点,简述对软件测试的定义。G.Myers给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义。(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。5.简述面向对象方法学的4个要点。.概括地说,面向对象方法学具有下述4个要点:(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。第3页共3页(2)把所有对象都划分成类(class)。(3)按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。(4)对象彼此间仅能通过发送消息互相联系。6.列举出5个详细设计阶段的常用工具。程序流程图,盒图,PAD图(问题分析图),判定表,判定树,过程设计语言,四、综合题(每小题10分,共20分)1.计算环路复杂度,并画出独立路径。2.某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求:(1).分析以上问题画出数据流图。(6分)(2).画出该培训管理系统的软件结构图的主图。(4分)
本文标题:软件工程导论期末考试题
链接地址:https://www.777doc.com/doc-1682325 .html