二﹑系統分析
1﹑問題分析與解決
根據對用戶的調查和用戶對系統的要求﹐針對手工操作時的主要矛盾﹐解決方案可下﹕
(一)製作每日匯率表中遇到的問題
(1) 過去公司相關人員如需要查詢當天匯率則要到各相關網站或相關單位查詢或索取﹐浪費人力及時間。
(2) 由專門人員統一整理收集當天匯率資訊﹐製成Excel報表轉寄或共用給他人查閱或再利用﹐節省了人力及時間﹐但不能充分發揮報表的效能。
解決辦法﹕
(1)由專門人員統一整理收集當天匯率資訊﹐系統提供統一錄入價面﹐為公司相關人員提供統一查詢頁面。
(2)強化基礎數據管理﹐每日匯率數據全部存入數據庫﹐實行數據的統一管理和提高數據的再利用
2﹑系統功能分析
匯率簡表製作程式向用戶及操作員與系統業務功能對應關系如圖2.01所示。
圖2.01 用戶﹑操作員與系統業務功能對應關系
根據對用戶的業務調查和用戶提出的具體要求﹐結合計算機管理特點﹐設計系統功能如下﹕
(1) 幣別編輯
幣別資訊主要完成幣別代碼﹑幣別名稱等信息的設置。
n 幣別資訊的建立﹐可以達到如下目標﹕
l 記錄幣別的幣別代碼﹑幣別名稱等信息。
l 按不同欄位﹑不同條件查詢幣別資訊﹐同時支援模糊查詢。
幣別編輯由幣別新增﹑幣別修改﹑幣別刪除和幣別查詢四部份組成
n 幣別新增完成幣別的新增工作。主要達到如下目標﹕
l 自動生成5位數的幣別編號。
l 自動轉換幣別代碼為大寫形式。
l 新增採用表單式錄入﹐可一次錄入多種幣種。
n 幣別修改完成幣別的修改工作。主要達到如下目標﹕
l 選擇某個幣別自動導出幣別信息
l 修改採用表單式錄入。
n 幣別刪除完成幣別的刪除工作。主要達到如下目標﹕
l 選擇某個幣別﹐自動讓用戶確認是否刪除。
l 將刪除的幣別作刪除標志﹐數據仍存放數據庫﹐防止用戶誤刪的數據恢復。
n 幣別查詢完成幣別的查詢工作。主要達到如下目標﹕
l 提供統一的列表形式顯示所有的幣別資訊。
l 提供按不同欄位的模糊查詢功能。
(2) 匯率表編輯
匯率表資訊主要完成匯率表頭﹑匯率表身等資訊的操作
匯率表資訊的建立﹐可以達到如下目標﹕
l 記錄每日匯率表的表頭信息和表身各幣別的銀行匯率和海關匯率等信息。
l 按不同欄位﹑不同條件查詢匯率表資訊﹐同時支援模糊查詢。
匯率表編輯由匯率表新增﹑匯率表修改﹑匯率表刪除和匯率表查詢四部份組成
n 匯率表新增完成匯率表的新增工作。主要達到如下目標﹕
l 自動生成10位數的匯率表編號。
l 完成匯率表頭和表身的新增操作。
l 自動校驗買入匯率﹑賣出匯率等校驗的值。
l 自動計算中價匯率。
l 自動計算旬匯率。
l 提供相關匯率網站查詢當前最新匯率﹐方便操作員錄入。
l 新增採用表單式錄入﹐可一次錄入多種幣別匯率。
n 匯率表修改完成匯率表的修改工作。主要達到如下目標﹕
l 選擇某個匯率表自動導出匯率表信息
l 完成匯率表表頭和表向的修改操作。
l 自動校驗買入匯率﹑賣出匯率等校驗的值。
l 自動計算中價匯率。
l 自動計算旬匯率。
l 提供相關匯率網站查詢當前最新匯率﹐方便操作員錄入。
l 修改採用表單式錄入﹐方便操作員錄入。
n 匯率表刪除完成匯率表的刪除工作。主要達到如下目標﹕
l 選擇某個匯率表﹐自動讓用戶確認是否刪除。
l 將刪除的匯率表作刪除標志﹐數據仍存放數據庫﹐防止用戶誤刪的數據恢復。
l 刪除分為表頭和表身刪除兩種。
l 刪除表頭則表頭和表身都將刪除﹐只作刪除標志。
l 刪除表身則只刪除單個幣別的匯率資訊﹐且真正刪除﹐不作刪除標志。
n 匯率表查詢完成匯率表的查詢工作。主要達到如下目標﹕
l 提供統一的列表形式顯示所有的匯率表資訊。
l 提供按不同欄位的模糊查詢功能。
l 進行復雜的匯率分析﹐生成匯率分析報告表或分析圖供用戶列印輸出。
l 生成報表報表樣式﹐供用戶列印輸出。
(3) 匯率表瀏覽
匯率表瀏覽包括在匯率表編輯的匯率查詢中。
3﹑子系統分析
匯率表製作程式分3個子系統﹕用戶介面子系統﹑數據訪問子系統﹑公共子系統。這種模型使系統結構更清楚﹐分工更明確﹐有利於後期維護和升級。這三層之間的相互關系如圖2.02所示。
(1)用戶介面子系統
以基於Web頁面顯示形式提供給用戶操作介面。
(2)數據訪問子系統
數據以數據庫的形式進行存儲﹐通過使用SQL語言進行訪問﹐並增加新類來處理使用SQL語言處理時可能引發的異常。此外﹐當進行查詢的時候﹐由於要對數據庫中特定的表或視圖進行訪問﹐於是﹐抽象出新類來連接這些表或視圖。數據訪問子系統為用戶介面子系統提供數據服務。
(3)公共子系統
提供一些數據實體類和常用工具及配置方法等。
圖2.02 三層之間的相互關系

