5.1 Giới thiệu bài toán
5.1.1 Tổng quan:
Dịch vụ chuyển tiền là dịch vụ bưu chính cho phép người gửi và người nhận gửi tiền cho nhau thông qua mạng lưới bưu cục trên toàn quốc. Hiện nay cú cỏc dịch vụ chuyển tiền sau: thư chuyển tiền, điện chuyển tiền, chuyển tiền nhanh, trả ngân phiếu quốc tế, dịch vụ money gram. Mục đích của xây dựng hệ thống là tin học hoá quá trình
truyền nhận, xử lý, lưu trữ và tổng hợp dữ liệu, trên cơ sở đó thực hiện tốt các nhu cầu về đối soát, kiểm tra, báo cáo.
Các đơn vị khai thác dịch vụ: trung tâm điều hành mạng bưu chính (ban POST*NET), trung tâm chuyển tiền VPS, bưu điện tỉnh – thành phố và các bưu cục.
Trong khuôn khổ của báo cáo thực tập này, tôi đi sâu vào tìm hiểu các giao dich tại trung tâm bưu cục tỉnh thành phố (VPS) và hai dịch vụ sau:
• Dịch vụ thư chuyển tiền (TCT), dịch vụ điện chuyển tiền: là dịch vụ chuyển tiền sử dụng dịch vụ vận chuyển đường thư và truyền tin điện bỏo. Cỏc dịch vụ này co mức cước thấp và được thường được xem dưới cái tên chuyển tiền truyền thống.
• Dịch vụ chuyển tiền nhanh(CTN): dịch vụ cho phép chuyển tiền trong vòng 24 giờ giữa các tỉnh, thành phố và 48 giờ giữa các thị trấn, huyện lỵ. Kể từ lúc chấp nhận đến khi phát được tiền cho người nhận, những ngân phiếu chuyển đến trả tại thành phố Hà Nội và TP Hồ Chí Minh đạt chỉ tiêu 12 giờ. Dịch vụ này đã được đưa vào khai thác tại 467 bưu cục thuộc 61 tỉnh thành trên toàn quốc
Hình 22 Các dịch vụ đang khai thác.
Ngoài ra cũn cú cỏc dịch vụ khác độc lập cũng trong hoạt động của VPS như: Dịch vụ trả ngân phiếu quốc tế, dịch vụ Money gram,dịch vụ điện chuyển tiền … và các dịch vụ đi kèm như điện hoa, chuyển phát nhanh…
5.1.2 Mô hình tổ chức và chức năng tương ứng:
Hệ thống chuyển tiền thực tế hiện nay được chia làm 3 cấp: Trung tâm chuyển tiền, Bưu cục tỉnh/thành phố và Bưu cục giao dịch. Như vậy, dữ liệu phải đi từ bưu cục giao dịch đến bưu cục tỉnh/thành phố, sau đó mới lên trung tâm chuyển tiền. Tại đây, dữ liệu được phân hướng để rồi đi theo hướng ngược lại.
Hình 23 Mô hình phân tầng nghiệp vụ
Hiện tại, cơ sở vật chất ở nước ta chưa cho phép tin học hoá tất cả các bưu cục có chuyển phát nhanh trên phạm vi toàn quốc. Chính vì vậy hệ thống vẫn phải tương thích với thực trạng này. Về sau, khi hạ tầng mạng đã tốt hơn để có thể đảm bảo các phiên giao dịch online thì chỉ cần chia hệ thống thành 2 cấp: cấp bưu cục giao dịch và cấp trung tâm quản lý.
Hệ thống có 3 thành phần chính:
• Trung tâm mạng POST*NET (Mạng viễn thông chung của bưu điện): Cài đặtCT2003 Center
• Bưu cục giao dịch: Cài đặt CT2003 PO
• Trung tâm chuyển tiền, bao gồm cả chuyển tiền quốc tế: Cài đặt CT2003 MOC
HÖ thèng trung t©m CT2003-Post*Net Center HÖ thèng B u côc CT2003-PO HÖ thèng trung t©m chuyÓn tiÒn CT2003-MOC Hình 24 Mô hình phân tầng hệ thống
Các chức năng cho Trung tâm đầu mối chuyển tiền bưu điện tỉnh thực chất là chức năng của bưu cục được tự động hóa, được cài đặt tại Trung tâm tỉnh thành để thực hiện việc cập nhật vào hệ thống cho các bưu cục chưa được triển khai.
Trong phạm vi của đồ án này, tôi sẽ tập trung vào các chức năng tại Bưu cục đầu mối tỉnh thành phố và tại bưu cục địa phương (chức năng truyền nhận từ PO lên Branch).
5.1.3 Chức năng của Trung tâm đầu mối bưu chính tỉnh thành
Chức năng của trung tõm đầu mối tỉnh thành là tổng hợp tình hình phát hành toàn Bưu điện tỉnh, bao gồm các chức năng chớnh sau:
• Nhập số liệu phát hành: nhập các thông tin trên CT2.1 củaTCT, ĐCT(riờng CTN đã có sẵn trong hệ thống)
• Căn cứ vào bản kê CT2 của các bưu điện huyện để lập bản kê tổng hợp phiếu chuyển tiền phát hành CT2 toàn tỉnh theo từng dịch vụ trong ngày, mỗi huyện được kê vào một dòng. In bản kê tổng hợp CT2 trên toàn tỉnh • Chuyển dữ liệu phát hành phiếu chuyển tiền cho Trung tâm chuyển tiền:
gồm dữ liệu phát hành TCT và ĐCT đã nhập từ CT2.1. Riêng dữ liệu CTN đã có sẵn trong hệ thống nên không cần truyền
• Lưu giữ chứng từ phát hành phiếu chuyển tiền
• Tổng hợp trả tiền trên toàn Bưu điện tỉnh, bao gồm các nội dung:
• Nhận chứng từ và nhập dữ liệu trả CTN: hàng ngày đầu mối tỉnh nhận chứng từ trả tiền từ các Bưu cục trực thuộc và nhập dữ liệu trả tiền các phiếu CTN đã trả CT1bis.
• Nhập số liệu trả tiền của dịch vụ TCT, ĐCT từ các CT1 và CT1bis do bưu điện huyện gửi lên
• Lưu các CT1, CT1bis cùng với các bản kê CT6.1, CT6 của từng dịch vụ. Riờng cỏc phiếu và bản kê của CTQT thì cuối tháng chuyển về TTCT mà không lưu tại bưu điện tỉnh
• Lập bản kê tổng hợp phiếu chuyển tiền đã trả CT6 dựa trên các bản kê CT6 của từng huyện. In bảng kê CT6 này ra.
• Chuyển dữ liệu phiếu chuyển tiền đã trả: Mỗi ngày hai lần vào thời điểm do Trung tâm chuyển tiền thông báo, đầu mối tỉnh truyền dữ liệu trả tiền các dịch vụ TCT, ĐCT, CTN cho Trung tâm chuyển tiền.
• Lưu giữ chứng từ trả tiền phiếu chuyển tiền: Sau khi nhập số liệu trả tiền và lập bản kê CT6, đầu mối tỉnh sắp xếp các phiếu chuyển tiền đã trả CT1, CT1bis bản kê chi tiết CT6.1 kèm bản kê tổng hợp CT6 riêng cho từng dịch vụ và đóng thành từng tập theo ngày. Các tập được xếp theo thứ tự ngày trả tiền trong tháng và lưu giữ tại đầu mối tỉnh.
• Tổng hợp quỹ chuyển tiền toàn Bưu điện tỉnh.
• Theo dõi và điều chuyển quỹ chuyển tiền tại Bưu điện tỉnh:
• Theo dõi tình hình quỹ chuyển tiền đối với các bưu điện huyện trên cơ sở các bản kê tổng hợp CT2 và CT6.
• Điều chuyển quỹ: Căn cứ tình hình phát hành, trả tiền của các Bưu điện huyện, Bưu điện tỉnh cân đối bù trừ và xem xét quyết định việc ứng tiền hoặc điều chuyển quỹ đối với các Bưu điện huyện.
• Khi số dư quỹ chuyển tiền toàn Bưu điện tỉnh vượt quá mức qui định của Tổng công ty mà đơn vị thuộc diện nộp điều tiết kinh doanh dịch vụ Bưu chính Viễn thông thì Bưu điện tỉnh phải nộp số tiền chênh lệch về Tổng công ty. Khi không đủ tiền trả cho khách hàng, Bưu điện tỉnh đề nghị Tổng công ty tiếp quỹ kịp thời.
• Làm đầu mối tiếp nhận và chuyển phiếu CTN của Bưu điện tỉnh. Cần đặc biệt chú ý các đặc trưng rất quan trọng sau:
• Tại trung tâm chuyển tiền tỉnh thành có sự giao tiếp với các trung tâm bưu cục nhánh và Trung Tâm chuyển tiền sẽ có rất nhiều cần quan tâm giải quyết như: truyền thông, kiểm soát, , truyền nhận trung gian, chính sách bảo mật ,cơ chế thiết lập tối ưu hoá thiết bị …
• Hai dịch vụ này đã thể hiện hầu hết các đặc trưng cơ bản của dịch vụ chuyển tiền liên quan đến IT như : tổng hợp dữ liệu (từ PO) , đối sánh (cân đối quỹ) , thực hiện các chính sách giám sát từ Trung tâm thông qua các danh mục rồi phân cấp xuống cho PO, kiểm soát ( tự động hoặc bằng tay), báo cáo …thụng qua các mẫu hoá đơn, báo cáo và cỏc hoỏ đơn cấp/phỏt quỹ.
5.2 Mô hình áp dụng cho dịch vụ:
Do hệ thống được phân cấp quản lý theo ba mức nên toàn bộ phần mềm cũng chia ra ba phần ở ba nơi khác nhau tương ứng là :
• CT2003PO ở các điểm đầu mối dịch vụ. • CT2003Branch ở các bưu cục tỉnh thành phố. • CT2003 MainCenter ở trung tâm chuyển tiền.
Do đó toàn bộ phần mềm chia ra ba gói theo cách nhìn logic.
Tất nhiên, đối với hệ thống ở Branch, PO và MainCenter sẽ đóng vai trò là các tác nhân tác động vào.
Còn trong bản thân nó, bưu cục tỉnh thành phố còn sử dụng phục vụ người sử dụng như sau:
• Kiểm soát viên • Nhân viên phòng • Quản trị viên tại tỉnh
Các cá nhân này cũng sẽ đóng vai trò là tác nhân tác động vào hệ thống.
Hình 25 Cỏc gói phần mềm
Hình 26 Các tác nhân sử dụng hệ thống
Dựa trên các công tác nghiệp vụ trên ta có thể chia ra hai nhóm chức năng chính là các chức năng hệ thống và các chức năng nghiệp vụ.
Quá trình đi tìm các Use-Case dựa trên các thông tin về sử dụng, yêu cầu, thao tác trờn cỏc chức năng này.
5.3 Phân tích thiết kế bài toán bằng ngôn ngữ mô hình hoá UML : * Giới thiệu ngôn ngữ mô hình hoá UML:
Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn ngữ để biểu diễn mô hình theo hướng đối tượng được xây dựng bởi ba tác giả trên với chủ đích là:
• Mô hình hoỏ cỏc hệ thống sử dụng các khái niệm hướng đối tượng.
• Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô hình hoá.
• Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau.
• Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy.
Sử dụng UML trong các giai đoạn phát triển phần mềm:
• Giai đoạn nghiên cứu sơ bộ: UML đưa ra khái niệm Use Case để nắm bắt các yêu cầu của người sử dụng. UML sử dụng biểu đồ Use case (Biểu đồ trườn hợp sử dụng:Use case Diagram) để nêu bật mối quan hệ cũng như sự giao tiếp với hệ thống.
• Qua phương pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan tâm đến hệ thống sẽ được mô hình hóa song song với chức năng mà họ đòi hỏi từ phía hệ thống (tức là Use case). Các tác nhân và các Use case được mô hình húa cựng cỏc mối quan hệ và được miêu tả trong biểu đồ Use case của UML. Mỗi một Use case (được mô tả trong tài liệu ) đặc tả các yêu cầu của khách hàng: họ chờ đợi điều gì ở phía hệ thống mà không hề để ý đến việc chức năng này sẽ được thực thi ra sao.
• Giai đoạn phân tích : Quan tâm đến quá trình trừu tượng hóa cơ bản ( phân tách các lớp và các đối tượng) trong phạm vi vấn đề. Sau khi nhà phân tích đã nhận biết được các lớp thành phần của mô hình cũng như mối quan hệ giữa chúng với nhau, các lớp cựng cỏc mối quan hệ đó sẽ được miêu tả bằng công cụ biểu đồ lớp (class diagram) của UML.
• Nhờ vào các mô hình động (dynamic models) của UML,sự cộng tác giữa các lớp nhằm thực hiện các Use case cũng sẽ được miêu tả . Trong giai đoạn phân tích, chỉ duy nhất các lớp có tồn tại trong phạm vi vấn đề (khái niệm thực tế) là được mô hình húa. Cỏc lớp kỹ thuật định nghĩa chi tiết cũng như giải pháp trong hệ thống phần mềm (các lớp cho giao diện người dùng, cho ngân hàng dữ liệu, cho sự giao tiếp, trùng hợp, …) không được mô tả trong giai đoạn này.
• Giai đoạn thiết kế : Trong giai đoạn này, kết quả của giai đoạn phân tích sẽ được mở rộng thành một giải pháp kỹ thuật. Các lớp mới sẽ được bổ sung để tạo thành một hạ tầng cơ sở kỹ thuật: Giao diện người dùng, các chức năng để lưu trữ các đối tượng trong ngân hàng dữ liệu, giao tiếp với các hệ thống khác, giao diện với các thiết bị ngoại vi và các máy móc khác trong hệ thống, .... Các lớp thuộc phạm vi vấn đề có từ giai đoạn phân tích sẽ được mở rộng vào hạ tầng cơ sở kỹ thuật này, tạo ra những thay đổi trong chiều sâu của phạm vi vấn đề và hạ tầng cơ sở. Giai đoạn thiết kế sẽ đưa ra kết quả là bản đặc tả chi tiết cho giai đoạn xây dựng hệ thống.
• Giai đoạn xây dựng (giai đoạn lập trình), các lớp của giai đoạn thiết kế sẽ được cụ thể hoá trong một ngôn ngữ lập trình hướng đối tượng cụ thể (Java,.Net,C++…). Phụ thuộc vào khả năng của ngôn ngữ được sử dụng, đây có thể là một công việc khó khăn hay dễ dàng. Khi tạo ra các mô hình phân tích và thiết kế trong UML bằng cách sử dụng các tools hỗ trợ (Rational Rose, Visio…), không nên ngay lập tức biến đổi các mô hình này thành mã chương trình. Trong những giai đoạn trước, mô hình được sử dụng để dễ hiểu, dễ giao tiếp và tạo nên cấu trúc của hệ thống,do đó, vội vàng đưa ra mã chương trình có thể sẽ gây rối loạn việc tạo ra các mô hình chính xác và đơn giản. Giai đoạn xây dựng là một giai đoạn riêng biệt, nơi kinh nghiệm thực tế qua phát triển các hệ thống trờn cỏc công cụ lập trình.
• Giai đoạn thử nghiệm: Do các giai đoạn phát triển có những yêu cầu khác nhau nên việc sử dụng các biểu đồ UML khác nhau cho các giai đoạn sẽ làm trong sáng hơn quá trình kiểm tra và kết hợp các kết quả. VD: Thử nghiệm đơn vị sử dụng biểu đồ lớp (class diagram) và đặc tả lớp, thử nghiệm tích hợp
thường sử dụng biểu đồ thành phần (component diagram) và biểu đồ cộng tác (collaboration diagram), và giai đoạn thử nghiệm hệ thống sử dụng biểu đồ Use case (Use case diagram) để đảm bảo hệ thống có phương thức hoạt động đúng như đã được định nghĩa từ ban đầu trong các biểu đồ này.
Vì các lợi ớch rừ ràng trên của UML, tôi áp dụng UML để phõn tích thiết kế CT2003.
5.3.1 Chức năng hệ thống:
Trong đó các chức năng hệ thống bao gồm: quản lý danh mục( bảng giá, cước phí, mã số bưu cục, cập nhật các thông tin này từ Trung Tõm…), quản trị người dùng (xác thực, thay đổi, cấp tài khoản …), quản trị CSDL(sao lưu, phục hồi…), và xác thực người dựng(sở dĩ tách ra thnàh gúi riờng vỡ cỏc chức năng của nó được sử dụng rộng rãi trong toàn bộ chương trình).
Hình 27 Các chức năng của CT2003 Branch Các chi tiết của cỏc gúi được thể hiện như sau:
Quản lý danh mục:
Hình 28 Usecase của quản lý danh mục Quản trị người dùng:
Hình 29 Usecase của quản lý người dùng
Hai chức năng quan trọng trên bao hàm hầu hết các chức năng của chương trình về mặt hệ thống.
5.3.2 Chức năng nghiệp vụ
Mô hình trên mô tả toàn bộ các chức năng nghiệp vụ của hệ thống. Đó là : tổng hợp quỹ, tổng hợp trả tiền, tổng hợp phát hành và tổng hợp báo cáo. Các use-case này có liên hệ chặt chẽ với các hệ thống ở Trung Tâm và ở các bưu cục nhánh.
5.4 Mô hình 3 lớp của chương trình:
Để xây dựng hệ thống, tôi đã chọn xây dựng theo mô hình 3 lớp, UserServices – BusinessServices- DataServices cho toàn bộ các chức năng trên.
Hình 31 Mô hình 3 lớp của CT2003 Branch
Tuy nhiên, chỉ các chức năng chớnh của đồ án này được đề cập đến, các phần khác tuy cũng có nhưng là độc lập, chỉ dùng chung phần data service.
5.4.1DataServices
Gói DataServices thâu tóm các chức năng thao tác với NTServices, với Queue và DataBase. Đồng thời cung cấp giao diện sử dụng cho lớp BusinessServices.
Ở mức nhìn logic, ta xây dựng một lớp clsMDAO đại diện, trên đó có quan hệ và sử dụng các đối tượng thuộc lớp khác như : NTServices (clsServices), Message (clsMessage) và DataBase (clsTable- cơ sở của bất cứ một MDB nào). Biểu đồ tương tác của clsMDAO như sau:
Hình 32 Quan hệ trong DataServices
Các class cụ thể của các lớp khác đều được hỗ trợ sẵn trong môi trường .Net. Business-DataInterface bao gồm các chức năng như chạy một câu truy vấn SQL (tên hàm là RunSQL, với các khai báo chồng hàm khác nhau), thực hiện một kết nối và CSDL ( Connect) , đưa ra một thông báo lỗi ( MessageError).
Hình 33 Quan hệ theo hướng nhìn đối tượng Chi tiết các lớp như sau:
Hình 34 Chi tiết các lớp trong DataServices Chi tiết hoạt động như sau: (sử dụng biêu đồ trình tự hoạt động).
Hình 35 Biểu đồ chuyển trạng thái của Service
5.4.2 BusinessServices:
Lớp trung gian này có nhiệm vụ xây dựng các lớp đối tượng thao tác dữ liệu cho