2005-09-16

虚拟机的应用

虚拟机的应用
http://qxbbs.org/viewtopic.php?t=18726&start=0&postdays=0&postorder=asc&highlight=&sid=494a2df12b48a1e8fdca8ae0e7bfb752
一、 什么是虚拟机
VMwareVMware公司出品的一个多系统安装软件。利用它,你可以在一台电脑上将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系统而互不干扰,这些“新”机器各自拥有自己独立的CMOS、硬盘和操作系统,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。在虚拟系统崩溃之后可直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。同时它也是唯一的能在WindowsLinux主机平台上运行的虚拟计算机软件。VMware虚拟机软件不需要重开机,就能在同一台电脑使用好几个OS,不但方便,而且安全。虚拟机在学习技术方面能够发挥很大的作用。

二、 安装虚拟平台
在安装上没必要作过多的介绍(直接按提示点击下一步),请大家注意的是VMware只能安装在WinNT/2000/XPLinux,以及FreeBSD下。装好之后,你可以发现你多了两块名为VMware Virtual Ethernet Adapter (basic host-only support for VMnet1)VMware Virtual Ethernet Adapter (Network Address Translation (NAT) for VMnet8)的虚拟网卡,这也是VMware的特色所在,因为在VMware下你可以使用虚拟网卡进行联网设置及其试验。

三、建立一个虚拟系统
双击桌面的“VMware”图标,即可进入VMware的主窗口,点击右侧的New Virtual Machine即可新建一个虚拟系统,之后选择Typical,再选择一种要安装的操作系统。

其他按钮分别是POWER OFF:关机。Suspend:挂起,可以让虚拟机记录下当前虚拟系统的状态,下次可以用Resume重新恢复选择挂起时的运行状态,以便接着工作。Reset:重启,相当于物理计算机的RESET按钮。Full Screen:全屏,将虚拟机全屏显示。现在一台和真实计算机一样的机器已经建起来了,点击虚拟机的窗口,你的鼠标就融入虚拟系统了,你可以和使用一台真的计算机一样使用它了,而且任何设置都不会影响到你本机。如果想回到主机系统,则可以按Ctrl+Alt使鼠标回到主机系统。不要在虚拟机中使用Ctrl+Alt+Del组合键,因为主机系统同样也会对这个组合键做出反应,你应当使用Ctrl+Alt+Ins来代替。

虚拟机的启动过程和你的PC的启动过程也是没有什么不同的,一开始是自检,这时按F2可以进入BIOS设置。每一台虚拟机都有它自己的BIOS

请到BIOS中去设置启动顺序(这里的BIOS当然是虚拟机中的BIOS)。之后便可使用光盘来启动安装(虚拟机可以用光盘镜像如:ISOvcd文件作为光盘。比如从网上下载的Linux ISO文件,不需刻盘,可直接安装。软驱同理)。在光盘启动后要选择Text mode。实际上你即便是选择图形模式,安装程序检测后还是会跳到Text mode。而有时在检测的过程中会死机。在安装其他版本的Linux就没有这种情况。安装的时间可能比在一台单独的PC上安装的时间要略长。

你会发现在虚拟机中的设备和你实际的设备完全不一样,VMware为了保证系统的兼容性和稳定性,把现有的设备都虚拟成了最标准的、兼容性最好的设备。由于实际驱动设备的程序仍是在本机系统上运行的驱动程序,实际上的效率并没有多少降低。所以不要试图按照自己的机器配置系统。除此之外,在虚拟机中不用也不能安装任何驱动程序。

四、 拟机加强安全
用虚拟机可以加强系统安全性,虚拟机安装成功后,可以把虚拟系统文件备份,在以后使用虚拟系统中,出现问题,可直接删除原来的虚拟系统。虚拟系统还可以直接拷贝使用,比万能GHOST克隆还方便。其实虚拟机用起来一点都不复杂,只要排出畏难心理,用好GOOGLE,很快就能掌握。还有一种虚拟机软件就是MS Virtual PC 2004

五、应用以及技巧

1.使用虚拟机学习和体验新的操作系统和新技术
使用虚拟机的还有很大一部分用户都是需要采用虚拟机来模拟非当前操作系统或者比较复杂的网络环境,通过在虚拟的操作系统环境中进行操作,熟悉操作和新技术,来达到事半功倍的目的。VMware只是一个软件,可以帮助你在一个操作系统的环境下安装另一个操作系统,所以在安装操作系统之前,仍然需要对硬盘进行分区和格式化的操作。正因为此,我觉得虚拟机最好玩的地方在于,对于一个新手来说,这个东西可以让你学习如何对硬盘分区,并设置活动分区,然后格式化,然后装系统。像一些直接操作硬盘尤其是分区表和fat的软件,也可以用虚拟机来学习应用,这样不会对硬盘有什么大的伤害。同时由于VMware虚拟机软件允许同时装多个虚拟机,譬如说,主机的操作系统是Windows 2000,这样你可以再装一个Windows 98Windows 2000,甚至Linux,这样就可以在Windows的环境下,学习Linux了。

2.使用虚拟机来测试操作系统ISO文件
可能不少朋友都会觉得这个想法很奇怪,难道检测ISO文件不能使用别的办法而非要使用虚拟机吗?其实检测操作系统ISO的文件最简单的办法的确是使用VMware软件,因为如果想要检测该ISO文件的话,您需要把ISO文件刻盘,然后重新安装才能了解到刻出来的盘是否真的成功,程序文件是否完全,有无丢失,而当你使用了虚拟机软件之后,麻烦就少了许多,你现在完全可以使用虚拟机软件来检测ISO文件的好坏。首先使用VMware创建一个新的虚拟机,选择"Custom"然后选择"Windows XP Professional"作为操作系统。如果愿意,你可以编辑一下虚拟机的名称和保存位置。你也可以重新调整一下分配给虚拟机的内存大小,接着设置你的网络连接,这里我建议你选择"Do not use a network connection"因为它和我的网络连接有冲突,而且在这个测试中也没必要使用网络。选择"Create a new virtual disk",然后如果愿意你也可以重设一下虚拟机磁盘的大小,默认的大小就是可以使用的最大值。如果你仅仅是为了测试,用不了4GB,那么磁盘文件就不会占据4GB的空间,但如果虚拟机使用超过了4GB,软件会自动分配给虚拟机更多的磁盘空间。如果你想要测试OEM预安装模式,并且要使用6GB左右的空间,那么你最好在这里就调整得大一些。完成后,选择"Edit virtual machine settings",选中光驱,然后选择"Use ISO Image",选中你的ISO文件,点击“确定”,然后启动虚拟机,安装过程就开始了。等到安装结束后,你就得知这个刻录的ISO文件是否文件齐全,是否有错误了。

3.使用VMware虚拟机截图
相信大家都看到过微软操作系统蓝屏的照片或者图片,大家在笑过之后是否会疑惑如果系统蓝屏了那我们该如何截图呢?如果有数码相机的话,很简单,只需要拍照就可以了。但是没有数码相机呢?那你就需要使用到VMware虚拟机了,所以大家见到的很多操作系统蓝屏和BIOS设置的图片都是使用VMware虚拟机截出来的图片。这下大家应该不再迷惑了,知道了那些图片是如何而来的了。
其实VMware虚拟机还有更多更有趣的玩法,这些都需要大家去慢慢摸索,笔者在这里介绍的也只是VMware虚拟机用途的冰山之一角,更多的好玩之处大家慢慢琢磨,相信大家会发现其拥有更多好玩和实用的功能。在这里笔者还要大家注意的就是VMware虚拟机软件的运行需要大量的资源,尤其是内存,不然会明显地感到机器很慢,机器一定要在256M内存以上才可安装使用,在这里也希望大家能快速上手。一台电脑装几十个系统?不是不可能嘛!


root回复:
虚拟机系统装好了之后,会生成一个文件,你把那个文件拷到别的机器上,只要那台机器也装虚拟机软件,就可以用拷过来的系统,与你机器的硬件无关。慢是因为他要求你的内存要大一点,对机器配置要求有点高。你要删除的话,直接删除这个系统文件就可以直接删除了,注意要用清道夫类的彻底删除软件,直接删除的文件还是能找回来。不过把虚拟系统放到加密盘里安全性就更好了。虚拟机还有一个好处就是可以做联系装系统,装坏了也不要紧。安装有两种方式,一种是用光盘,一种是用ISO文件,都可以安装系统。 Workstation 可在一部PC机运行多种操作系统和应用软件,模拟完整的网络环境,提高计算机硬件的利用率。Workstation为主机平台提供了更多的选择,包含Microsoft WindowsLinuxNovell NetWare 等。Workstation简化我们日常的工作流程与技术支援服务,它提供许多功能,如可以让我们安装並测试新的应用程式或在不同机器之间的转移资讯,以提供给客戶最有效的服务。Workstation的稳定性与強大的功能性胜过了市面上其他的虛拟计算机软件,广泛应用于软件开发测试,教育培训,软件技术支持等领域。 GSX Server为基于Intel处理器的服务器开发的企业级的虚拟计算机软件。GSX Server將一台实体的主机变成许多的虛拟服务器,這些虛拟服务器其实是由单一的硬件所架构成的,系统资源依据每一台虛拟服务器的需求,分配到所有的虛拟服务器。GSX Server藉由各自独立且可以传递的虛拟服务器以精简架构,让虛拟服务器在相同的安全平台上提供远端管理,迅速部署,規格制式化的功能。它能很容易地移植到任何系统环境中,降低硬件及服务成本,是市场上操作设置最为灵活和简便的虚拟计算机软件。

“梦见草”回复:
我之前用过Virtul PC,但总觉得它的执行速度较慢些
之前在某网站上看过一篇效能评比
评比的结果是 VMware 在各方面的处理速度都要比 Virtul PC 来得快许多
这几天我装了VMware来试试,
VMware装起来时,它会在你的电脑上安装两张虚拟网路卡
分别叫做
VMware Network Adapter VMnet1 (192.168.142.1)
VMware Network Adapter VMnet8 (192.168.75.1)
是为了给 VMware 用的
我在VMware内安装 winxp 装到一半好像当掉了,没空处理,就搁着不管,改天有空再重灌好了。
可是这两天郤发现我的区域网路的部份功能不能使用,连不到其它台电脑,也不能用网路印表机...等等一些怪问题都无法解决。 最后我把那两张虚拟网路卡,设定为停用,一切问题就都解决了。
最近也发现一个问题 VMware 似乎与 Zone Alarm 防火墙配合的不太好
也就是说当你安装了 VMware 之后,它会在你的系统内常驻一个程式,与网路方面有关的程式,就算你没有执行 VMware ,这个程式还是不时的有网路方面的动作,造成防火墙的负担,使得CPU的使用率频频高升。这样一来,就导致系统因为CPU被拖累,使得整个系统的执行效能下降许多。
如果有装VMware Zone Alarm 的人,请观察一下,在你的系统没有运行任程式的情况下,CPU使用率的运行状况就知道了。
最后因为它影响我整个系统的效能,不得已只好把 VMware 全部移除。
Virtul PC 則不會造成此問題。

Log回复:
454b20e4007dd16f2173c29f0d230be2 VMware-workstation-5.0.0-13124.exe 才下的msn给的连接 大小:58,674,096 字节


MSN回复:
下载 VMware5 注册机的 emule 链接 写到:
ed2k://|file|vmw5keygen.rar|162442|66678E08B8E3F35A1E8FF53E01204F2B|h=XN7UGO3YBAHOLQLCXSKIV326FPECBDUB|/  

0LJ08-9044E-821DG-4MDZ7
FVWK8-PKF0E-32J4F-4WEZP
K05R9-UKAD4-P846Y-4P8Z3
NTRWR-J8Z84-J0M6V-4WXX7
CC1F8-FW8FA-V0N6U-4Y9ZP

Mingji回复:
VMware Workstation v4.0.5 Build 6030 特别版
软件大小:19 M
sn:
6VMR0-QMV6U-92JF7-4H0JJ
U25WD-M8PAJ-0214P-4R1J0
0JTPX-Q0QD6-QA1FL-4U0J1
MU9HN-4WV29-88M67-4KMJN

VMware教程
http://qxbbs.org/files/vmwaredoc.zip
Virtual PC教程
http://qxbbs.org/files/virtual_pc.zip

制作DVD版的系统维护克隆镜像盘

制作DVD版的系统维护克隆镜像盘

原文:http://bbs.wwwfox.net/cgi-bin/topic.cgi?forum=34&topic=1435&show=5075

