软件工程导论第五版复习资料全文档

上传人:c****e 文档编号:180203463 上传时间:2021-04-17 格式:DOCX 页数:19 大小:494.36KB
返回 下载 相关 举报
软件工程导论第五版复习资料全文档_第1页
第1页 / 共19页
软件工程导论第五版复习资料全文档_第2页
第2页 / 共19页
软件工程导论第五版复习资料全文档_第3页
第3页 / 共19页
软件工程导论第五版复习资料全文档_第4页
第4页 / 共19页
软件工程导论第五版复习资料全文档_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《软件工程导论第五版复习资料全文档》由会员分享,可在线阅读,更多相关《软件工程导论第五版复习资料全文档(19页珍藏版)》请在金锄头文库上搜索。

1、软件工程导论第一章 软件工程学概述1、软件完成特点功能的程序以及数据结构和文档2、软件的特点(1)软件开发更依赖于开发人员的业务素质、智力、 人员的组织、合作和管理。软件开发、设计几乎都是从头开始,成本和进度很难估计。(2)软件存在潜伏错误,硬件错误一般能排除。(3)软件开发成功后,只需对原版进行复制。(4)软件在使用过程中维护复杂: 1)纠错性维护改正运行期间发现的潜伏错误;2)完善性维护提高或完善软件的性能;3)适应性维护修改软件,以适应软硬件环境的变化;4)预防性维护改进软件未来的可维护性和可靠性。(5)软件不会磨损和老化。3、软件危机及软件危机的表现软件危机是指在计算机软件开发、使用与

2、维护过程中遇到的一系列严重问题和难题。软件危机的表现1)对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象,从而降低了开发商的信誉,引起用户不满。2)用户对已完成的软件不满意的现象时有发生。3)软件产品的质量往往是靠不住的。4)软件常常是不可维护的。5)软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。6)软件成本在计算机系统总成本中所占比例逐年上升。特别是软件维护成本迅速增加, 已经占据软硬件总成本的 40%75%。7)开发生产率提高的速度远跟不上软件需求

3、。4、软件工程及软件工程的特性软件工程是用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。软件工程的特性: 1)软件工程关注于大型程序的构造2)软件工程的中心课题是控制复杂性3)软件经常变化4)开发软件的效率非常重要5)和谐地合作是开发软件的关键6)软件必须有效地支持它的用户7)在软件工程中是由具有一种文化背景的人替具有另一种文化背景的人创造产品5、软件工程的基本原理用分阶段的生存周期计划严格管理坚持进行阶段评审实行严格的产品控制 采用现代程序设计技术结果应能清楚地审查开发小组的人员应少而精承认不断改进软件工程实践的必要性6、软件生存周期一个软件从得出开发要求开始直到该软

4、件报废为止的时期。软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3 个时期组成,每个时期又进一步划分成若干个阶段。7、瀑布模型模型严格按照软件生存周期各个阶段来进行开发,上一阶段的输出即是下一阶段的输入,并强调每一阶段的严格性。它规定了各阶段的任务和应提交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文档)进行评审,通过后才能开始下一阶段的工作。因此,它是一种以文档作为驱动的模型。瀑布模型特点 1)阶段间具有顺序性和依赖性2)推迟实现的观点3)质量保证的观点第二章 可行性研究1、可行性研究的任务概括地讲,可行性研究包括两大部分的分析研究,分别是分析建立系统的必要

5、性分析建立系统的可能具体,主要任务1)进一步分析和澄清问题定义。2)导出系统的高层逻辑模型。从系统逻辑模型出发,探索若干种系统实现方案。对每种方案都至少要从下述几方面研究其可行性:a. 经济可行性b. 技术可行性c. 法律可行性d. 操作可行性3)对以后的行动提出建议选择一种最佳方案,并为系统制定一个初步的开发计划。2、可行性研究的步骤1)复查系统规模和目标。2)研究现有的系统。3)导出新系统高层逻辑模型。4)进一步定义问题5)导出和评价供选择的解法。6)推荐行动方针7)草拟开发计划8)书写文档提交审查。3、系统流程图(不要求画图)系统流程图是概括地描绘物理系统的传统工具。4、数据流图(要求画

6、图)数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它, 因此是分析员与用户之间极好的通信工具。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。5、数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。6、成本效益分析1)货币的时间价值:指同样数量的货币随时间的不同具有不同的价值。一般货币在不同时间的价值可用年利率来折算。设:i 表示年利率,现

7、在存入P 元,n 年后的价值为F 元, 则有:F=P(1 + i )n如果 n 年后能收入F 元,这些钱折算成现在的价值称为折现值,折现公式为: P = F /(1 + i )n2)纯收入。是指在整个生存周期系统的累计收入的折现值PT以 T 表示,则有:与总成本折现值ST之差,T= P STT3)投资回收率。P=F1/(1+j)+F2/(1+j)2+Fn(1+j)nP:现在的投资额 Fi:第 i 年底的效益(i=1,2,3,n) n:系统使用寿命 j:投资回收率第三章 需求分析1、需求分析的任务确定对系统的综合要求1) 功能需求2) 性能需求3) 可靠性和可用性需求4) 出错处理需求5) 接口