4﹑系統結構
根據業務情況及要求﹐結合計算機管理的特點與匯率表資訊化的方向﹐設置匯率表製作程式系統結構圖如圖2.03。
圖2.03 匯率表製作程式系統結構圖
三﹑系統設計
1﹑設計目標
2﹑開發與運行環境
(1)開發平臺
系統開發平臺﹕Windows 2003。
數據庫管理系統﹕Sql Server 2000。
(2)運行平臺
服務器平臺﹕Windows 2003。
客戶端平臺﹕IE5.0以上。
數據庫管理系統﹕Access 2000。
3﹑編碼設計
本程式內部資訊編碼分為2種情況﹕採用5字元定長編碼﹑10字元定長編碼。
(1)5字元定長編碼
其中前2位元表示資訊分類﹐由各類資訊的英文單詞組合縮寫組成﹐後3位為具體的編碼﹐從001開始﹐按順序遞增的方式編碼。如幣別編號的編碼為MC001。5字元定長編碼設計如圖3.01所示。
圖3.01 5位編碼設計
(2)10字元定長編碼
其中前2位元表示資訊分類﹐由各類資訊的英文單詞組合縮寫組成﹐後8位為具體的編碼﹐從00000001開始﹐按順序遞增的方式編碼。如匯率表編碼的編碼為ER00000001。10字元定長編碼設計如圖3.02所示。
圖3.02 10位編碼設計
根據以上編碼原則﹐本程式的各類資訊編碼設計如下﹕
n 幣別資訊(採用5位元編碼)
幣別編號採用“Money Category”兩個英文單詞的首字母縮寫“MC”﹐例如 MC001。
n 匯率類別資訊(採用5位元編碼)
匯率類別採用“Exchange Rate Category” 三個英文單詞的首字母縮寫 “ERC”﹐例如ERC01。
n 匯率表資訊(採用10位元編碼)
匯率表編碼採用“Exchange Rate”兩個項文單詞的首字母縮寫“ER”﹐例如 ER00000001。
4﹑輸入設計
5﹑輸出設計
6﹑網絡設計
7﹑系統安全和可靠性設計
四﹑數據庫設計
4.1﹑數據庫概念結構設計
這一設計階段在需求分析的基礎上進行的﹐目的是設計出能夠滿足用戶需求的各種實體以及它們之間的關系﹐為後面的邏輯設計打下基礎。
根據以上的分析設計的結果﹐得到以下實體﹕
貨幣﹑匯率。各實體的E-R圖及其關系描述如下﹕

