福州大学软件工程复习要点张栋老师_第1页
福州大学软件工程复习要点张栋老师_第2页
福州大学软件工程复习要点张栋老师_第3页
福州大学软件工程复习要点张栋老师_第4页
福州大学软件工程复习要点张栋老师_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

体系结构风格有:1、以数据为中心(仓库),数据对所有使用者开放,客户软件直接决定存取方式,客户构件基本独立,黑板。2、数据流体系结构(管道/过滤器),适用于批处理,输入数据被一系列的计算或处理变换成输出数据。易理解、易维护、易并行运行,不易交互。3、调用和返回体系结构(主程序/子程序),容易修改和扩充。(程序结构的曾次数-深度,同一层模块的最大模块个数成为宽度,扇入、扇出)4、面向对象体系结构,构件间通过消息传递进行合作。5、层次体系结构,每层都完成了相对外层更靠近机器指令的操作。体系结构环境图ACD:软件与外部实体(上级系统、下级系统、同级系统、参与者)交互方式的建模。精化:将体系结构应用到一个特定的问题上体系结构权衡分析法ATAM:考虑多个相互影响的质量属性的情况下从原则上提供一种理解软件体系结构能力的方法。类构件设计原则:1、开闭原则OCP:对外延具有开放性,对修改具有封闭性2、Liskov替换原则LSP:子类可以替换基类。3、依赖倒置原则DIP:依赖于抽象而不是依赖于具体实现4、接口分离原则ISP:多个专用接口而不是一个通用接口5、发布复用等价性原则REP:复用的粒度就是发布的粒度6、共同封装原则CCP:一同变更的类应该合并在一起7、共同复用原则 CRP:不能一起复用的类不能被合并到一起构件级设计指导方针:构件(建立命名规约、进一步细化精化)、接口(接口用棒棒糖式记号,放在构件框左边)、依赖与继承(自上而下从左向右)1/5内聚性的级别:功能内聚-分层内聚-通信内聚(使用相同的输入或产生相同输出)-顺序内聚-过程内聚-时间内聚-偶然内聚耦合性的级别:内容(内部数据被其他模块直接或不正常访问)-公共(访问同一个数据环境)-控制(通过传送控制信息)-标记(一个数据结构被作为参数传递,只使用部分数据)-数据(简单的数据交换)-调用-类型使用-外部软件测试策略:单元测试(代码编写阶段,测试每个构件,主要对接口、数据结构、边界条件、独立路径、错误处理进行评价,必须开发驱动程序和桩程序)-集成测试(软件设计阶段,测试体系结构的设计和构件)-确认测试(验收测试,对需求进行确认)-系统测试(系统工程阶段,与其他成分作为一个整体来测试)验证:确保软件正确地实现特定功能的活动确认:确保软件可追溯到用户需求的活动(确保开发的软件符合用户的需求)单元测试的步骤:编译程序检查语法正确性、静态测试检查代码是否符合规范、动态测试集成测试的内容:单元组装后功能的正确性、单元之间接口传递数据的正确性、集成后系统性能非增量式测试(一次性集成):单元测试后将所有模块连接起来当做一个整体进行测试,使用规模小的系统。增量测试:自顶向下、自底向上、结合。逐次将未集成测试的模块和已集成测试的模块结合测试自顶向下测试:优点:逐步求精,一开始就能看到系统框架,较早发现高层错误;缺点:需要提供桩模块,测试数据有困难自底向上:优点:易于设计测试用例缺点:上层错误发现的晚影响范围大,最后才能看到整个系统回归测试:对已经测试过的子集重新执行,确保变更没有产生不期望的副作用冒烟测试:频繁大量地测试以暴露主要问题,好处是风险最小化、产品质量被改善、错误诊断和修改被简化、进展容易评估。以上都是集成测试。α测试:最终用户在开发场所完成,开发者在旁边观看并记录错误和问题。β测试:最终用户场所执行,开发者不在场。以上是确认测试。恢复测试:强制让系统发生故障验证其能适当恢复2/5安全测试:验证系统能够不受非法入侵、攻破系统付出的代价大于获取的价值的测试压力测试:以不正常的数量、频率或容量执行系统性能测试:测试软件的运行性能以上是系统测试。三种调试方法策略:蛮干法、回溯法、原因排除法调试困难的原因:错误的地方可能相隔很远、症状可能在另一个错误改正时消失、非错误原因引起、产生完全一样的输入条件有时是困难的白盒测试:对软件的内部结构、过程细节的检查黑盒测试:在接口处测试,检查系统的功能,主要有等价类划分、边界值分析BVA、错误推测法、因果图等价类划分:吧所有可能的输入数据划分成若干部分,从中选取有代表性的数据作为测试用例,每一类数据对程序错误的发现是等效的。程序的环路复杂性给出了程序路径集中的独立路径条数。面向对象测试方法的类级划分测试:基于状态(改变状态的能力)、属性(使用的属性)、类别(完成的功能)划分。面向对象的单元测试是类测试,面向对象的集成测试是基于线程/使用的测试,确认测试可采用黑盒。软件项目管理 4P:人员、产品、过程、项目MOI模型:激励、组织、思想或创新软件团队4种组织范型:封闭式(传统权利层次来组织:主程序员团队,包含主程序员、技术员、后备工程师)、随机式、开放式(具有封闭式的控制性,随机式的创新性)、同步式(依赖于问题的自然划分,各自解决问题的一部分)。敏捷团队:相互信任、优势互补、充满活力、自组织的团队3/5W5HH原则:为什么?做什么?什么时候做?谁负责?机构在哪里?如何完成?需要多少资源?为什么要进行测量:刻画(获得对产品的了解以建立评估和比较的基线)、评价(确定相对于计划的状况)、程或任务、评估项目组控制软件质量的能力个人软件过程PSP:是一个过程描述、测度和方法的结构化集合,能够帮助工程师改善个人性能。统计软件过程改进SSPI:使用软件故障分析方法来手机软件产品开发及使用中遇到的错误及缺陷信息。基于规模的度量:优点是容易计算、存在大量以此为根据的文献和数据;缺点是不适合设计好且短的程序、不适合非过程语言,难以达到要求的详细程度。基于功能点的度量:FP=总计×(0.65+0.01×∑(Fi))优点与程序语言无关,依据的是项目早期就可知道的数据。缺点计算过程依赖的是主观因素。质量测量的指标有:正确性、可维护性(遇到错误时能被修改、环境变化时能够适应、用户改变需求时能被增强的容易程度,用MTTC平均修改时间度量)、完整性(危险性、安全性,∑(1-(危险性×(1-(安全性)))、可用性缺陷排除效率DRE:对质量保证及控制活动的滤除缺陷能力的测量,DRE=E/(E+D)影响估算可靠性的因素:项目复杂性 /项目规模/结构的不确定程度问题需求信息不完整是最主要的不确定因素。软件可行性4个因素:技术、经济、时间、资源。软件工程环境SEE:支持软件项目的环境,集成了硬件以及软件基于问题的估算:S=(S乐观值+4S平均值+S悲观值)/6Delphi方法:请每个专家估计工作量,将均值作为结果4/5COCOMOII模型:构造性成本模型。三种选择点:对象点、功能点、代码行PNR曲线:表明一个软件项目所投入的工作量与交付时间的关系项目延期的原因:不切实际的期限、客户需求发生变化、对所需资源估计不足、未考虑风险、出现技术困难、人力困难、项目组成员交流不畅、管理者未发现进度拖后也未采取措施措施:重新估算工作量和日期、采用增量过程模型、与客户交流、提供增量策略项目进度安排方法有:CPM关键路径法、程序评估和复审技术PERT、(描述任务间依赖关系的)任务网络WBS、(项目进度表)甘特图、挣值分析EVA:BCWS预算成本BAC任务总预算BCWP已完成的预算成本ACWP实际完成的成本进度表执行指标SPI=BCWP/BAC,进度表偏差SV=BCWP-BCWS预订完成百分比BCWS/BAC,完成百分比BCWP/BAC成本执行指标 CPI=BCWP/ACWP,成本偏差CV=BCWP-ACWP被动风险策略:不闻不问,出现问题时采取行动。主动风险策略:开始之前识别潜在风险,评估概率影响,按重要性排序并制定计划管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论