PHỤ LỤC 1
ỨNG DỤNG PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM
Phần này giới thiệu hai bài tốn phân tích và thiết kế phần mềm. Bài tốn thứ nhất là
phân tích và thiết kế phần mềm quản lý xe vận tải cho một doanh nghiệp sử dụng phương
pháp thiết kế hướng chức năng. Bài toán thứ hai là thiết kế phần mềm quản lý bán hàng
trên cơ sở phương pháp thiết kế hướng đối tượng [6]
P1. BÀI TOÁN QUẢN LÝ XE VẬN TẢI
P1.1. Mơ tả bài tốn
Một Cơng ty vận tải thương mại hiện tại có các lái xe hoạt động thường xuyên, đây là
những lái xe nằm trong biên chế của công ty. Ở những thời điểm lượng khách hàng yêu
cầu vận chuyển nhiêu, khi số nhân viên trong biên chế khơng đáp ứng đủ, thì cơng ty
tuyển thêm những lái xe hợp đồng, nhận hợp đồng cho từng chuyến, từng hành trình vận
chuyển hàng hố theo u cầu của khách hàng.
Do quản lý nhân viên trên danh sách giấy tờ nên khó khăn trong việc tìm kiếm và
báo cáo lái xe, nhằm mục đích bố trí lái xe cho các chuyến, cũng như báo cáo về lái xe
trong những thời điểm hoạt động của công ty là điều xảy ra thường xuyên, đó là việc
chậm trễ, hay đưa ra báo cáo thiếu chính xác, ảnh hưởng trực tiếp đến việc phân bổ,
tuyển dụng lái xe bên chế cũng như hợp đồng.
Đặc tả yêu cầu
- Phòng kế hoạch ký hợp đồng vận chuyển với khách hàng và xác định số lượng
hàng hố vận chuyển rồi gửi u cầu đến phịng quản lý và điều hành xe.
- Phòng quản lý và điều hành xe kiểm tra xem số lượng và chủng loại xe tồn, số
lượng nhân viên lái xe đang chờ lái.
- Phịng quản lý và điều hành xe phân cơng lái xe và xe làm nhiệm vụ chuyên chở
hàng hoá từ nơi giao tới nơi nhận.
- Lái xe nhận phiếu bàn giao chuyến đi rồi thực hiện chuyến đi.
342
- Lái xe được khoán chịu trách nhiệm về chuyến đi. Khi có sự cố trên đường, lái
xe ghi nhận vào sổ “Nhật ký đi đường”.
- Khi xe về bến, phòng điều hành xe cập nhật Xe về bến
- Định kỳ bảo dưỡng sửa chữa: Lái xe mang xe đi bảo dưỡng. Sau khi bảo dưỡng
nộp lại phiếu bảo dưỡng cho phòng quản lý và điều hành xe. Phòng quản lý điều hành xe
cập nhật thông tin bảo dưỡng sửa chữa vào sổ “Hồ sơ lý lịch xe”.
- Phòng quản lý và điều hành xe định kỳ gửi báo cáo về số lượng xe và nhân viên
đang hoạt động, số chuyến đi thực hiện lên ban giám đốc, phòng kế toán và kế hoạch.
Quản lý chuyến đi
Quản lý chuyến đi là một trong những cơng việc chính và quan trọng nhất trong
công tác quản lý xe.Quản lý chuyến đi của xe vận tải bao gồm nhiều vấn đề: đó là quản lý
xe, quản lý hành trình, quản lý tai nạn…
Khơng chỉ quản lý danh sách các chuyến đi, danh sách các vụ tai nạn, việc quản lý
chuyến đi còn bao gồm cả việc phân bổ xe và lái xe thích hợp vào từng chuyến. Do cơng
tác tin học hố hồn toàn chưa được thực hiện, nên việc phân bổ gặp nhiều khó khăn khi
việc tra cứu, tìm kiếm và phân bổ được thực hiện với bút, giấy và sổ sách.
Phiếu phân bổ cũng không được in, chỉ đựoc lưu lại trong sổ liênquancủa xe và lái
xe đựoc bố trí, việc tìm kiếm hay báo cáo chuyến đi là điều rất khó thực hiện và nếu có
được thực hiện, cũng mất rất nhiều thời gian.
Quản lý bảo dưỡng
Quản lý bảo dưỡng đóng vai trị quyết định trong cơng tác quản lý và điều hành
xe. Việc quản lý bảo dưỡng không được thực hiện đúng sẽ gây ảnh hưởng trực tiếp đến
chất lượng của xe, đến các chuyến đi vận chuyển hàng hoá của khách hàng, dẫn đến kết
quả hoạt động kinh doanh của cơng ty sẽ gặp khó khăn.
Mỗi xe đều có cuốn sổ riêng, ghi chép thơng tin về xe, về chuyến đi, về hành
trình…vv. Thơng tin về phụ tùng xe được ghi chép và thống kê lại sau mỗi chuyến đi
nhắm mục đích theo dõi tình hình bảo dưỡng và thay thế thiết bị phụ tùng ngay khi đến
hạn đảm bảo chất lượng cho mỗi chuyến đi.
343
Xe khi có phụ tùng cần thay thế hay bảo dưỡng đều đựoc ban điều hành đội xe
thống kê và báo cáo lên bộ phận quản lý, yêu cầu thay thế phụ tùng xe.
Lập báo cáo
Có rất nhiều báo cáo cần được lập phục vụ cho công tác điều hành và quản lý xe
vận tải, điều này được thể hiện như sau:
Các loại báo cáo
Báo cáo
về
lái xe
Báo cáo
về khách hàng
Báo cáo
về chuyến đi
Báo cáo
tai nạn
Báo cáo bảo dưỡng,
thay thế thiết bị
Hình P1. Các loại báo cáo trong doanh nghiệp ơ tơ
Do chưa được tin học hố nên hiện tại chỉ một phần trong số các báo cáo trên được lập
định kỳ nhưng việc lập mất nhiều thời gian do toàn bộ quy trình đều làm bằng tay.
P1.2. PHÂN TÍCH BÀI TOÁN QUẢN LÝ XE VẬN TẢI
+ Biểu đồ chức năng BFD
344
Quản lý xe vận tải
Quản lý lái xe
Cập nhật danh mục
Tìm kiếm lái xe
Quản lý chuyến đi
Quản lý bảo dưỡng dưỡngdưỡng Lập báo cáo
Cập nhật danh mục
Phân bổ chuyến đi
Cập nhật xe về
bến
Quản lý trung tu đại tu xe
Lập báo cáo về lái xe
Quản lý thay lốp
Lập báo cáo về chuyến đi
Quản lý thay bình điện
Lập báo cáo bảo dưỡng, sửa chữa
Tìm kiếm xe
Nhắc nhở bảo dưỡng định kỳ
Hình P2. Biểu đồ chức năng của hệ thống quản lý xe vận tải
+ Biểu đồ luồng dữ liệu DFD quản lý xe vận tải
345
Thông tin về xe
Yêu cầu vận chuyển
Quản lý xe tải Thông tin chuyến đi Lái xe
Khách hàng
Thông tin trả lời
Phiếu phân bổ
Yêu cầu báo cáo
Báo cáo
Bộ phận quản lý
Hình P3. Biểu đồ mức ngữ cảnh
346
● Biểu đồ DFD mức 0
Danh mục lái xe
Lái xe
Yêu
cầu
thông
Thông tin
cá nhân
Yêu
cầu
vận
chuyển
1.0.
Quản lý lái xe
tin
Khách hàng
xưxe
Thông
tin
trả lời
2.0.
Quản lý
chuyến đi
Phiếu
phân bổ
Lái xe
Danh mục xe
Danh mục hành trình
3.0. Quản lý
bảo dưỡng
4.0.Lập báo
cáo
Thơng
Thơng
tin
tin
hiện
chuyến
trạng
đi
xe
Lái xe
u
cầu
thơng
tin
Danh mục thiết bị
Báo
cáo
u
cầu
báo
cáo
Bộ phận quản lý
Hình P4. Biểu đồ DFD mức 0
347
● Biểu đồ DFD mức 1
● Biểu đồ DFD mức 1 Quản lý lái xe
Lái xe
Bộ phận quản lý
Thông tin
cá nhân
1.1.Cập nhật
danh mục
1.2.
Tim kiếm
Kết quả
tìm kiếm
u cầu
thơng tin
Danh mục lái xe
Hình P5. Biểu đồ DFD mức 1- Quản lý lái xe
348
● Biểu đồ mức 1 : Quản lý chuyến đi
Danh mục khách hàng
Danh mục xe
Khách hàng
Thông tin khách hàng
Khách hàng
Thông tin
trả lời
Yêu cầu
vận chuyển
2.1.
Cập nhật danh mục
Thông tin
trả lời
2.2.
Phân bổ chuyến đi
Thông tin chuyến đi
Phản hồi
Bộ phận quản lý
Kết quả tìm kiếm Yêu cầu
tìm xe
Danh mục hành trình
2.3.
Tìm kiếm
Danh mục xe
Danh mục tai nạn
Lái xe
Yêu cầu
thông tin
2.4.
Thông tin chuyến đi
Cập nhật xe về bến
Danh mục lái xe
Danh mục xe
Hình P6. Biểu đồ DFD mức 1- Quản lý chuyến đi
349
● Biểu đồ mức 1: Quản lý bảo dưỡng
Lái xe
Thông tin
hiện trạng xe
3.1.
Quản lý trung tu,
đại tu xe
Danh mục phiếu
bảo dưỡng thiết bị
3.3.
Quản lý thay bình
điện
Thơng tin
hiện trạng
bình điện
Lái xe
Thơng tin hiện
trạng lốp
Yêu cầu thông
tin
Yêu cầu thông
tin
3.2.
Quản lý thay lốp
Danh mục phiếu
thay bình điện
Lái xe
u cầu thơng
tin
Danh mục phiếu
thay lốp
3.4.
Nhắc nhở bảo
dưỡng định kỳ
Yêu cầu
theo dõi
Danh mục phiếu
bảo dưỡng thiết bị
Phiếu thay
thế, bảo
dưỡng thiết
bị
Bộ phận quản lý
Hình P7. Biểu đồ DFD mức 1- Quản lý bảo dưỡng
350
● Biểu đồ mức 1: Lập báo cáo
Bộ phận quản lý
Bộ phận quản lý
Yêu cầu
báo cáo
Báo cáo
về lái xe
Báo
cáo
chuyến đi
Yêu cầu
báo cáo
4.1.
Lập báo cáo về
lái xe
4.2.
Lập báo cáo
chuyến đi
Danh mục phiếu
thay bình điện
Danh mục lái xe
Danh mục phiếu
bảo dưỡng thiết bị
Danh mục hành trình
4.3.
Lập báo cáo bảo
dưỡng, sửa chữa
Yêu cầu
báo cáo
Danh mục phiếu
thay lốp
Phiếu thay
thế, bảo
dưỡng thiết
bị
Bộ phận quản lý
Hình P8. Biểu đồ DFD mức 1- Lập báo cáo
351
● Biểu đồ luồng thông tin IFD
+ Biểu đồ IFD: Phân bổ chuyến đi
Thời điểm
Khách hàng
- Khách hàng
u cầu vận
chuyển
hàng
hố
Thơng tin u
cầu
Ban điều hành xe
Lái xe
Tiếp nhận
u cầu
Khơng có
Thơng tin trả
lời
Tìm xe và lái xe
đáp ứng u cầu
khách hàng
Có
Lập phiếu phân
bổ
Thơng tin trả
lời
- Sau khi lập
phiếu
Phiếu phân
bổ
Hình P9. Biểu đồ IFD Phân bổ chuyến đi
352
+ Biểu đồ IFD: Xe về bến
Thời điểm
Lái xe
- Xe về bến
Ban điều hành xe
Phiếu
phân bổ
Tiếp nhận
yêu cầu
Thông tin
về chuyến đi
Tiếp nhận thông
tin
Thông tin
về phụ tùng xe
- Sau khi tiếp nhận thơng
tin
Ghi sổ
theo dõi
Hình P10. Biểu đồ IFD Xe về bến
P1.3. THIẾT KẾ BÀI TOÁN QUẢN LÝ XE VẬN TẢI
+ Thiết kế kiến kiến trúc phần mềm
353
Quản lý xe vận tải
Quản lý bảo dưỡng Lập báo cáo
Quản lý lái xeQuản lý chuyến đi
Hệ thống
Đăng nhập hệ thống
Cập nhật danh mục
Cập nhật danh mục
Quản lý trung tu đại tu xe
Báo cáo về lái xe
Trợ
giúp
Tài liệu hướng dẫn
Giới thiệu
Quản lý User Tìm kiếm lái xe Phân bổ chuyến đi Quản lý thay lốp Báo cáo chuyến đi
Liên hệ trực tuyến
Sao lưu CSDL
Cập nhật xe về bến
Quản lý thay bình
Báođiện
cáo bảo dưỡng, sửa chữa
Tìm kiếm Nhắc
xe nhở bảo dưỡng định kỳ
Hình P11. Mơ hình kiến trúc phần mềm quản lý xe vận tải
+ Thiết kế các bảng CSDL
● Bảng xe - Xe
N
1
2
3
4
Name
# MaXe
NhanHieu
NuocSX
SoDK
Type
Text
Text
Text
Text
Width
15
15
15
20
Description
Mã xe
Nhãn hiệu
Nước sản xuất
Số đăng ký
354
5
6
7
8
TaiTrong
MauSon
MaTTXe
ChuanBDTB
Number
Text
Text
Number
Integer
15
50
Long Integer
Tải trọng
Màu sơn
Ma trạng thái xe
Chuẩn trung tu
9
ChuanThayLop Number
15 SoKmDaDi
Number
● Bảng trạng thái xe - TTXe
Long Integer
Long Integer
Chuẩn thay lốp
Số Km đã đi
N
1
2
Width
15
50
Description
Mã trạng thái xe
Tên trạng thái
Name
#MaTTXe
TenTTXe
Type
Text
Text
xe
● Bảng nhân viên lái xe - NVLaiXe
N
1
2
3
4
5
6
Name
# MaLaiXe
HoDem
Ten
DienThoai
NamSinh
MaLoaiHinh
Type
Text
Text
Text
Text
Text
Text
Width
15
25
25
20
4
15
Description
Mã lái xe
Họ đệm
Tên
Điện thoại
Năm sinh
Mã loại hình nhân
viên lái xe
7
MaTTLaiXe
Text
15
Mã
trạng
thái
nhân viên lái xe
● Bảng loại hình nhân viên lái xe - LoaiHinhNV
N
1
Name
# MaLoaiHinh
Type
Text
Width
15
2
TenLoaiHinh
Text
25
Description
Mã loại hình nhân
viên lái xe
Tên loại hình nhân
viên lái xe
● Bảng trạng thái nhân viên lái xe – TTNVLaiXe
N
Name
Type
Width
Description
355
1
#MaTTLaiXe
Text
15
2
TenTTLaiXe
Text
25
Mã trạng thái nhân
viên lái xe
Tên trạng thái nhân
viên lái xe
● Bảng chuyến đi - ChuyenDi
N
1
2
3
4
5
6
7
8
Name
#MaChuyenDi
MaXe
LaiXe
PhuXe
NgayDi
NgayVeLT
NgayVeTT
MaHanhTrinh
Type
Text
Text
Text
Text
DATE/TIME
DATE/TIME
DATE/TIME
Text
Width
15
15
50
50
15
Description
Mã chuyến đi
Mã xe
Lái xe
Phụ xe
Ngày đi
Ngày về lý thuyết
Ngày về thực tế
Mã hành trình
● Bảng hành trình - HanhTrinh
N
1
2
3
4
5
6
Name
#MaHanhTrinh
TenHanhTrinh
NoiDi
NoiDen
NgayDi
MaLoaiHT
Type
Text
Text
Text
Text
DATE/TIME
DATE/TIME
Width
15
15
50
50
7
8
DoDai
ThoiGian
Number
Number
Long Integer
Long Integer
Description
Mã hành trình
Tên hành trình
Nơi đi
Nơi đến
Ngày đi
Mã loại hành
trình
Độ dài
Thời gian 1
hành trình
● Bảng loại hành trình - LoaiHanhTrinh
N
1
Name
#MaLoaiHT
Type dữ liệu
Text
Width
15
Description
Mã loại hành
2
TenLoaiHT
Text
25
trình
Tên loại hành
356
trình
● Bảng Phiếu thay lốp - PhieuThayLop
N
1
Name
#MaPhieuLop
Type
Text
Width
15
2
3
4
5
6
7
MaXe
NhanHieu
CoLop
SoLop
NgayDoi
SoKm
Text
Text
Text
Number
DATE/TIME
Number
15
25
25
Byte
Long Integer
Description
Mã phiếu thay
lốp
Mã xe
Nhãn hiệu
Cỡ lốp
Số lốp
Ngày thay
Số km đã đi
● Bảng phiếu thay bình điện - PhieuThayBD
N
1
Name
#MaPhieuBD
Type
Text
Width
15
2
3
4
5
6
7
MaXe
NhanHieu
NgayThay
SoLuong
KmDaChay
LyDoThay
Text
Text
DATE/TIME
Number
Number
Text
15
25
Long Integer
Long Integer
50
Description
Mã phiếu thay
bình điện
Mã xe
Nhãn hiệu
Ngày thay
Số lượng
Số km đã chạy
Lý do thay
● Bảng Phiếu bảo dưỡng toàn bộ - PhieuBDTB
N
1
Name
Type
#MaPhieuBDTB Text
Width
15
2
3
4
5
MaXe
KmDaChay
NgayBD
SoTienBD
15
Long Integer
Text
Number
Date/Time
Number
Long Integer
Description
Mã phiếu bảo
dưỡng toàn bộ
Mã xe
Số km đã chạy
Ngày bảo dưỡng
Tiền bảo dưỡng
357
● Bảng tai nạn - TaiNan
N
1
2
3
4
5
6
7
Name
#MaVuViec
MaChuyenDi
DiaDiem
NgayThang
LoaiTaiNan
TienThietHai
SoNgaySC
Type
Text
Text
Text
Date/Time
Text
Number
Number
Width
15
15
25
25
Long Integer
Long Integer
Description
Mã vụ việc
Mã chuyế đi
Địa điểm
Ngày tháng
Loại tai nạn
Tiền Thiệt hại
Số ngày sửa chữa
● Bảng khách hàng - KhachHang
N
1
2
3
4
5
6
Name
# MaKH
HoDem
Ten
NamSinh
DienThoai
DiaChi
Type
Text
Text
Text
Number
Text
Text
Width
15
25
25
Integer
20
30
Description
Mã lái xe
Họ đệm
Tên
Năm sinh
Điện thoại
Địa chỉ
● Bảng Đăng ký - DangKy
N
1
2
3
4
5
6
7
8
Name
#TenUser
Password
Quyen
HoVaTen
NgaySinh
DienThoai
SoCMDN
ChucDanh
Type
Text
Text
Text
Text
Date/Time
Text
Text
Text
Width
25
25
15
25
15
15
20
Description
Tên User
Password
Quyền
Họ và tên
Ngày sinh
Điện thoại
Số CMND
Chức danh
+ Thiết kế các giải thuật
Giải thuật phân bổ chuyến đi:
358
Bắt đầu
Mở form phân bổ chuyến đi
Cập nhật yêu cầu khách hàng
Tìm lái xe đáp ứng u cầu Khơng
Có
Tìm xe đáp ứng u cầu
Khơng
Có
Phân bổ lái xe và xe vào chuyến đi
Khơng
Trả lời u cầu
In phiếu phân bổ
Có
In phiếu phân bổ
Kết thúc
Hình P12. Giải thuật phân bổ chuyến đi
359
Giải thuật nhắc nhở bảo dưỡng:
Bắt đầu
Khai báo bản ghi mới,
lấy dữ liệu từ bảng Xe
KmDaDi := Số Km đã đi
ChuanBD := Chuẩn bảo dưỡng
ChuanTT : = Chuẩn thay thế
Sai
KmDaDi >=ChuanTT
Đúng
ChuanTT = KmDaDi + ChuanBD
Đưa ra màn hình danh sách xe cần bảo dưỡng thay thế thiết bị
Không
In phiếu nhắc nhở
Có
In phiếu nhắc nhở bảo dưỡng
Kết thúc
Hình P13. Giải thuật nhắc nhở bảo dưỡng
360
Giải thuật lập báo cáo:
Bắt đầu
Mở form lập báo cáo
Chọn loại báo cáo cần lập
Chọn tiêu thức lọc báo cáo
Nhập giá trị cần lọc
Sai
Kiểm tra giá trị lọc
Đúng
Chọn tiêu thức hiển thị báo cáo
Hiển thị kết quả
In báo cáo
Khơng
Có
In báo cáo
Bắt đầu
Hình P14. Giải thuật lập báo cáo
361
+ Thiết kế giao diện
Giao diện form đăng nhập hệ thống:
Hình P15. Giao diện form đăng nhập hệ thống
Form cập nhật danh mục xe:
Hình P16. Form cập nhật danh mục xe
362
Form phân bổ chuyến đi:
Hình P17. Form phân bổ chuyến đi
Form xe về bến:
Hình P18. Form xe về bến
Form nhắc nhở thay lốp:
363
Hình P19. Form nhắc nhở thay lốp
Form Báo cáo về xe:
Hình P20. Form Báo cáo về xe
Form Báo cáo chuyến đi:
364
Hình P21. Form Báo cáo chuyến đi
P2. BÀI TỐN QUẢN LÝ BÁN HÀNG
P2.1. MƠ TẢ BÀI TỐN BÁN HÀNG
Xét bài tốn bán hàng với các chức năng cơ bản. Phịng kinh doanh sau khi nhận được
đơn đặt hàng của khách hàng, sẽ liên hệ với các nhà cung cấp để tìm kiếm hàng hóa phù
hợp về chủng loại và giá cả. Sau đó cơng ty tiến hành nhập hàng hóa từ nhà cung cấp và
tiến hành các giao dịch thanh tốn với nhà cung cấp. Cơng ty bán hàng cho khách hàng
và thực hiện các giao dịch thanh toán với khách hàng. Bộ phận quản lý sẽ tiến hành lập
các báo cáo thống kê về nhập hàng, xuất hàng, các bảng cân đối thu chi tài chính.
Hệ thống phần mềm phải thực hiện được các chức năng chính sau đây:
+ Tạo lập Phiếu nhập hàng từ nhà cung cấp
+ Tạo lập hóa đơn bán hàng cho khách hàng
+ Quản lý khách hàng
+ Quản lý nhập hàng
+ Quản lý xuất hàng
+ Lập các báo cáo thống kê
+ Quản lý thu chi
365
Chương trình quản lý bán hàng sử dụng ngơn ngữ Microsoft Visual Studio phiên bản
2013 và dùng Microsoft SQL Server 2008 để lưu trữ dữ liệu. Chương trình được xây
dựng trên mơ hình ba lớp:
+ Lớp BussinessLogic: thực hiện các chức năng chính của hệ thống như thêm, xóa, sửa,
cập nhật...
+ Lớp DataAccess: thực hiện chức năng chính là tạo kết nối với cơ sở dữ liệu từ
Microsoft SQL Server 2008.
+ Lớp Quanlybanhang: chứa tất cả các form của chương trình, gọi đến lớp DataAccess
và BussinessLogic. Thực hiện các chức năng, hiển thị giao diện và cập nhật vào cơ sở dữ
liệu.
P2.2. XÂY DỰNG CÁC USE CASE
Tác nhân:
+ Khách hàng
+ Người bán hàng
+ Người quản lý
+ Nhà cung cấp
Khách hàng
Người bán hàng
Người quản lý
Nhà cung cấp
Hình P2.2. Các tác nhân của bài toán bán hàng
+ Use case tổng quát:
366