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ó t
Trang 1TRƯỜ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
Sinh viên thực hiện:
Lê Trung Hiếu 20111568
Đỗ Đăng Hiển 20111581
Phạm Văn Đại 20111363
Trang 22
Mục lục
1 Thiết kế chương trình 3
1.1 Thiết kế CSDL 3
1.2 Thiết kế tầng nghiệp vụ 4
1.3 Thiết kế giao diện 5
1.4 Kết luận 11
2 Kiểm thử chương trình 11
2.1 Danh sách các chức năng cần có 11
2.2 Kiểm thử cho chức năng Login 11
2.3 Kiểm thử chức năng Add 13
2.4 Kiểm thử chức năng Account 14
2.5 Kiểm thử chức năng Project 15
2.6 Kiểm thử cho chức năng Category 17
2.7 Kiểm thử cho chức năng Statictisc 18
2.8 Kết luận 19
3 Đánh giá báo cáo 20
Trang 31 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
Trang 44
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
Trang 51.3 Thiết kế giao diện
Giao diện login:
Trang 66 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)
Trang 7Giao diện chức năng Statistics(Thống kê)
Trang 88 Giao diện chức năng Account:
Trang 9
Giao diện chức năng Category :
Giao diện chức năng Project(AddProject)
Trang 1010 Giao diện chức năng Project(ViewProject)
Trang 111.4 Kết luận
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
Nhóm tự đánh giá giao diện thiết kế là tốt, và nhận thang điểm 8.5/10đ
2 Kiểm thử chương trình
2.1 Danh sách các chức năng cần có
<Liệt kê danh sách các chức năng theo đúng yêu cầu đề bài>
Người sử dụng có thể lưu lại các thông tin chi tiêu hàng ngày Các thông tin lưu trữ cho
một phần chi tiêu bao gồm: thời gian, lý do, mục chi tiêu, hình ảnh liên quan
Có phần thống kê, đánh giá theo các khoảng thời gian nhất định
Các danh mục chi tiêu có thể được tạo ra bởi người dùng một cách linh hoạt
Có chức năng tìm kiếm theo tên, ngày tháng, mô tả…
Có chức năng đánh tag phục vụ cho tìm kiếm
Có phân quyền người dùng, yêu cầu đăng nhập hệ thống
Các chức năng này đã được phân tách hoặc tổng hợp thành các chức năng trong
chương trình thực tế như sau
2.2 Kiểm thử cho chức năng Login
quả
1 Trường hợp nhập sai username
hoặc passwod Username = aaaa
Password = bbbb
Thông báo có lỗi
Xử lí chuẩn
OK
Trang 1212
2 Trường hợp nhập sai username
hoặc passwod
Username = bbbb
Password = null
chuẩn
OK
3
Trường hợp nhập đúng
username hoặc passwod Username = hien
Password = hien
Vào menu chính của chương trình Không xử
lí
ok
Trang 13
2.3 Kiểm thử chức năng Add
quả
1 Nhập thiếu thông tin
Type = Income
Category = Lương
Date = null
Amount = null
Description = null
Info = null
Không có thông báo Giao dịch chưa thành công
Không xử
lí
OK
2 Nhập đủ thông tin
Type = Income
Category = Lương
Date = 2013/12/23
Amount = 214211
Description = lương
Info = lương
lí
OK
Trang 1414
2.4 Kiểm thử chức năng Account
quả
1 Chức năng Add Account
Nhập thiếu thông tin
name, password name = null
password = null
birthday = null
gender = Male
phone = 0985238651
email = null
Chọn button Add
Thông báo có lỗi
Xử lí chuẩn
OK
2 Chức năng Add Account
Nhập đủ thông tin
name = dai
password = dai
birthday = 1993-12-17
gender = Male
phone = 0985238651
email = dai@gmail
Chọn button Add
Thông báo thành công
Xuất hiện thêm tài khoản trong Accounts
Không xử
lí
OK
3 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
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í
OK
Trang 154 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
lí
OK
5 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
lí
OK
2.5 Kiểm thử chức năng Project
quả
1 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
Khôn có thông báo Chưa tạo giao dịch thành công
Không xử
lí
OK
Trang 1616
2 Bảng AddProject
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
chuẩn
Ok
3 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
Có được thông báo thành công Không xử
lí
OK
Bảng ViewProject
Chọn trong combobox
State theo bộ lọc VD: chọn Hoàn thành
Table hiện thông tin theo project theo bộ lọc State : Hoàn thành
Không xử
lí
OK
4 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
chuẩn
OK
Trang 17 Bảng ViewProject
Chọn dự án trong table có
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
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
chuẩn
OK
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
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í
OK
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 hieu
Table có cost = contribute
Chọn button Thamgia
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
Không xử
lí
OK
Bảng ViewProject
Chọn dự án table có name =
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 = gây quỹ Xóa dự
án thành công Cập nhâp lại table và trong CSDL
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”
Không xử
lí
OK
2.6 Kiểm thử cho chức năng Category
quả
1 Chỉ có admin mới có chức
năng này
Chọn khoản mục muốn xóa
Chọn button Remove
Thông báo hỏi admin có muốn xóa
Chọn Yes Xóa Category thành công
Chọn No quay trở lại chương trình
Không xử
lí
OK
Trang 1818
2 Image = null
Name = null
Chọn Add
Có thông báo “bạn chưa nhập tên category”
Không xử
lí
OK
Name = null
Chọn button Update
Có thông báo “bạn chưa category” Xử lí
chuẩn
OK
Sửa tên name
Chọn button Update
Có thông báo “Update thành công” Không xử
lí
OK
2.7 Kiểm thử cho chức năng Statictisc
quả
1 For = AllCategory
View = Expense
From = 2013-01-22
To = 2013-12-22
Filter Account = Phạm Văn
Đại
Month = July
According to July = true
Year = 2013
According to 2013 = true
Chọn button List ra danh sách thống kê Phạm Văn Đai
Chọn button Bar hiện biểu
đồ tháng 3 gồm có cột Ăn uống, Giải Trí, Giáo Dục
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
Không xử
lí Không xử
lí Không xử
lí
OK
OK
OK
Trang 192 For = Lương
View = InCome
From = 2013-01-22
To = 2013-12-22
Filter Account = hien
Year = 2013
According to 2013 = true
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
Button Pie biểu đồ hình tròn thu nhập hien trong 12 tháng
Không Xử
Lí
Không Xử
lí Không Xử
lí
OK
OK
OK
3 For = Ăn uống
View = Expense
From = 2013-01-22
To = 2013-12-22
Filter Account = Lê Trung
Hiếu
Year = 2013
According to 2013 = false
Chọn button List danh sách khoản mục ăn uống của Lê Trung Hiếu trong 2013
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
Không Xử
Lí Không Xử
lí Không Xử
lí
OK
OK
OK
4 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
Hiện các thông tin giao dịch (incom) của hien có value từ 500 đến 1000
Không xử
lí
OK
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đ
Trang 2020
3 Đánh giá báo cáo
1 Giao diện Í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)
2 Đầy đủ các phần quy định Nhóm đã thực hiện được đầy đủ các phần theo
mẫu quy định
3 Nội dung trình bày khoa học 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
4 Phân chia công việc hợp lý Phần phân công thể hiện rõ công việc từng người
theo các tuần
5 Nội dung báo cáo Đầy đủ hầu hết các phần như trong mẫu báo cáo Đánh giá báo cáo tốt Cho điểm 8.5/10