来这家公司从事信息化工作已经也有三个年头了,有必要对这三年的工作和成长以及不足之处做一个总结。在此之前,从2001年开始学习JAVA,那时候用Struts的开发的企业也不多,而我在的做项目的企业当时已经自己开发了Struts的快速开发平台,专门做对日软件外包的项目,在这家公司工作,培养了我JAVA基础知识,软件工程的认识以及项目管理的知识。随后博士毕业后去了一家外企做了4年的IT系统集成研究,主要用Eclipse Plugin搭建研究项目的验证的Prototype,期间研究了SOA,SSH,LDAP,Web服务发现等技术。
刚来这家公司的时候,领导决策要将系统做重建开发。项目的具体情况是:我们拥有了成熟的业务功能,只要将老的系统的功能照搬到新的系统中,因此,对于老的系统进行了一次整理和分析,分析了合理的地方,也分析了不合理的地方,不合理的地方,希望在新系统中进行改进,但原则上,数据库表结构不做大的改动,以免将给将来系统迁移带来重大困难。当然,由于随着企业的业务的发展,会有新的需求,但大部分的需求都是没有改变的。
在项目的成员实力方面,没有的是:
1.熟悉JAVA的开发人员。
2.J2EE项目的经验。
有的是:
1.IT项目的开发、测试和维护经验。
2.数据库系统开发经验。(其实很重要的,数据库系统对于企业应用来说,数据也是很关键的,拥有这样面的经验,为项目的后续开发提供了不少的经验支持)
在项目的初期阶段还碰到了技术选型的问题,根据应用的特点,最终选择了C/S三层结构,并选用标准的EJB 3.0作为中间层,采用成熟的商用中间件服务器,这样就解决了ORM,数据持久化等问题,这样便确定了技术方向,这对于没有经验的团队来说,也是艰难的。
上述便是我团队的情况的简要概况。项目总是要做的,因为领导决策了啊。先看上述两个问题我们是如何解决的。
1.针对开发团队没有JAVA的开发经验,进行培训,由我亲自操刀。培训为期15天,从开发环境熟悉,到JAVA基础知识,上午半天讲知识,下午上机练习。
2.针对没有J2EE的项目经验。
整个项目就我一个人有过J2EE的项目经验,但是我以前没有做过J2EE项目的架构师至少没有做过如此大型项目的,我只是做过J2EE项目的开发(B/S的,而本次项目是客户端)并了解软件工程、面向对象的设计、设计模式等。怎么办?我们是这样解决的,请老师。专门请了老师来讲架构设计知识。这还不够,我们花钱请人做架构设计。但只是做架构设计,生成一个架构说明书后,离架构的工作还很远,还有很长的路要走,而在合作公司做好架构设计后,他们的工作也就基本结束了。后面的架构方面的工作,基本上是由我来做的。我说说我都做了什么事情。
(1)按照架构说明书,将整个架构环境搭建起来。
(2)开发一套便于开发人员开发的开发框架。
(3)设计了Swing的MVC模式,并开发实现。
(4)开发了整个系统的基础组件,为了实现架构中的复用的原则,这个很重要。
(5)负责整个系统的权限的管理,这个很重要,跟各个模块都有关系。
(6)负责开发的编码规范的制定,包括JAVA的编码的规范,同时还有质量属性方面的编码的规范。
(7)整个系统的异常处理、日志、错误验证等机制的设计和开发;
(8)第三方系统和工具的集成,如报表系统,浏览工具的集成等;
上述,只有(1)是现成的。其它的都是具体的架构方面的工作。很多人,都以为,架构师嘛,不就是高高在上的,待在象牙塔里给开发人员发号施令的人吗?其实不然,架构师需要每天跟开发人员在一起,一起写代码,一起工作,一起交流。
回顾起,在搭建快速开发框架的过程中,开发人员在开发的过程中,提出了很多有意义的改进的意见,直到今时今日,我们还在改进,只有开明的架构师,才能够设计出好的系统,好的基础组件。当然没有意义的,也被筛选掉的,架构师必须要有这样的决断力。
Swing的MVC模式就不说了,可能每个团队对于该项设计都会有所不同。
说说如何实现组件的复用,要实现组件的复用,必须要鼓励开发人员复用已有的组件以统一界面风格以及减少工作量。那么,就要告诉开发人员,目前我们的系统有哪些基础组件,他们都是怎么样使用或调用的。有了这些,开发人员自然就肯用了。
关于编码规范,可能很多人觉得这是项目开发中的小事情,其实不然,某位架构大师说过,架构无小事,编码规范的执行不力,直接影响到整个项目的代码质量,甚至影响质量。例如,要求不要出现在循环,要释放对象,尽量用StringBuffer等。在编码规范的执行的难度是,不是说你有没有规范,而是你的规范有没有被执行。那么如何使得你的规范被执行呢?
这就需要架构师的耐心和沟通能力了。在整个项目的开发过程中,架构师始终要保持与开发人员的沟通,苦口婆心地说,编码规范的重要性。时间长了,开发人员养成了好的习惯,架构师也就省心了。
根据上述经验,我做个总结。
1.经验是可以复制的,当您没有这方面的人员时,最好请求专业或外援,并培养自己的人员,同时有吸收的学习。
2.架构师是整个团队的技术领导,需要具备领导能力。
3.架构师需要较强的沟通能力,需要与项目的各个方面的人员进行沟通,与项目经理沟通,帮助项目经理制定合理的开发计划;与需求分析员沟通,了解系统的关键需求和非功能性需求;与开发人员沟通,使得架构设计能够被真正执行;另外还有与项目经理、物理架构负责人沟通等等。
4.架构师需要编写代码,这样使自己积累更多的代码经验,加深理解设计模式,可以帮助自己对于整个项目更加熟悉,同时能够回答开发人员在开发过程中出现的所有的问题,树立个人威信。
5.架构师需要有较强的IT知识和广博的知识面。IT的知识更新非常快,现在云计算等的出现,必然要淘汰一部分架构师,因此,架构师要保持生命力,必须要不断地学习。
6.架构师要懂业务知识。架构设计要满足系统的需求。我虽然刚到公司不久,但由于之前积累了很多业务相关的知识,经过短期的学习,也掌握了业务知识。
7.不要怕做事情,我在整个系统的开发过程中,我的开发量是别人的三倍还多,但我收获的,则也是三倍还多的经验。
自己的不足之处:
1.有时候会着急,当规范强调了10遍,还是没有得到很好的执行时,就开始没有耐心了。
2.需要加强沟通能力,将自己的想法能够推销出去。
3.需要在更多的业务领域知识方面得到快速的增长。
下一步的目标
1.系统理论地学习架构知识,使得知识更加固化,以进一步使得架构设计更加科学和有调理;
2.通过广泛地阅读学习企业信息化的各个方面的知识,包括ERP,SCM,营销管理,企业战略,企业管理等,每年看书或阅读文章至少100本或篇;
3.熟悉企业的业务流程,与企业不同层次的人员多多地进行交流,多学习,多沟通;
4.多交朋友,多向朋友学习与交流。
张
分享到:
相关推荐
系统架构师是负责设计和指导整个软件系统架构的关键角色,他们需要具备丰富的知识和技能,以确保软件系统的构建既满足当前的业务需求,又具有良好的扩展性和维护性。系统架构师的学习笔记,通常是资深架构师或者对...
通过《架构师成长之路》这本书,读者可以系统地学习到这些关键的知识点,并结合实际工作经验,逐步成长为一名出色的架构师。书中的案例分析和实战指导,将帮助读者在理论与实践中找到平衡,加速自己的职业发展。
此外,还包括与系统架构师相关的其他团队角色的协调工作,以及系统架构师个人知识结构和成长路径。另外,本笔记还涵盖了计算机基础,特别是操作系统的基础知识,这对于系统架构设计师来说是必须掌握的。 首先,架构...
系统架构师的角色介于项目管理师和系统分析师之间,负责为团队设定清晰的目标,避免因角色冲突导致的问题。 从开发人员成长为架构师,需要时间和经验积累,通过不断总结自己的实践,深入行业应用,才能形成自己的...
#### 四、系统架构师的知识结构与成长路径 - **知识结构**:系统架构师应从众多系统方法和工具中甄别有效性,理解并应用各种架构模式,深入行业总结通用规律。 - **成长路径**:从开发人员到架构师的转型,需要不断...
根据提供的文件信息,这里主要涉及的是“系统架构师视频下载”的相关内容。虽然给出的信息较为简略,但从这些信息中我们可以挖掘出与系统架构师相关的知识点,包括但不限于系统架构师的角色、职责以及学习资源等方面...
在这个过程中,持续学习、拓宽视野、提升沟通能力和业务理解,都将有助于程序员逐步成长为一名优秀的架构师。通过阅读"系统架构设计程序员向架构师转型之路.pdf"这本书,读者可以更深入地了解这个过程,获取实用的...
3. **职业规划**:系统架构师应注重个人职业发展规划,不断提升自己的综合能力,为职业生涯的长期发展奠定坚实的基础。 综上所述,系统架构师的职责不仅仅是技术层面的设计与实现,更涉及到对业务的理解、团队的...
《系统架构师论文范文50篇》集合是一个珍贵的学习资源,专为那些追求技术卓越、致力于成为优秀系统架构师的专业人士准备。系统架构师在IT行业中扮演着至关重要的角色,他们负责设计、规划和实施复杂的计算机系统,...
系统架构师在IT行业中扮演着至关重要的角色,他们负责设计、规划和实施复杂的软件系统,以满足业务需求并确保系统...这篇论文范文旨在为有意从事这一领域的人提供理论指导和实践经验,帮助他们成长为优秀的系统架构师。
《系统架构师官方教材》是一份详尽的资源包,专为那些致力于成为或已经在担任系统架构师的专业人士设计。这份教材涵盖了系统架构师所需掌握的广泛知识领域,旨在帮助学习者深入理解如何设计、构建和优化复杂的技术...
在这个“架构师成长之路”中,我们将深入探讨2017年1月时架构师面临的挑战、发展趋势以及必备技能。 一、架构师的角色与职责 架构师不仅仅是技术专家,更是战略思考者。他们需要理解业务目标,分析需求,设计可扩展...
以某位系统架构师的职业经历为例:他从一名普通的软件工程师做起,在不断的学习和实践中逐渐成长为一名优秀的系统架构师。在这个过程中,他不仅掌握了多种编程语言和技术框架,还积累了丰富的项目管理经验。特别是在...
通过深入阅读这些论文,不仅可以了解系统架构的前沿理论,还能学习到实践经验,这对于成长为一名合格的系统架构师至关重要。同时,论文中的案例分析和解决方案可以作为实际工作中遇到问题时的参考,帮助我们做出更...
- **系统架构师的概念**:系统架构师在信息系统开发过程中扮演着至关重要的角色,他们不仅关注系统的“技术实现”,还需考虑“组织协调”。架构师需要理解、管理并最终确认非功能性系统需求,给出开发规范,并搭建...
架构师,这个在IT领域充满着技术智慧与策略智慧的词汇,不仅代表着一个职位,更是对个人专业能力及综合素质的极大认可。...这份系列读物是架构师成长路上的灯塔,引领着每一个有志于架构领域的人,成为真正的架构大师。
书中区分了测试经理、系统架构师和测试架构师的不同职责,并详细列出了测试架构师所需的知识能力模型,包括软件产品质量模型、测试类型、方法、设计技术、探索式测试、自动化测试等。通过这些知识和技能的积累,测试...
Linux架构师成长笔记介绍了Linux领域中的虚拟化技术,这是Linux系统管理和架构设计中的一个重要主题。在虚拟化技术中,我们可以根据资源的不同进行分类,包括平台虚拟化和操作系统虚拟化。 首先,平台虚拟化是指在...
- **定义**:软件架构师通常被视为一个组织中的技术领袖,他们负责制定软件产品的技术路线和技术框架,确保产品的可扩展性和高效性。 - **角色**:作为公司的“金领”,软件架构师不仅拥有较高的收入,还需要具备...