收藏 分享(赏)

南京信息工程大学滨江学院李振宏《软件工程》期末复习32个考点完整版整理.pdf

上传人:精品资料 文档编号:8541233 上传时间:2019-07-02 格式:PDF 页数:15 大小:823.44KB
下载 相关 举报
南京信息工程大学滨江学院李振宏《软件工程》期末复习32个考点完整版整理.pdf_第1页
第1页 / 共15页
南京信息工程大学滨江学院李振宏《软件工程》期末复习32个考点完整版整理.pdf_第2页
第2页 / 共15页
南京信息工程大学滨江学院李振宏《软件工程》期末复习32个考点完整版整理.pdf_第3页
第3页 / 共15页
南京信息工程大学滨江学院李振宏《软件工程》期末复习32个考点完整版整理.pdf_第4页
第4页 / 共15页
南京信息工程大学滨江学院李振宏《软件工程》期末复习32个考点完整版整理.pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、1 选择 20 题,每题 1 分; 填空 10 题,每题 1 分; 简答 5 题,每题 8 分; 设计题 3 题,每题 10 分 (流程图的设计、流图 设计 和环形复杂度的计算、语句覆盖和判定覆盖测试用例的设计)。 1详细设计 中 ,过程设计 的工具 , N-S 图, PAD 图及判定表和判定树各有何特点和适用情况? (第六章 ) ( 1) 盒图 (N-S 图 ): 一种不允许违背结构程序设计精神的图形工具, 又称为 N-S 图。 它有下述特点: 功能域 (作用域 )明确,可以从盒图上一眼就看出来。 盒图没有箭头,因此不允许随意转移控制。 很容易确定局部和全程数据的作用域。 很容易表现嵌套关系

2、,也可以表示模块的层次结构。 适用 :对大部分设计均有适用性,常用于软件工程详细设计中,提供一种结构化的方式,便于思考和解决问题。 ( 2) PAD 图 : PAD 是问题分析图 (problem analysis diagram) ,它用二维树形结构的图来表示程序的控制流。 PAD 图的主要优点如下: 使用 PAD 符号设计的程序必然是结构化程序。 PAD 图所描绘的程序结构十分清晰。最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加, PAD 图逐渐向右延伸。每增加一个层次,图形向右扩展一条竖线。图中竖线的总条数就是程序的层次数。 PAD 图表现的程序逻辑,易读、易懂、易记。程序从

3、图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。 容易将 PAD 图转换成高级语言源程序,这种转换可用软件工具自动完成。 既 可表示程序逻辑,也可描绘数据结构。 支持自顶向下、逐步求精方法的使用。 适用: 为 FORTTAN,COBOL,PASCAL 等每种常用的高级程序设计语言提供了一套相应的图形符号 。 开始时可以定义一个抽象的程序,随着设计的深入,使用 def 符号逐步增加细节,直至完成详细设计,如图 6.6 所示。 ( 3)判定表 ( P127 有 例子) : 适于表示复杂的条件组合与应做的动作之间的对应关系。 特点 是: 能够间接而又无歧义的描述处理故意则

4、。 并不适用于作为一种通用的设计工具 。 一张判定表由以下四部分组成: 左上部列出所有条件,左下部是所有可能的动作,右2 上部是表示各种条件组合的一个矩阵, 右下部是和每种条件组合 相对应的动作。 判定表右半部的每一列实际上就是一个规则,规定了与特定的条件组合相对应的动作。 适用: 算法中包含多重嵌套的条件选择 。 数据元素多于 2 个的时候,能够比判定表更简洁的表达,便于理解 。 盒图的基本符号 ( 1) 盒图的基本符号 ( 2) abgf X 2X 4ichd eX 3X 6jX 5X 1TTFFFT= 1 = 2 = 33 PAD 图的基本符号 图 6.6 使用 PAD 图提供的定义功能

5、来逐步求精的例子 4 PAD 描述的示例 ( 4) 判定树 判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。 判定树的优点:形式简单到不需任何说明,一眼就可以看出其含义,易于掌握和使用。 适用: 数据元素多的时候,初次接触的人很容易就看懂 用判定树表示计算行李费的算法 2白盒测试和黑盒测试技术的区别。 ( 第七章) 白盒测试技术:用白盒方法测试软件时设计测试数据的典型技术。 已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。 黑盒测试技术:用黑盒方法测试软件时设计测试数据的典型技术。 已知产品的功能设计规格,可以进

