HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
PHÁT TRIỂN PHẦN MỀM TRONG
THẺ THÔNG MINH
Đề tài:
XÂY DỰNG THẺ CĂN CƯỚC CÔNG DÂN
Giảng viên hướng dẫn: ThS.
Sinh viên thực hiện:
Nhóm 10
Hà Nội, 5-2022
1
2
LỜI NÓI ĐẦU
Xã hội ngày càng phát triển, các thiết bị thông minh ra đời ngày càng nhiều. Đặc
biệt phải kể đến là những chiếc thẻ thông minh (Smart card). Kèm theo đó là sự phát
triển của cơng nghệ bán dẫn cho phép các nhà sản xuất chip tạo ra những con chip hay
thẻ thông minh ngày càng nhỏ gọn cùng với sức mạnh tính tốn cao. Tuy nhiên việc có
q nhiều nhà sản xuất chip, công việc phát triển ứng dụng cho thẻ thơng minh gặp
khó khăn về sự tương thích. Do đó nhu cầu về một nền tảng chung bên trong chip
được đặt ra, công nghệ JavaCard được phát triển để phục vụ mục đích này. Với việc
tạo ra một môi trường ảo chung trên tất cả các hệ điều hành hỗ trợ JavaCard, công
nghệ này đã giúp cho việc phát triển ứng dụng chip trở nên dễ dàng giúp tiết kiệm thời
gian nghiên cứu phát triển.
Hiện nay, thư viện tại các trường Đại học, Cao đẳng đều là thư viện đóng. Tại
mỗi phịng Thư viện để phải có nhân viên trực để quản lý sinh viên. Vì vậy, thẻ thư
viện thơng minh hình thành mở phục vụ sinh viên ngày càng trở nên cần thiết giảm bớt
sức lao động của người quản lý. Với sự phát triển mạnh mẽ hiện nay về công nghệ
việc xây dựng hệ thống thẻ thư viện mở sẽ trở nên dễ dàng. Tuy nhiên, vấn đề chung
của các khi vận hành những hệ thống này là về mặt chi phí và tính ổn định khi sử
dụng. Dưới sự hướng dẫn của cơ Cao Thanh Vinh nhóm chúng em đã chọn đề tài
“Xây dựng thẻ thư viện sử dụng Smart Card”. Hệ thống mượn trả sách giờ đây sẽ sử
dụng những chiếc thẻ từ và máy đọc thẻ, thơng tin của người dùng vẫn sẽ được mã hố
và ẩn vào trong thẻ. Chỉ khi nào biết được mã PIN thì mới có thể xem được thơng tin.
Điều này giúp vẫn đảm bảo được tính bảo mật thơng tin người dung của hệ thống. Do
hạn chế về mặt kiến thức nên khơng thể tránh khỏi sai sót trong q trình làm báo cáo,
nhóm chúng em rất mong được sự giúp đỡ và góp ý của cơ và các bạn.
Chúng em xin chân thành cảm ơn!
I
LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời cảm ơn sâu sắc nhất đến cô ThS. Cao Thanh Vinh
đã hướng dẫn, định hướng cho nhóm chúng em, đồng thời, cũng đã cung cấp nhiều tài
liệu và tạo điều kiện thuận lợi trong suốt quá trình học tập và nghiên cứu để em có thể
hồn thành bài tập lớn này.
Nhóm chúng em xin chân thành cảm ơn đến các thầy, cô trong Khoa Công nghệ
thông tin, Trường Học Viện Kỹ Thuật Mật Mã cùng với ban lãnh đạo nhà trường đã
nhiệt tình giảng dạy, cung cấp những trang thiết bị tốt nhất và truyền đạt những kiến
thức, kinh nghiệm quý giá trong suốt quá trình học tập rèn luyện tại trường.
Chúng em rất mong nhận được những sự góp ý quý báu của thầy cô, bạn bè.
Một lần nữa xin gửi lời cảm ơn chân thành và sâu sắc.
I
MỤC LỤC
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT........................................................................i
DANH MỤC HÌNH VẼ............................................................................................................ii
DANH MỤC BẢNG BIỂU......................................................................................................iii
CHƯƠNG 1. PHÂN TÍCH THIẾT KẾ HỆ THỐNG............................................................1
1.1 Phân tích bài tốn...........................................................................................................1
1.1.1 Mơ tả bài tốn...........................................................................................................1
1.1.2 Các chức năng..........................................................................................................1
1.1.3 Mục tiêu đạt được.....................................................................................................1
1.2 Phân tích hệ thống..........................................................................................................2
1.2.1 Sơ đồ phân rã chức năng..........................................................................................2
1.2.2 Biểu đồ ca sử dụng tổng quát...................................................................................2
1.2.3 Biểu đồ ca sử dụng chi tiết.......................................................................................3
1.2.4 Đặc tả........................................................................................................................4
1.2.5 Biểu đồ hoạt động....................................................................................................8
1.3 Thiết kế hệ thống..........................................................................................................13
CHƯƠNG 2. CÀI ĐẶT VÀ THỰC NGHIỆM.....................................................................14
2.1 Khởi tạo Project............................................................................................................14
2.2 Thiết kế hoàn thiện chức năng về pin.........................................................................14
2.3 Thiết kế giao diện chức năng kết nối Applet với Netbean..........................................14
2.4 Hồn thiện module khởi tạo, cập nhập thơng tin.......................................................14
2.5 Phát triển module..........................................................................................................14
2.6 Hoàn thiện project và các tài liệu liên quan................................................................14
KẾT LUẬN..............................................................................................................................15
Kết luận chung....................................................................................................................15
I
Hướng phát triển................................................................................................................15
Kiến nghị và đề xuất...........................................................................................................15
TÀI LIỆU THAM KHẢO......................................................................................................16
PHỤ LỤC...................................................................................................................................1
II
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT
i
DANH MỤC HÌNH VẼ
Hình 1. 1 Sơ đồ phân rã chức năng................................................................................2
Hình 1. 2 Biểu đồ Usecase tổng quát.............................................................................3
Hình 1. 3 Biểu đồ Usecase quản lý thẻ..........................................................................3
Hình 1. 4 Biểu đồ Usecase quản lý thẻ..........................................................................4
Hình 1. 5 Biểu đồ hoạt động tổng quát..........................................................................8
Hình 1. 6 Biểu đồ hoạt động chức năng cập nhật thơng tin............................................9
Hình 1. 7 Biểu đồ hoạt động chức năng nạp tiền vào thẻ.............................................10
Hình 1. 8 Biểu đồ hoạt động chức năng thanh tốn hóa đơn........................................11
Hình 1. 9 Biểu đồ hoạt động chức năng đổi mã PIN....................................................12
ii
DANH MỤC BẢNG BIỂU
Bảng 1. 1 Đặc tả chức năng đăng nhập..........................................................................4
Bảng 1. 2 Đặc tả chức năng cập nhật thông tin..............................................................5
Bảng 1. 3 Đặc tả chức năng nạp tiền vào thẻ.................................................................6
Bảng 1. 4 Đặc tả chức năng thanh tốn hóa đơn............................................................6
Bảng 1. 5 Đặc tả chức năng đổi mã PIN........................................................................7
iii
CHƯƠNG 1. PHÂN TÍCH THIẾT
KẾ HỆ THỐNG
1.1 Phân tích bài tốn
Bước đầu để hiểu rõ về bài toán cần giải quyết và để giảm các vấn đề phát sinh
trong quá trình xây dựng hệ thống chúng ta cần phân tích bài tốn một cách cụ thể.
1.1.1 Mơ tả bài tốn
Thẻ căn cước cơng dân có cơ chế xác thực bằng mã PIN, mã PIN có thể thay
đổi, nếu nhập sai quá 3 lần thẻ sẽ bị khóa cho đến khi được mở lại. Thẻ có chức năng
lưu thơng tin như: Số căn cước cơng dân, họ tên, ngày sinh, giới tính, ảnh , vân tay…
vv và chức năng nạp tiền , thanh tốn hóa đơn. Các thơng tin trước khi lưu phải được
mã hóa (sử dụng AES với khóa được tạo ra từ mã PIN). Có thể thay đổi thơng tin
người dùng.
1.1.2 Các chức năng
Cơ chế xác thực thể thẻ bằng mã pin – VERIFY PIN
Thay đổi mã PIN
Giới hạn số lần sai khi nhập mã pin ( 3 lần và có cảnh bảo số lần nhập)
Lưu thông tin chủ thẻ
Cho phép thay đổi thông tin cá nhân chủ thẻ ( những thông tin cho phép sửa
đổi)
Mã hố thơng tin trước khi lưu xuống thẻ - sử dụng khoá AES
Chức năng nạp tiền
Chức năng thanh tốn hóa đơn
Xây dựng phần mềm giao tiếp với máy tính
1.1.3 Mục tiêu đạt được
Sản phẩm sau khi hoàn thiện cần đáp ứng đủ các yêu cầu sau:
Tạo phần mềm cho thẻ (Applet) và Phần mềm giao tiếp với người dùng (Java
Swing - Netbeans).
1
Kết nối thẻ với Phần mềm.
Đăng nhập bằng mã PIN, nhập sai 3 lần sẽ bị khoá thẻ.
Có chức năng mượn trả sách, xác thực bằng khố cơng khai
Đổi mã PIN
Lưu thông tin người dùng
Mã hoá AES: sử dụng trong lưu thơng tin - mã hố tên, ngày sinh, giới tính....
rồi lưu xuống thẻ, khi đọc thông tin lên sẽ giải mã và show ra màn hình.
1.2 Phân tích hệ thống
1.2.1 Sơ đồ phân rã chức năng
Quản lý thẻ Khóa thẻ
Mở khóa thẻ
Thẻ Căn Cước Cơng Dân
Khởi tạo dữ liệu thẻ
Đổi thông tin
Quản lý dữ liệu thẻ Đổi mã pin
Thanh tốn hóa đơn
Nạp tiền vào thẻ
Đăng xuất
Hình 1. 1 Sơ đồ phân rã chức năng
2
1.2.2 Biểu đồ ca sử dụng tổng quát
Biểu đồ usecase tổng quát gồm 2 usecase chính:
Quản lý thẻ
Quản lý dữ liệu thẻ
Hình 1. 2 Biểu đồ Usecase tổng quát
1.2.3 Biểu đồ ca sử dụng chi tiết
1.2.3.1 Biểu đồ ca sử dụng quản lý thẻ
Biểu đồ ca sử dụng quản lý thẻ gồm 2 usecase:
Khóa thẻ
Mở khóa thẻ
3
Hình 1. 3 Biểu đồ Usecase quản lý thẻ
1.2.3.2 Biểu đồ ca sử dụng quản lý dữ liệu thẻ
Biểu đồ ca sử dụng quản lý dữ liệu thẻ gồm các usecase:
Khởi tạo dữ liệu thẻ
Đổi thông tin
Đổi mã PIN
Thanh tốn hóa đơn
Nạp tiền vào thẻ
Đăng xuất
4
Hình 1. 4 Biểu đồ Usecase quản lý thẻ
1.2.4 Đặc tả
Use Case 1.2.4.1 Đăng nhập
Bảng 1. 1 Đặc tả chức năng đăng nhập
Đăng nhập
Actor User
Brief Description Khi User chọn chức năng đăng nhập hệ thống
Pre-conditions Kết nối thẻ
Basic Flows 1. Người dùng chọn đăng nhập hệ thống
2. Hệ thống hiển thị màn hình đăng nhập
3. Hệ thống yêu cầu người dùng nhập mã pin
4. Kiểm tra mã pin
5
5. Hệ thống lưu trữ thông tin rồi trả về kết quả đăng nhập
6. Nếu thành công hệ thống hiển thị màn hình đăng nhập thành
công
Alternative Flows Mã pin không hợp lệ: Khi người dùng nhập sai mã pin
- Hệ thống hiển thị màn hình đăng nhập để người dùng nhập lại mã
pin kèm theo thông báo: “Mã pin sai, mã pin nhập sai quá 3 lần thì
tài khoản sẽ bị khóa”
- Quay lại bước đăng nhập
1.2.4.2 Cập nhật thông tin
Use Case Bảng 1. 2 Đặc tả chức năng cập nhật thông tin
Cập nhật thông tin
Actor User
Brief Description User chọn chức năng cập nhật thông tin
Pre-conditions Đăng nhập thành công
Basic Flows 1. Người dùng chọn chức năng thay đổi thông tin
2. Hệ thống hiển thị màn hình thay đổi thông tin
3. Người dùng nhập các thông tin muốn thay đổi gồm: họ tên,
ngày sinh, địa chỉ, ảnh, vân tay, giới tính, quốc tịch.
4. Hệ thống lưu trữ thông tin rồi trả về kết quả
5. Nếu thành công hệ thống hiển thị màn hình thay đổi thơng tin
thành công
Alternative Flows Thay đổi thông tin không hợp lệ: Khi người dùng nhập thông tin,
hình ảnh sai
6
Use Case 1.2.4.3 Nạp tiền vào thẻ
Actor Bảng 1. 3 Đặc tả chức năng nạp tiền vào thẻ
Brief Description Nạp tiền vào thẻ
User
Chức năng nạp tiền vào thẻ
Pre-conditions Đăng nhập thành công
Basic Flows
1. Người dùng chọn chức năng nạp tiền vào thẻ
Alternative Flows 2. Hệ thống hiển thị giao diện nạp tiền gồm số dư và số tiền cần
nhập để nạp tiền.
3. Người dùng nhập số tiền cần nạp và chọn button “Nạp tiền”
4. Hệ thống lưu trữ thông tin rồi trả về kết quả
5. Nếu thành công hệ thống hiển thị màn hình nạp tiền thành
công và cập nhật số dư tài khoản.
6. Kết thúc Usecase
1.2.4.4 Thanh toán hóa đơn
Use Case Bảng 1. 4 Đặc tả chức năng thanh tốn hóa đơn
Thanh tốn hóa đơn
Actor User
Brief Description Chức năng thanh tốn hóa đơn
Pre-conditions Đăng nhập thành công
Basic Flows 1. Người dùng chọn chức năng thanh tốn hóa đơn
2. Hệ thống hiển thị giao diện thanh tốn hóa đơn gồm: số dư, số
tiền thanh tốn hóa đơn và mã hóa đơn.
3. Người dùng nhập mã hóa đơn và số tiền cần thanh tốn.
7
Alternative Flows 4. Hệ thống kiểm tra thông tin
5. Hệ thống lưu trữ thông tin rồi trả về kết quả
6. Nếu thành cơng hệ thống hiển thị thanh tốn thành công và
cập nhật lại số dư tài khoản
7. Kết thúc Usecase
Nếu số dư tài khoản ít hơn số tiền thanh tốn hóa đơn sẽ hiển thị
thông báo “ số dư không đủ”.
1.2.4.5 Đổi mã pin
Use Case Bảng 1. 5 Đặc tả chức năng đổi mã PIN
Đổi mã PIN
Actor User
Brief Description Chức năng đổi mã PIN
Pre-conditions Đăng nhập thành công
Basic Flows 1. Người dùng chọn đổi mã PIN
2. Hệ thống hiển thị màn hình đổi mã PIN
3. Người dùng nhập mã PIN cũ , mã PIN mới và xác nhận lại
mã PIN mới
4. Sau khi nhập người dùng chọn “Xác nhận”.
5. Hệ thống kiểm tra xem nếu mã PIN cũ đã nhập đúng, mã
PIN mới và xác nhận mã PIN mới trùng nhau kèm khác mã
PIN cũ thì thành cơng. Ngược lại nếu sai thì hiển thị thơng
báo.
6. Nếu thành cơng hệ thống hiển thị màn hình đổi mã PIN
thành công
7. Kết thúc Usecase
Alternative Flows Mã PIN không hợp lệ: Khi người dùng nhập sai mã PIN cũ hoặc mã
PIN mới trùng mã PIN cũ
8
- Hệ thống hiển thị màn hình đổi mã PIN để người dùng nhập lại
thông tin kèm theo thông báo mã PIN đã tồn tại
- Quay lại bước đổi mã PIN
9
1.2.5 Biểu đồ hoạt động
Hình 1. 5 Biểu đồ hoạt động tổng quát
10
1.2.5.1 Cập nhật thơng tin
Hình 1. 6 Biểu đồ hoạt động chức năng cập nhật thông tin
11