国内项目中可以采用的软件工程手段 (转)
国内项目中可以采用的软件工程手段 (转)[@more@] 前言 为更好地开发软件,必须在项目组中引入一些软件工程手段和方法。本文试讨论了无论公司情况如何,一个项目经理都应该可以在项目组中实行的一些手段和方法;当然,公司情况良好则有更加可行的、更多的方法可以选择;这里只讨论了最差情况下可以采用的方法。 本文按照最简单的瀑布模式的各个阶段分别列举了一些方法,在其他模式中应该也可以采用。 需求阶段 需求的管理应该是贯穿整个开发过程。在这个阶段,可以采用的方法有: ² CCB(变更控制委员会) 建立CCB(
沉思录:你“防御”了吗? (转)
沉思录:你“防御”了吗? (转)[@more@]你防御了吗?XML:NAMESPACE PREFIX = O /> 荣耀 2002 Andrew koenig先生的《C陷阱与缺陷》(高巍 译)一书中,有这样一段关于“防御性编程”的文字: 对程序用户和编译器实现不要作太多的假设!我还记得自己在开发某个系统时,曾经与一个用户有过这样一场对话: “这部分记录中可能出现的代码有哪些?” “可能的代码是X、Y和Z。” “如果与X、Y和Z不同的代码在这里出现了,该怎么办呢?” “这不可能发生。” “嗯,但如果这种情况确实发生时,程序需要做些适当的处理。你认
使用AD+处理崩溃和挂起(2) (转)
使用AD+处理崩溃和挂起(2) (转)[@more@]更多细节 没有安装调试符号的情况XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 在没有安装调试符号的情况下,我们运行ADPlus.vbs,看看有什么结果。 运行下列命令,它将导致对.NETinfo.exe和其他Out-Of-Process (oop)应用程序的Full-Memory Dumps: cscript.exe adplus.vbs -hang -iis CScript将会输出: Microsoft (R) windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. 以及一个对话框提示你安
DCOM的心跳 (转)
DCOM的心跳 (转)[@more@] 保持DCOM的心跳 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 文档版本 版本 创建时间 创建人 备注 1.0.0114.1 2003-1-14 郑昀 第一稿 编写目的: 本文档将说明DCOM的心跳给编程上的影响。 概述 我们的程序员前不久遇到过这样的一个奇怪的现象: “服务器端创建出一个ServerA的实例,好几个分布式的客户端持有这个实例的引用,类似于ConnectionPoint的方式。客户端负责向服务器端的实例发送电话拨入、按键、挂机等消息,服务器端负责处理
使用AD+处理崩溃和挂起 (转)
使用AD+处理崩溃和挂起 (转)[@more@]使用AutoDump+(AD+)处理挂起和崩溃(序) XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 文档版本 版本 创建时间 创建人 备注 1.0.1028.1 2002-10-28 郑昀 第一稿 编写目的: 本文档将说明ADDump+(AD+)的使用场景。 概述 经常会在新闻组中看到“Help Me!My iis hang!”这样醒目的标题,您也许有过这样的辛酸的经验: “Sometimes (every 30 minutes or every 15 minutes), without an excplicit reason, some sites hang. In this news
并口与编程 (转)
并口与编程 (转)[@more@] 并口即个人电脑并行接口是从简单的打印机接口发展而来。早期的并口是单向口,它只是简单的把数据从计算机传送到打印机。随着双向并口的出现,并口的用途也越来越广泛。相较于串口它有传输快、可靠性高,编程简单的特点。在近距离通信方面正在逐步取代串口。 由于双向并口是各制造商独自设计没有一个统一的规范。逐渐形成了如下的并口模式: 1、原始并口SPP 单向8位+双向4位 2、简单双向PS/2 双向8位 3、增强并口EPP 高速双向 4、扩展并口ECP 高速
Zend Optimizer 配置指南 (转)
Zend Optimizer 配置指南 (转)[@more@]zend Optimizer 配置指南 当前作者:王猛 (Mailto:HeartIcy@163.com">HeartIcy@163.com)创建日期:2003年1月14日修订版本:1.1 Zend Optimizer是由PHP核心引擎“Zend”创建者Zend技术公司所开的免费PHP优化软件。据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上!这么好的免费大餐当然要用,现在我们来谈谈如何配置这套软件。 Zend Opt的安装是傻瓜化的,安装向导会自动根据你的选择来修改php.ini帮助你启动这个引擎。下面我们来介绍下Zend Opt的配置选项,帮助你最大化自定义合
组件开发方式 (转)
组件开发方式 (转)[@more@] 在Te2和IWS的开发过程中,我终于体会到了采用组件开发的方式给我带来的非凡的快乐和巨大的痛苦,一方面,我可以简单的拖拉几个组件放在Form或者DataModule上,设置一下属性,接着我就可以按F9来Run了。另一方面,我常常陷于莫名其妙的AV错误中,一不小心就会把我的Delphi搞崩溃。但是,只要我们搞清楚了创建组件的一些基本方法,那么就可以小心的避开组件开发过程中的种种陷阱。在阅读这篇文章之前,我建议大家可以先读: Delphi爱好者上的:ASP">FoRM Class To Component,这篇文档告诉我们创建
监控网页中元素的事件 (转)
监控网页中元素的事件 (转)[@more@]对编写脚本熟悉的读者都知道页面中可以添加脚本响应元素的事件,例如超链接的OnClick事件,图片的OnMouseMove事件,我们也可以使VB程序响应这些事件。下面是一个VB响应页面中按钮的Click事件的代码: 首先建立一个新工程,在Form1中加入一个webbrowser控件,然后在Form1中加入以下代码: Option Explicit Public Sub Some_Procedure() MsgBox "你点击了按钮." End Sub Private Sub Form_Load() '下载空页面 WebBrowser1.Navigate2 "about:blank" End Sub Private Sub WebBrowser1_DocumentComplete(ByVa
软件工程师的年终总结 (转)
软件工程师的年终总结 (转)[@more@] 总想着每天、每个月、乃至每年都有点进步。2002年,对我来说,是起伏不定的一年,也是收获颇丰的一年。当然,最大的收获是有了一个可爱的女儿。:-) 在这一年,我跳了两次槽,一次是自愿的,还有一次是被迫的。我目睹了一些公司从盛到衰的过程,也看到了一些脚踏实地的公司。 离开X1公司,是因为我觉得X1公司不是在做软件,所谓的印度模式,我想,绝对不是这么做的。理想不合,不想浪费时间,也只能背负跳槽的恶名,挂冠而去。去X2公司,是因为看到他是美国独资公司,做外包软件,
Win32 多线程的性能(1) (转)
Win32 多线程的性能(1) (转)[@more@] 作者:microsoft公司供稿 Ruediger R. AscheMicrosoft Developer.NETwork 技术小组摘要 本文讨论将单线程应用程序重新编写成多线程应用程序的策略。它以Microsoft? windows? 95和windows NT?的平台为例,从吞吐量(throughput)和响应方面,与兼容的单线程计算相比较而分析了多线程计算的性能。介绍 在您所能够找到的有关多线程的资料中,多数都是讲述同步概念的。例如,如何串行化(serialize)共享公共数据的线程。这种把重点放在讨论同步上是有意义的,因为同步是多线程编程中不可缺少
Package and ClassPath (转)
Package and ClassPath (转)[@more@] Package and ClassPath (静水流深第一版) 这是我的读书笔记,希望能够对大家学习Java有所帮助。所有代码都经过测试,测试环境: java version "1.4.0-rc"Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-rc-b91)Java HotSpot(TM) Client VM (build 1.4.0-rc-b91, mixed mode) 如大家发现任何错误,或有任何意见请不吝赐教。 quietwater 2003.2.4 写作初衷 首先是我自己遇到了有关package和classpath的问题,经过网友的
足球战术之Factory Method篇 (转)
足球战术之Factory Method篇 (转)[@more@]接上回: .NET/Develop/read_article.ASP?id=12040">http://www.csdn.net/Develop/read_article.asp?id=12040 使用工厂方法有以下好处,球员仅处理进球(product)接口,但每要产生一种新的进球方式,就必须让这个队员来学会这种方法,或者换个队员。球员基类在类中创建进球,而不是直接创建,为子类提供一个hook。提供平行的类层次。代码如下:class 球员{public: virtual 进球* 创建(进球类型);}; 进球* 球员::创建(进球类型 id){ if (id==高空球) return new 头球进球; if
FileMapping用户类源代码(原创, 欢迎批评指正) (转)
FileMapping用户类源代码(原创, 欢迎批评指正) (转)[@more@]欢迎指正 // uc_filemapping.h: interface for the UC_FILEMAPPING class.//////////////////////////////////////////////////////////////////////// #if !defined(AFX_UC_FILEMAPPING_H__72FE31B2_7B02_442F_A754_66427E1C5946__INCLUDED_)#define AFX_UC_FILEMAPPING_H__72FE31B2_7B02_442F_A754_66427E1C5946__INCLUDED_ #if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000 //////////////////////////////////////////////////// 模块: 内存映射文件用户
《Delphi高手突破》第一章——预览版 (转)
《Delphi高手突破》第一章——预览版 (转)[@more@]写在前面的话:目前,正在写一本面向Delphi熟练程序员的书,主题是在delphi中使用面向对象编程技术构建良好设计的程序。此书还在写作过程中,我希望能让大家先对此书的主题以及语言风格能有一个预先的了解。同时,能提出自己的意见。作为作者,我希望这本书能成为国内原创Delphi图书中的经典之作,未必能成功,但我尽力。由于以上原因,我不可能将整本书都贴出来(呵呵,那样就没人去买了),所以应该不会有后续章节贴在这里(或许会有一些节选吧)了。在此,我要感谢那些鼓励过我、提出过
DircetDraw c/c++ 使用指导(一) (转)
DircetDraw c/c++ 使用指导(一) (转)[@more@]DircetDraw c/c++ 使用指导 310cdt 译边看边译,译完就拿了上来,见笑了 这是一系列的DirectDraw的指南,教你一步步的去构建一个简单的DirectDraw应用.这个指南用到了sdk包提供的很多DirectDraw的例子.这些例子展示了怎样设置DirectDraw,怎样用DirectDraw方法实现一般任务: 注意:这些指南中的例子是用c++写的.如果你使用的是c编译器,请进行适当的改变,以能进行成功的编译.你需要把vtable和this指针添加到接口方法中. 1.DirectDraw基础用法 要使用DirectDraw,你必须先创建一个代表计算
面向中小企业的CRM管理软件 (转)
面向中小企业的CRM管理软件 (转)[@more@]你的企业有多少顾客?男性占多大比例?年龄分布如何?他们一年到你的企业有多少次交易?他们对你的评价如何?有百分之多少的顾客流失?他们对你的期望是什么?这些顾客有多少你能完成掌握而不被业务人员带走? 类似的问题还可以问上几百个。其实,这的确是企业面临最重要的一次考试,企业必须给出一份满意的答卷。不过,企业发现回答起来并不容易,并且越来越难。幸而通过通讯技术和网络技术的客户关系管理能够有效解决这一问题。 顾客关系管理(CRM,Customer Relationship Management)由Gartner Group
一个内存文件映射用户类 (转)
一个内存文件映射用户类 (转)[@more@]// uc_filemapping.h: interface for the UC_FILEMAPPING class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_UC_FILEMAPPING_H__72FE31B2_7B02_442F_A754_66427E1C5946__INCLUDED_)#define AFX_UC_FILEMAPPING_H__72FE31B2_7B02_442F_A754_66427E1C5946__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000//////////////////////////////////////////////////// 模块: 内存映射文件用户类// 作者: 张旻// 创建: 2002.01.16//
BatchMove的用法 (转)
BatchMove的用法 (转)[@more@]Currency __declspec(dllexport) BMove(TComponent* Owner,TTable *D,TTable *R){ //把一个表追加到另一个表中(用BatchMove) file://AisiString mDATE = "SDATE="+Now().DateString(); TBatchMove *BM=new TBatchMove(Owner); Currency CR=0; for(R->First();!R->Eof;R->Next()){ CR += R->FieldbyName("TPRICE")->AsCurrency; BM->source=R; BM->Destination=D; BM->Mappings->Clear(); BM->Mappings->Ad
关于 Apollo VCL 6.0 EVAL版超期使用的说明 :) (转)
关于 Apollo VCL 6.0 EVAL版超期使用的说明 :) (转)[@more@]http://www.Vistasoftware.com/DOWNLOADs/evals/Apollosql60Eval.EXE ApolloSQL60Eval.EXE 是脱离BDE操作dbF数据库的工具,今天我从他们的网站 http://www.vistasoftware.com/拉了一个下来,由于是EVAL(评估版)所以 有30天的限制,请看我的破解方法: 1 运行以上的EXE文件安装,由于它并不安装到控件版上去, 所以这个安装过程实际是解压缩拷贝文件。 2 在安装目录下的SDE60有一个文件名叫ADBX60.DLL 用16进制编辑工具查找 " 8B 08&