6、行测试证明每个实现了的功能是否符合要求。 黑盒测试着重测试软件功能。黑盒测试并不能取代白盒测试,它是与白盒测试互补的测5 试方法,它很可能发现白盒测试不易发现的其他类型错误。 3白盒测试中的逻辑覆盖测试包含哪几种类型。 ( 第七章) 逻辑覆盖:是对一系列测试过程的总称。这组测试过程逐渐进行越来越完整的通路测试。 覆盖:测试数据执行源程序的过程。 语句覆盖 的含义:选择足够多的测试数据,使被测程序中每个语句至少执行一次。 判定覆盖 又叫分支覆盖。含义:不仅每个语句必须至少执行一次,而且每个判定的每个分支都至少执行一次。 条件覆盖 含义 :不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取

7、到各种可能的结果。 判定 /条件覆盖 含义:选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 条件组合覆盖 含义:使得每个判定表达式中条件的各种可能组合都至少出现一次。 点覆盖 含义:选取足够多测试数据,使得程序执行路径至少经过流图的每个结点一次。 边覆盖 含义:选取足够多测试数据,使得程序执行路径至少经过流图中每条边一次。 路径覆盖 含义:选取足够多测试数据,使程序的每条可能路径都至少执行一次 (如果程序图中有环,则要求每个环至少经过一次 )。 4软件维护的类型有哪些,及各

8、自所占比重。 ( 第八章) 改正性维护 , 占 17% 21%: 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 改正性维护 : 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程。 适应性维护 , 占 18% 25%:在使用过程中, 外部环境 (如 : 新的硬、软件配置)、 数据环境 (如 : 数据库、数据格式、数据输入 /输出方式、数据存储介质)可能发生变化。 适应性维护:为使软件适应这种变化,而去修改软件的过程。 完善性维护 , 占全部维护活动的 5

9、0% 66%: 在软件的使用过程中,用户往往会对软件提出新的 功能 与 性能 要求。为了满足上述要求,需要修改或再开发软件而进行的完善性的维护活动。以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 完善性维护不一定是救火式的紧急维修,可以是有计划、有预谋的一种再开发活动。 预防性维护 :为了提高软件的可维护性 、可靠性等,为以后进一步改进软件打下良好基础而修改软件的维护活动。 其他维护活动只占 4%左右 。 预防性维护的定义:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试的过程。 6 5软件项目的可行性研究的实质是什么? (第二章 ) 可行

10、性研究最根本的任务是对以后的行动方针提出建议。 如果问题没有可行的解,分析员应该建议停止这项开发工程。如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。 6可行性研究包括哪些内容。 (第二章) 技术可行性 、 经济可行性 、 操作可行性(至少以上三种) 、 运行可行性 、 法律可行性 、开发方案可行性 7衡量模块独立性的标准有哪些? (第五章 ) 模块独立:具有独立功能而且和其他模块之间没有过多的相互作用的模块。模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。 模块独立程度的度量标准: 内聚 和 耦合 。 耦合:模块间互相依赖 (连接 )的紧密程度;

11、 内聚:模块内部各个元素彼此结合的紧密程度。 8模块 间的耦合有哪些类型,如何区分? (第五章 ) 数据耦合 :模块彼此间通过参数交换信息,交换的信息仅仅是数据, 数据耦合是低耦合。 标记耦合 : 若两个模块间传递的参数中至少有一个是数据结构,如字符串或记录,并且在模块中仅用到该数据结构中的部分元素,则称这两个模块之间存在标记耦合。 控制耦合 :一个模块向另一个模块传递控制信息,接收信息的模块的动作根据信息值进行调整。 控制耦合是中等程度的耦合 , 它增加了系统的复杂程度。在把模块适当分解之后通常可以用数据耦合代替它。 公共耦合 :两个模块共享全局的数据区域,称他们为公共耦合, 不要使用全局变

12、量 。 耦合的复杂程度随耦合模块的个数而变化,随个数的增加显著增加。 内容耦合 : 有 三种情况,是 最高程度 的 耦合性 (坚决避免使用这 种耦合) 模块独立性与耦合的关系 图 总之,耦合是影响软件复杂程度的一个重要因素。应该采取下述设计原则:尽量使用数据耦合,少用控制耦合和标记耦合,限制公共环境耦合的范围,完全不用内容耦合。 9模块内的内聚有哪些类型,如何区分? ( 第五章) 7 弱 偶然内聚 : 如果一个模块的各成分之间毫无关系,则称为偶然内聚。 逻辑内聚 : 几个逻辑上相关的功能被放在同一模块中。 时间内聚 : 如果一个模块完成的功能只是因为时间因素关联在一起。 过程内聚 : 如果一个

