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

上传人:h**** 文档编号:1173033 上传时间:2018-12-15 格式:DOCX 页数:17 大小:654.09KB
下载 相关 举报
软件工程期末考试复习总结知识点必考题型.docx_第1页
第1页 / 共17页
软件工程期末考试复习总结知识点必考题型.docx_第2页
第2页 / 共17页
软件工程期末考试复习总结知识点必考题型.docx_第3页
第3页 / 共17页
软件工程期末考试复习总结知识点必考题型.docx_第4页
第4页 / 共17页
软件工程期末考试复习总结知识点必考题型.docx_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、软件工程复习资料1. 软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。很难检验开发的正确性且软件开发的质量也较难评价。因此控制软件开发过程相当困难。此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。这样维护的费用十分惊人,客观上使得软件较难维护。 (2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。在实践的过程

2、中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。这是造成软件危机的主要原因。 (3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。对用户的要求没有完整准确的认识就急于编写程序。这是许多软件开发失败的另一主要原因。事实上,许多用户在开始时并不能准确具体地叙述他们的需要。软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。 (4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。首先是文档缺乏一致性和完整性,从而失去管理的依据。因为程序只是完整软件产品的一个组成部分。一个软件产品必须

3、由一组的配置组成,不能只重视程序而应当特别重视软件配置。其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。 (5) 在软件的开发和维护关系问题上存在错误的观念。软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。所以做好软件的定义工作是降低软件成本,提高软件质量的关键。如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。另外,在软件生存期的不同结点进行修改需要付出的代价是很不相同的。在早期引入变更涉及面较小,付出的代价较低,在开发的中期软件配置的许

4、多成分已经完成,引入一个变更可能需要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂。因而付出的代价剧增。在软“已经完成“后再引入变更。则需要付出更高得多的代价。因此,必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。2.软件工程的概念软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。2. 软件工程的三要素方法、工具和过程3. 软件工程的基本原理(1) 用分阶段的生命周期计划严格管理(2) 坚持进行阶段评审(3) 实行严格的产品控制(4

5、) 采用现代程序设计技术(5) 结果应能清楚地审查(6) 开发小组的人员应该少而精(7) 承认不断改进软件工程实践的必要性4. 软件生命周期问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试软件维护5. 瀑布模型存在的问题靠文档驱动,用户不能全面地认识动态的软件产品。且过于理想化,可能出现设计上的错误。缺乏灵活性。6. RUP 统一过程的四个阶段RUP 模型将软件开发过程分为 4 个大的阶段,分别是先启、精化、 (构建)和产品化。7. 可行性分析研究的主要目的用最小的代价在尽可能小的时间内,确定问题是否能解决,从而确定问题是否值得去解决。8. 需求分析阶段所有分析方法需要遵守的准

6、则(1) 必须理解并描述问题的信息域,根据这条准则必须建立数据模型。(2) 必须定义软件应完成的功能,这条准则要求建立功能模型。(3) 必须描述作为外部事件结果的软件行为,这条准则要求建立行为准则。(4) 必须对描述信息,功能和行为的模型进行分解,用层次的方式展示细节。9. 需求分析的目的准确的回答“系统必须做什么”这个问题10. 数据字典的作用和概念概念:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。作用:数据字典和数据流图共同构成系统的逻辑模型。没有流图数据字典难以发挥作用。没有数据字典,数据流图

7、就不严格。11. 数据流图的图形元素 数据流 数据的源点或终点变换数据的处理 数据存储12.E-R 图(非画图题)在 ER 图中有如下四个成分:矩形框:表示实体,在框中记入实体名。菱形框:表示联系,在框中记入联系名。椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。 (对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写 1,多的一方写 N;对于多对多关系,则要在两个实体连线方向各写 N,M。)构成 E-R 图的 3 个基本要素是实体型、属性和

8、联系,其表示方法为:实体一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体。在 E-R 图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体。如果是弱实体的话,在矩形外面再套实线矩形。属性实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在 E-R 图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,在椭圆形外面再套实

9、线椭圆。如果是派生属性则用虚线椭圆表示。联系联系也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在 E-R 图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n 或m : n) 。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形13. 需求分析和软件设计两个阶段的目的需求分析:确定对系统的综合要求 分析系统的数据要求 导出系统的逻辑模型 修正系统开发计划软件设计:用比较抽象概括的方式确定

10、目标系统如何完成预定任务。14. 信息隐藏的概念在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据) ,对于不需要这些信息的其他模块来说,是不可访问的。15. 耦合的概念和分类概念:耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.分类:内容耦合,公共耦合,外部耦合,控制耦合,标记耦合,数据耦合,非直接耦合,顺序耦合(耦合度由高到低排列)16. 内聚的概念和分类概念:内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。分类:偶然内聚,逻辑内聚,时间内聚,过程内聚,通信内聚,顺序内聚,功能内聚(内聚

11、度由弱到强排列)17. 模块化的概念概念:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。18. 详细设计的任务确定怎样具体的实现用户需要的软件系统,也就是要设计出程序的蓝图(书上)(网上)(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。(2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。(3)为数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所

12、使用的数据库系统。(4)其他设计:根据软件系统的类型,还可能要进行以下设计:代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。输入/输出格式设计。人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的具体设计。(5)编写详细设计说明书。(6)评审。对处理过程的算法和数据库的物理结构都要评审。19. 设计复审的目的和作用避免后期付出高代价20. 判定树,判定表判定树和判定表是用于描述结构化分析方法中(数据加工)环节的工具21. 结构化程序设计的三种结构顺序,选择,循环22. 画 N-S 图和 pad 图P

13、ad:N-S 图23. 软件测试的目的发现程序中的错误而执行程序的过程24. 软件测试的方法(黑盒时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作 或者 引起状态机改变的触发事件;时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象 A 像对象 B 发送消息, 用一条带箭头的实线表示, 该实线起始于对象 A 底部的虚线, 终止于对象 B 底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送.时序图轨迹 : 时序图提供了随时间

14、推移的, 清晰的 可视化的轨迹;时序图组成 : 时序图包括四个元素 对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);协作图 : 协作图是 一种 类图, 包含 类元角色 和 关联角色, 不仅仅是 类元 和 关联;- 强调 : 强调参与交互的 各个对象的结构信息 和 组织;协作图建模对象 : 对有交互的对象 和 这些对象之间的关系建模, 不参与交互的对象及它们的关系忽略;协作图内容 : 协作图中表现了 类操作中用到的参数, 布局变量, 操作中的永久链;对象图扩展 : 协作图可以看做对象图的扩展, 该图展示了对象之间的关联, 显示出了对象

15、间的消息传递;41. 软件重用的定义和层次(三个层次)定义:软件重用,是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。层次:(1)知识重用(例如,软件工程知识的重用) 。(2)方法和标准的重用(例如,面向对象方法或国家制定的软件开发规范的重用) 。(3)软件成分的重用。42. 面向对象设计的启发规则1、 设计结果应该清晰易懂2、 一般特殊结构的深度适当3、 设计简单的类4、 使用简单的协议5、 使用简单的服务6、 把设计变动减至最小43. 软件质量的的概念概括地说,软件质量就是“反应实体满足明确的和隐含的需求的能力的特性的总和” 。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的和隐含特征相一致的程度。44. 软件可移植性把程序从一种硬件配置和软件系统环境转移到另一种配置和环境时,需要的工作量多少。有一种度量方法是:用原来的程序设计和调试的成本除移植时需要的费用44.软件工程管理的定义45. 能力成熟度模型作用1.初始级 软件过程的特征是无序的,有时甚至是混乱的。 2.可重复级

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

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。