架构设计
软件架构风格
软件架构设计的一个核心问题是能否达到架构级的软件复用
软件架构评估
在分析具体架构评估方法之前,我们先来了解两个概念,分别是敏感点 ( Sensitivity Point )和权衡点(Tmde-off Point )。敏感点是一个或多个构件(或之间的关系)的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点
从目前己有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于
- 基于调查问卷(或检查表)的方式
- 基于场景的方式
- 基于度量的方式。
这三种评估方式中,基于场景 的评估方式最为常用。基于场景的方式主要包括:
- 架构权衡分析法(Architecture Trade-off Analysis Method,ATAM)
- 软件架构分析法(Software Architecture Analysis Method, SAAM )
- 成本效益分析法(Cost BenefitAnalysis Method,CBAM )
需求的层次
需求是多层次的,包括
- 业务需求
- 用户需求
- 系统需求
质量功能部署 (Quality Function Deployment, QFD) 是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标,QFD 将软件需求分为三类,分别是
- 常规需求
- 期望需求
- 意外需求。
一般使用实体关系图(E-R 图)表示数据模型
用数据流图(DataFlow Diagram, DFD) 表示功能模型
用状态转换图(State Transform Diagram,STD) 表 示 行为模型
需求规格说明书
在国家标准 GB/T 8567《计算机软件文档编制规范》中,提供了一个 SRS 的文档模板和编写指南,其中规定 SRS 应该包括
- 范围
- 引用文件
- 需求
- 合格性规定
- 需求可追踪性
- 尚未解决的问题
- 注解和附录。
UML
UML 的结构包括
- 构造块
- 规则
- 公共机制
UML 中的事物也称为建模元素,包括
- 结构事物(Structural Things )
- 行为事物 (BehavioralThings, 也称动作事物)
- 分组事物(Grouping Things)
- 注释事物 (Annotational Things, 也称注解事物)
UML 用关系把事物结合在一起,主要有四种关系,分别为:
-
依 赖(Dependency ) :依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
-
关 联(Association ) : 关联描述一组对象之间连接的结构关系。
-
泛 化(Generalization) :泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。
-
实 现 (Realization ) :实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
类之间的主要关系有
- 关联
- 依赖
- 泛化
- 聚合
- 组合
- 实现
软件设计
常用的 00D 原则包括:
- 单职原则:设计功能单一的类。本原则与结构化方法的高内聚原则是一致的。
- 开闭原则:对扩展开放, 对修改封闭。
- 李氏替换原则:子类可以替换父类。
- 依赖倒置原则:要依赖于抽象,而不是具体实现;要针对接口编程, 不要针对实现编程。
- 接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
- 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。
- 迪米特原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。本原则与结构化方法的低耦合原则是一致的。
设计模式
根据目的和用途不同,设计模式可分为
- 创建型(Creational ) 模式
- 结构型 (Structural ) 模式
- 行为型(Behavioral) 模式
软件测试
软件测试方法可分为静态测试和动态测试。
白盒测试方法
主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件 / 判定覆盖、条件组合覆盖、修正的条件 / 判定覆盖和路径覆盖等
墨盒测试
黑盒测试根据 SRS 所规定的功能来设计测试用例,一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等
数据标准化
- 元数据标准化
- 数据元标准化
- 数据模式标准化
- 数据分类与编码标准化
- 数据标准化管理
安全工程
安全服务
安全服务包括对等实体认证服务、数据保密服务、数据完整性服务、数据源点认证服务、禁止否认服务和犯罪证据提供服务等。
- 对等实体认证服务。对等实体认证服务用于两个开放系统同等层中的实体建立链接或数据传输时, 对对方实体的合法性、真实性进行确认,以防假冒。
- 数据保密服务。数据保密服务包括多种保密服务,为了防止网络中各系统之间的数据被截获或被非法存取而泄密,提供密码加密保护。数据保密服务可提供链接方式和无链接方式两种数据保密,同时也可对用户可选字段的数据进行保护。
- 数据完整性服务。数据完整性服务用以防止非法实体对交换数据的修改、插入、删除以及在数据交换过程中的数据丢失。数据完整性服务可分为:带恢复功能的链接方式数据完整性;不带恢复功能的链接方式数据完整性;选择字段链接方式数据完整性;选择字段无链接方式数据完整性;无链接方式数据完整性。
- 数据源点认证服务。数据源点认证服务用于确保数据发自真正的源点,防止假冒。
- 禁止否认服务。禁止否认服务用以防止发送方在发送数据后否认自己发送过此数据,接收方在收到数据后否认自己收到过此数据或伪造接收数据,由两种服务组成:不得否认发送和不得否认接收。
- 犯罪证据提供服务。指为违反国内外法律法规的行为或活动,提供各类数字证据、信息线索等。