软件工程
一、名词解释与问答 1、SA ——结构化分析方法 2、画数据流图应注意什么事项?
(1)数据流名称只能是名词或是名词短语;
(2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来 源与加工的结果;
(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类; 父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致;
(4)注意数据流图的易理解性;
3、什么是软件生存周期?它有那几个活动?
一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?
以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
箭头,表示数据流 数据流是数据在系统内传播的路径,由一组成分固定的数据项组成;
圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工;
双杆,表示数据存储 指暂时保存的数据; 方框,数据源点或终点 软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中;
什么是数据字典 简述数据字典与数据流图的关系. 答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流
图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分) 简
述
编
码
风
格
的
重
要
性
.
答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.
简述软件测试的任务、目的与类型。
答:软件测试是一个为了寻找软件错误而运行程序的过程。
目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现 的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试 主要分为白盒测试和黑盒测试两大类。 可行性分析的目的和主要任务是什么?
答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。
主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行 性,社会可行性,抉择可行性。 需求分析的目的和主要任务是什么?
答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什 么。需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、接口需求、约束条件、其他需求。 软件维护的目的和主要任务是什么?维护的类型有哪些? 答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。
主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品) 什么是耦合?模块的耦合包括哪些类型?
答:耦合是对一个软件结构内不同模块之间互连程度的度量。
模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容 耦合,标记耦合,无耦合/非直接耦合 什么是内聚?模块的内聚包括哪些类型?
答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念
的自然扩展模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚 中内聚—过程内聚,通信内聚; 高内聚—顺序内聚,功能内聚 什么是编码风格?为什么要强调编码风格?
答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输出和效率保障等。因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风格。
二、综合应用题
1、用PAD图描述下面问题的控制结构。
有一个表A(1)、A(2)、....A(n),按递增顺序排列。给定一个Key值,在表中用折半法查找。若找到,将表位置i送入X,否则将零送到x,同时将key值插入表中。 算法:
置初值H=1(表头),T=N(表尾)。 置i=[(H+T)/2](取整)
若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;若KeyT为止。
查不到时,将A(i),......A(N)移到A(i+1)......A(N+1),Key值送入A(i)中。
四、填空题
1:结构化方法是一种面向数据流的开发方法。又结构化分析、_结构化程序设计 ___、构成
2:为了减少软件开发费用,缩短软件开发周期、减少软件内部潜在的错误,可 以减少程序复杂性,以提高软件的简单性和___可理解性________。 3:结构化程序设计方法是使用_____三种基本控制结构___构造程序。 4:与编码风格有关的因素有数据说明、语句构造、输入输出、效率等,其中还 有一个重要的因素是___源程序文档化_______.
5:结构化程序设计方法是提倡开发人员的组织形式是__主程序员组
6:增量模型在开发过程中以一系列增量方式开发系统,忽略某些阶段的细节, 从而尽早产生__工作软件_____
7:数据流图仅反映系统必须完成的逻辑功能,所以它是一种_____功能____模型 判断题:
1. 在进行总体设计时应加强模块间的联系。( N )
2. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系
统流程图使用。( N )
3. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( N ) 4. 在程序调试时,找出错误的位置和性质比改正该错误更难。( Y )
5. 以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计
方法之一。( Y )
6. 如果通过软件测试没有发现错误,则说明软件是正确的。( N ) 7. 快速原型模型可以有效地适应用户需求的动态变化。( Y )
8. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软
件产品。( Y )
9. 集成测试主要由用户来完成。( N ) 10. 软件危机完全是由于硬件问题引起的。( N )
Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)
当验收测试通过,软件开发就完成了.(×)
完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)
第二章:可行性研究
1:可行性研究实质上是一次简化,压缩了的( 需求分析和设计 )
2:可行性研究的三个方面是技术可行性、操作可行性、社会可行性和(经济可行性)
1. __数据流图________和__数据字典___共同构成系统的逻辑模型。
1:技术可行性要研究的问题之一是( D )
A:存在侵权否 B:成本效益问题 C:运行方式可行否 D:技术风险问题 2:研究硬件资源的有效性是进行( A )研究的一方面 A:技术可行性 B:经济可行性 C:社会可行性 D:操作可行性 三:名词解释
1.可行性研究 :可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程; 2.技术可行性:对待开发的系统进行功能、性能和限制条件的分析,确定在现有的资源条件下,技术风险有多大,系统能否实现;
3.经济可行性:这个系统的经济效益能超过它的开发成本吗? 4.社会可行性:实用性怎样 四.问答题
1.可行性研究的任务是什么:可行性研究最根本的任务是对以后的行动方针提出建议。
2.可行性研究有那些步骤:(1)复查系统规模和目标;(2)研究目前正在使用的系统;(3)导出新系统的高层逻辑模型;(4)进一步定义问题;(5)导出和评价供选择的解法;(6)推荐行动方针;(7)草拟开发计划;(8)书写文档提交审查;
3.可行性研究的目的.:可行性研究的目的不是解决问题,而是确定问题是否值得
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《软件工程导论》第六版期末复习总结在线全文阅读。
相关推荐: