Chinaunix首页 | 论坛 | 博客
  • 博客访问: 195681
  • 博文数量: 73
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 547
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-25 11:26
文章分类
文章存档

2016年(73)

我的朋友

分类: IT业界

2016-10-08 13:55:40

要成为一名软件架构师,绝非一夜之间或一次晋升那么简单。这是一个角色,而不是一个级别。这是一个循序渐进的过程,你会逐渐获得这个角色所需的经验和信心。做好软件架构需要从哪几方面入手呢?

软件一 Beyond Compare

关于代码对比软件,我只推荐你使用代码对比软件!Beyond Compare目前最新版本是4,只需用简单而强大的操作命令,即可开启最优质的对比体验,找出你感兴趣的差异,合并变化,然后同步文件,并生成报告。唯一的遗憾是收费,好在价格不贵,还能接受,不妨先下载一个试用版体验一下。

软件二 MindManager

MindManager 思维导图工具可以快速帮助程序员架构网站结构,进行栏目规划,创造、管理和交流思想。将思想、策略及商务信息转换为行为导图,设置任务进程提醒,更加直观感受整个进度。

软件三 Axure产品经理

Axure虽然是产品经理必用的一款软件,程序员可以用它来做交互原型设计、绘制草图。Axure能够高效率制作产品原型,快速绘制线框图、流程图、网站架构图、示意图、HTML 模版等,比较实用。

软件四 ProcessOn

ProcessOn是一个方便易用、免费高效的在线作图工具,运用它可以免费制作多种图,例如:Flowchart流程图,BPMN图,Org组织结构图,EVC企业价值链图,EPC事件过程链图,并且图形支持正在不断丰富。

1. 架构驱动力

这个角色首先要理解业务目标和管理架构驱动力,软件项目经常纠缠于询问用户需要什么功能,却很少问他们有哪些非功能性需求。非功能性需求和限制往往对软件架构有巨大的影响,因此明确地将其纳入软件架构的角色,可以保证它们被考虑到。

2. 设计软件

设计软件的过程是软件架构角色的一部分,这涉及要理解如何解决架构驱动力带来的问题,创建软件系统的整体结构,并为交付设定一个愿景。软件设计的一个关键部分是技术选择,这通常是一个有趣的练习,但也有一定的挑战。

3. 技术风险

到目前为止的内容可以帮你专注于构建好的解决方案,但并不能保证成功。把最好的设计和最好的技术简单地拼凑在一起,并不意味着整个架构就会成功。你选择的技术是否真的奏效,也是个问题。

4. 架构演化

软件先设计好交给开发团队结果往往适得其反,在整个交付过程中依据不断变化的需求和团队反馈来对其演化。这关乎持续的技术领导,而不是仅仅参与生命周期的开始阶段,然后泰然处之、袖手旁观。

5. 编写代码

做一个“实践派软件架构师”并不一定指涉足日常的编码任务,但确实意味着你要持续地参与到交付中。许多软件架构师都是构建大师,所以经常练手是有意义的。编码为架构师提供与团队分享软件开发经验的方式,帮助他们更好地理解如何从开发的角度看待架构。

6. 质量保证

即使有了世界上最好的架构,糟糕的交付也能让原本可以成功的软件项目失败。质量保证应该是软件架构角色的一部分,但它的内容不只是代码评审。要保证一条基线,它可以是引入一些标准和工作实践,质量保证也包括确保团队对架构实现的一致。

程序员必读之软件架构是一本比较实用的工具书,搭配着软件架构工具进行实践,才能取得预想的效果,在实际编码过程中,Beyond Compare是程序员不可缺少的一款软件,充分利用它可以大大提高工作效率。

 

阅读(1500) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~