Chức năng Quản trị thông tin khách hàng

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ứng dụng công nghệ chuỗi khối hỗ trợ hoạt động kinh doanh của ngành điện002 (Trang 65)

CHƢƠNG 3 : THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

3.2.7. Chức năng Quản trị thông tin khách hàng

Hình 3.12. Chức năng Quản trị thông tin khách hàng.

Mô tả: Chức năng cho phép người quản lý cập nhật thông tin của khách hàng sử dụng điện, bao gồm các thao tác xem, thêm, sửa, xóa dữ liệu.

K ch ản hoạt động:

Tên Usecase: Quản trị thông tin khách hàng.

Tiền điều kiện Quản lý đã đăng nhập và chọn chức năng Quản trị thông tin khách hàng.

Tác nhân chính: Quản lý.

*) Chu i sự kiện chính: 1. Hệ thống hiển thị giao diện Quản trị thông tin khách hàng.

2. Quản lý nhập liệu các thông tin về khách hàng. 3. Hệ thống kiểm tra và xác nhận thông tin khách hang hợp lệ.

4. Hệ thống báo Cập nhật thành công.

5. Cập nhật lại danh sách khách hàng đang được hiển thị trên lưới.

* Ngoại lệ: 1. Hệ thống thông báo yêu cầu nhập đầy đủ thông tin. 1.1 Quản lý nhập đầy đủ thông tin của khách hàng.

Giao d ch sinh ra: là chu i JSON gồm các thông tin: $class: kiểu đối tượng dữ liệu được tương tác. resources: dữ liệu đầu vào.

targetRegistry: đối tượng dữ liệu.

transactionId: mã giao dịch được sinh ra, phục vụ việc tra cứu lịch sử giao dịch. timestamp: thời điểm giao dịch.

{ "$class": "org.hyperledger.composer.system.AddParticipant", "resources": [ { "$class": "vn.com.evn.blnetwork.KHACH_HANG", "idKhachHang": "0002", "maKhachHang": "0002",

"tenKhachHang": "Nguyễn Tiến Anh", "diaChiKH": "anhnt", "tyLeBatThuong": 40 } ], "targetRegistry": "resource:org.hyperledger.composer.system.ParticipantRegistry#vn.com.evn.blnetwork.KHACH_HANG", "transactionId": "4d870b8b7afc3381b8d7e1f062273dbb6af1e5df9a5dbce16b62cff4d82e3532", "timestamp": "2019-04-15T08:47:59.703Z" } 3.2.8. Chức n ng Nhập ch số công tơ

Hình 3.13. Chức năng Nhập chỉ số công tơ.

Mô tả: Chức năng cho phép nhân viên nhập liệu thông tin chỉ số công tơ của khách hàng định kỳ theo tháng.

K ch ản hoạt động:

Tên Usecase: Nhập chỉ số công tơ. Tác nhân chính: Nhân viên.

*) Chu i sự kiện chính: 1. Hệ thống hiển thị giao diện Nhập chỉ số công tơ. 2. Người dùng nhập mã khách hang để tìm kiếm. 3. Hệ thống hiển thị thông tin khách hàng.

4. Nhân viên chọn tháng năm ghi chỉ số và nhập thông tin chỉ số mới của khách hàng.

5. Người dùng n Cập nhật.

6. Hệ thống báo Cập nhật thành công.

7. Hệ thống cập nhật lại thông tin của khách hàng đang hiển thị trên lưới.

* Ngoại lệ: 1. Hệ thống thông báo không tìm th y thông tin khách hàng.

1.1 Hệ thống xóa trắng thông tin khách hàng đang có trên lưới.

1.2 Nhân viên nhập lại mã khách hàng để tìm kiếm. 2. Hệ thống thông báo thông tin chỉ số không hợp lệ. 2.1 Nhân viên nhập lại thông tin chỉ số mới.

Chaincode:

/**

* transaction Ghi chi so

* @param{vn.com.evn.blnetwork.transGhiChiSo} transGhiChiSo * @transaction

*/

// Hàm nhận tham số là đối tượng transGhiChiSo asyncfunction transGhiChiSo(thongTinChiSo) { let ok = true;

// Bước 1: l y thông tin khách hàng

let maKH = thongTinChiSo.asset.maKhachHang;

let batThuong = thongTinChiSo.asset.congTo.khSuDung.tyLeBatThuong; let checkChiSo = await query('traCuuChiSo_TheoKH', { "makh": maKH }); console.log('checkChiSo', checkChiSo, batThuong);

// Bước 2: kiểm tra thông tin nhập vào có hợp lệ hay không

// Chỉ số mới nhập vào phải th a mãn điều kiện không được lớn hơn chỉ số // cũ * tỉ lệ b t thường

for (let index = 0; index < checkChiSo.length; index++) { const element = checkChiSo[index];

if ((element.chiSoHienTai * (100 + batThuong) / 100) < thongTinChiSo.chiSoMoi) { console.log('NOT OK');

ok = false; return; } }

