架构师

2024-07-11|版权声明|我要投稿

架构师(共6篇)

架构师 篇1

摘要:随着软件行业的快速发展, 软件工程的规模越来越大, 复杂程度越来越高, 软件设计的核心已经超越了传统的“算法+数据结构=程序”的设计模式, 取而代之的是对系统的总体结构的设计和规范。软件架构师在软件开发过程中充当着越来越重要的角色, 在整个软件的生命周期中的重要性日益突出。本文通过剖析软件架构师的定义分析了其在软件开发过程中的作用。

关键词:软件,软件架构,软件架构师

0 引言

大部分软件企业正在遭遇“软件危机”, 主要表现在:软件开发效率低, 开发周期长, 开发成本高, 可维护性和使用性差, 不能很好的满足用户个性化和频繁的业务变化的需求。而日益激烈的市场竞争和经济全球化, 赋予软件工程以新的特征:有效率、有效用地满足用户个性化需求的定制, 快速响应和适应市场及业务的变化, 以及低成本、高收益等[1,2]。

低成本、高收益软件工程的实现离不开软件架构 (Software Architecture) , 软件架构是一个软件系统中的核心元素, 软件架构师则是这个核心元素的实施人, 是一个软件工程成败的关键。

1 关于软件架构

软件架构的定义不是唯一的, 在不同的著作上, 不同的作者, 对于软件架构的定义也不统一, 角度不同, 定义不同。

在“软件构架简介”中, David Garlan和Mary Shaw认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外, 设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。”

也有观点认为软件架构考虑的是相对的宏观问题, 它是重要模块、过程和系统数据的集合, 包括软件的结构、彼此的准确关系、扩展与修改方式, 依赖的技术、系统性能和灵活性获得方法, 以及系统实施或修改计划等。

笔者更赞同后一种观点。

2 软件架构师的定义

软件架构师是软件行业中一种新兴职业, 工作职责是在一个软件项目开发过程中, 将客户的需求转换为规范的开发计划及文本, 并制定这个项目的总体架构, 指导整个开发团队完成这个计划。主导系统全局分析设计与实施、负责软件架构和关键技术决策的人员[3]。

软件架构师应能迅速抓住问题要害, 并做出合理的关键决定的能力, 具备战略性和前瞻性思维能力, 善于把握全局, 能够在更高抽象级别上进行思考, 主要包括如下:

(1) 对项目开发涉及的所有问题领域都有经验, 包括彻底地理解项目需求, 开展分析设计之类软件工程活动等;

(2) 具备领导素质, 以在各小组之间推进技术工作, 并在项目压力下做出牢靠的关键决策;

(3) 拥有优秀的沟通能力, 用以进行说服、鼓励和指导等活动, 并赢得项目成员的信任;

(4) 以目标导向和主动的方式来不带任何感情色彩地关注项目结果, 构架师应当是项目背后的技术推动力, 而非构想者或梦想家 (追求完美) ;

(5) 精通构架设计的理论、实践和工具, 并掌握多种参考构架、主要的可重用构架机制和模式 (例如J2EE架构等) ;

(6) 具备系统设计员的所有技能, 但涉及面更广、抽象级别更高;活动确定用例或需求的优先级、进行构架分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定设计机制、确定设计元素、合并已有设计元素、构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议等。

3 软件架构师的工作

软件架构师在软件开发中的重要性日渐突出。可以这样说, 一个软件架构师工作的好坏决定了整个软件开发项目的成败。

作为软件架构的设计者是关系到软件成败的关键因素, 缺少了软件架构师的工作, 软件产品的生产率、上市时间、质量和成本等诸多方面就不能得到应有的保障。

(1) 软件架构创建的意义

使用合适的软件架构可以在需求变动的情况下迅速的进入变动之后的软件开发。如果拿一栋大楼来比喻整个的软件产品。那么软件架构就好比大楼的骨架。没有好的软件架构, 软件产品的质量可想而知。软件架构是软件产品的精髓, 只有在合适的产品上采用合适的软件架构才能真正的提高软件产品的质量。

