软件工程知识.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程知识 1.软件工程定义 ??软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。IEEE 对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。 ??软件工程由方法、工具和过程三个部分组成。 ??人们开始用工程的方法进行软件的开发、管理和维护,即“软件工程”。 2.软件需求分析 ??软件需求就是系统必须完成的事以及必须具备的品质。 ??需求分析的过程顺序:需求获取、需求分析、需求定义(编写需求规格说明书)、需求验证。 ??需求的层次: ??质量功能部署(Quality Function Deployment, QFD):是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标,QFD 将软件需求分为三类,分别是常规需求、期望需求和意外需求。 需求获取:需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。常用的工具方法有访谈、问卷调查、采样、情节串联板、联合需求计划。这个地方可以与范围管理中的需求收集部分对照理解。 ??需求分析将提炼、分析和审查已经获取到的需求,以确保所有的项目干系人都明白其含义并找出其中的错误、遗漏或其他不足的地方。 ??需求分析的方法:SA(系统分析)、OOA(面向对象分析) ??定义:针对待解决问题的特征的描述,所定义的需求必须可以被验证。 ??作用:检测和解决需求之间的冲突。发现系统的边界。详细描述系统的需求。 ??使用SA 方法进行需求分析,其建立的模型的核心是数据字典,围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型)。在实际工作中,一般使用实体联系图(E-R 图)表示数据模型,用数据流图(DataFlow Diagram,DFD)表示功能模型,用状态转换图(State Transform Diagram,STD)表示行为模型。 软件架构风格 ??(1)数据流风格:数据流风格包括批处理序列和管道/过滤器两种风格。 ??(2)调用/返回风格:调用/返回风格包括主程序/子程序、数据抽象和面向对象,以及层次结构。 ??(3)独立构件风格:独立构件风格包括进程通信和事件驱动的系统。 ??(4)虚拟机风格:虚拟机风格包括解释器和基于规则的系统。 ??(5)仓库风格:仓库风格包括数据库系统、黑板系统和超文本系统。 软件设计 ??设计模式包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素。 ??根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系;对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。 ??根据目的和用途不同,设计模式可分为创建型(Creational)模式、结构型(Structural)模式和行为型(Behavioral)模式三种。 软件测试 ??软件测试的目的是验证软件是否满足软件开发合同或项目开发计划、系统/子系统设计文档、SRS、软件设计说明和软件产品说明等规定的软件质量要求。通过测试,发现软件缺陷,为软件产品的质量测量和评价提供依据。 ??软件测试的方法分为静态测试与动态测试。静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。 ??对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查(Desk Checking)、代码走查和代码审查。 ??动态测试是指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。 ??白盒测试也称为结构测试,主要用于软件单元测试中。白盒测试方法中,最常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考察对程序逻辑的覆盖程度。主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。 ??黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试中。黑盒测试根据SRS 所规定的功能来设计测试用例,一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等。 软件集成技术 ??企业应用集成(Enterprise Application Integration,EAI),从单个企业的角度来说,EAI 可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。当然,也可以在多个企业之间进行应用集成。 ??1)表示集成:也称为界面集成,这是比较原始和最浅层次的集成,但又是常用的集成。这种方法将用户

文档评论(0)

137****1470 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档