软件工程考试复习资料.doc

上传人:壹****1 文档编号:558804617 上传时间:2023-09-13 格式:DOC 页数:4 大小:36.01KB
返回 下载 相关 举报
软件工程考试复习资料.doc_第1页
第1页 / 共4页
软件工程考试复习资料.doc_第2页
第2页 / 共4页
软件工程考试复习资料.doc_第3页
第3页 / 共4页
软件工程考试复习资料.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件工程考试复习资料.doc》由会员分享,可在线阅读,更多相关《软件工程考试复习资料.doc(4页珍藏版)》请在金锄头文库上搜索。

1、软件,其特点:软件是一系列按照特定顺序组织的计算机数据和指令的集合。简单的说软件是程序加文档的集合,程序设计的最终结果是软件。软件危机的定义:软件危机是指在计算机软件开发和维护的过程中所遇到的一系列的严重问题。软件危机的典型表现:(1)对软件开发的成本估计常常很不准确(2)对“已完成”的软件系统用户不满意的现象经常发生。(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占的比例逐年上升。(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入趋势。1、 产生软件危机的原因?答:一方面:与软件本身的特点有关。

2、软件缺乏可见性,软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升;另一方面:和软件开发与维护的方法不正确有关。目前一些软件专业人员对软件开发和维护还有不少糊涂观念,或多或少采用错误的方法和技术,对用户要求没有准确认清也是主要原因之一。软件工程的定义:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法,把经过时间证明了的正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济的开发出高质量的软件并有效地维护它,这就是软件工程。软件工程的本质特性:1、软件工程关注于大型程序构造。2、软件工程的中心课题是控制复杂性。3

3、、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品软件工程的基本原理:1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组的成员应该少而精7、承认不断改进软件工程实践的必要性。软件工程方法学3个要素:方法,工具,过程2、 软件生命周期分为那几个阶段?答:1软件定义(问题定义、可行性研究、需求分析)2.软件开发(总体设计、详细设计、编码和单元测试、综合测试)3软件维护(使软件持久地满足用户

4、的需求)软件定义的任务是:确定开发工程必须完成的总目标;确定工程的可行性;导出实现工程的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表 。软件开发的时期的任务是:具体设计和实现前一个时期定义的软件。通常由四阶段组成:总体设计,详细设计,编码和单元测试,综合测试。维护时期的任务:使软件持久的满足用户的需要。3、 瀑布模型的特点及优缺点?答:特点:1、阶段间具有顺序性和依赖性2、推迟实现的观点3、质量保证的观点。优点:可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:在可运行的软件产品

5、交付给用户之前,用户只能通过文档来了解产品的情况。增量模型的优点:能在较短的时间内向用户提交课完成部分工作的产品;逐步增加产品功能可以使用户有几较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。增量模型是分期分批的逐步向用户提交产品。缺点:把每个新的增量构建集成到现有软件体系结构中时,必须不破坏已经开发出的产品。风险大。增量模型适用于工期紧人员少。可行性研究的目的:不是研究怎样去解决问题,而是研究问题是否值得去解决。用最小的代价在尽可能短的时间内确定问题是否能解决。可行性研究的任务:对以后的行动方针提出建议。实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也

6、就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。可性行研究的过程:1复查系统规模和目标2研究目前正在使用的系统3导出新系统的高层逻辑模型4进一步定义问题5导出和评价供选择的解法6推荐行动方针7草拟开发计划8书写文档提交审查系统流程图的基本思想:用图形符号以黑盒子形式描绘组成系统的各个部件(程序、文档、数据库、人工过程等)。数据流图的基本思想:描绘信息流和数据从输入移动到输出所经受的变换。数据流图的4种成分:源点或终点(正方形表示),变换数据的处理(圆角矩形或圆形表示)数据存储(开口矩形或两条平行线表示),数据流(箭头表示)。数据字典:是关于数据的信息集合,也就是对数据流图中包含的所有

7、元素的定义的集合。主要内容是数据流、数据元素、数据存储、处理。衡量一项工程开发价值的经济指标:投资回收期,纯收入需求分析的任务:1,确定对系统的综合要求2.分析系统的数据要求3.导出系统的逻辑模型4.修正系统开发计划确定对系统的综合要求的内容:1.功能需求2.性能需求3.可靠性和可用性需求4.出错处理需求5.接口需求6约束7.逆向需求8.将来可能提出的要求与用户沟通获取需求的方法:1.访谈(看情景分析)2.面向数据流自顶向下求精3.简易的应用规格说明技术(步骤)4.快速建立软件原型。12. 情景分析技术的用处?答:他能在某种程度上演示目标系统的行为,便于用户理解,进一步揭示出一些分析员目前还不

8、知道的需求;保证用户在需求分析过程中始终扮演一个积极主动的角色。13. 数据对象:是对软件必须理解的复合信息的抽象。简易的应用规格说明技术:是一种面向团队的需求收集法需求分析过程应该建立的3种模型:数据模型、功能模型和行为模型第一范式定义:每个属性值都必须是原子值,即仅仅是一个简单值不含内部结构。第二范式:满足第一范式条件且每个关键字属性都由整个关键字决定。第三范式:符合第二范式条件,每个非关键字属性都由关键字决定,一个非关键字属性值不依赖于另一个非关键字属性值。从哪些方面验证需求的正确性:1.一致性2、完整性3、现实性4、有效性总体设计的任务:设计软件结构,确定系统中每个程序是由那些模块组成

9、的以及模块间相互关系。总体设计的两个阶段:系统设计阶段(确定系统的具体实现方案)结构设计阶段(确定软件结构)。模块:模块是由边界元素限定的相邻程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符代表它。为什么进行模块化:采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。模块的独立程度可以由两个定性标准度量,这两个标准分别成为内聚和耦合。耦合是对一个软件结构内不同模块之间互联程度的度量。耦合的类型:数据耦合,特征耦合,公共环境耦合,内容耦合内聚标志着一个模块内各个元素彼次结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。内聚分为低内聚(偶然内聚,逻辑内聚,时间内聚

10、)和中内聚(过程内聚和通信内聚)启发规则:1.改进软件结构提高模块独立性2.模块规模应该适中3.深度、宽度、扇入和扇出都应适当4.模块的作用域应该在控制域之内5.力争降低模块接口的复杂度6、设计单入口单出口的模块7、模块功能应该可以预测。变换流定义:信息沿输入通道进入系统,同时由外部形势变换成内部形势,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形势离开软件系统。事物流:沿输入通道到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。设计优化过程:1在不考虑时间因素的前提下开发并精简软件结构。2在详细设计阶段选出耗费时间的那些模块,仔细设计它们过程,来

11、提高效率3使用高级程序语言编程。4在软件中孤立那些大量占用处理机的模块5必要时重新设计或用依赖于机器的语言写上述占用大量资源的模块代码,来提高效率。结构程序设计的定义:尽可能少用GO TO语句的程序设计方法,最好仅在检测出错误时使用,且总是使用前向GO TO 语句。经典的结构程序设计:只允许使用顺序。IF-THEN-ELSE型分支和DO-WILE型循环这三种基本控制结构。扩展的结构程序设计:除三种基本控制结构外允许使用DO-CASE型多分支结构和DO-UNTIL型循环结够修正的结构程序设计:再允许使用LEAVE(或BREKA)结构。设计人机界面的过程中遇到的问题:系统响应时间,用户帮助设施,出

12、错信息处理和命令交互。系统响应时间有两个重要属性,分别是长度和易变性。软件测试的目标:1.测试是为了发现程序中的错误而执行程序的过程2.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案3.成功的测试是发现了至今为止尚未发现的错误的测试软件测试准则:1.所有测试都应该能追溯到用户需求2.应该远在测试开始之前就制定出测试计划3.把Pareto原理应用到软件测试中4.应该从“小规模”测试开始,并逐步进行“大规模”测试5.穷举测试是不可能的6.为了达到最佳的测试效果,应该有独立的第三方从事测试工作测试步骤:1.模块测试2.子系统测试3.系统测试4.验收测试5.平行运行测试重点:1模块接口2局部

13、数据结构3重要的执行通路4出错处理通路5边界条件审查小组的成员:1.组长,应该是一个很有能力的程序员,而且没有直接参与这项工程2.程序的设计者3.程序的编写者4.程序的测试者自顶向下的测试方法的主要优点是不需要测试驱动程序,能够在测试阶段的早期实现并雁阵系统的主要功能,而且能在早期发现上层模块的的接口错误。自顶向下测试方法的主要缺点是需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能展开人力。回归测试三类测试用例:1检测软件功能的代表性测试用例2专门针对可能受修改影响的软件功能的附加测试3针对被修改的软件成分的测试。A B测试的区别:A由用户在开发者的场所进行,并且在开发者对用户的指导下进行,在受控的环境下进行。B由软件的最终用户在一个或过个客户场所进行,开发者不在现场。调试途径:1.蛮干法2.回溯法3.原因排除法。软件的可靠性:软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。软件可用性:软件可用性是程序在给定的时间点,按照规格说明书的规定成功运行的概率。 所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。结构化维护与非结构化的维护决定软件的可维护性的因素:1.可理解性2.可测试性3.可修改性4.可移植性5.可重用性软件系统的文档可以分为用户文档和系统文档。

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

当前位置:首页 > 生活休闲 > 社会民生

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