软件工程思考题

合集下载

软件工程复习思考题

软件工程复习思考题

软件工程复习思考题1.试述软件工程的基本原理。

⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。

模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。

(可降低复杂度、减少工作量)模块具有以下几种特性:接口:模块的输入输出。

功能:指模块实现什么功能。

逻辑:描述模块内部如何实现要求及所需的数据。

状态:该模块的运行环境,模块间调用与被调用关系。

⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。

通过抽象确定组成软件的过程实体。

⑶信息隐蔽:将模块实现自身功能的细节与数据"隐蔽"起来。

模块间仅交换为完成系统功能所必须的信息。

⑷模块独立性:每个模块只完成系统要求的独立的子功能。

2.软件项目管理的职能有哪些?3.试述总体设计的原则。

4.试述面向对象设计的启发规则。

P2611.设计结果应该清晰易懂2一般—特殊结构的深度应适当3.设计简单的类4.使用简单的协议5.使用简单的服务6.把设计变动减至最小5.为了具有良好的程序设计风格,应注意哪些方面的问题?程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。

6.试比较程序流程图与PAD图的特点。

程序流程图是一种用规定的图形,指向线及文字说明来准确表示算法的图形,具有直观、形象的特点,能清楚地展现算法的逻辑结构.画程序框图的规则:使用标准的框图符号;框图一般按从上到下,从左到右的方向画;除判断框外,大多数程序框图的符号只有一个进入点和一个退出点,而判断框是具有超过一个退出点的唯一符号.PAD所描述程序的层次关系表现在纵线上。

每条纵线表示了一个层次。

把PAD图从左到右展开。

随着程序层次的增加,PAD逐渐向右展开。

《软件工程导论》参考答案

《软件工程导论》参考答案

参考答案(范村长下载的)第1章一、选择题1. D2. C3. B4. D5. B6. A7. D二、填空题1. 程序文档数据2. 抽象模块化信息隐蔽局部化一致性完备性可验证性3. 问题定义可行性研究需求分析4. 软件生命周期模型顺序性依赖性5. 制定计划风险分析实施工程客户评价6. 结构化分析结构化设计结构化程序设计数据流自顶向下,逐步求精功能的分解与抽象三、思考题1. 答:软件产品是一种无形的逻辑产品,是人们脑力劳动的结晶。

软件产品只能以程序、数据和文档的形式出现。

其存储介质是磁盘、磁带或光盘。

通过计算机的执行才能体现出来。

与硬件产品的制造不同,软件产品的成本主要花在研制上,而产品的制造实质上是所开发产品的拷贝。

软件产品不会像硬件产品一样磨损,但仍然需要维护,而且维护的成本很高。

软件产品的开发主要靠脑力劳动,所以产品研制的成本很高,很难像硬件产品那样实现工业化生产。

2. 答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件的日益增长的需求;如何维护数量不断膨胀的软件。

具体来说,软件危机主要有以下一些典型表现。

对软件开发成本和进度的估计常常很不准确。

用户对所交付的软件系统不满意的现象时有发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

软件文档资料通常不完整、不合格。

软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上日益增长的软件需求。

3. 答:软件工程的基本目标是在给定的成本、进度等条件下,开发出满足用户需求的软件产品。

简单来说,也就是要成功地建造一个大型软件系统。

软件项目的成功主要是要达到以下几个目标:付出较低的软件开发成本;达到用户所要求的软件功能;取得较好的软件性能;所开发的软件易于移植、可重用性好;需要较低的软件维护费用;能按时完成开发任务,及时交付使用;软件工程面临的主要问题是:软件费用、软件可靠性、软件维护、软件生产率和软件重用等。

软件工程思考题答案

软件工程思考题答案

第一章根本概念1.软件的特点是什么?软件的定义:软件=程序+数据+文档软件的特点:1)软件是逻辑实体;具有抽象性;软件的形态不可见;--必须通过观察、分析、思考、判断来了解其功能、性能和其它特性。

2〕软件是人脑思维的产物,其生产过程与硬件不同。

--开发过程的质量控制及软件产品保护问题。

3〕软件的开发和运行受计算机系统限制。

--软件移植问题。

4〕软件的开发技术落后,手工开发方式仍占统治地位。

--开发效率低。

