1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ

87 333 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 87
Dung lượng 4,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang vii MSSV: 1111517 TÓM TẮT Ngày nay, với sự phát triển rộng rãi của công nghệ thông tin và internet thì việc quản lý, trao đổi

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BỘ MÔN TIN HỌC ỨNG DỤNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE QUẢN LÝ VIỆC THU TIỀN ĐIỆN PHƯỜNG AN HÒA,

TP CẦN THƠ

Nguyễn Hải Đăng (MSSV: 1111517) Thạc sĩ Lê Minh Lý

Khóa: 37

Cần Thơ, 2015

Trang 2

KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BỘ MÔN TIN HỌC ỨNG DỤNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE QUẢN LÝ VIỆC THU TIỀN ĐIỆN PHƯỜNG AN HÒA,

TP CẦN THƠ

Nguyễn Hải Đăng (MSSV: 1111517) Thạc sĩ Lê Minh Lý

Khóa: 37

Cán bộ phản biện Thạc sĩ Vũ Duy Linh Thạc sĩ Lê Thị Diễm Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng dụng Khoa Công nghệ thông tin và truyền thông, Trường Đại học Cần Thơ vào ngày

14 tháng 5 năm 2015

Mã số đề tài:

Có thể tìm hiểu luận văn tại:

- Trung tâm Học liệu, Trường Đại học Cần Thơ

- Website: http://www.lrc.ctu.edu.vn/

Cần Thơ, 2015

Trang 3

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang i MSSV: 1111517

LỜI CẢM ƠN

Xin gửi lời cảm ơn chân thành đến cô Lê Minh Lý, cán bộ đã hướng dẫn trong suốt quá trình thực hiện và hoàn thành đề tài, cảm ơn toàn bộ thầy, cô Bộ môn Tin học ứng dụng khoa Công nghệ thông tin và tuyền thông đã giảng dạy, chia sẻ nhiều kiến thức, kinh nghiệm quý báo trong quá trình chúng em học tập tại trường

Xin gởi lòng biết ơn sâu sắc đến cha mẹ, gia đình đã tạo mọi điều kiện về vật chất, tinh thần, động viên, khích lệ và hỗ trợ trong suốt thời gian qua

Xin được gởi lời cám ơn đến anh chị, bạn bè đã tận tình giúp đỡ trong suốt quá trình học và trong thời gian thực hiện đề tài

Mặc dù đã cố gắng trong quá trình thực hiện nhưng cũng không thể tránh khỏi những sai sót, rất mong được thầy (cô) hướng dẫn thêm

Xin chân thành cảm ơn!

Sinh viên thực hiện đề tài Nguyễn Hải Đăng

Trang 4

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang ii MSSV: 1111517

MỤC LỤC

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC HÌNH ẢNH iv

DANH MỤC BẢNG vi

TÓM TẮT vii

ABSTRACT viii

CHƯƠNG 1 1

TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1

1.3 PHẠM VI ĐỀ TÀI 2

1.4 PHƯƠNG PHÁP NGHIÊN CỨU VÀ HƯỚNG GIẢI QUYẾT 2

CHƯƠNG 2 4

CƠ SỞ LÝ THUYẾT 4

2.1 NODE.JS 4

2.2 EXPRESS FRAMEWORK 9

2.3 EJS TEMPLATE(EMBEDDED JAVASCRIPT TEMPLATE) 10

2.4 AJAX – JQUERY 13

2.5 MYSQL VÀ PHPMYADMIN 14

CHƯƠNG 3 16

NỘI DUNG VÀ KẾT QUẢ NGUYÊN CỨU 16

3.1 TỔNG QUAN HỆ THỐNG 16

3.1.1 Mô tả bài toán 16

3.1.2 Phân tích và thiết kế mô hình 17

3.1.2.1 Sơ đồ nghiệp vụ chức năng BFD 17

3.1.2.2 Sơ đồ Use case 19

3.1.2.3 Sơ đồ kịch bản(scenario) 21

Trang 5

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang iii MSSV: 1111517

3.1.2.4 Sơ đồ lớp 23

3.1.2.5 Mô tả các ràng buộc toàn vẹn cơ sở dữ liệu 36

3.1.2.6 Sơ đồ tuần tự 38

3.1.2.7 Sơ đồ ER 43

3.1.2.8 Sơ đồ cơ sở dữ liệu quan hệ 44

3.2 GIAO DIỆN – CÀI ĐẶT 50

3.2.1 Giao diện khách hàng 50

3.2.1.1 Trang chủ 50

3.2.1.2 Trang nội dung tin tức 50

3.2.1.3 Trang thông tin giá điện 52

3.2.1.4 Trang thông tin khách hàng 52

3.2.1.5 Trang xem thông tin công tơ điện 53

3.2.1.6 Trang nhập chỉ số điện năng tiêu thụ 54

3.2.1.7 Trang xem hóa đơn 54

3.2.1.8 Bản in hóa đơn 56

3.2.2 Giao diện nhân viên 57

3.2.2.1 Trang quản lý nhân viên 57

3.2.2.2 Trang quản lý khách hàng 57

3.2.2.3 Trang quản lý công tơ điện 58

3.2.2.4 Trang nhập số liệu điện năng tiêu thụ 59

3.2.2.5 Trang xem thông tin hóa đơn 59

3.2.2.6 Trang lập báo cáo thống kê 60

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61

1 KẾT QUẢ ĐẠT ĐƯỢC 61

2 HẠN CHẾ 61

3 HƯỚNG PHÁT TRIỂN 62

TÀI LIỆU THAM KHẢO 63

PHỤ LỤC 64

Trang 6

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang iv MSSV: 1111517

DANH MỤC HÌNH ẢNH

Hình 2.1 - Cửa sổ cài đặt mô-đun trên Windows 7

Hình 2.2 - Ứng dụng Hello World 8

Hình 2.3 - Ứng dụng Hello World với express framework 9

Hình 2.4 - Ứng dụng hello World với Embedded Javascript Template 12

Hình 3.1 Sơ đồ nghiệp vụ chức năng BFD 17

Hình 3.2 Sơ đồ nghiệp vụ chức năng BFD(tiếp theo) 18

Hình 3.3 - Sơ đồ use case – Khách hàng 19

Hình 3.4 - Sơ đồ use case – Nhân viên quản lý 20

Hình 3.5 - Sơ đồ use case – Nhân viên quản lý(tiếp theo) 20

Hình 3.6 - Lớp nhân viên 23

Hình 3.7 - Lớp phòng ban 24

Hình 3.8 - Lớp khách hàng 25

Hình 3.9 - Lớp mục đích sử dụng 26

Hình 3.10 - Lớp công tơ điện 27

Hình 3.11 - Lớp hóa đơn 28

Hình 3.12 - Lớp trạm biến áp 29

Hình 3.13 - Quan hệ nhân viên – phòng ban 30

Hình 3.14 - Quan hệ nhân viên – hóa đơn 30

Hình 3.15 - Quan hệ hóa đơn – công tơ điện 31

Hình 3.16 - Quan hệ công tơ điện – khách hàng 31

Hình 3.17 - Quan hệ công tơ điện –trạm biến áp 32

Hình 3.18 - Quan hệ công tơ điện – mục đích sử dụng 32

Hình 3.19 - Quan hệ mục đích sử dụng – nhóm mục đích sử dụng 32

Hình 3.20 - Quan hệ mục đích sử dụng – giá điện bậc thang 33

Hình 3.21 - Quan hệ hóa đơn – giá điện 33

Hình 3.22 - Quan hệ khách hàng – ý kiến phản hồi 34