(2) 软件架构的创建过程

一旦项目立项, 系统分析师把项目的需求分析提交过来之后.根据该项目的整体解决方案, 软件架构师就必须找到适合该软件的架构。

确定了软件架构之后就可以依据它来组建项目团队, 并创建一个骨架系统作为增量式开发的基础, 把传统的软件开发模式和敏捷开发 (Agile Development) 模式结合起来。

为了软件产品的升级及复用, 小型的软件产品也应该设置软件架构的设置环节, 大型的软件产品则必须要有软件架构的设计环节。那么, 大型软件产品的开发模式就变成了传统软件开发模式、软件架构设计和敏捷开发模式的综合。小型软件产品的开发模式就变为了软件架构设计和敏捷开发模式的综合。软件架构设计不论在大型软件产品还是小型软件产品的开发模式中所处的位置基本上是一样的.都是处在需求分析后进行软件架构的设计。对于需求不确定或者软件架构师认为变动频繁的功能模块采用敏捷开发的模式。如果需求变动, 采用敏捷开发的方式修改相应的功能模块。

(3) 软件架构资源库的创建与维护

把不同的软件架构形成一种知识, 供以后的项目或其它软件架构师、系统分析师使用。软件资源库中包括所包含每一种软件架构的文档说明, 实例图, 使用该软件架构的软件产品等, 最好能创建一个辅助工具软件来维护软件架构资源库。

(4) 其它作用

随着开发进程的推进, 软件架构师的职责或关注点不断地变化:

1) 在需求阶段配合系统分析师;

2) 需求明确后, 软件架构师要进行软件架构的设计;

3) 随后, 软件架构师的关注点开始转移到组织开发团队成员和开发过程定义上;

4) 在编码阶段, 架构师则成为详细设计者和代码编写者的顾问。并且经常性地要举行一些技术研讨会、技术培训班等;

5) 随着软件开始测试、集成和交付, 集成和测试支持将成为软件架构师的工作重点;

6) 在软件维护开始时, 软件架构师就要分析该软件架构在该软件产品上的实施效果, 是否存在问题, 为下一个软件项目的软件架构设计做准备。

4 结论

软件架构的设计和规范可以实现开发工作的简单性和系统对未来更改的适应性。所以软件企业要正确的认识软件架构师的工作, 认真的对待软件架构师这个职位的必要性。

参考文献

[1][美]RogerS Pressman.软件工程-实践者的研究方法[M].黄柏素, 梅宏, 译.北京:机械工业出版社, 1999.

[2]A W Brown, K C Wallau.The current state of CRSE[J].IEEE Software, 1998, 15 (5) :37-46.

[3]张友生, 李雄.软件架构师的角色和培养[J].计算机教育, 2006, 11.

架构师 篇2

其实要说有什么大的经验也算不上,只能说跌爬滚打了4年时间,再怎么不长记性,忘乎所以,长了伤疤忘了疼,但是疤痕总归要留下一点?!只能说把这些曾经的伤疤拿出来和大家分享一下,怎么样让以后的同志们尽量少去碰石头或者投海。以前有人撞过了,投过了,以后能绕道就绕道吧!

其实做技术呢,不能光去从技术角度看到技术,他牵涉到方方面面(这个不是说大话,我不是“叫兽(教授)”,更不是“装假(专家)”,没必要托大)。如果你光从技术角度去提升你的技术,你将会很快就碰到瓶颈,并且碰到瓶颈后没有什么好的办法去克服。那么我们在提升自己的技术之前要做些什么?怎么提升自己的自身的技术呢?

第一:你先要认识你自己。作为程序员,其实我们90%或者更多都是很自负的。不要不承认,我也是程序员。我深深的了解自己所属的人群。你是不是经常有下面的现象发生:你看别人的代码都是垃圾,看自己的代码都很完美?你是不是觉得别人写的代码或者做的解决方案都不是最优的,只有你自己的代码或者解决方案是最优的?你是不是会觉得你的代码肯定没有bug,别人的代码肯定存在bug?……。太多了。如果这些现象在你身上发生,那么第一件事情就是:请你把它改掉吧?!程序员应该是谦虚的,上进的,否则在这个技术更新比换gf都快的时代,你不太能跟上步伐。