2.2006年发布的国家分类标准是什么?1〕按功能:系统软件、支撑软件、应用软件2〕按规模:微型软件、小型软件、大型软件、甚大型软件、极大型软件3〕按工作方式:实时处理软件、分时软件、交互式软件、批处理软件4〕按效劳对象:工程软件、产品软件5〕按使用频度:使用频度低、使用频度高6〕按失效影响:不良影响、严重影响3.软件危机的表现有哪些?1)软件开发进度难以预测2)软件开发本钱难以控制3)用户对产品功能难以满足4)软件产品质量无法保证5)软件产品难以维护4.产生软件危机的原因?1)用户需求不明确2)缺乏正确的理论指导3)软件开发规模越来越大4)软件开发复杂度越来越高5.什么是软件工程三要素?软件工程的三要素:方法、工具和过程。

6.软件工程的根本目标是什么?①付出较低的开发本钱②到达要求的软件功能③取得较好的软件性能④开发的软件易于移植⑤需要较低的维护费用⑥能按时完成开发工作,及时交付使用7软件工程的根本原那么是什么?①抽象:采用分层次抽象,自顶向下、逐层细化的方法控制软件开发过程的复杂性。

②信息隐蔽:将模块设计成“黑箱〞,实现的细节隐藏在模块内部,不让模块的使用者直接。

这就是信息封装,使用与实现别离的原那么。

③模块化:如C语言程序中的函数过程,C++ 语言程序中的类。

模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。

④局部化:要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。

软件工程(软件需求)习题与答案

软件工程(软件需求)习题与答案

软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。

对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。

本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。

2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。

软件需求的编写和理解对于项目的成败具有决定性的作用。

准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。

2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。

功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。

2.3 习题三:请列举几个软件需求的常见问题。

答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。

- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。

- 模糊的需求:需求描述含糊不清,无法量化和验证。

- 可测量性问题:需求无法被准确地测量和评估。

- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。

3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。

软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。

缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。

3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。

功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。

3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。

(0010)《软件工程》复习思考题及参考答案

(0010)《软件工程》复习思考题及参考答案

(0010)《软件工程》复习思考题模拟试卷一(开卷)“商场管理信息系统”问题描述:库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

问题1:画出尽可能详细的“商场管理信息系统”数据流图。

问题2:按照软件工程的规范写出“商品入/出库信息”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4:已知“销售模块”的IPO表如下,请画出该模块的程序流程图。

问题5说明你采用了什么测试方法。

模拟试卷二(开卷)“报刊订阅系统”问题描述:系统保存所有通过邮局发行的报刊的与发行有关的信息;接受订阅者的订阅和付款,并保存订阅、付款日期和金额、以及投递信息;输出投递和订阅清单;接受顾客的查询服务;统计各报刊的各阶段的总订阅数,并输出各报社、各杂志社的订单汇总表。

问题1:画出尽可能详细的“报刊订阅系统”数据流图。

问题2:按照软件工程的规范写出“报刊订单”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4问题5:请至少设计出两组测试数据,用于测试问题4中你设计的程序,并说明你采用了什么测试方法和目的。

(0010)《软件工程》复习思考题答案模拟试卷一“商场管理信息系统”问题描述:库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

软工复习大纲—思考题

软工复习大纲—思考题

第1章的思考题●软件的定义:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。

●遗留软件的定义:年代较久,甚至过于久远的旧软件,存在质量差的特点。

●软件与其他工程原则制造的制品的区别? (1.1)1.软件是一种逻辑实体,具有抽象性;2.软件没有明显的制造过程;3.软件在使用过程中,没有磨损、老化的问题;4.软件对硬件和环境有着不同程度的依赖性;5.软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低;6.软件是复杂的,而且以后会更加复杂;7.软件的成本相当昂贵;8.软件工作牵涉到很多社会因素。

●软件特征与硬件特征的区别?(1.2)1.软件是设计开发的,而不是传统意义上生产制造的;2.软件不会“磨损”;3.虽然整个工业向着基于构件的构造模型发展,然而大多数软件仍是根据实际的顾客需求定制的。

●为什么说软件不用随着时间而演化的说法是错误的.(1.4.1)因为随着时间的推移,一个软件或由于下述原因发生演化:•软件需要修改其适应性,从而满足新的计算环境或者技术的需求。

•软件必须根据新的业务需求进行升级。

•软件必须拓展以具有与更多现代系统和数据库的协作能力。

•软件构架必须进行改建以适应多样化的网络环境。

第2章的思考题●软件生命周期:软件产品或软件系统从设计、投入使用到被淘汰的全过程。

●软件工程的四个层次以及之间的关系:工具、方法、过程和质量关注点●软件工程的通用框架以及框架活动:沟通、策划、建模、构建和部署●软件构建与软件部署的区别:软件构建包括编码和测试,是在开发阶段由开发人员来完成;软件部署是将所完成的部分交付给客户,由客户对其进行评测和反馈意见,此时开发人员提供技术支持和维护。

