lOMoARcPSD| 61769897
1
lOMoARcPSD| 61769897
2
Nhiệm vụ
1
Đặt bài toán, phân ch bài toán và trình bày quy trình thao tác
ới dạng sơ đồ khối
2
Tổng hợp kiểm tra lại nội dung
Làm báo cáo và PP
Thư kí ghi lại ND buổi họp
3
Viết chương trình chạy Code bao gồm các menu lựa chọn thực
hiện các yêu cầu sau:
1. Nhập thông n sản phẩm
2. Xoá thông n 1 sản phẩm bất kỳ
4
Viết chương trình chạy Code bao gồm các menu lựa chọn thực
hiện các yêu cầu sau:
3. Cập nhật thông n sản phẩm
4. Tìm kiếm thông n sản phẩm
5
Hỗ trợ vẽ sơ đồ khối
Viết kịch bản thuyết trình
Thuyết trình phần bài làm của nhóm
lOMoARcPSD| 61769897
3
DANH SÁCH THÀNH VIÊN NHÓM 5
STT
Họ và tên
MSV
Nhiệm vụ
Đánh giá
Đi
m
1
Nguyễn Thị Nhung
Huyền
(Nhóm trưởng)
23D1900
20
NV1
Hoàn thành tốt
nhiệm vụ.
Tích cực tham
gia
y dựng bài
thảo luận.
2
Triệu Phúc Hương
23D19002
1
NV2
Hoàn thành tốt
nhiệm vụ.
Tích cực tham
gia
y dựng bài
thảo luận.
3
Nguyễn Trung Kiên
23D19002 2
NV3
Hoàn thành tốt
nhiệm vụ.
Tích cực tham
gia
y dựng bài
thảo luận.
4
Lê Thị Lan
23D19002
3
NV4
Hoàn thành tốt
nhiệm vụ.
Tích cực tham
gia xây dựng
lOMoARcPSD| 61769897
4
bài thảo
lun.
5
Đinh Thị Mai Linh
23D19002
4
NV5
Hoàn thành tốt
nhiệm vụ.
Tích cực tham
gia
y dựng bài
thảo luận.
lOMoARcPSD| 61769897
5
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tdo - Hạnh phúc
Hà Nội, ngày 18 tháng 11 năm 2023
BIÊN BẢN HỌP NHÓM (LẦN 1)
I. THỜI GIAN-ĐỊA ĐIỂM
1. Thời gian: 21h, ngày 18/12/2023
2. Địa điểm: Cuộc họp online trên Google Meet
II. THÀNH PHẦN THAM DỰ (5/5)
Nguyễn ThNhung Huyền (Nhóm trưởng), Triệu Phúc Hương, Nguyễn Trung Kiên,
Lê Thị Lan, Đinh Thị Mai Linh.
III. NỘI DUNG CUỘC HỌP
1.Nhóm trưởng đxuất phương án phân chia công việc theo nguyện vọng, các
thành viên đều tán thành.
2.Các ý kiến được thống nhất theo yêu cầu của đề bài thảo luận, chốt được nhiệm
vụ cụ thể của từng thành viên.
3.Cả nhóm thảo luận về những vấn đề trong từng câu hỏi mỗi thành viên phụ
trách.
4.Nhóm trưởng thống nhất thời gian làm bài và đặt hạn làm bài lần 1.
IV. KẾT LUẬN CUỘC HỌP
1.Các thành viên tham gia đầy đủ và ch cực thảo luận bàn bạc vấn đề được giao.
2.Cuộc họp diễn ra suôn sẻ và kết thúc vào 22h30 ngày 18 tháng 12 năm 2023.
Thư ký
Nhóm trưởng
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên)
Hương
Huyền
Triệu Phúc Hương
Nguyễn Thị Nhung Huyền
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tdo - Hạnh phúc
Hà Nội, ngày 22 tháng 12 năm 2023
BIÊN BẢN HỌP NHÓM (LẦN 2)
I. THỜI GIAN-ĐỊA ĐIỂM
1. Thời gian: 21h, ngày 30/11/2023
2. Địa điểm: Cuộc họp online trên Google Meet
lOMoARcPSD| 61769897
6
II. THÀNH PHẦN THAM DỰ (5/5)
Nguyễn Thị Nhung Huyền (Nhóm trưởng), Triệu Phúc Hương, Nguyễn Trung
Kiên, Lê Thị Lan, Đinh Thị Mai Linh.
III. NỘI DUNG CUỘC HỌP
1. Nhóm trưởng chỉ ra những thiếu sót của bài thảo luận, đưa ra hướng giải quyết vn
đề.
2. Các thành viên cho ý kiến và ến hành hoàn thiện bài thảo luận.
3. Thuyết trình thử và chuẩn bị thuyết trình chính thức
IV. KẾT LUẬN CUỘC HỌP
1. Các thành viên tham gia đầy đủ, ch cực đóng góp ý kiến cho bài thảo luận
nhóm.
2. Cuộc họp diễn ra suôn sẻ và kết thúc vào 23h30 ngày 22 tháng 12 năm 2023.
Thư ký
Nhóm trưởng
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên)
Hương
Huyền
Triệu Phúc Hương
Nguyễn Thị Nhung Huyền
MỤC LỤC
LỜI NÓI ĐẦU......................................................................................................................................8
A. ĐẶT BÀI TOÁN....................................................................................................................9
1. Đặt bài toán............................................................................................................................9
1.1. Quản lý tồn kho:.................................................................................................................9
1.2. Nhập và xuất kho:...............................................................................................................9
1.3. Quản lý đặt hàng và cung ứng:...........................................................................................9
1.4. Kiểm soát chất lượng:.........................................................................................................9
1.5. Quản lý vị trí lưu trữ:........................................................................................................10
1.6. Theo dõi thành phần sản phẩm:.......................................................................................10
1.7. Báo cáo và thống kê:.........................................................................................................10
1.8. Quản lý rủi ro:...................................................................................................................10
1.9. Tích hợp hệ thống:............................................................................................................10
1.10. Quản lý nhân sự:...........................................................................................................10
2. Nhập thông n sản phẩm.....................................................................................................11
2.1. Đầu vào (Input).................................................................................................................11
lOMoARcPSD| 61769897
7
2.2. Đầu ra (Outputs):..............................................................................................................11
2.3. Các trường hợp có thể xảy ra (Use Cases):.......................................................................11
3. Xóa mt thông n sản phẩm bất k......................................................................................12
3.1. Đầu vào (Inputs):..............................................................................................................12
3.2. Đầu ra (Outputs):..............................................................................................................12
3.3. Các trường hợp có thể xảy ra (Use Cases):.......................................................................12
4. Cập nhật thông n sản phẩm................................................................................................13
4.1. Đầu vào (Inputs):..............................................................................................................13
4.2. Đầu ra (Outputs):..............................................................................................................13
4.3. Các trường hợp có thể xảy ra (Use Cases):.......................................................................13
5. Tìm kiếm thông n sản phẩm...............................................................................................14
5.1. Đầu vào (Inputs):..............................................................................................................14
5.2. Đầu ra (Outputs):..............................................................................................................14
5.3. Các trường hợp có thể xảy ra (Use Cases):.......................................................................14
B. PHÂN TÍCH BÀI TOÁN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DẠNG SƠ ĐỒ KHỐI......15
1. Phân ch bài toán.................................................................................................................15
2. Sơ đồ khối từng chức năng...................................................................................................18
C. CÀI ĐT CHƯƠNG TRÌNH TRÊN PYTHON..........................................................................22
1. Nhập thông n sản phẩm.....................................................................................................22
1.1. Khởi tạo một danh sách trống để lưu trữ thông n các sản phẩm. kho_hang = []...........22
1.2. Kiểm tra định dạng mã sản phẩm....................................................................................22
1.3. Kiểm tra định dạng ngày tháng năm.................................................................................22
1.4. Kiểm tra định dạng tên sản phẩm.....................................................................................22
1.5. Hàm kiểm tra định dạng số ợng....................................................................................22
1.6. Hàm kiểm tra định dạng giá nhập.....................................................................................23
1.7. Hàm nhập thông n sản phẩm.........................................................................................23
1.8. Kiểm tra xem mã sản phẩm đã tồn tại trong kho_hang hay chưa....................................23
1.9. Nhập tên sản phẩm...........................................................................................................23
1.10. Nhập số ợng sản phẩm..............................................................................................24
1.11. Nhập giá nhập...............................................................................................................24
1.12. Nhập ngày nhập sản phẩm...........................................................................................24
1.13. Tạo một từ điển san_pham chứa các thông n vừa nhập và thêm vào danh sách
kho_hang......................................................................................................................................25
2. Xóa thông n sản phẩm........................................................................................................25
2.1. Kiểm tra danh sách kho_hang có trống không..................................................................25
3. Cập nhật thông n sản phẩm....................................................................................................26
lOMoARcPSD| 61769897
8
3.1. Kiểm tra danh sách kho_hang có trống không..................................................................26
3.2. Nhập mã sản phẩm cần cập nhật, kiểm tra định dạng và duyệt qua từng sản phẩm trong
danh sách kho_hang.....................................................................................................................26
3.3. Duyệt qua từng trường thông n trong danh sách trường thông n:..............................27
4. Tìm kiếm thông n sản phẩm...............................................................................................29
4.1. Kiểm tra danh sách kho_hang có trống không..................................................................29
4.2. Hiển thị menu lựa chọn m kiếm theo mã sản phẩm, tên sản phẩm hoặc cả hai.............29
4.3. Nếu từ khóa là "1" (m kiếm theo mã sản phẩm)............................................................29
4.4. Nếu từ khóa là "2" (m kiếm theo tên sản phẩm)............................................................30
4.5. Nếu từ khóa khác 1 và 2 thì thông báo êu chí không phù hợp rồi kết thúc....................31
5. Định nghĩa hàm hiển thị menu hien_thi_menu()..................................................................31
6. Chương trình quản lí kho......................................................................................................31
6.1. Trong vòng lặp, gọi hàm hien_thi_menu() để hiển thị menu cho người dùng..................31
6.2. Sử dụng câu lệnh if-elif-else để kiểm tra giá trị của lua_chon và thực hiện các chức năng
tương ứng:...................................................................................................................................32 KẾT
LUẬN..........................................................................................................................................33
LỜI NÓI ĐẦU
Quản kho trong doanh nghiệp một việc rất quan trọng hoạt động phát quản
phải ến hành nhiều việc phức tạp, các doanh nghiệp không chỉ hình tập trung
còn tổ chức nh kho phân tán trên nhiều địa điểm trong phạm vi vùng, quốc
gia, quốc tế. Quản lý thống nhất mô hình này trong kho không phải là việc đơn giản nếu
chỉ sử dụng phương pháp kho truyền thống.
Phần mềm quản lý kho hàng vật tư là một giải pháp ên ến. Nó là một hệ thống quản
đầy đủ các thông n về kho, cách thứ hàng hóa cũng như các nhiệm vụ nhập kho,
xuất khẩu nội bộ, kiểm kê cho vật tư và điều chỉnh luật tư sau khi kiểm kê.
Để xử thông n một cách nhanh chóng, chính xác phải hiệu quả thì ngành công
nghệ thông n đã phát triển tương đối phổ biến trên thế giới nói chung và việt nam nói
riêng, đã cung cấp cho chúng ta những biện pháp cần thiết đó. Đã qua đi thời gian
nh toán, những lưu trữ dữ liệu bằng các phương pháp thủ công truyền thống mang
nặng nh chất lạc hậu, lỗi thời. Công nghệ thông n đã đi vào các ngành với một
phương thức hoạt động hoàn toàn mới mẻ, sáng tạo và nhanh chóng mà không mất đi
sự chính xác.
Vic ứng dụng công nghệ thông n đã mang lại bước đột phá mới cho công tác quản lý
kho, giúp doanh nghip nắm bắt được thông n về hàng hóa, vật tư, nguyên vật liệu và
lOMoARcPSD| 61769897
9
sản phẩm một cách chính xác kịp thời. T đó người quản doanh nghiệp thể đưa
ra kế hoạch và quyết định đúng đắn giảm chi phí và tăng khả năng cạnh tranh, nâng cao
kết quả hoạt động sản xuất kinh doanh.
A. ĐT BÀI TOÁN
1. Đặt bài toán
1.1. Quản lý tồn kho:
Số ợng hàng tồn kho: Kiểu dữ liệu số nguyên. Phải giá trị không âm
(>= 0). Cần kiểm tra và chuẩn hóa để tránh các giá trị âm hoặc không hợp lệ.
Giá trị tồn kho: Kiểu dliệu là sthực. Cần kiểm tra và đảm bảo giá trị không
âm.
Phân loại ng a trong kho (theo nhóm, loại sản phẩm): Chuẩn hóa theo
hệ thống phân loại nội bộ của công ty. Tránh trùng lặp hoặc sự không nhất
quán trong cách phân loại.
Theo dõi theo đơn vị đo (đơn vị, kg, lit): Thực hiện chuẩn hóa các đơn vị đo,
đảm bảo nh nhất quán.
1.2. Nhập và xuất kho:
Lịch sử nhập và xuất hàng từ kho.
Ngày giờ giao dịch: u trới dạng định dạng ngày giờ chuẩn, dụ: ISO
8601, dd/mm/yyyy hh:mm:ss.
Số ợng hàng nhập và xuất: Kiểu dliệu số nguyên. Đảm bảo giá trị không
âm.
Thông n người thực hiện giao dịch: Liên kết với hồ nhân viên, đảm bảo
nh chính xác và không trùng lp.
1.3. Quản lý đặt hàng và cung ứng:
Theo dõi lịch sử đặt hàng và nhà cung ứng.
Thông n về số ợng đặt hàng, ngày đặt hàng, dự kiến ngày nhận ng:
Đảm bảo định dạng ngày tháng hợp lệ và chuẩn.
Tình trạng đặt hàng ã gửi, đang vận chuyển, đã nhận): Sdụng tập giá tr
nhất quán (ví dụ: "Đã gửi", "Đang vận chuyển", "Đã nhận").
1.4. Kiểm soát chất lượng:
Thông n về chất lượng sản phẩm trong kho.
Ngày sản xuất và hạn sử dụng: Lưu trữ theo định dạng ngày tháng, đảm bảo
nh hợp lệ.
lOMoARcPSD| 61769897
10
Kết qukiểm tra chất lượng (nếu có): Sử dụng tập giá trị (ví dụ: "Đạt", "Không
đạt").
1.5. Quản lý vị trí lưu trữ:
Vị trí cụ thcủa sản phẩm trong kho: Đảm bảo sự duy nhất nh nhất quán.
Dữ liệu về khu vực lưu trữ, giá đỡ, khu vực pallet, v.v…:
Chuẩn hóa và tránh trùng lp.
1.6. Theo dõi thành phần sản phẩm:
Thông n về thành phần của từng sản phm: Chuẩn a theo các nguyên tắc
của ngành café, tránh trùng lặp.
Đặc nh kỹ thuật và thông số kỹ thuật: Chuẩn hóa theo yêu cầu công ty
1.7. Báo cáo và thống kê:
Báo cáo tồn kho định kỳ: Đảm bảo định dạng và nh nhất quán.
Báo cáo về doanh số bán hàng doanh thu tkho: Đảm bảo các số liu
thống kê được lưu trữ với kiểu dữ liệu phù hợp, chẳng hạn như số nguyên
hay số thập phân.
Thống kê về số ợng hàng tồn kho theo loại sản phẩm:
Chuẩn hóa và đảm bảo sự chính xác.
1.8. Quản lý rủi ro:
Theo dõi đánh giá rủi ro trong quá trình vận chuyển lưu kho: Chuẩn hóa
theo các êu chuẩn an toàn và bảo mật.
Hệ thống bảo hiểm cho kho hàng (nếu có).
1.9. Tích hợp hệ thống:
Liên kết với hthống quản doanh nghiệp (ERP) đtối ưu hóa quy trình
kinh doanh: Đảm bảo sự tương thích và nh nhất quán.
Tích hợp các hệ thống thanh toán và quản lý khách hàng:
Đảm bảo sự tương thích và nh nhất quán.
1.10. Quản lý nhân sự:
Thông n về nhân viên liên quan đến quản lý kho: Liên kết với hồ nhân
viên và đảm bảo rằng thông n nhân sự là chính xác và không trùng lp.
Quyền truy cập và chấm công.
lOMoARcPSD| 61769897
11
Những thuộc nh này cần được cập nhật theo dõi đều đặn để đảm bảo rằng quá
trình quản kho của công ty diễn ra mượt và hiệu quả. Đồng thời, sự minh bạch
và theo dõi chặt chẽ giúp ngăn chặn sự mất mát và tối ưu hóa quản lý tồn kho.
2. Nhập thông n sản phẩm
2.1. Đầu vào (Input)
2.1.1. Mã sản phẩm (Product Code):
Loại: Chuỗi ký tự
Yêu cầu: Độc nhất, không trùng lặp, gồm 5 kí tự chữ in hoa và số
Định dạng: Ví dụ: "ABCD1"
2.1.2. Tên sản phẩm (Product Name):
Loại: Chuỗi ký tự
Yêu cầu: Không trống, không có ký tự đặc biệt
Định dạng: Ví dụ: "Cafe1"
2.1.3. Số ợng (Quanty):
Loại: Số nguyên
Yêu cầu: Lớn hơn 0
2.1.4. Giá nhập (Unit Cost):
Loại: Số thập phân
Yêu cầu: Lớn hơn hoặc bằng 0
2.1.5. Ngày nhập (Entry Date):
Loại: Ngày
Yêu cầu: Định dạng ngày hợp lệ (vd: dd/mm/yyyy)
2.2. Đầu ra (Outputs):
2.2.1. Thông báo thành công:
Hiển thị thông báo khi nhập thông n sản phẩm thành công.
2.2.2. Thông báo lỗi:
Hiển thị thông báo nếu có lỗi nhập liệu, ví dụ: mã sản phẩm đã tồn ti, thiếu
thông n bắt buộc, dliệu không hợp lệ, v.v.
2.3. Các trường hợp có thể xảy ra (Use Cases):
2.3.1. Nhp sản phẩm mới:
Người dùng nhập đầy đủ thông n cho sản phẩm mới.
2.3.2. Lỗi nhập liu:
Người dùng bỏ trống một hoặc nhiều trường thông n bắt buộc.
Người dùng nhập số ợng âm hoặc giá nhập là một giá trị không hợp lệ.
2.3.3. Trùng lặp mã sản phẩm:
Người dùng nhập một mã sản phẩm đã tồn tại trong hệ thống.
2.3.4. Ngày nhập không hợp lệ:
Người dùng nhập một ngày không hợp lệ hoc không tuân theo định dạng.
2.3.5. Thành công:
lOMoARcPSD| 61769897
12
Người dùng nhập đúng thông n sản phẩm được thêm vào hthống
thành công.
Các trường hợp này giúp xác định các kịch bản khác nhau mà chức năng cần
xử đảm bảo nh đầy đủ và chính xác của thông n trong hệ thống quản
lý tồn kho.
*Ghi chú: Các trường hợp này giúp xác định các kịch bản khác nhau mà chức năng cần
xử đảm bảo nh đầy đủ và chính xác của thông n trong hthống quản tồn kho.
3. Xóa một thông n sản phẩm bất k
3.1. Đầu vào (Inputs):
Mã sản phẩm (Product Code):
Loại: Chuỗi ký tự
Yêu cầu: Độc nhất, phải tồn ti trong hệ thống Định dạng: dụ:
"ABCD1"
3.2. Đầu ra (Outputs):
3.2.1. Thông báo thành công:
Hiển thị thông báo khi xóa thông n sản phẩm thành công.
3.2.2. Thông báo lỗi:
Hiển thị thông báo nếu có lỗi xóa thông n, ví dụ: mã sản phẩm không tồn tại, lỗi
hệ thống, v.v.
3.3. Các trường hợp có thể xảy ra (Use Cases):
3.3.1. Xóa sản phẩm tồn tại:
Người dùng nhập mã sản phẩm hợp lệ và tồn tại trong hệ thống để xóa.
3.3.2. Lỗi nhập liệu:
Người dùng không nhập mã sản phẩm hoặc nhập một định dạng không hợp lệ.
3.3.3. Sản phẩm không tồn tại:
Người dùng nhập mã sản phẩm không tồn tại trong hệ thống.
3.3.4. Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện xóa, ví dụ: mất kết nối, lỗi cơ sở dữ liu.
3.3.5. Thành công:
Người dùng xóa sản phẩm thành công và hệ thống cập nhật dữ liu.
*Ghi chú:
Trước khi xóa, thể cần xác nhận từ người dùng để đảm bảo họ không xóa
thông n sản phẩm một cách vô nh.
lOMoARcPSD| 61769897
13
Nếu sản phẩm liên kết với các giao dịch khác (ví dụ: các đơn đặt hàng), cần
xác nhận xóa để tránh mất dữ liệu quan trọng.
Các trường hợp này giúp định các nh huống mà chức năng xóa thông n sản
phẩm cần xử đảm bảo nh chính xác an toàn trong quá trình xóa d liu.
4. Cập nhật thông n sản phẩm
4.1. Đầu vào (Inputs):
4.1.1. Mã sản phẩm (Product Code): Loại: Chuỗi ký tự
Yêu cầu: Độc nhất, phải tồn tại trong hthng
Định dạng: Ví dụ: "ABCD1" 4.1.2. Thông n cần cập nhật:
Một hoặc nhiều trường thông n như tên sản phẩm, số ợng, giá nhập, ngày
nhập, v.v.
4.2. Đầu ra (Outputs):
4.2.1. Thông báo thành công:
Hiển thị thông báo khi cập nhật thông n sản phẩm thành công.
4.2.2. Thông báo lỗi:
Hiển thị thông báo nếu có lỗi cập nhật thông n, ví dụ: mã sản phẩm không tồn
tại, lỗi hệ thống, dữ liệu không hợp lệ, v.v.
4.3. Các trường hợp có thể xảy ra (Use Cases):
4.3.1. Cập nhật thông n cơ bản:
Người dùng cập nhật một số thông n cơ bản như tên sản phẩm hoặc số ợng.
4.3.2. Cập nhật giá nhập:
Người dùng chỉ cập nhật giá nhập của sản phm.
4.3.3. Cập nhật ngày nhập:
Người dùng chỉ cập nhật ngày nhập của sản phẩm.
4.3.4. Lỗi nhập liu:
Người dùng không nhập mã sản phẩm hoặc nhập một định dạng không hợp lệ.
Dữ liệu nhập không hợp lệ, ví dụ: số ợng âm.
4.3.5. Sản phẩm không tồn tại:
Người dùng nhập mã sản phẩm không tồn tại trong hệ thống.
4.3.6. Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện cập nhật, ví dụ: mất kết nối, lỗi cơ sở dữ liu.
4.3.7. Thành công:
Người dùng cập nhật thông n sản phẩm thành công hthống cập nhật dữ
liu.
lOMoARcPSD| 61769897
14
*Ghi chú:
Trước khi cập nhật, thcần kiểm tra xác nhận từ người dùng đđảm bảo rằng
họ đang cập nhật đúng thông n.
Nếu sản phẩm liên kết với các giao dịch khác (ví dụ: các đơn đặt hàng), cần
xác nhận cập nhật để tránh mất dữ liệu quan trọng.
Các trường hợp này giúp định rõ các nh huống chức năng cập nhật thông
n sản phẩm cần xử lý và đảm bảo nh chính xác và an toàn trong quá trình cp
nhật dữ liu.
5. Tìm kiếm thông n sản phẩm
5.1. Đầu vào (Inputs):
5.1.1. Mã sản phẩm (Product Code):
Loại: Chuỗi ký tự
Yêu cầu: Độc nhất, phải tồn tại trong hệ thng
Định dạng: Ví dụ: "ABCD1"
Hoặc
5.1.2. Tên sản phẩm (Product Name):
Loại: Chuỗi ký tự
Yêu cầu: Không trống, không có ký tự đặc biệt
Định dạng: Ví dụ: "Cafe1"
5.2. Đầu ra (Outputs):
5.2.1. Danh sách thông n sản phẩm m kiếm được:
Liệt kê thông n các sản phm.
5.2.2. Thông báo không m thấy:
Hiển thị thông báo nếu không có sản phm
5.2.3. Thông báo lỗi:
Hiển thị thông báo nếu lỗi trong quá trình m kiếm, dụ: lỗi hthống, dữ
liệu không hợp lệ, v.v.
5.3. Các trường hợp có thể xảy ra (Use Cases):
5.3.1. Tìm kiếm theo tên sản phm:
Người dùng nhập tên sản phẩm để m kiếm.
5.3.2. Tìm kiếm theo mã sản phẩm:
Người dùng nhập mã sản phẩm để m kiếm.
5.3.3. Tìm kiếm theo nhiều êu chí:
lOMoARcPSD| 61769897
15
Người dùng nhập cả tên sản phẩm và mã sản phẩm để m kiếm.
5.3.4. Không m thấy sản phẩm:
Người dùng nhập từ khóa không phù hợp hoặc không có sản phẩm nào phù hp
với êu chí m kiếm.
5.3.5. Lỗi nhập liu:
Người dùng không nhập từ khóa m kiếm hoặc nhập một định dạng không hợp
lệ.
5.3.6. Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện m kiếm, ví dụ: mất kết nối, lỗi cơ sở dữ liu.
5.3.7. Thành công:
Người dùng m kiếm thông n sản phẩm thành công hệ thống trả về thông
n sản phẩm cần m kiếm.
*Ghi chú:
Có thể hỗ trợ m kiếm theo nhiều êu chí để cung cấp kết quả chính xác hơn.
Sử dụng các phương pháp m kiếm linh hoạt, dụ: m kiếm dấu, không phân
biệt chữ hoa/chữ thường.
Cung cấp gợi ý cho người dùng khi họ nhập từ khóa để m kiếm.
B. PHÂN TÍCH BÀI TOÁN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DẠNG SƠ ĐỒ
KHỐI
1. Phân ch bài toán
ới đây là phân ch bài toán xây dựng chương trình quản lý kho hàng gồm 4 chức
năng: nhập thông n sản phẩm, xóa thông n sản phẩm, cập nhật thông n sản phẩm
và m kiếm thông n sản phẩm của công ty Vinacafé Biên Hòa.
Yêu cầu: Chương trình quản lý kho hàng của công ty Vinacafé Biên Hòa cần đáp
ứng các yêu cầu sau:
* Quản lý thông n của tất cả các sản phẩm của công ty, bao gồm:
Mã sản phẩm
Tên sản phẩm
Giá sản phẩm
Số ợng sản phẩm
Ngày nhập sản phẩm
* Cho phép người dùng nhập, xóa, cập nhật và m kiếm thôngn sản
phẩm một cách dễ dàng và nhanh chóng. * Đảm bảo nh chính xác và an
toàn của dữ liu.
lOMoARcPSD| 61769897
16
Phân ch: Để đáp ứng các yêu cầu trên, chương trình quản kho ng cần
cấu trúc cơ bản như sau:
Cơ sở dữ liệu (Database): Lưu trữ tất cả thông n sản phẩm của công ty.
Giao diện người ng (User Interface): Cho phép người dùng tương tác vi
chương trình.
Lớp xử lý (Processing Layer): Thực hiện các chức năng nhập, xóa, cập nhật m
kiếm thông n sản phm.
Chức năng nhập thông n sản phẩm: Chức ng này cho phép người dùng nhập
thông n của một sản phẩm mới vào cơ sở dliệu. Thông n sản phẩm cần được
nhập theo một format nhất định. Chương trình cần kiểm tra nh hợp lệ của dữ
liệu nhập vào trước khi lưu trữ vào cơ sở dữ liu.
Chức năng xóa thông n sản phẩm: Chức năng này cho phép ngưi dùng xóa thông
n của một sản phẩm khỏi sở dữ liệu. Chương trình cần kiểm tra nh tồn tại của
sản phẩm trước khi xóa.
Chức năng cập nhật thông n sản phẩm: Chức năng này cho phép người dùng cập
nhật thông n của một sản phẩm đã có trong cơ sở dữ liệu. Chương trình cần kiểm
tra nh tồn tại của sản phẩm trước khi cập nht.
Chức năng m kiếm thông n sản phẩm: Chức năng này cho phép người dùng m
kiếm thông n của một sản phẩm trong cơ sở dữ liệu. Người dùng có thể m kiếm
theo mã sản phẩm, tên sản phẩm, loại sản phẩm,...
Thực hiện: Sử dụng ngôn ngữ lập trình Python đthực hiện chương trình quản
lý kho hàng
Trên đây là phân ch bài toán xây dựng chương trình quản lý kho hàng gồm 4
chức năng: nhập thông n sản phẩm, xóa thông n sản phẩm, cập nhật thông
n sản phẩm và m kiếm thông n sản phẩm của công ty Vinacafé Biên Hòa.
Tiếp theo là quy trình thao tác dưới dạng sơ đồ khi…
lOMoARcPSD| 61769897
17
2. Sơ đồ khối từng chức năng
Tìm kiếm thông n sản phẩm
lOMoARcPSD| 61769897
18
Cập nhật thông n sản phẩm
Nhập sản phẩm
hoặc tên sản phẩm
phẩm có tn
Thông báo không
m thy sản phẩm
Hiển thị thông n sản
Kết thúc
lOMoARcPSD| 61769897
19
Xóa thông n sản phẩm bất kì
Nhập sản
phẩm
Sản phẩm không
lOMoARcPSD| 61769897
20
Nhập thứ tự sản phẩm
Kết thúc

Preview text:

lOMoAR cPSD| 61769897 1 lOMoAR cPSD| 61769897 Nhiệm vụ
Đặt bài toán, phân tích bài toán và trình bày quy trình thao tác 1
dưới dạng sơ đồ khối
Tổng hợp kiểm tra lại nội dung 2 Làm báo cáo và PP
Thư kí ghi lại ND buổi họp
Viết chương trình chạy Code bao gồm các menu lựa chọn thực hiện các yêu cầu sau: 3
1. Nhập thông tin sản phẩm
2. Xoá thông tin 1 sản phẩm bất kỳ
Viết chương trình chạy Code bao gồm các menu lựa chọn thực hiện các yêu cầu sau: 4
3. Cập nhật thông tin sản phẩm
4. Tìm kiếm thông tin sản phẩm
Hỗ trợ vẽ sơ đồ khối 5
Viết kịch bản thuyết trình
Thuyết trình phần bài làm của nhóm 2 lOMoAR cPSD| 61769897
DANH SÁCH THÀNH VIÊN NHÓM 5 Nhiệm vụ Điể STT Họ và tên MSV Đánh giá m Nguyễn Thị Nhung 23D1900 NV1 Hoàn thành tốt Huyền 20 nhiệm vụ. (Nhóm trưởng) Tích cực tham gia 1 xây dựng bài thảo luận. Triệu Phúc Hương 23D19002 NV2 Hoàn thành tốt 1 nhiệm vụ. Tích cực tham gia 2 xây dựng bài thảo luận. Nguyễn Trung Kiên NV3 Hoàn thành tốt nhiệm vụ. Tích cực tham gia 3 23D19002 2 xây dựng bài thảo luận. 4 Lê Thị Lan 23D19002 NV4 Hoàn thành tốt 3 nhiệm vụ. Tích cực tham gia xây dựng 3 lOMoAR cPSD| 61769897 bài thảo luận. Đinh Thị Mai Linh 23D19002 NV5 Hoàn thành tốt 4 nhiệm vụ. Tích cực tham gia 5 xây dựng bài thảo luận. 4 lOMoAR cPSD| 61769897
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày 18 tháng 11 năm 2023
BIÊN BẢN HỌP NHÓM (LẦN 1) I.
THỜI GIAN-ĐỊA ĐIỂM
1. Thời gian: 21h, ngày 18/12/2023
2. Địa điểm: Cuộc họp online trên Google Meet
II. THÀNH PHẦN THAM DỰ (5/5)
Nguyễn Thị Nhung Huyền (Nhóm trưởng), Triệu Phúc Hương, Nguyễn Trung Kiên,
Lê Thị Lan, Đinh Thị Mai Linh.
III. NỘI DUNG CUỘC HỌP
1.Nhóm trưởng đề xuất phương án phân chia công việc theo nguyện vọng, các
thành viên đều tán thành.
2.Các ý kiến được thống nhất theo yêu cầu của đề bài thảo luận, chốt được nhiệm
vụ cụ thể của từng thành viên.
3.Cả nhóm thảo luận về những vấn đề trong từng câu hỏi mà mỗi thành viên phụ trách.
4.Nhóm trưởng thống nhất thời gian làm bài và đặt hạn làm bài lần 1.
IV. KẾT LUẬN CUỘC HỌP
1.Các thành viên tham gia đầy đủ và tích cực thảo luận bàn bạc vấn đề được giao.
2.Cuộc họp diễn ra suôn sẻ và kết thúc vào 22h30 ngày 18 tháng 12 năm 2023. Thư ký Nhóm trưởng
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên) Hương Huyền Triệu Phúc Hương Nguyễn Thị Nhung Huyền
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày 22 tháng 12 năm 2023
BIÊN BẢN HỌP NHÓM (LẦN 2)
I. THỜI GIAN-ĐỊA ĐIỂM
1. Thời gian: 21h, ngày 30/11/2023
2. Địa điểm: Cuộc họp online trên Google Meet 5 lOMoAR cPSD| 61769897
II. THÀNH PHẦN THAM DỰ (5/5)
Nguyễn Thị Nhung Huyền (Nhóm trưởng), Triệu Phúc Hương, Nguyễn Trung
Kiên, Lê Thị Lan, Đinh Thị Mai Linh.
III. NỘI DUNG CUỘC HỌP
1. Nhóm trưởng chỉ ra những thiếu sót của bài thảo luận, đưa ra hướng giải quyết vấn đề.
2. Các thành viên cho ý kiến và tiến hành hoàn thiện bài thảo luận.
3. Thuyết trình thử và chuẩn bị thuyết trình chính thức
IV. KẾT LUẬN CUỘC HỌP
1. Các thành viên tham gia đầy đủ, tích cực đóng góp ý kiến cho bài thảo luận nhóm.
2. Cuộc họp diễn ra suôn sẻ và kết thúc vào 23h30 ngày 22 tháng 12 năm 2023. Thư ký Nhóm trưởng
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên) Hương Huyền Triệu Phúc Hương Nguyễn Thị Nhung Huyền MỤC LỤC
LỜI NÓI ĐẦU......................................................................................................................................8 A.
ĐẶT BÀI TOÁN....................................................................................................................9 1.
Đặt bài toán............................................................................................................................9 1.1.
Quản lý tồn kho:.................................................................................................................9 1.2.
Nhập và xuất kho:...............................................................................................................9 1.3.
Quản lý đặt hàng và cung ứng:...........................................................................................9 1.4.
Kiểm soát chất lượng:.........................................................................................................9 1.5.
Quản lý vị trí lưu trữ:........................................................................................................10 1.6.
Theo dõi thành phần sản phẩm:.......................................................................................10 1.7.
Báo cáo và thống kê:.........................................................................................................10 1.8.
Quản lý rủi ro:...................................................................................................................10 1.9.
Tích hợp hệ thống:............................................................................................................10 1.10.
Quản lý nhân sự:...........................................................................................................10 2.
Nhập thông tin sản phẩm.....................................................................................................11 2.1.
Đầu vào (Input).................................................................................................................11 6 lOMoAR cPSD| 61769897 2.2.
Đầu ra (Outputs):..............................................................................................................11 2.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................11
3. Xóa một thông tin sản phẩm bất kỳ......................................................................................12 3.1.
Đầu vào (Inputs):..............................................................................................................12 3.2.
Đầu ra (Outputs):..............................................................................................................12 3.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................12
4. Cập nhật thông tin sản phẩm................................................................................................13 4.1.
Đầu vào (Inputs):..............................................................................................................13 4.2.
Đầu ra (Outputs):..............................................................................................................13 4.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................13
5. Tìm kiếm thông tin sản phẩm...............................................................................................14 5.1.
Đầu vào (Inputs):..............................................................................................................14 5.2.
Đầu ra (Outputs):..............................................................................................................14 5.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................14 B.
PHÂN TÍCH BÀI TOÁN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DẠNG SƠ ĐỒ KHỐI......15
1. Phân tích bài toán.................................................................................................................15
2. Sơ đồ khối từng chức năng...................................................................................................18 C.
CÀI ĐẶT CHƯƠNG TRÌNH TRÊN PYTHON..........................................................................22 1.
Nhập thông tin sản phẩm.....................................................................................................22 1.1.
Khởi tạo một danh sách trống để lưu trữ thông tin các sản phẩm. kho_hang = []...........22 1.2.
Kiểm tra định dạng mã sản phẩm....................................................................................22 1.3.
Kiểm tra định dạng ngày tháng năm.................................................................................22 1.4.
Kiểm tra định dạng tên sản phẩm.....................................................................................22 1.5.
Hàm kiểm tra định dạng số lượng....................................................................................22 1.6.
Hàm kiểm tra định dạng giá nhập.....................................................................................23 1.7.
Hàm nhập thông tin sản phẩm.........................................................................................23 1.8.
Kiểm tra xem mã sản phẩm đã tồn tại trong kho_hang hay chưa....................................23 1.9.
Nhập tên sản phẩm...........................................................................................................23 1.10.
Nhập số lượng sản phẩm..............................................................................................24 1.11.
Nhập giá nhập...............................................................................................................24 1.12.
Nhập ngày nhập sản phẩm...........................................................................................24 1.13.
Tạo một từ điển san_pham chứa các thông tin vừa nhập và thêm vào danh sách
kho_hang......................................................................................................................................25 2.
Xóa thông tin sản phẩm........................................................................................................25 2.1.
Kiểm tra danh sách kho_hang có trống không..................................................................25
3. Cập nhật thông tin sản phẩm....................................................................................................26 7 lOMoAR cPSD| 61769897 3.1.
Kiểm tra danh sách kho_hang có trống không..................................................................26 3.2.
Nhập mã sản phẩm cần cập nhật, kiểm tra định dạng và duyệt qua từng sản phẩm trong
danh sách kho_hang.....................................................................................................................26 3.3.
Duyệt qua từng trường thông tin trong danh sách trường thông tin:..............................27 4.
Tìm kiếm thông tin sản phẩm...............................................................................................29 4.1.
Kiểm tra danh sách kho_hang có trống không..................................................................29 4.2.
Hiển thị menu lựa chọn tìm kiếm theo mã sản phẩm, tên sản phẩm hoặc cả hai.............29 4.3.
Nếu từ khóa là "1" (tìm kiếm theo mã sản phẩm)............................................................29 4.4.
Nếu từ khóa là "2" (tìm kiếm theo tên sản phẩm)............................................................30 4.5.
Nếu từ khóa khác 1 và 2 thì thông báo tiêu chí không phù hợp rồi kết thúc....................31
5. Định nghĩa hàm hiển thị menu hien_thi_menu()..................................................................31
6. Chương trình quản lí kho......................................................................................................31 6.1.
Trong vòng lặp, gọi hàm hien_thi_menu() để hiển thị menu cho người dùng..................31 6.2.
Sử dụng câu lệnh if-elif-else để kiểm tra giá trị của lua_chon và thực hiện các chức năng
tương ứng:...................................................................................................................................32 KẾT
LUẬN..........................................................................................................................................33 LỜI NÓI ĐẦU
Quản lý kho trong doanh nghiệp là một việc rất quan trọng là hoạt động phát quản lý
phải tiến hành nhiều việc phức tạp, các doanh nghiệp không chỉ có mô hình tập trung
mà còn tổ chức mô hình kho phân tán trên nhiều địa điểm trong phạm vi vùng, quốc
gia, quốc tế. Quản lý thống nhất mô hình này trong kho không phải là việc đơn giản nếu
chỉ sử dụng phương pháp kho truyền thống.
Phần mềm quản lý kho hàng vật tư là một giải pháp tiên tiến. Nó là một hệ thống quản
lý đầy đủ các thông tin về kho, cách thứ hàng hóa cũng như các nhiệm vụ nhập kho,
xuất khẩu nội bộ, kiểm kê cho vật tư và điều chỉnh luật tư sau khi kiểm kê.
Để xử lý thông tin một cách nhanh chóng, chính xác phải có hiệu quả thì ngành công
nghệ thông tin đã phát triển tương đối phổ biến trên thế giới nói chung và việt nam nói
riêng, nó đã cung cấp cho chúng ta những biện pháp cần thiết đó. Đã qua đi thời gian
tính toán, những lưu trữ dữ liệu bằng các phương pháp thủ công truyền thống mang
nặng tính chất lạc hậu, lỗi thời. Công nghệ thông tin đã đi vào các ngành với một
phương thức hoạt động hoàn toàn mới mẻ, sáng tạo và nhanh chóng mà không mất đi sự chính xác.
Việc ứng dụng công nghệ thông tin đã mang lại bước đột phá mới cho công tác quản lý
kho, giúp doanh nghiệp nắm bắt được thông tin về hàng hóa, vật tư, nguyên vật liệu và 8 lOMoAR cPSD| 61769897
sản phẩm một cách chính xác kịp thời. Từ đó người quản lý doanh nghiệp có thể đưa
ra kế hoạch và quyết định đúng đắn giảm chi phí và tăng khả năng cạnh tranh, nâng cao
kết quả hoạt động sản xuất kinh doanh. A. ĐẶT BÀI TOÁN 1. Đặt bài toán 1.1. Quản lý tồn kho:
• Số lượng hàng tồn kho: Kiểu dữ liệu là số nguyên. Phải là giá trị không âm
(>= 0). Cần kiểm tra và chuẩn hóa để tránh các giá trị âm hoặc không hợp lệ.
• Giá trị tồn kho: Kiểu dữ liệu là số thực. Cần kiểm tra và đảm bảo giá trị không âm.
• Phân loại hàng hóa trong kho (theo nhóm, loại sản phẩm): Chuẩn hóa theo
hệ thống phân loại nội bộ của công ty. Tránh trùng lặp hoặc sự không nhất
quán trong cách phân loại.
• Theo dõi theo đơn vị đo (đơn vị, kg, lit): Thực hiện chuẩn hóa các đơn vị đo,
đảm bảo tính nhất quán. 1.2. Nhập và xuất kho:
• Lịch sử nhập và xuất hàng từ kho.
• Ngày giờ giao dịch: Lưu trữ dưới dạng định dạng ngày giờ chuẩn, ví dụ: ISO 8601, dd/mm/yyyy hh:mm:ss.
• Số lượng hàng nhập và xuất: Kiểu dữ liệu số nguyên. Đảm bảo giá trị không âm.
• Thông tin người thực hiện giao dịch: Liên kết với hồ sơ nhân viên, đảm bảo
tính chính xác và không trùng lặp. 1.3.
Quản lý đặt hàng và cung ứng:
• Theo dõi lịch sử đặt hàng và nhà cung ứng.
• Thông tin về số lượng đặt hàng, ngày đặt hàng, và dự kiến ngày nhận hàng:
Đảm bảo định dạng ngày tháng hợp lệ và chuẩn.
• Tình trạng đặt hàng (đã gửi, đang vận chuyển, đã nhận): Sử dụng tập giá trị
nhất quán (ví dụ: "Đã gửi", "Đang vận chuyển", "Đã nhận"). 1.4.
Kiểm soát chất lượng:
• Thông tin về chất lượng sản phẩm trong kho.
• Ngày sản xuất và hạn sử dụng: Lưu trữ theo định dạng ngày tháng, đảm bảo tính hợp lệ. 9 lOMoAR cPSD| 61769897
• Kết quả kiểm tra chất lượng (nếu có): Sử dụng tập giá trị (ví dụ: "Đạt", "Không đạt"). 1.5.
Quản lý vị trí lưu trữ:
• Vị trí cụ thể của sản phẩm trong kho: Đảm bảo sự duy nhất và tính nhất quán.
• Dữ liệu về khu vực lưu trữ, giá đỡ, khu vực pallet, v.v…:
Chuẩn hóa và tránh trùng lặp. 1.6.
Theo dõi thành phần sản phẩm:
• Thông tin về thành phần của từng sản phẩm: Chuẩn hóa theo các nguyên tắc
của ngành café, tránh trùng lặp.
• Đặc tính kỹ thuật và thông số kỹ thuật: Chuẩn hóa theo yêu cầu công ty 1.7.
Báo cáo và thống kê:
• Báo cáo tồn kho định kỳ: Đảm bảo định dạng và tính nhất quán.
• Báo cáo về doanh số bán hàng và doanh thu từ kho: Đảm bảo các số liệu
thống kê được lưu trữ với kiểu dữ liệu phù hợp, chẳng hạn như số nguyên hay số thập phân.
• Thống kê về số lượng hàng tồn kho theo loại sản phẩm:
Chuẩn hóa và đảm bảo sự chính xác. 1.8. Quản lý rủi ro:
• Theo dõi và đánh giá rủi ro trong quá trình vận chuyển và lưu kho: Chuẩn hóa
theo các tiêu chuẩn an toàn và bảo mật.
• Hệ thống bảo hiểm cho kho hàng (nếu có). 1.9.
Tích hợp hệ thống:
• Liên kết với hệ thống quản lý doanh nghiệp (ERP) để tối ưu hóa quy trình
kinh doanh: Đảm bảo sự tương thích và tính nhất quán.
• Tích hợp các hệ thống thanh toán và quản lý khách hàng:
Đảm bảo sự tương thích và tính nhất quán. 1.10.
Quản lý nhân sự:
• Thông tin về nhân viên liên quan đến quản lý kho: Liên kết với hồ sơ nhân
viên và đảm bảo rằng thông tin nhân sự là chính xác và không trùng lặp.
• Quyền truy cập và chấm công. 10 lOMoAR cPSD| 61769897
Những thuộc tính này cần được cập nhật và theo dõi đều đặn để đảm bảo rằng quá
trình quản lý kho của công ty diễn ra mượt mà và hiệu quả. Đồng thời, sự minh bạch
và theo dõi chặt chẽ giúp ngăn chặn sự mất mát và tối ưu hóa quản lý tồn kho.
2. Nhập thông tin sản phẩm 2.1. Đầu vào (Input) 2.1.1.
Mã sản phẩm (Product Code): • Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, không trùng lặp, gồm 5 kí tự chữ in hoa và số
• Định dạng: Ví dụ: "ABCD1" 2.1.2.
Tên sản phẩm (Product Name): • Loại: Chuỗi ký tự
• Yêu cầu: Không trống, không có ký tự đặc biệt
• Định dạng: Ví dụ: "Cafe1" 2.1.3.
Số lượng (Quantity): • Loại: Số nguyên • Yêu cầu: Lớn hơn 0 2.1.4.
Giá nhập (Unit Cost): • Loại: Số thập phân
• Yêu cầu: Lớn hơn hoặc bằng 0 2.1.5.
Ngày nhập (Entry Date): • Loại: Ngày
• Yêu cầu: Định dạng ngày hợp lệ (vd: dd/mm/yyyy) 2.2. Đầu ra (Outputs): 2.2.1.
Thông báo thành công:
• Hiển thị thông báo khi nhập thông tin sản phẩm thành công. 2.2.2.
Thông báo lỗi:
• Hiển thị thông báo nếu có lỗi nhập liệu, ví dụ: mã sản phẩm đã tồn tại, thiếu
thông tin bắt buộc, dữ liệu không hợp lệ, v.v. 2.3.
Các trường hợp có thể xảy ra (Use Cases): 2.3.1.
Nhập sản phẩm mới:
• Người dùng nhập đầy đủ thông tin cho sản phẩm mới. 2.3.2.
Lỗi nhập liệu:
• Người dùng bỏ trống một hoặc nhiều trường thông tin bắt buộc.
• Người dùng nhập số lượng âm hoặc giá nhập là một giá trị không hợp lệ. 2.3.3.
Trùng lặp mã sản phẩm:
• Người dùng nhập một mã sản phẩm đã tồn tại trong hệ thống. 2.3.4.
Ngày nhập không hợp lệ:
• Người dùng nhập một ngày không hợp lệ hoặc không tuân theo định dạng. 2.3.5. Thành công: 11 lOMoAR cPSD| 61769897
• Người dùng nhập đúng thông tin và sản phẩm được thêm vào hệ thống thành công.
• Các trường hợp này giúp xác định các kịch bản khác nhau mà chức năng cần
xử lý và đảm bảo tính đầy đủ và chính xác của thông tin trong hệ thống quản lý tồn kho.
*Ghi chú: Các trường hợp này giúp xác định các kịch bản khác nhau mà chức năng cần
xử lý và đảm bảo tính đầy đủ và chính xác của thông tin trong hệ thống quản lý tồn kho.
3. Xóa một thông tin sản phẩm bất kỳ 3.1. Đầu vào (Inputs):
Mã sản phẩm (Product Code): • Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, phải tồn tại trong hệ thống  Định dạng: Ví dụ: "ABCD1" 3.2. Đầu ra (Outputs): 3.2.1.
Thông báo thành công:
Hiển thị thông báo khi xóa thông tin sản phẩm thành công. 3.2.2. Thông báo lỗi:
Hiển thị thông báo nếu có lỗi xóa thông tin, ví dụ: mã sản phẩm không tồn tại, lỗi hệ thống, v.v. 3.3.
Các trường hợp có thể xảy ra (Use Cases): 3.3.1.
Xóa sản phẩm tồn tại:
Người dùng nhập mã sản phẩm hợp lệ và tồn tại trong hệ thống để xóa. 3.3.2. Lỗi nhập liệu:
Người dùng không nhập mã sản phẩm hoặc nhập một định dạng không hợp lệ. 3.3.3.
Sản phẩm không tồn tại:
Người dùng nhập mã sản phẩm không tồn tại trong hệ thống. 3.3.4. Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện xóa, ví dụ: mất kết nối, lỗi cơ sở dữ liệu. 3.3.5. Thành công:
Người dùng xóa sản phẩm thành công và hệ thống cập nhật dữ liệu. *Ghi chú:
• Trước khi xóa, có thể cần xác nhận từ người dùng để đảm bảo họ không xóa
thông tin sản phẩm một cách vô tình. 12 lOMoAR cPSD| 61769897
• Nếu sản phẩm có liên kết với các giao dịch khác (ví dụ: các đơn đặt hàng), cần
xác nhận xóa để tránh mất dữ liệu quan trọng.
• Các trường hợp này giúp định rõ các tình huống mà chức năng xóa thông tin sản
phẩm cần xử lý và đảm bảo tính chính xác và an toàn trong quá trình xóa dữ liệu.
4. Cập nhật thông tin sản phẩm 4.1. Đầu vào (Inputs):
4.1.1. Mã sản phẩm (Product Code):  Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, phải tồn tại trong hệ thống
• Định dạng: Ví dụ: "ABCD1" 4.1.2. Thông tin cần cập nhật:
Một hoặc nhiều trường thông tin như tên sản phẩm, số lượng, giá nhập, ngày nhập, v.v. 4.2. Đầu ra (Outputs): 4.2.1.
Thông báo thành công:
Hiển thị thông báo khi cập nhật thông tin sản phẩm thành công. 4.2.2.
Thông báo lỗi:
Hiển thị thông báo nếu có lỗi cập nhật thông tin, ví dụ: mã sản phẩm không tồn
tại, lỗi hệ thống, dữ liệu không hợp lệ, v.v. 4.3.
Các trường hợp có thể xảy ra (Use Cases): 4.3.1.
Cập nhật thông tin cơ bản:
Người dùng cập nhật một số thông tin cơ bản như tên sản phẩm hoặc số lượng. 4.3.2.
Cập nhật giá nhập:
Người dùng chỉ cập nhật giá nhập của sản phẩm. 4.3.3.
Cập nhật ngày nhập:
Người dùng chỉ cập nhật ngày nhập của sản phẩm. 4.3.4.
Lỗi nhập liệu:
• Người dùng không nhập mã sản phẩm hoặc nhập một định dạng không hợp lệ.
• Dữ liệu nhập không hợp lệ, ví dụ: số lượng âm. 4.3.5.
Sản phẩm không tồn tại:
Người dùng nhập mã sản phẩm không tồn tại trong hệ thống. 4.3.6.
Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện cập nhật, ví dụ: mất kết nối, lỗi cơ sở dữ liệu. 4.3.7. Thành công:
Người dùng cập nhật thông tin sản phẩm thành công và hệ thống cập nhật dữ liệu. 13 lOMoAR cPSD| 61769897 *Ghi chú:
• Trước khi cập nhật, có thể cần kiểm tra xác nhận từ người dùng để đảm bảo rằng
họ đang cập nhật đúng thông tin.
• Nếu sản phẩm có liên kết với các giao dịch khác (ví dụ: các đơn đặt hàng), cần
xác nhận cập nhật để tránh mất dữ liệu quan trọng.
• Các trường hợp này giúp định rõ các tình huống mà chức năng cập nhật thông
tin sản phẩm cần xử lý và đảm bảo tính chính xác và an toàn trong quá trình cập nhật dữ liệu.
5. Tìm kiếm thông tin sản phẩm 5.1. Đầu vào (Inputs): 5.1.1.
Mã sản phẩm (Product Code): • Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, phải tồn tại trong hệ thống
• Định dạng: Ví dụ: "ABCD1" Hoặc 5.1.2.
Tên sản phẩm (Product Name): • Loại: Chuỗi ký tự
• Yêu cầu: Không trống, không có ký tự đặc biệt
• Định dạng: Ví dụ: "Cafe1" 5.2. Đầu ra (Outputs): 5.2.1.
Danh sách thông tin sản phẩm tìm kiếm được:
Liệt kê thông tin các sản phẩm. 5.2.2.
Thông báo không tìm thấy:
Hiển thị thông báo nếu không có sản phẩm 5.2.3.
Thông báo lỗi:
Hiển thị thông báo nếu có lỗi trong quá trình tìm kiếm, ví dụ: lỗi hệ thống, dữ
liệu không hợp lệ, v.v. 5.3.
Các trường hợp có thể xảy ra (Use Cases): 5.3.1.
Tìm kiếm theo tên sản phẩm:
Người dùng nhập tên sản phẩm để tìm kiếm. 5.3.2.
Tìm kiếm theo mã sản phẩm:
Người dùng nhập mã sản phẩm để tìm kiếm. 5.3.3.
Tìm kiếm theo nhiều tiêu chí: 14 lOMoAR cPSD| 61769897
Người dùng nhập cả tên sản phẩm và mã sản phẩm để tìm kiếm. 5.3.4.
Không tìm thấy sản phẩm:
Người dùng nhập từ khóa không phù hợp hoặc không có sản phẩm nào phù hợp với tiêu chí tìm kiếm. 5.3.5.
Lỗi nhập liệu:
Người dùng không nhập từ khóa tìm kiếm hoặc nhập một định dạng không hợp lệ. 5.3.6.
Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện tìm kiếm, ví dụ: mất kết nối, lỗi cơ sở dữ liệu. 5.3.7. Thành công:
Người dùng tìm kiếm thông tin sản phẩm thành công và hệ thống trả về thông
tin sản phẩm cần tìm kiếm. *Ghi chú:
• Có thể hỗ trợ tìm kiếm theo nhiều tiêu chí để cung cấp kết quả chính xác hơn.
• Sử dụng các phương pháp tìm kiếm linh hoạt, ví dụ: tìm kiếm có dấu, không phân
biệt chữ hoa/chữ thường.
• Cung cấp gợi ý cho người dùng khi họ nhập từ khóa để tìm kiếm. B.
PHÂN TÍCH BÀI TOÁN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DẠNG SƠ ĐỒ KHỐI
1. Phân tích bài toán
Dưới đây là phân tích bài toán xây dựng chương trình quản lý kho hàng gồm 4 chức
năng: nhập thông tin sản phẩm, xóa thông tin sản phẩm, cập nhật thông tin sản phẩm
và tìm kiếm thông tin sản phẩm của công ty Vinacafé Biên Hòa.
Yêu cầu: Chương trình quản lý kho hàng của công ty Vinacafé Biên Hòa cần đáp ứng các yêu cầu sau: *
Quản lý thông tin của tất cả các sản phẩm của công ty, bao gồm:  Mã sản phẩm  Tên sản phẩm  Giá sản phẩm
 Số lượng sản phẩm  Ngày nhập sản phẩm *