8、需求6) 约束7) 逆向需求8) 将来可能提出的要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划2、与用户沟通获取需求的方法访谈 :正式的,非正式的面向数据流自顶向下求精简易的应用规格说明技术快速建立软件原型3、状态转换图状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。1)符号初态用实心圆表示。终态用一对同心圆(圆为实心圆)表示。中间状态用圆角矩形表示。状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。2)活动表的语法格式:事件名(参数表)/动作表达式3)事

9、件表达式的语法如下:事件说明守卫条件动作表达式其中,事件说明的语法为:事件名(参数表)。4、层次方框图(在需求分析阶段使用)层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。5、Warnier 图(在需求分析阶段使用)Warnier 图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。用 Warnier 图可以表明信息的逻辑组织6、IPO 图(在需求分析阶段使用)IPO 图是输入、处理、输出图的简称,它是美国 IBM 公司发展完善起来的一种图形工具, 能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。7、验证软件需求验证需求的一致性:所有需求必须是一

10、致的验证需求的实现性:指定需求式可以实现的。对现有硬件很好预测,但软件技术很难预测,只能根据现有技术水平出发判断需求的实现性验证需求的完整性和有效性:完整性,规格说明书应该包括用户所需的每个功能的性能。有效性,需求是正确有效的,确实能解决用户面对的问题。第五章 总体设计(概要设计)1、总体设计过程1)设想供选择的方案 2)选取合理的方案3)推荐最佳方案 4)功能分解5)设计软件结构 6)设计数据库7)制定测试计划 8)书写文档 9)审查和复审2、设计原理(模块化、抽象、逐步求精、信息隐藏与局部化)(小概念)模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成

11、起来构成一个整体,可以完成指定的功能满足用户的需求。抽象是控制复杂性的基本策略“。抽象”要求人们将注意力集中在某一层次上考虑问题, 而忽略那些低层次的细节。软件设计过程应当是在不同抽象级别上考虑和处理问题的过程。软件工程过程的每一步都是对较高一级抽象的解作一次进一步具体化的描述。在上述由高级抽象到低级抽象的转换过程中,伴随着一连串的过程抽象和数据抽象抽象与求精是一对互补的概念。抽象使得设计者能够说明过程和数据,同时却忽略低层细节。事实上,可以把抽象看作是一种通过忽略多余的细节同时强调有关的细节,而实现逐步求精的方法。求精则帮助设计者在设计过程中逐步揭示出低层细节。这两个概念都有助于设计者在设计

12、演化过程中创造出完整的设计模型。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块包含的信息(过程和数据) 对于不需要这些信息的模块来说,是不能访问的。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。在模块中使用局部数据元素是局部化的一个例子。显然,局部化有助于实现信息隐藏。3、模块独立原理开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。换句话说,希望这样设计软件结构,使得每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。4、耦合和聚模块的独立程度可以由两个定性标准度量,这两个标准分别称为聚和耦合。耦合衡量不同模块彼此间互相依赖

13、(连接)的紧密程度;聚衡量一个模块部各个元素彼此结合的紧密程度。以下分别详细阐述。尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的围,完全不用容耦合。设计软件时,应该能够识别聚度的高低,并通过修改设计尽可能提高模块聚度,从而获得较高的模块独立性。5、启发规则1)改进软件结构提高模块的独立性2)模块规模应该适中3)深度、宽度、扇出和扇入都应适当4)模块的作用围应在控制围之5)力争降低模块接口的复杂程度6)设计单入口单出口的模块7)模块功能应该可以预测6、描绘软件结构的图形工具(层次图、HIPO 图、结构图)层次图 用来描绘软件的层次结构。虽然层次图与需求分析中介绍的描绘数据结构的层次

14、方框图相同,但是表现的容却完全不同。层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系。HIPO 图 是美国IBM 公司发明的“层次图加输入/处理/输出图”的英文缩写。为了能使HIPO 图具有可追踪性,在H 图(层次图)里除了最顶层的方框之外,每个方框都加了编号。输入输出编辑加标题存储检索编目录格式化1.02.03.04.05.06.07.08.0Yourdon 提出的结构图是进行软件结构设计的另一个有力工具。结构图和层次图类似, 也是描绘软件结构的图形工具,图中一个方框代表一个模块,框注明模块的名字或主要功能; 方框之间的箭头(或直线)表示模块的调用关系。在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:尾部是空7、面向数据流的设计方法n变换分析变换分析是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。1)重画数据流图;确定其具有变换流特征。2)在数据流图上区分系统的逻辑输入、逻辑输出和中心变换部分3)进行一级分解,设计系统模块结构的顶层和第一层4)进行二级分解,设计输入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号