13、模块内部的各个处理成分必须以特定的次序执行,则称为过程内聚。 通信内聚 : 如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。 顺序内聚 : 如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。 功能内聚 : 模块的所有成分对于完成单一的功能都是基本的。 设计时 , 尽量使用内聚度高的模块 ( 顺序内聚,功能内聚 ) ;中内聚 ( 过程内聚,通信内聚 ) 也可;低内聚 ( 偶然内聚,逻辑内聚,时间内聚 ) 很坏,不要采用。 10. 结构化程序设计的定义及特点。 定义:是进行以模块功能和处理过程设计为主的详细设计的基本原则。

14、特点:结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系 11.软件测试的定义及目的。 (第七章) 软件测试的定义 :是为了发现程序中的错误而执行程序的过程 。 软件测试的目的 :暴露程序中的错误。 测试目标决定了测试方案的设计, 如果为了表明程序的正确,就会设计一些不易暴露错误的测试方案;如果是为了发现程序中的错误,就会设计出最能暴露错误的测试方案。 G.Myers 给出了关于测试的一些规则, 这些规则也可以看作是测试的目标或定义 : (1) 测试是为了发现程序中的错误而执行程序的过程; (2) 好的测试方案是极可

15、能发现迄今为止尚未发现的错误的测试方案; (3) 成功的测试是发现了至今为止尚未发现的错误的测试。 测试是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。 12.软件生命周期的阶段划分及每个阶段的任务。 ( 第一章) 软件生命周期 : 软件生命周期的阶段划分 由软件定义、软件开发和运行维护 (也称为软件维护) ,直到最终被废弃所经历的时期。 生命周期每个阶段的基本任务: 软件定义 阶段: 确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程总目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,制定工程进度表。 这个时期的工作又称为系统分析

16、,由系统分析员负责完成。这个时期进一步划分成 3个阶段: 问题定义、可行性研究和需求分析 。 强 8 开发时期的任务是: 设计和实现在前一个时期定义的软件,它通常由下述 4 个阶段组成:总体设计,详细设计,编码和单元测试,综合测试 。前两个阶段又称为系统设计,后两个阶段又称为系统实现。 维护时期的主要任务是 :使软件持久地满足用户的需要。具体地说: 当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新要求时应该及时改进软件以满足用户的新需要。 13.面向对象方法的特点、特征。 ( 第 九 章) 特征: ( 1)认为客观世界是由各种对象组成的,任何事物都是

17、对象,复杂的对象可以由 比较简单的对象以某种方式组合而成。 ( 2)把所有对象都划分成各种对象类(简称为类, class),每个对象类都定义了一组数据和一组方法。 ( 3) 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。 ( 4)对象彼此之间仅能通过传递信息互相联系。 特点: ( 1)与人类习惯的思维方法一致( 2)稳定性好( 3)可重用性好( 4)较易开发大型软件产品( 5)可维护性好 14.类、对象的概念,多态、重载、封装的含义。 ( 第九章) 类 :对具有相同数据和相同操作的一组相似对象的定义(对具有相同属性和行为的一个或多个对

18、象的描述) 对象 :具有相同操作的集合;对问题域中某个东西的抽象。(是封装了数据结构及可 以施加在这些数据结构上的操作的封装体,这个封装体有唯一的标识它的名字,而且向外界提供一组服务) 多态 :是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。 在类等级的不同层次中可以共享 (公用 )一个行为 (方法 )的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为。 重载 :有两种重载 : ( 1) 函数重载 是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;( 2) 运算符重载 是指同一个运算符可以施加于不同类型的操作数上面。当然,当

19、参数特征不同或操作数的类型不同时,实现函数的算法或运算符的语义是不相同的。 封装 :在面向 对象中,所谓封装就是把数据和实现操作的代码集中起来放在对象内部,从外面看不见的,更不能从外面直接访问或修改这些数据和代码。 15.总体设计阶段使用的软件结构图,模块及模块间的调用关系如何表示 ( 第五章) 9 结构图是进行软件结构设计的另一个有力工具。图中一个方框代表一个模块,方框之间的箭头(或直线)表示模块的调用关系,按照惯例总是图中位于上方的方框代表的模块调用下方的模 块,即使不用箭头也不会产生二义性,为了简单起见,可以只用直线而不用箭头表示模块间的调用关系。 带注释的箭头 表示 模块间传递的信息