Hình 3.23 - Quan hệ nhân viên – tin tức 34

Trang 7

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang v MSSV: 1111517

Hình 3.24 - Sơ đồ lớp 35

Hình 3.25 - Sơ đồ tuần tự - Đăng nhập khách hàng 38

Hình 3.26 - Sơ đồ tuần tự - Thêm công tơ điện mới 39

Hình 3.27 Sơ đồ tuần tự - Khách hàng nhập chỉ số tiêu thụ điện 40

Hình 3.28 - Sơ đồ tuần tự khách hàng thanh toán hóa đơn 41

Hình 3.29 - Sơ đồ tuần tự khách hàng tìm kiếm hóa đơn 42

Hình 3.30 – Sơ đồ ER 43

Hình 3.31 - Mô hình cơ sở dữ liệu quan hệ 44

Hình 3.32 - Trang chủ phần khách hàng 50

Hình 3.33 - Trang nội dung tin tức 51

Hình 3.34 - Trang hiển thị kết quả tìm kiếm 51

Hình 3.35 - Trang thông tin giá điện 52

Hình 3.36 - Trang thông tin khách hàng 52

Hình 3.37 - Trang xem thông tin các công tơ điện 53

Hình 3.38 - Trang nhập chỉ số điện năng tiêu thụ 54

Hình 3.39 - Trang xem hóa đơn 55

Hình 3.40 - Bản in hóa đơn 56

Hình 3.41 - Trang quản lý nhân viên 57

Hình 3.42 - Trang quản lý khách hàng 57

Hình 3.43 - Trang quản lý công tơ điện 58

Hình 3.44 - Trang nhập chỉ số điện năng tiêu thụ 59

Hình 3.44 - Trang xem thông tin hóa đơn 59

Hình 3.46 - Trang lập báo cáo thống kê 60

Trang 8

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang vi MSSV: 1111517

DANH MỤC BẢNG

Bảng 3.1 - Scenario cho use case đăng nhập nhân viên 21

Bảng 3.2 - Scenario cho use case thêm công tơ điện 22

Bảng 3.3 - Thuộc tính của lớp nhân viên 23

Bảng 3.4 - Phương thức của lớp nhân viên 23

Bảng 3.5 - Thuộc tính của lớp phòng ban 24

Bảng 3.6 - Phương thức của lớp phòng ban 24

Bảng 3.7 - Thuộc tính của lớp khách hàng 25

Bảng 3.8 - Phương thức của lớp khách hàng 25

Bảng 3.9 - Thuộc tính của lớp mục đích sử dụng 26

Bảng 3.10 - Phương thức của lớp mục đích sử dụng 26

Bảng 3.11 - Thuộc tính của lớp công tơ điện 27

Bảng 3.12 - Phương thức của lớp công tơ điện 27

Bảng 3.13 - Thuộc tính của lớp hóa đơn 28

Bảng 3.14 - Thuộc tính của lớp trạm biến áp 29

Bảng 3.15 - Phương thức của lớp trạm biến áp 29

Bảng 3.16 - Các ràng buộc toàn vẹn 36

Bảng 3.17 - Tầm ảnh hưởng với bối cảnh nhân viên 36

Bảng 3.18 - Tầm ảnh hưởng với bối cảnh khách hàng 37

Bảng 3.19 - Tầm ảnh hưởng với bối cảnh hóa đơn 37

Bảng 3.20 - Cơ sở dữ liệu bảng nhân viên 45

Bảng 3.21 - Cơ sở dữ liệu bảng nhóm mục đích sử dụng 45

Bảng 3.22 - Cơ sở dữ liệu bảng khách hàng 46

Bảng 3.23 - Cơ sở dữ liệu bảng mục đích sử dụng 46

Bảng 3.24 - Cơ sở dữ liệu bảng công tơ điện 47

Bảng 3.25 - Cơ sở dữ liệu bảng hóa đơn 48

Bảng 3.26 - Cơ sở dữ liệu bảng phân mức giá 49

Bảng 3.27 - Cơ sở dữ liệu bảng hóa đơn chi tiết 49

Trang 9

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng

MSCB: 2301 Trang vii MSSV: 1111517

TÓM TẮT

Ngày nay, với sự phát triển rộng rãi của công nghệ thông tin và internet thì việc

quản lý, trao đổi và xử lý các thông tin trở nên dễ dàng hơn, việc quản lý tiền điện, tính

tiền điện cũng được tự động hóa rất nhiều do đó có thể đảm bảo công việc được xử lý

nhanh chóng, khách hàng cung cấp chỉ số tiêu điện năng thụ và thanh toán hóa đơn trực

tuyến thông qua internet giúp sẽ rút ngắn được thời gian, đơn giản hóa công việc, đạt

hiểu quả cao trong công tác quản lý Từ đó, đề tài “Xây dựng website quản lý việc thu

tiền điện trên địa bàn Phường An Hòa, Thành Phố Cần Thơ” được thực hiện để đáp ứng

nhu cầu như hiện nay qua đó tìm hiểu và áp dụng các kiến thức, công nghệ mới tạo nên

hệ thống hoàn chỉnh, hoạt động tốt, ổn định và nhanh chóng, đảm bảo hoạt động được

các chức năng như sau:

 Quản lý thông tin nhân viên, thông tin khách hàng

 Quản lý thông tin công tơ điện của khách hàng đang sử dụng

 Cập nhật thông tin giá điện, tăng, giảm giá điện, thuế

 Cho phép khách hàng nhập số liệu điện năng tiêu thụ trực tiếp trên hệ thống,

xem, thanh toán và in hóa đơn Khách hàng có thể đăng ký sử dụng điện khi

có nhu cầu sử dụng

 Lập báo cáo, thống kê lượng điện tiêu thụ và doanh thu hàng tháng

Nội dung bài báo cáo được cấu trúc như sau:

Chương 1: Tổng quan trình bày những vấn đề về hiện trạng, các vấn đề cần giải

quyết và các hướng để giải quyết yêu cầu của bài toán

Chương 2: Cơ sở lý thuyết tìm hiểu tổng quát về Node.js, một môi trường phát

triển các ứng dụng về internet và các thành phần liên quan như: express.js – framework

hỗ trợ phát triển ứng dụng web, EJS (Embed Javascript) template engine, ajax và

jquery… và hệ quản trị cơ sở dữ liệu MySQL

Chương 3: Cơ sở dữ liệu bao gồm hai phần: trình bày tổng quan về hệ thống và

thực hiện cài đặt hệ thống

Chương 4: Kết luận và hướng phát triển trình bày tổng kết các phần đã thực hiện

được và các phần chưa thực hiện được Đưa ra các định hướng phát triển hệ thống và

chỉnh sửa các phần chưa thực hiện được

Từ khóa: Node.js, Express.js, Javascript Server Side, EJS Template …

Trang 10

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng

MSCB: 2301 Trang viii MSSV: 1111517

ABSTRACT

Nowadays, thanks to the wide development of information technology and internet,

the information management, exchange, and processing become more and more

convenient The electricity management and charges are also automatized, so it ensures

that the work will be processed faster The electric indexes consumption supply and

online bill payment through the internet helping us to save time, simplify tasks, achieve

high efficiency in management The topic “Designing website for managing electric

charges collection on An Hoa Ward, Can Tho city” is carried out to meet current needs

Therefore, learning and applying new knowledge, technology create complete, run-well,

stable and fast system, which make sure to operate functions follow:

 Manage employee information, customer information

 Manage the customer's electricity meter information are using

 Update electricity price increase, reduced electricity prices, taxes

 Allow customers to enter data directly power consumption on the system,

