软件工程复习资料[001].doc_第1页
软件工程复习资料[001].doc_第2页
软件工程复习资料[001].doc_第3页
软件工程复习资料[001].doc_第4页
软件工程复习资料[001].doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

第一章1、软件的特点:是一种逻辑实体,而不是有形的系统元件,开发成本和进度难以准确地估算。软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。软件的使用没有硬件那样的机械磨损和老化问题。2、 软件危机: 随着计算机在各个领域的广泛应用,软件的需求量越来越大,软件的复杂度也越来越高,导致软件的开发远远满足不了社会发展的需要,超出预算的经费、超过预期的交付时间的事情经常发生。由于缺乏文档以及没有好的开发方法指导,使得大量已有的软件难以维护。2、 软件的分类:1. 系统软件 2、支撑软件 3、应用软件3、 软件语言:1.需求定义语言 2.功能性语言 3.设计性语言 4.实现性语言5.文档语言3、 软件工程定义:建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠的,可以在实际机器上高效地运行。4、 软件的发展:1.第一阶段,从第一台计算机的第一个程序的出现到实用的高级程序设计语言出现以前。 2.从实用的高级程序设计语言出现以后到软件工程出现以前 3.从软件工程出现以后至今。5、 软件工程的原则:1.选取适宜的开发模型 2.采用合适的设计方法 3.提供高质量的工程支撑 4. 重视软件工程管理6、 软件的生存周期:指软件产品或软件系统从产生、投入使用到被淘汰的全过程7、 软件的过程: 生产一个最终满足需求且达到工程目标的软件产品的所需的步骤。8、 软件工程模型: 软件开发全部过程活动和任务的结构框架9、 瀑布模型: 特征:1.接受上一阶段活动的结果作为本阶段活动的输入2. 依据上一阶段活动的结果实施本阶段应完成的活动3. 对本届阶段的活动进行评审 。 4. 将本阶段活动的结果作为输出,传递给下一阶段。 其优点:确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要的作用。其缺点:1、 客户常常难以清晰地描述所有的需求,而且开发过程中,用户的需求常常有所变化,使得不少软件的需求存在着不确定性 2、 瀑布模型使得客户在测试完成以后才看到真正可运行的软件,此时,如果发现不满足客户需求的问题,那么修改软件的代价是巨大的。图1.8,需了解。见19页。9、 原型模型:优点:适用用户产生新的需求的不确定性和变化,其目的是能快速、低成本的构建原型。10、 敏捷开发:4个敏捷软件开发的价值观:1. 个人和交互高于过程和工具 2. 可运行软件高于详尽的文档 3. 与客户协作高于合同谈判 4. 对变更及时做出反应高于遵循计划11、计算机辅助软件工程(CASE)是指使用计算机及相关的软件工具辅助软件开发、维护、管理等过程中各项活动的实施,以确保这些活动能高效率、高质量地进行。第三章1. 软件需求包括:功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能性需求。2. 需求管理:是一组用于帮助项目组在项目进展中的任何时候去标识、控制和跟踪需求的活动。第四章软件设计的任务:1、数据/类设计;2、体系结构设计;3、接口设计;4、部件级设计1. 软件设计4原则:软件设计人员通常采用抽象与逐步求精、模块化和信息隐藏等原则。2. 模块独立性的衡量指标:内聚度与耦合度。3. 内聚,包括7种类型:巧合内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。 内聚性 高 低功能内聚顺序内聚通讯内聚过程内聚时间内聚逻辑内聚巧合内聚 强 模块独立性 弱功能单一 功能分散巧合内聚: 将几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块称为巧合内聚。 逻辑内聚是指完成一组逻辑相关任务的模块,调用改模块时,由传送给模块的控制型参数来确定改模块改执行哪一种功能功能内聚:指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割。4. 耦合,耦合的类型: 低 耦合性 高 非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合 强 模块独立性 弱公共耦合:若一组模块都访问同一个公共数据环境,则他们之间的耦合就成为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。数据耦合:两个模块之间仅通过参数表达传递简单数据;第五章1. 结构化分析的过程,分成4个步骤: (1)理解当前的现实环境,获得当前系统的具体模型(物理模型)。 (2)从当前系统的具体模型抽象出当前系统的逻辑模型。 (3)分析目标系统与当前系统逻辑上得差别,建立目标系统的逻辑模型。 (4)为目标系统的逻辑模型作补充。2. 数据流图P883 数据守恒,包括两种情况:第一种情况是指一个加工所有输出数据流中的数据,必须能从该加工的输入数据流中直接获得,或者能通过该加工的处理而产生。第二种情况是加工未使用其输入数据流中的某些数据项。4 数据字典使用的描述符号。, 或 a,b表示a或b ;| 或 a|b 表示a或b; 重复 a表示a重复0或多次; 重复 a(下3上8)表示a重复3到8次;() 可选 (a)表示a重复0或1次5. 结构化语言。P1116. 加工逻辑的描述方法主要有:结构化语言、判定表、判定树。 判定树是判定表的变种,本质上和判定表相同。P1147. 结构化设计的步骤: (1)建立初始结构图 (2)对结构图的改进 (3)书写设计文档 (4)设计评审8. 从数据流图映射到结构图的步骤如下: (1)复审和精化数据流图 (2)确定数据流图的类型 (3)将DFD映射成初始结构图 (4)改进初始结构图第7章 :用况建模步骤1、定义系统;2、确定执行者;3、确定用况; 4、描述用况; 5、定义用况间的关系;6、确认模型一:视图分为4个主题域:结构化,动态的,物理的,模型管理。二:用况特征:P1681. 用况总是被执行者启动的,执行者必须直接或间接地指示系统去执行用况。2. 用况向执行者提供值,这些值必须是可识别的。3. 用况是完整的,一个用况必须是一个完整的描述。三:聚集和组合P184聚集是表示整体-部分关系的一种关联,它的“部分”对象可以是任意“整体”对象的一部分。组合是一种更强形式的关联,代表整体的组合对象有管理它的部分对象的特有责任,如部分对象的分配和解除分配。四:泳道:P201一幅活动图可划分成若干个矩形区,每个矩形区为一个泳道,泳道名放在矩形区的顶端。通常根据责任把活动组织到不同的泳道中,它能清楚地表明动作在哪里执行(在哪个对象中),或者表明一个组织哪部分工作(一个动作)被执行。第9章 :一:P236人机界面分为:语言界面,图形用户界面,直接操纵用户界面,多媒体用户界面,多通道用户界面。二:黄金原则:1、让用户拥有控制权; 2、减少用户的记忆负担; 3、保持界面一致。1. 让用户拥有控制权:(1) ,交互模式的定义不能强迫用户进入不必要的或不希望的动作方式(2) 提供灵活交互(3) 允许用户交互可以被中断或撤销(4) 当技术级别增长时可以使交互流水化允许定制交互。(5) 使用户隔离内部技术细节第10章 :一:程序设计语言包含3方面,语法,语义和语用。 (语法:用来表示构成语言的各个记号之间的组合规则,是构成语言结构正确成分所需遵 循的规则集合。 For(表达式1;表达式2;表达式3)语句 语法中不涉及这些记号的含义,也不涉及使用者。)二:程序设计语言选择考虑的因素有:1. 项目所属的领域2. 算法和计算的复杂性3. 软件执行的环境4. 用户需求,特别是性能上的考虑与实现的条件5. 数据结构的复杂性6. 软件开发的知识水平和心理因素7. 可用的编译器与交叉编译器三 、程序设计风格包括4个方面:源程序文档化、数据说明、语句结构和输入输出。第十一章一、软件测试的目的1、测试是一个为了发现错误而执行程序的过程2、一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试用例。3、一个成功的测试是指揭示了迄今为尚未发现的错误的测试。二、白盒测试又称结构测试。白盒测试主要用于对程序模块的测试,包括:1、程序模块中的所有独立路径至少执行一次。2、对所有逻辑判定的取值(“真”与“假”)都至少测试一次。3、在上下边界及可操作范围内运行所有循环。4、测试内部数据结构的有效性等。三、黑盒测试又称行为测试黑盒测试可用于各种测试,它试图发现以下类型的错误:1、 不正确或遗漏的功能2、 接口错误,如输入输出参数的个数、类型等。3、 数据结构错误或外部信息(如外部数据库)访问错误。4、 性能错误。5、 初始化和终止错误。四、逻辑覆盖测试是一种基本的白盒测试方法,主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的覆盖标准有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖。五、黑盒测试是依据软件的需求规约,检查程序的功能是否符合需求规约的要求。主要的黑盒测试方法有:等价类划分,边界值分析,比较测试,错误猜测和应图方法。V模型:系统工程系统测试 需求分析确认测试 设计集成测试 编码单元测试 六、主要的调试方法有3种:蛮力法、回溯法和原因排除法。第十三章1、 软件演化是指软件在交付以后,对软件进行的一系列互动的总称。软件演化包括软件维护和软件再工程。2、 软件维护可分为纠错性维护、适应性维护、改善性维护和预防性维护。3、 软件可维护性:指理解、改正、调整和改进软件的难易程度。主要影响因素:可理解性的、可测试性、可修改性和可移植性的。4、 提高维护性的方法:1.确定质量管理目标和优先级; 2.使用提高软件质量技术与工具; 3.选择可维护性高的程序设计语言; 4.完善程序文档; 5.进行质量保证审查。第十四章1、 项目管理基本内容:1.项目定义; 2.项目计划; 3.项目执行; 4.项目控制; 5.项目收尾。2、 软件度量:指计算机软件范围内的测量,主要是为产品开发的软件过程和产品本身定义相关的测量方法和标度,对软件开发过程度量的目的是为了对过程进行改进,对产品进行度量的目的是为了提高产品的质量。度量的作用是为了有效地采用定量的方式来进行管理。3、 软件度量有两种分类方法:1.将软件度量分为面向规模的度量、面向功能的度量和面向人的度量; 2.将软件度量分为生产率度量、质量度量和技术度量。4、 McCall模型 P3465、 程序复杂性度量是软件的重要组成部分,是指理解和处理程序的难易程度。6、 软件可靠性是指在规定的条件下,和规定的时间内,软件按规格说明要求不引起系统失效的概率。7、 程序设计小组的组织形式:1.住程序员制小组; 2.民主制小组; 3

温馨提示

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

评论

0/150

提交评论