8月6日到9月15日项目小结(一)

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="7" month="8" year="2007">第一部分</st1:chsdate>

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="7" month="8" year="2007">87</st1:chsdate><o:p></o:p>

   开始体验JUnit测试驱动开发,为《敏捷软件开发技术指导大纲(提案)》做准备。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="10" month="8" year="2007">810</st1:chsdate><o:p></o:p>

   撰写《敏捷软件开发技术指导大纲(提案)》,对于项目开发中若干重大事情进行讨论。主要包括:

1.         方法学的选择:敏捷软件开发

2.         开发范型的选择:面向对象

3.         开发工具和框架的选择:Eclipse+Struts+Spring+Hibernate

4.         开发规范:面向对象设计原则,Java开发编码规范

同时这也是接下来的行动指南,可以从下面的记录中看到如何来一步一步完成上面这些内容的学习、研究和实践的。

811-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="13" month="8" year="2007">813</st1:chsdate><o:p></o:p>

   研究持续集成Ant+JUnit+CruiseControl

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="14" month="8" year="2007">814</st1:chsdate><o:p></o:p>

   白天和宋岩一起完成了作业计划的领域建模,同时也将整个系统的核心进行了建模工作。

   晚上和铁东进行了3个小时的结对编程,完成了白天建模的代码。

   应用了领域驱动设计TDD结对编程。发现了Eclipse很多功能对于敏捷开发非常有帮助,比如对于JUnit和重构的集成,代码辅助生成等。

815-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="18" month="8" year="2007">818</st1:chsdate><o:p></o:p>

   研究Struts+Spring+Hibernate,一方面在做方案比选;一方面在看相关的书籍,并进行小程序的测试,同时在撰写编程规范。

   选型工作主要包括如下内容:<o:p></o:p>

1.         Struts1.2Struts2.0中选择了Struts1.2,原因是比较成熟,资源比较多,另外有MyEclipse工具支持。

2.         Spring选择了1.2版本,起初是因为有工具支持,特别是和Hibernate的整合方面,不过后来看来,这也并无益处。不过仔细考虑之后,发现2.0并未添加什么对我们有用的新特性,因此1.22.0对于我们而言是没有区别的。

3.         Hibernate3是毫无疑问的选择了。

   考虑的问题主要是两方面:

   1、如何使用它们

   2、团队中如何使用它们

   Spring的进展比较快,如何进行依赖注入,事务管理,持久化封装,与Struts整合都在理论上搞通了。也就是知道如何操作了。

   再已有的工具基础上引进了MyEClipse帮助开发SSHHibernate的研究主要基于这个工具,对于Hibernate的细节,也就是它究竟能做什么还不是很了解。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="19" month="8" year="2007">819</st1:chsdate><o:p></o:p>

   已经利用Struts+Spring做出了用户登录Demo

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="20" month="8" year="2007">820</st1:chsdate><o:p></o:p>

   使用xfire搞定Web ServiceDelphiJ2EE可以同时访问权限服务。

   开始研究Spring+HibernateDemo

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="21" month="8" year="2007">821</st1:chsdate><o:p></o:p>

   看到Struts2.0的例子,发现其配置文件和标签都特别简洁,继承了WebWork的一些优点,进行了一番挣扎,决定还是使用Struts1.2

   研究Hibernate,可以利用工具创建出Hibernate程序,不过创建出来的POJO非常恶心。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="22" month="8" year="2007">822</st1:chsdate><o:p></o:p>

   终于和邢戬结对编程完成了SSHDemo,并且意外使用了Hibernate的级联保存功能,深刻认识到了所谓的对象-关系阻抗不匹配的含义中的一部分(组合关系映射问题)。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="23" month="8" year="2007">823</st1:chsdate><o:p></o:p>

   我研究Struts,邢戬研究Hibernate,宋岩一直在做界面。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="24" month="8" year="2007">824</st1:chsdate><o:p></o:p>

<st1:personname w:st="on" productid="刘">刘</st1:personname>老师提出Weblogic里有O/R Mapping功能,于是研究了一天,撰写了《持久化策略选型:EJB2.x实体和Hibernate》一文。

同时确定了系统平台,J2EE服务器选用Weblogic,并且和Oracle都放在小型机上。

于是开始着手研究AIXWeblogic

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="25" month="8" year="2007">825</st1:chsdate><o:p></o:p>

