8天了。

 马上要考试了,不只是软设,还有汇编,软件工程,马克思,rose一共四门科目。

我要复习的太多了。昨天,把软件工程的课程设计做好了,虽然还有几个地方要完善,不过已经颇具规模了。

昨天在csdn的博可站点发了篇文章,感兴趣的可以看看。关于linux的话题。

10天了!--听侯捷的讲座

这两天,我已经不再复习软件考试了,一方面是时间太忙,好多科目要考试,另一方面是自己有些悲观。再加上要完善一个玩具级的小程序,一天到晚的敲键盘。

星期天到华中科技大学听侯捷先生的讲座,收获颇多,我将见闻写在了在csdn的博客上面,现在被csdn置在首页,有兴趣的可以看看。

组建开发小组公开信、开发方法的思考

    昨天下午从乡下回来,开始思考组建开发小组的公开信。昨晚把公开信提交到了各大java论坛。并向注册本站的网友发了邮件。因为没有写本站的邮件系统,只得用手工的方式把邮件地址添到邮件的暗送栏里,一共有100多个,我在中间插了两个我自己的邮件。但是,今天我却没有收到我发给自己的邮件。所以,肯定有很大一部分网友没有收到我的公开信。我搞不懂了,难道邮件里的暗送等栏目还会有邮件地址数目的限制吗?

    今天看了软件工程的1-4章,其中认真看了第3章:软件需求分析。这章重点讲了结构化分析方法。我对照现在运行着的网站程序,对这个程序的分层DFD(数据流)图有了一个模糊的印象。自己给出了这个程序的顶层DFD图:只有1个外部实体:就是“用户”,用户与这个学习日记系统进行交互。但是,这个顶层DFD图是不是过于简单了,简单得我有点不相信。在0层DFD图中,把学习日记系统分为了:用户注册、用户登录、发帖、改帖、查询等几个加工。

    第四章讲了软件概要设计,我着重看了第四节:面向数据流的设计方法。与第3章讲了结构化分析方法结合,构成了完整的结构化分析与设计技术。我对照网站程序,觉得这个程序的数据流图应该是事务型的。因为Struts框架就是Servlet Controller根据接受的消息而将响应发往不同的Action的框架,这很符合事务型的数据流定义。

    至此,本站V0.9的程序的结构化开发方法基本上有了一点模糊的感觉。但是在我的感觉中,这种方法与面向对象的开发方法比较起来,缺乏一种生机勃勃的灵性,感觉有点机械化、有点死板、有点冷冰冰的剩饭的味道。如果用面向对象的方法来分析设计这个网站系统,整个感觉一下活了起来:这个系统不就是一位热心的朋友吗?在为我们人类的互相交流而辛勤的忙碌着。

    我要继续思考与探索学习日记新程序的开发方法。

   

软件工程的书终于草草的过了一遍

    今天到3个论坛上去发了讨论我这个网站程序运用面向对象技术分析、设计的问题,到现在为止,有1人给了回答。umlchina.com上我还不会发帖,不知是怎么样操作的。   

    明天陆续把小结写好,准备看第二遍。现在10:30分,该睡觉了,身体是革命的本钱!

解决:jsp页面中文显示问题

    问题:http://www.learndiary.com/disDiaryContentAction.do?goalID=267

日记标题 问题:jsp中文显示,<c:set>的值可否是对象?meta标记  作者: admin  创建时间: 2004-10-21 21:52:13 

在论坛上解决了这个问题,结果竟是如此简单:加上<%@ page pageEncoding="gb2312" %>,决定jsp页面编写时的编码。<%@ page content_type="text/html;charset=UTF-8" %>,决定jsp页面显示在客户端浏览器的编码。

    在解决这个问题的同时,我还发现了一篇至今为止我所见过的解决java中文问题最彻底的文章: 

    上篇:http://www.pconline.com.cn/pcedu/empolder/gj/java/0404/366404.html

    下篇:http://www.pconline.com.cn/pcedu/empolder/gj/java/0405/368760.html

    我还没有好好的来理解这篇文章,应该结合java的国际化方案好好的学习一下这篇文章。 

问自己:我为什么要用面向对象的方法重构本

    面向对象技术是至今为止最贴近人类思维习惯的程序设计技术。具有一系列的优点:易重用,易维护,易扩展...。在这个网站程序的编写中,我基本上是以一种搭积木的方式建起来的。没有从面向对象的整体观念出发来写这个程序。为了这个程序以后的发展,这个程序现在还处在萌芽阶段,扭转它的设计思想还不晚。

    1、这个程序有采用oop的基础:因为“万事万物皆对象”,jsp页面是对象,数据库是对象,从广义的角度来说,它们都有自己的属性、方法、状态,都会接受外界的消息页产生一定的动作。它们都可以理解为活生生的对象,尽管,jsp页面、数据库等跟书本上的对象根本就不一样,例如:传统的对象具有3大特点:封装、继承、多态,jsp页面和数据库根本就无法对号入座。但是,反过来说,jsp不也是被jsp容器编译成class后执行的吗?说明jsp也可以被当成是一个对象。

    2、这个程序采用oop有很大的难度:页面和逻辑部分是两种不同的对象,又有Struts框架套在上面,怎么样用oop来分析、来设计,怎么样用UML语言来支持这个面向对象的开发,这是一些我未曾尝试的问题,有没有一个现存的模式可供使用,这都是一个个未知数。

    3、风险与机会共存:风险是白白地浪费时间与精力,结果没有成功地实现目标;机会是可以借此学习软件工程与UML语言,就算不成功,也算曾经努力过。

    4、注意事项:最大的一条就是多查相关资料,寻找一种现存的,用于jsp+struts框架的面向对象分析、设计模式;然后就是到各论坛去向个中高手请教。