架构设计是个高大上的名词,那么到底什么是架构设计?架构设计的产出物是什么?方法是什么?这些架构方面的核心概念在这里一网打尽......
一、什么是架构?
IEEE的定义:架构 = 组成单元的结构 + 组成单元的关系 + 原则和指南
详解:
- 组成单元的结构:即包括软件、硬件等物理部件,又包括数据、活动、人员等逻辑部件;不仅包括系统的物理结构,还包括系统在较高抽象层次上的逻辑结构;
- 组成单元之间的关系:包括层次、布局、边界、接口关系等;
- 原则和指南:如松耦合等原则。
二、什么是架构设计?
架构设计是一个从问题空间到方案空间的过程。
详解:
- 首先,理解和识别涉众关键需求。包括关键功能和应用场景、关键质量场景(如性能场景:反应时间小于1秒;可靠性场景:支持断点续传等)和主要设计约束(如必须采用国产数据库;经费大约200万等);
- 然后,从结构、行为和优化三个角度,采用由外而内、逐步求精的方法反复淬炼解决方案架构;
- 最后,从多个视角定义和清晰描述其组成单元结构、关系和建立原则。
三、架构设计的产出物是什么?
对于复杂事物人类一般采用分而化之的思路破解,所以架构产出物原理如下图:
一般采用UML从5个视角描述架构如下图。
- 用户视图:采用业务流程图、用例图描述需求;
- 逻辑视图:采用包图、类图等描述组成单元的静态结构关系;
- 运行视图:采用交互图、时序图等描述组成单元的动态交互关系;
- 数据视图:采用E-R图等描述关键数据实体的数据分布策略和数据表关系(该视图为可选项);
- 实施视图:采用组件图等描述软件组成单元的部署关系;
- 物理视图:采用部署图等描述硬件组成单元的部署关系;
注:在投标时的技术方案中经常会提到架构,那是给甲乙双方领导看的初步架构方案,不是供开发团队使用的最终架构方案。一般包括逻辑视图的子系统划分、硬件视图的服务器配置等要求,供领导高层概览和投资决策。
四、架构师的职责和工作阶段
国家人力资源和社会保障部对架构师的职业资质要求如下:
- 应能够根据系统需求规格说明书,结合应用领域和技术发展的实际情况,考虑有关约束条件,设计正确、合理的软件架构,确保系统架构具有良好的特性;
- 能够对项目的系统架构进行描述、分析、设计与评估;
- 能够按照相关标准编写相应的设计文档;
- 能够与系统分析师、项目管理师相互协作、配合工作。
转自: http://www.day2up.com/mob/bus.do?method=article_show&show_id=66484122ff13431cabaca9cb81219a50