文档详情

软件工程知识.pdf

发布:2025-05-25约3.05千字共5页下载文档
文本预览下载声明

软件工程知识

1.软件工程定义

软件工程是指应用计算机科学、数学及管理科学等原理,以工程化

的原则和方法解决软件问题的工程,其目的是提高软件生产率、提高

软件质量、降低软件成本。IEEE对软件工程的定义是:将系统的、规

范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上

述方法的研究。

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

人们开始用工程的方法进行软件的开发、管理和维护,即〃软件工

程〃。

2.软件需求分析

软件需求就是系统必须完成的事以及必须具备的品质。

需求分析的过程顺序:需求获取、需求分析、需求定义(编写需求

规格说明书)、需求验证。

需求的层次:

质量功能部署(QualityFunctionDeployment,QFD):是一种

将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程

过程中用户的满意度。为了达到这个目标,QFD将软件需求分为三类,

分别是常规需求、期里需求和意外需求。

需求获取:需求获取是一个确定和理解不同的项目干系人的需求和约束

的过程。常用的工具方法有访谈、问卷调查、采样、情节串联板、联合

需求计划。这个地方可以与范围管理中的需求收集部分对照理解。

需求分析将提炼、分析和审查已经获取到的需求,以确保所有的项

目干系人都明白其含义并找出其中的错误、遗漏或其他不足的地方。

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

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

证。

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

统的需求。

使用SA方法进行需求分析,其建立的模型的核心是数据字典,围

绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模

型(也称为状态模型)。在实际工作中,一般使用实体联系图(E-R图)

表示数据模型,用数据流图(DataFlowDiagram,DFD)表示功能模型,

用状态转换图(StateTransformDiagram,STD)表示行为模型。

软件架构风格

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

风格。

(2)调用/返回风格:调用/返回风格包括主程序/子程序、数据

抽象和面向对象,以及层次结构。

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

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

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

软件设计

设计模式包含模式名称、问题、目的、解决方案、效果、实例代码

和相关设计模式等基本要素。

根据处理范围不同,设计模式可分为类模式和对象模式。类模式处

理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定

下来,属于静态关系;对象模式处理对象之间的关系,这些关系在运行

时刻变化,更具动态性。

根据目的和用途不同,设计模式可分为创建型(Creational)模式、

结构型(Structural)模式和行为型(Behavioral)模式三种。

软件测试

软件测试的目的是验证软件是否满足软件开发合同或项目开发计

划、系统/子系统设计文档、SRS、软件设计说明和软件产品说明等规

定的软件质量要求。通过测试,发现软件缺陷,为软件产品的质量测量

和评价提供依据。

软件测试的方法分为静态测试与动态测试。静态测试是指被测试程

序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程

序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。

对文档的静态测试主要以检查单的形式进行,而对代码的静态测试

一般采用桌前检查(DeskChecking)、代码走查和代码审查。

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

盒测试和黑盒测试方法。

白盒测试也称为结构测试,主要用于软件单元测试中。白盒测试方

法中,最常用的技术是逻辑

显示全部
相似文档