下面是小编为大家整理的软件工程简答题,简答题,供大家参考。
软件工程简答题
软件工程简答题
1、什么是软件工程?它目标和内容是什么?
软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:包括开发技术和开发管理两个方面。
2、什么是软件生存周期模型?有哪些主要模型? 生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
3、软件生命周期划分为哪几个阶段?
软件生命周期分为三个时期八个阶段:
软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护
4、什么是软件危机?产生原因是什么? 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:
⑴ 软件规模越来越大,结构越来越复杂。
⑵ 软件开发管理困难而复杂。
⑶ 软件包开发费用不断增加。
⑷ 软件开发技术落后。
⑸ 生产方式落后,仍采用手工方式。
⑹ 开发工具落后,生产率提高缓慢。
5、什么是需求分析?需求分析阶段的基本任务是什么? 需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
基本任务:
⑴问题识别 ⑵分析与综合,导出软件的逻辑模型 ⑶编写文档
6、软件设计的基本原理包括哪些内容?
⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。
⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。
⑶信息隐蔽:将模块实现自身功能的细节与数据"隐蔽"起来。模块间仅交换为完成系统功能所必须的信息。
⑷模块独立性:每个模块只完成系统要求的独立的子功能。
7、什么样是"事物流"?什么是"变换流"? 数据流图(DFD)一般可分为"变换流","事物流"两种。
"变换流":由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。
"事物流":它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)
8、结构化程序设计的基本要点是什么? 主要有三个:
1、采用自顶向下、逐步求精的程序设计方法
2、使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。
3、主程序员组的组织形式。
9、简述"变换分析"设计步骤。
⑴确定变换中心,逻辑输入和输出。
⑵设计软件结构的顶层和第一层--变换结构。
⑶设计中﹑下层模块,对第一层的模块自顶向下分解。
⑷设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。
10、详细设计的基本任务是什么? 详细设计的基本任务包括:为每个模块进行详细的算法设计;为模块内的数据结构进行设计;对数据库进行物理设计;其他设计;编写详细设计说明书;评审。
11、简述数据字典与数据流图的关系。
数据字典与数据流图的关系:数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。
数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
12、详细设计有哪几种描述方法?
详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。
13、单元测试有哪些内容? 单元测试主要针对模块的以下五个基本特征进行测试:
(1)模块接口
(2)局部数据结构
(3)重要的执行路径 (4)错误处理 (5)边界条件
14、单元测试中采用什么方法? 测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。桩模块则用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。
15、说明面向对象的特征? 面向对象的特征是:
(1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。
(2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类
(3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
(4)多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。
16、简述文档在软件工程中的作用。
(1)提高软件开发过程的能见度; (2)提高开发效率; (3)作为开发人员阶段工作成果和结束标志; (4)记录开发过程的有关信息便于使用与维护; (5)提供软件运行、维护和培训有关资料; (6)便于用户了解软件功能、性能。
17、调试的目的是什么?调试有哪些技术手段? 调试则是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错(Debug)。调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等。
【软件工程简答题,简答题】相关文章: