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

    今天到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框架的面向对象分析、设计模式;然后就是到各论坛去向个中高手请教。

第七章 软件测试

第七章  软件测试

7、1  软件测试的目的及原则

1、目的:为了发现错误,好的测试能发现至今尚未被发现的错误,成功的测试发现了至今尚未发现的错误

2、原则:由输入和输出组成,还要选择不合理的输入,还要检查程序是否做了它不该做的事,严格执行测试计划,长期保存测试用例,错误多的程序段深入测试,程序员避免测试自己的程序

********

7、2  测试方法

1、表态测试与动态测试

  1)、表态测试:人工检测,计算机辅助静态分析

  2)、动态测试:黑盒和白盒

2、黑盒测试法和白盒测试法

  1)黑盒法:发现:不正确或漏了的功能,接口上能否正确地接受输入数据和产生正确的输出信息,访问外部信息是否有错,性能是否满足要求

  2)白盒法:对程序中尽可能多的逻辑路径进行测试

7、3  测试用例的设计(简单应用)

第六章 软件编码

第六章  软件编码

6、1  程序设计语言的特性及选择

1、程序设计语言特性

  1)、心理特性:歧义性,简洁性,局部性和顺序性,传统性

  2)、工程特性:可移植性,开发工具的可利用性,软件的可重用性,可维护性

  3)、技术特性:

2、程序设计语言的选择

  1)、项目的应用领域:科学工程计算,数据处理与数据库应用,实时处理,系统软件,人工智能

  2)、软件的开发方法

  3)、软件执行的环境

  4)、算法和数据结构的复杂性

  5)、软件开发人员的知识

**********

6、2  程序设计风格

1、源程序文档化:标识符应按意取名,程序应加注释(含序言性注释和功能性注释)

2、数据说明:说明顺序应规范化,变量名按字典顺序,复杂数据结构应加注释

3、语句构造:简单直接

4、输入和输出:格式尽量简单,输入数据合法性,用数据或文件结束标志来控制输入数据,交互式输入时提供可用的选择和边界值,输入格式的一致性,输出数据表格化和图形化

5、效率:是一个性能要求,首先保证程序正确和清晰,提高程序效率的根本途径在于选择良好的设计方法和良好的数据数据结构与算法而不是靠编程时对程序语句做调整(这句话要牢记!)

14天!好快啊

      昨天感冒了,整个晚上都在发烧,影响了复习进度。再加上最近有好多科目要考试,真是焦头烂额啊。

      明天把上午题复习完,转入下午题。

      昨天的汇编试验报告简直不是不堪入目,我都不好意思写名字了。

      下午完善一个小程序,其中使用到了mysql数据库。我保证程序是对的,但是从SQLException中getMessage()得到的信息是: null,  message from server: "#HY000Host 'localhost.localdomain' is not allowed to connect to this MySQL server",为什么会拒绝呢?想不通。

      前天和昨天都不能登陆,不知道什么原因。所以直到现在才来更新。

CONCAT,LENGTH函数

CONCAT(str1,str2)--连接str1和str2;

LENGTH(str)--str的长度(一个汉字的长度是2,一个字符的长度是1)

update article set articlename=CONCAT('cs:',articlename) where LENGTH(articleName)<5 AND userName='xxxxx';