20、,箭头尾部空心圆表示 数据信息 ,箭头尾部实心圆 表示 控制信息 。 结构图的例子 产生最佳解的一般结构 还有一些附加的符号,可以表示模块的 选择调用 或 循环调用 。 16.什么是变换流、什么是事务流,如何区分。 ( 第五章) 变换流 : 信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫作变换流。 具有较明显的输入、变换(或称主加工)和输出界面的数据流图。 事务流 :数据沿输入通路到达一个处理 T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。 这类数

21、据流应该划为一类特殊的数据流,称为事务流。 区分 :变换流是一个线性的处理,事务流是一个分类处理。 17.McCall 质量模型中的质量因素有哪些。 正 确性、健壮性、效率、完整性(安全性)、可用性、风险、可理解性、可维 修性、灵活性(适应性)、可测试性、可移植性、可再用性、互运行性, 共 11 个 软件质量特性。 18.E-R 图中包含哪些图形元素,如何表示。 ( 第三章) 判定为真时调用 A,为假时调用 B 模块 M 循环调用模块 A、 B、 C 10 E-R 图中包含了实体(即数据对象)、关系和属性 三种基本成分。 通常用 矩形框 代表 实体 ,用连接相关实体的 菱形框 表示 关系 ,用

22、 椭圆形 或 圆角矩形 表示实体(或关系)的 属性 ,并用 直线 把实体(或关系)与其属性 连接 起来。 19.软件的可靠性与可用性。 ( 第七章) 软件可靠性的定义 :软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。 可靠性 随着给定时间 间隔 的加大而减少。 软件可用性的定义 :软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。 区别 :可靠性意味着在 0 到 t 这段时间间隔内系统没有失效,而可用性只意味着在时刻t,系统是正常运行的。 20.什么是软件的调试。 ( 第七章) 调试 (也称为 纠错 )作为成功测试的后果出现,也就是说,调试是在

23、测试发现错误之后排除错误的过程。调试就是把症状和原因联系起来的尚未被人深入认识的智力过程 , 调试总是发生在测试之后。 21.常用软件调试技术有哪些? 蛮干法 (即 试探 法 ) : 分析错误征兆,猜测发生错误的大概位置,然后利用有关的调试技术进一步获得错误信息。这种策略往往是缓慢而低效的 。 仅当所有方法都失败了的情况下,才使用这种方法。 回溯法 : 首先检查错误征兆,确定最先发现错误的位置,然后人工沿程序的控制流往回追踪源程序代码,直到找出错误根源或确定故障范围为止。 排除法 :分为对分查找法、归纳法和演绎法。 对分查找法 : 在程序的中点附近输入某些变量的正确值 (如利用赋值语句或输入语

24、句 ),然后观察程序的输出。若输出结果正确,则说明错误出现在程序的前半部分;否则,说明程序的后半部分有错。对于程序中有错的那部分再重复使用这个方法,直到把错误范围缩小到容易诊断的程度为止。 归纳法 :是从个别推断全体,即从线索 (错误征兆 )出发,通过分析这些线索之间的关系而找出故障。 演绎法 : 是从一般原理或前提出发,经过删除和精化的过程,最后推导出结论。 22.软件工程方法学主要包括哪几部分的研究内容。 通常把在软件声明周期全过程中使用一整套技术方法的集合称为方法学。主要研究的是:模型、方法、过程、工具、理念 /原则、文档 ,甚至相应的开发语言。 软件工程方法学包含了 3 个要素 :方法

25、,工具和过程。其中, 方法 是完成软件开发的各项任务的技术方法,回答”怎么做”的问题; 工具是 运用方法而提供的自动或半自动的软件11 工程支撑环境; 过程是 为了获得高质量的软件所需要完成的一系列任务的框架,他规定了完成各项任务的工作步骤。 目前使用最多的软件工程方法学,分别是 传统方法学 和 面对对象方法学 。 23.面向对象的软件工程包含哪几个号阶段。 面向对象分析 :需求陈述、建立对象模型,建立动态模型、建立功能模型、定义服务。 面向对象设计 :系统分解、设计问题域子系统、设计人机交互子界面、设计任务管理系统、设计数据管理子系统 面向对象实现 :程序设计语言、程序设计风格、测试策略、设