view, payments and print invoice Customers can register to use electricity

when demand

 Make reports, statistics power consumption and monthly revenue

The contents of the report is structured as follows:

Chapter 1: General presenting the issues of status, issues solved and directions in

order to solve the requirements of problems

Chapter 2: Theoretical Foundations learn the general of Node.js being a

developing environment for Internet applications and related components such as

express.js - framework supporting to develop web application, EJS (JavaScript Embed)

template engine, ajax and jquery and management system MySQL database

Chapter 3: Database having two parts: General presentation of the system and

performance of the system installation

Chapter 4: Conclusion and developing direction presenting the conclusion of the

parts having been done and unrealized Giving the orientation of system development

and correcting the parts unrealized

Keyword: Node.js, Express.js, Server Side JavaScript, EJS templates

Trang 11

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 1 MSSV: 1111517

CHƯƠNG 1 TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ

Công nghệ thông tin trong giai đoạn hiện nay có nhiều bước phát triển mạnh mẽ trong mọi lĩnh vực Việc ứng dụng các phần mềm hệ thống quản lý vào các cơ quan, tổ chức kinh tế, xã hội rất phổ biến để tối ưu hóa các công việc, nâng cao hiệu quả sản xuất, tiết kiệm được nhiều thời gian chi phí và công sức

Những năm trước đây khi công nghệ thông tin chưa được phát triển rộng rãi, việc tính tiền điện được thực hiện theo phương pháp thủ công, rất mất thời gian mà không

xử lý được các bài toán phức tạp, độ chính xác không cao, quá trình lưu trữ dữ liệu không được đảm bảo an toàn và khi thống kê lại gặp rất nhiều khó khăn

Nhưng với ngày nay, những công việc quản lý được tin học hóa rất nhiều, những công việc tính toán từ đơn giản đến phức tạp được thực hiện bằng một vài thao tác đơn giản, việc thống kê dữ liệu với số lượng lớn trong vài năm đến vài chục năm là việc dễ dàng, qua đó có thể đưa ra các chiến lược, phương hướng phát triển tốt nhất

Bên cạnh đó, ngày càng có nhiều người sử dụng internet với nhiều thiết bị khác nhau, việc xây dựng hệ thống phù hợp với các thiết bị cũng là phần quan trọng Hệ thống xây dựng phải đáp ứng được số lượng truy cập rất lớn mà không làm chậm quá trình xử

lý ảnh hưởng đến người sử dụng Nhưng với sự phát triển rộng rãi của công nghệ thông tin thì bài toán được giải quyết cũng không mấy khó khăn, tuy nhiên việc giải quyết nó như thế nào, áp dụng nó ra sau là việc cần phải xem xét kỹ lưỡng qua đó mới phát triển được bài toán đạt hiệu quả cao

Đề tài “Xây dựng chương trình quản lý việc thu tiền điện trên địa bàn phường An

Hòa, Thành Phố Cần Thơ” áp dụng công nghệ mới – Node.js được phát triển để giải

quyết vấn đề trên

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Đã có những đề tài liên quan đến việc quản lý thu tiền điện trên, nhìn chung cũng giải quyết được các vấn đề về tính tiền, xuất hóa đơn, quản lý được các danh mục như nhân viên, khách hàng…

Đề tài: Xây dựng website quản lý tiền điện của sinh viên Dương Thị Ái Quyên và Mai Thị Bích Vân, Trường Cao Đẳng Công Nghệ - Đại Học Đà Nẵng và một số đề tài

Trang 12

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 2 MSSV: 1111517

quản lý thu tiền điện trên nền Windows Application khác với các chức năng quản lý công tơ điện, quản lý khách hàng, tính tiền điện, xuất hóa đơn

Với đề tài “Xây dựng chương trình quản lý việc thu tiền điện trên địa bàn phường

An Hòa, Thành Phố Cần Thơ” được mở rộng thêm một số chức năng cần thiết khác như

quản lý nhân viên, mục đích sử dụng với các mức giá bậc thang, tính tiền điện theo một hoặc nhiều mức giá, lập báo cáo thống kê và đặc biệt cho phép khách hàng nhập chỉ số tiêu thụ trực tuyến trên hệ thống website, xem, thanh toán và in hóa đơn, hoàn chỉnh các phần những đề tài đã có chưa được hoàn thiện

1.3 PHẠM VI ĐỀ TÀI

Đề tài thực hiện để giải quyết việc thu tiền điện, quản lý khách hàng, nhân viên trên địa bàn phường An Hòa, Thành Phố Cần Thơ Bên cạnh đó, đề tài còn có thể ứng dụng

và triển khai hoạt động trên các cơ sở khác nhằm tạo hiệu quả cho quá trình quản lý việc

thu tiền điện

1.4 PHƯƠNG PHÁP NGHIÊN CỨU VÀ HƯỚNG GIẢI QUYẾT

- Tìm hiểu và phân tích hệ thống thông tin

- Tìm hiểu về mô hình ứng dụng trên nền tảng web

- Tìm hiểu công nghệ Node.js, lập trình Javascript trên server

Trang 13

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 3 MSSV: 1111517

- Dùng phần mềm Zend Studio 10.5, cài đặt thêm một số plugin để hỗ trợ lập trình Node.js, kiểm tra lỗi

Về hệ quản trị cơ sở dữ liệu:

Sử dụng hệ quản trị cơ sở dữ liệu MySQL để lưu dữ liệu, nhập dữ liệu để thử nghiệm bằng PHPMyadmin

Hướng giải quyết:

Sau khi tìm hiểu đẩy đủ thông tin, nắm rõ cơ sở lý thuyết và các bước đã phân tích phần hệ thống, bắt đầu tiến hành cài đặt (lập trình) hệ thống theo các bước đã định ra để hoàn tất bài toán Hệ thống sẽ đáp ứng được tất cả nhu cầu của khách hàng, cung cấp đầy đủ thông tin đến khách hàng, xử lý nhanh chóng chỉ một vài thao tác đơn giản

 Về phân tích hệ thống: Khảo sát thực tế để đưa ra các yêu cầu quản lý và các chức năng của hệ thống

 Về thiết kế hệ thống: Thiết kế cơ sở dữ liệu, giao diện với người dùng, thiết kế các chương trình xử lý của hệ thống, viết báo cáo kết quả làm được

 Thử nghiệm: Chạy thử hệ thống, chỉnh sửa các lỗi phát sinh và hoàn thiện hệ thống, viết tài liệu hướng dẫn sử dụng

Trang 14

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 4 MSSV: 1111517

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT 2.1 NODE.JS

Node.js là gì?

Node.js là một hệ thống phần mềm chạy trên môi trường V8 Javascript runtime được thiết kế để viết các ứng dụng internet có tính mở rộng cao, đặc biệt là các máy chủ web Ứng dụng Node.js được viết bằng Javascript, có thể hoạt động trên các hệ điều hành phổ biến như OS X, Microsoft Windows, Linux và FreeBSD

Node.js được tạo bởi Ryan Dahl từ năm 2009, và phát triển dưới sự bảo trợ của công

ty điện toán đám mây Joyent

Node.js sử dụng Google V8 Javascript engine để thực thi mã lệnh, phần lớn các đun cơ bản của được viết bằng Javascript Node.js chứa một thư viện built-in cho phép các ứng dụng hoạt động như một máy chủ web mà không cần phần mềm như Nginx, Apache HTTP Server hoặc IIS

mô-Node.js cung cấp kiến trúc hướng sự kiện và non-blocking I/O (chế độ nhập/xuất không đồng bộ) API để tối ưu hóa thông lượng của ứng dụng Những công nghệ này thường được sử dụng cho các ứng dụng thời gian thực (real-time applications) như ứng dụng chat, mạng xã hội …

