Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
1,09 MB
Nội dung
ĐỀ TÀI: Tìm hiểu đặc tả u cầu, phân tích thiết kế hệ thống thiết kế số trường hợp kiểm thử cho Hệ thống rút tiền ATM Hệ thống rút tiền ATM | IT4080 Mục lục PHẦN I GIỚI THIỆU ĐỀ TÀI Tên đề tài Mục đích 3 Mô tả .3 Chi tiết( Nhân sự, thời gian, giá thành) Rủi ro PHẦN II ĐẶC TẢ Giới thiệu hệ thống Đặc tả yêu cầu hệ thống 2.1 Đặc tả chức với Mơ hình phân cấp chức 2.2 Đặc tả chức với Biểu đồ luồng liệu .6 2.3 Đặc tả liệu với Mơ hình thực thể liên kết .9 PHẦN III PHÂN TÍCH THIẾT KẾ Xác định tác nhân Use Case 10 Các biểu đồ phân tích ( Thiết kế Visual Studio) 10 2.1 Biểu đồ Use Case mức khung nhìn 10 2.2 Biểu đồ Use Case 11 2.3 Biểu đồ lớp hệ thống 11 2.4 Biểu đồ hoạt động cho luông sử dụng .12 2.5 Biểu đồ 14 PHẦN IV CODE 18 PHẦN V KIỂM THỬ 20 Kiểm thử hộp đen .20 Kiểm thử hộp trắng 21 Page of 27 Hệ thống rút tiền ATM | IT4080 PHẦN I GIỚI THIỆU ĐỀ TÀI Tên đề tài Tìm hiểu đặc tả yêu cầu, phân tích thiết kế hệ thống thiết kế sô trường hợp kiểm thử cho Hệ thống rút tiền ATM Mục đích Áp dụng kiến thức môn học Nhập môn công nghệ phần mềm để tìm hiểu theo nhóm hệ thống rút tiền ATM theo khía cạnh: Đặc tả yêu cầu Phân tích thiết kế hệ thống Thiết kế trường hợp kiểm thử cho hệ thống Mơ tả Hệ thống rút tiền ATM có chức sau: – Rút tiền, kiểm tra tài khoản: Đây chức nhất, người dùng cần ghé ATM thực thao tác đơn giản để có khoản tiền mặt từ tài khoản thẻ Mọi người không cần phải mang theo tiền mặt nhiều để tránh mát mà mang theo khoản vừa đủ, cần có ATM – Chuyển khoản: Các khách hàng ngân hàng chuyển khoản cho thơng qua hệ thống ATM – Thanh tốn hóa đơn, dịch vụ: Khơng ATM cịn tốn thẻ tín dụng, hóa đơn điện thoại di động, phí bảo hiểm… – Các chức cao cấp khác: + Rút tiền khơng cần thẻ Tính giúp bạn đáp ứng nhu cầu cấp thiết tiền mặt không mang thẻ theo bên + Gửi tiết kiệm online qua máy ATM + Đăng ký dịch vụ online như: vay vốn, dịch vụ đăng ký thông tin thay đổi số dư tài khoản qua điện thoại email dịch vụ giao dịch ngân hàng qua tin nhắn điện thoại di động Chi tiết( Nhân sự, thời gian, giá thành) -Số người tham gia : người -Thời gian hoàn thành: tháng -Gía thành: 50 triệu đồng Rủi ro *Các mối ràng buộc liên kết: -Thời gian thực -Thiếu thời gian cho kiểm định -Thiếu ngân sách thực -Nhân lực bị thay đổi *Kĩ thuật phát triển phần mềm: Page of 27 Hệ thống rút tiền ATM | IT4080 -Yêu cầu khó hiểu - Khơng đủ, khơng rõ ràng, văn phong trừu tượng, thiếu liệu -Thiết kế không tuân thủ tiêu chuẩn - Thay đổi nhiều thường xuyên (hằng ngày, tuần) - Thay đổi sát lúc hoàn thành dự án - Tài liệu yêu cầu đồ sộ, nhiều người tham gia -Ở khâu tích hợp kiểm định chứa nhiều lỗi -Kiểm thử mức đơn vị nghèo ,rễ gây nhiều lỗi tiềm tang -Thiếu tính ổn định mơi trường vận hành thực thiếu bảo mật liệu *Môi trường phát triển dự án: -Nhân viên thiếu kinh nghiệm -Rào cản ngôn ngữ -Vi phạm quyền với phần mềm khác -Công nghệ thay đổi -Các nhân viên không quen môi trường làm việc -Nhân viên khơng có tinh thần làm việc, hợp tác nhân viên -Các xung đột nhân viên * Kiểm soát rủi ro: -Tránh né: Dùng đường khác để tránh rủi ro Chẳng hạn: Thay đổi phương pháp , công cụ thực hiện, thay đổi người Thương lượng với khách hang để thay đổi muc tiêu -Chuyển giao: Giảm thiểu rủi ro cách chia sẻ tác hại chúng xảy ra: Đề nghị khách hang chấp nhận chia sẻ rủi ro Báo cáo ban hành lãnh đạo để chấp nhận tác động chi phí để đối phó rủi ro -Giảm nhẹ: Thực thi biện pháp để giảm thiểu khả xảy rủi ro giảm thiểu chi phí khắc phục rủi ro: Cảnh báo triệt tiêu yếu tố làm rủi ro xuất Điều chỉnh yếu tố có liên quan theo dây chuyền để rủi ro xảy có tác động -Chấp nhận: Đành chấp nhận “sống chung” với rủi ro trường hợp chi phí loại bỏ, phịng tránh, làm nhẹ rủi ro lớn (lớn chi phí khắc phục tác hại), tác hại rủi ro xảy nhỏ hay thấp Kế hoạch đối phó là: Thu thập mua thông tin để có kế hoạch kiểm sốt tốt Lập kế hoạch khắc phục tác hại rủi ro xảy Page of 27 Hệ thống rút tiền ATM | IT4080 PHẦN II ĐẶC TẢ Giới thiệu hệ thống Hệ thống rút tiền tự động (ATM) Khách hàng tương tác với hệ thống qua điều khiển hình hình nhân viên điều hành có quyền tắt mở hệ thống Máy rút tiền giao tiếp với máy tính ngân hàng liên kết giao tiếp thích hợp Khi bắt đầu giao dịch Khách hàng phải đưa thẻ ATM vào khe thẻ nhập vào mã PIN - Các thông tin gửi trực tiếp đến ngân hàng sau khác hhàng thực nhiều giao dịch Thẻ giữ lại máy khách hàng kết thúc giao dịch thẻ trả lại cho khách hàng Những dịch vụ mà khách hàng cung cấp: • Khách hàng rút tiền mặt từ tài khoản thích hợp liên kết đến thẻ Có thể gửi tiền mặt đến tài khoản có liên kết với thẻ • Có thể chuyển tiền đến tài khoản có liên kết với thẻ • Các giao dịch cần phải có xác minh ngân hàng • Có thể xem thơng tin số dư tài khoản • Với khách hàng dùng thẻ VISA tốn điện tử nơi chấp nhận thẻ Khách hàng hủy giao dịch diễn cách ấn Hủy bỏ thay đáp ứng u cầu từ máy Mọi thơng tin giao dịch gửi trực tiếp đến ngân hàng.Trong trường hợp khách hàng nhập vào sai mã PIN hện thống yêu cầu khách hàng nhập lại mã PIN trước tiến hành giao dịch Nếu khách hàng nhập mã PIN sai lần thẻ bị giữ lại máy khách hàng phải liên hệ trực tiếp đến ngân hàng để lấy lại thẻ Khi máy hiển thị thông báo chi tiết lỗi giao dịch yêu cầu khách hàng dừng giao dịch thực giao dịch khác Khi kết thúc phiên giao dịch khách nhận biên lai gồm thông tin chi tiết giao dịch gồm :Thời gian, địa điểm giao dịch, loại giao dịch ,số dư tài khoản Chỉ có Nhân viên ngân hàng có quyền khởi động tắt máy ATM để kiểm tra bảo dưỡng định kỳ Máy tắt khơng có giao dịch khách hàng Nhân viên kiểm tra lượng tiền cịn lại máy hết nạp thêm Sau q trình kiểm tra hồn tất NV khởi động lại máy Toàn phiên giao dịch ghi lại để thuận lợi việc khắc phục cố giao dịch xảy lỗi phần cứng máy.Ghi lúc máy khởi động lúc máy bị tắt gửi đến ngân hàng Mã số thẻ lượng tiền rút lưu lại lý bảo mật nên Mã PIN không lưu Page of 27 Hệ thống rút tiền ATM | IT4080 Đặc tả yêu cầu hệ thống Dùng phương thức đặc tả hình thức: viết tập kí pháp đồ họa lưu đồ để đặc tả yêu cầu hệ thống Cụ thể mơ hình biểu đồ sau: 2.1 Đặc tả chức với Mơ hình phân cấp chức Quản lí hệ thống ATM Quản lí thẻ Quản lí giao dịch Tạo thẻ Kiểm tra tính hợp lệ Hủy thẻ Đổi mã PIN Quản lí tài khoản Báo cáo Quản lí KH Tạo tài khoản Báo cáoTT thẻ Nhập TT KH Hủy tài khoản Báo cáo TT TK Sửa TT KH Sửa thông tin TK Báo cáo giao dịch Xóa TT KH Gửi tiền Sửa thơng tin thẻ Rút tiền Chuyển khoản Báo cáo TT KH Vấn tin TK Lập biên lai 2.2 Đặc tả chức với Biểu đồ luồng liệu Page of 27 Hệ thống rút tiền ATM | IT4080 Chức Quản lí tài khoản Chức Quản lí thẻ Chức Quản lí giao dịch Page of 27 Hệ thống rút tiền ATM | IT4080 Chức Báo cáo Chức Quản lí khách hàng Page of 27 Hệ thống rút tiền ATM | IT4080 2.3 Đặc tả liệu với Mơ hình thực thể liên kết Khách hàng maKH C ó ó 1 Tài khoản maKH Ngaysinh soDu soCMT C ó maTK tenKH maThe Thẻ 1 n PIN maTK C ó trangthai maLoaiT he hieuLuc C ó ó TrangTh Tel diachi Loại Giao dịch maGD tenGD n 1 n Thu ộc Biên Lai soGD mathe tenGD n Loại thẻ maLoaithe tenLoaithe luotGD sotienGD moTa lePhi vat tienGD moTa Page of 27 Hệ thống rút tiền ATM | IT4080 PHẦN III PHÂN TÍCH THIẾT KẾ Xác định tác nhân Use Case Các tác nhân Use Case Các tác nhân Khách hàng Nhân viên ngân hàng Ngân hàng Các Use Case Đổi mã PIN Đăng nhập Lỗi đăng nhập Chuyển khoản Vấn tin tài khoản Gửi tiền Rút tiền mặt Khởi động hệ thống Tắt hệ thống Chuyển khoản Gửi tiền Rút tiền mặt Các biểu đồ phân tích( Thiết kế Visual Studio) 2.1 Biểu đồ Use Case mức khung nhìn Page 10 of 27 Hệ thống rút tiền ATM | IT4080 2.4.4 Biểu đồ hoạt động Gửi tiền Page 13 of 27 Hệ thống rút tiền ATM | IT4080 2.4.5 Biểu đồ hoạt động Rút tiền 2.5 Biểu đồ 2.5.1 Use Case Đăng nhập hệ thống : KhachHang : W_DangNhap 1: DuaTheVaoMay : QL_DangNhap : W_Main : Tai Khoan 2: YeuCauChonNgonNgu 3: ChonNgonNgu 4: YeuCauMaPIN 5: NhapMaPIN 6: KiemTraMaPIN( ) 7: KiemTraMaPIN( ) 8: tra loi 9: tra loi 10: Hien Thi( ) Page 14 of 27 Hệ thống rút tiền ATM | IT4080 2.5.2 Use Case Đổi mã PIN : KhachHang : W_DangNhap : W_Main : W_DoiMaPIN : Tai Khoan : QL_DoiMaPIN 1: DangNhap 2: KiemTraDN( ) 3: Hien Thi( ) 4: YeuCauChonViec 5: ChonDoiMaPIN 6: Hien Thi( ) 7: Yeu cau nguoi dung nhap ma PIN cu 8: Nhap vap ma PIN cu 9: LayTaiKhoan( ) 10: KiemTraMaPIN( ) 11: Tra loi 12: Tra loi 13: Hien Thi( ) 14: Nhap so cuoi CMND 15: LayTaiKhoan( ) 16: LayTaiKhoan( ) 17: Tra loi 18: Tra loi 19: Hien Thi( ) 20: Nhap vao ma PIN moi 21: Yeu cau nhap lai ma PIN 22: Nhap lai ma PIN 23: Xac Nhan Ma PIN( ) 24: LayTaiKhoan( ) 25: KiemTraMaPIN( ) 26: Tra loi 27: Tra loi 28: Hien Thi( ) 2.5.3 Use Case Gửi tiền Page 15 of 27 Hệ thống rút tiền ATM | IT4080 : KhachHang : W_Main : W_QLGiaoDich : QuanLyGuiTien : Ngan Hang : Tai Khoan : BienLai 1: Dua the vao may 2: Y/c chon ngon ngu 3: Lua chon ngon ngu 4: Y/c nhap ma PIN 5: Nhap Ma PIN 6: KiemTraMaPIN( ) 7: Hien thi cac loai giao dich() 8: Chon Dich vu khac 9: Hien thi cac loai dich vu() 10: Chon dich vu gui tien co ky han 11: Hien thi cac ky han gui tien 12: Chon ky han gui tien 13: Y/c nhap so tien can gui 14: Chon hoac nhap so tien can gui 15: Hien thi lai suat tuong ung 16: y/c xac nhan giao dich 17: Kiem tra TK va xac nhan gui tien 18: Lay TT TK( ) 19: Lay TT TK( ) 20: Cap Nhat TK() 21: Ket qua() 22: Ket qua( ) 23: Ket qua() 24: Ket qua( ) 25: Hien thi thong bao cong 26: Tao HD() 27: Luu HD( ) 28: Luu HD( ) 29: Ket qua( ) 30: ket qua() 31: Ket qua( ) 32: In HD() 33: KH nhan HD() Page 16 of 27 Hệ thống rút tiền ATM | IT4080 2.5.4 Use Case Rút tiền thẻ ATM : KhachHang : W_Main 1: Dua the vao may : W_QLGiaoDich : QuanLyRutTien : Ngan Hang : Tai Khoan : BienLai 2: yeu cau chon ngon ngu 3: Chon ngon ngu 4: y/c nhap ma PIN 5: Nhap ma PIN 6: KiemTra Ma Pin( ) 7: hien thi loai giao dich( ) 8: Chon Giao dich rut tien 9: Hien thi mac dinh so tien rut 10: Chon hoac nhap so tien muon rut 11: Lay TT TK( ) 12: lay TT TK( ) 13: Cap Nhat TK() 14: ket qua 15: ket qua 16: ket qua 17: Ket qua( ) 18: Tao HD() 19: luu HD() 20: Luu HD( ) 21: ket Qua 22: ket qua 23: Day tien va HD khe( ) 24: KH nhan tien va HD 25: day the khe( ) 26: KH nhan lai the Page 17 of 27 Hệ thống rút tiền ATM | IT4080 PHẦN IV CODE package atmimprove; public class Account { private int accountNo; private String password; private double amount; private String customerName; //Constructor public Account(){ accountNo=0; password=""; amount=0; customerName=""; } //Ham set de thay doi gia tri cho thuoc tinh public void setAccountNo(int accNo){ this.accountNo =accNo; } //Ham get de lay gia tri cua thuoc tinh public int getAccountNo(){ return this.accountNo; } public void setPassword(String pass){ this.password =pass; } //Ham get de lay gia tri cua thuoc tinh public String getPassword(){ return this.password; } public void setAmount(double amount){ this.amount= amount; } //Ham get de lay gia tri cua thuoc tinh public double getAmount(){ return this.amount; } public void setCustomerName(String custName){ this.customerName= custName; } //Ham get de lay gia tri cua thuoc tinh public String getCustomerName(){ return this.customerName; } public boolean checkLogin(int accNo, String pass){ Page 18 of 27 Hệ thống rút tiền ATM | IT4080 // Kiem tra login voi tai khoan return accNo==accountNo && pass.equals(password); } public boolean withdraw(double amount){ // Rut tien khoi tai khoan if(amount < this.amount){ this.amount -=amount; return true; }else return false; } public boolean depost(double amount){ // Gui tien vao tai khoan if(amount >0){ this.amount +=amount; return true; }else return false; } } Page 19 of 27 Hệ thống rút tiền ATM | IT4080 PHẦN V KIỂM THỬ Kiểm thử hộp đen Categ ory Test Case ID Test Case Description Test Procedures Steps to Perform Test Case Step Expecte Expected Result d Result True Trả số tiền cần True rút cho True user True Thông báo lỗi True False Status Rút tiền 01 Rút số tiền > < số dư, < tiền ATM Số tiền >0,tiền ATM Số tiền>0,>số dư Số tiền = Nhập số tiền >0, < số dư So sánh với số dư So sánh với số tiền ATM Nhập số tiền >0, < số dư So sánh với số dư So sánh với số tiền ATM Nhập số tiền >0, >số dư So sánh với số dư True False Thông báo lỗi Failed Nhập số tiền 0, 0, >số dư Nhập mã thẻ,Số tiền=0 Nhập sai mã thẻ Nhập mật cũ, Nhập mã thẻ cần chuyển Nhập số tiền Kiểm tra số dư True True True Nhập mã thẻ cần chuyển Nhập số tiền Kiểm tra số dư True True False Thông báo lỗi Thông báo thành công Thông báo lỗi Nhập mã thẻ cần chuyển Nhập số tiền True True Thông báo lỗi Failed Nhập mã thẻ False Failed Nhập mật cũ True 10 Nhập mật cũ, sai Nhập mật cũ, False Thông báo lỗi Thông báo thành công Thông báo lỗi 11 Nhập sai mật cũ Nhập mật cũ, False Thông báo lỗi Failed 02 03 04 Chuy ển tiền 05 06 07 08 Đổi mật 09 Pass Failed Pass Failed Pass Failed Page 20 of 27 Hệ thống rút tiền ATM | IT4080 Kiểm thử hộp trắng Xét đoạn code: public void execute() { // loop until cash is dispensed or the user cancels { // obtain a chosen withdrawal amount from the user (2) amount = displayMenuOfAmounts(); (3) if ( amount != CANCELED ) { // get available balance of account involved (4) availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account (5)if ( amount