今天我用DVD-R刻录盘为我的DELLINSPIRION 8600笔记本电脑制作了一张系统维护克隆镜像盘。此法虽然不具备普遍性,但是我想会起到抛砖引玉的作用,希望大家能够想出更好的办法,我发表这篇文章的意图在于希望大家为自己的系统定制较好的解决方案,为自己的系统定制系统恢复光盘。从而摆脱CD-ROM容量的限制。借此期待完美版的“DVD无忧启动”的诞生。
  
  ◆需要的硬件设备:
   1.  DVD刻录机;
   2.  能够引导DVD光盘启动的DVD光驱(可能要主板支持,若不支持,也有办法,请看“出现的不足”),其实有DVD刻录机就可以了;
   3.  DVD-R刻录盘(最好是DVD-RW盘,有挽回的余地,DVDR挺贵的)
   4.  能够引导系统进行GHOST操作的软盘或光盘。

   ◆需要的软件
   1. “无忧启动3.1版”ISO镜像文件。
   2.  GHOST(为了能兼容最新的操作系统,最好是版本高点的8.0版。虽然“无忧启动3.1”版里面也有"GHOST7.5""GHOST2002",但是那里的"GHOST2002"需要序列号才能进行镜像恢复,而"GHOST 7.5"我没试过。您可以使用WINISO对“无忧启动3.1版”进行编辑,用最新的“GHOST 8.0”来替换“无忧启动3.1版”里面的"GHOST7.5"。在“无忧启动3.1版”里,"GHOST7.5"的路径为BOOT\GHOST\GHOST.EXE)
   3.  MagicISO,可以进行DVDISO镜像的编辑。
   4.  Virtual PC V5.2,用于对镜像文件进行测试
   5.  Virtual DAEMON Manager V3.44 或其他用于解出ISO文件的软件
   6.  NERO刻录软件,推荐6.0版本或更高
  
   ◆制作过程
   1.  全新安装WINDOWS操作系统(我使用的是Windows XP Home Edition), 装上驱动, 打上补丁,进行整理(具体请参加论坛相关内容,鉴于DVD光盘的容量,不必对C盘的容量进行太苛刻的限制)
   2.  可以使用启动软盘或其他方法来使用GHOST,对C盘进行克隆,注意,这一个干净的windows,所以克隆的镜像文件我取名为“XP_CLEAN.GHO.其实现在就可以制作系统维护克隆镜像盘了,直接跳过步骤3。如果还不满足,可以继续下面的步骤。
   3.  安装常用软件(特别是那种安装时间叫人难以忍受的软件),其实重装系统时间就耗在应用软件的安装上。然后对系统进行优化设置。并对磁盘进行整理。
   4.  使用启动软盘或其他方法来使用GHOST,对C盘进行克隆,注意,这是完成版的windows,所以克隆镜像文件我取名为“XP_FINAL.GHO.
   5.  使用MagicISO,打开“无忧启动3.1版”ISO镜像文件,,选择“工具”,在下拉菜单中选择“保存启动信息”,将这个启动信息命名为“wuyou_magiciso",保存下来。
   6.  再次使用MagicISO,新建一个文档,将无忧启动3.1版”ISO镜像文件装载入Virtual DAEMON Manager V3.44中,复制这个虚拟光驱光盘里所有的内容到MagicISO中,并且选择“工具”,在下拉菜单中选择“加载启动映象文件”,将步骤5中“wuyou_magiciso"加载进来,这样,制作出来的ISO文件就具有“无忧启动3.1版”一样的启动功能了。然后,将“XP_CLEAN.GHO”和“XP_FINAL.GHO”两个大块头文件复制入MagicISO中。最后保存,取名为“XP_GHOST.ISO(选一个大一点的分区保存哦)
   7.  使用Virtual PC V5.2对“XP_GHOST.ISO”进行启动测试。进入GHOST后,进行镜像恢复的操作,你就会发现在GHOST选择镜像的操作中,你的系统里会有一个DVD光驱,那就是你的ISO虚拟的DVD盘。选择这个DVD光驱,再选择镜像文件,进行恢复。(恢复后,我的虚拟XP被锁死了,这是由于硬件配置严重不同,XP自动锁死的)。整个恢复过程非常顺利,这和用硬盘恢复是一样的。具体操作方法请您参见论坛相关内容
   8.  如果测试成功,使用NEROISO文件进行DVD盘的烧录。我在DELLINSPIRION 8600笔记本上进行测试,能够引导,并能够再在GHOST上发现DVD-R上的镜像文件。

   ◆注意事项:
   1.  整个过程需要大量的硬盘空间。也需要大量的时间
   2.  注意DVD-R刻录盘的兼容性(有些DVD光驱挑盘)
   3.  有条件的话先用DVD-RW盘进行实战演习。
   4.  硬盘上的GHOST镜像文件不要马上删掉,如果发现DVD光盘无法读取或是恢复出错,可用硬盘上的GHOST镜像文件进行恢复。
   5.  GHOST软件尽量使用高版本的。
   6.  这种方法是不具备普遍性意义的。每个人的计算机都是不同配置的。我发表这篇文章的意图在于希望大家为自己的系统定制较好的解决方案。

  ◆出现的不足:
  刻录完的DVD光盘可以在我的笔记本上正确引导并读取,可是我的台式机并不能引导DVD光盘,但却能在windows98软盘引导后读取DVD光盘,可能是主板不支持。您可以使用CD-ROM版的“无忧启动3.1版”来引导系统,当出现菜单界面后,取出CD-ROM光盘,代之以刻录好的DVD光盘,这样就可以正常的进行操作了。或用windows98软盘引导系统,再放入DVD光盘,进入ghost的目录,手动执行之。

◆我的计算机配置
(1)  DELL INSPIRION 86OO
      不知名的DVDROM
(2)  兼容台式机
      P3 1G
      主板芯片组为815EP(技嘉主板)
      BENQ 160OS DVD-ROM
      外置先锋DVR-104刻录机

  声明:此方法在本人的笔记本和虚拟计算机上测试通过,仅仅为大家作为参考,如因此产生的一切损失,本人恕不负责!

使用虚拟机安装无驱动的xp/2k系统做母盘

使用虚拟机安装无驱动的xp/2k系统做母盘

可以在VMWARE里面做一个XP或者2K的标准系统,然后把硬盘控制器改成标准的,克隆出来,挺好用的。  
如果你不需要改ID名字的话,那么Sysprep都可以不要用了,启动后改改机器名就可以了。  
这系统同样可以在大多数的芯片组下正常运行。  
测试过的机子有VMWAREVPCSIS630芯片,VIA芯片,和INTEL810815芯片等。连我的笔记本也是用的这个克隆。  

首先,做克隆的xp必须是破解版的,否则克隆之后会要你激活.  
其次,最好有两块硬盘,否则做起来会复杂一点.  
其实做克隆的关键就两点:  
1)"IDE ATA/ATAPI控制器"改为"标准双通道pci ide控制器"  
2)"计算机"改为"standard pc"  
至于芯片组驱动,删不删无所谓,据我所知,有些无盘98,为了能使系统能适用于所有主板,就是将做好的98  在各种主板上运行一遍,装上所有主板的驱动再上传,实现主板的pnp.也不会出现芯片组驱动程序的冲突,  因为系统会自动检测并加载适当的驱动.当然,为了保险起见,还是删掉的好.  

根据以上分析得知,做克隆在真实机器上做与在vm上做都可以,只不过我觉得在vm上做更简单方便,理由我前面的帖子中已经说了两点,补充一点,就是做ntfs的克隆,真实系统是很难克的,而在vm上做就方便得多, 当然你得准备好适用于xpghost2003以上版本的ghost.  

最完善的做法:  
1)安装xp  
2)"IDE ATA/ATAPI控制器"改为"标准双通道pci ide控制器"  
3)运行sysprep  
4)关机,起动到dos,克隆.  
这样clone出来的系统,绝对与新安装的一样,适用所有机器,但第一次启动会让你输入序列号,并进行个性化设置.对于我们这些""人来说,两个字--"麻烦",还是不要用sysprep!  

vm中做克隆的步骤:  

方法一(双硬盘):  
1)运行vm,建立一个新虚拟机  
   依次选择:  
       --Typical  
       --Windows XP Professional  
       --Do not use network connection  
2)进入settings...  
   删除usb等不需要的设备,可以只保留MemoryDvd/Cd-rom  
   点击add,添加hard disk,并选择use a physical disk  
   选择physical hard disk 1,并将所有partition都设为write  
3)用光盘启动系统,安装xp  
4)进行一些系统设置:  
   1.进入控制面版->系统->关闭系统还原,以减小生成的gho文件  
   2.显示属性->屏幕保护程序->电源->高级电源管理->启用  
   3.控置面版->系统->高级->性能设置->视觉效果->为桌面图标标签使用阴影  
5)"IDE ATA/ATAPI控制器"改为"标准双通道pci ide控制器"  
   修改"standard PC""Advanced Configuration and Power Interface (ACPI) PC",要不然将不能软关机,而且系统休眠功能不能使用      
6)删除以intel开头的和vm的设备驱动,提示要重启动的时候,不要理它.(这一步可以不做)    
7)关闭虚拟系统和vm本身.  
8)在真实系统里用ghost2003克隆,或启动到dos,ghost7.x/8.0克隆.  

方法二(单硬盘):  
6步同上.  
2,不要删除Virtual Disk  
3,安装xp,先将虚拟硬盘分成c,d两个分区,再安装.    
7)重启虚拟系统到dos,ghost将系统克隆成映像文件,存于虚拟d盘中.  
8)关闭虚拟系统,进入settings,在虚拟机中添加network adapter,并选中右边的bridged.  
9)启动,设置好网络连接.(顺便安装一下VMware tools)  
10)通过网上邻居,d盘中的gho文件copy到主机中.  

完了!  

Virtual PC v5.2 Build 420上安装WIN XP中文版+SP1  

Virtual PC除“网络设置”设为“共享网络模式(NAT)外”,其余均为默认设置。在系统方面只把硬盘控制器改为标准的,XPVirtual PC中能正常运行,于是刻隆到硬盘上在一块技嘉6VXC7-4X的主板上使用,XP除在关机时不能自动切断电源外其余一切正常,于是我把“高级电源管理->启用”,系统提示出现不知名的硬件错误,强行关机,在安全模式下更改也有同样的故障现象。  
XP的“高级电源管理”在Virtual PC的虚拟环境下是能正常启用的,起用后也能正常关闭Virtual PC。  
所以一定要记住先在Virtual PC启用高级电源管理然后再刻隆。  

还有就是XP在基本安装完,到添加用户前的那个画面会出现系统无响应的状态,全屏幕都是一个XP背景颜色的画面,键盘鼠标能正常使用,重新启动后XP出现添加用户的那个界面。  

*******************************************************  
一定要记住修改"standard PC""Advanced Configuration and Power Interface (ACPI) PC",要不然将不能软关机,而且系统休眠功能不能使用  

再就是有一个小经验,如果在把"standard PC"改为"Advanced Configuration and Power Interface (ACPI) PC"后还是不能使用休眠功能,只需要在从新改一次就行了。  

最好是在安装完所有驱动后再把"standard PC"改为"Advanced Configuration and Power Interface (ACPI) PC",这样系统会重新搜索所有的驱动程序.搜索完毕就没问题了。

2005-09-15

Virtual PC versus Virtual Server

Virtual PC versus Virtual Server
http://winiw.net/tech/archive/2004/12/23/999.aspx?Pending=true

Enigma的很多朋友都在问:Virtual PC和Virtual Server之间到底有什么区别呢?Virtual PC和Virtual Server之间的区别是:Virtual PC是为桌面操作系统(或者称为客户端、个人PC)设计的,而Virtual Server是为服务器操作系统设计的软件,所以这两个产品的使用场景不一样。

支持的操作系统:

对于Virtual PC来说,宿主操作系统(安装并运行Virtual PC的操作系统)和客户端操作系统(Virtual PC运行的虚拟机)都是桌面级操作系统。Virtual PC支持的宿主操作系统包括:Windows XP Professional、Windows 2000 Professional和Windows XP Tablet PC Edition。支持的客户端操作系统非常的多,例如:Windows 98和MS-DOS 6.22等,详细的支持清单可以查看Virtual PC的相关文档。

对于Virtual Server来说,宿主操作系统和客户端操作系统都是服务器操作系统。支持的宿操作系统包括Windows Server 2003(Standard、Enterprise和Datacenter版)和Windows Small Business Server(Standard和Premium版)。支持的客户端操作系统也是非常的多,例如:Windows 2000 Server等,详细的支持清单可以查看Virtual Server的相关文档。

Virtual PC的使用场景:

使用Virtual PC的几个主要场景为:

支持旧的桌面应用程序:例如有一个应用程序是被设计在Windows 98下运行的,但是现在你已经将自己的计算机升级并运行Windows XP操作,那么你可以在新的系统中运行一个Windows 98虚拟机,从而继续运行这些旧的应用程序。Enigma就看到有人在自己的Virtual PC中运行DOS时代的老游戏。
帮助台:如果你是一个技术支持人员,那么你可以通过使用Virtual PC创建一个客户完全相同的虚拟环境,当用户打电话寻求帮助的时候,就可以快速的在Virtual PC中重现他们描述的故障以帮助你分析原因。
培训:如果你是一个讲师,那么可以通过使用Virtual PC在自己的计算机运行培训使用的各种环境,从而减少对培训环境的要求。此外,你也可以在培训结束之后,放弃所有在培训过程中所做的修改而退回原状,这样将会大大降低重建培训环境的时间。
微软的白皮书中有更加详细的使用场景描述:
http://www.microsoft.com/windows/virtualpc/evaluation/techoverview.mspx