Node.js sử dụng kiến trúc mô-đun để đơn giản hóa việc tạo ra các ứng dụng phức tạp Mô-đun trong Node.js cũng giống như các thư viện trong C, C#, Java … Mỗi một mô-đun chứa một tập các hàm chức năng có liên quan đến một đối tượng của mô-đun

Ví dụ http là mô-đun chứa các hàm cụ thể liên quan đến thiết lập HTTP Node.js cung cấp một vài các mô-đun core kèm theo để hỗ trợ chúng ta truy cập files trên hệ thống, tạo các máy chủ HTTP, TCP/UDP, và các hàm tiện ích nhỏ hữu dụng khác

Node.js được sử dụng làm nền tảng server-side bởi các website và dịch vụ nổi tiếng như Groupon, SAP, LinkedIn, Microsoft, Yahoo!, Walmart, Rakuten và PayPal

Trang 15

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 5 MSSV: 1111517

Google V8 Javascript Engine

V8 là Javascript execution engine được xây dựng cho trình duyệt Google Chrome Được viết bằng C++, V8 biên dịch mã nguồn Javascript just-in-time thành mã máy thay

vì thông dịch nó trong thời gian thực

Node.js chứa libuv để xử lý sự kiện không đồng bộ V8 cung cấp run-time cho Javascript Libuv là một abstraction layer cho các chức năng của hệ thống mạng và tập tin hệ thống trên cả Windows và các hệ thống POSIX-baseb như Linux, Mac OS X và Unix

Các ưu điểm của Node.js:

- Đặc điểm nổi bậc của Node.js là nó có thể nhận và xử lý nhiều kết nối, có thể đến hàng trăm nghìn kết nối cùng lúc, chỉ với một single-thread Điều này giúp hệ thống tốn ít RAM và chạy nhanh nhất khi không cần phải tạo thraed mới cho mỗi truy vấn giống như PHP

- Node.js sử dụng kỹ thuật điều khiển theo sự kiện Ngoài ra tận dụng ưu điểm của cơ chế nhập xuất không đồng bộ của Javascript mà Node.js tận dụng tốt đa tài nguyên của server mà không tạo ra độ trễ

- Do REST/JSON APIs gọn nhẹ là điều khiến NodeJS trở nên tốt hơn Với

cơ chế event-driven, non-blocking I/O (Input/Output) và mô hình kết hợp với Javascript là sự lựa chọn tuyệt vời cho các dịch vụ Webs làm bằng JSON

- Cùng với sự ra đời của các thiết bị di động và HTML5 nên Node.js rất hiệu quả khi xây dựng những ứng dụng thời gian thực

Trong Node.js, tất cả các I/O được thực hiện theo cách không đồng bộ (asynchronous), kết hợp với vòng lặp dựa trên sự kiện đơn luồng, đưa ra một cách mới

để thực hiện các ứng dụng Web thời gian thực Node.js do đó có thể giữ nhiều kết nối

có hiệu lực mà không cần phải từ chối kết nối mới đến

Ứng dụng Node.js thường chạy đơn luồng trên một nhân của CPU, mặc dù thực hiện

đa luồng được hỗ trợ trên Node.js 0.10+ từ JXcore

Với cơ chế xử lý không đồng bộ của Node.js cũng tương tự như hay ajax, jquery (một phần Javascript trên client)

Đồng bộ (synchronous) không đồng bộ (asynchronous) là gì?

Với hình thức lập trình đồng bộ, giả sử một hàm phải thực hiện n công việc thì những công việc này được thực hiện một cách tuần tự từ công việc đầu, khi hoàn thành rồi lần lượt đến các công việc kế tiếp nó và kết thúc ở công việc cuối cùng Tuy nhiên, theo hình thức không đồng bộ thì n công việc này không thực hiện tuần tự từ đầu đến cuối, khoảng thời gian thực hiện hàm thì tất cả n công việc được thực hiện cùng lúc tùy

Trang 16

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 6 MSSV: 1111517

vào thời gian và độ phức tạp của những công việc mà không đảm bảo rằng công việc nào sẽ hoàn thành trước

Ví dụ đoạn mã dưới đây:

Dòng thứ nhất thực hiện câu truy vấn đến cơ sở dữ liệu và dòng thứ hai in ra màn hình dòng chữ Hello World

Với phương pháp lập trình bình thường, tức là các đoạn mã thực hiện theo đúng thứ

tự Giả sử dòng lệnh thứ nhất thực hiện truy vấn diễn ra rất chậm, có thể mất vài giây thì trình biên dịch (interpreter) Javascript của Node.js trước tiên phải chờ khi thao tác với cơ sở dữ liệu hoàn tất mới thực hiên câu lệnh thứ hai Nếu đoạn mã trên được viết bằng PHP thì cũng được thực hiên tương tự, nếu đoạn mã là một phần của một trang web thì thời gian chờ tải trang của người dùng có thể lên đến vài giây

Tuy nhiên, để tránh tình trạng này xảy ra, Javascript và Node.js đưa ra khái niệm dựa theo sự kiện (event-driven), gọi ngược không đồng bộ (asynchronous callback), bằng cách sử dụng vòng lặp sự kiện(event loop)

Cấu trúc mã lệnh được thay đổi lại như sau:

});

Ở đây, thay vì chờ đợi database.query() trực tiếp trả về kết quả, ta truyền vào nó một tham số, hay là một hàm tùy ý nào đó

Bây giờ thì Node.js đã có thể xử lý các truy vấn đến cơ sở dữ liệu một cách không đồng bộ, giả sử hàm database.query() được cung cấp sẳn bởi một thư viện chuyên

xử lý không đồng bộ (asynchronous library) thì đoạn mã được thực hiện như sau: nó sẽ thực hiện truy vấn đến cơ sở dữ liệu Nhưng thay vì chờ kết quả thực hiện truy vấn kết thúc, nó sẽ ghi nhớ rằng đến thời điểm nào đó khi truy vấn kết thúc và kết quả được trả

về nó sẽ thực hiện những gì được viết trong hàm vô danh (hàm được truyền như là một tham số cho database.query()) Ngay lúc này sẽ thực hiện câu lệnh in ra màn hình

khi có một sự kiện nào đó tác động đến ví dụ như thực hiện câu lệnh truy vấn có kết quả trả về

Cài đặt Node.js:

Trang 17

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 7 MSSV: 1111517

Tải gói cài đặt Node.js từ trang chủ nodejs.org, nền tảng Windows hoặc Linux và

tiến hành cài đặt như thông thường Mặc định các mô-đun phụ thuộc cơ bản như http

được tích hợp sẵn khi cài đặt Node.js, bên cạnh đó Node.js còn có thêm chưong trình quản lý thư viện các mô-đun NPM(Node Package Manager), sử dụng NPM để cài đặt,

gỡ bỏ cài đặt, cập nhật và quản lý các mô-đun cho Node.js

Thiết lập biến môi trường cho Node.js

Sau khi cài đặt Node.js xong, cần tiến hành thiết lập biến môi trường để sử dụng lệnh trên Commnd Prompt mà không cần phải trỏ đến thư mục cài đặt Node.js

Vào Control Panel > All Control Panel Items > System và chọn Change settings

Ở cửa sổ System Properties chọn tab Advanced và chọn Environment Variables

Ở phần System variables chọn Path và nhấn edit

Ở textbox Variable value thêm vào cuối dòng như sau: C:\Program Files\nodejs\;

(thư mục cài đặt Node.js)