早上<st1:personname w:st="on" productid="刘">刘</st1:personname>老师又提出了JBoss,统一用开源或免费的技术平台,JBoss的最新版本已经将IoC容器内置到其中了,也就是说使用JBoss再使用Spring的意义就不大了,但是能够做并不意味着做得好,就像虽然J2EE标准化规范中存在O/RM解决方案,但是业内公认很糟糕就没必要用了。

下午开会确定了垂直切片的系统环境,终于可以开始着手开发。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="26" month="8" year="2007">826</st1:chsdate>~<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="27" month="8" year="2007">827</st1:chsdate><o:p></o:p>

   开始系统研究Hibernate,有感于自己持久化理论之差。 <o:p></o:p>

   根据需求,我们不得不使用Ajax技术,宋岩开始寻找这方面的资料,并且找到了Ext解决方案。并且发现这个已经是社区上的首选框架了。

    分别撰写需求报告。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="28" month="8" year="2007">828</st1:chsdate><o:p></o:p>

和宋岩结对编程搞定了Ext显示昼夜作业计划功能。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="31" month="8" year="2007">831</st1:chsdate><o:p></o:p>

和宋岩结对编程搞定了在Ext grid中选中一条记录。

对于Ajax框架有了更多了解,宋岩又研究了GWT等内容。

我继续研究Hibernate,主要研究了SpringHibernateTemplate类,对于其用法和源代码进行了研究,体会到了开源的一些好处。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="1" month="9" year="2007">91</st1:chsdate><o:p></o:p>

和邢戬结对编程完成了昼夜作业计划的插入,先在JUnit下测试通过了对于昼夜作业计划的保存(遭遇了业务主键生成问题,流水号都是数字竟然使用varchar2型,无法排序,在HQL中做类型转化,找了很久才找到;本来想着只保存昼夜作业计划明细表,没想到它还对应了一个主表,造成参照完整性破坏)。由于中间研究AIXWeblogicJBossEJB等等内容,所以直到要演示了才开始实际的编程。

下午展示了一下功能。并深入的讨论了代理主键替代业务主键的问题。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="2" month="9" year="2007">92</st1:chsdate>到<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="8" month="9" year="2007">98日</st1:chsdate><o:p></o:p>

宋岩和邢戬结对研究Ext+DWR

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="8" month="9" year="2007">98</st1:chsdate><o:p></o:p>

    开会进行了分工:

1、宋岩、邢戬负责表现层。主攻Ext及其它Ajax框架+Struts

2、我和赵元负责Spring+Hibernate

3、郭勇和高鹏负责AIX

4、段文文和张慧琳负责数据库

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="9" month="9" year="2007">99</st1:chsdate><o:p></o:p>

<st1:personname w:st="on" productid="刘">刘</st1:personname>老师又提出Dorado,宋岩和邢戬研究了一上午,觉得其过于强大,无法驾驭,对于所有的东西自成体系,没法和其他框架整合。

花了一晚上时间,终于完成了使用Ext FormGrid写入数据功能。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="10" month="9" year="2007">910</st1:chsdate><o:p></o:p>

终于实现了Ext+Struts+Spring+Hibernate的整合中的增加记录,选中一条记录回显到Form中。这样做不破坏原有的体系架构。宋岩和邢戬停止尝试DWR,开始转向直接使用ExtStruts交互。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="11" month="9" year="2007">911</st1:chsdate><o:p></o:p>

使用Ext完成了删除功能,并且和Dialog联合了起来。

下午和宋岩结对编程,晚上和邢戬结对编程。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="13" month="9" year="2007">913</st1:chsdate><o:p></o:p>

经过两天,Ext这方面已经取得了很大的进步,宋岩对于这部分内容也越来越熟悉。

完成添加昼夜作业计划功能,不过存在中文乱码问题。

<st1:personname w:st="on" productid="黄">黄</st1:personname>老师提出自动安排泊位和桩位功能,涉及到ComboBox联动问题。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="14" month="9" year="2007">914</st1:chsdate><o:p></o:p>

    解决中文乱码问题和ComboBox联动问题。

和邢戬实践了契约式编程,通过定义接口来协调两层的工作。发现还需要对如何进行测试驱动开发进行培训和讲解。

我负责解决技术问题,做出Demo,然后宋岩和邢戬应用到实际的任务中,不过其间依然存在很多问题,致使宋岩通宵达旦,终于完成了添加昼夜作业计划功能。同时增加了Ext menuToolbar等,界面更加美观。

<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="15" month="9" year="2007">915</st1:chsdate><o:p></o:p>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值