实现之初最耗人的是从关于我这条流程的需求文档中挖掘出实现此流程所需的信息和理解IBM内部的框架(Cairngorm的一个代替品),同高需求的人员是接受流程之处不可或缺的一步,要反复从他们口中获取软件的真实模样、实现的真实思路。
搞开发需求明朗后再去动手开发,否则需要很大程度上的反攻,当然为了理解,不阻止做lab哦。了解框架和系统架构需要些时日,来了十几天,大概对怎么使用此系统所有框架和架构有所熟悉了。
什么是软件架构,软件架构师又要做些什么呢,在此引言。
“软件架构代表了系统的组织结构。这包括将系统分解为不同的部分、界定它们之间的连接、确定它们之间的交换机制、并且为后续的设计提供指导性的原则”——三个火枪手
”一个软件系统的架构师是一个要担负起软件系统的定义、架构的实现、系统的实施、系统架构演化和系统演化的人。换句话说,是一个要为系统整个生命周期负责的人。”
当然来到这发现好多做架构的,你可不要认为都是做软件架构的,在不同场合可能会遇到不同的架构师——解决方案架构师、系统架构师、软件架构师、企业架构师、首席架构师、Java架构师、微软架构师及.NET架构师等等。
当然来到这听说IBM有很多架构师是不懂开发技术的,但我认为软件架构师是一定是要从开发人员走来的,要有开发大项目管理大项目的经验。
当然我们在设计软件的时候,也许会使用一个通用的框架,会买另一家公司的工具,但是如《No Silver Bullets》一书所言——世上没有万能的解药,很多时候我们使用通用的架构(如J2EE、CORBA等)或框架是不能解决或不能最合适的解决我们的问题的,作为一个架构师应该自己动手解决问题。
现在这个项目组的架构师,是精通Flex的,他做的架构和代替Cairngorm框架虽然目前还不能很好的理解,但是至少这些是我看到了一个架构师在努力为一个项目思考,而不是现套现搬。当然在项目中不使用已成熟的产品或工具也是不明智的,如此项目使用到了JPA项目等。
最后再胡乱说几句,但莫一笑置之。
程序要要敢于大胆猜测,仔细调试验证,要不断优化代码
架构师要做的包括保证项目编程风格的可控性,提升团队开发效率,保证需求变更的可调性
客户的需求是时常变化的,而且随着开发的深入,客户的需求可能会爆炸式的增长。原定的需求是也许是一个桃子,但当把桃子做的差不多时,客户可能会突然感觉到自己原来要的是西瓜。
要做最主要的事情,看清哪个是甲方最急切需要的.
大项目很难一下都上线.