●什么是软件过程:软件工程可以定义为一系列模式的组合,这些模式定义了一系列的软件开发中所需的活动、动作、工作任务、工作产品及相关的行为。

第3章的思考题●软件开发的原型模型的各个阶段(phase)沟通、快速策划、建模快速设计、构建原型、部署交付产品及反馈●叙述风险分析在演化模型(螺旋模型)中的作用.评价方案、识别风险、消除风险●软件工程中的基于构件的软件过程模型的主要优势基于构件开发模型能够使软件复用,软件复用会为软件工程师带来极大受益。

软件工程思考题答案

软件工程思考题答案

《软件工程》思考题答案2、软件工程是什么时候提出来的?它主要包括哪些方面?软件工程的提出:伴随着软件危机的出现以及解决过程中软件工程学的主要内容是软件开发技术和软件工程管理:软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学5、面向对象系统设计的特点面向对象分析设计界限不明显面向对象分析和设计通常采用迭代方法和传统的设计方法类似,面向对象设计也是基于模块化和功能独立等方法之上6、需求分析的主要任务建立分析模型,完成用户需求报告:分析模型是一组描述软件需求的模型;编写软件需求规格说明(SRS)需求分析的特点:用户需求具有动态性用户需求具有模糊性用户与设计者在对需求的认识和理解上存在偏差对需求分析,用户和设计者应共同承担责任需求规格说明书内容:一、概述二、目标系统描述三、目标系统功能需求四、目标系统性能需求五、目标系统界面与接口需求六、目标系统其他需求七、目标系统假设与约束需求分析重要:●需求分析工作对于整个系统的成败影响最大●用户需求报告是第一个最重要的文档,是用户、软件开发人员和项目管理人员三者必须遵守的一根基线●需求分析中的错误对后续工作影响较大●需求分析时期的工作量约占整个开发系统工作量的1/47、●数据流图DFD、数据字典DD和加工说明PSPEC●控制流图CFD、控制状态说明CSPEC和状态变迁图STD●关系实体图E-R图1.8、概要设计的主要任务是什么?它与需求分析有什么关系?主要任务:1.设计软件系统结构(简称软件结构)2.数据结构及数据库设计3.编写概要设计文档4.评审关系需求分析--产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。

不涉及具体实现方法。

用户能看得明白,开发人员也可据此进行下面的工作(概要设计)概要设计--产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。

并且需要指出关键技术难点等。

软工大纲思考题

软工大纲思考题

软工大纲思考题(1~10题)作者:zxh 出自:同等学力申请硕士学位(数学+网络+软工)浏览/评论:560/0 日期:2005年4月26日 17:45软工大纲思考题(1~10题)1、何谓软件?并结合一个具体的软件开发,说明软件的基本构成。

答:软件=程序+数据+文档。

例如在开发一个教师招聘管理信息系统的过程中,首先要有计划,要进行可行性分析,这就产生了最终软件的文档部分中的第一部分项目计划书;如果获得了项目的开发权,接下要进行的是需求分析和设计,这又必须产生需求规格说明书、概要设计说明书和、详细设计说明书,这也是软件文档的一部分。

同时还要进行数据设计,这就包含了软件的另一个组成部分——数据;然后进行编码,编码主要的产品是程序,但程序中也应该有必要的注释,以提高程序的可读性;随后是测试,测试要有测试计划、测试用例设计、测试结果等相关文档;交付用户之前还要编写用户说明书、培训资料等文档。

在运行期间,进行的维护工作也要产生相应的维护记录。

2、软件工程的概念与图1所示的软件工程框架之间的关系。

答:按照IEEE1993年的定义,软件工程是将系统的化的、规范化的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。

软件工程框架:也就是说,软件工程的目标是开发可用的、正确的和合算的软件;为了达到这个目标,在包括基本过程、支持过程和组织过程软件过程中,必须坚持“选取适宜的开发范型原则、采用合适的设计方法、提供高质量的工程支持和重视软件工程管理”的原则。

4、如何理解ISO12207标准中的“软件过程”这一术语?答:软件过程是一组活动的集合,而活动是任务的集合,任务是把输入变成输出的一组操作。

5、按参与软件开发(生产)的人之职责来划分软件过程,形成三大类:基本过程、组织过程和支持过程,简述它们的含义以及每一过程所包含的活动。

答:基本过程是与软件开发直接相关的过程,包括获取过程、供应过程、开发过程、运行过程和维护过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程》期末思考题江超群2016/12/171•什么是软件?软件的特点有哪些?国标中对软件的定义为:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

