Báo cáo Phân tích đối tượng định hướng thiết kế | Đại học Bách khoa Hà Nội

Báo cáo Phân tích đối tượng định hướng thiết kế | Đại học Bách khoa Hà Nội được biên soạn dưới dạng file PDF cho các bạn sinh viên tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị thật tốt cho kì thi sắp tới. Mời bạn đọc đón xem.

1
TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NỘI
VIN ĐIN T-VIN THÔNG
---------------------------
BÁO CÁO BÀI TP LN
Phân tích thiết kế ng đi tưng
Đề tài:
Quản lý chi tiêu cá nhân
***
Giảng viên hướng dn: Th.S Vũ Song Tùng
Nhóm thực hin:
Hà Nội, tháng 5/2019
T Th Nhung
20152789
Đin t 09 K60
Phm Tun Ngc
20152707
Đin t 07 K60
Nguyn Th Yến
20154448
Đin t 10 K60
Nguyn Th Vân
20154329
Đin t 04 K60
Vũ Đình Tùng
20154288
Đin t 08 K60
2
Li m đầu
Những năm gần đây, khoa học công nghệ phát triển nhanh như bão, đặc
biệt lĩnh vực công nghệ thông tin. th nói, công nghệ thông tin đã len lỏi vào
hu hết tt c mọi lĩnh vực trong cuc sng của chúng ta. Trong đó, công ngh phn
mềm luôn luôn đóng vai trò tiên phong, dn đầu trong quá trình đó. Các phn mm
đã đang s được ng dụng ngày càng nhiều trong công việc cũng như cuộc sng
thường ngày của con ngưi. Nm bắt được xu ớng đó, trong khuôn kh ni dung
của chương trình học hc phn “Phân tích thiết kế ớng đối tượng”, nhóm chúng
em đã quyết định tìm hiểu và thiết kế mt phn mềm đơn giản và gần gũi với thc tế:
H thng quản lí chi tiêu cá nhân
Qua quá trình tìm hiểu xây dựng phn mm trên thc tế, cùng vi nhng
kiến thực được học trên giảng đường, chúng em mới thc s cm nhận đưc nhng
khó khăn khi xây dựng và phát triển mt phn mềm hoàn chỉnh. Để thể y dựng
được mt phn mềm hoàn thiện, không chỉ đơn thuần lập trình, còn rt nhiu
công việc khác cần phi thc hin.
Phn mềm y được nhóm em y dựng giúp mỗi nhân có th quản chi
tiêu cho bản thân mình, ghi chép các khoản thu chi tr nên thuận tiện dễ dàng hơn.
Dựa trên thói quen tiêu dùng ca bản thân, mỗi người thể t xây dựng kế hoch
chi tiêu, gi cho các khoản chi luôn trong tầm kiểm soát. T những ghi chép các
khoản thu chi hàng ngày, phn mm t động tạo ra các biểu đồ thống dễ nhìn, dễ
hiu để ta d dàng theo dõi được mức độ chi tiêu hàng tháng điều chnh p
hp. T đó giúp cá nhân chi tiêu hiu qu hơn.
Đây phn mềm đầu tiên nhóm em xây dựng nên không thể tránh khỏi
nhng hn chế thiếu sót, kính mong thầy giáo các bạn b sung, góp ý để phn
mềm ngày càng hoàn thiện và thực s hu ích với ngưi s dng.
Chúng em xin chân thành cảm ơn!
3
Mc lc
Li m đầu ............................................................................................................ 2
Danh mục hình ảnh ............................................................................................... 4
Chương 1. Phân tích yêu cầu h thng ............................................................. 5
1.1 Yêu cầu chức năng ................................................................................... 5
1.2 Yêu cầu phi chức năng ............................................................................. 5
Chương 2. Thiết kế h thng ............................................................................ 7
2.1 Use case diagrams .................................................................................... 7
2.1.1 Actor................................................................................................ 7
2.1.2 Mô tả kch bn s dng use case .................................................... 7
2.2 Activity diagrams ................................................................................... 11
2.2.1 Tạo người dùng mi ...................................................................... 11
2.2.2 Đăng nhập ..................................................................................... 12
2.2.3 Quản lý người dùng ...................................................................... 13
2.2.4 Quản lý tài khoản .......................................................................... 13
2.2.5 Quản lý giao dịch .......................................................................... 14
2.2.6 Lp kế hoch ................................................................................. 15
2.2.7 Thống kê ....................................................................................... 15
2.3 Class diagrams ........................................................................................ 16
2.4 Sequence diagrams ................................................................................. 17
2.4.1 Tạo người dùng mi ...................................................................... 17
2.4.2 Đăng nhập ..................................................................................... 17
2.4.3 Quản lý người dùng ...................................................................... 18
2.4.4 Quản lý tài khoản .......................................................................... 18
2.4.5 Quản lý giao dịch .......................................................................... 19
2.4.6 Lp kế hoch ................................................................................. 20
2.4.7 Thống kê ....................................................................................... 20
Li cảm ơn .......................................................................................................... 22
Tài liệu tham kho ............................................................................................... 23
4
Danh mc hình ảnh
Hình 2.1 Use case diagrams .................................................................................. 7
Hình 2.2 Activity diagrams: Tạo người dùng mới.............................................. 12
Hình 2.3 Activity diagrams: Đăng nhp ............................................................. 12
Hình 2.4 Activity diagrams: Quản lý người dùng .............................................. 13
Hình 2.5 Activity diagrams: Thêm tài khoản ..................................................... 13
Hình 2.6 Activity diagrams: Cp nhật tài khoản ................................................ 14
Hình 2.7 Activity diagrams: Quản lý giao dịch .................................................. 14
Hình 2.8 Activity diagrams: Lp kế hoch ......................................................... 15
Hình 2.9 Activity diagrams: Thống kê ............................................................... 15
Hình 2.10 Class diagrams ................................................................................... 16
Hình 2.11 Sequence diagrams: Tạo người dùng mới ......................................... 17
Hình 2.12 Sequence diagrams: Đăng nhập ......................................................... 17
Hình 2.13 Sequence diagrams: Quản lý người dùng .......................................... 18
Hình 2.14 Sequence diagrams: Thêm tài khoản ................................................. 18
Hình 2.15 Sequence diagrams: Cp nhật tài khoản ............................................ 19
Hình 2.16 Sequence diagrams: Quản lý giao dịch .............................................. 19
Hình 2.17 Sequence diagrams: Lp kế hoch ..................................................... 20
Hình 2.18 Sequence diagrams: Thống kê theo kiểu giao dch ........................... 21
Hình 2.19 Sequence diagrams: Thống kê theo hạng mc .................................. 21
5
Chương 1. Phân tích yêu cầu h thng
1.1 Yêu cu chức năng
H thng qun lý chi tiêu cá nhân được xây dựng nhng chức năng như sau:
Tạo tài khoản người dùng
Để s dng các tác v ca phn mm, người dùng cần tạo tài khoản với tên
tài khoản, mt khẩu đăng nhập. Các tài khoản không được trùng tên đăng
nhp.
Đăng nhp
Người dùng đăng nhập theo tài khoản đã tạo. Nếu đăng nhập sai, yêu cu
nhp li.
Quản lý người dùng
Người dùng có thể thêm một tài khon mi hoặc thay đổi thông tin tài khon
đã có. Sau khi thc hiện xong các tác vụ ca phn mềm, người dùng thể
đăng xuất khỏi tài khoản đó.
Quản lý tài khoản
Người dùng thêm thông tin s tài khoản số tin đưc vào đầu mỗi tháng.
Sau mi giao dch, người dùng chn chức năng cập nhật để h thng cp nht
s tin hin ti. S tiền còn lại sau mỗi tháng s đưc h thng t động cng
dồn và đó là số tin tiết kim của người dùng.
Quản lý giao dịch
Người dùng thc hiện các thao tác thêm, sửa, xóa thông tin giao dịch hàng
ngày.
Lp kế hoch
Người dùng lp kế hoch thu chi cho tháng kế tiếp. Ngoài ra thể xem, xóa,
cp nht kế hoch nếu cn.
Thống kê
T động thống thu, chi của người dùng i dng biu đồ dựa trên những
ghi chép trong phần quản giao dịch theo thi gian, theo kiu giao dch hoc
theo hng mc.
1.2 Yêu cu phi chức năng
Hot đng
H thống được triển khai trên h điều hành Windows trên laptop, PC,
điện thoại thông minh.
Người dùng truy cập phn mềm được cài đặt trên hệ điều hành
Windows để s dng dch v.
Hiệu năng
H thng phi hoạt động tin cy.
Tốc độ nhp, xut d liệu nhanh chóng, kết qu tr v không quá 5s
sau khi thao tác.
Có kh năng lưu trữ d liu ln.
6
Bo mt
Ch người dùng sở hu tên tài khoản mt khu mới thể đăng
nhập và sử dụng các chc năng ca phn mm.
Văn hóa và chính tr
Ngôn ng s dụng là tiếng Vit
Không đưc vi phm bn quyn ca các h thống tương tự khác
7
Chương 2. Thiết kế h thng
2.1 Use case diagrams
ới đây là sơ đồ use case ca h thng quản lý chi tiêu cá nhân
Hình 2.1 Use case diagrams
2.1.1 Actor
Ngưi dùng
2.1.2 Mô t kch bn s dng use case
2.1.2.1 Tạo tài khoản mi
a) Lung s kin chun
1: Nhập tài khoản và mật khu
2: H thng kim tra
3: Tạo tài khoản thành công
b) Ngoi l
8
Tạo tài khoản không hợp l khi trong h thống đã tn ti tài khoản đó. Nếu đã
tn tại, yêu cầu tạo tài khoản mi.
2.1.2.2 Đăng nhập
a) Lung s kin chun
1: Nhập tài khoản và mật khu
2: H thng kim tra
3: Đăng nhập thành công
b) Ngoi l
Đăng nhập không hợp l khi nhập sai tài khoản, mt khu hoc tài khoản đó
chưa được đăng kí, h thống yêu cầu đăng nhập li. Nếu chưa có tài khoản, cần đăng
kí tài khoản mi.
2.1.2.3 Quản lý người dùng
a) Lung s kin chun
1: H thng thc hin kch bản Đăng nhập
2: Người dùng chọn danh mc Ngưi dùng
S-1: Nếu chức năng “Cập nhật”, hệ thng thc hin lung s kin
con “Cp nhật thông tin người dùng”.
S-2: Nếu chức năng “Đăng xut”, hệ thng thc hin lung s kin
con “Đăng xut”.
b) Lung s kin con
S-1: Cp nhật thông tin người dùng
1: Người dùng chn mc cn cp nhật thông tin.
2: Người dùng chỉnh sa thông tin.
3: H thống lưu lại thông tin người dùng
4: H thng hin th thông tin
S-2: Đăng xuất
1: Người dùng chọn vào “Đăng xut”
2: H thống đăng xuất khi tài khoản người dùng
2.1.2.4 Quản lý tài khoản
a) Lung s kin chun
9
1: H thng thc hin kch bản Đăng nhập
2: Người dùng chọn danh mục Tài khoản
S-1: Nếu chức năng “Thêm”, hệ thng thc hin lung s kin con
“Thêm thông tin tài khoản”.
b) Lung s kin con
S-2: Thêm thông tin tài khoản
1: Người dùng chọn vào “Thêm thông tin tài khoản”
2: Người dùng nhập vào thời gian và s tiền ban đầu cho mỗi tháng
3: H thống lưu lại thông tin tài khon
4: H thng hin th thông tin
S-1: Cp nhật thông tin tài khoản
1: Người dùng chọn “Cập nhật thông tin tài khoản”
2: H thng t động nh số tiền còn lại thời điểm người dùng cp
nhật thông tin. Sau mỗi tháng, hệ thng cng dn s tiền còn lại để lưu vào số
tin tiết kim
3: H thống lưu lại thông tin tài khon
4: H thng hin th thông tin
2.1.2.1 Quản lý giao dch
a) Lung s kin chun
1: H thng thc hin kch bản Đăng nhập
2: Người dùng chọn danh mc Giao dch
S-1: Nếu chức năng “Thêm”, hệ thng thc hin lung s kiện con
“Thêm giao dịch”
S-2: Nếu chức năng “Sửa”, h thng thc hin lung s kiện con
“Sa giao dch”
S-3: Nếu chc năng “Xóa”, h thng thc hin lung s kiện con
“Xóa giao dch”
b) Luồng sự kiện con
S-1: Thêm giao dịch
1: Người dùng chọn vào “Thêm giao dch
2: Người dùng nhập vào thông tin giao dch
3: H thống lưu lại thông tin giao dch
10
4: H thng hin th thông tin
S-2: Sa giao dch
1: Người dùng chọn vào thông tin cn sửa và chọn “Sa giao dch”
2: Người dùng chỉnh sa thông tin giao dch
3: H thống lưu lại thông tin giao dch
4: H thng hin th thông tin
S-3: Xóa giao dịch
1: Người dùng chọn vào giao dch cần xóa và chn “Xóa giao dịch”
2: H thng thc hiện xóa giao dịch đó
3: H thống lưu lại thông tin giao dch
4: H thng hin th thông tin
2.1.2.2 Lp kế hoch
a) Lung s kin chun
1: H thng thc hin kch bản Đăng nhập
2: Người dùng chọn danh mc Kế hoch
S-1: Nếu chức năng “Thêm”, hệ thng thc hin lung s kin con
là “Thêm kế hoch”
S-2: Nếu chức năng “Sửa”, hệ thng thc hin lung s kiện con
“Sa kế hoch”
S-3: Nếu chức năng “Xóa”, hệ thng thc hin lung s kiện con là
“Xóa kế hoch”
b) Lung s kin con
S-1: Thêm kế hoch
1: Người dùng chọn vào “Thêm kế hoch”
2: Người dùng nhập vào kế hoch của tháng kế tiếp
3: H thống lưu lại thông tin kế hoch
4: H thng hin th thông tin
S-2: Sa kế hoch
1: Người dùng chọn vào thông tin cn sửa và chọn “Sửa kế hoch”
2: Người dùng chỉnh sa thông tin kế hoch
11
3: H thống lưu lại thông tin vừa chnh sa
4: H thng hin th thông tin
S-3: Xóa kế hoch
1: Người dùng chọn vào giao dịch cần xóa và chọn “Xóa kế hoch”
2: H thng thc hiện xóa kế hoạch đó
3: H thống lưu lại thông tin
4: H thng hin th thông tin
2.1.2.3 Thống kê
a) Lung s kin chun
1: H thng thc hin kch bản Đăng nhập
2: Người dùng chọn danh mc Thống kê
S-2: Nếu chức năng “Thống theo kiu giao dịch”, h thng thc
hin lung s kiện con là “Thống kê theo kiểu giao dch”
S-3: Nếu chức năng “Thống theo hạng mục”, hệ thng thc hin
lung s kiện con là “Thống kê theo hạng mc”
b) Lung s kin con
S-2: Thống kê theo kiu giao dch
1: Người dùng chọn thi gian thống theo ngày, tháng, năm c th,
hoc theo tun, theo tháng, theo năm.
2: Người dùng chọn vào trường kiu giao dch
3: H thng hin th thống theo kiểu giao dịch người dùng yêu
cu
S-3: Thống kê theo hng mc
1: Người dùng chọn thi gian thống theo ngày, tháng, năm cụ th,
hoc theo tuần, theo tháng, theo năm.
2: Người dùng chọn vào trường hng mc c th
3: H thng hin th thống kê theo hng mc mà người dùng yêu cầu
2.2 Activity diagrams
2.2.1 Tạo người dùng mi
Người dùng tạo tài khon mi với tên tài khoản mật khu theo đ hot
động dưới đây
12
Hình 2.2 Activity diagrams: To người dùng mới
2.2.2 Đăng nhập
Hình 2.3 Activity diagrams: Đăng nhập
13
2.2.3 Quản lý người dùng
Sau khi thc hiện đăng nhập thành công, người dùng có thể cp nhật thông tin
người dùng trong mục “Người dùng” như sau
Hình 2.4 Activity diagrams: Quản lý người dùng
2.2.4 Quản lý tài khoản
Sau khi thc hin đăng nhập thành công, người dùng thc hin nhp thông tin
v tài khon bao gm s tin ban đầu và thi gian nhp theo sơ đồ sau:
Hình 2.5 Activity diagrams: Thêm tài khon
14
Người dùng thực hin chức năng cập nhật tài khoản để hin th ra s tin ban
đầu, s tin hin ti sau giao dịch và số tin tiết kim theo sơ đồ sau:
Hình 2.6 Activity diagrams: Cp nhật tài khoản
2.2.5 Quản lý giao dịch
Sau khi đăng nhập thành công, người dùng thực hin Quản giao dịch bng
cách nhập vào thông tin giao dịch, chnh sa hoặc xóa thông tin giao dịch theo đồ
sau:
Hình 2.7 Activity diagrams: Quản lý giao dịch
15
2.2.6 Lp kế hoch
Sau khi đăng nhập thành công, người dùng thực hin Lp kế hoch bằng cách
nhập vào thông tin kế hoch, chnh sa hoặc xóa kế hoch theo sơ đồ sau:
Hình 2.8 Activity diagrams: Lp kế hoch
2.2.7 Thống kê
Sau khi đăng nhập thành công đã giao dịch, người dùng chọn vào mục
Thống kê để thc hin chức năng thống nhưđồ dưới đây. Hệ thng s thc hin
thống kê và hiển th cho người dùng dưi dng biểu đồ.
Hình 2.9 Activity diagrams: Thống kê
16
2.3 Class diagrams
H thng quản chi tiêu nhân được y dựng gm bn lp gồm Người
dùng, Giao dịch, Tài khoản và Kế hoch. Chi tiết đưc th hiện như sơ đồ như sau:
Hình 2.10 Class diagrams
17
2.4 Sequence diagrams
2.4.1 Tạo người dùng mi
Hình 2.11 Sequence diagrams: Tạo người dùng mới
2.4.2 Đăng nhp
Hình 2.12 Sequence diagrams: Đăng nhập
18
2.4.3 Quản lý người dùng
Chc năng cp nhật thông tin người dùng thc hiện như sau:
Hình 2.13 Sequence diagrams: Qun lý người dùng
2.4.4 Quản lý tài khoản
Chức năng thêm thông tin tài khoản được người dùng thực hiện o đu mi
tháng hoc khi muốn thêm nguồn tiền vào tài khoản đưc biu diễn như sau:
Hình 2.14 Sequence diagrams: Thêm tài khoản
Chức năng cp nhật thông tin tài khoản đ người dùng biết được s tiền còn lại
hin ti và s tin tiết kim. Sơ đồ biu diễn như sau:
19
Hình 2.15 Sequence diagrams: Cp nhật tài khoản
2.4.5 Quản lý giao dch
Người ng thc hin các chức năng nhập thông tin, chỉnh sửa thông tin hoặc
xóa thông tin giao dịch. Quá trình như sau:
Hình 2.16 Sequence diagrams: Qun lý giao dịch
20
2.4.6 Lp kế hoch
Người dùng lập kế hoch bằng cách thêm kế hoch, chnh sa hoặc xóa kế hoch
cho mỗi tháng kế tiếp. Quá trình tương tác ni vi h thống như sau:
Hình 2.17 Sequence diagrams: Lp kế hoch
2.4.7 Thống kê
Người dùng chọn chức năng thống theo kiu giao dch trong thi gian mong
mun. Lp thống ly mọi thông tin giao dịch trong thời gian người dùng chọn, sau
đó tính toán thống kê theo kiểu giao dch t d liệu đã lấy.
21
Hình 2.18 Sequence diagrams: Thống kê theo kiểu giao dch
Người dùng chọn chức năng thống kê theo kiểu hng mc trong thi gian mong
mun. Lp thống ly mọi thông tin giao dịch trong thời gian người dùng chọn, sau
đó tính toán thống kê theo hạng mc t d liệu đã lấy.
Hình 2.19 Sequence diagrams: Thống kê theo hạng mc
22
Li cảm ơn
Chúng em xin chân thành cm ơn Thy Vũ Song Tùng đã tn tình hướng dn, gii
đáp thc mc ch bo nhóm em trong sut thi gian nhóm em hoàn thành bài tập ln .
Mặc đã cố gắng hoàn thành đề tài tốt nht nhưng do thời gian kiến thc
còn hn nên chúng em s không th tránh khi nhng thiếu sót nht định, rt mong
nhn được s cm thông, chia s tn tình đóng góp ch bo ca thy cũng như các bạn.
23
Tài liệu tham kho
[1] Systems analysis & design with UML version 2.0: An Object-oriented
approach, 4
th
edition, Dennis, Wixom, Tegarden
| 1/23