Để cài đặt mô-đun phụ thuộc, trên cửa sổ Command Prompt của Windows hoặc, Terminal của Linux hoặc Command Line của Node.js tiến hành cài đặt bằng lệnh:

 npm install node_modules

Việc cài đặt bằng lệnh không phụ thuộc vào nền tảng hệ điều hành đang sử dụng

Hình 2.1 - Cửa sổ cài đặt mô-đun trên Windows

Ví dụ:

Tạo một ứng dụng đơn giản với tập tin server.js có nội dung:

Trang 18

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 8 MSSV: 1111517

Lệnh require("http") để include mô-đun htttp

xử lý mỗi khi có yêu cầu đến từ client

Với lệnh:

response.writeHead(200,{

'Content-Type': 'text/plain'

});

200 là mã trạng thái thành công của http, tham số thứ hai là thông tin loại dữ liệu trả

về dạng văn bản thuần: text/plain

Server ghi 'Hello World!' đến client và lắng nghe ở công 8080

Sau khi đã cài Node.js và các mô-đun cần thiết, để thực thi trên Command Prompt

di chuyển đến thư mục chứa tập tin server.js và thực hiên lệnh:

node server.js

Kết quả thực hiện trên trình duyệt:

Hình 2.2 - Ứng dụng Hello World

Trang 19

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 9 MSSV: 1111517

2.2 EXPRESS FRAMEWORK

Express Framework hay Express.js là một framework tốt nhất theo mô hình MVC

(Model View Controller) được thiết kế để xây dựng cho các ứng dụng web Node.js

Express.js cung cấp rất nhiều tính năng mạnh mẽ trên nền tảng web và các ứng dụng di

động, hỗ trợ các phương thức HTTP và middleware(phần mềm trung gian) tạo ra một API(Application Programming Interface) rất mạnh mẽ và dễ dàng sử dụng

Cài đặt mô-đun express:

Từ dòng lệnh CMD của Windows hoặc Terminal của Linux, cài đặt Framework Express thông qua câu lệnh:

 npm install express

Sau khi cài đặt, để sử dụng được các hàm của express, include mô-đun vào:

});

Kết quả chạy trên trình duyệt:

Hình 2.3 - Ứng dụng Hello World với express framework

Một số thuộc tính và phương thức cơ bản của Express.js:

- Thuộc tính

app.locals.title = ‘My app’;

app.locals.title // => My app

Trang 20

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 10 MSSV: 1111517

app.locals là một đối tượng của javascript, có phạm vi truy cập trong ứng dụng Khi

đã gán giá trị, nó tồn tại trong suốt quá trình thực thi ứng dụng Khác với res.locals chỉ tồn tại trong khoảng thời gian yêu cầu của client

- Phương thức

app.get(path, callback [, callback ])

Nhận phương thức GET từ client

app.post(path, callback [, callback ])

Nhận phương thức POST từ client

Ví dụ: res.json({name : ‘My name’});

2.3 EJS TEMPLATE(EMBEDDED JAVASCRIPT TEMPLATE)

Khi tạo một ứng dụng Node.js, cách dễ dàng và nhanh chóng là sử dụng một template engine để thiết kế, template engine là ngôn ngữ trình bày dữ liệu Có nhiều template engine hỗ trợ cho Node.js như: CoffeeKuo, EJS, Haml-js, Haml.js, Jade, JQTpl, Swig, Teml8…

Jade template mặc định được cài sẵn khi bắt đầu cài đặt Node.js Tuy nhiên ở phạm

vi đề tài này sẽ sử dụng EJS template

EJS là một thư viện Javascript, cú pháp sử dụng đơn giản và tương tự như ngôn ngữ lập trình web PHP, được sử dụng để xây dựng mã html từ dữ liệu có cấu trúc JSON Cài đặt mô-đun ejs với lệnh:

 npm install ejs

Trang 21

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 11 MSSV: 1111517

Sau đó thêm dòng lệnh cấu hình vào:

Định nghĩa app.set('views', dirname) sẽ dò tìm các views hiển thị trong thư mục hiện tại dirname, và app.set('view engine','ejs') để cấu hình template engine là ejs

Khi client gửi yêu cầu để hiển thị một trang nào đó, server sẽ dò tìm các file view tương ứng, lúc này template engine sẽ lấy dữ liệu và chuyển đổi lại thành ngôn ngữ html trả về trình duyệt của người dùng để hiển thị

EJS được nhúng trực tiếp vào mã lệnh html, các mã lệnh EJS được viết trong cặp

thẻ EJS: ejs.open('<<'), và ejs.close('>>')

Giá trị của EJS được in với dấu (=): <%=title %>, nhưng với giá trị muốn in thành mã html để trả về trình duyệt phải được bắt đầu bằng dấu (-):

<%-‘<h1>Hello World</h1>’ %>,

Ví dụ:

Tạo tập tin server.js có nội dung:

Javascript Example'});

});

});

Trang 22

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 12 MSSV: 1111517

Và một tập tin ejs-example.ejs có nội dung:

Trang 23

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 13 MSSV: 1111517

2.4 AJAX – JQUERY

AJAX

AJAX, viết tắt từ Asynchronous JavaScript and XML (JavaScript và XML không đồng bộ) là một công nghệ cho phép làm tăng tốc độ ứng dụng web bằng kỹ thuật cắt nhỏ dữ liệu, chỉ hiển thị những gì cần thiết thay vì tải đi tải lại trang web

AJAX được viết bằng Javascript và chạy trên client, thông qua Javascript để cung cấp một công nghệ phía client-script để thực hiện ngầm các tác vụ giao tiếp với server, gửi yêu cầu đến server thực hiện, nhận thông tin trả về qua đó có thể cập nhật thông tin trang web nhanh chóng mà không cần phải tải lại trang web

Một số thư viện Javascript hỗ trợ như JQuery, Angular

Ví dụ để kiểm tra tên đăng nhập của một người dùng đăng ký vào hệ thống trang web, khi người dùng vừa nhập xong tên đăng nhập, ngay lập tức Javascript lấy thông tin vừa nhập vào và gửi ngầm lên server để kiểm tra tên đăng nhập có hợp lệ hay trùng trong cơ sở dữ liệu hay không và thông báo ngay đến người dùng để thay đổi mà không cần phải đợi nhập tất cả thông tin rồi gửi đến server kiểm tra

JQUERY

JQuery là một thư viện mới của Javascript được tạo bởi John Resig vào năm 2006, JQuery định nghĩa sẵn các phương thức giúp đơn giản hóa cách viết Javascript, tăng tốc

độ xử lý sự kiện trên các trang web, tương tác đến các phần tử html

Các tính năng được hỗ trợ từ JQuery:

 Hướng tới các thành phần trong tài liệu html, thay đổi giao diện trang web

 Tương tác với người dùng

 Xử lý sự kiện

 Hỗ trợ Ajax

 Tạo hiệu ứng động cho những thay đổi của phần tử html

 Lấy thông tin trả về từ server mà không cần tải lại trang web

 Gọn nhẹ

 Được hỗ trợ bởi hầu hết các trình duyệt hiện đại

 Cập nhật và hỗ trợ các công nghệ web mới nhất (như HTML5 và CSS3) Tải thư viện từ trang chủ của JQuery https://jquery.com/ và nhúng tập tin javascript vào

<script type="text/javascript" src=

"jquery-1.11.2.js"></script>

Trang 24

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 14 MSSV: 1111517

2.5 MYSQL VÀ PHPMYADMIN

MYSQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, có tốc độ