可以认为:软件=程序+数据+文档特点:软件是复杂的;软件是一个逻辑产品而不是物理产品;软件是开发的,而不是制造的;软件具有柔性;软件不会“磨损”;至今还未完全摆脱手工开发模式,大部分产品是定制的;软件成本相当曰車昂贵。

2•什么是软件危机?软件危机的表现是什么?软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

表现:如那件开发进度难以预测;软件开发成本难以控制;用户对产品功能难以满足;软件产品质量无法保证;软件产品难以维护;软件缺少适当的文档资料。

3. 软件危机产生的原因是什么?软件本身:1)软件本身是逻辑部件,缺乏可见性,开发过程的进展情况和质量难以预测、难以衡量。

2)不会用坏,维护意味着修改原设计。

3)规模庞大,多人合作,难以统一成高质量的整体。

开发、维护方法不当:对用户的需求没有准确的认识,仓促上阵,急于求成。

4. 什么是软件工程?软件工程的基本内容有哪两个方面?将工程的原理应用于软件设计、开发以获得有效的和经济的软件、软件开发过程和软件系统。

IEEE定义:⑴将系统的、规范的、可度量的方法应用于软件的开发、运行和维护的过程;(2)上述方法的研究。

基本内容有技术和管理两方面。

5. 软件工程三个要素是什么?软件工程作为一种层次化的技术,有方法、工具和过程三大要素,并由于其涉及学科内容的极为广泛,而分为三个分支:软件开发技术、软件项目管理技术、软件质量管理技术。

6•你知道的软件工程过程模型有哪些?瀑布模型、增量模型、演化模型、喷泉模型、基于构件的开发模型、形式化方法模型。

7•什么是软件生命周期?它有哪几个阶段?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护从哪几方面进行可行性研究?市场可行性、政策可行性技术可行性一般要考虑的情况包括开发的风险即设计出的系统能否达到要求的功能和性能 资源的有效性;相关技术的发展是否支持;经济可行性进行开发成本的估算以及了解取得效益的评估 ,确定要开发的项目是否值得投资。

社会可行性要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度 、人员素质、操作方式是否可行。

软件需求分析从哪几方面进行?可以分为:功能需求、性能需求、可靠姓需求和可用性需求、出错处理需求、接口需求等多个方进行需求分析的步骤什么?确定系统的综合需求; 分析系统的数据需求; 导出逻辑模型; 修正系统开发计划。

用什么图可以描述系统的业务?业务流程图或UML 活动图 组织结构图用什么图可以描述系统的功能?数据流图或UML 用况图什么是数据流图?它包括几种基本符号?其作用是什么?是描述数据处理的工具。

从数据传输和加工的角度,以图形的方式刻画数据流从输入到输出的移 动变换过程,是一种功能模型。

数据流数据存储图1数据流图基本符8.9.面。

10.1) 2) 3) 4)11.12. 13.加工{处理)•变换数拒的处理14. 画出你所做项目的0层(或1层)数据流图15. 说出画数据流图的原则,至少5条1)数据流图上所有符号只限于四种基本图形元素2)主图必须包括四种基本元素,缺一不可3)主图上的数据必须封闭在外部实体之间,外部实体可以不止一个4)每个加工至少有一个输入数据流和一个输出数据流5)每个数据流都应有与相联系的加工6)数据文件必须既有读操作,也有写操作7)需按层给加工编号(但不表示先后顺序),8)任何一个子图必须与它上一层的一个加工对应,二者的输入数据流和输出数据流必须一致9)图上每个元素都必须有名字10)数据流图中不可夹带控制流(这与程序流程图有本质区别)11)初画时可忽略琐碎的细节,集中精力于主要的数据流16. 什么是数据字典,它与数据流图有什么关系?是关于数据信息的集合,它对数据流图中的各个元素作完整的定义与说明,是数据流图的补充工具。

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。

关系:数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。

只有数据流图和对数据流字典中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

17. 需求分析阶段产生的主要文档?1)软件需求规格说明书2)初步的用户手册3)确认测试计划18. 什么是软件概要设计,该阶段的基本任务是什么?概括地回答“怎样实现目标系统”。

基本任务:1)设计软件系统结构(软件结构)2)用户界面及数据库设计3)编写概要设计文档a)概要设计说明书b)数据库设计说明书c)用户手册d)修订测试计划4)评审19. 什么是模块独立性?衡量模块独立程度的标准是什么?使每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。

衡量模块独立性程度的度量标准a)耦合:衡量不同模块间相互依赖的紧密程度。

b)内聚:衡量一个模块内部各元素彼此结合的紧密程度。

