- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第0章 构架及架构师
第0章 构架及架构师
构架
起因:17世纪20年代,瑞典和波兰交战。瑞典国王下令建造巨型战舰—瓦萨战舰。
要求:舰长70m,载员300人,两层甲板装载64门重炮
设计师:henrik大师
考虑因素:工期、性能、功能、安全性、可靠性、造价等。
实现方法:先按单层炮舰设计,在扩充为双层。
结果:试航礼炮未放完,就翻入水中。
分析原因:比例严重失调(构架存在问题)
说明问题:?
◇软件构架
第0章 构架及架构师
构架
软件构架师技术、商业好社会等诸多因素作用的结果,而软件构架的存在反过来又会影响技术、商业和社会环境,从而影响到未来的构架。这种相互影响的周期称为构架商业周期
◇软件构架商业周期
办公室里的争论
办公室里,关于什么是软件架构,争论正酣。
程序员说,软件架构就是要决定需要编写哪些类,使用哪些现成框架。程序经理笑了;
程序经理说,软件架构就是模块的划分和接口的定义。系统分析员笑了;
系统分析员说,软件架构就是为业务领域对象的关系建模。配置管理员笑了;
配置管理员说,软件架构就是开发出来的以及编译过后的软件到底是个啥结构。数据库工程师笑了;
数据库工程师说,软件架构规定了持久化数据的结构,其他一切只不过是对数据的操作而已。部署工程师笑了;
部署工程师说,软件架构规定了软件部署到硬件的策略。用户笑了;
用户说,软件架构就是决定一个个子系统如何划分。程序员又笑了;
大家想了想说,这些架构视图好像我们都需要啊,软家架构师哭了。
........上述争论可以总结为一句话:不同涉众看待软件架构的视角是不同的
第0章 构架及架构师
构架
1.构架受系统涉众的影响:
◇软件构架的产生
开发组织的管理层涉众
客户涉众
维护组织涉众
最终用户涉众
进行市场营销的涉众
成本要低,人人都得有活干
特性突出、很快能投放市场、成本低、有竞争力
行为、性能、安全性、可靠性、易用性
可修改性
成本要低,及时交付、不要改动太频繁
第0章 构架及架构师
构架
2.构架受开发组织的影响
Eg:人员技能、开发进度和预算、直接投资和长期投资、子系统的转包等
3.构架受设计师的素质和经验的影响
4.构架受技术环境的影响
Eg:基于web、面向对象、支持中间件等
5.其他影响因素
Eg:及涉众的交流
6.构架对诸影响因素的反作用
◇软件构架的产生
架构师
架构师这个称呼不是拍脑袋想出来的,是有国际标准(ISO/IEC 42010)可查的。架构师是软件开发活动中的众多角色之一,它可能是一个人、一个小组,也可能是一个团队。微软对架构师有一个分类参考,我们参考一下,他们把架构师分为4种:企业架构师EA(Enterprise Architect)、基础结构架构师IA(Infrastructure Architect)、特定技术架构TSA(Technology-Specific Architect)和解决方案架构师SA (Solution Architect)。
◇软件架构师
第0章 构架及架构师
架构师
◇软件架构师-- 名人堂
第0章 构架及架构师
架构师
1、确认需求
在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。
2、系统分解
依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层及层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。
软件架构师的功力基本体现于此,这是一项相对复杂的工作。
◇软件架构师——主要职责
第0章 构架及架构师
架构师
3、技术选型
架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择主要取决于软件架构。
Eg:Web Server运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?需要不需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估。
架构师对产品和技术的选型仅仅限于评估,没有决定权,最终的决定权归项目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认。
◇软件架构师——主要职责
第0章 构架及架构师
架构师
4、制定技术规格说明
架构师在项目开发过程中,是技术权威。他需要协调所有的开发人员,及开发人员一直保持沟通,始终保证开发者依照它的架构意图去实现各项功能。
架构师与开发者沟通的最重要的形式是技术规格说明书,它可以是UML视图、Word文档,Visio文件等各种表现
您可能关注的文档
- 学习的艺术如何学习和学什么(The art of learning how to learn and what to learn).doc
- 学习篇-英语社交口语(Learning English oral English).doc
- 学会干练做事(Learn to do what you can).doc
- 学会唱好高音(Learn to sing high notes).doc
- 学位英语名词性从句考点(Examination of Nominal Clauses of degree English).doc
- 学前教育投入的几个问题(Several problems of preschool education investment).doc
- 学前教育的危害(The dangers of preschool education).doc
- 学会如何与上级相处(Learn how to get along with your superiors).doc
- 五金制模组员工绩效奖金评定细节005(Hardware module staff performance bonus assessment details 005).doc
- 学术论文投稿格式和要求(Format and requirements for academic papers).doc
文档评论(0)