软件架构设计.ppt

软件架构设计.ppt

ID:56411522

大小:3.64 MB

页数:58页

时间:2020-06-17

软件架构设计.ppt_第1页
软件架构设计.ppt_第2页
软件架构设计.ppt_第3页
软件架构设计.ppt_第4页
软件架构设计.ppt_第5页
资源描述:

《软件架构设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第十讲软件架构设计目标管窥架构设计现状架构设计方法如何确定架构驱动因素非功能需求设计方法论通用过程太笼统架构分析架构分析可以被视为需求分析的规格化,其关注强烈影响”架构“的需求。例如,为系统识别高度安全方面的需求。架构分析的本质是要识别影响架构的因素,理解这些因素的可变性和优先级,并且解决这些问题为什么架构分析如此重要?因为它有助于:降低在系统设计中丢失某些重要因素的风险。避免在低优先级的问题上花费过多的精力有助于产品与业务目标的一致架构分析架构分析(architectureanalysis)是在功

2、能性需求(例如处理销售等)的语境中,识别和处理系统非功能性需求(例如安全需求等)的活动。其包括识别变化点和最具有可能性的进化点。例:可靠性和容错需求如何影响设计?采购子构建的许可费用如何影响收益率?可适应性和可配置性需求如何影响设计?商标名称的选择如何影响架构?架构分析识别和分析对架构有影响的非功能性需求。虽然与功能性需求也有关系(特别是可变性方面),但是应该对非功能性需求给予非常彻底的关注。通常,这些都被称为架构因素(或者称为架构驱动者)对于这些在架构方面具有重要影响的因素,需求分析可供选择的办法

3、并创建解决这些影响的解决方案。这就是架构决策。架构分析软件系统的架构将系统描述为计算组件及组件之间的交互”组件“可以指子系统、框架(Framework)、模块、类等不同程度的软件单元,它们可以担负不同的计算职责。软件架构的要素:组件及组件之间的交互组件交互MVC架构作为”组件+交互“的例子ViewControllerModel创建读取通知调用服务关注点分离之道好的架构设计必须把变化点错落有致地封装到软件系统的不同部分,为此,必须进行关注点分离好的架构必须使每个关注点相互分离,也就是说系统中的一部分发

4、生了改变,不会影响其他部分。即使需要改变,也能够清晰地识别出哪些部分需要改变。如果需要扩展架构,影响将会最小化。已经可以工作的每个部分都将继续工作。P19图2-4P20图2-5P20图2-6对于面向对象的软件开发而言,经常有下列软件单元:粒度最小的单元通常是“类”几个类紧密协作形成“模块”完成相对独立的功能的多个模块构成了“子系统”多个子系统相互配合才能满足一个完整应用的需求,从而构成了软件“系统”一个大型企业往往使用多套系统,多套系统通过互操作形成“集成系统”类、模块、子系统、系统、集成系统,都是

5、软件单元的具体形态,只不过粒度不同罢了P21图2-7P22图2-8框架是软件,架构不是软件框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。P24图2-9框架和架构的关系P25图2-10理解架构真实的软件其实是“由组件递归组合而成”的:组件的粒度可以很小,也可以很大;任何粒度的组件都可以组合成粒度更大的整体。即所谓的粒度

6、多样性问题组件粒度的界定,必须在具体的实践上下文中才有意义;你的大粒度组件,对我而言可能是原子组件。即所谓的粒度相对性问题P27图2-11图2-12作为复合整体的软件单元才有架构,架构规定了它如何被设计的重要决策回到实践P28图2-13框架VS.类库P29图2-14框架的分类P31图2-16框架的开发过程框架的整个开发过程,包括四个主要的阶段,即分析阶段、设计阶段、实现阶段和稳定阶段。P32图2-17架构设计的5视图法好的方法如路标,对实践者有启发和指引作用。软件架构师的工作:要满足性能、持续可用性

7、等方面的需求,架构师必须深入研究软件系统运行期间的情况、制定相应的设计决策,这些需求被称为软件的“运行期质量属性”;而要满足可扩展性、可重用性等方面的需求,则要求架构师深入研究软件系统开发期间的情况,制定相应的设计决策,这些需求被称为软件的“开发期质量属性”;约束是一类特殊的需求,带有一定强制性,架构师制定的架构决策必须满足这些限制;为了满足功能需求,架构师必须规划组成软件系统的所有模块,为他们分配不同职责,使这些模块可以通过协作完成功能需求架构设计的5视图法软件架构师必须明确区分功能需求、约束、运

8、行期质量属性和开发期质量属性等不同种类的需求,基于多视图的架构设计方法在一定程度上将各类需求分别对待,通过不同的架构设计视图分别满足它们,从而确保重要的需求一一被满足。架构设计5视图,包含了逻辑架构、开发架构、运行架构、物理架构、数据架构等5个架构设计视图P64图5-1架构设计的5视图法逻辑架构:逻辑架构关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”;它们可能是逻辑层、功能模块和类等开发架构:开发架构关注程序包,不仅包括要编写的源程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。