1、软件工程 考试题纲题型:单选题(20 分) ,名词解释(20 分) ,简答题(40 分) ,应用题(20 分) 。1、可行性分析、需求分析、概要设计、详细设计阶段的参与人员有哪些?(单选) 可行性分析:用户、系统分析员; 需求分析:用户、系统分析员; 概要设计:客户、软件工程师; 详细设计:软件工程师。2、在软件详细设计过程中采用的工具有哪些?主要有图形、表格和语言这三大类。具体有程序流程图、盒图(NS 图) 、PAD 图(问题分析图) 、判定表、判定树、过程设计语言(PDL、伪码) 、Jackson 图及方法。3、白盒技术测试技术有哪些?(5.35.4)基本路径测试、条件测试、数据流测试、循
2、环测试(简单循环、嵌套循环、串接循环) 。4、黑盒技术测试方法有哪些?(5.55.6)等价划分、边界值分析、错误推测。5、软件生存周期的活动中,哪个阶段要进行软件结构设计?(概要设计)概要设计,概要设计除了进行软件结构设计,还有一项任务就是设计出实现目标系统的几种可能的方案。6、什么是瀑布模型?(流水线结构,前阶段的输出是后阶段的输入)瀑布模型是一种流水线结构的过程模型,它将软件的生命周期分为收集需求、分析、设计、编码、测试、维护这六个阶段。它要求整个生命周期以文档来驱动,前一个阶段的输出是后一个阶段的输入。它除了强调阶段间具有顺序性和依赖性之外,还体现了推迟实现(否定急于编程的做法) 、质量
3、保证这两个观点。7、什么是 ER 模型?ER 模型即实体关系模型,它通过实体(数据对象,矩形框表示) 、关系(菱形框表示)和属性(椭圆形或圆角矩形表示)这三种基本成分来描述系统分析员对问题的理解。由于这种模型贴近人们对现实问题的理解方式,所以不熟悉计算机技术的用户也能理解它,成为用户和分析员之间有效的交流工具。8、什么是螺旋模型?螺旋模型以使用原型及其他方法来尽量降低风险为基本思想,所以它是基于风险驱动的。它在瀑布模型的每个阶段之前都增加了风险分析过程的快速原型模型。 ,每两个阶段之间必须进行风险分析,仅当前一阶段的工作成果不存在风险(或是风险可控) ,才计划下一阶段的工作。它主要适用于内部开
4、发的大规模软件项目。9、什么是喷泉模型?喷泉模型是典型的面向对象生命周期模型,体现了面向对象软件开发过程迭代和无缝的特性。生命周期中每两个活动(过程)间存在交叠,而且由于面向对象方法在概念和表示方法的一致性,保证了各项活动之间的无缝过度。但为了避免整个过程过于无序,应该把一个线性过程作为总目标。10、什么是耦合?影响模块的耦合性的因素有哪些?耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。11、什么是内聚?模块的内聚性有哪些?内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。简单
5、地说,理想内聚的模块只做一件事情。功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚。12、增量构造模型有什么特点?增量模型与瀑布模型相反,它分批逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。它的两个优点分别为,能在较短时间内向用户提交可完成一些有用的工作的产品,用户有充裕的时间逐步学习和掌握新产品,避免一个全新的软件所带来的冲击。同时,它要求软件体系结构必须是开放的。再者,该模型本身是自相矛盾的,它一方面要求开发人员把软件看成是一个整体,另一方面又要求开发人员把软件看作构件序列,每个构件本质上都独立于另一个构件。13、软件生存周期的活动中,需求分析阶段的工
6、作任务是什么? 确定要求,包括功能要求、性能要求、运行要求、未来可能扩充的要求; 分析数据,包括建立概念模型,形象地描绘数据结构,数据结构规范化; 导出逻辑模型,包括数据流图 DFD、数据字典 DD、输入加工输出图 IPO; 修正计划,包括重估成本、进度等; 开发原型系统。14、软件测试要经过哪些步骤?简述这些步骤的基本任务。 单元测试,它与编码属于软件工程的同一个阶段。任务包括测试模块接口、局部数据结构、重要的执行通路、出错处理通路、边界条件; 集成测试,它是测试和组装软件的系统化技术,是把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题,以解决程序验证和程序构造这两个
7、问题; 确认测试,也称为验收测试,它的任务是验收软件的有效性(功能和性能是否达标) 。15、数据流图 DFD 和数据字典 DD 的功能是什么? 数据流图:是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。 数据字典:是为了描述在结构化分析过程中定义对象的内容时,使用的一种半形式化的工具。它是描述数据的信息的集合,是对系统中使用的所有数据元素的定义的集合。它的功能包括,分析阶段的交流工具、包含控制信息、数据库设计的基础。16、软件危机主要体现在哪些方面?(单选) 对软件开发成本和进度的估计不准确; 用户对软件系统不满意; 软件质量
8、不可靠; 不可维护; 没有适当的文档资料; 软件成本在计算机系统总成本中所占的比例逐年上升; 供不应求,软件开发生产率跟不上硬件发展,和应用普及的速度。17、单元测试中驱动软件和存根软件和作用是什么? 驱动软件作用:驱动程序也就是一个“主程序” ,它接受测试数据,把这些数据传送给被测试的模块,并且输出相关的结果。 存根软件作用:存根程序可以称为“虚拟子程序” ,它使用被它代替的模块的接口,可能做最少量的数据操作,输出对入口的检验或操作结果,并且把控制归还给调用它的模块。18、使用判定树或判定表的方法表示算法(书 P93-95 应用题) 。例题:耗电记费系统可以采用固定价格收费、浮动价格收费和其
9、他方式收费三种方式。若采用固定价格方式收费,对每月耗电 100kWh 以下的用户只征收最低标准费,超过 100kWh 的用户按价格表 A 收费;若采用浮动价格方式收费,则每月耗电 100kWh 以下的用户按价格 A 收费,超过 100kWh 的用户按价格 B 收费。 判定树: 判定表:19、结构化程序设计方法的基本要点是什么? 基本要点:模块化、抽象、逐步求精、信息隐藏;自顶而下,逐步细化。 必须理解和表示问题的信息域,根据这条准则应该建立数据模型; 必须定义软件应完成的功能,这条准则要求建立功能模型; 必须表示作为外部事件结果的软件行为,这条准则要求建立行为模型; 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节; 分析过程应该从要素信息移向实现细节。20、面向对象的特点有哪些?什么是 UML? 面向对象的特点:抽象、封装、继承、多态。 UML:Unified Modeling Language 统一建模语言,是一种书写软件蓝图的标准语言。通过可视化、规范化和文档化的工作来分析设计和构建软件密集型的系统,是一门覆盖了广泛和多样化应用领域的语言。 UML 的特点:一致地表示方式、可重用性、可维护性。