Chính vì như뀃ng l礃Āđó, nhóm ch甃Āng em ngh] đến s^ phát triển hê U thống " Quản l礃Ā tài khoản " đểgi甃Āp ch甃Āng ta có thể da dàng quản l礃Ā tài khoản cVa mình hơn, tích kiê Um đượcnhiều thờ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN – ĐIỆN TỬ
BÁO CÁO BÀI TẬP LỚN
Đề tài:
[HỆ THỐNG QUẢN LÝ TÀI KHOẢN CÁ
NHÂN]
Nhóm sinh viên thực hiện: Nhóm 14 - Lớp KTLT_129166
Nguyễn Hồng Nhung 20181069 Phùng Việt Anh 20203661
Vũ Mạnh Toàn 20203613 Trần Văn Tư 20203628 Nguyễn Văn Giang 20203404 Giảng viên hướng dẫn: PGS.TS TRẦN THỊ THANH HẢI
Trang 2Hà Nội, 01 - 2022
MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG I: GIỚI THIỆU CHUNG 5
1.1 Giới thiệu đề tài 5
1.2 Một số nghiên cứu liên quan 5
1.3 Mục tiêu đề tài 6
1.4 Phân chia nhiệm vụ trong nhóm 6
CHƯƠNG II: PHÂN TÍCH BÀI TOÁN 7
2.1 Tổng quát 7
2.2 Biểu đồ chức năng 7
2.3 Phân tích các chức năng 7
2.3.1 Đă ng kí (Registor) 7
2.3.2 Kíc h hoạt (Activate) 8
2.3.3 Đă ng nhập (Sign in) 8
2.3.4 Tì m kiếm (Search) 8 2.3.5 Đổi
Trang 32.3.6 Đă
ng xuất (Sign out) 9
2.4 Đánh giá 9
CHƯƠNG III: PHƯƠNG PHÁP THỰC NGHIỆM 9
3.1 Phương pháp đề xuất 9
3.2 Cài đặt thực nghiệm 10
3.2.1 Mô i trường cài đặt 10
3.2.2 Tri ển khai cài đặt 11
3.2.3 Hu ấn luyện mô hình 11
3.3 Thực nghiệm 11
3.3.1 Đá nh giá định lượng 11
3.3.2 Phâ n tích định tính 11
CHƯƠNG IV: TỔNG KẾT 16
4.1 Kết luận 16
4.2 Hướng phát triển 16
4.3 Kiến nghị và đề xuất 16
4.3.1 Đối với bài tập lớn 16
4.3.2 Đối với môn học 16
Trang 4Danh mục bảng biểu 3
Bảng 1.4 Phân chia nhiệm vụ các thành viên trong nhóm 6 Biểu đồ 2.2 Các chức năng chính 7
Trang 5LỜI NÓI ĐẦU
Trong thời đại 4.0, thời đại mà công nghê U phát triển rất nhanh để phục
vụ cho cuô Uc sống cVa con người Điê Un thoại di đô Ung và máy tính là thiết bị điê Un tư뀉 được con người sư뀉 dụng rô Ung rXi vì như뀃ng thiết bị này có đô U tiê Un lợi cao và gi甃Āp giải quyết công viê Uc hiê Uu quả hơn, đồng hành theo sự phát triển cVa điê Un thoại di đô Ung và máy tính thì các tài khoản online c[ng có mô Ut bước tiến lớn, các tài khoản online càng ngày càng nhiều tăng với số lượng rất lớn làm cho viê Uc quản l礃Ā như뀃ng tài khoản đó rất khó khăn Chính vì như뀃ng l礃Ā
đó, nhóm ch甃Āng em ngh] đến s^ phát triển hê U thống " Quản l礃Ā tài khoản " để gi甃Āp ch甃Āng ta có thể da dàng quản l礃Ā tài khoản cVa mình hơn, tích kiê Um được nhiều thời gian hơn trong viê Uc quản l礃Ā tài khoản không chb cVa cá nhân mà cVa nhiều người
Dựa trên nhu cdu cVa mọi người thì nhóm ch甃Āng em xin được phát triển
hê U thống “ Quản l礃Ā tài khoản ” để gi甃Āp cho mọi người có thể quản l礃Ā được t khoản mô Ut cách tối ưu và tốt nhất, trong thời gian thực hiê Un đề tài này nhóm ch甃Āng em đX cố ggng tìm kiếm nhiều tự liê Uu để tham khảo và suy ngh] đến như뀃ng chức năng cdn thiết để người dhng tiê Un lợi nhất trọng viê Uc sư뀉 dụng hê U thống quản l礃Ā, nhưng do vốn kiến thức cin hạn h攃⌀p như뀃ng yếu tố khách quan
mà không tránh được như뀃ng thiếu sót Ch甃Āng em rất mong sự đóng góp 礃 kiến, phê bình và hướng dẫn thêm cVa thdy cô
Cuối chng thì ch甃Āng em xin gư뀉i lời cảm ơn chân thành nhất đến PGS.TS.Trdn Thị Thanh Hải đX hướng dẫn tận tình, giảng giải như뀃ng kiến thức gi甃Āp ch甃Āng em hoàn thành bài tập lớn này
Ch甃Āng em xin chân thành cám ơn!
Hà Nội, ngày 19 tháng 1 năm 2022
Trang 6CHƯƠNG I: GIỚI THIỆU CHUNG
1.1 Giới thiệu chủ đề
ChV đề ldn này cVa nhóm ch甃Āng em hướng đến đó là quản l礃Ā tài khoản nên cả nhóm đX viết ra mô Ut hê U thống quản l礃Ā tài khoản để người dhng:
Đdu tiên có thể da sư뀉 dụng
Quản l礃Ā được như뀃ng ldn đăng nhâ Up tài khoản để cho người sư뀉 dụng hê U thống biết mình là người đăng nhâ Up hay không hay là mô Ut người lạ
mă Ut
Tìm kiếm tài khoản và hỗ trợ thay đổi mâ Ut
1.2 Một số nghiên cứu liên quan
Ư꼁ng dụng Account Manager quản l礃Ā tài khoản facebook
Trang 7Ư꼁ng dụng Garenna Authenticator.
1.3 Mục tiêu đề tài
Nhóm em hướng đến sự tiê Un ích cVa người sư뀉 dụng hê U thống quản l礃Ā s^
da dàng trong viê Uc đăng nhâ Up tài khoản cVa mình hơn và có thể biết được thông tin cVa mình khi được đăng nhâ Up ơꄉ nhiều thiết bị va, nhiều nơi nhsm cho người sư뀉 dụng hê U thống có thể biết tài khoản cVa mình có bị người khác đăng nhâ Up hay không để có thể thay đổi mâ Ut khẩu phing ngư뀀a mất tài khoản cVa người dhng, bên cạnh đó có thể hỗ trợ người dhng có thể tìm kiếm tài khoản, biết được trạng thái hiê Un tại cVa tài khoản cVa mình đang ơꄉ trạng thái tốt hay không
1.4 Phân chia nhiệm vụ trong nhóm
Tên th nh viên M s Ā sinh viên Công viê c
Nguy n H ng
Ph$ng Viê t Anh 20203661 L m slide thuy Āt tr.nh, t.m
ki Ām t i khoản
Nguy n Văn Giang 20203404 Đăng k礃Ā v k椃Āch ho愃⌀t t i
Trang 8khoản Bảng 1.4 Phân chia nhiệm vụ các thành viên trong nhóm
CHƯƠNG II: PHÂN TÍCH BÀI TOÁN
2.1 Tổng quát
Hệ thống bao gồm:
Chức năng đăng kí toàn khoản (Registor)
Chức năng kích hoạt tài khoản (Activate)
Chức năng đăng nhập (Sign in)
Chức năng tìm kiếm (Search)
Chức năng đổi mật khẩu (Change password)
Chức năng đăng xuất (Sign out)
2.2 Biểu đồ chức năng
Biểu đồ 2.2 Các chức năng chính
Đổi mật
Trang 9Đăng k礃Ā thông tin tài khoản mới Các thông tin được nhập tư뀀 bàn phím bao gồm: tên tài khoản (username), mật khẩu (password)
Nếu tên tài khoản đX tồn tại, báo lỗi
Ngược lại thêm mới thông tin một tài khoản vào file lưu thông tin ơꄉ trên
Tài khoản tạo mới có trạng thái hoạt động là idle
Thông tin tài khoản mới cdn được cập nhật vào file
2.3.2 Kích hoạt (Activate)
Người dhng cdn phải kích hoạt tài khoản Các thông tin cdn nhập bao gồm: tên tài khoản (username), mật khẩu (password), mX kích hoat (activation code) MX kích hoạt là 20203404
Sai mX kích hoạt báo lỗi, sai quá 4 ldn tài khoản bị khóa
Đ甃Āng mX kích hoạt tài khoản chuyển sang trạng thái active
2.3.3 Đăng nhập (Sign in)
Đăng nhập Người dhng cdn nhập các thông tin tư뀀 bàn phím bao gồm: tên tài khoản (username), mật khẩu (password)
Nếu tên tài khoản tồn tại và mật khẩu đ甃Āng, thông báo người dhng đX đăng nhập thành công
Trong các trường hợp khác, bao gồm tài khoản không tồn tại hoặc mật khẩu sai, thông báo lỗi tương ứng
Nếu người dhng nhập sai mật khẩu quá 3 ldn, tài khoản bị khóa Trạng thái thay đổi được cập nhật vào file
2.3.4 Tìm kiếm (Search)
Trang 10Tìm kiếm thông tin một tài khoản Thông tin nhập vào tư뀀 bàn phím là tên tài khoản
Chương trình hiển thị tên tài khoản tìm thấy và thông báo trạng thái cVa tài khoản là active hay blocked
Nếu người dhng chưa đăng nhập hoặc không tìm thấy thông tin tài khoản, thông báo lỗi tương ứng
2.3.5 Đổi mật khẩu (Change password)
Người dhng yêu cdu đổi mật khẩu cVa mình
Nếu người dhng chưa đăng nhập hoặc nhập mật khẩu c[ sai, thông báo lỗi tương ứng
2.3.6 Đăng xuất (Sign out)
Người dhng cdn nhập vào tư뀀 bàn phím Tên tài khoản đX đăng nhập Nếu không tìm thấy tên tài khoản hoặc người dhng chưa đăng nhập, thông báo lỗi tương ứng
2.4 Đánh giá
Để xây dựng các chức năng trên, ta cdn sư뀉 dụng nhiều hàm khác nhau xuất nhập, so sánh thông tin tài khoản,…và thư viện linkedlist.h Để quản l礃Ā thông tin người dhng được lưu vào file nguoidung.txt, trong file xuất hiện các tài khoản đX đăng kí chng mật khẩu và trạng thái cVa tài khoản
CHƯƠNG III: PHƯƠNG PHÁP THỰC NGHIỆM
3.1 Phương pháp đề xuất
Trang 11Nhsm tạo ra chương trình gi甃Āp hệ thống tài khoản , xem và sư뀉a thông tin tài khoản, hiện thị trạng thái thì cả nhóm chng đưa ra phương pháp để giải quyết mục tiêu là:
Hoạt động nhóm 5 người theo kế hoạch phân công công việc một cách thống nhất và có trách nhiệm
Sư뀉 dụng các thuật toán tư뀀 ngôn ngư뀃 lập trình C\C++ để thực hiện vi chương trình và tạo nên ứng dụng
Sư뀉 dụng một môi trường lập trình thông minh, thuận tiện để phát triển nhanh các chương trình một cách da dàng và tạo được các chương trình một cách nhanh chóng dựa trên ngôn ngư뀃 lập trình C\C++
Dựa vào như뀃ng kiến thức về lập trình C\C++ đX được học ơꄉ trên lớp,
sự hỗ trợ cVa giảng viên bộ môn và chng tham khảo tài liệu trên internet tư뀀 đó viết được chương trình theo mục tiêu như lưu trư뀃 thông tin tài khoản
Sau khi tạo lập chương trình thì dhng thư뀉 và sư뀉a lỗi (nếu có)
3.2 Cài đặt thực nghiệm
3.3.1 Môi trường cài đặt
MinGW là một phdn mềm mX nguồn mơꄉ, một trình biên dịch ngôn ngư뀃 C/C++ trên Windows Nó tương tự như JavaScript Engine khi lập trình JavaScript/Node.js hay JDK khi lập trình Java
Ví dụ khi bạn lập trình C/C++ trên file c hay cpp sau đó MinGW s^ chuyển file c/.cpp đó thành file binary code để cho máy tính có thể hiểu và chạy được
Ngoài MinGW ta có một số trình compiler C/C++ khác trên Windows như CygWin, Turbo C++, Borland C++ …
Trang 123.3.2 Triển khai cài đặt
Các bước triển khai cài đặt chương trình:
Giai đoạn yêu cdu
Giai đoạn thiết kế (Design)
Giai đoạn thực hiện hay giai đoạn xây dựng ( Development) Giai đoạn kiểm chứng (Test)
Giai đoạn triển khai (Deployment)
Giai đoạn bảo trì (Maintenance)
3.3.3 Huấn luyện mô hình
Thích nghi tốt với như뀃ng nhóm linh hoạt
Áp đặt một tổ chức có kết cấu chặt ch^
Cho phép như뀃ng thay đổi thiết kế sớm
Thích hợp cho như뀃ng dự án theo hướng đến mốc
3.3 Thực nghiệm
3.4.1 Đánh giá định lượng
Giao diện đơn giản, da dàng sư뀉 dụng
Sư뀉 dụng code tối giản, nggn gọn
3.4.2 Phân tích định tính
Màn hình hiển thị cơ bản:
Trang 13Chức năng đăng kí:
Trang 14Chức năng kích hoạt tài khoản :
Chức năng đăng nhập:
Trang 15Chức năng tìm kiếm thông tin tài khoản:
Trang 16Chức năng thay đổi mật khẩu:
Chức năng đăng xuất :
Trang 17CHƯƠNG IV: KẾT LUẬN
4.1 Kết luận
Sau mô Ut thời gian làm viê Uc chng nhau, nhóm đX đạt được các mục tiêu
đề ra :
Xây dựng và hoàn thiê U n các tính năng cVa tài khoản: Đăng k礃Ā, Đăng nhâ Up, Đăng xuất
Xác nhâ Un và tìm kiếm tài khoản, đổi mâ Ut khẩu người dhng
Thiết lâ Up file text để lưu trư뀃 thông tin tài khoản người dhng
4.2 Hướng phát triển
Trang 18Các thiếu sót tồn tại: Hê U thống cin khá đơn giản, chưa có giao diê Un cụ thể và chưa tối ưu với người dhng
夃Ā tươꄉng trong tương lai: Nhóm s^ thiết lâ Up mô Ut giao diê Un để cho thuâ Un tiê Un đối với người dhng
Ngoài ra nhóm dự kiến thêm mô Ut số tính năng như xóa tài khoản người dhng, lịch sư뀉 hoạt đô Ung cVa tài khoản
4.3 Kiến nghị và đề xuất
4.3.1 Đối với bài tập lớn
Với bài tâ Up lớn nhóm em ngh] cdn phải đa dạng hơn các chV đề, có như뀃ng gợi 礃Ā phh hợp với tư뀀ng chV đề
Có thể kết hợp với như뀃ng kiến thức trong quá trình giảng dạy để đưa
ra như뀃ng chV đề phh hợp gi甃Āp sinh viên hình dung r„ hơn
4.3.2 Đối với môn học
Trong quá trình học tâ Up r…n luyê Un, nhóm nhâ Un thấy cô dạy da hiểu và nhiê Ut tình,bài giảng cVa cô chi tiết và lấy ví dụ c[ng rất cụ thể
Vâ Uy nên nhóm không có bất k† đề xuất nào với môn học
Tài liệu tham khảo
https://itsourcecode.com/free-projects/c-projects/bank-management-system-in-c-with-source-code/
https://fresh2refresh.com/c-programming/c-programs/c-code-for-bank-application/
https://github.com/AlgolRhythm/C-Bank-Management-Program/blob/master/bank
%20management%20system.c
https://www.binarytides.com/code-a-simple-socket-client-class-in-c/