Cho phép người dùng nhập, xóa, cập nhật và tìm kiếm thôngtin sản
phẩm một cách dễ dàng và nhanh chóng. * Đảm bảo tính chính xác và an toàn của dữ liệu. 15 lOMoAR cPSD| 61769897
Phân tích: Để đáp ứng các yêu cầu trên, chương trình quản lý kho hàng cần có
cấu trúc cơ bản như sau: 
Cơ sở dữ liệu (Database): Lưu trữ tất cả thông tin sản phẩm của công ty. 
Giao diện người dùng (User Interface): Cho phép người dùng tương tác với chương trình. 
Lớp xử lý (Processing Layer): Thực hiện các chức năng nhập, xóa, cập nhật và tìm
kiếm thông tin sản phẩm.
Chức năng nhập thông tin sản phẩm: Chức năng này cho phép người dùng nhập
thông tin của một sản phẩm mới vào cơ sở dữ liệu. Thông tin sản phẩm cần được
nhập theo một format nhất định. Chương trình cần kiểm tra tính hợp lệ của dữ
liệu nhập vào trước khi lưu trữ vào cơ sở dữ liệu.
Chức năng xóa thông tin sản phẩm: Chức năng này cho phép người dùng xóa thông
tin của một sản phẩm khỏi cơ sở dữ liệu. Chương trình cần kiểm tra tính tồn tại của
sản phẩm trước khi xóa.
Chức năng cập nhật thông tin sản phẩm: Chức năng này cho phép người dùng cập
nhật thông tin của một sản phẩm đã có trong cơ sở dữ liệu. Chương trình cần kiểm
tra tính tồn tại của sản phẩm trước khi cập nhật.
Chức năng tìm kiếm thông tin sản phẩm: Chức năng này cho phép người dùng tìm
kiếm thông tin của một sản phẩm trong cơ sở dữ liệu. Người dùng có thể tìm kiếm
theo mã sản phẩm, tên sản phẩm, loại sản phẩm,... 
Thực hiện: Sử dụng ngôn ngữ lập trình Python để thực hiện chương trình quản lý kho hàng
 Trên đây là phân tích bài toán xây dựng chương trình quản lý kho hàng gồm 4
chức năng: nhập thông tin sản phẩm, xóa thông tin sản phẩm, cập nhật thông
tin sản phẩm và tìm kiếm thông tin sản phẩm của công ty Vinacafé Biên Hòa.
 Tiếp theo là quy trình thao tác dưới dạng sơ đồ khối… 16 lOMoAR cPSD| 61769897
2. Sơ đồ khối từng chức năng
Tìm kiếm thông tin sản phẩm
17 lOMoAR cPSD| 61769897 Nhập mã sản phẩm hoặc tên sản phẩm Thông báo không phẩm có tồn tìm thấy sản phẩm Hiển thị thông tin sản Kết thúc
Cập nhật thông tin sản phẩm 18 lOMoAR cPSD| 61769897 Nhập mã sản phẩm Sản phẩm không
Xóa thông tin sản phẩm bất kì 19 lOMoAR cPSD| 61769897 Kết thúc
Nhập thứ tự sản phẩm 20