架构设计

架构设计是软件设计过程的早期阶段,它把需求分析和设计流程连接在一起。

架构设计将一系列的抽象模式用于指导代行软件系统各方面的设计。

架构师【结构设计者】的主要任务是从事高层次的开发构架工作——【对开发技术非常了解,并且需要良好的组织管理能力】。

架构师作用[1-3]:

1.将需求进行合理分析布局到应用模型中去,偏应用功能布局;

2.技术统筹,综合考虑软件的高效性、复用性、安全性、可维护性、灵活性和跨平台性等;

3.形成统一的规范——应用规范和技术规范。

企业架构师需求和目前架构师所需知识,自我培养过程如下:

1.胚胎(程序员):语言基础、设计基础和通信基础等(java、C、C++、UML、RUP、XML、Socket通信);

2.萌芽(高级程序员):分布式系统、组建等内容(分布式系统原理、WJB、corba、com/com+、webservice及网络计算机和高性能并发处理等);

3.幼苗(设计师):领会设计模式包括设计模式(java\C++版)、ejb设计模式、j2EE架构、UDDI、软件设计模式等,了解软件工程在实际项目中的应用以及小组开发、团队管理等;

4.胜任分析、架构于一体的精英人才。(人扮演架构师的角色,机器扮演程序施工者的角色)。

测试人员对于项目经理相对于软件架构师对市场营销人员;

需求分析、设计架构和软件测试相对应的需求分析师、软件架构师和软件测试人员;

软件架构设计:

业务分析——》信息化解决方案——》功能设计(经验决策层、管理层和业务操作层)——》层次架构设计(层次化关系表达及功能、技术核心元素)——》技术体系设计(接口、数据存储、技术路线、部署及实现抽闲等设计)

常用的系统架构模式:

ASSF(access-service-standard-fundation)访问-服务-标准-基础模式特点:对系统架构各层次均有表达,但不熟应用模式需要单独说明;适合做主架构;

Location模式特点:对应用逻辑表达较为清晰,适合集团应用;

3management-level模式:表达了从决策层-管理层-操作层个层次使用的功能。对系统功能表达较清晰,对客户达成一致性有较好的效果;

系统架构中的数据分布设计:

1.独立Schema(APP不同,Schema不同):可管理性高、通信开销小;

2.集中(集中存储,分布访问):可管理性和数据一致性高;

3.分区(相同应用程序,不同应用程序实例部署,相同的数据模型不同的数据值):地域分布广泛采用水平分区、垂直分区为字段分割较少(。可伸缩性好;

4.复制(数据保存多个副本、保持一致性):有效提升数据可靠性;

5.子集(部分复制):较少传输开销;

6.重组(交不同Schema中的数据进行整合)

数据集成设计

数据物理集中:统一的数据库服务器管理,实现数据统一访问,效率高,适合大数据量查询的决策分析。缺点:实时性较差、风险大、时间长;

逻辑集中:业务系统分布在多个地方,有统一整合平台实现各物理分布数据之间的数据共享,实时访问分布化的数据,实施速度快但受网络传输影响;

初期采用逻辑集中实现统一访问与数据共享,对访问量大、是实现要求不高的数据逐步实现物理集中,从而提高访问效率;

数据联邦模式:将分布在不同地方的数据进行逻辑整合实现虚拟数据库的数据访问;

数据复制模式:多个备份,实现数据一致性;

基于接口的数据集成模式:实时性较高且数据量较小。系统间通过接口共享数据;

应用集成

 

http://www.uml.org.cn/zjjs/201107193.asp

posted on 2017-04-14 17:21  XLeer  阅读(254)  评论(0编辑  收藏  举报

导航