Preview text:


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ-VIỄN THÔNG
---------------------------
BÁO CÁO BÀI TẬP LỚN
Phân tích thiết kế hướng đối tượng Đề tài:
Quản lý chi tiêu cá nhân ***
Giảng viên hướng dẫn: Th.S Vũ Song Tùng Nhóm thực hiện: Tạ Thị Nhung 20152789 Điện tử 09 K60 Phạm Tuấn Ngọc 20152707 Điện tử 07 K60 Nguyễn Thị Yến 20154448 Điện tử 10 K60 Nguyễn Thị Vân 20154329 Điện tử 04 K60 Vũ Đình Tùng 20154288 Điện tử 08 K60 Hà Nội, tháng 5/2019 1 Lời mở đầu
Những năm gần đây, khoa học công nghệ phát triển nhanh như vũ bão, đặc
biệt là lĩnh vực công nghệ thông tin. Có thể nói, công nghệ thông tin đã len lỏi vào
hầu hết tất cả mọi lĩnh vực trong cuộc sống của chúng ta. Trong đó, công nghệ phần
mềm luôn luôn đóng vai trò tiên phong, dẫn đầu trong quá trình đó. Các phần mềm
đã đang và sẽ được ứng dụng ngày càng nhiều trong công việc cũng như cuộc sống
thường ngày của con người. Nắm bắt được xu hướng đó, trong khuôn khổ nội dung
của chương trình học học phần “Phân tích thiết kế hướng đối tượng”, nhóm chúng
em đã quyết định tìm hiểu và thiết kế một phần mềm đơn giản và gần gũi với thực tế:
Hệ thống quản lí chi tiêu cá nhân
Qua quá trình tìm hiểu và xây dựng phần mềm trên thực tế, cùng với những
kiến thực được học trên giảng đường, chúng em mới thực sự cảm nhận được những
khó khăn khi xây dựng và phát triển một phần mềm hoàn chỉnh. Để có thể xây dựng
được một phần mềm hoàn thiện, không chỉ đơn thuần là lập trình, mà còn rất nhiều
công việc khác cần phải thực hiện.
Phần mềm này được nhóm em xây dựng giúp mỗi cá nhân có thể quản lí chi
tiêu cho bản thân mình, ghi chép các khoản thu chi trở nên thuận tiện và dễ dàng hơn.
Dựa trên thói quen tiêu dùng của bản thân, mỗi người có thể tự xây dựng kế hoạch
chi tiêu, giữ cho các khoản chi luôn trong tầm kiểm soát. Từ những ghi chép các
khoản thu chi hàng ngày, phần mềm tự động tạo ra các biểu đồ thống kê dễ nhìn, dễ
hiểu để ta dễ dàng theo dõi được mức độ chi tiêu hàng tháng và có điều chỉnh phù
hợp. Từ đó giúp cá nhân chi tiêu hiệu quả hơn.
Đây là phần mềm đầu tiên mà nhóm em xây dựng nên không thể tránh khỏi
những hạn chế và thiếu sót, kính mong thầy giáo và các bạn bổ sung, góp ý để phần
mềm ngày càng hoàn thiện và thực sự hữu ích với người sử dụng.
Chúng em xin chân thành cảm ơn! 2 Mục lục
Lời mở đầu ............................................................................................................ 2
Danh mục hình ảnh ............................................................................................... 4
Chương 1. Phân tích yêu cầu hệ thống ............................................................. 5
1.1 Yêu cầu chức năng ................................................................................... 5
1.2 Yêu cầu phi chức năng ............................................................................. 5
Chương 2. Thiết kế hệ thống ............................................................................ 7
2.1 Use case diagrams .................................................................................... 7 2.1.1
Actor................................................................................................ 7 2.1.2
Mô tả kịch bản sử dụng use case .................................................... 7
2.2 Activity diagrams ................................................................................... 11 2.2.1
Tạo người dùng mới ...................................................................... 11 2.2.2
Đăng nhập ..................................................................................... 12 2.2.3
Quản lý người dùng ...................................................................... 13 2.2.4
Quản lý tài khoản .......................................................................... 13 2.2.5
Quản lý giao dịch .......................................................................... 14 2.2.6
Lập kế hoạch ................................................................................. 15 2.2.7
Thống kê ....................................................................................... 15
2.3 Class diagrams ........................................................................................ 16
2.4 Sequence diagrams ................................................................................. 17 2.4.1
Tạo người dùng mới ...................................................................... 17 2.4.2
Đăng nhập ..................................................................................... 17 2.4.3
Quản lý người dùng ...................................................................... 18 2.4.4
Quản lý tài khoản .......................................................................... 18 2.4.5
Quản lý giao dịch .......................................................................... 19 2.4.6
Lập kế hoạch ................................................................................. 20 2.4.7
Thống kê ....................................................................................... 20
Lời cảm ơn .......................................................................................................... 22
Tài liệu tham khảo ............................................................................................... 23 3 Danh mục hình ảnh
Hình 2.1 Use case diagrams .................................................................................. 7
Hình 2.2 Activity diagrams: Tạo người dùng mới.............................................. 12
Hình 2.3 Activity diagrams: Đăng nhập ............................................................. 12
Hình 2.4 Activity diagrams: Quản lý người dùng .............................................. 13
Hình 2.5 Activity diagrams: Thêm tài khoản ..................................................... 13
Hình 2.6 Activity diagrams: Cập nhật tài khoản ................................................ 14
Hình 2.7 Activity diagrams: Quản lý giao dịch .................................................. 14
Hình 2.8 Activity diagrams: Lập kế hoạch ......................................................... 15
Hình 2.9 Activity diagrams: Thống kê ............................................................... 15
Hình 2.10 Class diagrams ................................................................................... 16
Hình 2.11 Sequence diagrams: Tạo người dùng mới ......................................... 17
Hình 2.12 Sequence diagrams: Đăng nhập ......................................................... 17
Hình 2.13 Sequence diagrams: Quản lý người dùng .......................................... 18
Hình 2.14 Sequence diagrams: Thêm tài khoản ................................................. 18
Hình 2.15 Sequence diagrams: Cập nhật tài khoản ............................................ 19
Hình 2.16 Sequence diagrams: Quản lý giao dịch .............................................. 19
Hình 2.17 Sequence diagrams: Lập kế hoạch ..................................................... 20
Hình 2.18 Sequence diagrams: Thống kê theo kiểu giao dịch ........................... 21
Hình 2.19 Sequence diagrams: Thống kê theo hạng mục .................................. 21 4
Chương 1. Phân tích yêu cầu hệ thống
1.1 Yêu cầu chức năng
Hệ thống quản lý chi tiêu cá nhân được xây dựng những chức năng như sau:
Tạo tài khoản người dùng
Để sử dụng các tác vụ của phần mềm, người dùng cần tạo tài khoản với tên
tài khoản, mật khẩu đăng nhập. Các tài khoản không được trùng tên đăng nhập.  Đăng nhập
Người dùng đăng nhập theo tài khoản đã tạo. Nếu đăng nhập sai, yêu cầu nhập lại.
Quản lý người dùng
Người dùng có thể thêm một tài khoản mới hoặc thay đổi thông tin tài khoản
đã có. Sau khi thực hiện xong các tác vụ của phần mềm, người dùng có thể
đăng xuất khỏi tài khoản đó.
Quản lý tài khoản
Người dùng thêm thông tin số tài khoản và số tiền có được vào đầu mỗi tháng.
Sau mỗi giao dịch, người dùng chọn chức năng cập nhật để hệ thống cập nhật
số tiền hiện tại. Số tiền còn lại sau mỗi tháng sẽ được hệ thống tự động cộng
dồn và đó là số tiền tiết kiệm của người dùng.
Quản lý giao dịch
Người dùng thực hiện các thao tác thêm, sửa, xóa thông tin giao dịch hàng ngày.  Lập kế hoạch
Người dùng lập kế hoạch thu chi cho tháng kế tiếp. Ngoài ra có thể xem, xóa,
cập nhật kế hoạch nếu cần.  Thống kê
Tự động thống kê thu, chi của người dùng dưới dạng biểu đồ dựa trên những
ghi chép trong phần quản lý giao dịch theo thời gian, theo kiểu giao dịch hoặc theo hạng mục.
1.2 Yêu cầu phi chức năng Hoạt động
 Hệ thống được triển khai trên hệ điều hành Windows trên laptop, PC, điện thoại thông minh.
 Người dùng truy cập phần mềm được cài đặt trên hệ điều hành