26、计测试用例。 24.什么是软件,什么是软件工程,什么是软件危机。 软件危机 :是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 如 : 如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 软件工程 :是指导计算机软件开发和维护的一门工程学科。采用工程的 概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件 :与计算机系统操作有关的计算机程序,规则、以及可能有的文件、文档及数据。 25.软件测试中驱动模块和存根模块的用途是什么。 驱动程序

27、 :也称“主程序”,它接收测试数据,把这些数据传送给被测试的模块,并且印出有关的结果。 存根程序 :也称“虚拟子程序”,代替被测试的模块所调用的模块。它使用被它代替的模块的接口,可能做最少量的数据操作,印出 对入口的检验或操作结果,并且把控制归还给调用它的模块。 26.能力成熟度模型中成熟度等级分为哪几级,各有何特点。 ( 1) 初始级 :处于这个最低成熟度等级的软件机构,其过程能力是不可预测的,其软件过程是不稳定的,产品质量只能根据相关人员的个人工作能力而不是软件机构的过程能力来预测。 ( 2) 可重复级 :软件项目的策划和跟踪是稳定的,已经为一个有纪律的管理过程提供了可重复以前成功实践的项

28、目环境。软件项目工程活动处于项目管理体系的有效控制之下,执行着基于以前项目的准则且合乎显示的计划。 ( 3) 已定义级 :无论是管理活动还是工程活动都是稳定的。软件开发的成本和进度以及产品的功能和质量都受到控制,而且软件产品的质量具有可追溯性。这种能力是基于在软件机构中对已定义的过程模型的活动、人员和职责都有共同的理解。 ( 4) 已管理级 :软件过程是可度量的,软件工程在课度量的范围内运行。这一级的过程能力允许软件机构在定量的范围内预测过程和产品质量趋势,在发生偏离时可以及时采取12 措施予以纠正,并且可以预期软件产品是高质量的。 ( 5) 优化级 :软件过程是可优化的。这一级的软件机构能够

29、持续不断地改进其过程能力,即对现行的过程实例不 断地改进和优化,又借助于所采用的新技术和新方法来实现未来的过程改进。 27.总体设计中模块的内聚及耦合应把握哪些原则。 耦合 :模块间互相依赖 (连接 )的紧密程度; 内容耦合;公共耦合;控制耦合;标记耦合;数据耦合;(由强到弱) 内聚 :模块内部各个元素彼此结合的紧密程度。 偶然内聚;逻辑内聚;时间内聚;过程内聚;通信内聚;顺序内聚;(由弱到强) 耦合使用原则 :尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。 内聚使用原则 :设计时力求高内聚,设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且

30、效果和高内聚相差不多;但是,低内聚很坏,不要使用。 28.软件过程模型是什么,常用的软件过程模型及各自特点。 瀑布模型 :阶段间具有顺序性和依赖性、推迟实现的观点、质量保证的观点。 优点 :可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交得文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证;遵守瀑布模型的文档约束,将使软件维护变得比较容易一点; 缺点 :文档驱动仅仅通过写在纸上的静态的规格说明,很难全面正 确地认识动态的软件产品;用户变化无法预测,很可能导致最终开发出的软件产品不能真正满足用户的需求;只能反映用户项目开始时的需求。 快速原型模型 :快速建立一个能反映用户

31、主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌。通过用户试用原型系统后提出的许多修改意见,按照用户的意见快速地修改原型系统,然后再次请用户试用,一旦用户认为这个原型系统确实能做他们所需要的工作,开发人员便据此书写规格说明文档,根据这份文档开发出的软件便可以满足用户的真实需求。 优点 :软件产品的开发基本上是线性顺序进行 的。 增量模型 :把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。用第一个增量构件来实现软件的基本需求,提供最核心的功能。 优点 :能在较短时间内向用户提交可完成部分工作的产品;逐步增加

32、产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。 螺旋模型 :螺旋模型的基本思想是,使用原型及其他方法尽量降低风险。理解这种模型的一个简便方法,是把它看做每个阶段之前都增加了风险分析过程的快速原型模型。 该13 模型 锁描述的软件过程主要适用于内部开发的大型软件项目。适用螺旋模型开发软件,要求软件开发人员具有丰富的风险评估知识和经验。 优点 :有利于已有软件的重用;有助于把软件还能质量作为软件开发的一个重要目标;减少了过多测试或测试不足所带来的风险;软件维护和软件开发没有本质区别。 喷泉模型 :典型的面向对象生命周期模型,它充分体现了面向对象软

