《2022年软件工程复习参考资料》由会员分享,可在线阅读,更多相关《2022年软件工程复习参考资料(4页珍藏版)》请在金锄头文库上搜索。
1、立身以立学为先,立学以读书为本软件工程复习参考资料1软件的概念软件是计算机系统中与硬件相互依存的另一部分,软件包括程序、数据以及相关文档的完整集合。2、软件的特性(简答题)形态特性。 (6)管理特性。智能特性。 (7)环境特性。开发特性。 (8)维护特性。质量特性。 (9)废弃特性。生产特性。 (10)应用特性。3软件危机爆发的原因?主要表现在哪些方面?怎样消除?软件开发技术的进步未能满足发展的要求。软件开发周期长、成本高、质量差、维护困难。表现方面:(1) 用户对开发出的软件很难满意。(2) 软件产品的质量往往靠不住。(3) 一般软件很难维护。(4) 软件生产效率很低。(5) 软件开发成本越
2、来越大。(6) 软件成本与开发进度难以估计。(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。消除:用工程化的思想来开发软件。4什么是软件工程?它目标和内容是什么?软件工程:就是用科学的知识工程和技术原理来定义,开发,维护软件的一门学科。软件工程的目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程的内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。5什么是软件生存周期?
3、它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。6什么是软件生存周期模型?有哪些主要模型?描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 4 页立身以立学为先,立学以读书为本为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要模型:瀑布模型,增量模型,螺旋模型,喷泉模型,
4、基于知识的模型,变换模型。7、瀑布模型的特点及优点?特点:(1)各个阶段的顺序性和依赖性;(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;(3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。优点:(1)可强迫开发人员采用规范的方法(例如,结构化技术);(2)严格地规定了每个阶段必须提交的文档;(3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。8、面向对象面向对象 =对象 +类 +继承 +消息通信面向对象设计分为系统设计和对象设计。面向对象分析有静态(对象图)和动态(类图)面向对象 智能模型系统设计 对象设计9、模块的耦合和内聚。耦合性:只软件系统结构
5、中各模块间相互联系紧密程度的一种度量。耦合度由低到高:数据耦合控制耦合非法耦合内聚性:指模块的功能强度的度量,一个模块内部各个元素彼此结合的紧密程度的度量。内聚度由低到高:偶然内聚 逻辑内聚时间内聚 数据内聚 功能内聚模块独立性强:高内聚低耦合公用一个模块公共耦合10、模块结构改进的方法1.模块功能的完善化2 消除重复功能,改善结构3 模块的作用范围应在控制之内4 尽可能减少扇出结构11、活动图活动图:用来捕捉用例的活动,使用框图的方式显示动作及结果。流图 活动到活动包:是一组命名的建模元素集合。一个包可能含有其他包,可以导入其他包,一个类只属于一个包。精选学习资料 - - - - - - -
6、 - - 名师归纳总结 - - - - - - -第 2 页,共 4 页立身以立学为先,立学以读书为本12、软件维护软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序。修改后要填写程序改登记表,并在程序变更通知书上写明新旧程序的不同之处。软件维护的流程如下:提交维护申请报告、审查申请报告并批准、运行维护并做详细记录、复审。软件维护的副作用(1) 编码副作用。在使用程序设计语言修改源代码时可能引入的错误。( 2) 数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。 数据副作用是修改软件信息结构导致的结果。但它可以通
7、过详细的设计文档加以控制。(3) 文档副作用。 如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。软件的可维护性的衡量:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。软件维护的类型(1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。(2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。(3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。(
8、4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。提高可维护性的方法有哪些?(1)使用先进的软件开发技术和工具。(2)实施开发阶段产品的维护性审查。(3)改进程序的文档。13、输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出“不能构成三角形”:1)程序流程图表示算法,如图(1)所示:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 4 页立身以立学为先,立学以读书为本图( 1)图( 2)2)转换成流图,如图(2)所示:程序复杂度V(G)=3+1=4;V(G)=8-6+2=4 3 )设计路径覆盖的测试用例:路径:1 2 3 4 123456精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 4 页