Windows để sử dụng dịch vụ.  Hiệu năng
 Hệ thống phải hoạt động tin cậy.
 Tốc độ nhập, xuất dữ liệu nhanh chóng, kết quả trả về không quá 5s sau khi thao tác.
 Có khả năng lưu trữ dữ liệu lớn. 5  Bảo mật
 Chỉ có người dùng sở hữu tên tài khoản và mật khẩu mới có thể đăng
nhập và sử dụng các chức năng của phần mềm.
Văn hóa và chính trị
 Ngôn ngữ sử dụng là tiếng Việt
 Không được vi phạm bản quyền của các hệ thống tương tự khác 6
Chương 2. Thiết kế hệ thống 2.1 Use case diagrams
Dưới đây là sơ đồ use case của hệ thống quản lý chi tiêu cá nhân
Hình 2.1 Use case diagrams 2.1.1 Actor  Người dùng
2.1.2 Mô tả kịch bản sử dụng use case
2.1.2.1 Tạo tài khoản mới

a) Luồng sự kiện chuẩn
1: Nhập tài khoản và mật khẩu 2: Hệ thống kiểm tra
3: Tạo tài khoản thành công b) Ngoại lệ 7
Tạo tài khoản không hợp lệ khi trong hệ thống đã tồn tại tài khoản đó. Nếu đã
tồn tại, yêu cầu tạo tài khoản mới. 2.1.2.2 Đăng nhập
a) Luồng sự kiện chuẩn
1: Nhập tài khoản và mật khẩu 2: Hệ thống kiểm tra 3: Đăng nhập thành công b) Ngoại lệ
Đăng nhập không hợp lệ khi nhập sai tài khoản, mật khẩu hoặc tài khoản đó
chưa được đăng kí, hệ thống yêu cầu đăng nhập lại. Nếu chưa có tài khoản, cần đăng kí tài khoản mới.
2.1.2.3 Quản lý người dùng
a) Luồng sự kiện chuẩn
1: Hệ thống thực hiện kịch bản Đăng nhập
2: Người dùng chọn danh mục Người dùng
S-1: Nếu chức năng là “Cập nhật”, hệ thống thực hiện luồng sự kiện
con “Cập nhật thông tin người dùng”.
S-2: Nếu chức năng là “Đăng xuất”, hệ thống thực hiện luồng sự kiện con “Đăng xuất”.
b) Luồng sự kiện con
S-1: Cập nhật thông tin người dùng
1: Người dùng chọn mục cần cập nhật thông tin.
2: Người dùng chỉnh sửa thông tin.
3: Hệ thống lưu lại thông tin người dùng
4: Hệ thống hiển thị thông tin S-2: Đăng xuất
1: Người dùng chọn vào “Đăng xuất”
2: Hệ thống đăng xuất khỏi tài khoản người dùng
2.1.2.4 Quản lý tài khoản
a) Luồng sự kiện chuẩn 8
1: Hệ thống thực hiện kịch bản Đăng nhập
2: Người dùng chọn danh mục Tài khoản
S-1: Nếu chức năng là “Thêm”, hệ thống thực hiện luồng sự kiện con
“Thêm thông tin tài khoản”.
b) Luồng sự kiện con
S-2: Thêm thông tin tài khoản
1: Người dùng chọn vào “Thêm thông tin tài khoản”
2: Người dùng nhập vào thời gian và số tiền ban đầu cho mỗi tháng
3: Hệ thống lưu lại thông tin tài khoản
4: Hệ thống hiển thị thông tin
S-1: Cập nhật thông tin tài khoản
1: Người dùng chọn “Cập nhật thông tin tài khoản”
2: Hệ thống tự động tính số tiền còn lại ở thời điểm người dùng cập
nhật thông tin. Sau mỗi tháng, hệ thống cộng dồn số tiền còn lại để lưu vào số tiền tiết kiệm
3: Hệ thống lưu lại thông tin tài khoản
4: Hệ thống hiển thị thông tin
2.1.2.1 Quản lý giao dịch
a) Luồng sự kiện chuẩn
1: Hệ thống thực hiện kịch bản Đăng nhập
2: Người dùng chọn danh mục Giao dịch
S-1: Nếu chức năng là “Thêm”, hệ thống thực hiện luồng sự kiện con là “Thêm giao dịch”
S-2: Nếu chức năng là “Sửa”, hệ thống thực hiện luồng sự kiện con là “Sửa giao dịch”
S-3: Nếu chức năng là “Xóa”, hệ thống thực hiện luồng sự kiện con là “Xóa giao dịch”
b) Luồng sự kiện con S-1: Thêm giao dịch
1: Người dùng chọn vào “Thêm giao dịch”
2: Người dùng nhập vào thông tin giao dịch
3: Hệ thống lưu lại thông tin giao dịch 9
4: Hệ thống hiển thị thông tin S-2: Sửa giao dịch
1: Người dùng chọn vào thông tin cần sửa và chọn “Sửa giao dịch”
2: Người dùng chỉnh sửa thông tin giao dịch
3: Hệ thống lưu lại thông tin giao dịch
4: Hệ thống hiển thị thông tin S-3: Xóa giao dịch
1: Người dùng chọn vào giao dịch cần xóa và chọn “Xóa giao dịch”
2: Hệ thống thực hiện xóa giao dịch đó
3: Hệ thống lưu lại thông tin giao dịch
4: Hệ thống hiển thị thông tin
2.1.2.2 Lập kế hoạch
a) Luồng sự kiện chuẩn
1: Hệ thống thực hiện kịch bản Đăng nhập
2: Người dùng chọn danh mục Kế hoạch
S-1: Nếu chức năng là “Thêm”, hệ thống thực hiện luồng sự kiện con là “Thêm kế hoạch”
S-2: Nếu chức năng là “Sửa”, hệ thống thực hiện luồng sự kiện con là “Sửa kế hoạch”
S-3: Nếu chức năng là “Xóa”, hệ thống thực hiện luồng sự kiện con là “Xóa kế hoạch”
b) Luồng sự kiện con S-1: Thêm kế hoạch
1: Người dùng chọn vào “Thêm kế hoạch”
2: Người dùng nhập vào kế hoạch của tháng kế tiếp
3: Hệ thống lưu lại thông tin kế hoạch
4: Hệ thống hiển thị thông tin S-2: Sửa kế hoạch
1: Người dùng chọn vào thông tin cần sửa và chọn “Sửa kế hoạch”
2: Người dùng chỉnh sửa thông tin kế hoạch 10
3: Hệ thống lưu lại thông tin vừa chỉnh sửa
4: Hệ thống hiển thị thông tin S-3: Xóa kế hoạch
1: Người dùng chọn vào giao dịch cần xóa và chọn “Xóa kế hoạch”
2: Hệ thống thực hiện xóa kế hoạch đó
3: Hệ thống lưu lại thông tin
4: Hệ thống hiển thị thông tin 2.1.2.3 Thống kê
a) Luồng sự kiện chuẩn
1: Hệ thống thực hiện kịch bản Đăng nhập
2: Người dùng chọn danh mục Thống kê
S-2: Nếu chức năng là “Thống kê theo kiểu giao dịch”, hệ thống thực
hiện luồng sự kiện con là “Thống kê theo kiểu giao dịch”
S-3: Nếu chức năng là “Thống kê theo hạng mục”, hệ thống thực hiện
luồng sự kiện con là “Thống kê theo hạng mục”
b) Luồng sự kiện con
S-2: Thống kê theo kiểu giao dịch
1: Người dùng chọn thời gian thống kê theo ngày, tháng, năm cụ thể,
hoặc theo tuần, theo tháng, theo năm.
2: Người dùng chọn vào trường kiểu giao dịch
3: Hệ thống hiển thị thống kê theo kiểu giao dịch mà người dùng yêu cầu
S-3: Thống kê theo hạng mục
1: Người dùng chọn thời gian thống kê theo ngày, tháng, năm cụ thể,
hoặc theo tuần, theo tháng, theo năm.
2: Người dùng chọn vào trường hạng mục cụ thể
3: Hệ thống hiển thị thống kê theo hạng mục mà người dùng yêu cầu 2.2 Activity diagrams
2.2.1 Tạo người dùng mới

