软件工程知识_第1页
软件工程知识_第2页
软件工程知识_第3页
软件工程知识_第4页
软件工程知识_第5页
全文预览已结束

下载本文档

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

文档简介

软件工程知识1.软件工程定义  软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。IEEE对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

  软件工程由方法、工具和过程三个部分组成。

  人们开始用工程的方法进行软件的开发、管理和维护,即“软件工程”。2.软件需求分析  软件需求就是系统必须完成的事以及必须具备的品质。

  需求分析的过程顺序:需求获取、需求分析、需求定义(编写需求规格说明书)、需求验证。

  需求的层次:

  质量功能部署(QualityFunctionDeployment,QFD):是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标,QFD将软件需求分为三类,分别是常规需求、期望需求和意外需求。

需求获取:需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。常用的工具方法有访谈、问卷调查、采样、情节串联板、联合需求计划。这个地方可以与范围管理中的需求收集部分对照理解。

  需求分析将提炼、分析和审查已经获取到的需求,以确保所有的项目干系人都明白其含义并找出其中的错误、遗漏或其他不足的地方。

  需求分析的方法:SA(系统分析)、OOA(面向对象分析)

  定义:针对待解决问题的特征的描述,所定义的需求必须可以被验证。

  作用:检测和解决需求之间的冲突。发现系统的边界。详细描述系统的需求。

  使用SA方法进行需求分析,其建立的模型的核心是数据字典,围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型)。在实际工作中,一般使用实体联系图(E-R图)表示数据模型,用数据流图(DataFlowDiagram,DFD)表示功能模型,用状态转换图(StateTransformDiagram,STD)表示行为模型。

软件架构风格

  (1)数据流风格:数据流风格包括批处理序列和管道/过滤器两种风格。

  (2)调用/返回风格:调用/返回风格包括主程序/子程序、数据抽象和面向对象,以及层次结构。

  (3)独立构件风格:独立构件风格包括进程通信和事件驱动的系统。

  (4)虚拟机风格:虚拟机风格包括解释器和基于规则的系统。

  (5)仓库风格:仓库风格包括数据库系统、黑板系统和超文本系统。

软件设计

  设计模式包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素。

  根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系;对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。

  根据目的和用途不同,设计模式可分为创建型(Creational)模式、结构型(Structural)模式和行为型(Behavioral)模式三种。

软件测试

  软件测试的目的是验证软件是否满足软件开发合同或项目开发计划、系统/子系统设计文档、SRS、软件设计说明和软件产品说明等规定的软件质量要求。通过测试,发现软件缺陷,为软件产品的质量测量和评价提供依据。

  软件测试的方法分为静态测试与动态测试。静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。

  对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查(DeskChecking)、代码走查和代码审查。

  动态测试是指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。

  白盒测试也称为结构测试,主要用于软件单元测试中。白盒测试方法中,最常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考察对程序逻辑的覆盖程度。主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。

  黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试中。黑盒测试根据SRS所规定的功能来设计测试用例,一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等。

软件集成技术

  企业应用集成(EnterpriseApplicationIntegration,EAI),从单个企业的角度来说,EAI可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。当然,也可以在多个企业之间进行应用集成。

  1)表示集成:也称为界面集成,这是比较原始和最浅层次的集成,但又是常用的集成。这种方法将用户界面作为公共的集成点,把原有零散的系统界面集中在一个新的界面中。

  2)数据集成:为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成。相对而言,数据集成比表示集成要更加灵活。但是,当业务逻辑经常发生变化时,数据集成就会面临困难

  3)控制集成:控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。实现控制集成时,可以借助于远程过程调用或远程方法调用、面向消息的中间件、分布式对象技术和事务处

温馨提示

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

评论

0/150

提交评论