TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ────────
BÀI TẬP LỚN
PROJECT 1 Báo cáo tự kiểm thử chương trình Quản lí chi tiêu gia đình
Giáo viên hướng dẫn: TS. Vũ Thị Hương Giang ThS. Nguyễn Ngọc Dũng
20111568 20111581 20111363
Sinh viên thực hiện: Lê Trung Hiếu Đỗ Đăng Hiển Phạm Văn Đại
1
1.1 1.2 1.3 1.4
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8
Mục lục 1 Thiết kế chương trình .................................................................................................. 3 Thiết kế CSDL .................................................................................................... 3 Thiết kế tầng nghiệp vụ....................................................................................... 4 Thiết kế giao diện................................................................................................ 5 Kết luận............................................................................................................. 11 2 Kiểm thử chương trình .............................................................................................. 11 Danh sách các chức năng cần có....................................................................... 11 Kiểm thử cho chức năng Login......................................................................... 11 Kiểm thử chức năng Add .................................................................................. 13 Kiểm thử chức năng Account ........................................................................... 14 Kiểm thử chức năng Project.............................................................................. 15 Kiểm thử cho chức năng Category ................................................................... 17 Kiểm thử cho chức năng Statictisc ................................................................... 18 Kết luận............................................................................................................. 19 3 Đánh giá báo cáo ....................................................................................................... 20
2
1 Thiết kế chương trình
1.1 Thiết kế CSDL
Chúng em đã thiết cơ sở dữ liệu cho chương trình xây dựng phần mềm quản lí chi tiêu gia đình gồm có các bảng: User, importing, import_type, exporting, export_type, share, state_project, project, project_contribute. Từ cơ sở dữ liệu đã cho nhóm đã xây dựng được các chức năng chính: Add(thêm giao dịch của user), Statistics (thống kê), Account(tài khoản), Category, Project. Việc thiết kế cơ sở dữ liệu đã bám sát với các chức năng đề ra của nhóm, và sử dụng thông tin trong các table một cách có hiệu quả. Trong quá trình làm về đề tài nhóm chúng em thấy có thể mở rộng nhiều chức năng cho bài làm(ví dụ như quản lí việc cho vay nơ của các thành viên trong gia đình, vay nợ là có lãi hay không có lãi ). Do đó CSDL của nhóm thiết kế cũng có nhiều hạn chế, chưa được chuẩn. Để xây dựng dữ liệu chuẩn phải trải qua thực tế bài làm và vấn đề yêu cầu gặp, như đã nêu vấn đề trên, thì CSDL của nhóm chúng em có thể thêm table borrow_lend với các trường dữ liệu liên qua để có thế thực hiện quản lí chức năng cho vay nợ của thành viên trong gia đình.
3
1.2 Thiết kế tầng nghiệp vụ
Menu chính của chương trình thiết kế lựa chọn các chức năng, và gồm có các table Account summary, Project today, Transaction today
Account summary: Tóm tắt về tổng thu, tổng chi, số dư Project today: Thông tin về dự án user đề xuất trong ngày Transaction today : Giao dịch thực hiện trong ngày Nhập thông tin giao dịch của cá nhân thông qua chức năng Add:
Nhập dữ liệu đầu vào Lựa chọn chia sẻ với người khác để thấy giao dịch(Ý tưởng từ facebok) Cập nhập dữ liệu vào CSDL Chức năng Category thêm , xóa , update các thông tin vào các trường Income, Expense, Project. Chưc năng chỉ admin có thể quản lí. Mỗi cá nhân có thể tạo các project, mọi người có thể tham gia, đây có thể coi là khoản mục chi chung của các thành viên trong gia đình Mọi người đề xuất dự án, những thành viên khác đông ý tham gia dự án thi đóng góp tiền. Người đề xuất dự án có quyền hủy dư án, khởi tạo dự án cập nhập CSDL Ngoài ra người dùng có thể xem các dự án theo bộ lọc (hoàn thành, gây quỹ, không hoàn thành, thời gian) Người dùng có thiết lập tài khoản Account
Cập nhập thông tin Admin có quyền xóa tài khoản người dùng Statistics là chức năng thống kê
Ta có thể thực hiện thống kê theo từng loại và theo nhóm income(thu nhập) và chi tiêu (expense). Ngoài ra ta còn có thể kết hợp với theo ngày hoặc tháng và năm để có được sự thống kê theo ý muốn. Một chức năng khác nữa ta có thể đưa ra biểu đồ cho sự thống kê vừa liệt kê với 2 button là Bar và Pie Ngoài ra người dùng còn thiết lập được bộ lọc dữ hiển thị một cách chi tiết trong chức năng Filter
Kết luân: Tầng nghiệp vụ do nhóm em xây dung đã bám sát so với việc tự thiết kế cơ sở dữ liệu. Chương trình còn thể mở rộng một số chức năng như xuất thông tin của mỗi người dùng và dự án ra bản PDF, hoặc còn có thể thực hiện chức năng nhắc người dùng về thu chi, và các dự án. Vậy chức năng nghiệp vụ là được chuẩn.
4
1.3 Thiết kế giao diện Giao diện login:
5
Gia diện menu chính của chương trình
Giao diện Add(thêm các khoản giao dịch thu chi của cá nhân)
6
Giao diện chức năng Statistics(Thống kê)
7
Giao diện chức năng Account:
8
Giao diện chức năng Category :
Giao diện chức năng Project(AddProject)
9
Giao diện chức năng Project(ViewProject)
10
1.4 Kết luận
Nhóm tự đánh giá giao diện thiết kế là tốt, và nhận thang điểm 8.5/10đ.
Qua giao diện đã thiết kế, chương trình do nhóm thực hiện đã sử dụng được toàn bộ thông tin liên quan trong việc xây dựng CSDL . Giao diện chương trình đã giúp người sử dụng có cái nhìn trực quan về chương trình và có các thao tác dễ dàng hơn với các trường dữ liệu. Một hạn chế của giao diện chương trình là chưa có nhiều hình ảnh đẹp và chưa được giống giao diện của các hệ điều hành phổ biến.
2 Kiểm thử chương trình
2.1 Danh sách các chức năng cần có
2.2 Kiểm thử cho chức năng Login input
output STT
1 Thông báo có lỗi Exception Kết quả OK lí Trường hợp nhập sai username hoặc passwod Xử chuẩn
Username = aaaa Password = bbbb
11
2 Thông báo có lỗi lí OK Trường hợp nhập sai username hoặc passwod Xử chuẩn
Username = bbbb Password = null
3 ok Vào menu chính của chương trình Không xử lí Trường đúng nhập hợp username hoặc passwod
Username = hien Password = hien
12
2.3 Kiểm thử chức năng Add input
output STT
1 Exception Kết quả OK Không xử lí Không có thông báo Giao dịch chưa thành công
Nhập thiếu thông tin Type = Income Category = Lương Date = null Amount = null Description = null Info = null
2 Thông báo thành công OK Không xử lí
Nhập đủ thông tin Type = Income Category = Lương Date = 2013/12/23 Amount = 214211 Description = lương Info = lương
13
2.4 Kiểm thử chức năng Account input
output STT
1 Exception Kết quả OK lí Thông báo có lỗi Chức năng Add Account Nhập thiếu thông tin Xử chuẩn name, password
name = null password = null birthday = null gender = Male phone = 0985238651 email = null Chọn button Add
2 Thông báo thành công OK Không xử lí Chức năng Add Account Nhập đủ thông tin
name = dai password = dai birthday = 1993-12-17 gender = Male phone = 0985238651 Xuất hiện thêm tài khoản trong Accounts
email = dai@gmail Chọn button Add
3 OK Không có hoạt động, không có thông báo Việc thêm tài khoản vẫn chưa thành công Không xử lí Chức năng Add Nhập thiếu thông tin
(birthday) name = hieu password = hieu birthday = null gender = Male phone = null
email = null Chọn button Add
14
Có thông báo cảnh báo 4 OK Không xử lí Chức năng Remove(chỉ có admin mới có quyền xóa tài khoản user) Lựa chọn user muốn xóa
Chọn button Remove
Có thông báo 5 OK Không xử lí Chức năng Update(Chí user có quyền sửa thông tin chính mình) Chọn thông sửa thông tin
2.5 Kiểm thử chức năng Project input
output STT
Exception Kết quả OK 1
Khôn có thông báo Chưa tạo giao dịch thành công Không xử lí
Bảng AddProject Nhập thiếu thông tin Type = Income Category = Quạt StartDay = null EndDay = null Description = null Info = null Cost = null Contribute = null
15
2 lí Ok Thông báo lỗi Xử chuẩn thông Bảng AddProject Nhập đủ tin(contribute > cost)
Type = Income Category = Quạt StartDay = 2013-12-22 EndDay = 2013-12-23 Description = quạt Info = quạt Cost = 1500000 Contribute = 15000000
3 Có được thông báo thành công OK Không xử lí Bảng AddProject Nhập đầy đủ thông tin
chính xác Type = Income Category = Quạt StartDay = 2013-12-22 EndDay = 2013-12-23 Description = quạt Info = quạt Cost = 1500000 Contribute = 1000000
OK Không xử lí Bảng ViewProject Chọn trong combobox Table hiện thông tin theo project theo bộ lọc State : Hoàn thành State theo bộ lọc
VD: chọn Hoàn thành
4 Có lỗi sảy ra lí OK xử chuẩn Bảng ViewProject Chọn dự án trên Table bằng nhấp chuột
Dự án được chọn trong table có mục name = hoàn thành Chọn button đóng góp
16
lí OK Xử chuẩn Bảng ViewProject Chọn dự án trong table có Có thông báo lỗi hiện ra Không tăng số tiền vào trường contribute của dự án được khởi tạo name = gây quỹ Người đề xuất dự án hieu, người sử dụng dai
Không nhập giá trị đóng góp Chọn button Thamgia
OK Có thông báo “ đóng góp thành công” Tăng số tiền đóng góp trong table lên Không xử lí Bảng ViewProject Chọn dự án table có name = gây quỹ Người đề xuất dự án hieu,
người đang sử dụng dai Có nhập giá trị đóng góp Chọn button Thamgia
OK Không xử lí Bảng ViewProject Chọn dự án table có name = gây quỹ Thông báo khởi động dự án thành công Name = “hoàn thành” Cập nhập vào CSDL của từng người đóng góp về giá trị đóng góp Người đề xuất dự án hieu,
người đang sử dụng hieu Table có cost = contribute Chọn button Thamgia
OK Không xử lí Bảng ViewProject Chọn dự án table có name = Nếu name = gây quỹ Xóa dự án thành công Cập nhâp lại table và trong CSDL gây quỹ(hoàn thành) Người đề xuất dự án hieu, người đang sử dụng hieu Chọn button Xóa dự án Nếu name = hoàn thành Thông báo dự án “Dự án đã được thực hiện không xóa được”
2.6 Kiểm thử cho chức năng Category input
output STT
1 Thông báo hỏi admin có muốn xóa Exception Kết quả OK Chỉ có admin mới có chức Không xử lí năng này Chọn Yes Xóa Category thành công Chọn No quay trở lại chương Chọn khoản mục muốn xóa Chọn button Remove trình
17
2 OK Có thông báo “bạn chưa nhập tên category” Không xử lí
Image = null Name = null Chọn Add
Có thông báo “bạn chưa category” lí OK Xử chuẩn Name = null Chọn button Update
Có thông báo “Update thành công” OK Không xử lí Sửa tên name Chọn button Update
2.7 Kiểm thử cho chức năng Statictisc
input output STT
1
Chọn button List ra danh sách thống kê Phạm Văn Đai
Chọn button Bar hiện biểu For = AllCategory View = Expense From = 2013-01-22 To = 2013-12-22 Filter Account = Phạm Văn Đại đồ tháng 3 gồm có cột Ăn uống, Giải Trí, Giáo Dục Exception Kết quả OK OK OK Không xử lí Không xử lí Không xử lí
Month = July According to July = true Year = 2013 According to 2013 = true Chọn button Pie hiện biểu đồ hình tròn gồm 3 phần Ăn Uống, Giải Trí, Giáo Dục
18
2
Chọn button List hiện ra danh sách tài khoản tên hien với mục Lương từ ngày 2013-01-22 đến 2013-12-22
Button Bar biểu đồ cột thu nhập “Lương” của hien 2013 trong 12 tháng For = Lương View = InCome From = 2013-01-22 To = 2013-12-22 Filter Account = hien Year = 2013 According to 2013 = true OK OK OK Button Pie biểu đồ hình tròn thu nhập hien trong 12 tháng
3
Chọn button List danh sách khoản mục ăn uống của Lê Trung Hiếu trong 2013
For = Ăn uống View = Expense From = 2013-01-22 To = 2013-12-22 Filter Account = Lê Trung Hiếu OK OK OK
Chọn button Bar hiện ra bảng thống kê chi tiêu ăn uống trong năm 2013 của Lê Trung Hiếu Chọn button Resfesh thiết lập bộ lọc theo thông số mặc định Year = 2013 According to 2013 = false Không Xử Lí Không Xử lí Không Xử lí Không Xử Lí Không Xử lí Không Xử lí
4 OK Hiện các thông Không xử lí tin giao dịch (incom) của hien có value từ 500 đến 1000
For = All category View = Expense From = 2013-01-22 To = 2013-12-22 Filter Account = hien Chọn button Filter Filter Date
+ Option = inluclde + from = 2013-01-22 + to = 2013-12-22 Filter Amount
+Option = include +from = 500 +to = 1000 Chọn button Close Chọn button List
2.8 Kết luận Qua một số phép kiểm thử của nhóm chúng em thấy chương trình chạy được ổn và cho kết quả khả quan là chạy ổn định. Nhưng khi thực hiện nhóm vẫn vấp phải một số lỗi chương trình, và đang trong quá trình hoàn thiện bài làm được tốt hơn. Việc nhập điểm tự đánh giá là 8/10đ.
19
3 Đánh giá báo cáo STT Tiêu chí 1
Giao diện
Đầy đủ các phần quy định 2
Nội dung trình bày khoa học 3
Phân chia công việc hợp lý 4
Nội dung báo cáo Nhận xét Ít (không có) lỗi trình bày/lỗi chính tả (Không vi phạm các lỗi trình bày cơ bản). Nhóm đã thực hiện được đầy đủ các phần theo mẫu quy định. Trình bày khoa học, theo sự chỉ dẫn của các thầy cô, đánh đề mục thống nhất, có mục lục rõ rang. Phần phân công thể hiện rõ công việc từng người theo các tuần. Đầy đủ hầu hết các phần như trong mẫu báo cáo.
5 Đánh giá báo cáo tốt. Cho điểm 8.5/10
20