软件工程要点(包括部分内容).doc_第1页
软件工程要点(包括部分内容).doc_第2页
软件工程要点(包括部分内容).doc_第3页
软件工程要点(包括部分内容).doc_第4页
软件工程要点(包括部分内容).doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1,软件工程基本概念软件工程是软件工程师用工具和技术(方法),按照某一过程和范例来构造软件,从而增强软件产品的质量,更有效地解决问题.2,软件危机的原因a , 软件产品是复杂的人造系统,具有复杂性、不可预见性和易变性,难以处理。b ,个人和小组非常有效的开发小型软件的编程技术和过程,在开发大型、复杂系统时难以发挥同样的作用。c ,软件是知识产品,技术更新快,行业竞争激烈,难以在可以接受的成本和工期内提供高质量的产品。3,软件工程包括的四个元素(特点)方法(methods) 语言(languages) 工具(tools) 过程(procedures)4,软件的生命周期(由哪几部分组成)计划 需求分析 设计 程序编写 测试 运行维护等六个步骤5,瀑布模型(有哪几种模型)6,面向对象生存期模型7,面向对象性统一过程8,可行性研究目的、任务(技术、经济、操作)目的:确定问题是否值得去解任务进一步分析和澄清问题的定义导出系统的逻辑模型探索若干种解决方案,并分析各种方案的技术可行性经济可行性操作可行性对以后的行动方针提出建议9,数据流图(*) 数据字典的定义对数据流图中包含的所有元素的定义的集合10,需求分析的任务,综合要求分析系统的数据要求导出系统的逻辑模型:数据流图,数据字典,处理算法。修正系统开发计划开发原型系统功能 性能 可靠性和可用性 出错处理 接口需求 约束 逆向需求11,分析过程的基本方法结构化分析方法(SA)面向对象的分析方法 (OOA)12,什么是概念模型或信息模型按用户的观点来对数据和信息建模13,概念模型的基本概念 E-R图概念模型的基本概念实体(Entity):客观存在并可相互区分的事务属性(Attribute)码(Key)域(Domain)实体型(Entity Type)实体集(Entity Set)联系14,状态转换图15,IPO图16,知道有哪几种形式化说明技术形式化方法:用基于数学的技术描述系统需求规格说明和设计结果。非形式化方法:用自然语言描述系统需求规格说明和设计结果。半形式化方法:用数据流图或E-R图描述需求规格说明和设计结果。17,总体设计的任务划分出组成系统的物理元素;设计软件的结构。18,总体设计的过程设想供选择的方案:设计各种可能的分组。选取合理的方案。对每个方案准备以下资料: 系统流程图 物理元素清单 成本/效益分析 进度计划推荐最佳方案,并制定详细的实现计划。19,模块化(*)(概念)模块化:将程序分成若干个模块。模块化的目的:将复杂问题简单化。模块化程度应适当。20,抽象的定义抽象是抽取事务的本质特性而暂不考虑细节21,模块独立模块的独立性:每个模块的功能相对独立,与其他模块的关系简单。模块独立的优势易于分工开发;易于测试和维护。通过模块化、抽象、信息隐蔽和局部化,即可达到模块独立。22,耦合 内聚(*)低内聚偶然内聚:一个模块完成的一组任务之间有松散的关系。 逻辑内聚:完成的任务在逻辑上属于相同或相似的一类。 时间内聚:完成的任务必须在同一段时间内执行。 中内聚过程内聚:模块内的处理元素相关且须以特定次序执行。 通信内聚:模块内的所有元素都使用同一个输入数据和(或)产生同一个输出数据。 高内聚顺序内聚:模块内的处理元素和同一个功能密切相关,且须顺序执行。 功能内聚:一个模块内的处理元素属于一个整体,完成一个单一的功能。 23,信息流的分类24,数字仪表板(分析)(*)25,详细设计任务和目标(程序流程图)任务设计程序流程图,从而确定具体实现系统的方法。目标从逻辑上正确实现每个模块的功能;设计的处理过程应尽可能简明易懂。26,结构程序设计的定义,优点定义 采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。结构程序设计的优点 可以提高程序的开发效率和成功率。 程序层次结构清晰,易于阅读、理解、测试和维护。 容易保证程序的正确性。27,N-S图28,环形复杂度29,实现的定义(英文写的不知道.)30,测试的定义,目标目标: 测试是指为了发现程序中的错误而执行程序的过程,并最终修正错误(调试)。 测试不可能发现软件中所有的错误。31,测试的方法(黑、白)黑盒测试(功能测试):检验程序的每个功能是否正常。白盒测试(结构测试):检验程序的逻辑结构和处理过程是否正常。32,步骤模块测试子系统测试系统测试验收测试平行运行(试运行)33,单元测试的主要内容模块接口局部数据结构重要的执行通路出错处理通路影响上述各方面特性的边界条件。集成测试集成测试的目标:发现模块在集成过程中与接口有关的问题。集成测试的方法。非渐增式测试方法:先单元测试,后集成优点:能充分利用人力,加快工程进度。渐增式测试方法:每集成一个模块,就进行一次测试。优点:可以及时发现模块之间的接口问题。 缺点:需要较多的机器时间。渐增式测试的两种方法自顶向下结合:深度优先:从主控制通路开始,沿通路进行组装和测试。优点:可以较早实现软件的一个功能。宽度优先:从顶层开始,根据软件结构一层一层进行组装测试。 优点:可以较早发现上层结构中的问题。自底向上结合:主要优点能较早发现底层模块之间的接口错误;可以充分利用人力。34,测试方案应包括的内容、基本原则和目标测试方案中应包括的内容预定要测试的功能应该输入的测试数据 预期的测试结果基本原则:选用尽可能少的测试数据,做到尽可能完备的测试。目标:确定一组最可能发现某个错误或某类错误的测试数据。35,几种覆盖(条件覆盖)逻辑覆盖程序的通路测试语句覆盖(或点覆盖)判定覆盖(或边覆盖)条件覆盖判定/条件覆盖路径覆盖条件组合覆盖36,等价划分定义,方法,步骤等价划分法定义将所有可能的输入数据(有效的或无效的)化分成若干个等价类。划分等价类的方法如上下限范围内为一组,下限以外为一组,上限以外为一组,上边界为一组,下边界为一组。等等。 根据等价类设计测试方案的步骤设计针对有效等价类的测试方案;设计针对无效等价类的测试方案。37,调试的任务和步骤 策略任务:诊断和改正程序中的错误。步骤 确定错误的准确位置。 设法改正错误。调试技术:追踪程序的运行状态,观测变量的变化。调试策略 试探法 、回溯法、 对分查找法 归纳法:从错误征兆出发,找出程序的故障点。 收集有关的数据 组织数据 导出假设 证明假设 演绎法:列出所有可能的假设,然后逐步排除假设。 设想可能的原因 用已有的数据排除不正确的假设 精化余下的假设 证明余下的假设软件可靠性定义和可用性定义软件可靠性定义:程序在给定的时间间隔内成功运行的概率。软件可用性定义:程序在某一给定时间成功运行的概率。38,维护的定义、分类(*) 、问题软件维护是为了改正错误或满足新的需要而修改软件的过程。软件维护的分类改正性维护 适应性维护 完善性维护 预防性维护维护的问题阅读程序困难。文档不足。模块的独立性差。许多技术人员不愿意做维护工作。39,可维护性的定义、决定因素软件可维护性的定义:维护人员理解、改正、改动和改进这个软件的难易程度决定软件可维护性的因素:可理解性、可测试性、可修改性40,面向对象方法的定义任何事物都是由对象组成;具有相同属性和方法的对象组成了对象类;类与类之间可以通过继承关系形成层次结构; 对象之间只能通过传递消息相互联系。 41,传统方法学存在的问题面向对象方法学特点存在的问题生产率提高的幅度远不能满足需要软件重用程度很低软件仍然很难维护软件往往不能真正满足用户的需要OO方法的主要特点强调围绕对象而不是围绕功能来构造系统。分析方法与思维方法一致,系统易于理解。系统稳定性好。软件可重用性高。系统可维护性好,易于测试、调试和修改42,对象的定义,特点对象的定义对象是对问题域中某个实体的抽象,即是对实体的属性和操作的封装。对象的特点以数据为中心对象是主动的,是进行处理的主体实现了数据封装本质上具有并行性 模块独立性好面向对象建模的三种形式,关系面向对象建模的三种形式对象模型:描述系统的数据结构动态模型:描述系统的控制结构功能模型:描述系统的功能三种模型之间的关系功能模型定义了系统要做什么。动态模型规定了系统在什么条件下做。 对象模型定义了谁来做。43,类图,状态图(*) 用例图 动态模型44,面向对象分析的基本过程需求分析建立模型建立对象模型的主要活动找出类&对象;识别结构(确定关联);识别(划分)主题(功能边界);定义属性;定义服务。45,面向对象设计任务,准则OOD的任务:将需求分析结果转变成符合成本和质量要求的抽象的系统实现方案准则:强内聚(服务内聚、类内聚、“一般特殊”内聚)、可重用、模块化、抽象 (规格说明象、参数化抽象)、信息隐藏、弱交互耦合软件重用软件重用的类别知识重用方法和标准的重用 软件成分的重用:即通常所说的软件重用实现软件重用需要创建可重用的软构件软件成分的重用级别代码重用源代码剪贴源代码包含(Include)继承设计结果重用 分析结果重用软件重用技术软件组合技术软件生成技术 面向对象的软件重用技术用类构件 系统分解(CS,点对点)子系统之间的交互方式客户供应商关系(client-superlier) 平等伙伴关系(peer-to-peer)46,UML定义(有哪几种图,9种)第一类是用例图(Use case diagram),从用户角度描述系统功能,并指出各功能的操作者。第二类是静态图(Static diagram)类图:描述系统中类的静态结构。 对象图: 对象图是类图的实例 。第三类是行为图(Behavior diagram) :描述系统的动态模型和组成对象间的交互关系。 状态图:描述类的对象所有可能的状态以及事件发生时状态的转移条件。 活动图:描述满足用例

温馨提示

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

评论

0/150

提交评论