精华内容
下载资源
问答
  • 软件架构师

    2007-07-02 18:52:00
    现在软件架构师满天飞,是个写代码的都称自己为软件架构师,就象开个公司管上四五号人就给自己按个CEO头衔一样,着实让人好笑。于是到网上GOOGLE了一下看看软件构架师具体是个啥东东,有想做货真价实的构架师,就...
    现在软件架构师满天飞,是个写代码的都称自己为软件架构师,就象开个公司管上四五号人就给自己按个CEO头衔一样,着实让人好笑。于是到网上GOOGLE了一下看看软件构架师具体是个啥东东,有想做货真价实的构架师,就朝着那方向努力吧。网摘如下:

    软件架构师的职责:将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。

    软件架构师的具体工作:
        (
    1)在需求阶段,软件架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查和客户及市场人员所提出的需求,确认开发团队所提出的设计;
        (
    2)在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;
        (
    3)在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;
        (
    4)在编码阶段,架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;
        (
    5)随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点;
        (
    6)在软件维护开始时,软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。
     
    软件架构师的要求
          (
    1)必须对开发技术非常了解,具有丰富的软件设计与开发经验,关键时候能对技术的选择作出及时、有效的决定。
          (
    2)有良好的组织管理能力:沟通、领导、团队协作
          (
    3)构件通信机制方面的知识:远程调用、JAVARMI、CORBA、COM/DCOM、各种标准的通信协议、网络服务、面对对象数据库、关系数据库等等

    成长为软件架构师的几个阶段:
          (
    1)构架师胚胎(程序员):语言基础、设计基础、通信基础等,内容包括java、c、c++、uml、RUP、XML、socket通信(通信协议)
          (
    2)构架师萌芽(高级程序员):分布式系统组建等内容,包括分布式系统原理、ejb、corba、com/com+、webservice、网络计算机、高性能并发处理等
          (
    3)构架师幼苗(设计师):透彻掌握设计模式,包括设计模式(c++版本、java版本)、ejb设计模式、J2EE构架、UDDI、软件设计模式等。此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理
    展开全文
  • 软件架构师求职:我2017年10月6号入职,这4个月,仍有4个邀请,都拒绝了。 如何成为软件架构师:理论联系实践。 软件架构师培训:不需要! 何志丹  2014年过了软考的软件架构师,2016年4月25号到极点3维...

    软件架构师求职:我2017年10月6号入职,这4个月,仍有4个邀请,都拒绝了。

    如何成为软件架构师:理论联系实践。

    软件架构师培训:不需要!

    何志丹

         2014年过了软考的软件架构师,2016年4月25号到极点3维(索菲亚控股)当软件架构师,2016年12月1号,因身体不适停薪留职。期间到朋友(广州顶丰)那帮忙,职位也是软件架构师。谈一下工作内容:
           1,开发一个独立子系统:日志系统。主要是为了熟悉代码。
           2,重构 数据同步代码,代码由10000行减到5000多行,功能反而增加了。
          3,删除不用的代码与注释。目的:a,增强可理解性(多人合作时,不用的代码经常浪费别人的时间)。b,提高编译速度。
          4,将别人已封装或可封装的代码提到公共库。注意:公共库不要包括可能要到,但没用到的东西。
          5,经常修改的类或函数,进行重新设计。经常修改说明不合理。增强可修改性。
          7,将直接使用的第三方代码(10余万行)封装成dll。a,增强可理解性b,提高编译速度。
          8,维护公共库。减少设计、编码、测 试工作量。
          9,提高稳定性、提高性能。

         10,提出崩溃处理方案。

         11,如果是小团队,教大家版本控制工具(如:VSS)和缺陷管理工具的使用(如:禅道、rdmine)。

         12,引导大家使用软件质量检测工具,如:pclint,这个很难。


    极点3维:摸吧滚打了几年,终于被索菲亚收购,我刚到的时候,20+开发人员,满额:34人。

    顶丰: 机器视觉,硬件为主,总人数50到60人,开发人员4到5人。


    目前开发理念主要有:CMM和敏捷。

    前者重视文档,后者强调沟通。

    前者成本太高,大部分公司的利润率不高,如果采用严格的CMM,铁定亏本。

    敏捷容错性差,一旦走偏,就陷进“软件危机”的泥潭。敏捷方法看起来容易,实行起来难,所以非常容易偏。

    所以,市面上这年类公司少。


    相关博文:

    软件架构师:那些情况下用全局变量危害小

    以软件架构师为中心的工作室相比入职的优势

    展开全文
  • 软件架构师教程,系统架构师讲义

    千次下载 热门讨论 2009-07-24 13:13:48
    软件架构师教程全套,是系统架构师考试的很好的参考教材,免费提供
  • 软件架构师应该知道的97件事.pdf

    千次下载 热门讨论 2012-07-02 14:21:10
    软件架构师应该知道的97件事.pdf
  • 软件架构师的"不归之路"——架构师的职责 一、架构师定义 架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。架构师的主要责任...

    软件架构师的"不归之路"——架构师的职责

    一、架构师定义

    架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功。

    二、构架师的职责

    架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面:
    1、负责公司系统的架构设计、研发工作。
    2、承担从业务向技术转换的桥梁作用。
    3、协助项目经理制定项目计划和控制项目进度。
    4、负责辅助并指导系统分析开展设计工作。
    5、负责组织技术研究和攻关工作。
    6、负责组织和管理公司内部的技术培训工作。
    7、负责组织及带领公司内部员工研究与项目相关的新技术。
    8、管理技术支撑团队并给项目、产品开发实施团队提供技术保障。
    9、理解系统的业务需求,制定系统的整体框架(包括、技术框架和业务框架)。
    10、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。

    三、架构师的目的

    对系统的重用、扩展、安全、性能、伸缩性、简洁等做系统级的把握。
    重用:人们希望系统能够重用以前的代码和设计,从而提高开发效率。
    扩展:人们希望在系统能够保持结构的稳定的前提下很容易地扩充功能和性能。
    简洁:简洁是一种美,好的架构一定易于理解,易于学习,易于维护。

    四、架构师能力要求

    1、系统架构相关的知识和经验。
    2、很强的自学能力、分析能力、解决问题的能力。
    3、写作、沟通表达、培训。

    五、构架设计师(或者构架团队的成员)必须具备的技能

    1、经验:既包括在问题领域的经验(通过彻底了解需求),也包括在软件工程领域的经验。对于一个构架团队,这些素质要求可由各团队成员来分别承担,但其中至少要有一名构架设计师能够把握项目的全局。
    2、领导才能:能够推动各个团队的技术进展,并能在压力下作出关键性的决策然后将其贯彻到底。要提高效率,构架设计师和项目经理必须紧密协作。构架设计师主要负责解决技术问题,项目经理主要负责解决行政管理问题。构架设计师必须有权在技术问题上作出决定。
    3、沟通:能够赢得他人的信任,以对其进行说服、激励和指导。构架设计师不能靠命令进行领导,而必须要赢得项目中其他人员的赞同。为了提高效率,构架设计师必须赢得项目团队、项目经理、客户、用户群体以及管理团队的尊敬。
    4、以目标为中心、积极主动:不懈地追求成效。构架设计师是推动项目发展的技术动力,而不是空想家。在其职业生涯中,成功的构架设计师一直都要在捉摸不定和承受压力的情况下作出折衷决定。构架设计师只有将注意力集中在该做的事情上,才能在项目中取得成功。
    5、专业:精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如J2EE架构等)。具备系统设计员的所有技能,但涉及面更广、抽象级别更高。

    六、构架活动

    确定用例或需求的优先级、进行构架分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定设计机制、确定设计元素、合并已有设计元素。

    七、构架工件

    软件构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议。

    备注:架构师书单 http://blog.csdn.net/calvinxiu/archive/2007/03/06/1522032.aspx

    本文为转载:
    https://blog.csdn.net/hggugfn/article/details/83911711

    展开全文
  • 软件架构师则是软件项目的领军人物,是软件设计过程中最具挑战性的角色,从技术角度来讲,他承担了项目的成败责任。EEEC给“架构师”的定义为“软件架构师是技术主管”,这就意味着他不仅要有高超的技术才能,还要...

    1 前言

    软件架构设计是软件设计的一部分,相当于总体设计,是软件设计过程中一个决定性的环节,架构确定了,软件基本也就定型了。而软件架构师则是软件项目的领军人物,是软件设计过程中最具挑战性的角色,从技术角度来讲,他承担了项目的成败责任。

    EEEC给“架构师”的定义为“软件架构师是技术主管”,这就意味着他不仅要有高超的技术才能,还要有很好的领导才能,他的领导能力在团队中和软件质量控制中起着十分重要的作用。作为一个架构师,他要掌握整个软件项目的前景,调节各小组间关系,要让所有的项目组成成员了解大家共同的目的和目标,并发布标准和章程;要能正确理解软件过程,要在宏观上拥有专业知识,应该拥有很好的设计技巧;要是一个很好的沟通员和谈判代表,要能做出正确的决策等,除此,还有许多他要具备的其它素质。

    2. 做好需求调研和分析

    为保证软件的可用性,要从需求出发设计架构,即:做软件先做需求,这是软件业内人士的共识,但这项工作做得好的却很少。根据调查,属于需求分析和软件设计错误与缺陷的约占软件错误与缺陷的64%;而属于程序代码错误的仅占36%;而因软件错误积累与放大效应,造成整个软件项目拖延或失败情况的高达20%~60%。这些数据表明,搞好需求调研和分析是软件设计和开发的第一步。架构师必须要在需求调研的初期就介入,以保证需求获取的及时、可靠、准确,并对下步工作起指导作用。进行需求调研,不能就事论事,对用户的需求调研要全面、细致。需求要进行全局性的分析,需要有全局的观点,而不是分散地、根据具体的应用开发而进行的调研,这样才能系统地、本质地、概括地把握软件的功能结构。在调研过程中,自始至终都要有用户方的业务人员参加,尤其是强调高层管理人员的重视和亲自参与,架构师及其相应的工作小组要有足够的沟通和理解能力,要能使业务人员在需求调研阶段起主导作用,架构师仅起协助和引导作用,并提供需求调研的科学方法和过程。

    2.1 熟悉建设单位,定义职能域

    在需求调研阶段,架构师首先要全面了解用户中所有人员的需求,首先要了解建设单位的组织机构、业务关系,并根据建设单位中的一些主要业务活动领域,研究定义职能域,这是第一重要任务。职能域是用户功能规划的抽象,应符合建设单位内部各种业务的逻辑关系,而不是现行机构部门的翻版,一经识别,就要保持相对稳定。研制职能域模型时,需要特别注意,要自顶向下规划,并把握好设计职能域的数目;注意用户需求的主次关系,按照重要性、优先级进行权衡取舍。

    2.2 详细调研各项业务过程及其功能分解

    每个职能域都包括一定数目的业务过程,业务过程可以继续分解为业务活动(对应于未来的软件功能),每个功能再分解为更低层的功能,逐级向下分解,直到产生最基本的、不可再分的最小功能单元。

    职能域和业务过程都要独立于当前的组织机构,因为组织机构可能变化,部门的分工也会变化,但整个单位的基本职能和业务相对稳定。职能域或业务过程可能横跨两个或多个业务部门。业务过程的确定可以对照组织机构中各部门负责人的职责来考虑,这样,也可能获得未来软件的操作权限、数据权限的分配和功能模块的划分,这些业务过程是一个单位运作的基本工作,不受报告层次和具体负责人变动的影响。

    调研前,架构师要对调研的内容事先准备,针对不同管理层的用户询问不同的问题,列出问题清单,将操作层、管理层、决策层的需求既联系又区分开来,形成一个金字塔,使下层满足上层的需求。调研时,要收集用户工作中涉及的所有内容,如各种单据、报表、处理规则,再将其串成流程图,以流程图为主线,同时把握以下方面:
    (1)该流程中是否存在不必要的环节;
    (2)流程是否可以简化,是否可以省略一些环节;
    (3)流程中的每个处理环节是否起到了增值提效的作用;
    (4)哪些流程可以并行处理。

    2.3 在调研具体业务时工作小组要把握的重点

    (1)平均频度
    业务发生的频繁程度称为频度,这个数字可以是一个平均值或统计值。频度越高,数据量越大,对响应时间、易操作性等要求就越高。在数据存储时,对大频度的业务或单据要进行充分的考虑。
    (2)高峰期的频度
    必须保证软件在高峰期的响应时间,对软件进行测试时,要模拟高峰期的业务频度。
    (3)单据要求
    单据上的内容也就是单据的属性,它是进行数据结构设计的最基本依据。数据的精度是定义数据库中字段长度的依据;计算生成方法是设计算法的依据;取值范围与计算生成方法是数据完整性检测的依据。
    (4)利于减轻工作量
    减轻人员的工作量是采用新软件的一个目的,花费时间最多、处理方法最复杂的地方往往是软件最关键的地方,也是用户将来验收时最关心的地方。实际上有很多报表由于工作量相当大,用户没有足够的人力与时间来进行处理,这时他便想到了计算机。
    (5)单据报表流程
    要了解单据或报表的来源、单据联数、每联用途、送交单位、送交时间,对来源与去向的追踪可以调查出各个业务、各个单据、各个报表及各个部门之间的联系。
    (6)特殊情况的处理与纠错
    对于特殊情况的处理,体现了软件灵活性,但这其中也隐含着安全危机。用户领域中有很多“合理但不合法,不合理也不合法”的特殊情况,它们出现的机会比较少,在调研时要将这些易遗漏的问题挖掘出来,这些特殊情况有时是软件必须要处理的。
    当用户在某个作业环节出现失误时,手工软件有的采用正规的手续进行纠错,有的则相当随便,这些情况出现的概率也很小,在调研时,可采用穷举的方法,假定在每一个环节都出现失误,逐个环节询问用户的处理方法,防止遗漏。这些细节如果不调研清楚,往往会对软件产生深远的影响。
    (7)考虑长远
    将来用户需求的变化是很正常的现象,如果仅仅着眼于现在,而不对将来有所考虑,软件的寿命便不会长久,要将以后可能的变化考虑在内。需求获取后,务必要将调研的成果编制为文档,可视化需求调研,提供不同的图给不同层次的用户进行确认。对高层领导,可提供总体职能域图或业务流程图,对业务管理人员可提供业务流程图或业务活动图,甚至可以画出用户界面的草图。

    3 需求分析与设计

    架构师所带领的团队做出的关于软件体系结构的决策,将直接影响软件开发的难度和软件维护的难易度,最终决定软件开发的成败。
    作为一个架构师,在进行架构设计时,必须具备以下基本能力:
    (1)他要把整个团队组织在架构周围,并积极地投入到计划活动上,要把架构转化完成任务的先后顺序,这样才能及时地确定在什么位置用什么技术。
    (2)架构师要在技术上做宏观决策,不必关心细节化的事情,由于技术的变化过于频繁,架构师要时与这些变化同步;架构师必须至少能对各种技术有一个整体上的了解,能够熟知每种技术特点及优缺点,只有这样,架构设计师才能在特定的应用场景下,正确地选择各种技术来设计软件架构。
    (3)架构师要能预测最小化项目中可能出现的风险,因为这直接影响到软件架构的稳定性。
    (4)架构师要能与开发人员保持良好的沟通,确保软件设计的实现。

    [来源:万方数据,作者:孟莲蓉]
    出处:http://www.chinasa.info/article/sa001.html
    

    版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

    更多原创文章详见: http://chillyc.info

    微信号 chillyc_info

    展开全文
  • 软件架构师成长之路

    千次阅读 2017-04-20 09:03:56
    软件架构师成长之路, 架构师,他是作为纯技术类最高职业,是公司、企业对个人深厚技术功底的一种认可和肯定,国家层面有系统架构设计师,是众多程序员、软件工程师职业生涯梦寐以求的技术岗位。
  • 如何成为软件架构师软件架构师与系统架构师的区别?成为软件架构师,需要具备哪些技术、能力与经验。还有就是,学习路线!
  • 软件架构师之路

    千次阅读 2014-01-08 18:10:27
    软件架构师之路周恒 常和好友孙向晖探讨软件开发之道,他把我作为架构师推荐到程序员杂志,提笔良久却不敢下笔。虽然多年来一直负责开发浪潮软件的企业应用架构,却总觉软件架构师在软件行业中是一神圣的称号,所以...
  • 软件架构师书籍及高效读书心得

    千次阅读 2017-11-18 09:20:17
    软件架构师书籍及高效读书心得 一、Software Architecture篇 这个领域没有什么"畅销书",可能读者中本来就是开发设计人员与项目经理占了多数,真正定位为架构师而且做的也是架构师工作的不多吧。 1....
  • 软件架构师应具备的十大特点

    千次阅读 2016-03-26 13:40:31
    如果有人问你,作为一个软件架构师需要哪些特质的话,你会怎么回答?从技术层面上讲,架构师的技术要求是首位的。除此之外在做人处事方面,更有魅力的架构师则更受欢迎。 最近有个同事问我,是什么成就了一个架构师...
  • 2019年软件架构师考试时间

    千次阅读 2019-06-24 10:18:50
    2019年软件架构师考试时间2019年软件考试时间 2019年软件考试时间 2019年下半年软考时间已经确认了,考试时间为2019年11月9-10号,有意向报名今年考试的同学要努力了。 软考报名入口 ...
  • 架构师不仅仅是团队中的角色,更是一种思维方式,就算你是程序员,每天也会做很多设计决定,这其中有些颇具架构意义,任何人一旦做出了影响软件系统结构的决定,实际上已经充当了临时的架构师,而无论你是什么角色,...
  • 软件架构师的成长路程

    千次阅读 2013-05-16 14:34:58
    软件架构师的成长路程 文章分类:综合技术   软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发...
  • 软件架构师职责

    千次阅读 2015-11-07 11:12:54
    软件架构师的职责是用最低的花费、最高的收益交付用户需求产品。  项目的起点往往从发掘用户需求开始,通过用户的沟通发现用户潜在需求和产品使用过程中的痛点,交谈过程中要特别注意用户表达渴望或欲望的语句,如...
  • 如何成为软件架构师

    2014-03-13 21:32:58
    什么是软件架构师? 架构师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水最高的技术人才。换句话说,架构师是企业的人力资本,与人力资源相比其能够通过架构、创新使企业获得新的产品、...
  • 软件架构师分类及能力归纳闲扯

    千次阅读 2018-04-16 11:19:55
    软件架构师分类及能力归纳 随着软件开发分工的不断细化,越来越多的软件公司开始网罗架构师。软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,...
  • 软件架构师的角色定位和培养

    千次阅读 2012-09-24 23:32:07
    1 软件架构与软件架构师 定义1(软件架构) 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构不仅指定了...
  • 软件架构师书籍

    千次阅读 2012-10-19 23:53:34
    一、Software Architecture篇  这个领域没有什么...《Software Architect Bootcamp--软件架构师教程》  架构师新手训练营,可惜常以Corba做例子。第2版国内还没有翻译,只好看完中文的第一版再去看电子版
  • 软件架构师应该知道的 97 件事

    千次阅读 2016-08-03 20:07:03
    软件架构师应该知道的 97 件事  1.客户需求重于个人简历(Nitin Borwankar)  客户需求至上。为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违。  2.简化根本复杂性,消除偶发复杂性(Neal Ford)  ...
  • 软件架构师应该知道的97件事

    千次下载 2010-12-06 08:59:18
    若想成为软件架构师,必须知道的97件事情
  • 软件架构师面试题

    千次阅读 2017-09-01 10:02:04
    软件架构师 插件的实现原理 插件有几部分组成 如何实现插件安装,卸载,启用,禁用? 安装,卸载,启用,禁用怎样实现不停机,不关闭服务的情况进行? 口述如何设计一个MVC框架 怎样实现 ...
  • 软件架构师的主要工作职责及能力要求,认证
  • 软件架构师定义

    千次阅读 2011-10-06 00:58:21
    软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的...
  • 软件架构师是什么,做什么

    千次阅读 2014-10-27 18:02:02
    微软“软件架构师”是级别最高的微软认证,它针对拥有十年以上IT管理经验的CIO级别的专业人士。目前全球范围内拥有该项认证的人数仅有大约40人。 架构师的职责主要有如下4条:  1、确认需求  在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 166,936
精华内容 66,774
关键字:

软件架构师