最近应聘系统架构师,面试回答一些问题,加上之前做的一些功课,搜索到一些文章,感觉有必要总结一下,到底如何做一个成功的系统架构师呢?
首先,何谓系统架构师?
IBM工程师的说明是:
架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功
中文Wiki上的说明是:
系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单
这两个解释,加起来基本说明系统架构师的定义。
JAVA系统架构师应该看的几本书
Thinking in Java
Effective Java
UML基础、案例与应用
UML入门提高
软件工匠
设计模式——可复用面向对象软件的基础
重构-改善既有代码的设计
敏捷软件开发-原则、模式、实践
企业应用架构模式
Expert One-on-One J2EE Development without EJB
若是说起架构师,几乎所有的开发人员都知道的一个伟大架构师来自微软,他就是比尔·盖茨。这个20世纪最伟大的技术天才有太多的传奇。对于架构师这个群体,他同样产生了非同小可的作用。作为一个企业的大老板,他是第一个给自己冠之以“首席架构师”头衔的人。也正因如此,整个IT领域才开始不断涌现出架构师这个并不算新的职业。为了追寻微软的架构师文化,我们采访了微软Windows HPC Server架构师徐明强博士,邀请他为我们解密微软的架构师之路。
微软架构师定义
对微软内部的架构师的定义,Windows HPC Server架构师徐明强博士是这么描述的:“微架构师的职责定义主要在两个方面。一是要负责整个项目中技术活动和工程过程,进行领导和协调。二是要负责理解系统本身的业务需求,并且创建合理完善的一个系统体系架构。进一步的细化则可以展开来谈。”
“通常架构师要确立每一个构架视图的整体架构,比如说视图的详细结构、元素的分组以及实现主要分组之间的接口描述。因此和其他角色对比,架构设计师的见解是用在广度,不是在深度,这样才能确保架构师在技术活动中起到领导的作用。第二方面,对于业务需求来说,架构师要负责通过软件架构来决定主要的技术选型。典型的工作包括系统需求设计,实现和部署的视图以及测试等等。”
三种架构师
这种通用的解释如果难于理解,那么是不是会有更具体的实施方法?像微软这样庞大的软件开发组织结构里,架构师会根据产品团队,工作职能进行进一步划分。随后,徐明强开始介绍微软架构师的分类。
“如果要理解微软的架构师职能划分,就需要先了解微软的产品部门划分。通常在微软内部的产品组,有三个更小一级的分组,一是项目经理组,二是开发组,三则是测试组。”
“项目经理组主要是负责业务的需求定义,产品规格书撰写。而开发组则主要负责软件的实现,以满足项目经理所定义的需求规格书。测试团队的主要任务则是确保软件产品交付的质量。不同的分组,有不同的职能划分。因此,我们看做是有项目经理架构师,开发架构师和测试架构师几种基本类型。”
Freebsd 安装php/java bridge 方法与日志
Evan.Jiang
一、 安装Freebsd
安装freebsd的过程可参考其它文档,在这里可略
二、 安装JDK/JRE
1、下载由freebsd开发团队编译好的jdk/jre 1.5版本。
2、安装jdk/jre 1.5版本
1、安装jdk/jre
#pkg_add diablo-jdk-freebsd6-1.5.0.06.00.tbz
#pkg_add diablo-jre-freebsd6-1.5.0.06.00.tbz
2、 安装javavmwrapper
# cd /usr/ports/java/javavmwrapper
# make install clean
三、 下载php/java bridge
1、 下载php/java bridge
在下面网址下载php/java bridge 的源代码版本与字节版本
http://sourceforge.net/project/showfiles.php?group_id=117793
四、 上传php/java bridge
1、用cuteftp或leapftp等工具上传到服务器.
五、 解压php/java bridge
# tar zxvf php-java-bridge_3.1.8rc2.tar.bz2
# unzip –x php-java-bridge_3.1.8rc2_j2ee.zip
六、 安装php/javabridge
进入php/javabridge 解压目录.
1、# phpize && ./configure –disable-backend –with-java= /usr/local/diablo-jdk1.5.0,/usr/local/diablo-jre1.5.0 && /usr/local/bin/gmake
2、#sh install.sh
3、#make install
电视《雍正王朝》讲这么一个故事:大将军年羹尧奉命到青海平叛,清军因路途遥远,军耗巨大,因此力求速战速决。但叛军避开锋芒,东躲西藏,年羹尧没有办法找到叛军决战。这时,朝廷内外压力越来越大,年羹尧陷入困境。这是一位谋士对年说:我知道叛军在那里。年大喜。这位谋士指出,敌人就在不远处的一座皇封寺庙里。年不信,谋士不慌不忙地说:这就是灯下黑,离自己越近就越不可能意识到,但却是最可能的地方。果然,大军一出,大获全胜。
我想讲一些关于程序员对自身认识的故事,这些故事都和灯下黑有关。只要正确认识自己,道理非常简单,但是,到处都可以看到灯下黑的故事。
某程序员,有一天接到一个任务:公司的有一个产品的文件太大,要求采用压缩算法,减少尺寸,最好能压缩20%。
程序员兴高采烈地接受任务:以前没玩过压缩算法,这下可以学习新东西!研究几个月后,他觉得差不多,就交给项目经理。项目经理正等着呢,高兴坏,拿着演示文件就去找产品经理。产品经理开始挺高兴,看完脸就拉下来。打开文件,把所有的文件尺寸一算,很淡淡的说:“才压缩10%,有什么用啊!”
程序员愣住,“不会吧!我看过的,压缩 20%!”
产品经理指着文件列表说:“你看,某文件是压缩20%,可你的压缩算法增加一个动态库文件,尺寸还不小,总共加起来,不就只减少10%吗?”
最近评论