实际上,你能发现使用Virtual PC的场景仅仅局限于你的想象力。例如,有一个朋友在家里为自己的老婆和孩子安装了一个Virtual PC浏览Internet,这样就不用过于关心她们在访问Internet过程中访问内容或下载的程序,因为它们不会影响宿主操作系统,如果她们访问Internet的虚拟机出现了任何问题,他只用简单的删除这个虚拟机然后重新再打开一个就可以了,通常这比重新启动Windows都更加管用。

Virtual Server的使用场景:

使用Virtual Server的几个主要场景包括:

测试和部署服务端应用程序:如果你的服务器需要快速和频繁的重构,例如开发、测试、演示和培训,那么使用Virtual Server是一个不错的选择。
应用程序迁移:可以将运行在旧硬件和操作系统的服务器应用程序,例如一台运行Windows NT Server 4.0操作系统的服务器,迁移到新的服务器硬件上,在此服务器上部署更加高效的Windows Server 2003操作系统,并在其上安装Virtual Server虚拟服务器,再使用Virtual Server虚拟一台运行Windows NT Server 4.0操作系统的服务器,这样的应用程序迁移将不会重写任何代码。
服务器合并:许多公司都购买了很多部门级的服务器,而通常情况下这些服务器没有被充分使用。你可以将那些需要不同版本操作运行的多个应用程序部署一台物理服务器上,这样就可以降低企业需要维护的物理服务器数量。
Virtual PC和Virtual Server其他不同点:

Virtual Server提供了一些Virtual PC中不具有的功能:

远程管理:你可以通过使用Administration Web站点远程管理Virtual Server。
伸缩性:Virtual Server支持多处理器(虽然现在版本的Virtual Server还暂时仅支持1个处理器)。
COM API:你可以通过使用COM API管理Virtual Server和其虚拟的计算机。可以查看Virtual Server SDK获得更多信息。
SCSI支持:Virtual Server支持SCSI。
多CD-ROM驱动器:Virtual PC仅支持一个CD-ROM驱动器,而Virtual Server中虚拟的计算机允许同时使用多个CD-ROM驱动器。
Virtual PC中虚拟的计算机可以模拟声卡,而Virtual Server不提供此功能。

以上内容是Virtual Server和Virtual PC之间主要的功能差异,希望这些内容能够对你们有帮助。

Macs and Windows Server 2003

Macs and Windows Server 2003

Error Message Occurs When You Use a Macintosh OS X-Based Computer to View a Windows Server 2003-Based Computer

http://support.microsoft.com/default.aspx?scid=kb;en-us;316076


SYMPTOMS
When you use a Macintosh computer that is running OS X, if you press COMMAND+K, and then type the Internet Protocol (IP) address of a computer that is running Windows Server 2003 with Microsoft Services for Macintosh, you may receive the following error message:
No File services are available at URL "IP address"
CAUSE
This problem can occur when you use the Apple Encrypt authentication method. When you use this authentication method, you cannot see shares that are located on computers that are running Windows Server 2003.
RESOLUTION
To resolve this problem, use the Apple Clear Text authentication method. To do so: 1. Start the Computer Management tool.
2. Right-click Shared folders, and then click Configure File Server for Macintosh.
3. Click Apple Clear Text.

2005-09-13

大硬盘分区经验

(西部E网)
目前80GB以上的硬盘已成为装机主流,面对容量如此之大的硬盘,如何进行合理分区使其得到充分的应用是朋友们十分关心的话题。这里,笔者就来说说自己的分区方法供大家参考。

  硬盘容量太大,分区时不能像使用小硬盘一样将每个分区的容量都限定在3、4GB。如果这样分区,就会造成分区太多的情况。对于大容量硬盘来说,分区太多会出现一些问题:一是浪费空间多,分区过多导致可充分利用的空间减少而引起浪费,并且由于目前的软件体积较大,还有可能引发空间不足;二是分区越多则形成的分区表越大,分区表出错的几率也增大。从另一个角度讲,单个分区太大,同样难以管理。大容量的分区会因为簇太大造成小文件占据大空间的浪费。因此,在分区之前应先考虑好操作系统的选择与分区文件模式的选择两个问题。

  若使用Windows 98/Me操作系统,则硬盘最大分区不能超过20GB,超过20GB则由于使用的簇太大容易造成空间浪费;若使用Windows 2000/XP/2003操作系统,则最大分区容量不能超过137GB,否则极易出现容量无法识别的问题。

  在分区文件模式的选择上应根据需要合理选用FAT32或NTFS格式。选用FAT32分区格式,可以用Ghost来为此分区做备份,但若是用FAT32格式分出较大的单个分区,则备份后的文件体积也相应较大;NTFS格式的簇比较合理,能有效地利用磁盘空间,不容易产生碎片,还对单个的大文件读写有优化功能,是值得大硬盘用户使用的分区格式。因此,建议在分区时两种分区格式结合使用。

  笔者的考虑是将硬盘按系统、软件、资料和备份四大类进行分区。以80GB硬盘为例,每个操作系统各占用一个约5GB左右的分区、个人文档区占10GB左右、软件存放区20GB、娱乐区30GB,资料备份区10GB,这样累计只用六七个左右的存储区即可将硬盘划分完毕。操作系统所占分区无须太大,有5GB左右足以安装系统及应用软件;个人文档区则可用来存放“我的文档”、“IE临时文件夹”、“TEMP(系统临时文件夹)”以及虚拟内存文件。虚拟内存文件、TEMP、IE文件夹都可以两个系统共用。此外,像QQ、Foxmail、优化大师等应用软件也可安装在此分区中,只需在一个系统中安装一次即可实现共用,减少了垃圾文件的产生。操作系统及个人文档分区均采用FAT32模式,这样可以用Ghost来为它们做备份。

  MP3、电影、图片等均属于不需要反复整理及更新的大文件,可以专门划分到一个NTFS格式的大分区中。在此分区内建立几个与之相对应的文件夹进行分类,便于管理。

  下面以80GB硬盘为例,针对不同的电脑应用类型推荐一下分区方案。

  ■家用娱乐型分区方案

  作为家用娱乐类型的电脑,其主要用途在于满足娱乐、游戏、学习、上网等等需要。Windows 98对于娱乐游戏支持都比较好,因此可以在其下安装游戏软件;Windows XP则以稳定取胜,可用于学习和上网。

  ■办公应用型分区方案

  商用电脑最大的要求就是要“稳”,因此,总是蓝屏死机的Windows 98系统只好弃而采用Windows 2000或Windows XP了。另外,公司往来的邮件及客户资料不能与系统盘存放在同一盘符里,而应另存一分区并用系统自带的备份程序进行备份。

  ■游戏型分区方案

  一个游戏爱好者对于硬盘容量的要求是无止境的,但同时由于还要兼顾网络游戏,因此建议安装双操作系统。对于光盘版的游戏最好安装虚拟光驱,然后对光盘做镜像,这样可以有效减少对光驱的损耗。

  以上针对80GB容量硬盘分区做了一些方案推荐,目前市面上还有60GB或高达120GB以上容量的硬盘,分区时也可参考上述方案。硬盘容量再大,只要记住分区不宜太多,合理选择分区模式,就能让你的硬盘充分发挥出它应有的价值。

2005-09-01

SQL Reporting Services and Sharepoint

http://brianecooper.com/coop/archive/2004/10/19/237.aspx

Reporting Services, Sharepoint, DSP Panel, and RSWebParts Overview



From an article by K.S.Ganesh on C3 Corner



INTRODUCTION

SQL Server Reporting Services is a comprehensive, server-based platform for creating, managing, and delivering reports that contain data from relational and multidimensional data sources.

This article explains in brief about the Features that are supported and about Designing a report.

Features

1. Graphical Report Authoring
Reporting Services has a powerful graphical report designer that lets users create report definitions by dragging and dropping design and data elements.

2. Flexible Report Delivery
With support for both push- and pull-style report delivery, Reporting Services provides a flexible mechanism for generating reports. In pull-style report delivery, users can run previously created reports on demand. Users can also automate push-style report delivery so that the reporting server generates reports based on predetermined events.

3. Multiple Data-Source Options
Reporting Services isn't limited to using data from Analysis Services and SQL Server databases. The new product is compatible with other databases, including Oracle. Data-source options include ODBC, OLE DB, XML for Analysis, and Web services. Reporting Services can use multiple data sources for a single report and can even use reports as sources for other reports.

4. Multiple Reporting Options
Reporting Services supports a variety of reporting formats, including Web-based, XML, email, and standard printed reports. In addition to these basic options, Reporting Services supports several more sophisticated formats including Excel, PDF, and custom formats.

5. Support for SQL Server and Analysis Services
Reporting Services can create reports for relational databases such as SQL Server and for Analysis Services. This flexibility lets users generate reports from SQL Server databases or Analysis Services cubes without using Office or other external applications.

6. Support for ActiveX controls
Reporting Services provides support for embedded ActiveX controls helps to add many custom capabilities i.e. such as a calendar or multimedia elements to the reports.

Designing a Report

Two templates are provided in Visual Studio.Net 2003. Report Project Wizard which helps to build the report from scratch and Report Project which invokes Report Designer.

First step is to define a Data source. Data Source can either be defined for each report or in a report project so that multiple reports share the same Data source.
In addition, a report can contain multiple data sources if it needs to retrieve information from more than one location.

The Report Life Cycle consists of the following phases:

Authoring

The Authoring phase consists of :

1. Defining the Data area where the Query is constructed to retrieve the data. Reporting Services executes the query defined for the data set against the data source. The rows and columns that result from this query
become the data set. It is possible to define the Input Parameters for the
Query.

2. The Layout Area where the report is constructed by dragging controls from the Toolbox and fields from the Fields window and dropping them in the Report design. Only four Report controls can be bound to a Data set which are :the Table, Matrix, List, and Chart controls.

The Table control produces a column-and-row report with optional gGrouping and subtotaling.
The Matrix control outputs a Crosstab report.
The List control produces repeating blocks of free-form data.
The Chart control also interacts directly with a data set.
The definition of the report is stored in a Report Definition Language(RDL)
which is an XML.

Visual Studio deploys the RDL to a Report Server, which stores it in a SQL Server database. When Reporting Services delivers a report to a user, it processes the RDL report definition and renders it into a more familiar format such as an HTML page or an Adobe PDF document.


Management

After a report definition is complete, the report designer publishes it to a report server and it becomes a managed report. Report Manager is used to manage the reports and the reporting environment.

Report definitions, folders, and resources are published and managed as a Web service.

The Security, Properties and Scheduled operations applicable are defined for the items like reports,folders,Data source connections etc. It mainly consists of organizing folders to store various reports, Securing access rights to folders and reports and setting up shared schedules and shared data sources that are available for general use.


Deployment

The report can be deployed by uploading its RDL file directly from the Report
Manager. To use this method, you must locate the RDL file for the report you
want to deploy. This will also help to deploy a singe report from a Project which
might contain several reports.


Delivery

The reports can be distributed in the Report Catalog through the Report Manager, Microsoft's SharePoint Portal Server, or a custom application. The Report Manager lets you organize reports into folders and lets users access the reports on demand or subscribe to them by email. Reports can be live reports in which the data is requeried each time they run, or they can be snapshots of standard reports that are updated regularly.


_______________________________________________________________________________________

Q&A


Q. How is SQL Server 2000 Reporting Services licensed?

A. Reporting Services is part of the SQL Server 2000 license. There is not a separate license for Reporting Services. If you have a licensed copy of SQL Server 2000, you may run Reporting Services on the same server for no additional license fee. If you want to run Reporting Services on a server that is not licensed for SQL Server 2000, you will need to obtain a SQL Server 2000 license for that additional server. This is the same licensing model used for SQL Server Analysis Services. For more information about licensing scenarios, see the

Q. What are the main components that come with Reporting Services?

A. Reporting Services is comprised of four main components:

· Report Server. A Web service that handles report management and processing. It connects to a SQL Server database for report metadata and caching.

· Report Server Database. A SQL Server database used for report metadata and caching.

· Report Manager. A Web-based tool for managing Report Server.

· Report Designer. A graphical report-authoring tool that is integrated with Microsoft Visual Studio® .NET 2003.

Q. Is Reporting Services free?

A. No. Reporting Services is part of the SQL Server 2000 license. If you have a licensed copy of SQL Server 2000, you may run Reporting Services on the same server for no additional license fee. If you want to run Reporting Services on a server that is not licensed for SQL Server 2000, you will need to obtain a SQL Server 2000 license for that additional server. This is the same licensing model used for SQL Server Analysis Services


Q. Can Users make reports

A. Active Views

Active Views is a system for report authoring and data browsing that anyone can use. Its intuitive interface puts business intelligence within reach of ordinary business users, leading to faster, better decision-making at lower cost. Active Views will be renamed Reporting Services Report Builder and will be included in beta 3 of SQL Server 2005.

Active View Tour

Q. Does Reporting Services Integrate into Sharepoint?

A. Yes, by using a tool named RSWebparts by Bryant Likes

RsWebParts: Workspace Home

RsWebParts: Workspace Home

Reporting Services WebParts - Walkthrough

Reporting Services WebParts - Walkthrough: "si"

2005-08-28

一些 Blog

http://www.cnblogs.com/bobomail/
.net专家
Bobomail

http://www.cnblogs.com/esshs/
二十四画生


2005-08-26

SharePoint 2003 安装指北

