软件工程试题参考

上传人:cl****1 文档编号:564920507 上传时间:2023-10-06 格式:DOCX 页数:4 大小:15.59KB
返回 下载 相关 举报
软件工程试题参考_第1页
第1页 / 共4页
软件工程试题参考_第2页
第2页 / 共4页
软件工程试题参考_第3页
第3页 / 共4页
软件工程试题参考_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件工程试题参考》由会员分享,可在线阅读,更多相关《软件工程试题参考(4页珍藏版)》请在金锄头文库上搜索。

1、软件=程序+数据+文档(+服务)数据=初始化数据+测试数据 文档=开发文档+管理文档 软件工程=工程原理+技术方法+管理技术 软件工程三要素:方法工具和过程,目标是实现软件的优质高产 软件工程是研究软件开发和软件管理的一门工程科学。 软件工程中的过程,是指软件生命周期中的时间序列。软件生命周期是指研发软件产品开始到产品不能使用为止的整个过程,划分 为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测 试、集成测试、运行、维护这几个过程,过程与阶段相对应,阶段与里程碑 相对应。某些重要的里程碑又称为基线。软件系统是位于用户与操作系统之间的一个数据管理软件,它主要包括数据定 义功能、

2、数据操纵功能、软件的运行管理和软件的建立与维护功能等基本功能。 必须提供的数据控制和保护功能包括安全性保护、完整性控制、故障恢复、并 发控制和事务支持。一般由软件、软件管理系统、操作系统、应用系统、软件 管理员和用户构成。可行性研究的任务是对体统进行一次概要分析研究在尽可能短的时间里明确系 统的目标和规模、约束、限制。然后分析人员进行简要的需求分析,抽象出该 项目的逻辑结构、建立逻辑模型,提出几种方案对它们进行可行性分析。可行性分析中描述系统高层物理模型的工具是系统流程图。可行性分析的第 一个具体步骤是确定项目的规模和目标。纯收入是经济效益与投资之差。 技术可行性是在特定条件下,技术资源的可用

3、性和这些技术资源用于解决软 件问题的可能性和现实性。研究包括成本-效益分析,公司经营长期策略,开 发所需的成本资源,潜在的市场前景。对开发项目的功能,性能,限制条件 进行分析,考虑的情况:开发的风险,资源的有效性和技术,研究包括成本 效益分析,公司经营长期策略,开发所需的成本和资源和潜在的市场前景。经济可行性是分析软件项目所需要的成本费用和项目开发成功之后所能带来的 经济效益。分析项目是否值得开发。社会可行性涉及的范围包括合同,责任,侵权,用户组织的管理模式,规范 可行性分析步骤:确定项目规模和目标,研究正在运行的系统,建立新系统 的高层逻辑模型,导出和评价各种方案,推荐可行的方案和编写可行性

4、分析 报告。可行性分析报告内容有:弓I言,可行性分析的前提,对现有系统的分析,所 建议系统的技术可行性分析,系统的经济可行性分析,社会因素可行性分析, 其他供选择的方案和结论意见。软件分析是开发人员通过调研分析理解用户和项目的具体要求,将用户非形 式的需求表述转化为完整的需求定义,从而确定系统“做什么”的过程。步 骤:需求获取,软件分析与描述,需求验证,需求文档。软件需求是软件设 计的基础,软件设计是软件开发的核心。软件分析方法:功能分解法,数据流法,信息建模法和面向对象的分析方法。 数据流图是一种图形化的系统模型,它在一张图中按照系统的观点,将新系 统建模为输入,处理,输出和数据存储。箭头表

5、示数据流、圆圈表示加工、 双横线表示存储、方框表示数据的原点和终点。数据字典是关于数据流程图内包含的数据元素的定义及说明集合。要求 完整性一致性和可用性,四类条目:流程图数据项数据存储和基本加工。 表述基本加工说明的三种描述工具是结构化语言,判定表和判定树。模块又称构件,是能够单独命名并独立的完成一定功能的程序语言的集合。 过程设计语言(PDL)是一种伪码设计语言,有开放的语法格式,由严格的 外语法(关键词)和灵活的内语法(自然语言)组成文件是被命名的相关信息的集合体,通常存放在外存上,可作为一个独立单 位被存放和实施相应的操作。文件的保护:命名,口令,存取控制,加密, 备份,恢复。界面设计原

