2022年软件工程期末考试复习总结知识点+必考题型 .pdf
《2022年软件工程期末考试复习总结知识点+必考题型 .pdf》由会员分享,可在线阅读,更多相关《2022年软件工程期末考试复习总结知识点+必考题型 .pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程复习资料1.软件危机产生的原因(1)软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。很难检验开发的正确性且软件开发的质量也较难评价。因此控制软件开发过程相当困难。此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。这样维护的费用十分惊人,客观上使得软件较难维护。(2)软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。在实践的过程中没有采
2、用工程化的方法,或多或少采用了一些错误的方法和技术。这是造成软件危机的主要原因。(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。对用户的要求没有完整准确的认识就急于编写程序。这是许多软件开发失败的另一主要原因。事实上,许多用户在开始时并不能准确具体地叙述他们的需要。软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。首先是文档缺乏一致性和完整性,从而失去管理的依据。因为程序只是完整软件产品的一个组成部分。一个软件产品必须由一组的配置组成
3、,不能只重视程序而应当特别重视软件配置。其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。(5)在软件的开发和维护关系问题上存在错误的观念。软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。所以做好软件的定义工作是降低软件成本,提高软件质量的关键。如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。另外,在软件生存期的不同结点进行修改需要付出的代价是很不相同的。在早期引入变更涉及面较小,付出的代价较低,在开发的中期软件配置的许多成分已经完成,引入
4、一个变更可能需要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂。因而付出的代价剧增。在软已经完成 后再引入变更。则需要付出更高得多的代价。因此,必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。2.软件工程的概念软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。2.软件工程的三要素方法、工具和过程3.软件工程的基本原理名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 17 页 -(1)用分阶段的生命周期计划严格管理(2)坚
5、持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性4.软件生命周期问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试软件维护5.瀑布模型存在的问题靠文档驱动,用户不能全面地认识动态的软件产品。且过于理想化,可能出现设计上的错误。缺乏灵活性。6.RUP 统一过程的四个阶段RUP 模型将软件开发过程分为4 个大的阶段,分别是先启、精化、(构建)和产品化。7.可行性分析研究的主要目的用最小的代价在尽可能小的时间内,确定问题是否能解决,从而确定问题是否值得去解决。8.需求分析阶段所有
6、分析方法需要遵守的准则(1)必须理解并描述问题的信息域,根据这条准则必须建立数据模型。(2)必须定义软件应完成的功能,这条准则要求建立功能模型。(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为准则。(4)必须对描述信息,功能和行为的模型进行分解,用层次的方式展示细节。9.需求分析的目的准确的回答“系统必须做什么”这个问题10.数据字典的作用和概念概念:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 17 页 -出详细的说明。作用:数据字典和数
7、据流图共同构成系统的逻辑模型。没有流图数据字典难以发挥作用。没有数据字典,数据流图就不严格。11.数据流图的图形元素数据流数据的源点或终点变换数据的处理 数据存储12.E-R图(非画图题)在 ER图中有如下四个成分:矩形框:表示实体,在框中记入实体名。菱形框:表示联系,在框中记入联系名。椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1;对于一对多联系,要在一的一方写1,多的一方写 N;对于多对多关系,则要在两个实体连线方向
8、各写N,M。)构成 E-R图的 3 个基本要素是实体型、属性和联系,其表示方法为:实体一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体。在E-R 图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体。如果是弱实体的话,在矩形外面再套实线矩形。属性实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在E-R 图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学
9、号、性别、都是属性。如果是多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。联系联系也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R 图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 17 页 -13.需求分析和软件设计两个阶段的目的需求分析:
10、确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划软件设计:用比较抽象概括的方式确定目标系统如何完成预定任务。14.信息隐藏的概念在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。15.耦合的概念和分类概念:耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.分类:内容耦合,公共耦合,外部耦合,控制耦合,标记耦合,数据耦合,非直接耦合,顺序耦合(耦合度由高到低排列)16.内聚的概念和分类概念:内聚是从功能角度来度量模块内的联系,一个好的内聚模块
11、应当恰好做一件事。分类:偶然内聚,逻辑内聚,时间内聚,过程内聚,通信内聚,顺序内聚,功能内聚(内聚度由弱到强排列)17.模块化的概念概念:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。18.详细设计的任务确定怎样具体的实现用户需要的软件系统,也就是要设计出程序的蓝图(书上)(网上)(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 17 页 -(2)为模块内的数据结构进行设计。对于需求分析、概要设计确
12、定的概念性的数据类型进行确切的定义。(3)为数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。(4)其他设计:根据软件系统的类型,还可能要进行以下设计:代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。输入/输出格式设计。人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的具体设计。(5)编写详细设计说明书。(6)评审。对处理过程的算法和数据库的物理结构都要评审。19.设计复审的目的和作用避免后期付出高代价20
13、.判定树,判定表判定树和判定表是用于描述结构化分析方法中(数据加工)环节的工具21.结构化程序设计的三种结构顺序,选择,循环22.画 N-S图和 pad图Pad:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 17 页 -N-S图23.软件测试的目的发现程序中的错误而执行程序的过程名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 17 页 -24.软件测试的方法(黑盒&白盒)黑盒:把程序看做一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,他只检查程序功能是否能按规格说明书的规定正常使用,程序是否能适当的接受输入数据并产生争取的
14、输入信息,程序测试过程中能否保持外部信息的完整性。黑盒测试又被称为功能测试。白盒:可以把程序看成装在一个透明白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序的主要执行通路是否都能按预定要求正确工作。白盒测试又被称为结构测试。25.软件测试的步骤(1)单元测试(也称模块测试):针对软件设计的基本单元程序模块,进行正确性检验的测试工作。目的在于发现各个模块内部可能存在的各种差错。单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行、独立地进行测试;(2)集成测试(也称组装测试,联合测试):在单元测试的基础上,将所有模块按设计要求集成在一起进行测试,
15、以检验总体设计中各模块间的接口设计问题、模块之间的相互影响、上层模块存在的各种差错及全局数据结构对系统的影响等方面。(3)确认测试(也称验收测试,有效性测试):主要检验软件的功能和性能是否与需求说明书中的规定一致。(4)系统测试:将软件系统作为一个元素,放入整个实际的计算机系统中,与计算机硬件、其他软件、使用人员等系统元素结合在一起,在实际使用环境下进行综合全面的测试。26.软件测试用例的组成测试用例由输入数据和预期的输出数据组成。27.根据题目要求设计测试用例请参考下方题目(3)28.软件维护的分类(4 种)(1)完善性的维护。完善性维护就是在应用软件系统使用期间为不断改善和加强系统的功能和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年软件工程期末考试复习总结知识点+必考题型 2022 软件工程 期末考试 复习 总结 知识点 必考 题型
限制150内