2005年10月24日
摘要:需要什么样的文档 1. 目的。主要功能,开发原因。 2. 环境。 3. 范围。输入的有效范围是什么 4. 实现功能和使用的算法。 5. 输入,输出格式。 6. 操作指令。 7. 选项 8. 运行时间 9. 精度和校验 流程图 流程图不应该过于吹捧,它只是体现软件逻辑结构的一种手段,并且尽量画它在一页纸上。逐一记录的详细流程图过时而且令人生厌,它只适合启蒙初学者的算法... 阅读全文
posted @ 2005-10-24 17:14 dragonpro 阅读(507) 评论(2) 推荐(0) 编辑
  2005年10月22日
摘要:里程碑还是沉重的负担 里程碑应该比较透彻和确定,这样就会很少会弄虚作假,做些自欺欺人的事。 其他的部分反正会落后 为落后找借口是不好的,项目同样需要进取心。 地毯的下面 一线经理为了掩盖系统出现的滞后,就不向老板汇报,老板不能掌握系统开发的进度。怎样杜绝这种情况发生呢? 减少角色的冲突。老板做到拿到报告不要惊慌 孟的拉开地毯。拥... 阅读全文
posted @ 2005-10-22 18:04 dragonpro 阅读(377) 评论(0) 推荐(0) 编辑
  2005年10月21日
摘要:至上而下的设计。首先有清晰的结构,其次模块分隔和模块独立性避免了系统级别的不公,第三,细节的抑制使结构上的缺陷更加容易识别。第四,设计在每个精化步骤上都可以测试的,所以测试可以尽早开始。 阅读全文
posted @ 2005-10-21 09:26 dragonpro 阅读(469) 评论(0) 推荐(0) 编辑
  2005年10月20日
摘要:最近用EntLib建立一个项目,用到其中的DAAB这个模块,这个模块是提供封装了的数据访问方法。本项目需要同时支持Sql Server 和Oracle数据库,现我考虑了两种使用方法,列出来供大家讨论: 阅读全文
posted @ 2005-10-20 15:32 dragonpro 阅读(2441) 评论(7) 推荐(0) 编辑
  2005年10月19日
摘要:学了好长一段时间的VC给我的感觉就是烦杂,比起.net 来要麻烦许多,但是这些都是底层的东西,学了没错。一个偶然的机会接触到了孙鑫的VC视频教程,看了几节课,感觉讲得太棒了,让我明白很多问题,讲得深入浅出,实在是爽。。。所以学要讲方法,我在自学的情况下,虽然也买了基本书,但总觉没头绪,现在好了,认认真真的听大师的讲解就OK了,很轻松而且效率很高。再次感谢上天给我这么好个机会这个教程在http://... 阅读全文
posted @ 2005-10-19 12:29 dragonpro 阅读(588) 评论(0) 推荐(0) 编辑
摘要:这几天博客园似乎总有问题,这也难为dudu了,这么大的访问量。我的随笔也放了几天时间了,主要是最近在做弄一个网站,同时也在学VC,所以晚上忙得很,没时间写随笔了。我想还是不要间断的好,继续写吧,其实也不是很麻烦的事情。 阅读全文
posted @ 2005-10-19 12:15 dragonpro 阅读(280) 评论(0) 推荐(0) 编辑
  2005年10月14日
摘要:很多工业在产品成型之前都需要有试验工厂,也就是说需要有失败的产品,同样在软件行业来说,写出失败的程序是很正常的,对于大多数项目来说,第一个开发的系统并不合用。因此,为舍弃而计划,无论如何,你一定要这样做。 唯一不变的是变化本身 做软件从来就是充满着变化的,变化是与生俱来的,项目开始建立的基准,肯定会随着开发的进行越来越高,甚至开发不出任何产品。 为变化计划系统 ... 阅读全文
posted @ 2005-10-14 16:17 dragonpro 阅读(394) 评论(0) 推荐(0) 编辑
  2005年10月13日
摘要:在一个项目中,贯彻执行同样是一个比较棘手的事情。在此说明执行中所遇到的问题: 文档化的规格说明 ―― 手册。手册规格说明是一个非常必要的工具,尽管光有文档是不够的,但是手册是唯一的能够良好的传递规格的介质。 形式化定义。描述规格是一件需要让人能够很准确理解的艺术,它需要重复发挥文档撰写人员的能力。才能使文档尽量的清晰。这里可以使用预先定义好的形式... 阅读全文
posted @ 2005-10-13 16:22 dragonpro 阅读(517) 评论(0) 推荐(0) 编辑
  2005年10月12日
摘要:在软件工程中什么叫画蛇添足?与我们平时所说的过渡设计如出一辙吧。所谓过渡设计即是过分腔调功能,过分注重模式,等等,造成的系统的体积庞大,效率底下。 还有一个概念就是开发第二个系统,往往人们在开发第二个系统的时候会在开发第一个系统的基础上进行构思,运用第一个系统处于谨慎状态的那些功能,这样往往在第二个系统里面得到体现,从而出现过渡设计的后果。 记得几年... 阅读全文
posted @ 2005-10-12 10:23 dragonpro 阅读(425) 评论(0) 推荐(0) 编辑
  2005年10月11日