第二:你是不是经常和人家争执?你是不是每个问题都争执?你是不是听不见去别人的任何意见?……。这点也请你改掉它。作为技术人员这个是特有的,我以前也是为了一个问题会和别人争得面红耳赤,情绪激动。最后往往是不欢而散。想想到头来对你有什么好处呢?技术和学术还是有区别的,技术不需要争论,技术需要的是真实,现实。当你们存在争论的时候最好的方式是去做一个demo,又能锻炼自己,又能说明问题。一箭双雕,何乐而不为呢?

第三:不要有信仰之争。现在很多程序员,包括经常听到已经工作了十几年的技术人员往往也在说java比net好,或者是net比java好;window比linux好,linux比window好。这些派别,门户,俨然已经成为了一种信仰。但是不应该有对立啊!大家都是经过高中教育的,都是学过唯物辩证法的。一个东西肯定存在好的一面也肯定存在不好的一面。何况是两个东西比较呢?每个人的信仰可以不一样,但是信仰是用来去尊重的。不是用来争的。你可以有你的信仰,但是你也不能去污蔑别人的信仰啊?!Anders Hejlsberg和James Gosling尚且可以心平气和的坐下来谈谈,我们为什么就不能呢?再说了,我们又不是非得要靠net或者java吃饭的。我们就不能把net的优点和java的优点都拿过来用吗?

第四:别眼高手低。不管是应届毕业生或者是老手,千万要记住一条。你就算再有水平,也要在别人见到你的水平后再去要求别人。不要上去给你做什么都感觉简单,都觉得大材小用,都觉得浪费你的聪明才智。然后往往紧跟出现的就是工作一团糟。美其名曰:这种东西老子不屑做。咳……。这个怎么说呢?你都觉得简单了,为什么不把它做做好呢?碰到这种问题,我只能说你最好还是换位思考一下吧?!

第五:请关心开源社区。开源社区的优点就不多说了。如果你是一位net开发人员,我衷心的劝你一句:请关心一下开源社区吧!我也是net程序员,我也深深的了解net程序员的优缺点。但是请你们不要排斥开源,也不要一味的使用MS的产品。有的时候开源的东东能给你另外的一种解决方案,能让你看到另外的一片天地。你也不要觉得开源非常的高深,如果有机会,你也尽可能的加入其中。不为别的,如果你加入了开源组织,再提交了代码的话,你的简历是不是就加分了?你去面试的时候说我是“某某开源软件”的开发人员,你是不是觉得自己巨牛无比?我想面试官也会另眼相看,你觉得他好意思再给出一个拿不出手的薪水吗?

第六:解决问题的时候,认清本质。最近我们组要开发一个MongoDB的客户端。因为开源的MongoDB客户端功能不完善,没有达到我们的需求,我就让我们组的一个同事开发。我知道他的水平,所以我故意不太和他讲具体怎么做,我也不是经常去问他做的怎么样了。完全靠他自己。我知道这个东西到最后肯定失控(没办法,交学费嘛)。上个星期五见分晓了:确实不行了。那么问题在哪里呢?就是该同志认不清他要做这个软件的本质在哪里?我只要达到什么功能就可以了!结果太多的功能都被复杂化设计,问题引出了新的问题,代码越来越多,越来越臃肿,伴随的现象也是越来越不着边际。使用了99%的时间去实现1%可能会遇到的问题,并且这个1%的问题并不是“”。这个软件就算是做出来,还是可控的吗?是不是又是一个焦油坑-----首先你的软件质量不能保证了;其次,你很难扩展;第三:你花费了太多无谓的工时……。

第七:多看书,多看网站(不是小网站),多练习。我提升自己的经验是多看书和网站。在书上你经常能学到一整套新的技术;网站上的文章能给你一些架构上的思考。因为技术是学出来了,你可以通过书本突击;架构是改出来的,不是设计出来的。所以网站上的文章那种短小精悍的模式正好符合,所以需要提高技术就去看书,需要学习架构方面的知识就去看相关网站上的文章。至于练习,我觉得这个各取所需吧!反正我是不太做练习的,我看一边代码基本上就理解了,但是我几个同事是边看书边写代码才能理解代码的,这些其实也是个人的习惯吧!

