2022年软件工程期末考试复习总结知识点+必考题型.docx





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

限制150内