6、则:界面的适合性,信息最小量原则,一般交互的控制,媒体最 佳组合原则。在设计阶段,要充分体现软件工程的模块化,抽象,信息隐蔽等原则。 数据的显示形式主要包括字符显示和图形显示。在面向对象分析和面向对象设计中,通常把对象的操作称为方法或服务。 面向对象的程序设计语言具备面向对象方法所要求的四个成分,类,对象, 继承和信息通信。可能潜在的对象外部实体,事物,事件,较色,场所或位 置,组织机构和结构。具有相同特征和行为的对象称为类。软件实现是按照系统详细设计的要求,在选定的开发平台下使用指定的开发 工具和开发语言,遵循特定的程序设计方法所进行的程序编写工作。程序设计语言从语言层次可以分为面向机器的语

7、言和面向问题的语言。面向 机器的语言依赖于具体的机器硬件结构,其语句和计算机的硬件操作相对应, 包括机器语言和汇编语言,编写的程序难读,难维护,易出错,通用性差。 可直接访问系统接口,程序运行效率高。面向问题的语言称为高级语言,直 接面向所需要解决的应用问题,与自然语言相近,易易于掌握和理解,通用 性强,编程效率高,代码可阅读性强,易于修改和维护。从语言使用性可以 分为通用语言和专用语言。从语言面向方面可以分为面向过程语言和面向对 软件测试是利用特定的技术和方法,运行,评价和验证软件食肉满足需求或 识别其结果的过程。IEE巳定义软件测试为:使用人工和自动手段来运行或测 试某个系统的过程,其目的

8、在于检测它是否满足规定的需求或搞清预期结果 与实际结果之间的差别。软件测试分为单元测试,集成测试,确认测试和系统测试四个步骤。单元测试又称为模块测试,是对功能独立运行的程序模块的检测。目的是发 现个模块内部可能存在的各种差错,保证其功能和性能等方面与用户需求相 一致。黑盒测试也成为功能测试或黑箱测试,不考虑程序内部的逻辑结构和特性, 只根据程序的需求分析规格说明,检查其功能是否符合,用黑盒测试发现程 序中的错误,不许再所有可能的输入条件和输出条件中确定测试数据检查程 序是否都能产生正确的输出。等价分类法,将程序中的输入数据按输入条件 划分为几个等价类,每类的一个代表性的值在测试中的作用等价此类

9、中的其 他值。1划分等价类,2设计测试用例。优点:能确保从用户的角度出发进行 测试,缺点:无法测试程序内部特定部位,若规格说明有误,则不能发现问 题。白盒测试主要是对程序执行路径的测试,是结构测试,测试依据是系统的模 块功能规格说明。技术:逻辑覆盖测试,循环测试,基本路经测试,优点: 能对程序内部的特定部位进行覆盖测试,对代码的测试较彻底。缺点:无法 检测代码中一楼的路径和数据敏感性错误,难以验证规格的正确性数据模型通常包括数据结构、数据操作和完整性约束条件3个要素UML是综合面向对象分析与设计方法中使用的各种图形描述的技术,并试图 给出这些图形描述的语法和语义的语言。由图和元模型组成。UML

10、语言的数 据定义功能包括定义基本表、定义索引和定义视图。软件维护是指在软件交付使用后,为了改正错误或满足新的需要而修改软件 的过程。分类:1改正性维护,识别和纠正软件在功能性能中的问题和缺陷, 2适应性维护,根据业务及运行环境等的变化,扩充系统功能3完善性维护, 满足用户在软件使用过程中所提出的改进业务功能和性能优化等要求。4预 防性维护,减少前三类维护。耦合是对一个软件结构内不同模块之间互连程度的度量,内聚标志一个模块 内各个元素彼此结合的紧密程度。高内聚;理想的内聚模块只做一件事,低 耦合;系统可以研究测试或维护任何一个模块,而不需要对系统的其他模块 有很了解,发生在一处的错误传播到整个系

11、统的可能性小。软件概要设计主要任务建立软件系统结构,数据结构和数据库的设计、编写 概要设计文档。注重于宏观上和框架上的设计详细设计主要任务:设计模块的数据结构、设计数据库的物理结构、设计模块 的详细算法、其它。注重微观上和框架内的设计CMML是指软件过程能力成熟度模型,其作用是软件组织的能力评估和过程改进,它的应用领域具体表现在三个方面:(1) 软件组织:用于不断改进自身的软件过程管理能力;(2) 评估机构:用于评估某软件组织当前软件能力成熟度的级别;(3) 客户:用于评价某承包商(软件外包商)的软件能力。软件开发方法又称为软件工程方法论,常用的3种软件开发方法:面向过程 的方法、面向数据的方