第八:学习提升主要靠自己。现在很多的人都觉得我来公司是来学习的;我在这个公司学不到什么东西。大家醒醒吧!公司不是学校,公司的本质是盈利,学校的本质才是教书育人。所以如果你想在公司里面学习东西,那么只有靠自己。别指望公司给你有多大的提升空间。除非公司万不得已,否则很少公司会正统的培训,培养员工。所以学习还是要靠自己,如果你只想着凭项目开发中学到的知识来支撑你整个职业生涯,别的时间可以用来娱乐,打游戏,玩,泡吧等等,那么我觉得你还是现在就转行吧!因为你可能过不了多久时间就要真的去考虑转行这个事情了。所以还不如现在就转行。俗话说;早死早超生嘛!

游戏架构师创作需正能量 篇3

不同家长对自己孩子玩游戏的看法各不相同,国内以教育类为主的游戏成功的例子很少,儿童和青少年对游戏的接受程度也各有不同。当家长头痛于孩子总是玩游戏时,大家有没有想过或许你的孩子以后就是一名游戏架构师呢?

要想成为一名出色的游戏架构师,首先应该热爱游戏,如果失去了对游戏的喜爱,也就丧失了设计游戏的冲动。玩游戏是游戏架构师的基本功,要想做好某个类型的游戏,就要先成为这类游戏的高手。

其次是丰富的想象力,架构一个复杂有趣的游戏意境并非易事。架构师的设计架构、观念、想法直接关系到游戏产品的成败,所以游戏公司在招聘时要求颇高,需要具备深厚的文史哲知识或者是对某类型动漫、武侠、魔幻、穿越、机甲作品有较深入的研究。

大多数人认为游戏只会带来负面的影响,为了游戏这个朝阳行业能够用行动来改善大家对它的看法,游戏架构师也有一定的责任。在设计游戏中,真正内心强大的游戏架构师,应该在接触到各种负能量时,要有能力疏导这些负能量,找回该传播的正能量,积极主动将负能量转化为正能量,从而净化自己,同时帮助更多的人在游戏中接纳正能量。

架构师 篇4

何鹏先生现任摩托罗拉系统(中国)有限公司企业解决方案高级架构师,他拥有北京理工大学电子工程专业以及清华大学软件工程专业双学士学位,现就读清华大学MBA。

作为最早进入中国的跨国企业之一,摩托罗拉系统持之以恒地为中国客户提供定制解决方案与整合服务。特别是对于零售、能源及公用事业、交通和物流、制造及供应链、医疗卫生等行业及其它商用市场,摩托罗拉系统可以为企业量身定制可靠的解决方案。何鹏主要针对零售和物流行业客户需求设计整体解决方案以助力产品销售。良好的行业和技术背景,使他能够在深入理解客户需求的基础上为其量身定制技术方案。

在加入摩托罗拉系统前,何鹏曾先后服务于日本冲电气公司(OKI)与日电信息系统(中国)有限公司(NEC),负责银行系统以及零售行业解决方案的设计。

架构师 篇5

实际上, 安全方面有不同层次, 其中两个比较突出:首先在操作系统和技术方面, 比如公司使用的投影仪和家里的自助系统, 微软的WSD (设备上的Web服务) 技术里面已经内建安全方面的程序。设备制造商在进入这个系统的时候, 可以选择建立一个完全开放的系统, 此时没有安全措施, 所有的机器之间设备之间可以自由对话;也可以选择加入安全措施的架构, 这样新设备进入以后, 通过一定授权方式, 就可以实现机器之间的对话。

其次, 我们所说的安全措施在整个操作系统里面分为不同的层面, 对W i n d o w s C E和Windows XP Embedded, 这两个是组件化的操作系统, 意味着开发人员在开发的时候, 只要选择他们所需要的操作系统的组件和驱动程序的组件就可以了。这样的话, 一方面使整个系统占用空间更小, 另一方面让它们安全隐患也较小。

