《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. 软件测试用例的组成测试用例由输入数据和预期的输出数据组成.
16、27. 依据题目要求设计测试用例请参考下方题目( 3)28. 软件保护的分类( 4 种)(1) 完善性的保护. 完善性保护就是在应用软件系统使用期间为不断改善和加强系统的功能和性能, 以满意用户日益增长的需求所进行的保护工作.在整个保护工作量中,完善性保护居第一位.(2) 适应性保护.适应性保护是指为了让应用软件系统适应运行环境的变化而进行的保护活动.适应性保护工作量约占整个保护工作量的25%.(3) 纠错性保护. 纠错性保护的目的在于, 订正在开发期间未能发觉的遗留错误.对这些错误的相继发觉,对它们进行诊断和改正的过程称为纠错可编辑资料 - - - 欢迎下载精品_精品资料_性保护.这类保护约
17、占总保护工作量的20%.(4) 预防性保护. 其主要思想是保护人员不应被动的等待用户提出要求才做保护工作,而应当挑选那些仍有较长使用寿命.29. 面对对象的特点封装,集成,多态30. 面对对象的建模语言 UML请认真复习书上第九章31. 面对对象的动态模型包含哪两种图型请认真复习书上第九章32. 类的概念类 就是对具有相同数据和相同操作的的一组相像对象的定义.33. 类图的元素名称 ,属性 ,操作34. UML中对象之间类的关系(空心三角形,菱形分别表示什么) 在 UML图中,类之间的关系有如下几种: 关联关系: Association黑三角形聚合关系: Aggregation空心菱形 组合关
18、系: Composition 依靠关系: Dependency带箭头的虚线泛化关系: Generalization一端为空心三角形的虚线实现关系: Realization35. 画用例图参考下方题目最终一题36. 用例图图形元素37. 方框代表系统椭圆代表用例线条人代表行为者38. 对象模型的五个层次主题层、类 &对象层、结构层、属性层、服务层.39. 面对对象分析方法的五个基本步骤第一步,确定对象和类. 这里所说的对象是对数据及其处理方式的抽象, 它反映了系统储存和处理现实世界中某些事物的信息的才能.类是多个对象 的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描可编辑资料
19、- - - 欢迎下载精品_精品资料_述.其次步, 确定结构(structure).结构是指问题域的复杂性和连接关系.类成员结构反映了泛化 - 特化关系,整体 - 部分结构反映整体和局部之间的关系.第三步,确定主题( subject ).主题是指事物的总体概貌和总体分析模型.第四步,确定属性( attribute).属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的储备中指定.第五步,确定方法(method).方法是在收到消息后必需进行的一些处理方法:方法要在图中定义,并在对象的储备中指定.对于每个对象和结构来说,那 些用来增加、修改、删除和挑选一个方法本身都是隐含的(虽
20、然它们是要在 对象的储备中定义的,但并不在图上给出) ,而有些就是显示的.40. UML的帮助图和时序图时序图定义 :描述了对象之间传递消息的时间次序,用来表示用例中的行为次序 ,是强调消息时间次序的交互图 ;时序图描述的事物 :时序图描述系统中类和类之间的交互 ,将这些交互建模成消息交换 ,时序图描述了类以及类之间的交换以完成的期望行为的消 息,时序图中每条消息都代表了类的一个操作或者 引起状态机转变的触发大事;时序图表示 : 参加交互的对象在时序图顶端水平排列 , 每个对象的底端绘制了一条垂直虚线 , 对象 A 像对象 B 发送消息 , 用一条带箭头的实线表示, 该实线起始于对象 A 底部
21、的虚线 , 终止于对象 B 底部的虚线 ; 实线箭头水平放置 , 越靠近顶端越早被发送 .时序图轨迹 : 时序图供应了随时间推移的 , 清晰的 可视化的轨迹 ;时序图组成 :时序图包括四个元素 对象Object,生命线Lifeline,激活Activation,消息Message;协作图 :协作图是 一种 类图,包含 类元角色和 关联角色 ,不仅仅是 类元 和 关联;-强调 :强调参加交互的 各个对象的结构信息和 组织;协作图建模对象 :对有交互的对象 和 这些对象之间的关系建模 ,不参加交互的对象及它们的关系忽视 ;协作图内容 :协作图中表现了 类操作中用到的参数 ,布局变量 ,操作中的永久
22、链 ;对象图扩展 :协作图可以看做对象图的扩展,该图展现了对象之间的关联 ,显示出了对象间的消息传递 ;41. 软件重用的定义和层次(三个层次)可编辑资料 - - - 欢迎下载精品_精品资料_定义:软件重用,是指在两次或多次不同的软件开发过程中重复使用相同或相像软件元素的过程.层次:(1) )学问重用(例如,软件工程学问的重用) .(2) )方法和标准的重用 (例如, 面对对象方法或国家制定的软件开发规范的重用).(3) )软件成分的重用.42. 面对对象设计的启示规章1、 设计结果应当清晰易懂2、 一般特殊结构的深度适当3、 设计简洁的类4、 使用简洁的协议5、 使用简洁的服务6、 把设计变
23、动减至最小43. 软件质量的的概念概括的说,软件质量就是“反应实体满意明确的和隐含的需求的才能的特性的总和”.具体的说,软件质量是软件符合明确表达的功能和性能需求、文档中明确描述的开发标准、以及全部专业开发的软件都应具有的和隐含特点相一样的程度.44. 软件可移植性把程序从一种硬件配置和软件系统环境转移到另一种配置和环境时,需要的工作量多少.有一种度量方法是:用原先的程序设计和调试的成本除移植时需要的费用44. 软件工程治理的定义45. 才能成熟度模型作用1. 初始级软件过程的特点是无序的,有时甚至是纷乱的.2. 可重复级可编辑资料 - - - 欢迎下载精品_精品资料_软件机构建立了基本的项目
24、治理过程 过程模型 ,可跟踪成本、进度、功能和质量.3. 已定义级软件机构已经定义了完整的软件过程 (过程模型),软件过程已经文档化和标准化.4. 已治理级软件机构对软件过程(过程模型和过程实例)和软件产品都建立了定量的质量目标,全部项目的重要的过程活动都是可度量的.5. 优化级软件机构集中精力连续不断的改进软件过程.这一级的软件机构是一个以防止显现缺陷为目标的机构,它有才能识别软件过程要素的薄弱环节,并有足够的手段改进它们.46. 基线的概念基线baseline经过正式审查和认可作为以后进一步演进的基础,并且只有通过正式的更换掌握规程才能进行更换的规格说明或产品.简而言之基线就是通过了正式复
25、审的软件配置项.47. 关键路径的概念关键大事: EET(最早时刻) =LET(最迟时刻)48. 度量软件规模的常用技术代码行技术估算方法:由多名有体会的软件工程师分别做出估量.每个 人都 估量 程序 的最 小规模 a 、 最大规模 b 和最可能的规模L=(m) , 分别算出这 3 种规模的平均值之后,再用下式运算程序规模的估量值:可编辑资料 - - - 欢迎下载精品_精品资料_单位:代码行技术的优点:LOC或 KLOC.可编辑资料 - - - 欢迎下载精品_精品资料_代码是全部软件开发项目都有的 “产品”,而且很简洁运算代码行数.有大量参考文献和数据.代码行技术的缺点:源程序仅是软件配置的一
26、个成分, 由源程序度量软件规模不太合理.用不同语言实现同一个软件所需要的代码行数并不相同.不适用于非过程性语言.功能点技术功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模.这种方法用功能点 FP 为单位度量软件规模.1. 信息域特性输入项数 Inp 、输出项数 Out 、查询数 Inq 、主文件数 Maf 、外部可编辑资料 - - - 欢迎下载精品_精品资料_接口数 Inf每个特点依据其复杂程度安排一个功能点数, 即信息域特点系数 a1, a2,a3, a4,a52.估算功能点的步骤(1) 运算未调整的功能点数UFP UFP=a1Inp+a2Out+a3Inq+a4Maf+a
27、5Inf(2) 运算技术复杂性因子 TCF技术因素对软件规模的综合影响程度DI:技术复杂性因子 TCF由下式运算: TCF=0.65+0.01 DI由于 DI 的值在 070 之间,所以 TCF的值在 0.651.35 之间.(3) 运算功能点数 FP FP=UFP TCF功能点技术优点:与所用的编程语言无关,比代码行技术更合理.功能点技术缺点:在判定信息域特性复杂级别和技术因素的影响程度时主观因素较大,对体会依靠性较强.49. 评判软件质量的因素(常见的4 个) 可保护性,牢靠性,可懂得性,效率50. COCOMO模2 型3 个层次的估算模型:应用系统组成模型:这个模型主要用于估算构建原型的
28、工作量,模型名字示意在构建原型时大量使用已有的构件.早期设计模型:这个模型适用于体系结构设计阶段.后体系结构模型:这个模型适用于完成体系结构设计之后的软件开发阶段.COCOMO使2用的 5 个分级因素:项目先例性、开发敏捷性、风险排除度、项目组凝结力、过程成熟度1. 请使用 N-S 图、PAD图描述以下程序的算法.1 在数据 A1 A10 中求最大数和次大数.2. 某公司为本科以上学历的人重新安排工作,安排原就如下:(1) )假如年龄不满 18 岁,学历是本科,男性要求报考讨论生,女性就担任行政工作.(2) )假如年龄满 18 岁不满 50 岁,学历本科,不分男女,任中层领导职务, 学历是硕士
29、不分男女,任课题组组长.(3) )假如年龄满 50 岁,学历本科,男性任科研人员,女性就担任资料员,学历是硕士不分男女,任课题组组长.要求:画出分析过程,得出判定表,并进行化简.可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_3.“一个程序读入 3 个整数,它们分别代表一个三角形的3 个边长.该程序判断所输入的整数是否构成一个三角形, 以及该三角形是一般的、 等腰的或等边的,并将结果打印出来.”要求:设三角形的 3 条边分别为 A、B、C,并且( 1) 列出等价类表,格式如下: 输入条件有效等价类 无效等价类(留意:将等价类编号)(留意:将等价类
30、编号)( 2) 设计测试用例,格式如下:用例 n:输入【A,B,C】掩盖等价类(列出等价类序号) ,输出结果为.例如:用例 10:输入【 3, 3,3】掩盖等价类( 100)(600),输出结果为等边三角形.可编辑资料 - - - 欢迎下载精品_精品资料_1. 网络的普及带给了人们更多的学习途径, 随之而来的治理远程网络教学的 “远程网络教学系统”产生了.“远程网络教学系统”的功能需求如下:a) 同学登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频.b) 老师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得.c) 系统治理员负责对网站页面的保护、审核不
31、合法课件和不合法教学信息、批准用户注册. 1)同学需要登录“远程网络教学系统”后才能正常使用该系统的全部功能.假如忘记密码,可与通过“找回密码”功能复原密码.请画出同学参加者的用例图.可编辑资料 - - - 欢迎下载精品_精品资料_2)老师假如遗忘密码,可以通过“找回密码”功能找回密码.请画出老师参加者的用例图2. 图书治理系统功能性需求说明如下 :图书治理系统能够为肯定数量的借阅者供应服务. 每个借阅者能够拥有唯独标识其存在的编号. 图书馆向每一个借阅者发放图书证, 其中包含每一个借阅者的编号和个人信息. 供应的服务包括: 供应查询图书信息、 查询个人信息服务和预定图书服务等.可编辑资料 - - - 欢迎下载精品_精品资料_画出语境“借阅者预定图书”的时序图.当借阅者需要借阅图书、 归仍书籍时需要通过图书治理员进行,即借阅者不直接与系统交互,而是通过图书治理员充当借阅者的代理和系统交互.系统治理员主要负责系统的治理保护工作, 包括对图书、 数目、借阅者的添加、删除和修改.并且能够查询借阅者、图书和图书治理员的信息.可以通过图书的名称或图书的 ISBN/ISSN 号对图书进行查找.回答下面问题:(1) ) 该系统中有哪些参加者 .借阅者图书治理员系统治理员(2) ) 确定该系统中的类,找出类之间的关系并画出类图.(3) )(4) )可编辑资料 - - - 欢迎下载
限制150内