软件工程简答题汇总Word版.docx
- 文档编号:13752045
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:8
- 大小:19.85KB
软件工程简答题汇总Word版.docx
《软件工程简答题汇总Word版.docx》由会员分享,可在线阅读,更多相关《软件工程简答题汇总Word版.docx(8页珍藏版)》请在冰点文库上搜索。
软件工程简答题汇总Word版
简述软件工程的基本原理
(1)用分阶段的生存周期计划严格管理
(2)坚持进行阶段评审
(3)实行严格的产品控制
(4)采用现代程序设计技术
(5)结果应能清楚地审查
(6)开发小组人员应该少而精
(7)承认不断改进软件工程实践的必要性
模块独立性是什么?
怎么度量?
是模块化、抽象、信息屏蔽和局部化概念的直接结果。
模块独立性是通过开发具有单一功能和与其他模块没有太多交互作用的模块来达到的。
模块的独立性可以从两个方面来度量,即模块之间的耦合和模块本身的内聚。
耦合是指模块之间相互独立性的度量,内聚则是指模块内部各个成分之间彼此结合的紧密程度的度量。
软件测试要经过哪些步骤,这些测试与软件开发各阶段之间的关系?
单元测试:
以详细设计的说明为指导,测试模块内的重要控制路径,力求在模块范围内发现错误。
集成测试:
是在单元测试的基础上,将所有模块按要求组装成一个完整的系统而进行的测试,所以也称组装测试。
确认测试:
是从质量的角度,在功能、性能、可靠性、易用性等方面对软件做全面的质量检测。
系统测试:
是完成确认测试,得到用户确认的合格软件产品,但为了检查该产品能否与系统其它部分协调工作而进行的测试。
单元测试是对软件基本组成单元进行的测试。
集成测试是将已分别通过测试的单元按设计要求组合起来再进行测试,以检查这些单元之间的接口是否存在问题,同时检查与设计相关的软件体系结构的有关问题。
确认测试是检查所开发的软件是否满足需求规格说明书中所确定的功能和性能的需求。
简述面向过程软件工程的开发过程
(1)采用结构化分析、结构化设计和结构化实现完成软件开发的各项任务。
(2)把软件生存周期划分成若干个阶段,然后顺序完成各个阶段的任务。
(3)每一个阶段的开始和结束都有严格标准,前一阶段结束的标准是后一阶段工作开始的标准
(4)在每一阶段结束之前,必须正式地进行严格的技术审查和管理复审
软件模块设计需遵循哪些准则
(1)降低模块之间的耦合性,提高模块的内聚性
(2)模块结构的深度、宽度、扇出和扇入应适当
(3)模块的作用范围应该在控制范围内
(4)模块接口设计要简单,以便降低复杂程度和冗余度
(5)设计功能可预测并能得到验证的模块
(6)适当划分模块规模,以保持其独立性
什么是类,什么是对象?
类和对象是什么关系?
对象是对问题域中客观存在的事物的抽象,是一种属性和在这些属性上的操作的封装体。
类是具有相同属性和操作的一组相似对象(实体)的集合,类为属于该类的全部对象提供了统一的抽象描述。
类是静态的,但对象是动态的,在程序执行过程中可以动态地创建和删除对象。
类代表一类抽象的概念或事物。
对象是在客观世界中实际存在的类的实例。
对象又称为是类的一个实例,类又称为是对象的模版
如何理解需求分析阶段的任务是决定“做什么”,而不是“怎么做”?
需求分析实际上是调查、评价以至肯定用户对软件需求的过程,其目的在于精化软件的作用范围,也是分析和确认软件系统构成的过程,以确定未来系统的主要成分及它们之间的接口细节。
因此需求分析实际上是一个对用户意图不断进行揭示和判断的过程,它并不考虑系统的具体实现,而是完整地、严密地描述应当“做什么”的一种过程。
为了具有人机界面设计风格应该注意哪些方面的问题?
(1)系统响应时间,系统响应时间过长过短都会产生负面影响
(2)用户帮助设计,交互式系统的每个用户都需要帮助
(3)出错信息处理,出错信息设计的不好,将向用户提供无用的甚至误导的信息
(4)交互命令,用户既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能
简述半形式化的结构化分析描述工具
(1)数据流图:
是一种描述“分解”的结构化过程建模的工具。
(2)数据字典关于数据信息的集合,用于定义数据流图中的数据和加工,对数据流图中包含的所有元素的定义的汇集
(3)描述加工逻辑的结构化语言、判定表和判定树。
数据流图中的不能再被分解的每一个基本加工处理逻辑的详细描述采用结构化语言、判定表和判定树。
模块的耦合有哪些类型、含义
(1)无直接耦合:
如果两个模块分别从属于不同模块的控制与调用,它们之间不传递任何信息,没有直接的联系,互相独立,称无直接耦合。
(2)数据耦合:
如果两个模块之间有调用关系,相互传递的信息以参数的形式给出,而且传递的信息仅仅是简单的数据,则称数据耦合。
(3)标记耦合:
如果两个模块之间传递的是数据结构,而且被调用模块不需要作为参数传递过来的整个数据结构,只需要使用数据结构其中一部分数据元素,则称为标记耦合。
(4)控制耦合:
当一个模块调用另一个模块时,传递的信息控制了该模块的功能,则称为控制耦合。
(5)公共环境耦合:
两个或多个模块共用一个数据环境,称公共环境耦合。
(6)内容耦合:
一个模块直接访问另一个模块的内部数据,一个模块不通过正常入口而转入另一个模块内部,一个模块有多个入口,这都属于内容耦合。
在软件项目开发中,选择程序设计语言考虑什么因素
(1)待开发软件的应用领域
(2)用户的要求
(3)软件的运行环境
(4)软件开发人员的知识
(5)软件的可移植性要求
简述结构化设计方法的步骤
(1)复审数据流图,必要时可进行修改或精化;
(2)确定数据流图类型:
如果是变换型,确定逻辑输入和逻辑输出的边界,找出变换中心,映射为变换结构的顶层和第一层;如果是事务型,确定事务中心和活动路径,映射为事务结构的顶层和第一层,建立软件结构的基本框架;
(3)分解上层模块,设计中下层模块结构;
(4)根据软件结构设计准则对软件结构求精并改进;
(5)导出接口描述和全程数据结构;
(6)复审,如果有错,转入修改完善,否则进入下一阶段详细设计。
简述软件工程中需求分析的基本任务
(1)需求获取:
调查研究
(2)需求提炼:
分析建模
(3)需求描述:
编写SRS
(4)需求验证
黑盒测试和白盒测试有什么区别?
黑盒测试:
是把被测程序看成一个黑盒子,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
也称功能测试或数据驱动测试。
白盒测试:
白盒测试
是把被测程序看成一个透明白盒子,需了解程序的内部结构和处理过程,要求对程序的结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。
详细设计的根本目的是
详细设计的根本目的就是确定应该怎样具体实现所要求的系统,也就是说经过这一阶段的设计工作,应该得出对目标系统的精确描述,具体的就是为软件结构图中每一个模块确定采用的算法和块内数据结构,用某种选定的详细设计工具更清晰地描述,从而在编码阶段可以把这些描述直接翻译成某种程序设计语言书写的源程序。
总体设计的根本目的是
总体设计阶段的基本目标就是回答“概括地说,系统应该如何实现?
”这个问题,因此总体设计又称为概要设计或初步设计。
通过这个阶段的工作,开发人员将划分出组成系统的物理元素,如程序、文件、数据库等。
但是这些物理元素还处于黑盒子的形式,具体的内部细节在详细设计阶段考虑。
总体设计的另一项任务是设计软件的总体结构,即确定系统中的每个程序是由哪些模块组成的,每个模块的功能及模块和模块之间的接口、调用关系等,但所有这些都不要求涉及模块内部过程的细节。
在程序设计风格中,语句构造应遵循什么原则
(1)不要为了节省存储空间把多个语句写在同一行
(2)尽量避免复杂的条件测试,尤其是减少对“非”条件的测试
(3)避免大量使用循环嵌套语句和条件嵌套语句
(4)利用圆括号使逻辑表达式或算术表达式的运算次序清晰直观
(5)变量说明不要遗漏,变量的类型、长度、存储及初始化要正确
(6)心理换位:
“如果我不是编码人,我能看懂它吗?
”
软件维护包括几个类型?
(1)改正在特定使用条件下暴露出来的,测试阶段未能发现的,潜在软件错误和设计缺陷。
(2)因在软件使用过程中数据环境发生变化(如事务处理代码改变),或处理环境发生变化(如安装了新硬件或更换了操作系统),需要根据实际情况,修改软件以适应这些变化。
(3)用户和数据处理人员在使用软件过程中,经常会提出改进现有功能、增加新的功能或者改善系统总体性能等要求,为满足此类要求而对软件进行的修改。
(4)为预防软件系统的失效而对软件系统所实施的修改。
软件详细设计工具是什么?
简述几种常用的详细设计工具
描述每个模块执行过程的工具叫详细设计工具。
可以分为图形、表格和语言三类。
(1)图形工具:
包括传统的程序流程图、盒图和问题分析图(PAD)等。
(2)表格工具:
包括判定表、判定树等。
(3)语言工具:
过程设计语言(PDL)等。
面向对象建模主要建立哪几种模型?
(1)用例(功能)模型往往是从用户需求的角度来描述系统,指明系统应该“做什么”,直接反映用户对目标系统的需求,描述数据在系统中的变换过程及系统的功能
(2)对象模型是对模拟客观世界的对象及对象彼此间的关系静态结构的描述,为建立动态模型和用例(功能)模型提供了实质性的框架。
(3)动态模型表示瞬时的、行为化的、系统的“控制”性质。
定义对象模型中对象的合法变换序列、描述系统中不同对象类之间的交互
(4)物理实现模型关注的是系统实现过程的建模、从实现子系统和实现元素的角度来表现系统实现的物理组成。
软件复用、软件共享、软件移植三者之间的区别是什么
软件复用是指在软件开发过程中重复使用相同或相似软件元素的过程,充分利用过去应用系统中累积的知识和经验,将以已有的工作模式为基础,充分利用过去应用系统开发中积累的知识和经验,开发重点集中于应用的特有构成成分,软件复用是指重复使用为了复用目的而设计的软件的过程
重复使用软件的行为还可能是重复使用并且为了复用目的而设计的软件的过程,在一个应用系统的不同版本间重复使用代码的过程,不属于严格意义上的软件复用。
在一个系统中多次使用一个相同的软件重复,成为软件共享,对一个软件进行修改,使他运行于新的软硬件平台,为软件移植。
简述绘制数据流图的步骤
第一步,先找外部实体(可以是人、物或其他软件系统),找到了外部实体,则系统与外部世界的界面就得以确定,系统的源点和终点也就找到了;
第二步,找出外部实体的输入和输出数据流;
第三步,在图的边上画出系统的外部实体;
第四步,从外部实体的输出流(源点)出发,按照系统的逻辑需要,逐步画出一系列变换数据的加工,直到找到外部实体处所需的输入流(终点),形成数据流的封闭;
第五步,按照上述原则进行检查和修改。
最后按照上述步骤画出所有子图。
软件测试遵循什么原则?
(1)测试用例既要有输入数据,又要有对应的输出结果。
(2)测试用例不仅要选用合理的输入数据,还应选择不合理的输入数据。
(3)除了检查程序是否做了它应该做的工作,还应该检查程序是否做了它不应该做的工作。
(4)应该远在测试开始之前就制定测试计划。
(5)测试计划、测试用例、测试报告必须作为文档长期保存。
(6)Pareto原理说明,测试发现的错误中80%很可能是由程序中20%的模块造成的,即错误出现的“群集性”现象。
(7)为了达到最佳的测试效果,程序员应该避免测试自己的程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 答题 汇总 Word