架构师 篇6

对于广电来讲, “广电仍处于网络与业务各谈各的、各自做各自规划的阶段, 与网络运营商、设备供应商和应用服务提供商的合作仍处于‘磨合’阶段, 广电的网络建设需兼顾已有的和未来的业务, 在网络建设规划时必须要考虑到业务的发展需求, 做到用户感知、业务感知、内容感知;在业务设计规划时要对承载网络提出要求。”来自上海贝尔股份有限公司的副总裁、首席方案架构师刘永春 (以下简称刘永春) 向记者指出。

上海贝尔作为具备全面的端到端产品技术与多年电信经验的解决方案供应商, 在三网融合的第一个大的项目“下一代广播电视网 (NGB) ”中, 发挥其自身的国际化优势和双向网络技术、业务平台、控制技术等方面的经验, 为广电运营商的网络融合作做出了重要贡献, 并积极参与NGB的筹备和建设。为此, “上海贝尔还专门成立了面向广电的‘三网融合业务团队’, 团队的业务和工作进展直接向总裁汇报, 并一举成为公司未来发展的核心业务。”刘永春向记者表示。

正是出于上海贝尔对广电领域的持续关注与多年来在电信领域的领先地位及对互联网业务冲击的博弈经验, 近日得到国家广电总局科技司的青睐与关注, 并受邀在8月15日为科技司做了一次汇报演讲, 其中主要介绍了国外几大有线网络运营商目前的经营状况以及电信近年来所遇到的网络发展瓶颈, 并就此进行了探讨, 以帮助广电在未来的网络建设中可以少走或不走弯路。

避免走弯路:智能化是关键

就目前广电网络建设的现状, 刘永春告诉记者, “最关键的环节就是网络的智能化, 如果真正的想要传送高品质的视频, 网络需要更多的智能化。”随着三网融合的日益推进, 电信运营商对所提供的差异化服务与高带宽的视频业务越发关注, 尤其在用户感知与业务感知方面更是得到了高度重视。我们知道, 在过去的网络是无法实现这一差异化服务的, 致使电信运营商在实现大宽带网络建设中需对大量已有的网关设备进行升级改造, 处于需要新旧两套网关设备同时运行的非常不利的局面。正因如此, 广电在网络建设中, 就应更加引以为戒, 重点关注业务的控制层, 将用户感知和业务感知早早融入到网络建设之初。刘永春向记者表示, “如果对带宽缺乏管理, 不了解用户是谁、在做什么业务, 也没有预留足够带宽, 不仅不利于自身视频业务发展, 甚至造成全网的可控可管的严重不足。”

记者发现, 在上海贝尔的三网融合技术路线中, 正是基于这一理念, 其智能化的的高效能网络的概念已被应用在了三网融合的网络之中。据刘永春向记者介绍, 上海贝尔的三网融合体系架构, 是适合互联网视频点播业务的高带宽网络, 通过高带宽接入技术使用户的接入带宽达到并超过100Mbit/s, 并可通过精细的QoS控制提供每用户及每业务的QoS, 从而使运营商在未来可根据用户的不同需求, 提供不同的服务类型, 也使得高质量的高清电视在IP宽带网上的传送得以实施。

立足于同轴电缆量身定做网络方案

广电还需充分利用同轴电缆的优势。众所周知, 电信的优势在于FTTx网络, 而对广电来讲, “做FTTx没有很好的基础, 用同轴电缆才会有优势, 否则有线的维护量将会非常可观。从网络接入来讲, 还应立足于本份。”刘永春向记者如实说, “有线同轴电缆带宽优势明显, 承载带宽的提升空间宽广, 无论是从经济角度还是改造的难易程度、时间成本来讲, 均是广电最因地适宜的传输介质。”

