ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 学习架构设计

学习架构设计

原创 Linux操作系统 作者:beifengwang 时间:2013-10-30 10:41:02 0 删除 编辑
功能性架构解决业务流程和功能问题,而技术架构解决非功能性需求等问题。两种架构都包括了动态和静态两个方面的内容,对于功能性架构中动态局部为业务流程驱动全局用例,用例驱动的用例实现等;对于技术架构中动态局部为架构运行机制,而静态局部为框架,分层等方面的内容。架构设计包括了功能性架构和技术架构设计两个部分的内容。

功能性架构包括了全局用例设计,这个自身是用例分析和设计的一个延续,而全局用例分析建议的思路仍然是业务流程,业务用例建模到系统用例建模的过程。全局用例分析清楚后可以开始考虑子系统和模块的划分,形成系统的功能架构图,当然在划分过程中一定要考虑到通过CRUD矩阵等分析方法来分析模块如何划分合理,如何保证模块自身高内聚和松耦合。全局用例分析完成后涉及到数据模型的设计,数据建模仍然从业务驱动,从最初的业务对象和单据入手,最终的数据概念模型和逻辑模型等。架构设计中全局数据模型不一定覆盖所有的数据对象和数据表;但是核心的主数据,核心业务单据数据一定要覆盖到模型到层次到逻辑模型即可。如果用面向对象的分析方法,这里需要出的UML建模中的概念模型和逻辑模型,体现核心对象和类,核心对象和类之间的关系。将全局用例分析和数据模型建立融合在一起,可以看到这两者结合起来会形成一个系统完成的领域模型层。一直认为领域模型思路应该引入架构设计,只有领域模型才是真正关注功能性架构,而不用马上关注到具体的技术分层和技术实现。前面两者做完后可以看到一个大系统被分解为了多个子系统或模块,那么接着要考虑的就是模块间的集成架构,分析完集成架构模块间的接口基本就出来了接口设计应该是架构设计的另外一个核心内容。要明白架构设计一个重要作用就是架构设计完成后各个模块可以并行开始概要设计,详细设计和开发工作。只要大家都遵循架构设计约定的接口规则即可以了集成架构考虑完另外一个核心内容就是公共可复用组件的抽取和识别,包括了功能组件和技术组件,需要识别进去哪些是可复用的如何进行复用。对于复用层次自身又包括了数据层复用,逻辑层组件复用,界面层UI组件的复用等。复用是架构价值体现的另外一个关键点。这些都做完后,接着一个步骤应该在架构设计阶段做的就是对架构输出胜利进行模拟验证,前面完成了分解动作,必需通过模拟验证来看看后续分解内容能否很好的集成和组装。很多时候我做架构设计的时候往往不做这块内容,导致架构设计一些内容变成空中楼阁,无法落地。

再回来看技术架构设计,首先谈下静态部分的内容。这里面就包括了软件开发的分层架构,开发框架等内容,包括开发规范约定,技术平台和语言的选择,使用的规约等都需要考虑。很多时候我看到谈架构的时候说到三层或多层架构,仅仅是完整架构设计里面很小的一部分内容。除了分层架构外,接着考虑的就是各种非功能性需要,架构上需要如何设计。这里面包括了事务,缓存,异常,日志,平安,性能,可用性,容错能力等。这些逐个点都要在架构设计中说清楚如何考虑,由于这些自身就属于一个应用系统中技术平台要考虑的内容,因此应该设计为较为公用的技术组件供上层的业务组件使用。要明白很多时候为何谈到AOP或可插拔架构,只有这样去考虑问题,才会考虑真正的功能性架构设计和功能实现和非功能性技术架构这块充分解耦,实现进一步的灵活装配。再回到架构设计视图层面,还需要考虑的就是整个应用系统的布置架构,布置架构自身也包括了逻辑视图和物理视图,应用最终开发进去了如何进行安排,这涉及到IT基础架构方面的细化,也需要考虑清楚。文章来源

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29212814/viewspace-775326/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 3dsmax与maya分析
请登录后发表评论 登录
全部评论

注册时间:2013-10-15

  • 博文量
    118
  • 访问量
    264709