// Bước 3: cập nhật thông tin và trả kết quả if (ok) {

console.log('OK');

// Cập nhật thông tin mới vào bảng CHISO CONGTO. const oldValue = thongTinChiSo.asset.chiSoHienTai; // Các thông tin cập nhật gồm: chỉ số mới, tháng, năm.

thongTinChiSo.asset.chiSoHienTai = thongTinChiSo.chiSoMoi; thongTinChiSo.asset.thang = thongTinChiSo.thang;

thongTinChiSo.asset.nam = thongTinChiSo.nam;

const assetRegistry = await getAssetRegistry('vn.com.evn.blnetwork.CHISO_CONGTO'); // Cập nhật.

await assetRegistry.update(thongTinChiSo.asset); }

else {

console.log('BAT THUONG'); }

Giao d ch sinh ra: là chu i JSON gồm các thông tin: $class: kiểu đối tượng dữ liệu được tương tác.

asset: chỉ định đối tượng cụ thể nào tham gia giao dịch, trong trường hợp này là CHISO CONGTO có ID = 135.

chiSoMoi: chỉ số tiêu thụ điện mới công tơ .

thang: tháng thực hiện ghi nhận chỉ số tiêu thụ điện. nam: năm thực hiện ghi nhận chỉ số tiêu thụ điện.

transactionId: mã giao dịch được sinh ra, phục vụ việc tra cứu lịch sử giao dịch. timestamp: thời điểm giao dịch.

{ "$class": "vn.com.evn.blnetwork.transGhiChiSo", "asset": "resource:vn.com.evn.blnetwork.CHISO_CONGTO#5135", "chiSoMoi": "99999", "thang": "1", "nam": "2019", "transactionId": "9f44e5e6153a70f389c40346d9b073ad401281d8b6af32b0ba90d6615aaebaf5", "timestamp": "2019-04-15T09:23:16.728Z" }

3.2.9. Chức năng Tra cứu thông tin khách hàng – ch số

Hình 3.14 Chức năng Tra cứu thông tin khách hàng – chỉ số.

Mô tả: Chức năng cho phép khách hàng sử dụng điện có thể tra cứu thông tin của mình thông qua mã khách hàng.

K ch ản hoạt động:

Tên Usecase: Đăng nhập.

Tác nhân chính: Nhân viên, khách hàng.

*) Chu i sự kiện chính: 1. Hệ thống hiển thị giao diện Tra cứu thông tin khách hàng – chỉ số.

2. Người dùng nhập mã khách hàng cần tìm kiếm. 3. Hệ thống báo tìm kiếm thành công.

4. Hiển thị giao diện thông tin của khách hàng.

* Ngoại lệ: 1. Hệ thống thông báo không tìm th y thông tin theo mã khách hàng.

3.3. Kiể thử phần ề

3.3.1. Kịch bản kiểm thử chức năng Quản trị nhân viên ghi ch số

Mô tả: kiểm thử chức năng Quản trị nhân viên ghi chỉ số nh m đảm bảo thông tin khi người dùng nhập vào được lưu vào blockchain.

Điều kiện tiền đề: người dùng đã đăng nhập vào hệ thống và đã vào chức năng Quản trị nhân viên ghi chỉ số.

Các ƣớc thực hiện:

- Bước 1: người dùng nhập đẩy đủ thông tin nhân viên trên giao diện gồm: tên đăng nhập, mật khẩu, họ tên, bộ phận.

Tên đăng nhập: anhdd . Mật khẩu: 123456 .

Bộ phận: Bộ phận ghi chỉ số . Họ tên: Đinh Đức Anh .

- Bước 2: người dùng n Ghi dữ liệu.

Kết quả ong đợi: thông tin nhân viên được ghi vào blockchain.

Kết quả thực tế: thông tin được ghi vào blockchain và có thể truy cập thông qua API.

Hình 4.15. Kết quả thực tế khi ghi nhận thông tin nhân viên khi truy v n qua API.

3. . Kịch bản kiểm thử chức năng Quản trị thông tin khách hàng

Mô tả: kiểm thử chức năng Quản trị thông tin khách hàng nh m đảm bảo thông tin khi người dùng nhập vào được lưu vào blockchain.

Điều kiện tiền đề: người dùng đã đăng nhập vào hệ thống và đã vào chức năng Quản trị thông tin khách hàng.

Các ƣớc thực hiện:

- Bước 1: người dùng nhập đẩy đủ thông tin khách hàng trên giao diện gồm: tên khách hàng, địa chỉ, tỷ lệ b t thường.

Tên khách hàng: Vũ Anh Khoa . Địa chỉ: Hà Đông .

Tỷ lệ b t thường: 30.

- Bước 2: người dùng n Ghi dữ liệu.

Kết quả ong đợi: thông tin khách hàng được ghi vào blockchain.

Kết quả thực tế: thông tin được ghi vào blockchain và có thể truy cập thông qua API.