SharePoint 2003 安装指北
SharePoint说明:
SharePoint 2003附带3个东西,SharePoint Portal Server,SharePoint Services, Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)

SharePoint Services 的特点是交互协作空间,在那里人们创建内容和跟踪工作。其范围是关于在内部沟通的工作组或部门,以及便于其他人看到。它是有关组协作以产生信息的。
SharePoint Portal Server 的特点是搜索和仪表板,在那里人们查找他们在工作中需要的信息。其范围是跨许多组和部门搜索信息。

系统要求:
SharePoint 2k3 必须安装在Windows Server 2k3上。安装手册说必须在域环境中安装和运行 SharePoint Portal Server 2003。不支持在工作组环境中安装和运行 SharePoint Portal Server 2003。,我已经试过,可以在工作组环境中安装。SharePoint每个用户必须是域成员或者是本机上的用户。我曾经打算在一台测试机器上同时安装域控制器和SharePoint 2k3,尝试失败了,安装了域控制器的机器系统盘的权限被修改。所以导致Asp.Net都无法正常运行(这可在后期修改IUSER_xxx对.Net的临时目录的读写权限)。我会在接下来的时候继续尝试。如果使用独立服务器安装SharePoint,则每个用户都必须在系统里面有真实帐号,你可以通过安全策略控制用户不让其登录主机,把用户都放入一个SharePoint组,方便管理。

前期准备:
你可以选择安装MSDE或者使用自己安装的SqlServer2k。MSDE是小型的SqlServer2k。推荐并发数为5个,最大只支持2GB的数据库。如果你要支持几千个用户同时在线,你的数据库容量会超过2GB,可以选择自己安装SqlServer2k。记得打sp3补丁咯。

SharePoint和Microsoft Office FrontPage 2003 Server Extensions不能共存。如果你不小心安装了,卸载他。

