软件工程第三版答案.docx
《软件工程第三版答案.docx》由会员分享,可在线阅读,更多相关《软件工程第三版答案.docx(22页珍藏版)》请在冰豆网上搜索。
![软件工程第三版答案.docx](https://file1.bdocx.com/fileroot1/2022-11/26/91ca7450-9b58-426d-a8ec-6d852492c8da/91ca7450-9b58-426d-a8ec-6d852492c8da1.gif)
软件工程第三版答案
软件工程第三版答案
【篇一:
软件工程课后答案】
>1.1什么是计算机软件?
软件的特点是什么?
答:
计算机软件指计算机系统中的程序及其文档。
软件的特点是:
a软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确得估算;
b软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;
c软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明。
答:
在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。
a系统软件:
系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。
系统软件与具体的应用领域无关。
例如:
编译程序、操作系统等。
b支撑软件:
支撑软件是支撑软件的开发和维护的软件。
例如:
数据库管理系统、网络软件、软件工具、软件开发环境等。
c应用软件:
应用软件是特定应用领域专用的软件。
例如:
工程/科学计算软件、嵌入式软件、产品线软件、web应用软件、人工智能软件。
1.4什么是软件工程?
答:
在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
1.5简述软件工程的基本原则。
答:
软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:
第一条:
围绕适宜的开发模型;
第二条:
采用合适的设计方法;
第三条:
提供高质量的工程支撑;
第四条:
重视软件工程的管理。
1.6软件生存周期分哪几个阶段?
分别简述各个阶段的任务。
答:
软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。
a计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。
b需求分析主要解决待开发软件要“做什么”的问题,确定软件的功
能、性能、数据、界面等要求,生成软件需求规约。
c软件设计只要解决待开发软件“怎么做”的问题。
软件设计通常可分为系统设计和详细设计。
系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。
详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。
d编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。
e测试阶段的任务是发现并纠正软件中的错误和缺陷。
测试主要包括单元测试、集成测试、确认测试和系统测试。
f软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。
1.9简述各类软件过程模型的特点。
答:
典型的软件过程模型有:
瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。
a瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是:
接受上一阶段活动的结果作为本阶段活动的输入;
依据上一阶段活动的结果实施本阶段应完成的活动;
对本阶段的活动进行评审;
将本阶段活动的结果作为输出。
b增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。
c原型模型从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。
然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。
被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下一轮迭代中对原型进行改进。
在前一个原型需要改进,或者需要扩展其范围的时候,进入下一轮原型的迭代开发。
d螺旋模型将原型模型实现的迭代特征与瀑布模型中控制的和系统化的方面结合起来,不仅体现了这两种模型的优点而且还增加了风险分析。
e喷泉模型是一种支持面向对象开发的过程模型。
类及对象是面向对象方法中的基本成分。
在分析阶段,标识类及对象,定义类之间的关系,建立对象-关系模型和对象-行为模型。
在设计阶段,从实现的角度对分析模型进行调整和扩充。
在编码阶段,用面向对象语言实现类及对象,通过消息机制实现对象之间的通信,完成软件的功能。
在面向对象方法中,分析模型和设计模型采用相同的符号表示体系,开发的各个活动没有明显的边界,各个活动经常重复,迭代地交替进行。
f基于构件的开发模型,基于构件的开发是指利用预先包装的构建来构造应用系统。
构件可以是组织内部开发的构建,也可以是商业化的、现存的软件构件。
g形式化方法是建立在严格数学基础上的一种软件开发方法。
软件开发的全过程中,从需求分析、规约、设计、编程、系统集成、测试、文档生成,直至维护等各个阶段,凡是采用严格的数学语言,具有精确的数学语义的方法,都称为形式化方法。
形式化方法用严格的数学语言和语义描述功能和设计规约,通过数学的分析和推导,易于发现需求的歧义性、不完整性和不一致性,易于对分析模型、设计模型和程序进行验证。
通过数学的演算,使得从形式化功能规约到形式化设计规约,以及从形式化设计规约到程序代码转换成为可能。
1.10敏捷软件开发的特点是什么?
答:
敏捷软件开发的特点有4个:
a个人和交互高于过程和工具;
b可运行软件高于详尽的文档;
c与客户协作高于合同谈判;
d对变更及时做出反应高于遵循计划。
1.12简述敏捷软件开发的原则。
答:
敏捷软件开发必须遵循的12条原则如下;
a最优先的是通过尽早地和不断地提交有价值的软件来使客户满意;
【篇二:
软件工程课后习题答案】
1﹑软件产品的特性是什么?
答:
软件产品特性:
⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。
⑶软件产品不会用坏,不存在磨损,消耗。
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是定做的
⑸开发软件的费用不断增加,致使生产成本相当昂贵。
2﹑软件生产有几个阶段?
各有何特征?
答:
⑴程序设计时代:
这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
⑵程序系统时代:
这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
⑶软件工程时代:
这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。
3﹑什么是软件危机?
产生原因是什么?
答:
软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:
⑴软件规模越来越大,结构越来越复杂。
⑵软件开发管理困难而复杂。
⑶软件包开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4﹑什么是软件工程?
它目标和内容是什么?
答:
软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:
付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:
研究内容包括开发技术和开发管理两个方面。
开发技术主要研究:
软件开发方法,开发过程,开发工具和环境。
开发管理主要研究:
软件管理学,软件经济学,软件心理学。
5﹑软件工程面临的问题是什么?
答:
软件工程需要解决的问题:
软件的费用,可靠性,可维护性,软件生产率和软件的重用。
6﹑什么是软件生存周期?
它有哪几个活动?
答:
软件生存周期:
一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:
可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
7﹑什么是软件生存周期模型?
有哪些主要模型?
答:
生存周期模型:
描述软件开发过程中各种活动如何执行的模型。
对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有:
瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
8﹑什么是软件开发方法?
有哪些主要方法?
答:
使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。
软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。
主要有:
结构化方法,jackson方法,维也纳开发方法﹙vdm﹚,面向对象开发方法。
第二章习题参考答案
1.可行性研究的任务是什么?
答:
可行研究的任务:
首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。
分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
主要从三个方面考虑:
⑴技术可行性:
一般要考虑的情况包括开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;⑵经济可行性:
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。
⑶社会可行性:
要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。
2.可行性研究有哪些步骤?
答:
⑴确定项目规模和目标;⑵研究正在运行的系统;收集﹑研究﹑分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。
⑶建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况。
⑷导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性﹑经济可行性﹑社会可行性进行评估,得到可行的解决方法。
⑸推荐可行方案;进行成本~效益分析,决定该项目是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。
⑹编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。
3.可行性研究报告有哪些主要内容?
答:
⑴引言:
编写本文档的目的;项目名称﹑背景;本文档用到的专门术语和参考资料。
⑵可行性研究前提:
说明开发项目的功能﹑性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
⑶对现有系统的分析:
说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人吧和数量;所需各种设备;向有系统存在什么问题。
⑷所建议的技术可行性分析:
所建议系统的简要说明;处理流程和数据流程;与现有系统比较的优越性;采用所建议系统对用户的影响;对各种设备﹑现有软件﹑开发环境﹑运行环境的影响;对经费支出的影响;对技术可行性的评价。
⑸所建议系统的经济可行性分析:
说明建议系统的确良各种支出,各种效益;收益投资比;投资顺收周期。
⑹社会因素可行性分析:
说明法律因素,对合同责任﹑侵犯专利权﹑侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理﹑工作制度﹑人吧素质的要求。
⑺其它可供选择方案:
逐一说明其他可供选择的方案,并说明未被推荐的理由。
⑻结论意见:
说明项目是否能开发;还需什么条件才能开发;对项目目标有何变动等。
4.成本--效益分析可用哪些指标进行度量?
答:
⑴投资回收率:
通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。
⑵投资回收期:
就是使累计的经济效益等于最初的投资费用所需的时间。
⑶纯收入:
整个生存周期之内的累计经济效益(折成现在值)与投资之差。
5.项目开发计划有哪些内容?
答:
⑴项目概述:
说明项目的各项主要工作;说明软件的功能﹑性能;为完成项目应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应交付的程序名称;所使用的语言及程储形式;应交付的文档。
⑵实施计划:
说明任务的划分,各任务责任人,项目开发进度,项目的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。
⑶人员组织及分工:
所需人员类型﹑数量﹑组成结构。
⑷交付期限:
最后完工日期。
第三章习题参考答案
⒈什么是需求分析?
需求分析阶段的基本任务是什么?
答:
需求分析:
开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
基本任务:
⑴问题识别:
双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。
⑵分析与综合,导出软件的逻辑模型⑶编写文档:
包括编写需求规格说明书,初步用户使用手册,确认测试计划,修改完善软件开发计划
⒉什么是结构分析方法?
该方法使用什么描述工具?
答:
结构化分析:
简称sa,面向数据流进行数据分析的方法。
采用自顶向下逐层分解的分析策略。
顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。
中间层则是从抽象到具体的过渡。
使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。
⒊结构化分析方法通过哪些步骤来实现?
答:
⑴了解当前系统的工作流程,获得当前系统的物理模型。
⑵抽象出当前系统的逻辑模型。
⑶建立目标系统的逻辑模型。
⑷作进一步补充和优化。
⒌画数据流图应注意什么事项?
答:
命名:
不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。
1.画数据流而不是控制流。
数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
一般不画物质流。
2.每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
编号:
某个加工分解成加一张数据流图时,上层图为父图,下
层图为子图。
子图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。
3.父图与子图的平衡:
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致⑵抽象:
认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。
通过抽象确定组成软件的过程实体。
⑶信息隐蔽:
将模块实现自身功能的细节与数据局部数据存储:
当某慨数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
注意数据流图的易理解性。
⒍什么是数据字典?
其作用是什么?
共有哪些条目?
答:
数据字典(dd)用来定义数据库流图中的各个成分的具体含义。
有以下四类条目:
数据流,数据项,数据存储,基本加工。
⒎描述加工逻辑有哪些工具?
答:
加工逻辑的描述:
一般用结构化语言,判定表,判定树结构化语言是介于自然语言和形式语言之间的一种半形式化语言。
它的结构可分里层和内层
⑴外层:
用来描述控制结构,采用顺序,选择,重复三种基本结构。
顺序结构:
是一组祈使语句,选择语句,重复语句的顺序排列②选择结构:
一般用if-then-elase-endif,case-of-endcase等关键词。
③重复结构:
一般用do-while-enddo,repeat-until等关键词。
⑵内层:
一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不使用形容词和副词来修饰。
包括:
idef0描述系统的功能活动及联系,建立系统的功能模型。
即反映系统做什么折功能。
idef1描述系统的信息及联系,建立系统的信息模型。
idef2进行系统模拟,建立系统的动态模型。
idef0特点:
⑴采用方框和箭头等简单图形符号描述系统的活动和数据流,描述活动所受的约束条件及实现机制。
如下图描述,其中输入为完成某活动时所需的数据,输出指执行活动产生时的数据,控制活动指所受到的约束条件,机制是指活动由谁来完成。
⑵采用严格的自顶向下﹑逐层分解的方式建立系统功能模型。
⒐简述sa方法的优缺点。
答:
sa方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。
较适用于开发数据处理类型软件的需求分析。
利用图形等半形式化工具表达需求,简明,易读,也易于使用。
但也存在一些弱点,表现如下:
⑴sa方法仅是一个静态模型,没有反映处理的顺序,即控制流程。
⑵sa方法使用dfd在分析与描述数据要求方面是有局限的,只有与数据库技术中的实体联系图(er图)结合起来,才能较完整地描述用户对系统的需求。
⑶dfd不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。
⑷sa方法要与形式化方法结合起来,才能更精确地描述软件需求。
⑸要借助需求分析工具,提高需求分析的质量及效率。
第四章习题参考答案
1、什么是软件概要设计?
该阶段的基本任务是什么?
答:
把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:
⑴设计软件系统结构,具体为:
1.采用某种设计方法,将一个复杂的系统按功能划分为模块。
2.确定每个模块的功能。
3.确定模块之间的调用关系。
4.确定模块之间的接口(模块之间传递的信息)评价模块的结构质量⑵进行数据结构及数据库的设计⑶编写概要设计的文档主要内容有:
概要设计说明书,数据库说明书(dbms的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)⑷评审:
是否完整地实现了规定的功能﹑性能要求。
设计方案是否可行。
关键的处理及内部接口定义的正确性,有效性,各部分的一致性。
2、软件设计的基本原理包括哪些内容?
答:
⑴模块化:
模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。
模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。
(可降低复杂度、减少工作量)
模块具有以下几种特性:
接口:
模块的输入输出。
功能:
指模块实现什么功能。
逻辑:
描述模块内部如何实现要求及所需的数据。
状态:
该模块的运行环境,模块间调用与被调用关系。
隐蔽起来。
模块间仅交换为完成系统功能所必须的信息。
⑷模块独立性:
每个模块只完成系统要求的独立的子功能。
3、衡量模块独立性的两个标准是什么?
各表示什么含义?
答:
内聚:
又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。
耦合:
也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。
4、模块的耦合性有哪几种?
各表示什么含义?
答:
⑴内容耦合:
一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块⑵公共耦合:
两个或多个模块通过共同引用一个全局数据环境相互作用⑶控制耦合:
模块之间通过传递控制信息相互作用⑷标记耦合:
两个模块之间通过传递公共指针或地址相互作用的耦合⑸数据耦合:
模块之间通过传递数据交换信息⑹无耦合:
模块间无任何关系,独立工作
5、模块的内聚性有哪几种?
各表示什么含义?
答:
⑴偶然内聚:
一个模块各个成分之间毫无关系⑵逻辑内聚:
将几个逻辑上相关的功能放在同一个模块中⑶时间内聚:
一个模块完成的功能在同一时间执行⑷过程内聚:
一个模块内部的处理成分是相关的,而且必须以特定的次序执行⑸通信内聚:
一个模块的所有成分都集中在同一个数据结构上⑹顺序内聚:
一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入⑺功能内聚:
模块内的所有成分属于一个整体,完成单一的功能。
(内聚最高)
6、什么是软件结构?
简述软件结构设计的优化准则。
答:
⑴改进软件结构,提高模块独立性首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。
⑵模块的规模应该适中⑶模块结构的深度、宽度、扇出和扇入应适中。
深度:
软件结构中控制的层数宽度:
软件结构中同一层次上最大模块总数扇入:
某一模块有多少直接调用它的上级模块数目(越大越好)扇出:
一个模块直接控制(调用)下级模块的数目。
(越少越好,3,4个为宜,不超过9个,顶层扇出较高,中间扇出较少,底层模块高扇入多⑷一个模块的作用域(范围),应处在这个模块的控制域(范围)之内模块的作用域:
受该模块内一个判定影响的所有模块的集合模块的控制域:
这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。
8、什么样是事物流?
什么是变换流?
试将相应形式的数据流图转换为软件结构图
答:
数据流图(dfd)一般可分为变换流,事物流两种。
变换流:
由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。
事物流:
它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。
(这人加工称为事务处理中心)
9.试述变换分析﹑事务分析设计步骤。
答:
变换分析设计步骤:
⑴确定变换中心,逻辑输入和输出。
⑵设计软件结构的顶层和第一层--变换结构:
顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)第一层至少有三种功能模块:
输入﹑输出和变换模块⑶设计中﹑下层模块,对第一层的模块自顶向下分解。
输入模块由两部分组成:
接收数据﹑转换成调用模块所需信息。
输出模块由两部分组成:
将数据转换成下属模块所需的形式﹑发送数据变换模块:
对每个基本加工建立一功能模块、⑷设计的优化:
输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。
其它输入模块与转换数据模块都很简单时,可将它们合并。
输出部分求精:
每个物理输出设置专门模块,其它也可适当合并。
变换部分求精:
根据设计准则,对模块适当合并。
事务分析的设计步骤:
⑴确定事务中心和加工路径⑵设计顶层(事务机构)和第一层顶层模块有两个功能:
接收数据和根据事务类型调动相应处理模块。
⑶中下层模块的设计﹑优化工作与变换结构相同。
事务型软件结构包括两部分:
接收分支发送分支出通常包括一调度模块,当事务类型不多时,可与主模块合并。
第五章习题参考答案
1、详细设计的基本任务是什么,有哪几种描述方法?
答:
详细设计的基本任务包括:
(1)为每个模块进行详细的算法设计
(2)为模块内的数据结构进行设计(3)对数据库进行物理设计(4)其他设计(5)编写详细设计说明书(6)评审详细设计的描述
方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和pad(问题分析图)为描述工具,语言常用过程设计语言(pdl)来作为工具。
2、结构化程序设计的基本要点是什么?
答:
主要有三个:
(1)采用自顶向下、逐步求精的程序设计方法
(2)使用三种基本控制结构构造程序。
任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。
(3)主程序员组的组织形式。
3、简述jackson方法的设计步骤。
答:
jackson方法的设计步骤如下:
1.分析并确定输入数据和输出数据的逻辑结构,并用jackson结构图表示这些数据结构。
(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。
3.按一定的规则由输入、输出的数据结构导出程序结构。
4.列出基本操作与条件,并把它们分配到程序结构图的适当位置。
(5)用伪码写出程序。
比较?
答:
白盒法测试法把测试对象看作一个打开的盒子,测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进