系统架构设计师-基于架构的软件设计

摘要:
ABSD是一种自上而下、递归和详细的软件开发方法。它基于软件系统功能的分解,通过选择架构样式来实现质量和业务需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法并不意味着可以终止需求提取和分析活动,而是应该与设计活动并行。因此,可以识别潜在风险,并尽早发现架构设计中的缺陷和错误。
一、基于架构的软件设计(ABSD)

  基于架构的软件设计(Architecture-Based Software Design,ABSD)方法强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,并不意味着需求抽取和分析活动可以终止,而是应该与设计活动并行。设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。ABSD方法有三个基础:

  第一个基础是功能分解,在功能分解中使用已有的基于模块的内聚和耦合技术。

  第二个基础是通过选择体系结构风格来实现质量和商业需求。

  第三个基础是软件模板的使用。

二、ABSD开发阶段

  采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。

1. 架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。

(1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求

(2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。

(3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。

2. 架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将已标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。

3. 架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。

4. 在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否在架构中得以体现、层次是否清晰、构件划分是否合理等。从而标识潜在的风险,及早发现架构设计中的缺陷和错误。

5. 架构实现主要是对架构进行实现的过程,主要活动包括架构分析与设计、构件实现、构件组装和系统测试。

6. 架构演化阶段主要解决用户在系统开发过程中发生的需求变更问题。主要活动包括架构演化计划、构件变动、更新构件的相互作用、构件的组装与测试和技术评审。

三、软件开发中可能的问题

  在软件开发的过程中可能遇到的问题包括:

1,在架构需求获取过程中如何对捕获的架构需求进行筛选和优先级排序;

2,在架构复审过程中如何解决评审人员的意见不一致问题;

3,在架构实现过程中如何根据项目组实际情况选择开发语言与开发平台;

4,在架构演化过程中如何筛选并处理用户的需求变更。

免责声明:文章转载自《系统架构设计师-基于架构的软件设计》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CI中REST URL含有中文怎么处理(报错:The URI you submitted has disallowed characters)SQL使用技巧-批量删除-批量更新-bcp导出-跨服务器sql下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

openssl安装/更新教程(CentOS)

1.下载openssl 下载链接:https://www.openssl.org/source/snapshot/ 里边是当前仍支持版本的快照;同版本不同日期内容可能不同的,所以下载一般下对应版本的最新快照;安装出错则尝试另一个快照。  解压后的文件夹下有INSTALL和README等文件。 2.安装 以root身份执行: openssl version...

Linux温习(三)Linux文件和文件夹管理

关于Linux文件夹的几个常见概念 路径对文件位置信息的描写叙述机制。是指从树型文件夹中的某个文件夹层次到其内某个文件的一条通路。分为相对路径和绝对路径; 工作文件夹登入系统后。用户始终处于某个文件夹中,此文件夹即为工作文件夹。或称作当前文件夹 根文件夹Linux树型文件夹结构的最顶层文件夹 用户“家”文件夹也称用户主文件夹,一般是位于/hom...

adb monkey测试使用及分析

1. adb的用途     adb monkey是一款稳定性测试工具,通过随机点击屏幕一段时间,app不会出现崩溃,无响应,能够正常维持运行的测试。是由android系统自带应用,可以通过adb shell monkey直接使用。 2. Monkey命令参数介绍 monkey 命令执行 adb shell monkey-p com.hst.che --t...

淘宝网Open API 入门教程

淘宝网Open API 入门教程 淘宝网的Open API开放将近一年了,越来越多的人(包括已工作的和在校的大学生)都在使用淘宝的Open API,有不少ISV应用已上架盈利了。我也使用淘宝的Open Api也大半年了。不过了,由于阿里软件的文档比较的乱,让很多初学者分不清头绪(注:淘宝网的Open API是开放在阿里软件的一个平台上,是什么服务集群平台吧...

关于IAP的破解

    介绍 大概在今年7月份,有俄罗斯黑客破解了苹果的应用内付费(In-App Purchases),设备在不越狱的情况下就可以免费获得来自苹果官网App Store里应用的收费道具。受影响的产品众多,包括著名的Angry Birds,切水果,Mega Jump, Pandora等。这里有一份受影响的著名的游戏应用列表。 正常的越狱行为还是比较复杂的,...

Chrome谷歌浏览器首页被改为Hao123导航怎么办|附各类解决方法【转】

软件小子:昨天偶然间发现自己的chrome浏览器的首页被篡改成hao123导航了,要是自己设置的还无所谓,但是后面还有尾巴。顿时就火了,又是哪款软件这么流氓,太无良了,我非常确定我肯定是没有勾选什么设hao123导航为首页的选项的,而且在谷歌chrome浏览器里的主页还是www.baidu.com的话,但还是遭到了这样的对待,很不爽,最后问题出现在任务栏上...