软件工程全部习题答案
(完整word版)软件工程习题及答案解析

软件工程习题及答案一、选择题:1。
为了提高测试的效率,应该。
A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据2. 与设计测试数据无关的文档是。
A、需求说明书B、设计说明书C、源程序D、项目开发设计3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构4。
概要设计的结果是提供一份。
A、模块说明书B、框图C、程序D、数据结构5。
需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。
A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档6。
注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。
A、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者10。
数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是.A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开发中,有利于发挥集体智慧的一种做法是.A、设计评审B、模块化C、主程序员制D、进度控制13. 在开发软件时, 可用来提高程序员的工作效率.A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的。
软件工程习题(附答案)

一、选择题1、软件是一种( 2 )性工业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( 2 )进行的。
(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( 2 )的研究。
(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( 4 )。
(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( 1 )。
(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( 4 )。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( 4 )。
(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( 1 )的过程。
(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( 4 )。
(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( 3 )。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、在结构化方法中全面指导模块划分的最重要的原则是( 4 )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性12、最高程度也是最差的耦合是( 2 )。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括( 4 )。
(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是( 2 )。
软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
软件工程习题及解答

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
软件工程习题(附答案)

第一章概述1.软件产品具有哪些特性?答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的a.软件产品是一种逻辑产品.b.软件产品的生产主是研制,软件产品的成本主要体现在软件的...c.开发的软件可维护性差.d. 开发的软件可靠性差⑴是一种逻辑产品,与物质产品有很大的区别.⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品.⑶软件产品不会用坏,不存在磨损,消耗.⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵.(6)其质量往往靠不住,缺乏可见性2.简述什么是软件工程?答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件”的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不超过预算,并满足用户要求;3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段?答:定义时期:问题的定义(客户需求)、可行性研究(为什么做);开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。
运行时期:软件维护。
4.依下列叙述确定软件生命周期模型。
M公司的软件产品以开发实验型的新软件为主。
用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。
若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐明你的理由。
答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。
另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。
软件工程习题及答案-选择题

软件工程习题及答案-选择题选择题:1.软件是一种( B )A.有形B.逻辑C.物质D.消耗2.软件工程学科出现的主要原因是( C )A.计算机的发展B.其它工程学科的影响C.软件危机的出现D.程序设计方法学的影响3.(A)是计算机程序及其说明的各种文档A.软件B.文档C.数据D.程序4.有关计算机程序功能、设计、编制、使用的文字图形资料称为( B )A.软件B.文档C.数据D.程序5.软件工程是一种(A)分阶段实现的软件程序开发方法。
A.自顶向下B.自底向上C.逐步求精D.面向数据流6.从结构化的瀑布模型看,在软件生命周期中的八个阶段中,下面的几个选项中( C )出错,对软件的影响最大。
A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段7.在结构性的瀑布模型中,(C )阶段定义的标准将成为软件测试中的系统测试中的系统测试的目标。
A.详细设计阶段B.概要设计阶段C.需求分析阶段D.可行性研究阶段8.UML是软件开发中的一个重要工具,它主要应用下列哪种软件开发方法( C )。
A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法D.基于数据的数据流开发方法9.在软件生存周期中,用户主要是在(A)参与软件开发。
A.软件定义期B.软件开发期C.软件维护期D.整个软件生存周期过程中10.软件生存周期模型有多种,下列选项中,( C )不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型11.对软件的过分分解,必然导致( B )A.模块的独立性差B.接口的复杂程度增加C.软件开发的总工作量增加D.以上都正确12.结构化分析方法是一种面向( C )需求分析方法A.对象B.数据字典C.数据流D.结构图13.结构化设计方法中把软件结构划分为( B )和( E )两大类,并提出了对应于以上两类结构的分析方法。
A.控制型B.变换型C.模拟型D.处理型E.事务型F.分析型G.通信型H.功能型14.瀑布模型中软件生存周期划分为八个阶段,这八个阶段又可分为三个时期,这三个时期分别为计划时期、开发时期和(A)A.运行时期B.可行性分析C.详细设计D.测试和纠错15.进行需求分析可使用多种工具,但( C )是不适用的。
软件工程课后习题参考答案

软件工程课后习题参考答案1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1)必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
P237、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。
1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。
1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。
2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程全部习题答案。
(2003-5-31 19:55:00)第九章1、渐增模型有那几种特点答:增量构造和演化提交。
增量构造是瀑布模型的基础上在一些的阶段中采用增量开发一些阶段整体开发。
演化提交是在瀑布模型的基础上所有阶段都使用增量开发也就是不紧使用增量开发也使用增量提交。
2、快速原形有那几种特点答:探索型、试验型、演化型。
探索型:在需求阶段帮助明确理解需求用完抛弃。
试验型:在设计阶段考核现行方案是否合适用完抛弃。
演化型:及早的向用户展示一个系统的原形包含主要的功能得到用户的认可后将原形不断的扩充直到系统完成。
3、快速原形开发的步骤答:快速开发、需求、构造原形、原形、运行原形、评价原形、修改意见。
4、评价快速原形的优缺点答:可以更清楚的理解用户的需求、开发阶段可以用原形解决局部的困难,通过原形的开发可以让用户看见系统的初步功能的实现有利与用户的开发人员更好的交流,及早的解决存在的问题减少开发的风险。
缺乏好的管理工具和开发环境、缺乏管理机制、对开发人员的技术要求高、更新文档比较困难。
5、对比瀑布模型和增量模型,指出增量模型的新思路。
答:瀑布模型是一种整体的开发模型,开发的每一阶段必须按线性的顺序来进行,前一阶段的工作没有完成后一阶段的工作就不能开始。
由于需求分析的易变性使的软件开发工作不顺利,同时瀑布模型的每个阶段有不可避免的错误出现,那么延伸到以下的各个阶段错误就会放大。
增量模型是非整体开发的模型它采用渐增模型和原形模型,软件的开发是用增量开发和增量提交。
第八章1、软件维护有那些内容答:校正性维护、完善性维护、适应性维护、预防性维护2、软件维护的特点答:结构性维护、非结构性维护、别人的程序难懂、开发和维护在人员和时间上的差异、文档的不一致性、维护不是一项吸引人的工作3、软件维护的流程答:制定维护申请报告、审查申请报告并批准、实施维护并做记录、复审4、软件维护的副作用答:代码副作用、数据副作用、文档副作用5、什么是软件的可维护性可维护性度量的特性答:是能够别理解、适应、校正和增强功能的容易程度。
可理解、可适应、可测试、可修改、可靠、可移植可使用、效率。
6、提高可维护性的方法答:使用有可维护性的程序设计语言、及时更新文档、使用先进技术和工具、明确软件质量目标、明确质量保证工作。
第七章1、软件测试的目的是测试中要注意那些原则答:软件测试的目的是的发现软件中存在错误的活动。
好的测试用例可以发现至今没有发现的错误、好的测试用例可以发现至今没有发现的错误测试。
要提供输入数据还要提供输出数据、保留测试用例、检查它是否做了应该做的还要检查它是否做了不该做的、避免自己测试自己的程序、多错误多的地方要更严格的测试。
2、什么是白盒法有那些覆盖标准比较他们的检错能力。
答:将程序看成是白盒子,认真的分析程序的结构和功能制定测试用例来测试。
有逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖)3、什么是黑盒法有那些测试方法特点答:将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。
等价类划分、边界值分析、因果图、错误推测。
4、软件测试要经过那些步骤这些步骤和开发那些阶段对应答:单元测试对应详细设计和编码、集成测试对应概要设计、确认测试对应需求分析。
5、单元测试有那些内容答:测试模块的接口、数据结构、重要的执行路径、错误处理、边界条件。
6、什么是集成测试非渐增式和渐增式有什么区别渐增式如何组装模块答:将模块组合起来成为一个完整的系统对其进行测试。
非渐增式是将模块先进行单元测试然后组装在一起进行测试。
渐增式是逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次。
非渐增式需要桩模块和驱动模块、非渐增式开始可以并行测试、渐增式可以及时的发现接口错误,非渐增式很难发现接口发现错误、渐增式开始不能并行测试、渐增式测试比较彻底。
渐增式组装模块有自顶向下和自底向上两种组装方式。
7、什么是确认测试该阶段有那些工作答:按照需求规格说明书中的确定指标对系统进行功能与性能的测试。
进行确认测试(对照需求规格说明书用黑盒法进行测试)、软件配置检查。
(文档的完整性、正确性,发现遗漏和错误及时补充和修改)8、调试的目的是什么调试的技术有那些答:调试的目的是发现错误的位置并改正错误。
简单调试、演绎调试、递归调试、回溯调试。
第六章1、程序语言的共同特征答:心理特征(歧义性、简洁性、局部性、顺序性、传统性)、工程特征(可移植性、可重用性、可维护性)2、项目开发时,选择程序设计语言通常考虑的因素有那些答:项目应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、开发人员的知识。
3、4GL的特征答:友好的界面、有过程和非过程特性、高效的程序代码、完备的DB应用程序生成。
4、什么是程序风格为了具有良好的设计风格应注意那些方面的问题答:原程序文档化、数据说明、语句构造、输入输出、效率。
第五章1、详细设计的基本任务是什么有那几种描述方法答:设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评申。
程序流程图、PAD图、PDL第四章1、什么是概要设计有那些基本任务答:概要设计是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现。
基本任务是:建立软件系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册、数据库设计说明书、修订测试计划)。
、2、软件设计基本原理包括那些内容答:抽象、模块化(接口、功能、逻辑、状态)、信息隐蔽、模块独立性。
3、衡量模块独立性的两个标准是什么他们表示什么含义答:内聚、耦合。
内聚:表示模块内各个组成部分之间联系的紧密程度的度量,耦合:模块间联系紧密程度的度量。
4、模块间的耦合有哪几种含义答:无直接耦合:模块间没有直接联系数据耦合:模块间传递的是数据标记耦合:模块间传递的是数据结构控制耦合:传递的是控制变量,被调通过该变量有选择的执行模块内的某以功能。
公共耦合:通过一个公共数据环境相互作用的模块间的耦合关系。
内容耦合:一个模块直接使用另一个模块的内容。
5、模块的内聚有哪几种含义答:偶然内聚:逻辑内聚:时间内聚:通信内聚:顺序内聚:功能内聚:6、什么是软件结构图简述软件结构设计优化准则。
答:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。
准则:高内聚底耦合、作用范围在控制范围内、软件的深度、宽度、扇入、扇出适当、模块大小适中、接口简单清晰易懂。
7、什么是模块的控制范围和作用范围他们的关系如何答:控制范围:是模块本身和它的下属模块的集合。
作用范围:模块中的一个判定影响的所有模块的集合。
作用范围应该在控制范围内。
8、什么是变换流什么是事物流答:变换流由输入、变换(或处理)、输出三部分组成。
某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称为事物流。
第三章1、什么是需求分析任务是什么答:需求分析是准确的理解用的需求将其转换成需求定义,然后由需求定义转换成形式化的功能规约。
需求分析的困难表现在问题的复杂性、交流的障碍、不完备和不一致性、需求易变性。
任务:问题识别(功能需求、性能需求、环境需求、用户界面需求)分析综合导出逻辑结构、编写文档(需求规格说明书、初步用户手册、确认测试计划、完善修改软件开发计划)2、什么是结构化分析方法用什么工具描述答:结构化分析方法是采用自顶向下逐层分解的分析策略把一个复杂的系统分解成若干小问题然后分别解决。
描述工具:数据流图、数据字典、结构化语言、判定表、判定树。
3、结构化分析方法通过那些步骤实现答:分析现行系统,获得物理模型、抽象出当前系统的逻辑模型、建立目标系统的逻辑模型、补充优化。
4、什么是数据流图作用其中的符号表示什么含义答:数据流图是用来表示系统的功能的工具它表示系统的逻辑模型描述了数据流在系统中流动的情况它是一种功能模型。
它用来定义系统的功能。
箭头表示数据流、圆圈表示加工、双横线表示存储、方框表示数据的原点和终点。
5、画数据流图要注意什么答:命名、父子图平衡、局部数据存储、画数据流不画控制流、每个加工至少有一个输入和输出、不画物质流提高数据流图的易理解性。
6、什么是数据字典答:数据字典是用来描述数据流图中数据流、加工、存储的详细信息的。
7、描述逻辑加工有那些工具答:结构化语言、判定表判定树。
8、什么是IDEF方法IDEF0有什么特点答:IDEF方法是米国空军针对集成化计算机制造工程项目中用来进行复杂系统分析和设计的方法。
IDEF0用来描述功能活动极其联系的,它是功能模型。
IDEF0中将系统功能称为活动,用输入、输出、控制、机制来表示系统的功能,一个活动至少有一个控制可以没有输入。
9、SA方法的优缺点答:优点:SA是公认的、有效的、成熟的、使用广泛的方法。
它比较适用数据处理方面的设计。
采用图形形式化工具表达需求,简洁、易读、适用方便,对后续阶段的测试、评价提供了有利的条件。
缺点:它是个静态模型,没有反映控制流不适于实时控制系统的描述、SA对数据要求方面的描述木够全面最好和E-R图一起适用、不适合描述人机界面交互频繁的系统、为了加强对系统的描述能力应于形式化方法结合一起使用。
第二章1、可行性研究的任务是什么答:可行性研究的任务是对体统进行一次概要分析研究在尽可能短的时间里明确系统的目标和规模、约束、限制。
然后分析人员进行简要的需求分析,抽象出该项目的逻辑结构、建立逻辑模型,提出几种方案对它们进行可行性分析。
包括技术可行性,经济可行性、社会可行性。
2、可行性研究的步骤答:确定项目规模和目标、研究当前的系统、建立新系统的高层逻辑模型、导出和评价各种方案、推荐可行方案、编写可行性研究报告。
3、可行性研究报告有那些内容答:引言、可行性研究前提、对现有系统的分析、所建议系统的技术可行性分析、所建议系统的经济可行性分析、所建议系统的社会可行性分析、其它方案、结论意见。
4、成本—效益分析可用那些指标度量答:投资回收期、纯收入、货币的时间价值。
5、项目开发计划内容答:项目概述、实施计划、人员分组及分工、交付期限。
第一章1、软件产品特性答:逻辑产品有无形性、生产就是开发研制、不会坏不会磨损、成本昂贵、生产主要是脑力劳动。
2、软件生产有几个阶段特征答:程序设计、程序系统、软件工程。
3、什么是软件危机产生的原因4、什么是软件工程目标和内容答:用科学的原理和理论定义,开发、维护软件的学科。