xử lý nhanh, ổn định và dễ sử dụng, hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn các hàm tiện ích rất mạnh, tốc độ và tính bảo mật cao, MySQL thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên internet

MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL)

Một số đặc điểm nổi bậc của MySQL Server:

 Linh hoạt: Sự linh hoạt về flatform là một đặc tính nổi bật của MySQL với các phiên bản đang được hỗ trợ của Linux, Unix, Windows, MySQL cho phép tùy biến hoàn toàn theo ý muốn, thêm vào các yêu cầu thích hợp cho database server

 Thực thi cao: Các chuyên gia cơ sỡ dữ liệu có thể cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù thông qua kiến trúc storage-engine MySQL có thể đáp ứng khả năng xử lý những yêu cầu khắt khe nhất của từng hệ thống, MySQL còn đưa ra các “công cụ” cần thiết cho các hệ thống doanh nghiệp khó tính bằng tiện ích tải tốc độ cao, bộ nhớ cache và các cơ chế xử lý nâng cao khác

 Hỗ trợ giao dịch: MySQL hỗ trợ giao dịch mạnh một cách tự động, thống nhất, độc lập và bền vững, ngoài ra khả năng giao dịch cũng được phân loại

và hỗ trợ giao dịch đa dạng mà người viết không gây trở ngại cho người đọc

và ngược lại Các dữ liệu được đảm bảo toàn vẹn trong suốt quá trình server

có hiệu lực và các mức giao dịch độc lập được chuyên môn hóa cao

 Nơi tin cậy để lưu trữ web và dữ liệu: Do MySQL có engine xử lý tốc độ cao

và khả năng chèn dữ liệu nhanh, hỗ trợ tốt cho các chức năng chuyên dùng cho web nên MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng dụng web doanh nghiệp

 Bảo mật tốt: Tính năng bảo mật dữ liệu tuyệt đối vì đó chính là lợi ích quan trọng hàng đầu, và đó cũng là lý do mà các chuyên gia về cơ sỡ dữ liệu chọn dùng MySQL MySQL có các kỹ thuật mạnh trong việc xác nhận truy cập cơ

sở dữ liệu và chỉ có người dùng đã được xác nhận mới có thể truy cập vào server cơ sở dữ liệu Bên cạnh đó, tiện ích backup và recovery cho phép backup logic và recovery toàn bộ hoặc tại một thời điểm nào đó

 Phát triển ứng dụng hỗn hợp: MySQL cung cấp hỗ trợ hỗn hợp cho bất kỳ sự phát triển ứng dụng nào nên MySQL được xem là cơ sở dữ liệu mã nguồn

Trang 25

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 15 MSSV: 1111517

mở phổ biến nhất thế giới Thư viện plugin có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ trong bất kỳ ứng dụng nào MySQL còn cung cấp các bộ kết nối cho phép tất cả các form của ứng dụng ưu tiên sử dụng MySQL như một server quản lý dữ liệu

 Dễ quản lý: Quá trình cài đặt MySQL diễn ra khá nhanh chóng trên Microsoft Windows, Linux, Macintosh hoặc Unix Sau khi cài đặt, các tính năng tự động mở rộng không gian, tự khởi động lại và cấu hình động được thiết lập sẵn sàng cho người quản trị cơ sở dữ liệu làm việc

 Mã nguồn mở tự do và được hỗ trợ xuyên suốt

 Chi phí thấp

Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage), truy cập (accessibility), tổ chức (organization) và xử lý (manipulation)

PHPMYADMIN

phpMyAdmin là một công cụ mã nguồn mở miễn phí được viết bằng ngôn ngữ PHP

để xử lý quản trị của cơ sở dữ liệu MySQL thông qua một trình duyệt web Nó có thể thực hiện nhiều tác vụ như tạo, sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hoặc bản ghi; thực hiện báo cáo SQL; hoặc quản lý và cấp phép người dùng

Các chức năng của phpMyadmin:

 Xem dữ liệu, xóa cơ sở dữ liệu, bảng, view, trường và các chỉ số

 Tạo, sao chép, xóa, đổi tên và thay đổi cơ sở dữ liệu, các bảng các trường và chỉ số

 Bảo trì Server, các cơ sở dữ liệu, các bảng

 Thực hiện, thao tác và bookmark bất kỳ câu lệnh SQL hoặc một khối lệnh

 Nạp những tập tin văn bảng vào các bảng, tạo và đọc nhiều bảng

 Xuất dữ liệu ra nhiều kiểu đinh dạng CSV, XML, PDF, Open text, Excel…

 Quản trị nhiều Server, quản lý người dùng và quyền người dùng

 Sử dụng truy vấn bằng ví dụ, tạo các truy vấn phức tạp một cách tự động

 Thực hiện nhớ dữ liệu với bất kỳ định dạng sử dụng với những chức năng được thiết lập trước như: dữ liệu dạng ảnh, liên kết

 Hỗ trợ MySQLi

Bên cạnh đó phpMyadmin còn hỗ trợ hơn năm mươi ngôn ngữ khác nhau

Trang 26

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 16 MSSV: 1111517

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGUYÊN CỨU 3.1 TỔNG QUAN HỆ THỐNG

3.1.1 Mô tả bài toán

Để giải quyết bài toán được tối ưu, cần phải nhìn nhận tổng quát các vấn đề, thu thập đầy đủ thông tin cần thiết, phân tích tính logic của thông tin, dữ liệu, quá trình hoạt động của hệ thống đảm bảo rằng không có sai sót thông tin, thiếu thông tin Với việc quản lý thu tiền điện hệ thống đảm bảo được đầy đủ các thông tin sau:

Về nhân viên: mỗi nhân viên trong cơ quan đều được quản lý bởi mã nhân viên, họ tên, ngày sinh, giới tính, địa chỉ số điện thoại , bên cạnh đó mỗi nhân viên trực thuộc một phòng ban, có quyền riêng, chức năng riêng khi nhân viên thuộc các phòng ban khác nhau

Cơ quan có nhiều phòng ban, mỗi phòng có tên gọi khác nhau và có chức năng làm việc, quản lý khác nhau, mỗi phòng ban có ngày thành lập phòng ban đó

Mỗi khách hàng sử dụng điện bao gồm các thông tin mã số, họ tên khách hàng, địa chỉ, số điện thoại và một tài khoản đăng nhập vào hệ thống website Khách hàng có thể xem thông tin cá nhân, xem giá điện và chi tiết quá trình sử dụng điện hằng tháng của mình thông qua các hóa đơn, in hóa đơn

Khách hàng có một hay nhiều tài khoản ngân hàng, các tài khoản này được quản lý cho quá trình thanh toán hóa đơn trên website

Mỗi khách hàng có thể sử dụng từ một đến ba công tơ điện (tùy theo quy định của

cơ quan), có thể giống hoặc khác mục đích sử dụng

Công tơ điện có mỗi mã số riêng biệt, mỗi công tơ điện thuộc một trạm biến áp và một chỉ số cột điện, có mục đích sử dụng riêng, để dễ dàng thống kê theo các tiêu chí khác nhau, mỗi mục đích sử dụng có các đơn giá tính khác nhau

Đơn giá điện được tính theo các mức khác nhau tùy theo mục đích sử dụng, đơn giá

cố định hoặc được tính theo dạng bậc thang, dạng bậc thang tức là chỉ số tiêu thụ điện năng được phân theo nhiều cấp tính đơn giá khác nhau, chỉ số cấp bậc thang được cơ quan quy định và có thể thay đổi trong quá trình cung cấp điện cho khách hàng

Thông tin trạm biến áp bao gồm: mã trạm, tên trạm biến áp, địa chỉ (nơi đặt trạm),