20. 什么是耦合?什么是内聚?耦合:模块间的联系的紧密程度。

无耦合、松散耦合、紧密耦合。

由低到高:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共环境耦合、内容耦合。

内聚:模块内各个元素彼此结合的紧密程度。

由低到高:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、信息内聚、功能内聚。

21. 画出你所做项目的软件结构图22. 用户界面设计准则有哪些?1)用户界面适合于软件的功能2)容易理解(无误、提示信息)3)一致性(风格、术语、步骤、动作)4)减少用户记忆的负担5)及时反馈信息6)出错处理7)适应各种用户(初学者/专家、色盲等)8)国际化(图标、语言、单位、日期格式等)9)个性化(与众不同、记忆深刻)10)合理的布局(行列对齐、尺寸合理、缩放正常)11)和谐的色彩23. 概要设计阶段产生的主要文档?a)概要设计说明书b)数据库设计说明书c)用户手册d)修订测试手册24. 你在概要设计说明书中主要使用的图是什么,表达什么?25. 什么是详细设计?内容?说明应该怎样具体地实现这个系统。

主要内容:数据结构与算法26. 描述算法的工具有哪些?算法流程图;盒图(N-S图);问题分析图(PAD图);判定表;判定树;过程设计语言(伪代码、PDL)图2程序流程图和盒图图3 PAD 和判定表r 头尊艇L 国内柔客其它船 拧李垂呈-W>3(1厂头等舱—国外乘客L 其它龍行李重贡—免费^<-JU图4判定树27. 算法流程图和系统流程图的区别是什么?系统流程图:描绘系统物理模型的传统工具。

他的基本思想是用图形符号以黑盒子的形式描绘系统 理念的每个部件包括程序, 文件,数据库,表格,人工过程等,表达信息在给个部件之间流动的情况, 而不是表示对信息进行加工处理的控制过程。

反映了主体框架。

程序流程图:描述了程序中控制流地情况,即程序中处理的执行顺序和执行序列所依赖的条件, 途中有向线段表示的是控制流从一个处理走到下一个处理。

28. 详细设计阶段产生的主要文档?详细设计说明书■ 0世)陡畀咆 (3)s^kaff wS f 循坏体)W*FAT UNTILP(Problem Analysis Diagram)(1}帧序给构 住)选弹站构UMIL C(后测试搪环112 3 4 S 6 7 89国内彙客 T T TT F FF F头嫌枪T F TF T FT FFPT T F F TT 1f¥M*W<30 TFFFFFFFF处费7(W-30) X2V(W-W) X3V(W-30) X4VV(W-30) X6 VV(W-30) X8V(W-3<J) X13V残疾乘客」U-30)*2FF 常乘客 JU 3«1)*4 -硯疾乘客JU-3O>*3L 正當乘 ^_(W-30)*6 残疾乘客JU-30)M 匚正當乘客 正常乘客尸12(el)AB(c2)(4)・H1LE ■豎塑 (5) UKTlLtXggWHIlF PS __(糖耳*0门〕聲夕结构:4)多分支送择型(先测试循29. 什么是软件设计说明书?主要包括什么内容?概要设计说明书是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。

详细设计说明书是详细设计阶段的主要成果,也是编码阶段主要参考的文档。

主要包括引言、总体设计、程序设计说明。

30. 你认为编码时要注意的问题有哪些?1)变量命名规范2)编码格式规范3)多加注释4)少用或不用goto语句5)使用C/C++时,申请了内存空间就要记得释放内存空间31. 什么是软件测试?应该由谁去测试?软件测试是软件开发过程中必须伴有的质量保证活动。

软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。

通常,项目的开发人员不参与系统测试。

测试小组通常是独立于实现人员的,理想情况下,某些测试小组成员已经是有经验的测试人员。

测试人员需要熟悉测试系统规格说明,而且熟悉测试方法和工具。

32. 软件测试的目标是什么?软件调试的目的是什么?测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。

软件调试的目的是确定错误的位置、性质并纠正。

33. 什么是白盒测试,设计白盒测试方案的技术是什么?白盒测试是根据被测程序的逻辑结构设计测试用例;力求提高测试覆盖率。

设计白盒测试用例的方法:逻辑覆盖法。

语句覆盖、判定覆盖、条件覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、点覆盖、边覆盖、路径覆盖。

34. 什么是黑盒测试,黑盒测试的主要方法是什么?黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

主要测试方法:等价类划分、边界值分析法、错误推测。

35. 什么是测试用例?一个测试用例包括哪些内容?测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

相关文档
最新文档