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ó 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 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