Người dùng tạo tài khoản mới với tên tài khoản và mật khẩu theo sơ đồ hoạt động dưới đây 11
Hình 2.2 Activity diagrams: Tạo người dùng mới 2.2.2 Đăng nhập
Hình 2.3 Activity diagrams: Đăng nhập 12
2.2.3 Quản lý người dùng
Sau khi thực hiện đăng nhập thành công, người dùng có thể cập nhật thông tin
người dùng trong mục “Người dùng” như sau
Hình 2.4 Activity diagrams: Quản lý người dùng
2.2.4 Quản lý tài khoản
Sau khi thực hiện đăng nhập thành công, người dùng thực hiện nhập thông tin
về tài khoản bao gồm số tiền ban đầu và thời gian nhập theo sơ đồ sau:
Hình 2.5 Activity diagrams: Thêm tài khoản 13
Người dùng thực hiện chức năng cập nhật tài khoản để hiển thị ra số tiền ban
đầu, số tiền hiện tại sau giao dịch và số tiền tiết kiệm theo sơ đồ sau:
Hình 2.6 Activity diagrams: Cập nhật tài khoản
2.2.5 Quản lý giao dịch
Sau khi đăng nhập thành công, người dùng thực hiện Quản lý giao dịch bằng
cách nhập vào thông tin giao dịch, chỉnh sửa hoặc xóa thông tin giao dịch theo sơ đồ sau:
Hình 2.7 Activity diagrams: Quản lý giao dịch 14
2.2.6 Lập kế hoạch
Sau khi đăng nhập thành công, người dùng thực hiện Lập kế hoạch bằng cách
nhập vào thông tin kế hoạch, chỉnh sửa hoặc xóa kế hoạch theo sơ đồ sau:
Hình 2.8 Activity diagrams: Lập kế hoạch 2.2.7 Thống kê
Sau khi đăng nhập thành công và đã có giao dịch, người dùng chọn vào mục
Thống kê để thực hiện chức năng thống kê như sơ đồ dưới đây. Hệ thống sẽ thực hiện
thống kê và hiển thị cho người dùng dưới dạng biểu đồ.
Hình 2.9 Activity diagrams: Thống kê 15 2.3 Class diagrams
Hệ thống quản lý chi tiêu cá nhân được xây dựng gồm bốn lớp gồm Người
dùng, Giao dịch, Tài khoản và Kế hoạch. Chi tiết được thể hiện như sơ đồ như sau:
Hình 2.10 Class diagrams 16 2.4 Sequence diagrams
2.4.1 Tạo người dùng mới

