软件架构研究的主要内容涉及软件架构描述
软件架构风格
软件架构评估
和软件架构的形式化方法等。解决好软件的复用、质量和维护问题
是研究软件
架构的根本目的。
软件架构设计的
个核心问题是能否达到架构级的软件复用。
软件架构分类
1)
数据流风格。数据流风格包括批处理序列和管道
过滤器两种风格。
调用
返回风格。调用
返回风格包括主程序/子程序
数据抽象和面向对象
以及层次结构。
独立构件风格。独立构件风格包括进程通信和事件驱动的系统。
虚拟机风格。虚拟机风格包括解释器和基于规则的系统。
仓库风格。仓库风格包括数据库系统
黑板系统和超文本系统。
软件架构评估
软件架构设计是软件开发过程中的关键一步。
在架构评估过程中
评估人员所关注的是系统的质量属性。
敏感点(
en
iti
it
Point
和权衡点(
ade
off
Point)
1)
敏感点是一个或多个构件(或之间的关系
的特性
权衡点是影响多个质量属性的特性
是多个质量属性的敏感点。
改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提
高安全性
但可能要耗费更多的处
理时
影响系统性能。如果某个机密消息的
处理有严格的时间延迟要求
则加密级别可能就会成为一个权衡点。
软件架构评估技术来看
可以归纳为三类主要的评估方式 分别是基于调查
问卷(或检查表)的方式
基于场景的方式和基于度量的方式。这三种评估方式
基于场景的评估方式最为常用。
基于场景的方式主要包括
架构权衡分析法(
ATA
软件架构分析法(
SAAM
成本效益分析法(
CBAM
在架构评估中
般采用刺激
环境和响应三方面来对场景进行描述。刺激
是场景中解释或描述项目干系人怎样引发与系统的交互部分
环境描述的是刺激
发生时的情况
响应是指系统是如何通过架构对刺激做出反应的。
需求分析
、软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
、根据
IEEE
的软件工程标准词汇表
软件需
求是
指用户解决问题或达到目标所
需的条件或能力
是系统或系统部件要满足合同、标准、规范或其他正式规定文
档所需具有的条件或能力
以及反映这些条件或能力的文档说明。
需求的层次
软件需求就是系统必须完成的事以及必须其备的品质。需求是多层次的
括业务需求
用户需求和系统需求
这三个不同层次从目标到具体
从整体到局
从概念到细节。
、质量功能部署(
QFD
)是一种将用户要求转化成软件需求的技术
其目的是最
大限度地提升软件工程过程中用户的满意度。为了达到这个目标
将软件需
求分为三类
分别是常规需求
、期
望需求和意外需求。