SharePoint和Exchange Server(梦幻组合呀。。。)也不能同时安装在一台机器上。SharePoint installation can put Exchange at risk (http://www.nwfusion.com/news/2003/1126share.html)

安装Win Server2k3,正确的安装步骤是,不插网线,安装2k3,接着打KB823980补丁防止蠕虫。重起后接上网线,连接到Beta架设的http://windowsupdate.xmu.edu.cn打上补丁。如果你需要不断测试SharePoint,可以在这个时候用ghost8.0做一个干净的系统Image。

安装IIS,有可能再安装上urlscan。

安装SharePoint之前调整一下系统时间,将“日期和时间属性”对话框中的日期设为 2002 年 5 月 24 日到 2003 年 11 月 23 日之间的某个日期。咳咳。。。当您安装 Windows SharePoint Services、创建新的内容数据库,或者布置新的虚拟服务器时,将会收到一个错误信息(http://support.microsoft.com/?id=833019)

开始安装:
开始安装后,一路Next,推荐在选择安装路径时改到非系统盘。安装最后会自动启动一个IE,添加一个缺省的Portal。

如何卸载:
如果你要卸载重新安装,记得必须先卸载Portal Server 2k3,再卸载Services 2k3,最后才是MSDE,顺序不能错,错了就只能重新安装系统了,具体查看管理员手册->安装->卸载安装。

Windows SharePoint Services and asp.net access denied error message

You receive a "Server Error in '/' Application. Access to the path is denied" error message when you log on to Windows SharePoint Services
View products that this article applies to.
Article ID : 823379
Last Review : August 12, 2005
Revision : 5.0
SYMPTOMS
When you try to log on to the Microsoft Windows SharePoint Services after you install Windows SharePoint Services on a domain controller, you receive an error message that appears after you type your user name and password three times. The error message may be similar to the following:
Error: Server Error in '/' Application.

Access to the path "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\8c91a6b5\649b28ba" is denied.
You receive this error message even though you use the correct user name and password.

Note You may encounter similar symptoms when you access the following sites in Microsoft Windows Small Business Server 2003:
Error: Server Error in '/Backup' Application

Accessing Backup (http://servername/backup)

Error: Server Error in '/'Application

Accessing Companyweb (http://companyweb)

Error: Server Error in '/Monitoring' Application

Accessing Monitoring and Reporting (http://servername/monitoring)
Error: Server Error in '/Remote' Application

Accessing Remote Web Workplace (http://servername/remote)
CAUSE
This issue occurs if Microsoft Internet Information Services (IIS) 6.0 and ASP.NET are installed on the server before the server is promoted to a domain controller. This issue occurs if the following conditions are true, in the order that they are presented in: 1. You install IIS 6.0 and ASP.NET on a member server.
2. You use the Dcpromo.exe tool to promote the member server to a domain controller.
3. You install Windows SharePoint Services on the domain controller.
In this situation, the Network Service group does not have sufficient permissions to the Temporary ASP.NET Files folder on the domain controller.
RESOLUTION
To resolve this issue, follow these steps: 1. Click Start, and then click Run.
2. In the Open box, type cmd, and then click OK.
3. Switch to the Drive:\Windows\Microsoft.Net\Framework\v1.1.4322 folder, where Drive is the drive where Windows is installed. To do so, type the following line at the command prompt, where Drive is the drive where Windows is installed, and then press ENTER:
cd Drive:\windows\microsoft.net\framework\v1.1.4322
4. Add the appropriate permissions to the Network Service group for the Temporary ASP.NET Files folder. To do so, type the following line, and then press ENTER:
aspnet_regiis -ir

Note For more information about the difference between the -ir command-line option and the -i command-line option, visit the following Microsoft Web site:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrfaspnetiisregistrationtoolaspnet_regiisexe.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrfaspnetiisregistrationtoolaspnet_regiisexe.asp)
5. Type exit, and then press ENTER to quit the command prompt.
To avoid this issue, if you plan to install Windows SharePoint Services on a domain controller, make sure that you promote the server to a domain controller before you install IIS 6.0 and ASP.NET.
MORE INFORMATION
For more information about Windows SharePoint Services, visit the following Microsoft Web site:
http://www.microsoft.com/sharepoint/teamservices/ (http://www.microsoft.com/sharepoint/server/default.asp)
For additional information about installing IIS on a domain controller, click the following article number to view the article in the Microsoft Knowledge Base:
332097 (http://support.microsoft.com/kb/332097/) DCPROMO does not retain permissions on some IIS folders
For more information about IIS, see the IIS 6.0 online documentation. To do so, visit the following Microsoft Web site:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/
technologies/featured/iis/default.mspx

--------------------------------------------------------------------------------

APPLIES TO
• Microsoft Windows SharePoint Services
• Microsoft Office SharePoint Portal Server 2003
• Microsoft Windows Small Business Server 2003 Premium Edition
• Microsoft Windows Small Business Server 2003 Standard Edition
.

2005-08-24

SharePoint:协同办公好帮手

有了Office 2003协同办公平台的帮助,单位的日常办公就不再是单兵作战了,而是相互协作、配合工作。
Microsoft Office SharePoint Portal Server 2003 将业务流程中的人员、工作组和知识连接在一起。它将分散的信息统一起来,便于就文档、项目和其他工作进行协作,并根据用户的功能组和组织角色呈现特定应用程序和自定义内容。SharePoint Portal Server 可与 Microsoft Windows 资源管理器、Microsoft Office 应用程序和 Web 浏览器协同工作,帮助您在整个组织范围内创建、管理和共享内容。

借助于 Microsoft Windows Server 2003,SharePoint Portal Server 与 Microsoft Office 2003、Microsoft Windows SharePoint Services 和 Microsoft SQL Server 2000 SP3 集成在一起,创建将整个组织连接起来的统一门户网站。

在Windows 2003 Server 中提供了Windows SharePoint Service,应该说它是SharePoint Portal Server 2003的简化版本,区别主要就在于功能较少,比如说没有“My Site”,不能与Biztalk、Exchange Server 等结合使用...更详细的信息可以参考:http://www.microsoft.com/sharepoint/evaluationoverview.asp。

SharePoint 本身提供了非常强大的功能,基于Web Part的概念,你可以不使用任何代码编辑软件(包括HTML代码和程序代码)构建一个非常强大的公司门户网站,实现公司、团队间的资源共享。据说微软使用SharePoint 2003 Server 搭建的系统大大提高了微软的工作效率。

安装及管理SharePoint站点的详细信息,在管理员指南及用户指南中很详细。

下面提供一些SharePoint的相关链接:

SharePoint主页:
http://www.microsoft.com/sharepoint/

SharePoint Portal Server主页:
http://www.microsoft.com/office/sharepoint/prodinfo/default.mspx

SharePoint Service和SharePoint Portal Server有什么区别:
http://www.microsoft.com/sharepoint/evaluationoverview.asp

SharePoint开发中心:
http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28001891

SharePoint Service 2003 (2.0) 下载:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e084d5cb-1161-46f2-a363-8e0c2250d990&DisplayLang=en

SharePoint Service 2003 SDK 下载:
http://www.microsoft.com/downloads/details.aspx?FamilyID=1c64af62-c2e9-4ca3-a2a0-7d4319980011&DisplayLang=en

SharePoint Portal Server 2003 Eval Edittion:
http://www.microsoft.com/downloads/details.aspx?FamilyID=16006564-4575-4463-920d-c920b4aeae64&DisplayLang=en

SharePoint Portal Server 2003 Administrator's Guide:
http://www.microsoft.com/downloads/details.aspx?FamilyID=16006564-4575-4463-920d-c920b4aeae64&DisplayLang=en

SharePoint University :
http://www.sharepointu.com/

视频资料: http://www.microsoft.com/china/office/sharepoint/prodinfo/videos.mspx

示例代码和视频资料:
http://www.sharepointcustomization.com

msdn的SharePoint专栏:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/CreateABasicWP.asp?frame=true

2005-07-30

Adopting a common coding standard across your web applications

ASP.Net Coding Standards - ASP.NET Forums: "Adopting a common coding standard across your web applications"

Naming Guidelines

Naming Guidelines

Design Guidelines for Class Library Developers

Design Guidelines for Class Library Developers

如何用正确的方法来写出质量好的软件的75条体会

如何用正确的方法来写出质量好的软件的75条体会
[日期:2004-10-14] 来源:屋顶上的木帷幕 作者: [字体:大 中 小]

前两天贴了一篇《如何用正确的方法来写出质量好的软件的75条体会》的Blog,里面是75句话,可能有些话单看一句话不太好理解。杨晔希望“还是由MVM公布一个标准答案”,所以我就再逐条解释一下。篇幅有些长,大家谅解。

1. 你们的项目组使用源代码管理工具了么?
应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。

2. 你们的项目组使用缺陷管理系统了么?
应该用。ClearQuest太复杂,我的推荐是BugZilla。

3. 你们的测试组还在用Word写测试用例么?
不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。

4. 你们的项目组有没有建立一个门户网站?
要有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint Portal Server 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。

5. 你们的项目组用了你能买到最好的工具么?
应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是“你能买到最好的”。

6. 你们的程序员工作在安静的环境里么?
需要安静环境。这点极端重要,而且要保证每个人的空间大于一定面积。

7. 你们的员工每个人都有一部电话么?
需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:“某某某电话”。《人件》里面就强烈谴责这种做法。

8. 你们每个人都知道出了问题应该找谁么?
应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。

9. 你遇到过有人说“我以为…”么?
要消灭“我以为”。Never assume anything。

10. 你们的项目组中所有的人都坐在一起么?
需要。我反对Virtual Team,也反对Dev在美国、Test在中国这种开发方式。能坐在一起就最好坐在一起,好处多得不得了。

11. 你们的进度表是否反映最新开发进展情况?
应该反映。但是,应该用Baseline的方法来管理进度表:维护一份稳定的Schedule,再维护一份最新更改。Baseline的方法也应该用于其它的Spec。Baseline是变更管理里面的一个重要手段。

12. 你们的工作量是先由每个人自己估算的么?
应该让每个人自己估算。要从下而上估算工作量,而不是从上往下分派。除非有其他原因,比如政治任务工期固定等。

13. 你们的开发人员从项目一开始就加班么?
不要这样。不要一开始就搞疲劳战。从项目一开始就加班,只能说明项目进度不合理。当然,一些对日软件外包必须天天加班,那属于剥削的范畴。

14. 你们的项目计划中Buffer Time是加在每个小任务后面的么?
不要。Buffer Time加在每个小任务后面,很容易轻易的就被消耗掉。Buffer Time要整段的加在一个Milestone或者checkpoint前面。

15. 值得再多花一些时间,从95%做到100%好
值得,非常值得。尤其当项目后期人困马乏的时候,要坚持。这会给产品带来质的区别。

16. 登记新缺陷时,是否写清了重现步骤?
要。这属于Dev和Test之间的沟通手段。面对面沟通需要,详细填写Repro Steps也需要。

17. 写新代码前会把已知缺陷解决么?
要。每个人的缺陷不能超过10个或15个,否则必须先解决老的bug才能继续写新代码。

18. 你们对缺陷的轻重缓急有事先的约定么?
必须有定义。Severity要分1、2、3,约定好:蓝屏和Data Lost算Sev 1,Function Error算Sev 2,界面上的算Sev 3。但这种约定可以根据产品质量现状适当进行调整。

19. 你们对意见不一的缺陷有三国会议么?
必须要有。要有一个明确的决策过程。这类似于CCB (Change Control Board)的概念。

20. 所有的缺陷都是由登记的人最后关闭的么?
Bug应该由Opener关闭。Dev不能私自关闭Bug。

21. 你们的程序员厌恶修改老的代码么?
厌恶是正常的。解决方法是组织Code Review,单独留出时间来。XP也是一个方法。

22. 你们项目组有Team Morale Activity么?
每个月都要搞一次,吃饭、唱歌、Outing、打球、开卡丁车等等,一定要有。不要剩这些钱。

23. 你们项目组有自己的Logo么?
要有自己的Logo。至少应该有自己的Codename。

24. 你们的员工有印有公司Logo的T-Shirt么?
要有。能增强归属感。当然,T-Shirt要做的好看一些,最好用80支的棉来做。别没穿几次就破破烂烂的。

25. 总经理至少每月参加次项目组会议
要的。要让team member觉得高层关注这个项目。

26. 你们是给每个Dev开一个分支么?
反对。Branch的管理以及Merge的工作量太大,而且容易出错。

27. 有人长期不Check-In代码么?
不可以。对大部分项目来说,最多两三天就应该Check-In。

28. 在Check-In代码时都填写注释了么?
要写的,至少一两句话,比如“解决了Bug No.225”。如果往高处拔,这也算做“配置审计”的一部分。

29. 有没有设定每天Check-In的最后期限?
要的,要明确Check-In Deadline。否则会Build Break。

30. 你们能把所有源码一下子编译成安装文件吗?
要的。这是每日编译(Daily Build)的基础。而且必须要能够做成自动的。

31. 你们的项目组做每日编译么?
当然要做。有三样东西是软件项目/产品开发必备的:1. bug management; 2. source control; 3. daily build。

32. 你们公司有没有积累一个项目风险列表?
要。Risk Inventory。否则,下个项目开始的时候,又只能拍脑袋分析Risk了。

33. 设计越简单越好
越简单越好。设计时候多一句话,将来可能就带来无穷无尽的烦恼。应该从一开始就勇敢的砍。这叫scope management。

34. 尽量利用现有的产品、技术、代码
千万别什么东西都自己Coding。BizTalk和Sharepoint就是最好的例子,有这两个作为基础,可以把起点提高很多。或者可以尽量多用现成的Control之类的。或者尽量用XML,而不是自己去Parse一个文本文件;尽量用RegExp,而不是自己从头操作字符串,等等等等。这就是“软件复用”的体现。

35. 你们会隔一段时间就停下来夯实代码么?
要。最好一个月左右一次。传言去年年初Windows组在Stevb的命令下停过一个月增强安全。Btw,“夯”这个字念“hang”,第一声。

36. 你们的项目组每个人都写Daily Report么?
要写。五分钟就够了,写10句话左右,告诉自己小组的人今天我干了什么。一则为了沟通,二则鞭策自己(要是游手好闲一天,自己都会不好意思写的)。

37. 你们的项目经理会发出Weekly Report么?
要。也是为了沟通。内容包括目前进度,可能的风险,质量状况,各种工作的进展等。

38. 你们项目组是否至少每周全体开会一次?
要。一定要开会。程序员讨厌开会,但每个礼拜开会时间加起来至少应该有4小时。包括team meeting, spec review meeting, bug triage meeting。千万别大家闷头写code。

39. 你们项目组的会议、讨论都有记录么?
会前发meeting request和agenda,会中有人负责主持和记录,会后有人负责发meeting minutes,这都是effective meeting的要点。而且,每个会议都要形成agreements和action items。

40. 其他部门知道你们项目组在干什么么?
要发一些Newsflash给整个大组织。Show your team’s value。否则,当你坐在电梯里面,其他部门的人问:“你们在干嘛”,你回答“ABC项目”的时候,别人全然不知,那种感觉不太好。

41. 通过Email进行所有正式沟通
Email的好处是免得抵赖。但也要避免矫枉过正,最好的方法是先用电话和当面说,然后Email来确认。

42. 为项目组建立多个Mailing Group
如果在AD+Exchange里面,就建Distribution List。比如,我会建ABC Project Core Team,ABC Project Dev Team,ABC Project All Testers,ABC Project Extended Team等等。这样发起Email来方便,而且能让该收到email的人都收到、不该收到不被骚扰。

43. 每个人都知道哪里可以找到全部的文档么?
应该每个人都知道。这叫做知识管理(Knowledge Management)。最方便的就是把文档放在一个集中的File Share,更好的方法是用Sharepoint。

44. 你做决定、做变化时,告诉大家原因了么?
要告诉大家原因。Empower team member的手段之一是提供足够的information,这是MSF一开篇的几个原则之一。的确如此,tell me why是人之常情,tell me why了才能有understanding。中国人做事喜欢搞限制,限制信息,似乎能够看到某一份文件的人就是有身份的人。大错特错。权威、权力,不在于是不是能access information/data,而在于是不是掌握资源。

45. Stay agile and expect change
要这样。需求一定会变的,已经写好的代码一定会被要求修改的。做好心理准备,对change不要抗拒,而是expect change。

46. 你们有没有专职的软件测试人员?
要有专职测试。如果人手不够,可以peer test,交换了测试。千万别自己测试自己的。

47. 你们的测试有一份总的计划来规定做什么和怎么做么?
这就是Test Plan。要不要做性能测试?要不要做Usability测试?什么时候开始测试性能?测试通过的标准是什么?用什么手段,自动的还是手动的?这些问题需要用Test Plan来回答。

48. 你是先写Test Case然后再测试的么?
应该如此。应该先设计再编程、先test case再测试。当然,事情是灵活的。我有时候在做第一遍测试的同时补上test case。至于先test case再开发,我不喜欢,因为不习惯,太麻烦,至于别人推荐,那试试看也无妨。

49. 你是否会为各种输入组合创建测试用例?
不要,不要搞边界条件组合。当心组合爆炸。有很多test case工具能够自动生成各种边界条件的组合——但要想清楚,你是否有时间去运行那么多test case。

50. 你们的程序员能看到测试用例么?
要。让Dev看到Test Case吧。我们都是为了同一个目的走到一起来的:提高质量。

51. 你们是否随便抓一些人来做易用性测试?
要这么做。自己看自己写的程序界面,怎么看都是顺眼的。这叫做审美疲劳——臭的看久了也就不臭了,不方便的永久了也就习惯了。

52. 你对自动测试的期望正确么?
别期望太高。依我看,除了性能测试以外,还是暂时先忘掉“自动测试”吧,忘掉WinRunner和LoadRunner吧。对于国内的软件测试的现状来说,只能“矫枉必须过正”了。

53. 你们的性能测试是等所有功能都开发完才做的么?
不能这样。性能测试不能被归到所谓的“系统测试”阶段。早测早改正,早死早升天。

54. 你注意到测试中的杀虫剂效应了么?
虫子有抗药性,Bug也有。发现的新Bug越来越少是正常的。这时候,最好大家交换一下测试的area,或者用用看其他工具和手法,就又会发现一些新bug了。

55. 你们项目组中有人能说出产品的当前整体质量情况么?
要有。当老板问起这个产品目前质量如何,Test Lead/Manager应该负责回答。

56. 你们有单元测试么?
单元测试要有的。不过没有单元测试也不是不可以,我做过没有单元测试的项目,也做成功了——可能是侥幸,可能是大家都是熟手的关系。还是那句话,软件工程是非常实践、非常工程、非常灵活的一套方法,某些方法在某些情况下会比另一些方法好,反之亦然。

57. 你们的程序员是写完代码就扔过墙的么?
大忌。写好一块程序以后,即便不做单元测试,也应该自己先跑一跑。虽然有了专门的测试人员,做开发的人也不可以一点测试都不做。微软还有Test Release Document的说法,程序太烂的话,测试有权踢回去。

58. 你们的程序中所有的函数都有输入检查么?
不要。虽然说做输入检查是write secure code的要点,但不要做太多的输入检查,有些内部函数之间的参数传递就不必检查输入了,省点功夫。同样的道理,未必要给所有的函数都写注释。写一部分主要的就够了。

59. 产品有统一的错误处理机制和报错界面么?
要有。最好能有统一的error message,然后每个error message都带一个error number。这样,用户可以自己根据error number到user manual里面去看看错误的具体描述和可能原因,就像SQL Server的错误那样。同样,ASP.NET也要有统一的Exception处理。可以参考有关的Application Block。

60. 你们有统一的代码书写规范么?
要有。Code Convention很多,搞一份来发给大家就可以了。当然,要是有FxCop这种工具来检查代码就更好了。

61. 你们的每个人都了解项目的商业意义么?
要。这是Vision的意思。别把项目只当成工作。有时候要想着自己是在为中国某某行业的信息化作先驱者,或者时不时的告诉team member,这个项目能够为某某某国家部门每年节省多少多少百万的纳税人的钱,这样就有动力了。平凡的事情也是可以有个崇高的目标的。

62. 产品各部分的界面和操作习惯一致么?
要这样。要让用户觉得整个程序好像是一个人写出来的那样。

63. 有可以作为宣传亮点的Cool Feature么?
要。这是增强团队凝聚力、信心的。而且,“一俊遮百丑”,有亮点就可以掩盖一些问题。这样,对于客户来说,会感觉产品从质量角度来说还是acceptable的。或者说,cool feature或者说亮点可以作为质量问题的一个事后弥补措施。

64. 尽可能缩短产品的启动时间
要这样。软件启动时间(Start-Up time)是客户对性能好坏的第一印象。

65. 不要过于注重内在品质而忽视了第一眼的外在印象
程序员容易犯这个错误:太看重性能、稳定性、存储效率,但忽视了外在感受。而高层经理、客户正相反。这两方面要兼顾,协调这些是PM的工作。

66. 你们根据详细产品功能说明书做开发么?
要这样。要有设计才能开发,这是必须的。设计文档,应该说清楚这个产品会怎么运行,应该采取一些讲故事的方法。设计的时候千万别钻细节,别钻到数据库、代码等具体实现里面去,那些是后面的事情,一步步来不能着急。

67. 开始开发和测试之前每个人都仔细审阅功能设计么?
要做。Function Spec review是用来统一思想的。而且,review过以后形成了一致意见,将来再也没有人可以说“你看,当初我就是反对这么设计的,现在吃苦头了吧”

68. 所有人都始终想着The Whole Image么?
要这样。项目里面每个人虽然都只是在制造一片叶子,但每个人都应该知道自己在制造的那片叶子所在的树是怎么样子的。我反对软件蓝领,反对过分的把软件制造看成流水线、车间。参见第61条。

69. Dev工作的划分是单纯纵向或横向的么?
不能单纯的根据功能模块分,或者单纯根据表现层、中间层、数据库层分。我推荐这么做:首先根据功能模块分,然后每个“层”都有一个Owner来Review所有人的设计和代码,保证consistency。

70. 你们的程序员写程序设计说明文档么?
要。不过我听说微软的程序员1999年以前也不写。所以说,写不写也不是绝对的,偷懒有时候也是可以的。参见第56条。

71. 你在招人面试时让他写一段程序么?
要的。我最喜欢让人做字符串和链表一类的题目。这种题目有很多循环、判断、指针、递归等,既不偏向过于考算法,也不偏向过于考特定的API。

72. 你们有没有技术交流讲座?
要的。每一两个礼拜搞一次内部的Tech Talk或者Chalk Talk吧。让组员之间分享技术心得,这笔花钱送到外面去培训划算。

73. 你们的程序员都能专注于一件事情么?
要让程序员专注一件事。例如说,一个部门有两个项目和10个人,一种方法是让10个人同时参加两个项目,每个项目上每个人都花50%时间;另一种方法是5个人去项目A,5个人去项目B,每个人都100%在某一个项目上。我一定选后面一种。这个道理很多人都懂,但很多领导实践起来就把属下当成可以任意拆分的资源了。

74. 你们的程序员会夸大完成某项工作所需要的时间么?
会的,这是常见的,尤其会在项目后期夸大做某个change所需要的时间,以次来抵制change。解决的方法是坐下来慢慢磨,磨掉程序员的逆反心理,一起分析,并把估算时间的颗粒度变小。

75. 尽量不要用Virtual Heads
最好不要用Virtual Heads。Virtual heads意味着resource is not secure,shared resource会降低resource的工作效率,容易增加出错的机会,会让一心二用的人没有太多时间去review spec、review design。一个dedicated的人,要强过两个只能投入50%时间和精力的人。我是吃过亏的:7个part time的tester,发现的Bug和干的活,加起来还不如两个full-time的。参见第73条。73条是针对程序员的,75条是针对Resource Manager的。

海洋工作室 SharePoint FAQ

SharePoint FAQ

2005-07-19

Copy user profiles with Windows 2000's User Profiles tab

Copy user profiles with Windows 2000's User Profiles tab

by Jim Boyce
http://techrepublic.com.com/5100-10877_11-5793056.html?tag=nl.e030


Takeaway:
A user profile in Windows encompasses the desktop, application settings, and other folders that define the user's working environment. Learn how a handy Windows feature can make it simple to copy user profiles.
A user profile in Windows encompasses the desktop, application settings, and other folders that define the user's working environment. When a user logs on for the first time with an account, Windows 2000 automatically creates their profile in the \Documents and Settings\(user) folder, where (user) is the logon name.

If you wanted to copy a profile, you could simply copy folders. However, Windows includes a feature specifically to help you copy user profiles. To use this feature, right-click My Computer and choose Properties. Then, click the User Profiles tab. This tab displays a list of all of the user profiles stored on the computer.

To copy a profile, follow these steps:

Click the profile and then click Copy To.
In the resulting Copy To dialog box, click Browse to specify the location for the copy. (Make sure to include the new user name in the path.)
Click Change if you need to change the list of users allowed to use the profile.
Select the user and click OK, then click OK in the Copy To dialog box to begin the copy.
Click OK to close the System Properties sheet when you have finished copying profiles.
When you copy a profile using the User Profiles tab, keep in mind that Windows does not copy the hidden Local Settings folder in the profile. This folder stores non-essential files, but can also store critical files such as Outlook mail stores (PST files). If you need these files as part of the destination profile, copy the Local Settings folder manually to the target profile.

2005-07-16

数学和中国文学的比较

数学和中国文学的比较zt

丘成桐

二零零五年六月二十四日

很多人会觉得我今日的讲题有些奇怪,中国文学与数学好象是风马牛不相及,但我却讨论它。其实这关乎个人的感受和爱好,不见得其它数学家有同样的感觉,「如人饮水,冷暖自知」。每个人的成长和风格跟他的文化背景、家庭教育有莫大的关系。我幼受庭训,影响我至深的是中国文学,而我最大的兴趣是数学,所以将他们做一个比较,对我来说是相当有意义的事。

中国古代文学记载最早的是诗三百篇,有风雅颂,既有民间抒情之歌,朝廷礼仪之作,也有歌颂或讽刺当政者之曲。至孔子时,文学为君子立德和陶冶民风而服务。战国时,诸子百家都有著述,在文学上有重要的贡献,但是诸子如韩非却轻视文学之士。屈原开千古辞赋之先河,毕生之志却在楚国的复兴。文学本身在古代社会没有占据到重要的地位。司马迁甚至说:「文史、星历,近乎卜祝之间,固主上所戏弄,倡优畜之,流俗之所轻也。」一直到曹丕才全面肯定文学本身的重要性:「盖文章,经国之大业,不朽之盛事。」即使如此,曹丕的弟弟曹植却不以为文学能与治国的重要性相比。他写信给他的朋友杨修说:

「吾虽德薄,位为蕃侯,犹几戮力上国,流惠下民,建永世之业,留金石之功。岂徒以翰墨为勲绩,辞赋为君子哉。」

至于数学,中国儒家将它放在六艺之末,是一个辅助性的学问。当政者更视之为雕虫小技,与文学比较,连歌颂朝廷的能力都没有,政府对数学的尊重要到近年来才有极大的改进。西方则不然,希腊哲人以数学为万学之基。帕拉图以通几何为入其门槛之先决条件,所以数学家得到崇高地位,在西方蓬勃发展了两千多年。

一、数学之基本意义

数学之为学,有其独特之处,它本身是寻求自然界真相的一门科学,但数学家也如文学家般天马行空,凭爱好而创作,故此数学可说是人文科学和自然科学的桥梁。

数学家研究大自然所提供的一切素材,寻找它们共同的规律,用数学的方法表达出来。这里所说的大自然比一般人所了解的来得广泛,我们认为数字、几何图形和各种有意义的规律都是自然界的一部份,我们希望用简洁的数学语言将这些自然现象的本质表现出来。

数学是一门公理化的科学,所有命题必需由三段论证的逻辑方法推导出来,但这只是数学的形式,而不是数学的精髓。大部份数学著作枯燥乏味,而有些却令人叹为观止,其中的分别在那里?

大略言之,数学家以其对大自然感受的深刻肤浅,来决定研究的方向,这种感受既有其客观性,也有其主观性,后者则取决于个人的气质,气质与文化修养有关,无论是选择悬而未决的难题,或者创造新的方向,文化修养皆起着关键性的作用。文化修养是以数学的功夫为基础,自然科学为副,但是深厚的人文知识也极为要紧,因为人文知识也致力于描述心灵对大自然的感受,所以司马迁写史记除了「通古今之变」外,也要「究天人之际」。

刘勰在文心雕龙.原道篇说文章之道在于:

「写天地之辉光,晓生民之耳目。」

刘勰以为文章之可贵,在尚自然,在贵文采。他又说:

「人与天地相参,乃性灵所集聚,是以谓之三才,为五行之秀气,实天地之灵气。灵心既生,于是语言以立。语言既立,于是文章着明,此亦原于自然之道也。」

文心雕龙.风骨:

「诗总六义,风冠其首,斯乃化感之本源,志气之符契也。」

历代的大数学家如阿基米德如牛顿莫不以自然为宗,见物象而思数学之所出,即有微积分的创作。费尔玛和尤拉对变分法的开创性发明也是由于探索自然界的现象而引起的。

近代几何学的创始人高斯认为几何和物理不可分,他说:「我越来越确信几何的必然性无法被验证,至少现在无法被人类或为了人类而验证,我们或许能在未来领悟到那无法知晓的空间的本质。我们无法把几何和纯粹是先验的算术归为一类,几何和力学却不可分割。」

二十世纪几何学的发展,则因物理学上重要的突破而屡次改变其航道。当狄拉克把狭义相对论用到量子化的电子运动理论时,发现了狄拉克方程,以后的发展连狄拉克本人也叹为观止,认为他的方程比他的想象来得美妙,这个方程在近代几何的发展起着关键性的贡献,我们对旋子的描述缺乏直观的几何感觉,但它出于自然,自然界赋予几何的威力可说是无微不至。

广义相对论提出了场方程,它的几何结构成为几何学家梦寐以求的对象,因为它能赋予空间一个调和而完美的结构。我研究这种几何结构垂三十年,时而迷惘,时而兴奋,自觉同诗经、楚辞的作者,或晋朝的陶渊明一样,与大自然浑为一体,自得其趣。

捕捉大自然的真和美,实远胜于一切人为的造作,正如文心雕龙说的:

「云霞雕色,有逾画工之妙。草木菁华,无待锦匠之奇,夫岂外饰,盖自然耳。」

在空间上是否存在满足引力场方程的几何结构是一个极为重要的物理问题,它也逐渐地变成几何中伟大的问题。尽管其它几何学家都不相信它存在,我却锲而不舍,不分昼夜地去研究它,就如屈原所说:

「亦余心之所善兮,虽九死其犹未悔。」

我花了五年工夫,终于找到了具有超对称的引力场结构,并将它创造成数学上的重要工具。当时的心境,可以用以下两句来描述:

「落花人独立,微雨燕双飞。」

以后大批的弦理论学家参与研究这个结构,得出很多深入的结果。刚开始时,我的朋友们都对这类问题敬而远之,不愿意与物理学家打交道。但我深信造化不致弄人,回顾十多年来在这方面的研究尚算满意,现在卡拉比│丘空间的理论已经成为数学的一支主流。

二、数学的文采

数学的文采,表现于简洁,寥寥数语,便能道出不同现象的法则,甚至在自然界中发挥作用,这是数学优雅美丽的地方。我的老师陈省身先生创作的陈氏类,就文采斐然,令人赞叹。它在扭曲的空间中找到简洁的不变量,在现象界中成为物理学界求量子化的主要工具,可说是描述大自然美丽的诗篇,直如陶渊明「采菊东蓠下,悠然见南山」的意境。

从欧氏几何的公理化、到笛卡儿创立的解析几何,到牛顿、莱布尼兹的微积分,到高斯、黎曼创立的内蕴几何,一直到与物理学水乳相融的近代几何,都以简洁而富于变化为宗,其文采绝不逊色于任何一件文学创作,它们轫生的时代与文艺兴起的时代相同,绝对不是巧合。

数学家在开创新的数学想法的时候,可以看到高雅的文采和崭新的风格,例如欧几里得证明存在无穷多个素数,开创反证法的先河。高斯研究十七边形的对称群,使伽罗华群成为数论的骨干。这些研究异军突起,论断华茂,使人想起五言诗的始祖苏(武)李(陵)唱和诗和词的始祖李太白的忆秦娥。

三、数学中的赋比兴

中国诗词都讲究比兴,钟爃在「诗品」中说:

「文已尽而意有余,兴也。因物喻志,比也。」

刘勰在文心雕龙中说:

「故比者,附也。兴者,起也。附理者切类以指事,起情者依微以拟议。起情故兴体以立,附理故比例以生。」

白居易:

「噫,风雪花草之物《三百篇》中岂含之乎?顾所用何如耳,设如北风其凉,假风以刺威虐也,雨雪霏霏,因雪以愍征役也……比兴发于此而义归于彼。」

他批评谢朓诗「『余霞散成绮,澄江净如练。』丽则丽矣,吾不知其所讽焉,故仆所谓嘲风雪,弄花草而已,文意尽去矣。」

有深度的文学作品必需要有「义」、有「讽」、有「比兴」。数学亦如是。我们在寻求真知时,往往只能凭已有的经验,因循研究的大方向,凭我们对大自然的感觉而向前迈进,这种感觉是相当主观的,因个人的文化修养而定。

文学家为了达到最佳意境的描述,不见得忠实地描写现象界,例如贾岛只追究「僧推月下门」或是「僧敲月下门」的意境,而不在乎所说的是不同的事实。数学家为了创造美好的理论,也不必依随大自然的规律,只要逻辑推导没有问题,就可以尽情的发挥想象力,然而文章终究有高下之分。大致来说,好的文章「比兴」的手法总会比较丰富。

中国古诗十九首,作者年代不详,但大家都认为是汉代的作品。刘勰说:「比采而推,两汉之作乎。」这是从诗的结构和风格进行推敲而得出的结论。在数学的研究过程中,我们亦利用比的方法去寻找真理。我们创造新的方向时,不必凭实验,而是凭数学的文化涵养去猜测去求证。

举例而言,三十年前我提出一个猜测,断言三维球面里的光滑极小曲面,其第一特征值等于二。当时这些曲面例子不多,只是凭直觉,利用相关情况模拟而得出的猜测,最近有数学家写了一篇文章证明这个猜想。其实我的看法与文学上的比兴很相似。

我们看洛神赋:

「翩若惊鸿,婉若游龙。荣曜秋菊,华茂春松。仿髴兮若轻云之蔽月,飘飘兮若流风之回雪。」

由比喻来刻划女神的体态,又看诗经:

「高山仰止,景行行止。四牡騑騑,六辔如琴,靓尔新婚,以慰我心。」

也是用比的方法来描写新婚的心情。

我一方面想象三维球的极小子曲面应当是如何的匀称,一方面想象第一谱函数能够同空间的线性函数比较该有多妙,通过原点的平面将曲面最多切成两块,于是猜想这两个函数应当相等,同时第一特征值等于二。

当时我与卡拉比教授讨论这个问题,他也相信这个猜测是对的。旁边我的一位研究生问为甚么会做这样的猜测,不待我回答,卡教授便微笑说这就是洞察力了。

数学上常见的对比方法乃是低维空间和高维空间现象的对比。我们虽然看不到高维空间的事物,但可以看到一维或二维的现象,并由此来推测高维的变化。我在做研究生时企图将二维空间的单值化原理推广到高维空间,得到一些漂亮的猜测,我认为曲率的正或负可以作为复结构的指向,这个看法影响至今,可以溯源到十九世纪和二十世纪初期曲率和保角映像关系的研究。

另外一个对比的方法乃是数学不同分枝的比较,记得我从前用爱氏结构证明代数几何中一个重要不等式时,日本数学家Miyaoka利用俄国数学家Bogomolov的代数稳定性理论也给出这个不等式的不同证明,因此我深信爱氏结构和流形的代数稳定有密切的关系,这三十年来的发展也确是朝这个方向蓬勃地进行。

事实上,爱因斯坦的广义相对论也是对比各种不同的学问而创造成功的,它是科学史上最伟大的构思,可以说是惊天地而泣鬼神的工作。它统一了古典的引力理论和狭义相对论。爱氏花了十年功夫,基于等价原理,比较了各种描述引力场的方法,巧妙地用几何张量来表达了引力场,将时空观念全盘翻新。

爱氏所用的工具是黎曼几何,乃是黎曼比他早五十年前发展出来的,当时的几何学家唯一的工具是对比,在古典微积分、双曲几何和流形理论的模拟后得出来的漂亮理论。反过来说,广义相对论给黎曼几何注入了新的生命。

二十世纪数论的一个大突破乃是算术几何的产生,利用群表示理论为桥梁,将古典的代数几何、拓朴学和代数数论比较,有如瑰丽的歌曲,它的发展,势不可挡,气势如虹,「天之所开,不可当也」。

Weil研究代数曲线在有限域上解的问题后,得出高维代数流形有限域解的猜测,推广了代数流形的基本意义,直接影响了近代数学的发展。筹学所问,无过于此矣。

伟大的数学家远瞩高瞻,看出整个学问的大流,有很多合作者和跟随者将支架建立起来,解决很多重要的问题。正如曹雪芹创造红楼梦时,也是一样,全书既有真实,亦有虚构。既有前人小说如西厢记、金瓶梅、牡丹亭等的踪迹,亦有作者家族雕零、爱情悲剧的经验,通过各种不同人物的话语和生命历程,道出了封建社会大家族的腐败和破落。红楼梦的写作影响了清代小说垂二百年。

西厢记和牡丹亭的每一段写作和描述男女主角的手法都极为上乘,但是全书的结构则是一般的佳人才子写法,由金瓶梅进步到红楼梦则小处和大局俱佳。

这点与数学的发展极为相似,从局部的结构发展到大范围的结构是近代数学发展的一个过程。往往通过比兴的手法来处理。几何学和数论都有这一段历史,代数几何学家在研究奇异点时通过爆炸的手段,有如将整个世界浓缩在一点。微分几何和广义相对论所见到的奇异点比代数流形复杂,但是也希望从局部开始,逐渐了解整体结构。数论专家研究局部结构时则通过素数的模方法,将算术流形变成有限域上的几何,然后和大范围的算术几何对比,得出丰富的结果。数论学家在研究Langlands理论时也多从局部理论开始。

好的作品需要赋比兴并用。钟爃诗品:

「直书其事,寓言写物,赋也。宏斯三义,酌而用之,干之以风力,润之以丹采,使味之者无极,闻之者动心,是诗之至也。若专用比兴,则患在意深,意深则词踬。若但用赋体,则患在意浮,意浮则文散。」

在数学上,对非线性微分方程和流体方程的深入了解,很多时需要靠计算器来验算。很多数学家有能力做大量的计算,却不从大处着想,没有将计算的内容与数学其它分枝比较,没有办法得到深入的看法,反过来说只讲观念比较,不作大量计算,最终也无法深入创新。

有些工作却包含赋比兴三种不同的精义。近五十年来数论上一个伟大的突破是由英国人Birch和Swinneton-Dyer提出的一个猜测,开始时用计算器大量计算,找出L函数和椭圆曲线的整数解的连系,与数论上各个不同的分枝比较接合,妙不可言,这是赋比兴都有的传世之作。

四、数学家对事物的看法的多面性

由于文学家对事物有不同的感受,同一事或同一物可以产生不同的吟咏。例如对杨柳的描述:

温庭筠:

「柳丝长,春雨细……」

吴文英:

「一丝柳,一寸柔情,料峭春寒中酒……」

李白:

「年年柳色,灞陵伤别。」

「风吹柳花满座香,吴姬压酒劝客尝。」

周邦彦:

「柳阴直,烟里丝丝弄碧,隋堤上,曾见几番,拂水飘绵送行色……长亭路,年去岁来,应折柔条过千尺。」

晏几道:

「舞低杨柳楼心月,歌尽桃花扇底风。」

柳枝既然是柔条,又有春天时的嫩绿,因此可以代表柔情,女性体态的柔软(柳腰、柳眉都是用柳条来描写女性),又可以描写离别感情和青春的感觉。

对事物有不同的感受后,往往通过比兴的方法另有所指,例如「美人」有多重意思,除了指美丽的女子外,也可以指君主:屈原九章「结微情以陈词兮,矫以遗夫美人。」也可以指品德美好的人:诗经邶风:「云谁之思,西方美人。」苏轼赤壁赋「望美人兮天一方」。

数学家对某些重要的定理,也会提出很多不同的证明。例如勾股定理的不同证明有十个以上,等周不等式亦有五、六个证明,高斯则给出数论对偶定律六个不同的看法。不同的证明让我们以不同的角度去理解同一个事实,往往引导出数学上不同的发展。

记得三十年前我利用分析的方法来证明完备而非紧致的正曲率空间有无穷大体积后,几何学家Gromov开始时不相信这个证明,以后他找出我证明方法的几何直观意义后,发展出他的几何理论,这两个不同观念都有它们的重要性。

小平邦彦有一个极为重要的贡献叫做消灭定理,是用曲率的方法来得到的,它在代数几何学上有奠基性的贡献,代数几何学家却不断的企图找寻一个纯代数的证明,希望对算术几何有比较深入的了解。

对空间中的曲面,微分几何学家会问它的曲率如何,有些分析学家希望沿着曲率方向来推动它一下看看有甚么变化,代数几何学家可以考虑它可否用多项式来表示,数论学家会问上面有没有整数格点。这种种主观的感受由我们的修养来主导。

反过来说,文学家对同一事物亦有不同的歌咏,但在创作的工具上,却有比较统一的对仗韵律的讲究,可以应用到各种不同的文体。从数学的观点来说,对仗韵律是一种对称,而对称的观念在数学发展至为紧要,是所有数学分枝的共同工具。另外,数学家又喜欢用代数的方法来表逹空间的结构,同调群乃是重要的例子,由拓朴学出发而应用到群论、代数、数论和微分方程学上去。

五、数学的意境

王国维在人间词话说:

「词以境界为最上。有境界则自成高格……有造境,有写境,此理想与写实二派之所由分。然二者颇难分别,因大诗人所造之境必合乎自然,所写之境亦必邻于理想故也。有有我之境,有无我之境。『泪眼问花花不语,乱红飞过秋千去。』……有我之境也。『采菊东蓠下,悠然见南山。』……无我之境也。有我之境,以我观物,故物皆着我之色彩。无我之境,以物观物,故不知何者为我,何者为物……无我之境,人唯乎静中得之。有我之境,于由动入静时得之,故一优美,一宏壮也。自然之物互相关系,互相限制。然其写之于文学及美术中也,必有其关系限制之处。故虽写实家亦理想家也。又虽如何虚构之境,其材料必求之于自然,而其构造亦必从自然之法律。故虽理想家亦写实家也。」

数学研究当然也有境界的概念,在某种程度上也可谈有我之境、无我之境,当年尤拉开创变分法和推导流体方程,由自然现象引导,可谓无我之境,他又凭自己的想象力研究发散级数,而得到zeta函数的种种重要结果,开三百年数论之先河,可谓有我之境矣。另外一个例子是法国数学家Grothendick,他著述极丰,以个人的哲学观点和美感出发,竟然不用实例,建立了近代代数几何的基础,真可谓有我之境矣。

在几何的研究中,我们发现狄拉克在物理上发现的旋子在几何结构中有魔术性的能力,我们不知道它的内在的几何意义,它却替我们找到几何结构中的精髓,在应用旋子理论时,我们常用的手段是通过所谓消灭定理而完成的,这是一个很微妙的事情,我们制造了曲率而让曲率自动发酵去证明一些几何量的不存在,可谓无我之境矣。以前我提出用Einstein结构来证明代数几何的问题和用调和映像来看研究几何结构的刚性问题也可作如是观。

不少伟大的数学家,以文学、音乐来培养自己的气质,与古人神交,直追数学的本源,来达到高超的意境。

文心雕龙.神思:

「文之思也,其神远矣。故寂然凝虑,思接千载;悄然动容,视通万里。吟咏之间,吐纳珠玉之声,眉睫之前,卷舒风云之色,其思理之致乎。」

六、数学的品评

好的工作应当是文已尽而意有余,大部份数学文章质木无文,流俗所好,不过两三年耳。但是有创意的文章,未必为时所好,往往十数年后始见其功。

我曾经用一个崭新的方法去研究调和函数,以后和几个朋友一同改进了这个方法,成为热方程的一个重要工具。开始时没有得到别人的赞赏,直到最近五年大家才领会到它的潜力。然而我们还是锲而不舍地去研究,觉得意犹未尽。

我的老师陈省身先生在他的文集中引杜甫诗「文章千古事,得失寸心知。」而杜甫就曾批评初唐四杰的作品「王杨卢骆当时体,轻薄为文哂未休,尔曹身与命俱灭,不废江河万古流。」

时俗所好的作品,不必为作者本人所认同。举个例子,白居易留传至今的诗甚多,最出名之一是《长恨歌》,但他给元微之的信中却说:

「及再来长安,又闻有军使欲聘倡伎,伎大夸曰:『我诵得白学士《长恨歌》,岂同他伎哉。』……偖伎见仆来,指而相顾曰:『此是《秦中吟》、《长恨歌》主耳。』自长安抵江西,三四千里……每每有咏仆诗者,此诚雕虫之技,不足为多,然今时俗所重,正在此耳。」

白居易说谢朓的诗丽而无讽。其实建安以后,绮丽为文的作者甚众。亦自有其佳处,毕竟钟爃评谢朓诗为中品,以后六朝骈文、五代花间集以至近代的鸳鸯蝴蝶派都是绮丽为文。虽未殝上乘,却有赏心悦目之句。

数学华丽的作品可从泛函分析这种比较广泛的学问中找到,虽然有其美丽和重要性,但与自然之道总是隔了一层。举例来说,从函数空间抽象出来的一个重要概念叫做巴拿赫空间,在微分方程学有很重要的功用,但是以后很多数学家为了研究这种空间而不断的推广,例如有界算子是否存在不变空间的问题,确是漂亮,但在数学大流上却未有激起任何波澜。

在七十年代,高维拓朴的研究已成强弩之末,作品虽然不少,但真正有价值的不多,有如「野云孤飞,去留无迹。」文气已尽,再无新的比兴了。当时有拓朴学者做群作用于流形的研究,确也得到某些人的重视。但是到了八零年代,值得怀念的工作只有Bott的局部化定理。

能经得起时间考验的工作寥寥无几,政府评审人材应当以此为首选。历年来以文章篇数和被引用多寡来做指针,使得国内的数学工作者水平大不如人,不单与自然隔绝,连华丽的文章都难以看到。

七、数学的演化

王国维说:

「四言敝而有楚辞,楚辞敝而有五言,五言敝而有七言,古诗敝而有律绝,律绝敝而有词。盖文体通行既久,染指遂多,自成习套。豪杰之士亦难于其中自出新意,故遁而作他体以自解脱。一切文体所以始盛中衰者,皆由于此,故谓文体后不如前,余未敢言。但就一体论,则此说固无以易也。」

数学的演化和文学有极为类似的变迁。从平面几何至立体几何,至微分几何等等,一方面是工具得到改进,另一方面是对自然界有进一步的了解,将原来所认识的数学结构的美发挥尽至后,需要进入新的境界。江山代有人才,能够带领我们进入新的境界的都是好的数学。上面谈到的高维拓朴文气已尽,假使它能与微分几何、数学物理和算术几何组合变化,亦可振翼高翔。

我在香港念数学时,读到苏联数学家Gelfand的看法,用函数来描述空间的几何性质,使我感触良深,以后在研究院时才知道。代数几何学家也用有理函数来定义代数空间,于是我猜想一般的黎曼流形应当也可以用函数来描述空间的结构。但是为了深入了解流形的几何性质,我们需要的函数必需由几何引出的微分方程来定义。可是一般几何学家厌恶微分方程,我对它却情有独钟,与几个朋友合作将非线性方程带入几何学,开创了几何分析这门学问,解决了拓朴学和广义相对论一些重要问题。在一九八一年时我建议我的朋友Hamilton用他创造的方程去解决三维拓朴的基本结构问题,二十多年来他引进了不少重要的工具,运用上述我和李伟光在热方程的工作,深入地了解奇异点的产生。两年前俄国数学家Perelman更进一步地推广了这个理论,很可能完成了我的愿望,将几何和三维拓朴带进了新纪元。

八年前我访问北京,提出全国向Hamilton先生学习的口号,本来讨论班已经进行,却给一些急功近利的北京学者阻止,在国外也遇到同样的阻力,中国几何分析不能进步都是由于年青学者不能够自由发展思想的缘故。广州的朱熹平却锲而不舍,他的工作已经远超国内外成名的中国学者。

当一个大问题悬而未决的时候,我们往往以为数学之难莫过于此。待问题解决后,前途豁然开朗,看到比原来更为灿烂的火花,就会有不同的感受。

这点可以跟庄子秋水篇比较:

「秋水时至,百川灌河,泾流之大,两涘渚崖之间,不辩牛马。于是焉河伯欣然自喜,以天下之美为尽在已,顺流而东行,至于北海,东面而视,不见水端,于是焉河伯始旋其面目,望洋向若而叹曰:『野语有之曰:『闻道百,以为莫已若者,我之谓也。且夫我尝闻少仲尼之闻,而轻伯夷之义者,始吾弗信,今我睹子之难穷也。吾非至于子之门,则殆矣。吾长见笑于大方之家。』』」

科学家对自然界的了解,都是循序渐进,在不同的时空自然会有不同的感受。有学生略识之无后,不知创作之难,就连陈省身先生的大作都看不上眼,自以为见识更为丰富,不自见之患也。人贵自知,始能进步。

庄子:

「今尔出于崖涘,观于大海,乃知尔丑,尔将可与语大理矣。」

我曾经参观德国的葛庭根大学,看到十九世纪和廿世纪伟大科学家的手稿,他们传世的作品只是他们工作的一部份,很多杰作都还未发表,使我深为惭愧而钦佩他们的胸襟。今人则不然,大量模仿,甚至将名作稍为改动,据为己有,尽快发表。或申请院士,或自炫为学术宗匠,于古人何如哉。

八、数学的感情

为了达到深远的效果,数学家需要找寻问题的精华所在,需要不断的培养我们对问题的感情和技巧,这一点与孟子所说的养气相似。气有清浊,如何寻找数学的魂魄,视乎我们的文化修养。

白居易说:

「圣人感人心而天下和平,感人心者,莫先乎情,莫始乎言,莫切乎声,莫深乎义……未有声入而不应,情交而不感者。」

严羽沧浪诗话:

「盛唐诸公唯在兴趣,羚羊挂角,无迹可求。故其妙处透澈玲珑,不可凑拍,如空中之音,相中之色,水中之影,镜中之象,言有尽而意无穷。」

我的朋友Hamilton先生,他一见到问题可以用曲率来推动,他就眉飞色舞。另外一个澳洲来的学生,见到与爱因斯坦方程有关的几何现象就赶快找寻它的物理意义,兴奋异常,因此他们的文章都是清纯可喜。反过来说,有些成名的学者,文章甚多,但陈陈相因,了无新意。这是对自然界、对数学问题没有感情的现象,反而对名位权利特别重视。为了院士或政协委员的名衔而甘愿千里仆仆风尘地奔波,在这种情形下,难以想象他们对数学、对自然界有深厚的感情。

数学的感情是需要培养的,慎于交友才能够培养气质。博学多闻,感慨始深,堂庑始大。欧阳永叔:

「人间自是有情痴,此恨不关风与月。」

「直须看尽洛城花,始与东风容易别。」

能够有这样的感情,才能够逹到晏殊所说:

「昨夜西风雕碧树,独上高楼,望尽天涯路。」

浓厚的感情使我们对研究的对象产生直觉,这种直觉看对象而定,例如在几何上叫做几何直觉。好的数学家会将这种直觉写出来,有时可以用来证明定理,有时可以用来猜测新的命题或提出新的学说。

但数学毕竟是说理的学问,不可能极度主观。诗经蓼莪、黍离,屈原离骚、九江,汉都尉河梁送别,陈思王归藩伤逝,李后主忆江南,宋徽宗念故宫,俱是以血书成、直抒胸臆,非论证之学所能及也。

九、数学的应用

王国维说:

「诗人对宇宙人生须入乎其内,又须出乎其外。入乎其内,故能写之,出乎其外,故能观之,入乎其内,故有生气,出乎其外,故有高致。美成能入而不能出,白石以降,二事皆未梦见。」

「词之雅郑,在神不在貌。永叔少游虽作艳语,终有品格,方之美成,便有淑女与倡伎之别。」

数学除与自然相交外,也与人为的事物相接触,很多数学问题都是纯工程上的问题。有些数学家毕生接触的都是现象界的问题,可谓入乎其内。大数学家如尤拉、如富里哀、如高斯、如维纳、如冯纽曼等都能入乎其内,出乎其外,既能将抽象的数学在工程学上应用,又能在实用的科学中找出共同的理念而发展出有意义的数学。反过来说,有些应用数学家只用计算器作出一些计算,不求甚解,可谓二者皆未见矣。

富里哀在研究波的分解时,得出富里哀级数的展开方法,不但成为应用科学最重要的工具,在基本数学上的贡献也是不可磨灭的。近代孤立子的发展和几何光学的研究,都在基本数学上占了一个重要的位置。

应用数学对基本数学的贡献可与元剧比较。王国维评元剧:

「其作剧也,非有藏之名山,传之其人之意也,彼以意兴之所至为之,以自娱娱人,关目之拙劣,所不问也;思想之卑陋,所不讳也;人物之矛盾,所不顾也。彼但摹写其胸中之感想与时代之情状,而真挚之理与秀杰之气时流露于其间。」

例如金融数学旨在谋利,应用随机过程理论,间有可观的数学内容。正如王国维评古诗「何不策高足,先据要路津,无为久贫贱,轗轲长苦辛。」认为「无视其鄙者,以其真也。」伟大的数学家高斯就是金融数学的创始人,他本人投资股票而获利,Klein则研究保险业所需要的概率论。

然而近代有些应用数学家以争取政府经费为唯一目标,本身无一技之长,却巧立名目,反诬告基本数学家对社会没有贡献,尽失其真矣。有如近代小说以情欲、仇杀、奸诈为主题,取宠于时俗,不如太史公刺客列传中所说:

「自曹沫至荆轲五人,此其义或成或不成,然其立意较然,不欺其志,名垂后世,岂妄也哉。」

应用数学家不能立意较(皎)然,而妄谈对社会有贡献,恐怕是缘木求鱼了。

十、数学的训练

好的数学家需要领会自然界所赋予的情趣,因此也须向同道学习他们的经验。然而学习太过,则有依傍之病。顾亭林云:

「君诗之病在于有杜,君文之病在于有韩,欧。有此蹊径于胸中,便终身不脱依傍二字,断不能登峰造极。」

今人习数学,往往依傍名士,凡海外毕业的留学生,都为佳士,孰不知这些名士泰半文章与自然相隔千万里,画虎不成反类犬矣。李义山:

「刘郎已恨蓬山远,更隔蓬山一万重。」

很多研究生在跟随名师时,做出第一流的工作,毕业后却每况愈下,就是依傍之过。更有甚者,依傍而不自知,由导师提携指导,竟自炫「无心插柳柳成荫」,难有创意之作矣。

有些学者则倚洋自重,国外大师的工作已经完成,除非另有新意,不大可能再进一步发展。国内学者继之,不假思索,顶多能够发表一些二三流的文章。极值理论就是很好的例子。由Birkhoff、Morse到Nirerberg发展出来的过山理论,文意已尽,不宜再继续了。

推其下流,则莫如抄袭,有成名学者为了速成,带领国内学者抄袭名作,竟然得到重视,居庙堂之上,腰缠万贯而沾沾自喜,良可叹也。

数学家如何不依傍才能做出有创意的文章?

屈原说:

「纷吾既有此内美兮,又重之以修能。」

如何能够解除名利的束缚,俾欣赏大自然的直觉毫无拘束地表露出来,乃是数学家养气最重要的一步。

贾谊:

「独不见夫鸾凤之高翔兮,乃集大皇之野。循四极而回周兮,见盛德而后下。彼圣人之神德兮,远浊世而自藏。使麒麟可得羁而系兮,又何以异乎犬羊。」

媒体或一般传记作者喜欢说某人是天才,下笔成章,仿佛做学问可以一蹴而就。其实无论文学和数学,都需要经过深入的思考才能产生传世的作品。柳永:

「衣带渐寛终不悔,为伊消得人憔悴。」

一般来说,作者经过长期浸淫,才能够出口成章,经过不断推敲,才有深入可喜的文采。王勃腾王阁序,丽则丽矣,终不如陶渊明归去来辞、庾信哀江南赋、曹植洛神赋诸作来得结实。文学家的推敲在于用字和遣辞。张衡两京、左思三都,构思十年,始成巨构,声闻后世,良有以也。数学家的推敲极为类似,由工具和作风可以看出他们特有的风格。传世的数学创作更需要有宏观的看法,也由锻炼和推敲才能成功。

曹丕:

「古人贱尺璧而重寸阴,惧乎时之过已,而人多不强力;贫贱则慑于饥寒,富贵则流于逸乐,遂营目前之务,而遗千载之功。日月逝于上体貌衰于下。忽然于万于迁化,斯志士之大痛也。」

三十年来我研究几何空间上的微分方程,找寻空间的性质,究天地之所生,参万物之行止。乐也融融,怡然自得,溯源所自,先父之教乎。



丘成桐

二零零五年六月二十四日

2005-07-12

中小企业ERP美国上演三国演义

http://www.ceocio.com.cn/cio_community/res_11.asp
中小企业ERP美国上演三国演义
桑劲松/文

在美国,中小型企业也是ERP厂商眼中的"香饽饽"。

2004年夏,专注于美国中小企业ERP市场的微软和Best Software相继召开了代理商年度大会。这是它们每年一度向代理商发布未来市场导向的重要会议。在这两次会议中,大部分代理商都认为,美国中小型ERP软件市场已经进入了微软、Best Software和Intuit三足鼎立的时代。

微软在软件业的地位是不容置疑的,虽然它涉足ERP软件领域较晚,但发展势头十分迅猛。MBS(Microsoft Business Solutions)一系列大手笔的收购举动令业内人士颇为震惊,它先后收购了Axapta、Solomon、Great Plains和Navision等产品,其中Great Plains和Navision是两个相类似的产品。微软承诺,将对其所收购的上述4个产品继续提供技术支持,直至2013年;它们新一代的ERP软件Project Green也将于2007~2008年问世。对于收购的产品,微软采取了整合战略,即用大约10年将这些产品的技术优势和客户群逐渐融合、消化、吸收。整合战略使微软占据了美国中小型ERP软件市场的上层。不过,MBS在2003年的业绩并不理想,主要原因是由于MBS的产品多以微软的操作系统和数据库平台为依托,尽管技术先进、产品设计精致、功能强大,但实施周期相对较长,实施和维护也较为不易,总体实施费用较高。

三强中的Best Software创立于20世纪80年代初,总部位于南加州的Irvin,它长期致力于面向北美市场的ERP软件的开发,其主要产品MAS90/200在北美市场的口碑颇好,在美加拥有众多代理商,用户近8万家。MAS90/200易学、易用、易维护,其实施和维护较为容易,且物美价廉,不过在技术上稍显陈旧。库存、财务和销售管理是MAS90/200的强项,因此,它十分适合批发和分销行业的需求。在北美的华人企业中,MAS90的使用率颇高。不过,遗憾的是Best Software对少数族裔市场没有给予足够的重视。



Best Software曾先后收购了ACT、Peach Tree、ACCPAC等产品,加上其近年开发的新产品MAS500,使其产品覆盖了小型至中型企业市场,用户总数高达百万之众。对于所收购的产品,Best Software采取了集成的战略,即制做程序接口,将某些功能或模块与MAS90/200/500集成,使其主打产品的功能更为强大。这是一种投资少、见效快的方式。在过去两年中,Best Software从中获益颇多。Best Software的客户群以小型企业和中型偏小企业为主,它在美国中小型ERP软件市场上牢牢占据着中层地位。



Intuit成立于1984年,总部在加州的Mountain View。它主要致力于开发个人理财和小型财务软件。在美加和英国等国设有20个分支机构,并在欧洲和亚太地区拥有一些代理商。据悉,Intuit已通过与某企业的合作进入中国市场。Intuit的主打产品为Quicken和QuickBooks。它们在美国小企业中拥有庞大的客户群。Quicken主要用于个人理财,而QuickBooks则是侧重于服务小型企业和CPA(注册会计师)的财务软件。近年来,QuickBooks相继推出了不同的版本及应用于POS和互联网的解决方案。对大部分小型企业而言,其功能已十分丰富,但严格地讲QuickBooks只能被称为进销存和财务软件。Intuit的产品主要面向的是个人和小型企业用户,浅显易懂、价格低廉,用户能很快上手。不过,由于无法承担较大的数据量,库存管理一直是其弱项。Intuit凭借着在美国中小型企业中拥有庞大的客户群,占据了该市场的底层。

美国软件业者普遍认为,软件业已经走出了2000年后的低谷。如今,许多企业在上世纪末为解决"千年虫"升级或购买的新软件逐渐进入更新期。据预计,未来几年内,美国的软件市场将十分繁荣,而各厂商间的竞争也将更加激烈--Intuit希望自己的产品能够进入中型企业市场,Best Software则在努力稳固并不断扩大自己在中小企业中的市场占有率,而微软则想尽快在中小企业市场上抢得一杯羹。

如今,一个使用Intuit的QuickBooks的企业如果要购买Best Software的MAS90,它将能得到15%的折扣,如果它用的是微软的Great Plains或Navision,产品折扣还会更高。今年,Best Software还推出了100/100计划,即斥资100万美元为其代理商培训100名销售人才。它的某些促销措施颇值得中国软件业者借鉴,比如与信用卡公司合作,为企业采购软件提供贷款,贷款的范围不仅包括软件本身,甚至还涵盖相应的实施和服务费用。这些措施使得企业、软件商和信用卡公司三方都能从中受益。微软也正在着手将MBS的分销商和其他产品的分销商合并,这样其所有经销商都可以销售ERP产品。

众所周知,中国软件市场中的ERP软件厂商几乎都瞄准了中小企业,将中小企业的潜在购买力作为自己未来的增长点。这种市场理念并非中国市场所独有,事实上,在全球范围内,中小企业都是最具活力、增长最迅速,同时也是最具市场潜力的客户群。20世纪后期,美国国内众多大型企业集团为了降低成本纷纷将自己的生产基地移往海外,这使得它们在美国本土的机构大为精简。而近两年来,安然和凯玛特等大型企业的破产,更使得人们看到大企业正在衰落,因此面对大中型企业的ERP软件的需求也随之萎缩。与此同时,以批发、分销行业为代表的中小企业迅速崛起,对进销存及EDI等环节的有效控制成为它们的发展命脉。市场供求关系的变化为面向中小企业的ERP软件提供了巨大的发展空间。多年来,美国一直处于世界经济的领导地位,它的今天往往就是很多国家和地区的明天,因此我们不妨大胆预测,21世纪将是中小企业发展的时代,而面对中小企业的ERP软件市场也将进入繁荣期。

(本文作者曾在国内多家跨国管理软件公司任职,2001年移居美国,现任美国尖端计算机系统公司亚洲市场经理)