33、件开发过程迭代和平滑过渡的特性。喷泉体现了面向对象软件开发过程迭代和无缝的特性。 RUP: RUP 既是一种软件生命周期模型,又是一种支持面向对象软件开发的工具,它将软件开发过程要素 和软件工件要素整合在统一的框架中 。包括:初始阶段、精华阶段、构建阶段、移交阶段。 敏捷模型 :价值观:沟通、简单、反馈、勇气、谦逊 29.人机界面设计过程中,有哪些问题要考虑。 系统响应时间 :指从用户完成某个控制动作,到软件给出预期的响应 (输出信息或做动作 )之间的这段时间。系统响应时间的两个重要属性:长度和易变性。 用户帮助设施 :应提供联机帮助设施,这使得用户无须离开用户界面就能解决自己的问题。常见的帮

34、助设施可分为:集成的、附加的 出错信息处理 :出错信息或警告信息应具有的属性: (1) 用用户可以理解的术语描述问题; (2) 提供有助于从错误中恢复的建设性意见; (3) 指出错误可能导致哪些负面后果 (例如,破坏数据文件 ); (4) 伴随听觉或视觉给与提示。例如,在危险操作时发出警告铃声。 (5) 不能带有指责色彩。 命令交互 :可提供二种操作方式:菜单,键盘。 30.可行性研究包含哪些步骤。 目的 :用最小的代价在尽可能短的时间内确定问题是否能够解决。 任务 :确定问题是否值得去解决。 步骤 : 复查系统规模和目标 : 确保分析员正在解决的问题确实是要求他解决的问题。 研究目前正在使用

35、的系统 : 现有的系统是信息的重要来源。新的目标系统必须也能完成它的基本功能;另一方面,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。 导出新系统的高层逻辑模型 (数据流图和数据字典)。 进一步定义问题 : 分析员应该和用户一起再次复查问题定义、工程规模和目标,以数据流图和数据字典作为讨论的基础。 可行性研究的前 4 个步骤实质上构成一个循环。定义问题,分析这个问题,导出一个试14 探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。 导出和评价供选择的解法 : 分析员应该从他建议的系统逻辑模型出发,导出若干个

36、较高层次的 (较抽象的 )物理解法供比较和选择。 为每个在技术、操作和经济等方面都可行的系统制定实现进度表。 推荐行动方针 : 是否继续进行这项开发工程。 草拟开发计划 : 制定工程进度表 。 估计对各类 开发人员和各种资源的需要情况,指明什么时候使用以及使用多长时间;估计系统生命周期每个阶段的成本。 给出下一个阶段 (需求分析 )的详细进度表和成本估计。 书写文档提交审查 : 把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案 。 31.什么是结构化分析,包含哪些步骤? 通常所说的结构化分析方法就是基于数据

37、流的设计方法。 结构化分析是软件工程的一种方法,是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。 结构是指 系统内各个组成要素之间的相互联系、相互作用的框架。一般利用图形表达用户需求, 使用的手段主要有 数据流图、数据字典、结构化语言、判定表以及判定树等。 变换分析 :第 1 步 复查基本系统模型;第 2 步 复查并精化数据流图; 第 3 步 确定数据流图具有变换特性还是事务特性;第 4 步 确定输入流和输出流的边界,从而孤立出变换中心;第 5 步 完成“第一级分解”;第 6 步 完成“第二级分解”;第 7 步 使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。

38、 事务分析 :事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于:由数据流图到软件结构的映射方法不同。 设计优化 :为了得到一个易于实现易于测试和易于维护的软件结构,应该对初步分割得到的模块进行再分解或合并。注意,设 计优化应该力求做到在有效的模块化的前提下使用最少量的模块,以及在能够满足信息要求的前提下使用最简单的数据结构。 32.什么是基于数据流的设计方法,如何实施 面向数据流的设计方法:把数据流图中的信息流映射成软件结构。信息流的类型决定了映射的方法。有以下两种类型:交换流(输入不止一个,具有较明显的输入、变换和输出界面的数据流图。)、事务流(输入只有一个,数据沿输入通路到达一个处理 T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。) 15 By: 南京信息工程大学滨江学院 12 软件 工程 3 班 2015 年 1 月 5 日 星期 一 晚 九点

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报