系统架构:指的完整系统的组成架构,例如系统分成几个部分?服务平台、管理门户、终端门户、ATM门户、外部系统以及接口、支撑系统等,将这些系统进行合理的划分。然后再进行功能分类细分,例如服务平台内部划分为系统管理、用户管理、帐号管理、支付管理、接口层、统计分析等逻辑功能。总之,将整个系统业务分解为逻辑功能模块,并且科学合理,就是系统架构了。
技术架构:从技术层面描述,主要是分层模型,例如持久层、数据层、逻辑层、应用层、表现层等,然后每层使用什么技术框架,例如Spring、hibernate、ioc、MVC、成熟的类库、中间件、WebService等,分别说明,要求这些技术能够将整个系统的主要实现概括。
应用架构:主要考虑部署,例如你不同的应用如何分别部署,如何支持灵活扩展、大并发量、安全性等,需要画出物理网络部署图。按照应用进行划分的话,还需要考虑是否支持分布式SOA。
-----------------------------------------------------------------------------
架构设计文档如何编写
http://lizhengfa.iteye.com/blog/574209
4+1视图与UML
软件架构设计已经逐渐成为现代软件开发过程的核心,然而能够清晰表明架构设计并不是一件容易的事,就面向对象开发而言,RUP 的4+1视图已在架构设计的撰写中得到了广泛的应用和认可。
对于4+1 view的描述有几个不同版本(或包含的视图不同,或视图的名称不同),文中以Philippe Kruchten, November 1995提出的4+1视图为准。
4+1视图包括:逻辑视图(Logic View),开发视图(Develop View),进程视图(Process View),物理视图(Physical View)和场景视图(Scenarios)。
4+1视图不仅便于我们记录架构设计,实际上它也指导了我们进行架构设计活动的部分过程。
通常我们选择UML来表现各种视图,以下列出了UML和各视图的对应关系
4+1视图 UML
场景视图 use case
逻辑视图 类图
开发视图 类图,组件图
进程视图 无完全对应
部署视图 部署图
在架构设计稳定中通常不会给出较多的用例描述,这些是在需求稳定中定义。但是往往架构文档会选择一些用例,列入文档中,这些用例和一些非功能性需求一起用以证明架构的有效和正确性。在逻辑视图中用例的实现是必不可少的一节,尽管架构设计更关注非功能性需求。
融入MDA的思想
对于逻辑视图和开发视图所应包含的内容常常会觉得很难区分两者间的明显界限。逻辑视图包含更多的分析模型与实现技术本身相关性应该较少,如业务对象模型及其扩展。而开发视图则会与实现技术紧密相关。
随着MDA思想的推广,在架构设计文档的撰写方面也产生了影响,我们不难把MDA的PIM和逻辑视图联系起来,而把MDA中的PSM和开发视图联系起来。
在编写逻辑视图是我们应该描述与技术平台无关的模型,而开发视图则描述与实现技术平台相关的模型。
如在逻辑视图中表现的某些实体类,我们会在开发视图中转换为EJB组件(实体Bean)。
这种做法不仅有利于我们编写架构设计文档,同时更是一种好的架构设计思考流程。
--------------------------------------------------------------------------------
架构设计文档中的各元素评级
几乎所有的文章都认为架构设计很重要,架构师成为程序员系列岗位的顶级岗位。
但是现在的书本和培训并没有给出架构师工作的现成答案,和一些行家交流,会得到一些莫测高深的回答。
如果某个事情在短时间内给讲清楚了,岂不是没有显出讲解者高深水平。
这里希望来简化下架构设计,来说说架构设计的文档所要展现的元素。
架构设计的文档是架构设计的成果物。其中所要展现的元素就是架构设计的成果。从这个角度,也许可以简化下架构设计。
按照Just enough的原则,对于架构设计的元素,最有必要的给5颗星,其次4,3,2,没有必要的、可有可无的给1颗星。
支持的操作系统,比如 win7, Redhat9 ☆☆☆☆☆
支持的数据库 比如Oracle, DB2, Mysql ☆☆☆☆☆
支持的浏览器(如果是有Brower访问的)☆☆☆☆☆
依赖的运行时环境 --比如Java, Silverlight ☆☆☆☆☆
依赖的中间件--- 比如Java容器,tomcat, websphere, Tuxedo ☆☆☆☆☆
依赖的核心构件或者Frame, 比如struts, hibernate, 自定义的构件 ☆☆☆☆☆
层次划分,比如 典型三层架构、多层架构 ☆☆☆☆
识别进程,画部署图 ☆☆☆☆☆
划分组件,画组件图 ☆☆☆☆☆
开发语言 比如c#, java, c++ ☆☆☆☆☆
开发所用的工具 比如IDE,报表设计器 ☆☆☆☆
重要组件间的接口 ☆☆☆☆
核心类的设计 ☆☆☆
数据库设计 ☆☆☆ 存储数据和检索有其特点。在表达方面有其自身的特点。如数据集的提取,运算等, 要注意性能,完整性等。数据库设计也可做渐进设计
核心流程的说明 ☆☆
部分核心类的类图 ☆
特别的性能要求带来的考虑 ☆☆☆☆
特别的可恢复性要求带来的考虑 ☆☆☆
特别的信息安全要求带来的考虑 ☆☆☆
说明:
至于操作系统,数据库, 运行时环境等等可能不是由架构师决定,但如果没有其他人决定,或者领导要求一个初步方案时,架构师必须拿出意见。
就算别人已经决定了操作系统、数据库、 运行时环境等等,那么这些是下一步工作的前提和约束,也值得在架构设计文档中记述。
性能和安全的要求不是架构师定的,但如何保证实现性能和安全的要求,这是架构师必须考虑的问题。如果没有特别的要求,可以不考虑。
电信公司的应用和20人小公司的应用就算功能完全一样,初始设计就已经不一样了。
如果有特别的要求,比如交易所要每秒交易8万笔,对于干系人来说,这是最关心的,最核心的。
从数据库管理人员的角度来说, 数据库的设计说明是必不可少的,企业开发要特别关注于数据库 --- 对数据库管理人员来说,没错。但对于架构师在初期恐怕还不是一定必需的,可以给3颗星。
分享到:
相关推荐
安全架构设计包括建模、需求分析、设计开发、部署和运营等方面,需要严格按照企业架构设计的标准进行规划和实施。 将 EA 方法论应用于网络安全领域,可以规划实现从零散建设演进到体系化建设,是建设“能力导向、...
考虑到空勤人员工作地点分散、时间碎片化的特性,该系统设计为在线学习和考核模式,允许用户通过微信小程序随时随地进行学习和练习,从而有效利用零散时间,提高学习效率。 系统设计过程中充分考虑了用户需求。在...
### 一种基于SOA架构的EAI研究与设计 #### 摘要 本文主要针对当前企业中普遍存在的分布式及异构应用系统集成难题进行了深入的研究,并在此基础上探讨了基于服务导向架构(SOA)的设计理念和技术手段。通过对SOA...
最后,值得注意的是,避免“偶然的集成架构模式”(Accidental Integration Architecture pattern),这是一种由于缺乏整体规划和设计而导致的混乱集成状态。成功的SOA集成需要全面的规划,明确的目标,以及对业务和...
软件设计部分介绍了软件包的整体设计架构,包括架构设计、流程设计、开发环境设计、数据接口设计、数据库设计和界面设计等多个方面。架构设计中的基础数据层和设计应用层的双层结构确保了工艺设计数据的高效流通。...
### RFID中间件架构知识点 ...综上所述,RFID中间件作为连接RFID读写器与企业应用的重要桥梁,承担着数据采集、处理、分发等一系列重要任务,其架构和功能设计对于确保RFID系统的高效稳定运行至关重要。
这种灵活的架构设计使得网易能够快速响应变化,提供定制化的解决方案。 总的来说,网易数据架构的演进是一个不断优化和创新的过程,注重技术与业务的紧密结合,以提升生产力和满足用户需求为导向,通过技术创新和...
2. 组织架构:设计部门实行设计主管负责制,设计主管直接对总经理负责,而设计人员则对设计主管负责。 3. 管理权限:设计部主管具有日常事务的决策权和人事调整的建议权,负责设计任务的全程管理。 4. 设计责任:...
7. 软件架构设计:文档提及了ScriptDistribute结构体,它包含了项目名、文件夹名、脚本名等信息,这可能是软件分发和组织结构的一部分。type和subtype字段可能用于区分不同类型的脚本或任务。 8. 数据库设计:出现...
应用程序框架层为应用程序提供了基于Android的移动教学系统的设计与实现朱佳雯(西安航空职业技术学院陕西西安)的架构;用户界面层提供了友好的人机交互界面。 该系统的设计与实现基于Android操作系统,使用Java...
此外,文档详细阐述了畅游运维自动化技术体系,其中包含了负载均衡、代理、WEB层、平台层、中间层、基础设施层等多个层次的架构设计。技术方面采用了如Nginx、Proxy、Docker、OpenStack、MySQL、Oracle、Redis等主流...
通过ADMEMS矩阵,架构师可以清晰地看到不同需求之间的关系,避免需求分析变得零散无序。这种系统化的分析方法有助于构建一个能够适应未来变化、满足各种业务和用户需求的强健架构。在实际操作中,需要不断检查和调整...
五、总结:城商行系统整合架构设计 城商行系统整合的核心目标是打造一个集约化、灵活、安全的IT架构,以支撑业务的高效运营和持续创新。通过整合,可以优化资源分配,提升服务质量和响应速度,降低运维成本,最终...
虽然由于OCR扫描技术的限制,文档中可能出现了文字识别错误,但结合这些零散信息,我们可以推断出该文件主要涉及网络规划设计师必须掌握的知识点,例如网络架构设计、无线网络技术参数、TCP/IP协议栈相关技术、网络...
云网络的服务对象从个人用户扩展到企业用户,支持从零散行为到企业大规模应用的转变,其中物联网(IoT)作为新一代信息网络技术中的重要内容,其应用逐渐普及,推动着云网络架构的进一步优化和升级。 随着云服务的...
2. **组织架构**:技术部实行设计主管负责制,设计人员对其直接上级负责,设计主管对总经理负责。 3. **责任分配**:设计任务实行首问负责制,由最初接手设计任务的人员全程负责。设计人员需确保设计任务的质量和...
设备管理系统设计方案是指对设备管理系统的整体设计,包括系统的架构、模块、功能、界面等方面。该设计方案的目的是为了实现设备管理的信息化、自动化和智能化,从而提高设备管理的效率和效果。 2. 实施设备管理...
2. 系统架构设计:基于 ArcGis Engine 和 VC2005 平台,设计了旅游景点查询系统的架构,包括用户界面、地理信息系统、数据库等模块。 3. 系统实现:使用 ArcGis Engine 和 VC2005 平台,实现了旅游景点查询系统的...
而现有的家教市场信息比较零散,家长和学生很难找到满意的家教资源。 ## 项目目标 本项目旨在为杭州市的学生和家长提供一个方便快捷的家教资源查询平台。同时,该平台也为有能力的教师提供一个展示自己的机会。 #...