http://blog.csdn.net/yzhz/archive/2004/09/29/usecase.aspx