- 1、本文档共288页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中科院软件架构师培训讲义
1 软件架构设计思想与体系创建
1.1软件架构师的角色和应掌握的知识体系
1.1.1 软件架构
软件架构(softwarearchiecture )的一种定义是这样的:
架构是一组有关如下要素的重要决策:软件系统的组织,构成系统的结构化元
素,接口和它们相互协作的行为的选择,结构化元素和行为元素组合成粒度更大的
子系统的方式的选择,以及指导这一组织(元素及其接口、协作和组合方式)的架
构风格的选择。
软件架构可以有多种定义,不管对软件架构如何定义,所有的定义都有一个共
同的主题,那就是必须考虑诸如原理、组织、风格、模式、职责、协作、连接、系
统的动机和主要子系统等大尺度方面的问题。
软件架构实际上是两个层面的事情,一个是设计构造一个完整的软件系统,这
里的架构也称作软件体系结构(Software Archiecture )。另一个层面是构造一个统一
的共享的框架或者称架构(Framework),这种架构事实上是系统的一个基于服务的
层。
软件架构在整个软件开发过程中,是处在软件体系结构设计阶段(设计),它的
必要的输入,是来自需求工程(分析),而它的输出,是实现设计(编程),因此这
是一个承上启下过程节点。
在软件开发中,架构既可以是名词,也可以是动词。
作为名词,架构包括上面所定义的内容。
作为动词,架构一部分是调研,一部分是设计,更清晰的,是架构调研和架构
设计。
架构调研:是指识别对系统存在或可能存在重大影响的功能性或非功能性需求
(特别是非功能性需求),例如市场趋势、性能、成本、维护和系统演进等。广义上,
是对系统的重大设计决策有特别影响的需求进行分析。
架构设计:是对软件、硬件、网络、运营、政策等软件设计中的需求和要素进
中科院计算所培训中心
行决策。
在统一过程里面,架构调研和架构设计统称为架构分析。
软件架构设计是一个系统工程,它需要系统构架师有很宽的知识面,从需求分
析、架构设计到类设计甚至代码实现都需要有透彻的理解,这之间的关系是你中有
我我中有你,是不可能截然分开的。
在这个课程中,我会站在相对抽象的角度,对软件系统设计的思想和方法做一
些讨论,这些观点,也是不少资深系统架构师经验的集合。必须说明,软件系统设
计的方法不是一个僵化的规则,我表达的一些观点你也不一定赞成,这不要紧,关
键是在实践中实事求是的摸索规律,从而找出一些符合实际的方法来。
1.1.2 软件架构师的角色
尽管对软件架构师的角色有这样或那样的定义,但大体上下面几个职责是必需
的。
1. 技术负责,解决方案的提供者
2. 与项目经理合作,制定计划,决定成员,组织团队
3. 保证项目按计划和走向完成
由于设计是由需求驱动的,所以,掌握需求分析的技巧,是一个好的架构师必
备的能力。
1.1.3 软件架构师最难处理的问题
1. 不是做什么,而是不做什么
2. 不是从纯技术的角度来考虑整个项目
3. 预见客户走向,早期决定技术研发
4. 不能使用时髦但不可靠的技术
1.1.4 如何成长为一个好的系统架构师
架构师必须关注需求、分析需求,有人认为架构师只是在需求出来以后,把它
的实现模型做出来就行了,真要是这样,那做一个架构师未免也太容易了。
中科院计算所培训中心
事实上,现代迭代开发所有的驱动力都在于需求变更,如果架构师不关注需求,
不关注和用户的讨论和沟通,那是很难设计出真正有用的东西来的。
软件架构设计是一个非常严肃、细致、敏感而且困难的工作,必须一点一滴认
真做起,扎扎实实的努力,实实在在的积累经验,尤其是在失败中积累经验,这是
一个软件架构师成功的必由之路。
为此,我们需要注意下面几点:
1. 首先必须是一个好的程序员,技术上要强
2. 知识结构:对象的观点,UML,RUP,设计模式,关键不是懂得了原理,而
是灵活融合的应用
3. 系统的观念:分析能力,把握抽象的能力
4. 沟通能力:与客户沟通能力,与项目其它成员的沟通能力
5. 知识面要广,把握行业流行趋势,但不要赶时髦
6. 灵活机动,不能教条
1.1.5 几个观点
1. 要承认软件是不完美的
2. 要承认需求是不完全的
您可能关注的文档
- 中国特种兵训练方法全集.pdf
- 中国移动无线网络wlan培训课程cw03-1-天线.pdf
- 中机院信息化规划及案例.pdf
- 中科院计算所培训中心_高级系统架构师培训.pdf
- 中日古代文学意识_儒佛道_以_红搂梦_和_源氏物语_比较为中心_叶渭渠.pdf
- 重庆大学考研_2012结构力学试卷.pdf
- 朱光潜全集02.pdf
- 朱光潜全集04.pdf
- 朱光潜全集05.pdf
- 朱光潜全集06.pdf
- 2024-2030年中国液体化工品仓储产业发展格局及前景规划分析报告.docx
- 2024-2030年中国液体化工品仓储产业运行动态及前景规划分析报告.docx
- 公务用车专项治理工作自查报告真题五篇.pdf
- 2024-2030年中国液体分析变送器行业市场发展趋势与前景展望战略研究报告.docx
- 2024-2030年中国液体分配器行业市场发展趋势与前景展望战略研究报告.docx
- 2024-2030年中国液体包装薄膜行业产销状况及竞争趋势预测报告.docx
- 少儿美术教学课件-谁的鞋.pptx
- 2024-2030年中国液体包装薄膜行业发展潜力及竞争趋势预测报告.docx
- 2024-2030年中国液体包装薄膜行业盈利态势及竞争趋势预测报告.docx
- 2024-2030年中国液体包装薄膜行业应用动态及竞争趋势预测报告.docx
文档评论(0)