摘要:搞了个Oracle服务器,用MSPetShop连接Oracle,安装好后,浏览却提示如下错误: 【System.Data.OracleClient requires Oracle client software version 8.1.7】 不知道诈回事,Google了一下,原来是安装目录的Authenticated Users没有写入和修改权限,具体操作如下: go to oracle ins... 阅读全文
posted @ 2005-10-11 11:02 dragonpro 阅读(1139) 评论(0) 推荐(0) 编辑
  2005年10月10日
摘要:有些研究表明,效率高和效率低的实施者之间的个体差异非常大,经常能够达到数量级的水平。 ――Sackman , Erikson and Grant 较好的程序员和较差的程序员生产率是有令人吃惊的差异的。Sackman.Erikson和Grant曾对一组具有经验的程序人员进行测量。在该小组中最好的和最差的表现在生产率上平均为10:1;在编程速度和空间上具有5:1的惊人差... 阅读全文
posted @ 2005-10-10 18:58 dragonpro 阅读(1031) 评论(0) 推荐(0) 编辑
  2005年10月9日
摘要:项目滞后的主要原因在于缺乏合理的进度安排。它比其他所有因素加起来的影响还要大。 首先,我们对估算技术缺乏有效的研究,它反映了一种不真实的假设――一切将运作良好。 我们采用的估算技术隐含地假设人和月可以互换,错误的将进度和工作量混淆。 对估算缺乏信心,通常不会很耐心持续的估算这项工作。 对进度缺少跟踪和监督。 当意识到进度偏移时,下意识的反映是增加人力。这就像汽油灭火一样,只会使事情... 阅读全文
posted @ 2005-10-09 14:12 dragonpro 阅读(919) 评论(0) 推荐(0) 编辑
  2005年10月8日
摘要:最近重装了系统,安装数据库的时候出现了点问题,老是提示下面这个错误, 在安装过程中我只指定了数据库的安装目录,看看安装日志(sqlstp.log),有这样的错误提示 ###############################################################################10:23:28 Process Exit Code: (-1) 10:2... 阅读全文
posted @ 2005-10-08 12:04 dragonpro 阅读(2248) 评论(1) 推荐(0) 编辑
  2005年10月5日
摘要:虽然这只是笔记,但我仍然忍不住放上来和大家分享软件给我们带来的苦与乐。 阅读全文
posted @ 2005-10-05 13:10 dragonpro 阅读(1540) 评论(6) 推荐(0) 编辑
  2005年9月30日
摘要:UTF-8:当今世上最流行的编码方式,它可以按照码值灵活安排字节数,也就是存储空间。所以我们在应用的时候应该尽量使用UTF-8或UTF-16这样的编码方法来进行字符串的编码。因为这样很安全,不会出现不认识的字符。 UTF16把16位字符编码为2个字节,而UTF8则有四种可能,比如英文字符他会编码为一个字节,一些欧洲和中东语言,它会编码为两个字节,一些东亚地区的语言它会编码成三个字节,代理字符会被转换为4个字节。 阅读全文
posted @ 2005-09-30 11:39 dragonpro 阅读(1899) 评论(9) 推荐(0) 编辑
  2005年9月25日
摘要:在State模式中,派生类持有回指向上下文类的引用,派生类的主要功能是使用这个引用选择并调用上下文类中的方法。在Strategy模式中,不存在这样的限制以及意图,Strategy的派生类不必支持有指向上下文类的引用,并且也不需要去调用上下文类的方法。 阅读全文
posted @ 2005-09-25 15:39 dragonpro 阅读(424) 评论(0) 推荐(0) 编辑
  2005年9月24日
摘要:Visitor模式系列允许在不更改现有类层次结构的情况下向其中增加新方法。 阅读全文
posted @ 2005-09-24 12:29 dragonpro 阅读(356) 评论(0) 推荐(0) 编辑
  2005年9月23日
摘要:我们知道在aspx页面里激发一个事件都需要把页面Post到服务器,这样如果在客户端通过调用javascript进行页面刷新,IE就会弹出提示框问是否重新提交,但是我们本意只是想刷新数据显示。怎么办呢,我想的办法就是模拟控件激发事件的动作,让.net误认为是改变了控件的状态或点击了刷新按钮,让页面Post达到刷新数据的作用。 阅读全文
posted @ 2005-09-23 18:00 dragonpro 阅读(5365) 评论(10) 推荐(0) 编辑
  2005年9月22日
摘要:此模式主要用在跨越障碍的情况下在参与者都不知晓的情况下被插入到应用中,这是Proxy的优点,但是随之也带来了复杂度。 阅读全文
posted @ 2005-09-22 19:02 dragonpro 阅读(866) 评论(0) 推荐(0) 编辑
  2005年9月21日
