症状:
对最终用户的需求理解的不够精确
对需求的改变束手无策
程序块不兼容
软件不易维护或不易扩展
对项目严重缺陷的发现较晚
软件质量低劣
软件性能无法令人接受
开发组中的人员按各自的方式进行开发,如果有人改变了部分软件,将很难再进行重组
一个不可靠的构造和发布过程
原因:
特别的需求管理
模糊和不精确的交流
脆弱哦的构架
过度复杂
未检测出需求、设计和实现之间的不一致
测试的不足
对于项目状况的评估过于主观
未解决存在的风险
无法控制变化的产生和传播
自动控制不足
posted @
2007-04-17 14:11 狂图 阅读(80) |
评论 (0) |
编辑
摘要: 各种各式各样的图片缩略水印静态,注释写的不多。慢慢看吧,应该难度不大。
阅读全文
posted @
2007-04-14 16:36 狂图 阅读(603) |
评论 (1) |
编辑
看到很多人在说图片高质量保存的问题,一个图片高质量保存共享一下。
/// <summary>
/// 高质量保存
/// </summary>
/// <param name="image"></param>
/// <param name="path"></param>
public static void SaveQuality(Image image, String path)
{
ImageCodecInfo myImageCodecInfo;
Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;
myImageCodecInfo = ImageCodecInfo.GetImageEncoders()[0];
myEncoder = Encoder.Quality;
myEncoderParameters = new EncoderParameters(1);
myEncoderParameter = new EncoderParameter(myEncoder, 100L); // 0-100
myEncoderParameters.Param[0] = myEncoderParameter;
try
{
image.Save(path, myImageCodecInfo, myEncoderParameters);
}
finally
{
myEncoderParameter.Dispose();
myEncoderParameters.Dispose();
}
}
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
posted @
2007-04-14 14:07 狂图 阅读(480) |
评论 (2) |
编辑
-
在“工具”菜单上单击“Internet 选项”。
-
在“Internet 选项”对话框中,单击“高级”选项卡。
-
在“浏览”类别中,清除“禁用脚本调试”复选框。
-
单击“确定”。
-
关闭 Internet Explorer 使该选项生效。
-
打开IE,输入你要调试的脚本所在的url
-
打开VS2005,选择菜单“工具”-->“附加到进程”
-
在窗口中选择你打开的IE的进程,有个“选择”按钮,打开,选择“脚步”。
-
确定后,就会在vs里多个“脚本资源管理器”出来,没有的可以在“调试”-->“窗口”-->这里看到,打开
-
在“脚本资源管理器”你会看到所有的IE里的页面结构,单击某个js文件,就可以对这个js文件进行断点设置了,
-
余下的工作就和普通调试一样了,哈哈
posted @
2007-04-08 22:20 狂图 阅读(1033) |
评论 (0) |
编辑
首先是我所作的B/S软件需要多种数据库的支持,其中就包括Access数据库。而为了达到快的速度,必须把access的连接放入数据库连接池,所以我专门给access做了个数据库连接池。
问题出现了:“就是用access连接池的时候,有的时候会出现修改过的数据不能及时的反应到界面上来。”
刚开始我以为是我的access连接池写的有问题,于是是大找特找就是找不到原因,后来我干脆不用池,直接自己new一个全局连接放在静态变量里看一下会不会有问题,结果显示完全没有问题。
接着我又new 了两个连接放在静态变量里 conn1 和 conn2 , 然后让conn1做了一个update数据操作,conn2又立马获取update的值,结果显示 获取的数据还是update前的数据, 然后过3到5秒 再让conn2去获取update的值 才能看到已经修改了。
于是我得出这样的结论,access数据库的多个连接情况下,其中某一个连接进行了修改操作需要过3到4秒才能反映到其他连接里来
如果这个结论被确定那就是说 access无法实现 传统上的 数据库连接池。
于是我想会不会是我的数据库操作代码有问题,于是我干脆用两台电脑做测试,分别在两台电脑上用office打开同一个access数据库,然后在其中一台上修改了某个数据,另外一台上立马打开改数据,结果显示 数据还是没有更新。 靠。从目前来看我上面的结论是符合实际的。
如果真的这个结论被坐实的话,就像我上面说的,“access无法实现 传统上的 数据库连接池”。那麻烦就大了,因为其他数据库连接池,如:sqlserver,是可以用的,而access不能用,那么可能需要更多的代码区分开来编写。
于是我又想,会不会是使用access连接的时候有没有什么特殊的属性(或者说方式),才能保证多个access连接能及时的反应信息。
哪位达人看到这个问题,如果能解决的给小子回复一下。
qq:54825898
email:chaxcha@gmail.com
这里付上操作数据库的代码:
说明:test.mdb中一个表,test 表,中间有两个自段id 和 num 都是数字。记录就一条 id=1 num=1
protected void LinkButton11_Click(object sender, EventArgs e)
{
String connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/test.mdb") + ";Persist Security Info=True;";
String selectSql = "select [num] from [test] where [id]=1";
String updateSql = "Update [test] set [num]=[num]+1 where [id]=1";
OleDbConnection connForUpdate = new OleDbConnection(connStr);
OleDbConnection connForSelect = new OleDbConnection(connStr);
OleDbCommand cmd;
Object resultValue;
try
{
connForUpdate.Open();
connForSelect.Open();
//修改前提取
cmd = new OleDbCommand(selectSql, connForSelect);
resultValue = cmd.ExecuteScalar();
Response.Write("修改前:" + resultValue);
Response.Write("<br/>");
resultValue = null;
//执行修改
cmd = new OleDbCommand(updateSql, connForUpdate);
cmd.ExecuteNonQuery();
//修改后提取
cmd = new OleDbCommand(selectSql, connForSelect);
resultValue = cmd.ExecuteScalar();
Response.Write("修改后:" + resultValue);
}
finally
{
connForSelect.Close();
connForUpdate.Close();
}
}
此代码的结果是:
修改前:6
修改后:6
最终结论是,Access确实不能很好的实现连接池。 没法子,只能是变相的解决问题了。
我这里给出Access操作的几个可以提高速度方法:
1.让某些只是提取操作的单步业务使用同一个链接, 该连接因为都是单步提取数据,所以“不是即时性”的数据问题不大,如:获取点击数、查询等等都使用同一个连接,此conn保持状态不要关闭。
2.如果是非单步的业务就要使用完了连接及时关闭,不然会出现看不到刚刚更新过的数据,如:新增一条记录,新增完后要显示此记录的结果,由于是两张页面所以保证第一张页面的conn关闭了,第二张页面new出来,就没有问题。
3.这里可以思考这样的连接池,在conn返回到连接池的时候会把conn和session绑定起来,在需要获取一个连接的时候,先要判断所有和session绑定的conn,绑定时间在5秒前的就取消绑定,并把连接放回到freelist列表里,然后是根据传进来sessionID,如果在和session绑定的conn集合中能够找到相同的id那么就再次使用这个conn。如此这般便也可以算是一个连接池。
posted @
2007-04-07 16:07 狂图 阅读(4087) |
评论 (16) |
编辑