Hình 2.11 Sequence diagrams: Tạo người dùng mới 2.4.2 Đăng nhập
Hình 2.12 Sequence diagrams: Đăng nhập 17
2.4.3 Quản lý người dùng
Chức năng cập nhật thông tin người dùng thực hiện như sau:
Hình 2.13 Sequence diagrams: Quản lý người dùng
2.4.4 Quản lý tài khoản
Chức năng thêm thông tin tài khoản được người dùng thực hiện vào đầu mỗi
tháng hoặc khi muốn thêm nguồn tiền vào tài khoản được biểu diễn như sau:
Hình 2.14 Sequence diagrams: Thêm tài khoản
Chức năng cập nhật thông tin tài khoản để người dùng biết được số tiền còn lại
hiện tại và số tiền tiết kiệm. Sơ đồ biểu diễn như sau: 18
Hình 2.15 Sequence diagrams: Cập nhật tài khoản
2.4.5 Quản lý giao dịch
Người dùng thực hiện các chức năng nhập thông tin, chỉnh sửa thông tin hoặc
xóa thông tin giao dịch. Quá trình như sau:
Hình 2.16 Sequence diagrams: Quản lý giao dịch 19 2.4.6 Lập kế hoạch
Người dùng lập kế hoạch bằng cách thêm kế hoạch, chỉnh sửa hoặc xóa kế hoạch
cho mỗi tháng kế tiếp. Quá trình tương tác người với hệ thống như sau:
Hình 2.17 Sequence diagrams: Lập kế hoạch 2.4.7 Thống kê
Người dùng chọn chức năng thống kê theo kiểu giao dịch trong thời gian mong
muốn. Lớp thống kê lấy mọi thông tin giao dịch trong thời gian người dùng chọn, sau
đó tính toán thống kê theo kiểu giao dịch từ dữ liệu đã lấy. 20
Hình 2.18 Sequence diagrams: Thống kê theo kiểu giao dịch
Người dùng chọn chức năng thống kê theo kiểu hạng mục trong thời gian mong
muốn. Lớp thống kê lấy mọi thông tin giao dịch trong thời gian người dùng chọn, sau
đó tính toán thống kê theo hạng mục từ dữ liệu đã lấy.
Hình 2.19 Sequence diagrams: Thống kê theo hạng mục 21 Lời cảm ơn
Chúng em xin chân thành cảm ơn Thầy Vũ Song Tùng đã tận tình hướng dẫn, giải
đáp thắc mắc và chỉ bảo nhóm em trong suốt thời gian nhóm em hoàn thành bài tập lớn .
Mặc dù đã cố gắng hoàn thành đề tài tốt nhất nhưng do thời gian và kiến thức
còn có hạn nên chúng em sẽ không thể tránh khỏi những thiếu sót nhất định, rất mong
nhận được sự cảm thông, chia sẻ và tận tình đóng góp chỉ bảo của thầy cũng như các bạn. 22
Tài liệu tham khảo
[1] Systems analysis & design with UML version 2.0: An Object-oriented
approach, 4th edition, Dennis, Wixom, Tegarden 23