摘要:模式既可以带来好处也可以带来坏处,它的坏处就是不必要的复杂性,它应该使用在那些最需要最合适的地方。 阅读全文
posted @ 2005-09-21 12:56 dragonpro 阅读(656) 评论(0) 推荐(0) 编辑
  2005年9月20日
摘要: 此模式主要充当观察者,观察程序的动向。Observer有两种主要模型,“推”和“拉”。拉模型的优点是它实现起来比较简单,并且易于重用。推模型的Observer模型可以为我们提供让客户程序知道发生了哪些变化。 阅读全文
posted @ 2005-09-20 10:31 dragonpro 阅读(334) 评论(0) 推荐(0) 编辑
摘要:Composite模式是一个比较简单但具有深刻内涵的模式。此模式使用代理机制,屏蔽掉其他单个的接口实现,表现得就像是一个实现接口的,不过,实际上它只是一组实例的代理。 阅读全文
posted @ 2005-09-20 10:30 dragonpro 阅读(300) 评论(0) 推荐(0) 编辑
摘要:为了征询DIP原则,在很多情况下都不能与具体类实例相关联,用NEW关键字就违反了这一原则,当然一些不会改变的类,比如String这些是没必要隔离什么的。如果具体类是非常易变的,依赖就会带来问题,那么怎样避免使用具体的类呢,这就是Factory的用武之地。 阅读全文
posted @ 2005-09-20 10:27 dragonpro 阅读(358) 评论(0) 推荐(0) 编辑
摘要:此模式意在防止返回空引用,用空对象代替空引用。也就是代替null,这样在客户端处理的时候就不用关心返回的是不是空引用了,少了判断或Try…Catch语句的开销。 这就需要一个匿名的表示空值的实例,只是此实例无论执行什么方法都是无效的,我感觉在.NET中这种模式实现起来比较复杂,还不如返回null在程序里判断,就像: If(e != null && e.Method1()) { ... 阅读全文
posted @ 2005-09-20 10:23 dragonpro 阅读(464) 评论(1) 推荐(0) 编辑
摘要:这两个模式的作用都是为了使对象具有唯一性的特征,只是在实现上稍有差别,Singleton一般使用类的静态方法返回类的实例从而构造对象,这样可以先判断对象是否创建,如果创建就使用已创建的对象,这样保持了对象的唯一性,这在与构造一般对象时有所不同。Monostate模式表示用静态变量存储类的字段,这样,无论有多少个对象,所处理的内部字段都是一样,从而达到的效果也是一样,它在使用上与一般的对象是没有差别的,只是也能通过继承方便的派生出其他对象。 阅读全文
posted @ 2005-09-20 10:22 dragonpro 阅读(456) 评论(0) 推荐(0) 编辑
  2005年9月14日
摘要:这两个模式是应用比较广泛也是比较有用的模式之一,其中设计范围广并且可见,那么可以用Façade,另一方面,如果策略隐蔽,并且有针对性,那么可以用Mediator模式。 阅读全文
posted @ 2005-09-14 14:28 dragonpro 阅读(353) 评论(0) 推荐(0) 编辑
摘要:这个是在03年,当时还是CS1.5风靡全球的时候,也是我接触DotNet没多长时间,当时对CS比较痴迷,喜欢看DEMO里那些高手们的精彩表演,但那时的DEMO播放器并不能使我满意,索性自己做一个,这个功能基本是比较全面,可以以两种方式播放DEMO,在1.5版本中测试通过,但没有式1.6行不行,现在这个用处已经不大了,但自认为制作精美,拿出来献丑,纯属玩玩(VB.NET) 阅读全文
posted @ 2005-09-14 14:20 dragonpro 阅读(1169) 评论(0) 推荐(0) 编辑
  2005年9月12日
摘要:Template Method和Strategy模式都可以用来分离高层算法和低层的具体实现细节,都允许高层算法独立于它的具体实现而重用,此外Strategy还提供了具体实现细节独立于高层算法的重用,不过为此付出的代价就是代码的复杂性提高了,增加了运行开销。 阅读全文
posted @ 2005-09-12 18:10 dragonpro 阅读(408) 评论(0) 推荐(0) 编辑
摘要:Command模式的简单性掩盖了它的多功能性。Command模式可以应用于多种不同的美妙的用途,范围设计数据库和事务操作、设备控制、多线程核心以及GUI的do/undo管理。 阅读全文
posted @ 2005-09-12 17:44 dragonpro 阅读(639) 评论(0) 推荐(0) 编辑
  2005年9月1日
摘要: 在实际的企业级应用中,很容易遇到需要处理复杂报表的问题,因为报表一般都相对复杂,用一般的表单+字段的方式实在不方便,怎样做更省劲呢? 此文章列出了这种解决方案的原理和注意事项以及两个相关的DEMO。 阅读全文
posted @ 2005-09-01 19:19 dragonpro 阅读(10968) 评论(26) 推荐(0) 编辑

Free Web Counter