có thể thêm ghi chú

Trang 27

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 17 MSSV: 1111517

Hằng tháng, yêu cầu khách hàng phải nhập số liệu điện năng tiêu thụ của những công tơ điện mà khách hàng đang sử dụng, lưu lại số liệu để xuất trình hóa đơn báo tiền điện, hóa đơn thanh toán tiền điện và để tính cho tháng tiếp theo Việc nhâp số liệu được thực hiện bằng hai cách, có thể do nhân viên cơ quan nhập hoặc do khách hàng nhập vào tương ứng với các công tơ điện đang sử dụng khi đăng truy cập vào hệ thống website

Số tiền thanh toán dựa vào chỉ số tiêu thụ điện năng của tháng đó, đơn giá sử dụng điện, thuế Chỉ số điện năng tiêu thụ được tính theo chỉ số hiện tại và chỉ số của tháng trước đó hay còn gọi là chỉ số đầu và chỉ số cuối

Hóa đơn bao gồm các thông tin mã hóa đơn, thông tin của cơ quan, khách hàng và thông tin điện năng tiêu thụ, số tiền phải thanh toán ứng với tháng đó

Khách hàng có thể thanh toán hóa đơn tiền điện trực tiếp cho nhân viên thu tiền điện, tại cơ quan và có thể thanh toán thông qua tài khoản ngân hàng của mình đã đăng

3.1.2 Phân tích và thiết kế mô hình

3.1.2.1 Sơ đồ nghiệp vụ chức năng BFD

Sơ đồ nghiệp vụ chức năng đối với khách hàng

Hình 3.1 Sơ đồ nghiệp vụ chức năng BFD

Trang 28

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 18 MSSV: 1111517

Sơ đồ nghiệp vụ chức năng đối với nhân viên quản lý

Hình 3.2 Sơ đồ nghiệp vụ chức năng BFD (tiếp theo)

Trang 29

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 19 MSSV: 1111517

3.1.2.2 Sơ đồ Use case

Sơ đồ use case cho khách hàng

Khi khách hàng sử dụng hệ thống gồm có các chức năng như: xem các bài đăng tin tức, xem giá điện, thuế Bên cạnh đó sau khi khách hàng đăng nhập khách hàng có thể xem thông tin cá nhân của mình, thông tin những công tơ điện đang sử dụng, nhập chỉ số tiêu thụ điện năng, xem và thanh toán hóa đơn, tìm kếm hóa đơn

Hình 3.3 - Sơ đồ use case – Khách hàng

Sơ đồ use case nhân viên quản lý

Đối với người quản lý bao gồm các chức năng như: quản lý nhân viên, quản lý khách hàng, quản lý công tơ điện, quản lý các bài đăng, cập nhật tramk biến áp, cập nhật giá điện, thuế, tìm kiếm nhân viên, tìm kiếm khách hàng, tìm kiếm và in hóa đơn…

Trang 30

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 20 MSSV: 1111517

Hình 3.4 - Sơ đồ use case – Nhân viên quản lý

Sơ đồ use case nhân viên quản lý(tiếp theo)

Hình 3.5 - Sơ đồ use case – Nhân viên quản lý (tiếp theo)

Trang 31

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 21 MSSV: 1111517

3.1.2.3 Sơ đồ kịch bản(scenario)

Sơ đồ kịch bản cho use case khách hàng đăng nhập

Tên use case Khách hàng đăng nhập

Tác nhân chính Khách hàng

Người chịu trách nhiệm Khách hàng

Tiền điều kiện

Đảm bảo tối thiểu

Đảm bảo thành công Khách hàng đăng nhập và sử dụng

được các chức năng của hệ thống Kích hoạt Khách hàng chọn chức năng đăng nhập

hệ thống Chuỗi sự kiện chính:

1 Hệ thống hiển thị trang đăng nhập và yêu cầu khách hàng nhập thông tin tên đăng nhập và mật khẩu vào

2 Khách hàng nhập thông tin và submit

3 Hệ thống kiểm tra thông tin nhập vào và xác nhận đăng nhập thành công

Ngoại lệ:

3 Hệ thống thông báo thông tin đăng nhập không đúng

3.1 Hệ thống yêu cầu khách hàng nhập lại thông tin

3.2 Khách hàng nhập lại thông tin và đăng nhập

Bảng 3.1 - Scenario cho use case đăng nhập nhân viên

Trang 32

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 22 MSSV: 1111517

Sơ đồ kịch bản cho use case thêm công tơ điện

Tên use case Thêm công tơ điện

Tác nhân chính Nhân viên

Người chịu trách nhiệm Nhân viên quản lý

Tiền điều kiện Nhân viên đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống xóa bỏ các thông tin đã thêm

và quay lui lại bước trước Đảm bảo thành công Thông tin về công tơ điện, khách hàng

mới được thêm vào hệ cơ sở dữ liệu Kích hoạt Nhân viên chọn chức năng thêm công

tơ điện trên menu Chuỗi sự kiện chính:

4 Hệ thống hiển thị form thêm công tơ điện, form thêm khách hàng nếu là khách hàng mới và yêu cầu nhân viên nhập thông tin vào

5 Nhân viên nhập thông tin và kiểm tra

6 Hệ thống kiểm tra thông tin nhập vào và xác nhận hợp lệ

7 Hệ thống thêm thông tin công tơ điện, thông tin khách hàng nếu là khách hàng mới vào cơ sở dữ liệu

8 Hệ thống thông báo thành công

9 Nhân viên thoát khỏi chức năng thêm công tơ điện

Ngoại lệ:

3.a Hệ thống thông báo khách hàng đã tồn tại

3.a.1 Hệ thống yêu cầu có thêm công tơ điện cho khách hàng đã tồn tại hay không

3.a.2 Nhân viên chọn thêm, nhập thông tin công tơ điện và lưu lại

3.a.3 Hệ thống thêm và thông báo thành công

3.b Hệ thống thông báo thông tin khách hàng, công tơ điện mới không hợp lệ

3.b.1 Hệ thống yêu cầu nhân viên nhập lại thông tin

3.b.2 Nhân viên nhập lại thông tin

Bảng 3.2 - Scenario cho use case thêm công tơ điện

Trang 33

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 23 MSSV: 1111517

3.1.2.4 Sơ đồ lớp

Sau khi phân tích thông tin, các chức năng của hệ thống ta được các lớp sau đây:

Lớp nhân viên

Hình 3.6 - Lớp nhân viên

Diễn giải các thuộc tính và phương thức của lớp nhân viên

Thuộc tính Diễn giải

manv Mã số nhân viên hoten Họ tên nhân viên ngaysinh Ngày sinh

gioitinh Giới tính diachi Địa chỉ sodienthoai Số điện thoại email Địa chỉ email matkhau Mật khẩu đăng nhập hệ thống trangthai Trạng thái nhân viên

Bảng 3.3 - Thuộc tính của lớp nhân viên

Phương thức Diễn giải

themnv Thêm nhân viên mới suathongtinnv Sửa thông tin nhân viên xoanv Xóa nhân viên

dangnhap Đăng nhập hệ thống

Bảng 3.4 - Phương thức của lớp nhân viên

Trang 34

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 24 MSSV: 1111517

Lớp phòng ban

Hình 3.7 - Lớp phòng ban

Diễn giải các thuộc tính và phương thức của lớp phòng ban

Thuộc tính Diễn giải

maphongban Mã phòng ban tenphongban Tên phòng ban ghichu Ghi chú

ngaythanhlap Ngày thanh lập phòng ban

Bảng 3.5 - Thuộc tính của lớp phòng ban