刘永春还告诉记者, 为满足广电系统提出的下一代广播电视网 (NGB) 的需求, 根据广电自身网络的特点, 上海贝尔将为广电量身定做的网络方案会充分考虑广电的自身状况, 将广电同轴电缆的资源很好的整合起来。方案会根据各地方广电自身的资源情况以及自身的发展需求而专门定制。其中, 方案还将细分为:在三网融合发展较早的地方广电, 设备选用的重点将在升级改造;在三网融合发展初期的地方广电, 设备选用的重点将会考虑现有的情况逐步实现升级, 来规划好中长期的过渡。

另外在业务方面, “上海贝尔还将针对一些地方广电对‘城市’的概念比较淡薄, 在选择业务推广的时候做出取舍, 会由浅到深、由易到难的方式配合地方广电来做网络的升级改造。”刘永春向记者指出, “总的来讲, 我们是为地方广电提供一份总的网络方案框架, 再根据每个城市的现状, 把我们自身的优势以及包括国外最好的经验结合起来, 在我们的高效能网络构架中实现一个中长期的网络规划。”

广电需放眼未来切勿急功近利

广电与电信之间, 尽管分属不同系统、基础网络和技术选择不同, 双向进入的进程也有所不同, 但实则发展方向和建设阶段都是相同的。当前, 广电与电信都在致力于提供高带宽的网络, 在业务推广中一定要杜绝“卖带宽”的现象。“过去, 电信在宽带的自身发展中, 已有过类似的惨痛经历, 广电应避免重走弯路。”刘永春向记者表示, “广电要将资源发挥效率, 对网络加以限制, 做好网络的智能化。假设广电全国的业务依然是一盘散沙, 用户受地域性所限, 地方广电也只能做本地业务, 用户业务量这么小, 投资却这么多, 如果为了追求短期规模和效益而去贱卖接入带宽, 这无异于杀鸡取卵。”

然而, 就目前已出现的某些地方广电和地方电信“卖带宽”的急功近利的个案, 从长远来考虑, 或许将导致广电与电信新业务的推广遇到极大的阻碍。“好的网络宁可小而精, 宁可对用户进行差异化管理高带宽高价格或者不同业务给不同带宽, 也不要去追求规模效应。所以广电在网络建设之初就要将带宽的价值定义好、规划好, 千万不能贱卖资源, 泼出去的水是收不回来的。”刘永春向记者再三强调, “就像韩国, 将带宽贱卖之后, 现在就没法回收带宽做IPTV了。道理很简单, 比如互联网的带宽足以在线观看高清电影, 也就是说IPTV和OTT互联网视频运营商如Youtube、土豆网等都有足够的带宽或者共享同一个级别的带宽, 那么同样都能看高清, 干吗还用你的。其最终结果会对IPTV业务的推广不利。”

广电重在磨合落地在自身改革

对于广电来讲, 三网融合无论是对自身发展带来的巨大价值, 还是为广电企业所创造的更多价值, 如何避免电信在宽带发展中所走过的弯路, 如何让广电网络应用到最先进的技术, 建造最先进的网络架构来服务于广电网络, 这才是当前三网融合最重要的方向。刘永春向记者透露, “我们希望能够将电信与有线的各自思路有效的结合起来, 但目前由于我们是带着固网的思维去考虑有线, 和有线的思维上有一些差异, 因此目前还属于磨合阶段。”

另外, 广电自身的体制改革与人才引进也是燃眉之急。有专家指出, 广电系统整合在技术方面问题不大, 最主要还是一个体制和专业人才问题。刘永春表示, “在专业人才上, 上海贝尔期望与广电有线做更多的交流以及协助培养更多的网络人才, 相对来讲, 对于互联网、IP网络, 广电还是很陌生的, 专业人才有很大的缺口。”如此看来, 广电内部体制调整与人才引进如何, 也将是它能否成功的关键。

写在最后

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com

上一篇:职业性氟骨病下一篇:电信机房空调节能

付费复制
期刊天下网10年专业运营,值得您的信赖

限时特价:7.98元/篇

原价:20元
微信支付
已付款请点这里联系客服
欢迎使用微信支付
扫一扫微信支付
微信支付:
支付成功
已获得文章复制权限
确定
常见问题