圖4.01 貨幣實體E-R圖

圖4.02 匯率表表頭E-R圖
圖4.03 匯率表表身E-R圖

圖4.04 匯率類別E-R圖

圖4.05 實體關系E-R圖
4.2﹑數據庫物理結構設計
1﹑MoneyCategory表
MoneyCategory用於描述幣別資訊。表結構如表4.2.1所示。
表4.2.1 MoneyCategory表的結構
|
欄位名稱 |
數據類型 |
欄位大小 |
可否為空 |
說明 |
|
McNo |
文本 |
10 |
Not Null |
幣別編號(主鍵) |
|
McCode |
文本 |
10 |
Not Null |
幣別代碼 |
|
McName |
文本 |
30 |
Not Null |
幣別名稱 |
|
CreatedBy |
文本 |
10 |
Not Null |
建立者 |
|
CreatedDate |
日期/時間 |
|
Not Null |
建立日期 |
|
ModifiedBy |
文本 |
10 |
Null |
修改者 |
|
ModifiedDate |
日期/時間 |
|
Null |
修改日期 |
|
DelFlag |
Bool |
|
Not Null |
刪除標志 |
2﹑ExchangeRateCategory表
ExchangeRateCategory表用於描述匯率類別資訊。表結構如表4.2.2所示。
表4.2.2 ExchangeRateCategory表的結構
|
欄位名稱 |
數據類型 |
欄位大小 |
可否為空 |
說明 |
|
ErcNo |
文本 |
10 |
Not Null |
匯率類別編號(主鍵) |
|
ErcName |
文本 |
30 |
Not Null |
匯率類別名稱 |
|
CreatedBy |
文本 |
10 |
Not Null |
建立者 |
|
CreatedDate |
日期/時間 |
|
Not Null |
建立日期 |
|
ModifiedBy |
文本 |
10 |
Null |
修改者 |
|
ModifiedDate |
日期/時間 |
|
Null |
修改日期 |
|
DelFlag |
Bool |
|
Not Null |
刪除標志 |
3﹑ExchangeRateHeader
ExchangeRateHeader用於描述匯率表表頭資訊。表結構如表4.2.3所示。
表4.2.3 ExchageRateHeader表的結構
|
欄位名稱 |
數據類型 |
欄位大小 |
可否為空 |
說明 |
|
ErhNo |
文本 |
10 |
Not Null |
匯率表編號(主鍵) |
|
TabMan |
文本 |
10 |
Not Null |
製錶人 |
|
TabDate |
文本 |
10 |
Not Null |
製錶日期 |
|
CreatedBy |
文本 |
10 |
Not Null |
建立者 |
|
CreatedDate |
日期/時間 |
|
Not Null |
建立日期 |
|
ModifiedBy |
文本 |
10 |
Null |
修改者 |
|
ModifiedDate |
日期/時間 |
|
Null |
修改日期 |
|
DelFlag |
Bool |
|
Not Null |
刪除標志 |
4﹑ExchangeRateBody
ExchangeRateBodyt用於描述匯率表表身資訊。表結構如表4.2.4所示。
表4.2.4 ExchangeRateBody表的結構
|
欄位名稱 |
數據類型 |
欄位大小 |
可否為空 |
說明 |
|
ErbNo |
文本 |
10 |
Not Null |
匯率表編號(外鍵) |
|
McNo |
文本 |
5 |
Not Null |
貨幣編號(外鍵) |
|
ErcNo |
文本 |
5 |
Not Null |
匯率類別編號(外鍵) |
|
ErDate |
文本 |
20 |
Not Null |
匯率日期 |
|
BuyEr |
浮點型 |
10 |
Not Null |
買入匯率 |
|
SaleEr |
浮點型 |
10 |
Not Null |
賣出匯率 |
|
MpOrTdEc |
浮點型 |
10 |
Not Null |
中價匯率或旬匯率 |