软件详细设计方案说明书(例) 下载本文

详细设计说明书

Class RealTime Graph Private stockID //动态数组存储股票价格 ArrayList stockPrice[] Public: //在windowform类中recievemess 后更新当前价格,即在数组后添 加一项最新价格 updatePrice(price,sotckPrice) drawPicture(stockID, stockPrice)

Class stockData 订单号 public int ListID; public int UsrID; public string StockIndex; public flout Price; public int Count; public bool Isbuy; 该类即为向服务端传送数据时的包 详细设计说明书

服务器端

Class TradeService

StockQueue Private stockData data stockData next Public DeleteQueueHead(); AddStockData();

详细设计说明书

该类还要补充若干个StockQueue类型的成员变量

private void StartListening() {

byte[] ipadre = new byte[] { 10, 82, 14, 47}; IPAddress ip=new IPAddress(ipadre); m_Tcplisten = new TcpListener(ip,m_Port); m_Tcplisten.Start(); while (true) { try {

Socket s = m_Tcplisten.AcceptSocket(); clientSocket = s;

m_serverThread = new Thread(new ThreadStart(serviceClient));//多线程deal各个连接用户的socket

m_serverThread.Start(); }

catch (Exception E) {

Console.WriteLine(E.ToString()); } }

}

如以上startlistening代码所示,监听创造一个连接客户端的套接字,再用多线程处理该连接,而服务器端则继续监听新的套接字。

这样主要的交易代码就可以放入ServiceClient这个函数中,当有新客户信息连入时,即可进行查询数据库,对比插入股票队列等工作

详细设计说明书

Class ClientInfo

//这个类记录了客户端的socket

详细设计说明书

数据访问层类图

Class ADOSQLserver Private dataSet //ds userTable 下可有 4 个 dataTable stockTable User_stockTable tempTable Public: ////验证用户信息 Bool CheckUserlogin(string usridstring password); Bool CheckUserMoney(string userID); Bool CheckUserStockCount(string userID); ////交易成功修改用户和股票信息 Void updateUserTable(Class stockData) Void updateStockTable(Class stockData) Void updateUser_stockTable(Class stockData) ///还未成功的交易放入临时表, Void updateTemTable(Class stockData) 注意,每次交易成功要删除临时表的信息 Void deleteInfo(Class stockData) Class stockData 订单号 public int ListID; public int UsrID; public string StockIndex; public int Prince; public int Count; public bool Isbuy; 该类即为向服务端传送数据时的包