12、法、面向对象的方法从宏观上讲,软件实现包括详细设计、编程实现、单元测试和集成测试。从 微观上讲,软件实现是指编程和单元测试。瀑布模型:属于整体开发模型,生存周期的顺序性,统筹兼顾不过早编程, 严格要求品质保证,缺点是将充满回溯,相互重叠的软件开发过程硬性的分 为多个阶段。增量模型:属于非整体开发模型,适合于软件需求不明确。螺 旋模型,适用于大型复杂系统。软件工程面临的问题?软件费用、软件可靠性、软件维护、软件牛产率、软 件重用。软件生产有几个阶段?程序设计、程序系统、软件工程。软件设计基本原理?抽象、模块化、信息隐蔽、模块独立性。成本一效益分析可用那些指标度量?投资回收期、纯收入、货币的时间价

13、值。 模块间的耦合有哪几种?无直接耦合:模块间没有直接联系数据耦合:模块间传递的是数据、标记耦合:模块间传递的是数据结构 控制耦合:传递的是控制变量,被调通过该变量有选择的执行模块内的某以 功能。公共耦合:通过一个公共数据环境相互作用的模块间的耦合关系。 内容耦合:一个模块直接使用另一个模块的内容。5、模块的内聚有哪几种?偶然内聚:逻辑内聚:时间内聚:通信内聚:顺 序内聚:功能内聚:软件系统设计分为6个阶段分别为需求分析、概念结构设计、逻辑结构设计、 物理结构设计、软件实施和软件运行和维护。举例说明现代软件工程研究的内容:软件开发模型 软件开发方法,女口:面向过程的方法、面向数据的方法、 面向

14、对象的方法(包括面向业务基础平台的方法、面向工作流方法、面向主体 的方法、面向方面的方法、面向代理的方法等等),以及形式化方法。软件支持过程,如:CASE工具Rose、北大青鸟系统、Power Designer、 ERWin,以及配置管理工具等。软件管理过程口: ISO9000、CMM/CMMI、软件企业文化(微软企业(4)文件、敏捷文化现象、IBM企业文化)软件产品的发布时机,是由市场利润、开发进度、产品功能与质量、客户可 接受程度等多方面的因素决定的。举例说明面向对象的方法00M内容:面向对象需求分析、面向对象设计、面向对象编程、面向对象测试、 面向对象维护、面向对象管理。在分析、设计、实

15、现中用到“对象、类、继承、 消息通信这四个基本概念,就是面向对象的方法。用UML来开发软件,就 是面向对象的方法。特点:程序的执行过程,不由程序员控制,完全由用户控制.分析设计时面 向类,编程时面向对象。优点:用无穷的方法来描述无穷的(随机的)信息世界,所以能完全描述信息 世界;易于维护。缺点:较难掌握。适用场合:互联网络时代,完全由用户交互控制程序执行过程的应用软件和 系统软件的开发软件危机的原因:开发没用工程化,开发和维护的方法不正确,忽视需求分 析,开发过程没有统一的标准,准则和规范和指导方法,文件资料不齐全, 忽视开发人员与用户之间的交流,忽视测试阶段工作,提交的软件质量差, 轻视软件

16、实验过程中的正常维护和管理。若事务在运行过程中,由于种种原因,使事务未运行到正常终止之前就被撤 消,这种情况就称为事务故障。在软件设计中,对软件的概念、逻辑和物理结构和改变称为再组织,其中, 改变概念或物理结构又称再构造,改变物理结构称为再格式化。E-R模型是对现实世界的一种抽象,它的主要成分是实体集、属性和联系。 冲突主要有:属性冲突、结构冲突和命名冲突3类。优点:SA是公认的、有效的、成熟的、使用广泛的方法。它比较适用数据处 理方面的设计。采用图形形式化工具表达需求,简洁、易读、适用方便,对 后续阶段的测试、评价提供了有利的条件。缺点:它是个静态模型,没有反 映控制流不适于实时控制系统的描述、SA对数据要求方面的描述木够全面最 好和E-R图一起适用、不适合描述人机界面交互频繁的系统、为了加强对系 统的描述能力应于形式化方法结合一起使用。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号