Hình 4.16. Kết quả thực tế khi ghi nhận thông tin khách hàng khi truy v n qua API.

3.3.3. Kịch bản kiểm thử chức năng Nhập ch số công tơ

Mô tả: kiểm thử chức năng nhập chỉ số công tơ nh m đảm bảo thông tin khi người dùng nhập vào được lưu vào blockchain.

Điều kiện tiền đề: người dùng đã đăng nhập vào hệ thống và đã vào chức năng Nhập chỉ số công tơ.

Các ƣớc thực hiện:

- Bước 1: người dùng nhập đẩy đủ thông tin chỉ số công tơ trên giao diện gồm: tháng năm, mã khách hàng.

Mã khách hàng: 0001 .

- Bước 2: người dùng n Enter để hệ thống tìm kiếm khách hàng. - Bước 3: người dùng nhập chỉ số mới.

Chỉ số mới: 100.

Kết quả ong đợi: thông tin chỉ số mới được ghi vào blockchain.

Kết quả thực tế: thông tin được ghi vào blockchain và có thể truy cập thông qua API.

Hình 4.17. Kết quả thực tế khi ghi nhận chỉ số công tơ khi truy v n qua API.

Kết uận kiể thử: các chức năng trong chương trình đã hoạt động đúng theo kịch bản đề ra, ghi nhận được vào blockchain và để khai thác dữ liệu các ứng dụng bên ngoài có thể sử dụng API được cung c p để truy v n.

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Những kết quả đạt đƣợc của uận v n

Đưa ra được bài toán mà ứng dụng được những ưu điểm của công nghệ blockchain mang lại và áp dụng cho ngành Điện. Đồng thời nghiên cứu và áp dụng nền tảng Hyperledger Fabric để xây dựng mạng blockchain phục vụ công tác quản trị thông tin và ghi chỉ số cho khách hàng sử dụng điện.

Luận văn đã thực hiện cài đặt mạng blockchain và triển khai ứng dụng web để cho nhân viên ghi chỉ số điện cũng như khách hàng sử dụng. Phần mềm đưa vào giúp tăng cường tính công khai minh bạch của dữ liệu chỉ số, giúp khách hàng có thể tra cứu và tin tưởng vào thông tin được cung c p.

Luận văn còn có khả năng phát triển trong tương lai, có thể giải quyết các bài toán khác trong ngành điện ví dụ như: truy xu t nguồn gốc công tơ giúp bộ phận quản lý lẫn khách hàng có thể kiểm tra được xu t xứ và vòng đời sử dụng của công tơ, bài toán về trao đổi năng lượng giữa các hộ dân sử dụng năng lượng điện mặt trời, vv…

Hƣớng phát triển của uận v n

Tiếp tục triển khai mở rộng, hoàn thiện các chức năng quản trị như thống kê, báo cáo, cảnh báo trường hợp sử dụng điện hoặc ghi chỉ số điện có sản lượng b t thường. Hiệu chỉnh lại giao diện thân thiện, dễ sử dụng đối với người dùng.

Tiếp tục nghiên cứu mạng blockchain, cụ thể là Hyperledger để có thể ứng dụng được nhiều tính năng của nền tảng này cung c p như chia kênh, cài đặt các chứng chỉ cho các thành viên tham gia .

TÀI LIỆU THAM KHẢO Tiếng Anh

1. Joseph J. Bambara, Paul R. Allen (2018), A Practical Guide to Developing Business, Law, and Technology Solutions, Mc Graw Hill.

2. Omid Malekan (2018),The tory of the Blockchain: Beginner’s Guide to the Technology That Nobody Understands, Triple Smoke Stack.

3. Andreas M. Antonopoulos (2014), Mastering Bitcoin: Unlocking Digital Cryptocurrencies, O'Reilly Media, United States of America.

4. Christian Cachin (2016), Architecture of the Hyperledger Blockchain Fabric,

IBM Research Zurich.

5. Hyperledger Architecture, Volume 1 (2017). Retrieved from https://www.hyperledger.org/wp-

content/uploads/2017/08/Hyperledger_Arch_WG_Paper_1_Consensus.pdf.

6. Lance Feagan, Hyperledger Fabric Peer Design (2017), IBM China Research Lab.

7. A Blockchain Platform for the Enterprise (2019). Retrieved from https://hyperledger-fabric.readthedocs.io/en/release-1.4/

8. Nitin Gaur, Luc Desrosiers, Petr Novotny, Venkatraman Ramakrishna, Anthony O'Dowd, Salman A. Baset (2018), Hands-On Blockchain with Hyperledger: Building decentralized applications with Hyperledger Fabric and Composer, Packt.

9. J. Sousa, A. Bessani, and M. Vukolić 2018 , A Byzantine fault-tolerant ordering service for the Hyperledger Fabric blockchain platform, IEEE, Luxembourg.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ứng dụng công nghệ chuỗi khối hỗ trợ hoạt động kinh doanh của ngành điện002 (Trang 65)

Tải bản đầy đủ (PDF)

(74 trang)