零雨其蒙's Blog

做优秀的程序员
随笔 - 59, 文章 - 13, 评论 - 58, 引用 - 0
数据加载中……

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

第一部分 

87

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

810

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

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

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

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

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

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

811-8月13

   研究持续集成Ant+JUnit+CruiseControl

814

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

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

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

815-8月18

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

   选型工作主要包括如下内容:

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的细节,也就是它究竟能做什么还不是很了解。

819

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

820

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

   开始研究Spring+HibernateDemo

821

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

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

822

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

823

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

824

老师提出Weblogic里有O/R Mapping功能,于是研究了一天,撰写了《持久化策略选型:EJB2.x实体和Hibernate》一文。

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

于是开始着手研究AIXWeblogic

825

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

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

826~8月27

   开始系统研究Hibernate,有感于自己持久化理论之差。

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

    分别撰写需求报告。

828

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

831

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

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

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

91

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

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

9298

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

98

    开会进行了分工:

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

2、我和赵元负责Spring+Hibernate

3、郭勇和高鹏负责AIX

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

99

老师又提出Dorado,宋岩和邢戬研究了一上午,觉得其过于强大,无法驾驭,对于所有的东西自成体系,没法和其他框架整合。

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

910

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

911

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

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

913

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

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

老师提出自动安排泊位和桩位功能,涉及到ComboBox联动问题。

914

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

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

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

915

当切换到新的数据库时,发现两个业务主键的生成规则竟然变了,导致程序异常无法使用。再一次看出业务主键的缺点。同时发现Hibernate对于数据库切换觉有优势,只需要修改配置文件即可。

后来又花了一下午时间,我和邢戬解决了上述问题。

在过去的一个月时间里,对照《敏捷软件开发技术指导大纲(提案)》中的内容:

1、敏捷开发方法

1)        JUnit测试驱动开发

2)        Ant自动构建,CruiseControl持续集成

3)        结对编程

4)        重构

5)        简单设计,领域驱动设计

2、面向对象

1)        领域建模

2)        契约式编程

3、技术和框架的应用

1)        AIX:基本命令的使用,安装Oracle

2)        WeblogicJBoss

3)        EJB实体BeanHibernate

4)        Spring

5)        Struts

6)        Ajax框架:ExtDoradoDWRGWT

7)        Xfire Web Service

4、规范

             完成了昼夜作业计划第一个迭代版本,具体的经验成果请见下一部分。

posted on 2007-09-18 01:24 零雨其蒙 阅读(775) 评论(3)  编辑  收藏 所属分类: 项目随感

评论

# re: 8月6日到9月15日项目小结(一)  回复  更多评论   

你的主页打开时好慢啊...
2007-10-07 17:30 | JIESSY

# re: 8月6日到9月15日项目小结(一)  回复  更多评论   

高手,請幫我看一下SSH整合中,Spring注入問題,謝謝!!
http://topic.csdn.net/u/20080314/11/84f8d04b-d441-4eb3-975a-bcf8d2d8b2b7.html
2008-03-17 09:25 | sing

# re: 8月6日到9月15日项目小结(一)  回复  更多评论   

请教下博主,我要做个struts+ext的毕业设计,老是不知道怎么整合,博主能不能给在下发一个整合的DEMO啊,比如像登陆模块之类的,我的邮箱是1758_love@163.com,谢谢啦
2008-03-24 10:49 | laitao

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问