Phương thức Diễn giải

themphongban Thêm phòng ban mới xoaphongban Xóa phòng ban get_ngaythanhlap Lấy thông tin ngày thành lập

Bảng 3.6 - Phương thức của lớp phòng ban

Trang 35

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 25 MSSV: 1111517

Lớp khách hàng

Hình 3.8 - Lớp khách hàng

Diễn giải các thuộc tính và phương thức của lớp khách hàng

Thuộc tính Diễn giải

makhachhang Mã khách hàng hotenkh Họ tên khách hàng gioitinh Giới tính

ngaysinh Ngày sinh diachi Địa chỉ sodienthoai Số điện thoại matkhau Mật khẩu trangthai Trạng thái

Bảng 3.7 - Thuộc tính của lớp khách hàng

Phương thức Diễn giải

themkh Thêm khách hàng suathongtinkh Sửa thông tin khách hàng xoakh Xóa khách hàng

xemthongtinkh Xem thông tin khách hàng thanhtoanhoadon Thanh toán hóa đơn

Bảng 3.8 - Phương thức của lớp khách hàng

Trang 36

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 26 MSSV: 1111517

Lớp mục đích sử dụng

Hình 3.9 - Lớp mục đích sử dụng

Diễn giải các thuộc tính và phương thức của thực mục đích sử dụng

Thuộc tính Diễn giải

mamucdich Mã mục đích sử dụng mucdich Tên mục đích sử dụng thue Mức thuế

giabacthang Giá bậc thang(có tính theo giá

bậc thang hay không)

Bảng 3.9 - Thuộc tính của lớp mục đích sử dụng

Phương thức Diễn giải

themmucdichsd Thêm mục đích sử dụng xoamucdichsd Xóa mục đích sử dụng get_dongia Trả về đơn giá của mục đích

sử dụng get_thue Trả về thuế của mục đích sử

dụng

Bảng 3.10 - Phương thức của lớp mục đích sử dụng

Trang 37

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 27 MSSV: 1111517

Lớp công tơ điện

Hình 3.10 - Lớp công tơ điện

Diễn giải các thuộc tính và phương thức của lớp công tơ điện

Thuộc tính Diễn giải

macongto Mã công tơ điện chisocot Chỉ số cột điện chisomoinhat Chỉ số mới nhất của công tơ

điện ngayghicscuoi Ngày ghi nhận chỉ số cuối

cùng của công tơ điện trangthai Trạng thái

Bảng 3.11 - Thuộc tính của lớp công tơ điện

Phương thức Diễn giải

themcongtodien Thêm công tơ điện suathongtincongto

dien

Sửa thông tin công tơ điện

xoacongtodien Xóa công tơ điện get_chisomoinhat Trả về chỉ số mới nhất của

công tơ điện

Bảng 3.12 - Phương thức của lớp công tơ điện

Trang 38

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 28 MSSV: 1111517

Lớp hóa đơn

Hình 3.11 - Lớp hóa đơn

Diễn giải các thuộc tính của lớp hóa đơn

Thuộc tính Diễn giải

mahoadon Mã hóa đơn tungay Ngày bắt đầu của kỳ thu denngay Ngày kết thúc của kỳ thu chisomoi Chỉ số mới

chisocu Chỉ số cũ chisothucthu Chỉ số thực thu thanhtoan Thanh toán trước thuế thue Mức thuế

thuthue Tiền thuế thanhtoan Tổng thanh toán sau thuế ngaylap Ngày lập hóa đơn

dathanhtoan Đã thanh toán (xác nhận hóa

đơn đã thanh toán hay chưa) ngaythanhtoan Ngày thanh toán hóa đơn

Bảng 3.13 - Thuộc tính của lớp hóa đơn

Trang 39

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 29 MSSV: 1111517

Lớp trạm biến áp

Hình 3.12 - Lớp trạm biến áp

Diễn giải các thuộc tính và phương thức của lớp trạm biến áp

Thuộc tính Diễn giải

matram Mã trạm biến áp tentram Tên trạm biến áp ghichu Ghi chú

Bảng 3.14 - Thuộc tính của lớp trạm biến áp

Phương thức Diễn giải

themtrambienap Thêm trạm biến áp suathongtintram Sửa thông tin trạm biến áp xoatrambienap Xóa tram biến áp

Bảng 3.15 - Phương thức của lớp trạm biến áp

Trang 40

GVHD: Th.S Lê Minh Lý SV: Nguyễn Hải Đăng MSCB: 2301 Trang 30 MSSV: 1111517

Phân tích mối quan hệ giữa các lớp

Quan hệ nhanvien - phongban

Hình 3.13 - Quan hệ nhân viên – phòng ban

Diễn giải: Mỗi nhân viên chỉ thuộc một phòng ban, mỗi phòng ban có nhiều nhân viên

Quan hệ nhanvien - hoadon

Hình 3.14 - Quan hệ nhân viên – hóa đơn

Diễn giải: Nhân viên có thể lập nhiều hoặc không lập hóa đơn nào, mỗi hóa đơn chỉ được lập bởi một nhân viên

Ngày đăng: 12/01/2016, 19:22

HÌNH ẢNH LIÊN QUAN

3.1.2.2  Sơ đồ Use case - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
3.1.2.2 Sơ đồ Use case (Trang 29)
Hình 3.14 - Quan hệ nhân viên – hóa đơn - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Hình 3.14 Quan hệ nhân viên – hóa đơn (Trang 40)
Hình 3.23 - Quan hệ nhân viên – tin tức - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Hình 3.23 Quan hệ nhân viên – tin tức (Trang 44)
Sơ đồ lớp hoàn chỉnh sau khi phân tích thuộc tính, phương thức và mối quan hệ  giữa các lớp - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Sơ đồ l ớp hoàn chỉnh sau khi phân tích thuộc tính, phương thức và mối quan hệ giữa các lớp (Trang 45)
3.1.2.6  Sơ đồ tuần tự - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
3.1.2.6 Sơ đồ tuần tự (Trang 48)
Sơ đồ tuần tự thêm công tơ điện - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Sơ đồ tu ần tự thêm công tơ điện (Trang 49)
Sơ đồ tuần tự khách hàng nhập chỉ số tiêu thụ điện - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Sơ đồ tu ần tự khách hàng nhập chỉ số tiêu thụ điện (Trang 50)
Sơ đồ tuần tự khách hàng thanh toán hóa đơn - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Sơ đồ tu ần tự khách hàng thanh toán hóa đơn (Trang 51)
Sơ đồ tuần tự khách hàng tìm kiếm hóa đơn - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Sơ đồ tu ần tự khách hàng tìm kiếm hóa đơn (Trang 52)
3.1.2.7  Sơ đồ ER - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
3.1.2.7 Sơ đồ ER (Trang 53)
Hình 3.31 - Mô hình cơ sở dữ liệu quan hệ - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Hình 3.31 Mô hình cơ sở dữ liệu quan hệ (Trang 54)
Hình 3.35 - Trang thông tin giá điện - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Hình 3.35 Trang thông tin giá điện (Trang 62)
Hình 3.44 - Trang nhập chỉ số điện năng tiêu thụ - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Hình 3.44 Trang nhập chỉ số điện năng tiêu thụ (Trang 69)
Hình 1 – Giao diện Zend Studio 10.5 - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Hình 1 – Giao diện Zend Studio 10.5 (Trang 74)
Hình 7 – Cửa sổ tạo dự án 2 - xây dựng website quản lý việc thu tiền điện phường an hòa, tp cần thơ
Hình 7 – Cửa sổ tạo dự án 2 (Trang 78)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w