摘要:软考系统架构设计师属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。系统架构设计师考试作为一项高级资格考试,有一定的考试难度,那么该如何备考才能顺利通过考试呢?面对系统架构设计师教程无从下手的同学,希赛软考学院为您准备了第五章学习笔记,希望对您的学习有所帮助。
软考系统架构设计师属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。系统架构设计师考试作为一项高级资格考试,有一定的考试难度,那么该如何备考才能顺利通过考试呢?面对系统架构设计师教程无从下手的同学,希赛软考网为您准备了第五章学习笔记,希望对您的学习有所帮助。
软件架构设计
5.1.1软件架构设计与生命周期
1、需求分析阶段
需求和SA设计面临的是不同的对象:一个是问题空间;另一个是解空间。保持二者的可跟踪性和转换。
2、设计阶段
1.传统的设计概念只包括构件,随着研究的深入,构件间的互联机制逐渐独立出来,成为与构件同等级别的实体,称为连接子。
2.体系结构描述语言(Architecture Description Language ADL)对连接子的重视成为区分ADL和其他建模语言的重要特征之一。
3.不同的视角得到多个视图,组织起来以描述整体的SA模型;不同侧面的视图反映所关注的系统的特定方面,体现了关注点分离的思想。
3、实现阶段
团队的结构应该和体系结构模型有一定的对应关系,提高软件开发效率和质量。
分析和记录不同版本构件和连接子之间的演化。
填补高层SA模型和底层实现之间的鸿沟,典型的方法如下:
1.引入实现阶段的概念。
2.SA模型逐步精化。
3.封装底层称为较大粒度构件。
4、构件组装阶段
可复用构件组装可以在较高层次上实现系统,研究内容包括:
1.如何互联。
2.如何检测并消除体系结构失配问题。
中间件跨平台交互。
产品化的中间件更好地保证最终系统的质量,中间件导向的体系结构风格。
失配是指复用过程中,待复用构件对最终系统的体系结构和环境的架设(Assumption)与实际状况下不同而导致的冲突。
5、部署阶段
软件构件的互联性、硬件的拓扑结构、硬件资源占用。
6、后开发阶段
实现中的软件往往具有动态性,一类是软件内部执行所导致的体系结构改变,另一类变化是软件系统外部的请求对软件进行的重配置。
升级或进行其他修改时不能停机。
SA重建是指从已实现的系统中获取体系结构的过程。
5.2基于架构的软件开发方法
5.2.1体系结构的设计方法概述
基于体系结构的软件设计(Architecture-Based Software Design ABSD)方法。
体系结构驱动,指构成体系结构的商业、质量、功能需求的组合驱动。
设计活动的开始并不意味着需求抽取和分析活动就可以终止,而应该并行,快速开始设计至关重要。
ABSD方法有三个基础,功能分解、选择体系结构风格、软件模板的使用。
5.2.2概念与术语
1、设计元素
ABSD方法是一个自顶向下,递归细化的方法。
2、视角与视图
重要的是从不同的视角(perspective)来检查,考虑体系结构的不同属性。
3、用例和质量场景
在使用用例捕获功能需求时,通过定义特定场景来捕获质量需求,称为质量场景。捕获变更、性能、可靠性、交互性,质量场景必须包括预期的和非预期的。
5.2.3体系结构需求
可以从需求库中取出,加以利用和修改。
获取需求,体系结构需求一般来自三个方面:系统的质量目标、系统的商业目标、开发人员的商业目标。
5.2.4体系结构文档化
体系结构规格说明和测试体系结构需求的质量设计说明书。
需求模型构件的精确形式化描述,作为用户和开发者之间的一个协约。
从使用者的角度进行编写,必须保证开发者手上的文档是最新的。
5.2.5体系结构复审
根据架构设计,搭建一个可运行的最小化系统用于评估和测试体系架构是否满足需要。是否存在可识别的技术和协作风险。
复审的目的是标识潜在风险,及早发现缺陷和错误。
5.2.6体系结构实现
分割成规定的构件,按规定方式互相交互。
5.3软件架构风格
体系结构设计核心目标是重复的体系结构模式,体系结构级的软件重用。
5.3.1软件架构风格概述
一个体系结构定义一个词汇表和一组约束。词汇表中包含构件和连接件类型约束指出如何组合起来。
体系结构风格反映了共有的结构和语义特性,并指导如何组织成一个完整的系统。
5.3.2经典软件体系结构风格
每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。这里的构件称为过滤器。
构件是对象。
分层系统,每一层为上层提供服务,并作为下层的客户。除一些精心挑选的输出函数外,内部的层接口只对相邻层可见。由于一层最多只影响两层,为软件重用提供了强大的支持。
仓库风格中,两种不同的构件:中央数据结构、独立构件。
若构件控制共享数据,则仓库是一传统型数据库;若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。
C2体系结构通过连接件绑定在一起按照一组规则运作的并行构件网络。构件与构件之间的连接是不允许的。
5.3.3客户/服务器风格
宿主机应用程序既负责与用户的交互(前端),又负责对数据的管理(后端)。
C/S体系结构定义了工作站如何与服务器相连,实现部分数据和应用分布到多个处理机上。
C/S三个主要组成部分:服务器、客户机、网络。
易于对系统进行扩充和缩小。
功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,数据库服务器的开发集中于数据的管理,将大应用处理任务分布到许多通过网络连接的低成本计算机上,模型思想简单。
开发成本高,尤其是软件不断升级,客户端变得越来越臃肿。
信息内容和形式单一,用户获得的只是单纯的字符和数字。
软件移植困难,维护升级困难。
5.3.4三层C/S结构风格。
三层C/S体系结构中,可以将整个应用逻辑驻留在应用服务器上,只有表示层存在于客户机上,称为“瘦客户机”。表示层、功能层、数据层。
表示层一般要使用图形用户界面GUI。
功能层之间的数据交互要尽可能简洁,一次性传输。
数据层不同层构件相互独立,层间接口简洁,适合复杂事务处理。
5.3.5浏览器/服务器风格
浏览器/服务器风格就是三层应用结构的一种实现方式。浏览器/web服务器/数据库服务器。
系统安装、修改、维护全在服务器端解决。仅仅需要一个浏览器就可运行全部模块。
B/S体系结构还提供了异种机、异种网、异种应用服务的连机、联网等。
扩展能力差。响应速度慢。交互性不强,不利于在线事务处理OLTP。
5.4.1特定领域软件体系结构
主要目的在一组相关的应用中共享体系结构。
DSSA的常用特征:
1、一个严格定义的问题域和解域。
2、具有普遍性。
3、对整个领域的构件组织模型其当抽象。
4、具备该领域固定的、典型的可重用元素。
5.4.2 DSSA的基本活动
1、领域分析
主要目标是获得领域模型,描述领域中系统之间的共同需求,定义领域的边界。从而明确分析的对象,识别信息源,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。
2、领域设计
目标是获得DSSA,DSSA描述在领域模型中表示的需求的解决方案。不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次设计。
3、领域实现
主要目标是依据领域模型和DSSA开发和组织可重用信息。领域模型和DSSA定义了这些可重用信息的重用时机。
以上过程是反复的、逐渐求精的过程。
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括在线辅导、面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。
软考备考资料免费领取
去领取